Skip to content

Commit

Permalink
upgrade FRR to version 10.0.1, upgrade libyang2 to 2.1.148. Tested us…
Browse files Browse the repository at this point in the history
…ing basic BGP neighborship formation with routes using BGP docker
  • Loading branch information
sudhanshukumar22 committed Nov 8, 2024
1 parent 54b137c commit ba72f6b
Show file tree
Hide file tree
Showing 31 changed files with 2,205 additions and 1,387 deletions.
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
[submodule "src/sonic-frr/frr"]
path = src/sonic-frr/frr
url = https://github.com/sonic-net/sonic-frr.git
branch = frr/8.5
branch = frr-10.0.1
[submodule "platform/p4/p4-hlir/p4-hlir-v1.1"]
path = platform/p4/p4-hlir/p4-hlir-v1.1
url = https://github.com/p4lang/p4-hlir.git
Expand Down
11 changes: 11 additions & 0 deletions dockers/docker-fpm-frr/frr/supervisord/supervisord.conf.j2
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,17 @@ stdout_logfile=syslog
stderr_logfile=syslog
dependent_startup=true

[program:mgmtd]
command=/usr/lib/frr/mgmtd -A 127.0.0.1
priority=4
autostart=false
autorestart=true
startsecs=0
stdout_logfile=syslog
stderr_logfile=syslog
dependent_startup=true
dependent_startup_wait_for=rsyslogd:running

[program:zebra]
command=/usr/lib/frr/zebra -A 127.0.0.1 -s 90000000 -M dplane_fpm_sonic -M snmp --asic-offload=notify_on_offload
priority=4
Expand Down
4 changes: 3 additions & 1 deletion platform/vs/docker-sonic-vs/Dockerfile.j2
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,9 @@ RUN apt-get install -y net-tools \
# For libkrb5-dev
comerr-dev \
libgssrpc4 \
libkdb5-10
libkdb5-10 \
libprotobuf-c-dev \
protobuf-c-compiler

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

Expand Down
8 changes: 8 additions & 0 deletions platform/vs/docker-sonic-vs/supervisord.conf.j2
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,14 @@ stderr_logfile=syslog
environment=ASAN_OPTIONS="log_path=/var/log/asan/teammgrd-asan.log{{ asan_extra_options }}"
{% endif %}

[program:mgmtd]
command=/usr/lib/frr/mgmtd -A 127.0.0.1
priority=13
autostart=false
autorestart=false
stdout_logfile=syslog
stderr_logfile=syslog

[program:zebra]
command=/usr/lib/frr/zebra -A 127.0.0.1 -s 90000000 -M dplane_fpm_sonic --asic-offload=notify_on_offload
priority=13
Expand Down
1 change: 1 addition & 0 deletions platform/vs/tests/bgp/files/invalid_nexthop/bgpd.conf
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
router bgp 65501
bgp router-id 1.1.1.1
bgp allow-martian-nexthop
no bgp default ipv4-unicast
no bgp ebgp-requires-policy
neighbor fc00::2 remote-as 65502
Expand Down
6 changes: 3 additions & 3 deletions rules/frr.mk
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# FRRouting (frr) package

FRR_VERSION = 8.5.4
FRR_VERSION = 10.0.1
FRR_SUBVERSION = 0
FRR_BRANCH = frr/8.5
FRR_TAG = frr-8.5.4
FRR_BRANCH = frr-10.0.1
FRR_TAG = frr-10.0.1
export FRR_VERSION FRR_SUBVERSION FRR_BRANCH FRR_TAG


Expand Down
10 changes: 5 additions & 5 deletions rules/libyang2.mk
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
# libyang2

LIBYANG2_VERSION_BASE = 2.0
LIBYANG2_VERSION = $(LIBYANG2_VERSION_BASE).112
LIBYANG2_SUBVERSION = 6
LIBYANG2_VERSION_BASE = 2.1
LIBYANG2_VERSION = $(LIBYANG2_VERSION_BASE).148
LIBYANG2_SUBVERSION = 0.2
LIBYANG2_FULLVERSION = $(LIBYANG2_VERSION)-$(LIBYANG2_SUBVERSION)

