Skip to content

Commit 1e38ffe

Browse files
committed
Changes:
- FRR 8.2.2 upgrade - Build libyang2
1 parent a06f549 commit 1e38ffe

22 files changed

+266
-613
lines changed

rules/docker-fpm-frr.mk

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ DOCKER_FPM_FRR_DBG = $(DOCKER_FPM_FRR_STEM)-$(DBG_IMAGE_MARK).gz
77
$(DOCKER_FPM_FRR)_PATH = $(DOCKERS_PATH)/$(DOCKER_FPM_FRR_STEM)
88
$(DOCKER_FPM_FRR)_PYTHON_WHEELS += $(SONIC_BGPCFGD) $(SONIC_FRR_MGMT_FRAMEWORK)
99

10-
$(DOCKER_FPM_FRR)_DEPENDS += $(FRR) $(FRR_SNMP) $(SWSS) $(LIBYANG1)
10+
$(DOCKER_FPM_FRR)_DEPENDS += $(FRR) $(FRR_SNMP) $(SWSS) $(LIBYANG2)
1111
$(DOCKER_FPM_FRR)_DBG_DEPENDS = $($(DOCKER_SWSS_LAYER_BUSTER)_DBG_DEPENDS)
1212
$(DOCKER_FPM_FRR)_DBG_DEPENDS += $(SWSS_DBG) $(LIBSWSSCOMMON_DBG) \
13-
$(FRR_DBG) $(FRR_SNMP_DBG) $(LIBYANG1_DBG)
13+
$(FRR_DBG) $(FRR_SNMP_DBG) $(LIBYANG2_DBG)
1414

1515
$(DOCKER_FPM_FRR)_DBG_IMAGE_PACKAGES = $($(DOCKER_SWSS_LAYER_BUSTER)_DBG_IMAGE_PACKAGES)
1616

rules/frr.mk

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

3-
FRR_VERSION = 7.5.1
3+
FRR_VERSION = 8.2.2
44
FRR_SUBVERSION = 0
5-
FRR_BRANCH = frr/7.5
6-
FRR_TAG = frr-7.5.1-s1
5+
FRR_BRANCH = frr/8.2
6+
FRR_TAG = frr-8.2.2
77
export FRR_VERSION FRR_SUBVERSION FRR_BRANCH FRR_TAG
88

99

1010
FRR = frr_$(FRR_VERSION)-sonic-$(FRR_SUBVERSION)_$(CONFIGURED_ARCH).deb
11-
$(FRR)_DEPENDS += $(LIBSNMP_DEV) $(LIBYANG1) $(LIBYANG1_DEV)
12-
$(FRR)_RDEPENDS += $(LIBYANG1)
13-
$(FRR)_UNINSTALLS = $(LIBYANG1_DEV) $(LIBYANG1)
11+
$(FRR)_DEPENDS += $(LIBSNMP_DEV) $(LIBYANG2) $(LIBYANG2_DEV)
12+
$(FRR)_RDEPENDS += $(LIBYANG2)
13+
$(FRR)_UNINSTALLS = $(LIBYANG2_DEV) $(LIBYANG2)
1414
$(FRR)_SRC_PATH = $(SRC_PATH)/sonic-frr
1515
SONIC_MAKE_DEBS += $(FRR)
1616

rules/libyang.mk

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ LIBYANG_PY3 = python3-yang_$(LIBYANG_VERSION)_$(CONFIGURED_ARCH).deb
2929
$(LIBYANG_PY3)_DEPENDS += $(LIBYANG) $(LIBYANG_CPP)
3030
$(eval $(call add_derived_package,$(LIBYANG),$(LIBYANG_PY3)))
3131

32-
$(eval $(call add_conflict_package,$(LIBYANG),$(LIBYANG1)))
33-
$(eval $(call add_conflict_package,$(LIBYANG_DEV),$(LIBYANG1_DEV)))
32+
$(eval $(call add_conflict_package,$(LIBYANG),$(LIBYANG1),$(LIBYANG2)))
33+
$(eval $(call add_conflict_package,$(LIBYANG_DEV),$(LIBYANG1_DEV),$(LIBYANG2_DEV)))
3434

