Skip to content

Commit 941cc35

Browse files
upgrade FRR to version 10.0.1, upgrade libyang2 to 2.1.148. Tested using basic BGP neighborship formation with routes using BGP docker
1 parent 23136e5 commit 941cc35

25 files changed

+2141
-1269
lines changed

dockers/docker-fpm-frr/frr/supervisord/supervisord.conf.j2

+11
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,17 @@ stdout_logfile=syslog
2929
stderr_logfile=syslog
3030
dependent_startup=true
3131

32+
[program:mgmtd]
33+
command=/usr/lib/frr/mgmtd -A 127.0.0.1
34+
priority=4
35+
autostart=false
36+
autorestart=true
37+
startsecs=0
38+
stdout_logfile=syslog
39+
stderr_logfile=syslog
40+
dependent_startup=true
41+
dependent_startup_wait_for=rsyslogd:running
42+
3243
[program:zebra]
3344
command=/usr/lib/frr/zebra -A 127.0.0.1 -s 90000000 -M dplane_fpm_sonic -M snmp --asic-offload=notify_on_offload
3445
priority=4

platform/vs/docker-sonic-vs/Dockerfile.j2

+3-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,9 @@ RUN apt-get install -y net-tools \
6767
# For libkrb5-dev
6868
comerr-dev \
6969
libgssrpc4 \
70-
libkdb5-10
70+
libkdb5-10 \
71+
libprotobuf-c-dev \
72+
protobuf-c-compiler
7173

7274
RUN apt-get install -y -t bullseye-backports iproute2
7375

rules/frr.mk

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# FRRouting (frr) package
22

3-
FRR_VERSION = 8.5.4
3+
FRR_VERSION = 10.0.1
44
FRR_SUBVERSION = 0
5-
FRR_BRANCH = frr/8.5
6-
FRR_TAG = frr-8.5.4
5+
FRR_BRANCH = frr/10.0.1
6+
FRR_TAG = frr-10.0.1
77
export FRR_VERSION FRR_SUBVERSION FRR_BRANCH FRR_TAG
88

99

rules/libyang2.mk

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
# libyang2
22

3-
LIBYANG2_VERSION_BASE = 2.0
4-
LIBYANG2_VERSION = $(LIBYANG2_VERSION_BASE).112
5-
LIBYANG2_SUBVERSION = 6
3+
LIBYANG2_VERSION_BASE = 2.1
4+
LIBYANG2_VERSION = $(LIBYANG2_VERSION_BASE).148
5+
LIBYANG2_SUBVERSION = 0.1
66
LIBYANG2_FULLVERSION = $(LIBYANG2_VERSION)-$(LIBYANG2_SUBVERSION)
77

88
export LIBYANG2_VERSION_BASE
99
export LIBYANG2_VERSION
1010
export LIBYANG2_SUBVERSION
1111
export LIBYANG2_FULLVERSION
1212

13-
LIBYANG2 = libyang2_$(LIBYANG2_FULLVERSION)_$(CONFIGURED_ARCH).deb
13+
LIBYANG2 = libyang2t64_$(LIBYANG2_FULLVERSION)_$(CONFIGURED_ARCH).deb
1414
$(LIBYANG2)_SRC_PATH = $(SRC_PATH)/libyang2
1515
SONIC_MAKE_DEBS += $(LIBYANG2)
1616

1717
LIBYANG2_DEV = libyang2-dev_$(LIBYANG2_FULLVERSION)_$(CONFIGURED_ARCH).deb
1818
$(eval $(call add_derived_package,$(LIBYANG2),$(LIBYANG2_DEV)))
1919

20-
LIBYANG2_DBG = libyang2-dbgsym_$(LIBYANG2_FULLVERSION)_$(CONFIGURED_ARCH).deb
20+
LIBYANG2_DBG = libyang2t64-dbgsym_$(LIBYANG2_FULLVERSION)_$(CONFIGURED_ARCH).deb
2121
$(eval $(call add_derived_package,$(LIBYANG2),$(LIBYANG2_DBG)))
2222

