summaryrefslogtreecommitdiff
path: root/packages/frr
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frr')
-rw-r--r--packages/frr/.gitignore1
-rw-r--r--packages/frr/Jenkinsfile8
-rwxr-xr-xpackages/frr/build-frr.sh8
-rw-r--r--packages/frr/patches/0001-ospfd-add-support-for-no-router-info-area-as-command.patch42
-rw-r--r--packages/frr/patches/0002-ospfd-can-not-delete-segment-routing-node-msd-when-S.patch34
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
+