export LIBYANG2_VERSION_BASE
export LIBYANG2_VERSION
export LIBYANG2_SUBVERSION
export LIBYANG2_FULLVERSION

LIBYANG2 = libyang2_$(LIBYANG2_FULLVERSION)_$(CONFIGURED_ARCH).deb
LIBYANG2 = libyang2t64_$(LIBYANG2_FULLVERSION)_$(CONFIGURED_ARCH).deb
$(LIBYANG2)_SRC_PATH = $(SRC_PATH)/libyang2
SONIC_MAKE_DEBS += $(LIBYANG2)

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

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


Expand Down
4 changes: 3 additions & 1 deletion sonic-slave-bookworm/Dockerfile.j2
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,8 @@ RUN apt-get update && apt-get install -y eatmydata && eatmydata apt-get install
libjson-c-dev \
libsystemd-dev \
libcmocka-dev \
libprotobuf-c-dev \
protobuf-c-compiler \
#{%- if CROSS_BUILD_ENVIRON != "y" %}
python3-all-dev \
python3-all-dbg \
Expand Down Expand Up @@ -752,4 +754,4 @@ RUN mkdir -p /.cargo && $RUST_ROOT/bin/rustup target add armv7-unknown-linux-gnu
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
{% endif -%}
ENV RUSTUP_HOME $RUST_ROOT
ENV PATH $PATH:$RUST_ROOT/bin
ENV PATH $PATH:$RUST_ROOT/bin
2 changes: 2 additions & 0 deletions sonic-slave-bullseye/Dockerfile.j2
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,8 @@ RUN apt-get update && apt-get install -y eatmydata && eatmydata apt-get install
libsystemd-dev \
python3-ipaddr \
libcmocka-dev \
libprotobuf-c-dev \
protobuf-c-compiler \
#{%- if CROSS_BUILD_ENVIRON != "y" %}
python3-all-dev \
python3-all-dbg \
Expand Down
2 changes: 2 additions & 0 deletions sonic-slave-buster/Dockerfile.j2
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,8 @@ RUN apt-get update && apt-get install -y eatmydata && eatmydata apt-get install
libsystemd-dev \
python-ipaddr \
libcmocka-dev \
libprotobuf-c-dev \
protobuf-c-compiler \
{%- if CROSS_BUILD_ENVIRON != "y" %}
python3-all-dev \
python3-all-dbg \
Expand Down
8 changes: 6 additions & 2 deletions src/libyang2/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
SHELL = /bin/bash
.SHELLFLAGS += -e

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

DSC_FILE = libyang2_$(LIBYANG2_FULLVERSION).dsc
ORIG_FILE = libyang2_$(LIBYANG2_VERSION).orig.tar.gz
ORIG_FILE = libyang2_$(LIBYANG2_VERSION).orig.tar.xz
DEBIAN_FILE = libyang2_$(LIBYANG2_FULLVERSION).debian.tar.xz

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

pushd libyang2-$(LIBYANG2_VERSION)
#The package libyang2.1.148 is taken from debian trixie, which only has dpkg-dev version 1.21.22
#The bullseye package has dpkg-dev version 1.20.13
#The VS package has dpkg-dev version 1.19.8
sed -i 's/dpkg-dev (>= 1.22.5)/dpkg-dev (>= 1.19.8)/' debian/control
#sed -i 's/set(LIBYANG_MAJOR_SOVERSION 1)/set(LIBYANG_MAJOR_SOVERSION 2)/' CMakeLists.txt
#sed -i 's/libyang2/libyang2/' debian/libyang2.install
# Enable large file support for 32-bit arch
Expand Down
1 change: 1 addition & 0 deletions src/sonic-frr/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ endif
ifeq ($(CROSS_BUILD_ENVIRON), y)
git reset --hard
endif
git branch -f master origin/$(FRR_BRANCH)
git checkout master
git branch -D $(FRR_BRANCH)
popd
Expand Down
Loading

0 comments on commit ba72f6b

Please sign in to comment.