3535
export LIBYANG LIBYANG_DBG LIBYANG_DEV LIBYANG_CPP LIBYANG_PY3

rules/libyang2.dep

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
2+
SPATH := $($(LIBYANG2)_SRC_PATH)
3+
DEP_FILES := $(SONIC_COMMON_FILES_LIST) rules/libyang2.mk rules/libyang2.dep
4+
DEP_FILES += $(SONIC_COMMON_BASE_FILES_LIST)
5+
DEP_FILES += $(shell git ls-files $(SPATH))
6+
7+
$(LIBYANG2)_CACHE_MODE := GIT_CONTENT_SHA
8+
$(LIBYANG2)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST)
9+
$(LIBYANG2)_DEP_FILES := $(DEP_FILES)
10+

rules/libyang2.mk

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# libyang2
2+
3+
LIBYANG2_VERSION_BASE = 2.0
4+
LIBYANG2_VERSION = $(LIBYANG2_VERSION_BASE).112
5+
LIBYANG2_SUBVERSION = 6
6+
LIBYANG2_FULLVERSION = $(LIBYANG2_VERSION)-$(LIBYANG2_SUBVERSION)
7+
8+
export LIBYANG2_VERSION_BASE
9+
export LIBYANG2_VERSION
10+
export LIBYANG2_SUBVERSION
11+
export LIBYANG2_FULLVERSION
12+
13+
LIBYANG2 = libyang2_$(LIBYANG2_FULLVERSION)_$(CONFIGURED_ARCH).deb
14+
$(LIBYANG2)_SRC_PATH = $(SRC_PATH)/libyang2
15+
SONIC_MAKE_DEBS += $(LIBYANG2)
16+
17+
LIBYANG2_DEV = libyang2-dev_$(LIBYANG2_FULLVERSION)_$(CONFIGURED_ARCH).deb
18+
$(eval $(call add_derived_package,$(LIBYANG2),$(LIBYANG2_DEV)))
19+
20+
LIBYANG2_DBG = libyang2-dbgsym_$(LIBYANG2_FULLVERSION)_$(CONFIGURED_ARCH).deb
21+
$(eval $(call add_derived_package,$(LIBYANG2),$(LIBYANG2_DBG)))
22+
23+
LIBYANG2_CPP = libyang2-cpp1_$(LIBYANG2_FULLVERSION)_$(CONFIGURED_ARCH).deb
24+
$(LIBYANG2_CPP)_DEPENDS += $(LIBYANG2)
25+
$(eval $(call add_derived_package,$(LIBYANG2),$(LIBYANG2_CPP)))
26+
27+
LIBYANG2_CPP_DEV = libyang2-cpp-dev_$(LIBYANG2_FULLVERSION)_$(CONFIGURED_ARCH).deb
28+
$(eval $(call add_derived_package,$(LIBYANG2),$(LIBYANG2_CPP_DEV)))
29+
30+
LIBYANG2_CPP_DBG = libyang2-cpp1-dbgsym_$(LIBYANG2_FULLVERSION)_$(CONFIGURED_ARCH).deb
31+
$(eval $(call add_derived_package,$(LIBYANG2),$(LIBYANG2_CPP_DBG)))
32+
33+
YANG_TOOLS = yang-tools_$(LIBYANG2_FULLVERSION)_all.deb
34+
$(YANG_TOOLS)_DEPENDS += $(LIBYANG2)
35+
$(eval $(call add_derived_package,$(LIBYANG2),$(YANG_TOOLS)))
36+
37+
LIBYANG2_TOOLS = libyang2-tools_$(LIBYANG2_FULLVERSION)_$(CONFIGURED_ARCH).deb
38+
$(eval $(call add_derived_package,$(LIBYANG2),$(LIBYANG2_TOOLS)))
39+
40+
LIBYANG2_TOOLS_DBG = libyang2-tools-dbgsym_$(LIBYANG2_FULLVERSION)_$(CONFIGURED_ARCH).deb
41+
$(eval $(call add_derived_package,$(LIBYANG2),$(LIBYANG2_TOOLS_DBG)))
42+
43+
export LIBYANG2 LIBYANG2_DBG LIBYANG2_DEV LIBYANG2_CPP LIBYANG2_CPP_DEV LIBYANG2_CPP_DBG YANG_TOOLS LIBYANG2_TOOLS LIBYANG2_TOOLS_DBG