2323

sonic-slave-bookworm/Dockerfile.j2

+3-1
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,8 @@ RUN apt-get update && apt-get install -y eatmydata && eatmydata apt-get install
144144
libjson-c-dev \
145145
libsystemd-dev \
146146
libcmocka-dev \
147+
libprotobuf-c-dev \
148+
protobuf-c-compiler \
147149
#{%- if CROSS_BUILD_ENVIRON != "y" %}
148150
python3-all-dev \
149151
python3-all-dbg \
@@ -750,4 +752,4 @@ RUN mkdir -p /.cargo && $RUST_ROOT/bin/rustup target add armv7-unknown-linux-gnu
750752
RUN mkdir -p /.cargo && $RUST_ROOT/bin/rustup target add aarch64-unknown-linux-gnu && echo "[target.aarch64-unknown-linux-gnu]\nlinker = \"aarch64-linux-gnu-gcc\"" >> /.cargo/config.toml
751753
{% endif -%}
752754
ENV RUSTUP_HOME $RUST_ROOT
753-
ENV PATH $PATH:$RUST_ROOT/bin
755+
ENV PATH $PATH:$RUST_ROOT/bin

sonic-slave-bullseye/Dockerfile.j2

+2
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,8 @@ RUN apt-get update && apt-get install -y eatmydata && eatmydata apt-get install
148148
libsystemd-dev \
149149
python3-ipaddr \
150150
libcmocka-dev \
151+
libprotobuf-c-dev \
152+
protobuf-c-compiler \
151153
#{%- if CROSS_BUILD_ENVIRON != "y" %}
152154
python3-all-dev \
153155
python3-all-dbg \

sonic-slave-buster/Dockerfile.j2

+2
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,8 @@ RUN apt-get update && apt-get install -y eatmydata && eatmydata apt-get install
144144
libsystemd-dev \
145145
python-ipaddr \
146146
libcmocka-dev \
147+
libprotobuf-c-dev \
148+
protobuf-c-compiler \
147149
{%- if CROSS_BUILD_ENVIRON != "y" %}
148150
python3-all-dev \
149151
python3-all-dbg \

src/libyang2/Makefile

+6-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
SHELL = /bin/bash
33
.SHELLFLAGS += -e
44

5-
LIBYANG_URL = https://sonicstorage.blob.core.windows.net/debian/pool/main/liby/libyang
5+
LIBYANG_URL = https://deb.debian.org/debian/pool/main/liby/libyang2
66

77
DSC_FILE = libyang2_$(LIBYANG2_FULLVERSION).dsc
8-
ORIG_FILE = libyang2_$(LIBYANG2_VERSION).orig.tar.gz
8+
ORIG_FILE = libyang2_$(LIBYANG2_VERSION).orig.tar.xz
99
DEBIAN_FILE = libyang2_$(LIBYANG2_FULLVERSION).debian.tar.xz
1010

1111
DSC_FILE_URL = $(LIBYANG_URL)/$(DSC_FILE)
@@ -26,6 +26,10 @@ $(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
2626
dpkg-source -x libyang2_$(LIBYANG2_FULLVERSION).dsc
2727

2828
pushd libyang2-$(LIBYANG2_VERSION)
29+
#The package libyang2.1.148 is taken from debian trixie, which only has dpkg-dev version 1.21.22
30+
#The bullseye package has dpkg-dev version 1.20.13
31+
#The VS package has dpkg-dev version 1.19.8
32+
sed -i 's/dpkg-dev (>= 1.22.5)/dpkg-dev (>= 1.19.8)/' debian/control
2933
#sed -i 's/set(LIBYANG_MAJOR_SOVERSION 1)/set(LIBYANG_MAJOR_SOVERSION 2)/' CMakeLists.txt
3034
#sed -i 's/libyang2/libyang2/' debian/libyang2.install
3135
# Enable large file support for 32-bit arch

0 commit comments

Comments
 (0)