Skip to content

Commit f9e186c

Browse files
[FRR]: upgrade FRR to version 10.0.1, upgrade libyang2 to 2.1.148. (#20269)
FRR upgrade in community from 8.5.4 to 10.0.1. Upgraded libyang to 2.1.148. Tested using BGP docker, BGP neighborship with route learning worked fine.
1 parent e108423 commit f9e186c

File tree

53 files changed

+2419
-6319
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+2419
-6319
lines changed

.gitmodules

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
[submodule "src/sonic-frr/frr"]
4747
path = src/sonic-frr/frr
4848
url = https://github.com/sonic-net/sonic-frr.git
49-
branch = frr/8.5
49+
branch = frr-10.0.1
5050
[submodule "platform/p4/p4-hlir/p4-hlir-v1.1"]
5151
path = platform/p4/p4-hlir/p4-hlir-v1.1
5252
url = https://github.com/p4lang/p4-hlir.git

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
@@ -60,7 +60,9 @@ RUN apt-get install -y net-tools \
6060
# For libkrb5-dev
6161
comerr-dev \
6262
libgssrpc4 \
63-
libkdb5-10
63+
libkdb5-10 \
64+
libprotobuf-c-dev \
65+
protobuf-c-compiler
6466

6567
# For sonic-config-engine Python 3 package
6668
# Install pyangbind here, outside sonic-config-engine dependencies, as pyangbind causes enum34 to be installed.

platform/vs/docker-sonic-vs/supervisord.conf.j2

+8
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,14 @@ stderr_logfile=syslog
163163
environment=ASAN_OPTIONS="log_path=/var/log/asan/teammgrd-asan.log{{ asan_extra_options }}"
164164
{% endif %}
165165

166+
[program:mgmtd]
167+
command=/usr/lib/frr/mgmtd -A 127.0.0.1
168+
priority=13
169+
autostart=false
170+
autorestart=false
171+
stdout_logfile=syslog
172+
stderr_logfile=syslog
173+
166174
[program:zebra]
167175
command=/usr/lib/frr/zebra -A 127.0.0.1 -s 90000000 -M dplane_fpm_sonic --asic-offload=notify_on_offload
168176
priority=13

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.2
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

+2
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,8 @@ RUN apt-get update && apt-get install -y eatmydata && eatmydata apt-get install
145145
libjson-c-dev \
146146
libsystemd-dev \
147147
libcmocka-dev \
148+
libprotobuf-c-dev \
149+
protobuf-c-compiler \
148150
#{%- if CROSS_BUILD_ENVIRON != "y" %}
149151
python3-all-dev \
150152
python3-all-dbg \

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

+5-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ SHELL = /bin/bash
55
LIBYANG_URL = https://sonicstorage.blob.core.windows.net/debian/pool/main/liby/libyang
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

src/sonic-frr/Makefile

+1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ endif
3636
ifeq ($(CROSS_BUILD_ENVIRON), y)
3737
git reset --hard
3838
endif
39+
git branch -f master origin/$(FRR_BRANCH)
3940
git checkout master
4041
git branch -D $(FRR_BRANCH)
4142
popd

0 commit comments

Comments
 (0)