summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyrylo Yatsenko <hedrok@gmail.com>2025-12-29 09:39:34 +0200
committerKyrylo Yatsenko <hedrok@gmail.com>2026-01-05 21:24:07 +0200
commit7ac78cb49baf5c0d5eaeacfdd7439df9ffc5992b (patch)
treedc67cbe208ed4b369dbe11f5b5cb615be8174c33
parentc289ef52fcb4c79b4e632ab19769c77ab1dd0706 (diff)
downloadvyos-build-7ac78cb49baf5c0d5eaeacfdd7439df9ffc5992b.tar.gz
vyos-build-7ac78cb49baf5c0d5eaeacfdd7439df9ffc5992b.zip
T7664: Upgrade FRR to 10.5
Need several patches: 0012-Revert-tools-Allow-deleting-of-interfaces.patch: Reverts change in frr-reload.py that runs 'no interface' command when all configuration of interface is deleted. When interface is still active this leads to lots of errors. 0013-Revert-bgpd-Ensure-incorrect-GR-config-isn-t-display.patch: Reverts change that FRR doesn't show graceful-reastart configuration for peer groups.
-rw-r--r--scripts/package-build/frr/package.toml4
-rw-r--r--scripts/package-build/frr/patches/frr/0012-Revert-tools-Allow-deleting-of-interfaces.patch37
-rw-r--r--scripts/package-build/frr/patches/frr/0013-Revert-bgpd-Ensure-incorrect-GR-config-isn-t-display.patch62
3 files changed, 101 insertions, 2 deletions
diff --git a/scripts/package-build/frr/package.toml b/scripts/package-build/frr/package.toml
index 669e64b8..247228d5 100644
--- a/scripts/package-build/frr/package.toml
+++ b/scripts/package-build/frr/package.toml
@@ -1,12 +1,12 @@
[[packages]]
name = "libyang"
-commit_id = "v3.4.2"
+commit_id = "v3.13.6"
scm_url = "https://github.com/CESNET/libyang.git"
build_cmd = "pipx run apkg build -i && find pkg/pkgs -type f -name *.deb -exec mv -t .. {} +"
[[packages]]
name = "frr"
-commit_id = "stable/10.2"
+commit_id = "stable/10.5"
scm_url = "https://github.com/FRRouting/frr.git"
build_cmd = "sudo dpkg -i ../*.deb; dpkg-buildpackage -us -uc -tc -b -Ppkg.frr.rtrlib,pkg.frr.lua"
diff --git a/scripts/package-build/frr/patches/frr/0012-Revert-tools-Allow-deleting-of-interfaces.patch b/scripts/package-build/frr/patches/frr/0012-Revert-tools-Allow-deleting-of-interfaces.patch
new file mode 100644
index 00000000..4a61dad8
--- /dev/null
+++ b/scripts/package-build/frr/patches/frr/0012-Revert-tools-Allow-deleting-of-interfaces.patch
@@ -0,0 +1,37 @@
+From 3b720b6e9b4a6a6f53f00c01536efb7a4e013c94 Mon Sep 17 00:00:00 2001
+From: Kyrylo Yatsenko <hedrok@gmail.com>
+Date: Tue, 23 Dec 2025 09:35:14 +0200
+Subject: [PATCH] Revert "tools: Allow deleting of interfaces"
+
+This reverts commit f1a1703a0a2c2ecd81f50ccd384dcdb7e0c1a793.
+---
+ tools/frr-reload.py | 13 ++++++-------
+ 1 file changed, 6 insertions(+), 7 deletions(-)
+
+diff --git a/tools/frr-reload.py b/tools/frr-reload.py
+index fcd64bae3e..2ac7c6cc17 100755
+--- a/tools/frr-reload.py
++++ b/tools/frr-reload.py
+@@ -1799,13 +1799,12 @@ def compare_context_objects(newconf, running):
+ delete_bgpd = True
+ lines_to_del.append((running_ctx_keys, None))
+
+- elif running_ctx_keys[0].startswith("interface"):
+- lines_to_del.append((running_ctx_keys, None))
+-
+- # We cannot do 'no vrf' in FRR, and so deal with it
+- elif running_ctx_keys[0].startswith("vrf") or running_ctx_keys[
+- 0
+- ].startswith("router pim"):
++ # We cannot do 'no interface' or 'no vrf' in FRR, and so deal with it
++ elif (
++ running_ctx_keys[0].startswith("interface")
++ or running_ctx_keys[0].startswith("vrf")
++ or running_ctx_keys[0].startswith("router pim")
++ ):
+ for line in running_ctx.lines:
+ lines_to_del.append((running_ctx_keys, line))
+
+--
+2.50.1
+
diff --git a/scripts/package-build/frr/patches/frr/0013-Revert-bgpd-Ensure-incorrect-GR-config-isn-t-display.patch b/scripts/package-build/frr/patches/frr/0013-Revert-bgpd-Ensure-incorrect-GR-config-isn-t-display.patch
new file mode 100644
index 00000000..2628580d
--- /dev/null
+++ b/scripts/package-build/frr/patches/frr/0013-Revert-bgpd-Ensure-incorrect-GR-config-isn-t-display.patch
@@ -0,0 +1,62 @@
+From 2b1622ab1c521ef8959b1edabf685b03394a8224 Mon Sep 17 00:00:00 2001
+From: Kyrylo Yatsenko <hedrok@gmail.com>
+Date: Sun, 28 Dec 2025 19:37:15 +0200
+Subject: [PATCH] Revert "bgpd: Ensure incorrect GR config isn't displayed for
+ peer-groups"
+
+This reverts commit d34b97374b02a88be43c132d676d6c87869ece4c.
+
+Signed-off-by: Kyrylo Yatsenko <hedrok@gmail.com>
+---
+ bgpd/bgp_vty.c | 35 ++++++++++++++++++++---------------
+ 1 file changed, 20 insertions(+), 15 deletions(-)
+
+diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c
+index 4050a8cd50..e3ff8b7f48 100644
+--- a/bgpd/bgp_vty.c
++++ b/bgpd/bgp_vty.c
+@@ -19646,21 +19646,26 @@ static void bgp_config_write_peer_global(struct vty *vty, struct bgp *bgp,
+ " neighbor %s path-attribute treat-as-withdraw %s\n",
+ addr, withdraw_attrs_str);
+
+- if (!CHECK_FLAG(peer->sflags, PEER_STATUS_GROUP)) {
+- if (!CHECK_FLAG(peer->peer_gr_new_status_flag,
+- PEER_GRACEFUL_RESTART_NEW_STATE_INHERIT)) {
+- if (CHECK_FLAG(peer->peer_gr_new_status_flag,
+- PEER_GRACEFUL_RESTART_NEW_STATE_HELPER)) {
+- vty_out(vty, " neighbor %s graceful-restart-helper\n", addr);
+- } else if (CHECK_FLAG(peer->peer_gr_new_status_flag,
+- PEER_GRACEFUL_RESTART_NEW_STATE_RESTART)) {
+- vty_out(vty, " neighbor %s graceful-restart\n", addr);
+- } else if ((!(CHECK_FLAG(peer->peer_gr_new_status_flag,
+- PEER_GRACEFUL_RESTART_NEW_STATE_HELPER)) &&
+- !(CHECK_FLAG(peer->peer_gr_new_status_flag,
+- PEER_GRACEFUL_RESTART_NEW_STATE_RESTART)))) {
+- vty_out(vty, " neighbor %s graceful-restart-disable\n", addr);
+- }
++ if (!CHECK_FLAG(peer->peer_gr_new_status_flag,
++ PEER_GRACEFUL_RESTART_NEW_STATE_INHERIT)) {
++
++ if (CHECK_FLAG(peer->peer_gr_new_status_flag,
++ PEER_GRACEFUL_RESTART_NEW_STATE_HELPER)) {
++ vty_out(vty,
++ " neighbor %s graceful-restart-helper\n", addr);
++ } else if (CHECK_FLAG(
++ peer->peer_gr_new_status_flag,
++ PEER_GRACEFUL_RESTART_NEW_STATE_RESTART)) {
++ vty_out(vty,
++ " neighbor %s graceful-restart\n", addr);
++ } else if (
++ (!(CHECK_FLAG(peer->peer_gr_new_status_flag,
++ PEER_GRACEFUL_RESTART_NEW_STATE_HELPER))
++ && !(CHECK_FLAG(
++ peer->peer_gr_new_status_flag,
++ PEER_GRACEFUL_RESTART_NEW_STATE_RESTART)))) {
++ vty_out(vty, " neighbor %s graceful-restart-disable\n",
++ addr);
+ }
+ }
+
+--
+2.50.1
+