diff options
Diffstat (limited to 'packages/frr')
| -rw-r--r-- | packages/frr/.gitignore | 1 | ||||
| -rw-r--r-- | packages/frr/Jenkinsfile | 8 | ||||
| -rwxr-xr-x | packages/frr/build-frr.sh | 8 | ||||
| -rw-r--r-- | packages/frr/patches/0001-ospfd-add-support-for-no-router-info-area-as-command.patch | 42 | ||||
| -rw-r--r-- | packages/frr/patches/0002-ospfd-can-not-delete-segment-routing-node-msd-when-S.patch | 34 |
5 files changed, 89 insertions, 4 deletions
diff --git a/packages/frr/.gitignore b/packages/frr/.gitignore index 9aefeba5..8afd14e8 100644 --- a/packages/frr/.gitignore +++ b/packages/frr/.gitignore @@ -1,2 +1,3 @@ frr/ rtrlib/ +libyang/ diff --git a/packages/frr/Jenkinsfile b/packages/frr/Jenkinsfile index f943ceff..173b52da 100644 --- a/packages/frr/Jenkinsfile +++ b/packages/frr/Jenkinsfile @@ -21,15 +21,19 @@ @Library('vyos-build@current')_ def pkgList = [ + ['name': 'libyang', + 'scmCommit': 'v2.1.128', + 'scmUrl': 'https://github.com/CESNET/libyang.git', + 'buildCmd': 'pipx run apkg build -i && find pkg/pkgs -type f -name *.deb -exec mv -t .. {} +'], ['name': 'rtrlib', 'scmCommit': 'v0.8.0', 'scmUrl': 'https://github.com/rtrlib/rtrlib.git', 'buildCmd': 'sudo mk-build-deps --install --tool "apt-get --yes --no-install-recommends"; dpkg-buildpackage -uc -us -tc -b'], ['name': 'frr', - 'scmCommit': 'stable/8.5', + 'scmCommit': 'stable/9.0', 'scmUrl': 'https://github.com/FRRouting/frr.git', 'buildCmd': 'sudo mk-build-deps --install --tool "apt-get --yes --no-install-recommends"; cd ..; ./build-frr.sh'], ] // Start package build using library function from https://github.com/vyos/vyos-build -buildPackage('FRRouting', pkgList, null, true, "**/packages/frr/*") +buildPackage('FRRouting', pkgList, null, true, "**/packages/frr/**") diff --git a/packages/frr/build-frr.sh b/packages/frr/build-frr.sh index 477ff734..8be3cb4b 100755 --- a/packages/frr/build-frr.sh +++ b/packages/frr/build-frr.sh @@ -29,8 +29,12 @@ if [ -d $PATCH_DIR ]; then done fi +echo "I: Ensure Debian build dependencies are met" +sudo apt-get -y install chrpath gawk install-info libcap-dev libjson-c-dev librtr-dev +sudo apt-get -y install libpam-dev libprotobuf-c-dev libpython3-dev:native libsnmp-dev protobuf-c-compiler python3-dev:native texinfo lua5.3 + # Build Debian FRR package echo "I: Build Debian FRR Package" # extract "real" git commit for FRR version identifier -dch -v "$(git describe --tags | cut -c5-)" "VyOS build - FRR" -dpkg-buildpackage -us -uc -tc -b -Ppkg.frr.rtrlib +dch -v "$(git describe | cut -c5-)" "VyOS build - FRR" +dpkg-buildpackage -us -uc -tc -b -Ppkg.frr.rtrlib,pkg.frr.lua diff --git a/packages/frr/patches/0001-ospfd-add-support-for-no-router-info-area-as-command.patch b/packages/frr/patches/0001-ospfd-add-support-for-no-router-info-area-as-command.patch new file mode 100644 index 00000000..f6e5a109 --- /dev/null +++ b/packages/frr/patches/0001-ospfd-add-support-for-no-router-info-area-as-command.patch @@ -0,0 +1,42 @@ +From c86cf962743f3db90c027967ba5c92eaed28dd77 Mon Sep 17 00:00:00 2001 +From: Christian Breunig <christian@breunig.cc> +Date: Thu, 8 Feb 2024 22:39:04 +0100 +Subject: [PATCH] ospfd: add support for "no router-info [<area|as>] command" + +frr-reload.py will walk through all config contexts and prepend no to the CLI +command. This requires that the vtysh shell code accepts a full command. + +To Reproduce + +vtysh -c "conf t" -c "router ospf" -c "router-info area" +vtysh -c "conf t" -c "router ospf" -c "no router-info area" +% Unknown command: no router-info area +vtysh -c "conf t" -c "router ospf" -c "no router-info" + +Signed-off-by: Christian Breunig <christian@breunig.cc> +(cherry picked from commit e744db5098dcdca1bce32169aaa0703a21ab6b0c) +--- + ospfd/ospf_ri.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/ospfd/ospf_ri.c b/ospfd/ospf_ri.c +index 725443f49..80e7f5931 100644 +--- a/ospfd/ospf_ri.c ++++ b/ospfd/ospf_ri.c +@@ -1722,9 +1722,11 @@ DEFUN (router_info, + + DEFUN (no_router_info, + no_router_info_cmd, +- "no router-info", ++ "no router-info [<area|as>]", + NO_STR +- "Disable the Router Information functionality\n") ++ "Disable the Router Information functionality\n" ++ "Disable the Router Information functionality with AS flooding scope\n" ++ "Disable the Router Information functionality with Area flooding scope\n") + { + + if (!OspfRI.enabled) +-- +2.39.2 + diff --git a/packages/frr/patches/0002-ospfd-can-not-delete-segment-routing-node-msd-when-S.patch b/packages/frr/patches/0002-ospfd-can-not-delete-segment-routing-node-msd-when-S.patch new file mode 100644 index 00000000..c814330c --- /dev/null +++ b/packages/frr/patches/0002-ospfd-can-not-delete-segment-routing-node-msd-when-S.patch @@ -0,0 +1,34 @@ +From 07dbae1f59592d4da0b6a248ba24506d23f1dcd9 Mon Sep 17 00:00:00 2001 +From: Christian Breunig <christian@breunig.cc> +Date: Thu, 8 Feb 2024 21:53:35 +0100 +Subject: [PATCH] ospfd: can not delete "segment-routing node-msd" when SR if + off + +This fixes the initial implementation of commit 7743f2f8c00 ("OSPFd: Update +Segment Routing PR following review") where it wsa not possible to remove +the "segment-routing node-msd" CLI nodes via vtysh once segment-routing got +disabled. + +Closes #14910 + +Signed-off-by: Christian Breunig <christian@breunig.cc> +(cherry picked from commit ba45aa62e7bcc4ea7b02773614f03efb6f7c595b) +--- + ospfd/ospf_sr.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/ospfd/ospf_sr.c b/ospfd/ospf_sr.c +index 467cb0504..e26fe6f53 100644 +--- a/ospfd/ospf_sr.c ++++ b/ospfd/ospf_sr.c +@@ -580,6 +580,7 @@ static void ospf_sr_stop(void) + hash_clean(OspfSR.neighbors, (void *)sr_node_del); + OspfSR.self = NULL; + OspfSR.status = SR_OFF; ++ OspfSR.msd = 0; + } + + /* +-- +2.39.2 + |