sonic-slave-buster/Dockerfile.j2

+1-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ RUN apt-get update && apt-get install -y \
9090
imagemagick \
9191
ghostscript \
9292
groff \
93-
libpcre3-dev \
93+
libpcre2-dev \
9494
gawk \
9595
chrpath \
9696
# For frr build

src/libyang2/.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
*
2+
!.gitignore
3+
!Makefile

src/libyang2/Makefile

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
.ONESHELL:
2+
SHELL = /bin/bash
3+
.SHELLFLAGS += -e
4+
5+
LIBYANG_URL = https://sonicstorage.blob.core.windows.net/debian/pool/main/liby/libyang
6+
7+
DSC_FILE = libyang2_$(LIBYANG2_FULLVERSION).dsc
8+
ORIG_FILE = libyang2_$(LIBYANG2_VERSION).orig.tar.gz
9+
DEBIAN_FILE = libyang2_$(LIBYANG2_FULLVERSION).debian.tar.xz
10+
11+
DSC_FILE_URL = $(LIBYANG_URL)/$(DSC_FILE)
12+
ORIG_FILE_URL = $(LIBYANG_URL)/$(ORIG_FILE)
13+
DEBIAN_FILE_URL = $(LIBYANG_URL)/$(DEBIAN_FILE)
14+
15+
MAIN_TARGET = $(LIBYANG2)
16+
DERIVED_TARGETS = $(LIBYANG2_DEV) $(LIBYANG2_DBG) $(LIBYANG2_TOOLS) $(LIBYANG2_TOOLS_DBG)
17+
18+
$(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
19+
# Obtaining the libyang
20+
rm -fr ./libyang2-$(LIBYANG2_VERSION)
21+
22+
# download debian libyang
23+
wget -NO "$(DSC_FILE)" $(DSC_FILE_URL)
24+
wget -NO "$(ORIG_FILE)" $(ORIG_FILE_URL)
25+
wget -NO "$(DEBIAN_FILE)" $(DEBIAN_FILE_URL)
26+
dpkg-source -x libyang2_$(LIBYANG2_FULLVERSION).dsc
27+
28+
pushd libyang2-$(LIBYANG2_VERSION)
29+
#sed -i 's/set(LIBYANG_MAJOR_SOVERSION 1)/set(LIBYANG_MAJOR_SOVERSION 2)/' CMakeLists.txt
30+
#sed -i 's/libyang2/libyang2/' debian/libyang2.install
31+
# Enable large file support for 32-bit arch
32+
echo 'add_definitions(-D_FILE_OFFSET_BITS=64)' >> CMakeLists.txt
33+
34+
dpkg-buildpackage -rfakeroot -b -us -uc -j$(SONIC_CONFIG_MAKE_JOBS) --admindir $(SONIC_DPKG_ADMINDIR)
35+
popd
36+
37+
# Move the newly-built .deb packages to the destination directory
38+
mv $* $(DERIVED_TARGETS) $(DEST)/
39+
40+
$(addprefix $(DEST)/, $(DERIVED_TARGETS)): $(DEST)/% : $(DEST)/$(MAIN_TARGET)

src/sonic-frr/Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ $(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
1313
git checkout -b $(FRR_BRANCH) origin/$(FRR_BRANCH) || git checkout $(FRR_BRANCH)
1414
stg branch --create $(STG_BRANCH) $(FRR_TAG)
1515
stg import -s ../patch/series
16-
tools/tarsource.sh -V -e '-sonic'
16+
gbp dch --ignore-branch --new-version=$(FRR_VERSION)-sonic-$(FRR_SUBVERSION) --dch-opt="--force-bad-version" --commit --git-author
1717
dpkg-buildpackage -rfakeroot -b -us -uc -Ppkg.frr.nortrlib -j$(SONIC_CONFIG_MAKE_JOBS) --admindir $(SONIC_DPKG_ADMINDIR)
1818
stg undo || true
1919
git clean -xfdf

src/sonic-frr/patch/0001-Add-support-of-bgp-tcp-DSCP-value.patch

+25-26
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
From 71415ae851357025a99b8ead7edf5755a55b6fbb Mon Sep 17 00:00:00 2001
2-
From: Pavel Shirshov <pavelsh@microsoft.com>
3-
Date: Mon, 16 Nov 2020 18:00:12 -0800
4-
Subject: [PATCH 1/5] Add support of bgp tcp DSCP value
1+
From 4ab192df23362e64d1a11441fae82329388f103e Mon Sep 17 00:00:00 2001
2+
From: Syed Hasan Raza Naqvi <syed.naqvi@broadcom.com>
3+
Date: Thu, 21 Apr 2022 17:01:32 -0700
4+
Subject: [PATCH] [PATCH 1/8] Add support of bgp tcp DSCP value
55

66
---
77
bgpd/bgp_network.c | 11 ++++-------
88
bgpd/bgp_vty.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
9-
bgpd/bgpd.c | 2 +-
9+
bgpd/bgpd.c | 1 +
1010
bgpd/bgpd.h | 3 +++
11-
4 files changed, 52 insertions(+), 8 deletions(-)
11+
4 files changed, 52 insertions(+), 7 deletions(-)
1212

1313
diff --git a/bgpd/bgp_network.c b/bgpd/bgp_network.c
14-
index cae11ae7b..f1d96664d 100644
14+
index 3fb7619ed..70c771683 100644
1515
--- a/bgpd/bgp_network.c
1616
+++ b/bgpd/bgp_network.c
17-
@@ -721,11 +721,9 @@ int bgp_connect(struct peer *peer)
17+
@@ -743,11 +743,9 @@ int bgp_connect(struct peer *peer)
1818
#ifdef IPTOS_PREC_INTERNETCONTROL
1919
frr_with_privs(&bgpd_privs) {
2020
if (sockunion_family(&peer->su) == AF_INET)
@@ -28,7 +28,7 @@ index cae11ae7b..f1d96664d 100644
2828
}
2929
#endif
3030

31-
@@ -801,10 +799,9 @@ static int bgp_listener(int sock, struct sockaddr *sa, socklen_t salen,
31+
@@ -824,10 +822,9 @@ static int bgp_listener(int sock, struct sockaddr *sa, socklen_t salen,
3232

3333
#ifdef IPTOS_PREC_INTERNETCONTROL
3434
if (sa->sa_family == AF_INET)
@@ -42,10 +42,10 @@ index cae11ae7b..f1d96664d 100644
4242

4343
sockopt_v6only(sa->sa_family, sock);
4444
diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c
45-
index bb2f89f9e..33662b08e 100644
45+
index 4df2abef8..950d1d25c 100644
4646
--- a/bgpd/bgp_vty.c
4747
+++ b/bgpd/bgp_vty.c
48-
@@ -1330,6 +1330,42 @@ DEFUN (no_router_bgp,
48+
@@ -1558,6 +1558,42 @@ DEFUN (no_router_bgp,
4949
return CMD_SUCCESS;
5050
}
5151

@@ -88,7 +88,7 @@ index bb2f89f9e..33662b08e 100644
8888

8989
/* BGP router-id. */
9090

91-
@@ -15549,6 +15585,10 @@ int bgp_config_write(struct vty *vty)
91+
@@ -17053,6 +17089,10 @@ int bgp_config_write(struct vty *vty)
9292
if (CHECK_FLAG(bgp->flags, BGP_FLAG_NO_FAST_EXT_FAILOVER))
9393
vty_out(vty, " no bgp fast-external-failover\n");
9494

@@ -97,9 +97,9 @@ index bb2f89f9e..33662b08e 100644
9797
+ vty_out(vty, " bgp session-dscp %02X\n", bgp->tcp_dscp >> 2);
9898
+
9999
/* BGP router ID. */
100-
if (bgp->router_id_static.s_addr != 0)
101-
vty_out(vty, " bgp router-id %s\n",
102-
@@ -16057,6 +16097,10 @@ void bgp_vty_init(void)
100+
if (bgp->router_id_static.s_addr != INADDR_ANY)
101+
vty_out(vty, " bgp router-id %pI4\n",
102+
@@ -17662,6 +17702,10 @@ void bgp_vty_init(void)
103103
/* "no router bgp" commands. */
104104
install_element(CONFIG_NODE, &no_router_bgp_cmd);
105105

@@ -111,32 +111,31 @@ index bb2f89f9e..33662b08e 100644
111111
install_element(BGP_NODE, &bgp_router_id_cmd);
112112
install_element(BGP_NODE, &no_bgp_router_id_cmd);
113113
diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c
114-
index cf9ff038d..0e8579843 100644
114+
index 7e528b219..005523544 100644
115115
--- a/bgpd/bgpd.c
116116
+++ b/bgpd/bgpd.c
117-
@@ -3069,7 +3069,7 @@ static struct bgp *bgp_create(as_t *as, const char *name,
118-
117+
@@ -3229,6 +3229,7 @@ static struct bgp *bgp_create(as_t *as, const char *name,
119118
bgp->evpn_info = XCALLOC(MTYPE_BGP_EVPN_INFO,
120119
sizeof(struct bgp_evpn_info));
121-
-
120+
122121
+ bgp->tcp_dscp = IPTOS_PREC_INTERNETCONTROL;
123122
bgp_evpn_init(bgp);
123+
bgp_evpn_vrf_es_init(bgp);
124124
bgp_pbr_init(bgp);
125-
126125
diff --git a/bgpd/bgpd.h b/bgpd/bgpd.h
127-
index 2aa069002..914f296e5 100644
126+
index 8b93c450e..e780d8a03 100644
128127
--- a/bgpd/bgpd.h
129128
+++ b/bgpd/bgpd.h
130-
@@ -678,6 +678,9 @@ struct bgp {
129+
@@ -743,6 +743,9 @@ struct bgp {
131130
/* Weighted ECMP related config. */
132131
enum bgp_link_bw_handling lb_handling;
133132

134133
+ /* dscp value for tcp sessions */
135134
+ uint8_t tcp_dscp;
136135
+
137-
QOBJ_FIELDS
138-
};
139-
DECLARE_QOBJ_TYPE(bgp)
136+
/* Process Queue for handling routes */
137+
struct work_queue *process_queue;
138+
140139
--
141-
2.29.2.windows.2
140+
2.12.2
142141

Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
1-
From a81d37fc1558c33426a4fb59ff25c6d73a20f210 Mon Sep 17 00:00:00 2001
2-
From: Pavel Shirshov <pavelsh@microsoft.com>
3-
Date: Mon, 16 Nov 2020 18:11:47 -0800
4-
Subject: [PATCH 2/5] Reduce severity of 'Vty connected from' message
1+
From 15274a197e4d3b7ac0f11ca63a5274f1168739f5 Mon Sep 17 00:00:00 2001
2+
From: Syed Hasan Raza Naqvi <syed.naqvi@broadcom.com>
3+
Date: Thu, 21 Apr 2022 17:12:51 -0700
4+
Subject: [PATCH] [PATCH 2/8] Reduce severity of 'Vty connected from' message
55

66
---
77
lib/vty.c | 2 +-
88
1 file changed, 1 insertion(+), 1 deletion(-)
99

1010
diff --git a/lib/vty.c b/lib/vty.c
11-
index 077c6f621..3204948b8 100644
11+
index 8eaf13619..7edeb5538 100644
1212
--- a/lib/vty.c
1313
+++ b/lib/vty.c
14-
@@ -1859,7 +1859,7 @@ static int vty_accept(struct thread *thread)
14+
@@ -1814,7 +1814,7 @@ static int vty_accept(struct thread *thread)
1515
zlog_info("can't set sockopt to vty_sock : %s",
1616
safe_strerror(errno));
1717

18-
- zlog_info("Vty connection from %s",
19-
+ zlog_debug("Vty connection from %s",
20-
sockunion2str(&su, buf, SU_ADDRSTRLEN));
18+
- zlog_info("Vty connection from %pSU", &su);
19+
+ zlog_debug("Vty connection from %pSU", &su);
2120

2221
vty_create(vty_sock, &su);
22+
2323
--
24-
2.29.2.windows.2
24+
2.12.2
2525

Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
1-
From ecc9aa458a34f49744a2b90d3a7ebcce951a8478 Mon Sep 17 00:00:00 2001
2-
From: Pavel Shirshov <pavelsh@microsoft.com>
3-
Date: Mon, 16 Nov 2020 18:29:46 -0800
4-
Subject: [PATCH 3/5] Use vrf_id for vrf, not tabled_id
1+
From 39bb40dc4bad4462e4ae9c98580d75fa2c92e032 Mon Sep 17 00:00:00 2001
2+
From: Syed Hasan Raza Naqvi <syed.naqvi@broadcom.com>
3+
Date: Thu, 21 Apr 2022 17:17:51 -0700
4+
Subject: [PATCH] [PATCH 3/8] Use vrf_id for vrf, not tabled_id
55

66
---
77
zebra/zebra_fpm_netlink.c | 2 +-
88
1 file changed, 1 insertion(+), 1 deletion(-)
99

1010
diff --git a/zebra/zebra_fpm_netlink.c b/zebra/zebra_fpm_netlink.c
11-
index 2c0741363..0ab92398f 100644
11+
index ec22c5dd4..aad0156b3 100644
1212
--- a/zebra/zebra_fpm_netlink.c
1313
+++ b/zebra/zebra_fpm_netlink.c
14-
@@ -286,7 +286,7 @@ static int netlink_route_info_fill(struct netlink_route_info *ri, int cmd,
15-
ri->af = rib_dest_af(dest);
14+
@@ -287,7 +287,7 @@ static int netlink_route_info_fill(struct netlink_route_info *ri, int cmd,
15+
ri->nlmsg_pid = zvrf->zns->netlink_dplane_out.snl.nl_pid;
1616

1717
ri->nlmsg_type = cmd;
18-
- ri->rtm_table = rib_table_info(rib_dest_table(dest))->table_id;
18+
- ri->rtm_table = table_info->table_id;
1919
+ ri->rtm_table = zvrf_id(rib_dest_vrf(dest));
2020
ri->rtm_protocol = RTPROT_UNSPEC;
2121

2222
/*
2323
--
24-
2.29.2.windows.2
24+
2.12.2
2525

Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
1-
From 70739436fc8ab4d5e507a0185fbc58eca298f7eb Mon Sep 17 00:00:00 2001
2-
From: Pavel Shirshov <[email protected]>
3-
Date: Mon, 16 Nov 2020 18:33:46 -0800
4-
Subject: [PATCH 4/5] Allow BGP attr NEXT_HOP to be 0.0.0.0 due to alleviate
5-
the vendor bug
1+
From afff474c79e0c177e090d1b45d68c9f816a52e3e Mon Sep 17 00:00:00 2001
2+
From: Syed Hasan Raza Naqvi <[email protected]>
3+
Date: Thu, 21 Apr 2022 17:20:07 -0700
4+
Subject: [PATCH] [PATCH 4/8] Allow BGP attr NEXT_HOP to be 0.0.0.0 due to
5+
alleviate
6+
67
---
78
bgpd/bgp_route.c | 3 +--
89
1 file changed, 1 insertion(+), 2 deletions(-)
910

1011
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
11-
index 1c646c03e..df2aa1b4c 100644
12+
index b297ca006..d4b5066c6 100644
1213
--- a/bgpd/bgp_route.c
1314
+++ b/bgpd/bgp_route.c
14-
@@ -3354,8 +3354,7 @@ bool bgp_update_martian_nexthop(struct bgp *bgp, afi_t afi, safi_t safi,
15+
@@ -3625,8 +3625,7 @@ bool bgp_update_martian_nexthop(struct bgp *bgp, afi_t afi, safi_t safi,
1516

1617
/* If NEXT_HOP is present, validate it. */
1718
if (attr->flag & ATTR_FLAG_BIT(BGP_ATTR_NEXT_HOP)) {
@@ -22,5 +23,5 @@ index 1c646c03e..df2aa1b4c 100644
2223
return true;
2324
}
2425
--
25-
2.29.2.windows.2
26+
2.12.2
2627

0 commit comments

Comments
 (0)