diff options
| author | Kyrylo Yatsenko <hedrok@gmail.com> | 2025-12-29 09:39:34 +0200 |
|---|---|---|
| committer | Kyrylo Yatsenko <hedrok@gmail.com> | 2026-01-05 21:24:07 +0200 |
| commit | 7ac78cb49baf5c0d5eaeacfdd7439df9ffc5992b (patch) | |
| tree | dc67cbe208ed4b369dbe11f5b5cb615be8174c33 | |
| parent | c289ef52fcb4c79b4e632ab19769c77ab1dd0706 (diff) | |
| download | vyos-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.
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 + |
