Coder Social home page Coder Social logo

sonic-net / sonic-frr Goto Github PK

View Code? Open in Web Editor NEW
41.0 49.0 67.0 81.93 MB

sonic frr

License: GNU General Public License v2.0

Emacs Lisp 0.01% Roff 0.16% Makefile 0.45% Shell 0.51% C 92.62% C++ 0.09% M4 0.69% Dockerfile 0.03% Lex 0.06% Yacc 0.07% Perl 1.25% Python 3.78% Common Lisp 0.02% SmPL 0.27%

sonic-frr's Introduction

FRRouting

FRR is free software that implements and manages various IPv4 and IPv6 routing protocols. It runs on nearly all distributions of Linux and BSD as well as Solaris and supports all modern CPU architectures.

FRR currently supports the following protocols:

  • BGP
  • OSPFv2
  • OSPFv3
  • RIPv1
  • RIPv2
  • RIPng
  • IS-IS
  • PIM-SM/MSDP
  • LDP
  • BFD
  • Babel
  • PBR
  • OpenFabric
  • EIGRP (alpha)
  • NHRP (alpha)

Installation & Use

Packages are available for various distributions on our releases page.

Snaps are also available here.

Instructions on building and installing from source for supported platforms may be found here.

Once installed, please refer to the user guide for instructions on use.

Community

The FRRouting email list server is located here and offers the following public lists:

Topic List
Development [email protected]
Users & Operators [email protected]
Announcements [email protected]

For chat, we currently use Slack. You can join by clicking the "Slack" link under the Participate section of our website.

Contributing

FRR maintains developer's documentation which contains the project workflow and expectations for contributors. Some technical documentation on project internals is also available.

We welcome and appreciate all contributions, no matter how small!

Security

To report security issues, please use our security mailing list:

security [at] lists.frrouting.org

sonic-frr's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sonic-frr's Issues

Save FRR configuration

Hi Guys!

I configure vtysh in FRR and save configurtion with write command in SONiC-NOS(https://sonic-jenkins.westus2.cloudapp.azure.com/job/broadcom/job/buildimage-brcm-all/). After I reloading system (sudo config reload -y) the bgp container is reloading and my frr configuration was lost! how I can save my configuration like as (/etc/sonic/config_db.json) .

device : as 7712-32x

> sonic# wr
Note: this version of vtysh never writes vtysh.conf
Building Configuration...
Integrated configuration saved to /etc/frr/frr.conf
[OK]

sudo config config save -y

Regards

Why forking FRR ?

Why did you fork all FRR code ? You are not getting any updates from FRR, this repo is net handling topotest neither.

T2: Zebra core at route_map_lookup_by_name/hash_get intermittently on LC 'config reload'

  • When reporting a crash, provide a backtrace
  • When pasting configs, logs, shell output, backtraces, and other large chunks of text use Markdown code blocks
  • Include the FRR version; if you built from Git, please provide the commit hash
  • Write your issue in English

Describe the bug

Zebra core seen on config reload, on route_map_lookup_by_name/hash_get on different instances route del or route map get code path. Added different tracebacks below.

[X] Did you check if this is a duplicate issue?
[ ] Did you test it on the latest FRRouting/frr master branch?

To Reproduce
Steps to reproduce the behavior:
Running sonic-mgmt/acl test with presanity, which does config reload.
Issue is not seen every time, but 1 out or 4 iteration hitting this issue.

Screenshots
Route_map_delete path
image

image

Versions

  • OS Kernel: [e.g. Linux, OpenBSD, etc] [version]
  • 5.10.0-18-2-amd64 #1 SMP Debian 5.10.140-1 (2022-09-02) x86_64 GNU/Linux
  • FRR Version [8.22]

Additional context
Seeing the issue when the BFD is enabled.
viz
@abdosi , @anamehra , @vperumal

How to include frr-reload in builds

Is there a way to include frr-reload and its librarys during sonic builds?

frr-reload is really useful for diff'ing running vtysh configs before applying

bgpd will crash after configuring BMP

hello all,
I configure bgp BMP mirror and remove router bgp in vtysh, the bgpd will crash immediately, does anyone have idea about this issue? The FRR configuration and log is as follows,


All daemons are running

Hello, this is FRRouting (version 7.5.1-sonic).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

sonic#
sonic#
sonic#
sonic#
sonic#
sonic# show running-config
Building configuration...

Current configuration:
!
frr version 7.5.1-sonic
frr defaults traditional
hostname sonic
log syslog
log facility local4
log commands
no service integrated-vtysh-config
!
debug bgp neighbor-events
debug bgp graceful-restart
!
password zebra
enable password zebra
!
line vty
!
end
sonic#
sonic#
sonic#
sonic# configure
sonic(config)# router bgp 100
sonic(config-router)# bgp router-id 1.1.1.1
sonic(config-router)# bmp mirror buffer-limit 4294967294
sonic(config-router)# bmp targets server1
sonic(config-bgp-bmp)# bmp connect server-1 port 65535 min-retry 100 max-retry 200
sonic(config-bgp-bmp)# bmp listener 0.0.0.0 port 65535
sonic(config-bgp-bmp)# ip access-list test
sonic(config-bgp-bmp)# ipv6 access-list test-ipv6
sonic(config-bgp-bmp)# bmp stats interval 100
sonic(config-bgp-bmp)# bmp monitor ipv4 unicast pre-policy
sonic(config-bgp-bmp)# bmp mirror
sonic(config-bgp-bmp)# no bmp mirror
sonic(config-bgp-bmp)# bmp mirror
sonic(config-bgp-bmp)#
sonic(config-bgp-bmp)#
sonic(config-bgp-bmp)# exit
sonic(config-router)# exit
sonic(config)# no router bgp
sonic(config)# exit
Warning: closing connection to bgpd because of an I/O error!
Warning: connecting to bgpd...failed!
sonic#


Jun 27 05:41:04.241120 sonic NOTICE bgp#bgpd[52]: vty[??]@> enable
Jun 27 05:55:31.875878 sonic NOTICE bgp#bgpd[52]: vty[??]@# do write terminal
Jun 27 05:56:11.148492 sonic NOTICE bgp#bgpd[52]: vty[??]@# configure
Jun 27 05:56:12.468815 sonic NOTICE bgp#bgpd[52]: vty[??]@(config)# router bgp 100
Jun 27 05:56:12.470309 sonic DEBUG bgp#bgpd[52]: bgp_peer_gr_init called ..
Jun 27 05:56:12.470309 sonic DEBUG bgp#bgpd[52]: [BGP_GR] Peer state changed --to--> : 4 : !
Jun 27 05:56:12.470309 sonic DEBUG bgp#bgpd[52]: bgp_global_gr_init called ..
Jun 27 05:56:21.652441 sonic NOTICE bgp#bgpd[52]: vty[??]@(config-router)# bgp router-id 1.1.1.1
Jun 27 05:56:27.869031 sonic NOTICE bgp#bgpd[52]: vty[??]@(config-router)# bmp mirror buffer-limit 4294967294
Jun 27 05:56:33.877584 sonic NOTICE bgp#bgpd[52]: vty[??]@(config-router)# bmp targets server1
Jun 27 05:56:38.877968 sonic NOTICE bgp#bgpd[52]: vty[??]@(config-bgp-bmp)# bmp connect server-1 port 65535 min-retry 100 max-retry 200
Jun 27 05:56:38.994115 sonic WARNING bgp#bgpd[52]: bmp[server-1]: hostname resolution failed: Domain name not found
Jun 27 05:56:42.885644 sonic WARNING bgp#bgpd[52]: message repeated 17 times: [ bmp[server-1]: hostname resolution failed: Domain name not found]
Jun 27 05:56:42.885644 sonic NOTICE bgp#bgpd[52]: vty[??]@(config-bgp-bmp)# bmp listener 0.0.0.0 port 65535
Jun 27 05:56:42.976698 sonic WARNING bgp#bgpd[52]: bmp[server-1]: hostname resolution failed: Domain name not found
Jun 27 05:56:47.040753 sonic WARNING bgp#bgpd[52]: message repeated 18 times: [ bmp[server-1]: hostname resolution failed: Domain name not found]
Jun 27 05:56:47.040753 sonic NOTICE bgp#bgpd[52]: vty[??]@(config-bgp-bmp)# ip access-list test
Jun 27 05:56:47.093990 sonic WARNING bgp#bgpd[52]: bmp[server-1]: hostname resolution failed: Domain name not found
Jun 27 05:56:53.510420 sonic WARNING bgp#bgpd[52]: message repeated 29 times: [ bmp[server-1]: hostname resolution failed: Domain name not found]
Jun 27 05:56:53.510420 sonic NOTICE bgp#bgpd[52]: vty[??]@(config-bgp-bmp)# ipv6 access-list test-ipv6
Jun 27 05:56:53.536392 sonic WARNING bgp#bgpd[52]: bmp[server-1]: hostname resolution failed: Domain name not found
Jun 27 05:56:57.471475 sonic WARNING bgp#bgpd[52]: message repeated 18 times: [ bmp[server-1]: hostname resolution failed: Domain name not found]
Jun 27 05:56:57.471475 sonic NOTICE bgp#bgpd[52]: vty[??]@(config-bgp-bmp)# bmp stats interval 100
Jun 27 05:56:57.637019 sonic WARNING bgp#bgpd[52]: bmp[server-1]: hostname resolution failed: Domain name not found
Jun 27 05:57:01.543106 sonic WARNING bgp#bgpd[52]: message repeated 18 times: [ bmp[server-1]: hostname resolution failed: Domain name not found]
Jun 27 05:57:01.543106 sonic NOTICE bgp#bgpd[52]: vty[??]@(config-bgp-bmp)# bmp monitor ipv4 unicast pre-policy
Jun 27 05:57:01.718300 sonic WARNING bgp#bgpd[52]: bmp[server-1]: hostname resolution failed: Domain name not found
Jun 27 05:57:07.223841 sonic WARNING bgp#bgpd[52]: message repeated 25 times: [ bmp[server-1]: hostname resolution failed: Domain name not found]
Jun 27 05:57:07.223841 sonic NOTICE bgp#bgpd[52]: vty[??]@(config-bgp-bmp)# bmp mirror
Jun 27 05:57:07.316962 sonic WARNING bgp#bgpd[52]: bmp[server-1]: hostname resolution failed: Domain name not found
Jun 27 05:57:29.967605 sonic WARNING bgp#bgpd[52]: message repeated 105 times: [ bmp[server-1]: hostname resolution failed: Domain name not found]
Jun 27 05:57:29.967605 sonic NOTICE bgp#bgpd[52]: vty[??]@(config-bgp-bmp)# no bmp mirror
Jun 27 05:57:30.073900 sonic WARNING bgp#bgpd[52]: bmp[server-1]: hostname resolution failed: Domain name not found
Jun 27 05:57:35.496000 sonic WARNING bgp#bgpd[52]: message repeated 25 times: [ bmp[server-1]: hostname resolution failed: Domain name not found]
Jun 27 05:57:35.496000 sonic NOTICE bgp#bgpd[52]: vty[??]@(config-bgp-bmp)# bmp mirror
Jun 27 05:57:35.641212 sonic WARNING bgp#bgpd[52]: bmp[server-1]: hostname resolution failed: Domain name not found
Jun 27 05:57:47.040647 sonic WARNING bgp#bgpd[52]: message repeated 53 times: [ bmp[server-1]: hostname resolution failed: Domain name not found]
Jun 27 05:57:47.040647 sonic NOTICE bgp#bgpd[52]: vty[??]@(config-bgp-bmp)# exit
Jun 27 05:57:47.193856 sonic WARNING bgp#bgpd[52]: bmp[server-1]: hostname resolution failed: Domain name not found
Jun 27 05:57:50.696427 sonic WARNING bgp#bgpd[52]: message repeated 16 times: [ bmp[server-1]: hostname resolution failed: Domain name not found]
Jun 27 05:57:50.696427 sonic NOTICE bgp#bgpd[52]: vty[??]@(config-router)# exit
Jun 27 05:57:50.696854 sonic NOTICE bgp#bgpd[52]: vty[??]@(config)# end
Jun 27 05:57:50.697433 sonic NOTICE bgp#bgpd[52]: vty[??]@# configure
Jun 27 05:57:50.831208 sonic WARNING bgp#bgpd[52]: bmp[server-1]: hostname resolution failed: Domain name not found
Jun 27 05:57:54.841770 sonic WARNING bgp#bgpd[52]: message repeated 18 times: [ bmp[server-1]: hostname resolution failed: Domain name not found]
Jun 27 05:57:54.841770 sonic NOTICE bgp#bgpd[52]: vty[??]@(config)# no router bgp
Jun 27 05:57:54.842501 sonic DEBUG bgp#bgpd[52]: bgp_fsm_change_status : vrf default(0), Status: Deleted established_peers 0
Jun 27 05:57:54.842501 sonic DEBUG bgp#bgpd[52]: Static announcement went from Idle to Deleted
Jun 27 05:57:54.878954 sonic CRIT bgp#BGP[52]: Received signal 11 at 1656309474 (si_addr 0x30, PC 0x7f504991f6d6); aborting...
Jun 27 05:57:54.880575 sonic CRIT bgp#BGP[52]: zlog_signal+0xdd 7f504eca3e4d 7ffdd0849a40 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f504ec49000)
Jun 27 05:57:54.881884 sonic CRIT bgp#BGP[52]: PBKDF2_SHA256+0x484 7f504eccaaa4 7ffdd0849b70 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f504ec49000)
Jun 27 05:57:54.882985 sonic CRIT bgp#BGP[52]: __restore_rt+0 7f504dce40e0 7ffdd0849cc0 /lib/x86_64-linux-gnu/libpthread.so.0 (mapped at 0x7f504dcd3000)
Jun 27 05:57:54.883495 sonic CRIT bgp#BGP[52]: ---- signal ----
Jun 27 05:57:54.883495 sonic CRIT bgp#BGP[52]: _init+0x3876 7f504991f6d6 7ffdd084a270 /usr/lib/x86_64-linux-gnu/frr/modules/bgpd_bmp.so (mapped at 0x7f5049919000)
Jun 27 05:57:54.884860 sonic CRIT bgp#BGP[52]: thread_call+0x60 7f504ecda060 7ffdd084a2f0 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f504ec49000)
Jun 27 05:57:54.886084 sonic CRIT bgp#BGP[52]: frr_run+0xe0 7f504eca2760 7ffdd084a490 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f504ec49000)
Jun 27 05:57:54.886477 sonic CRIT bgp#BGP[52]: main+0x2f4 55e5c4596a04 7ffdd084a6b0 /usr/lib/frr/bgpd (mapped at 0x55e5c455c000)
Jun 27 05:57:54.887524 sonic CRIT bgp#BGP[52]: __libc_start_main+0xf1 7f504d9542e1 7ffdd084a720 /lib/x86_64-linux-gnu/libc.so.6 (mapped at 0x7f504d934000)
Jun 27 05:57:54.887922 sonic CRIT bgp#BGP[52]: _start+0x2a 55e5c4598cba 7ffdd084a7e0 /usr/lib/frr/bgpd (mapped at 0x55e5c455c000)
Jun 27 05:57:54.888988 sonic CRIT bgp#BGP[52]: ? 0 7ffdd084a7e8
Jun 27 05:57:54.889034 sonic CRIT bgp#BGP[52]: in thread bmp_stats scheduled from bgpd/bgp_bmp.c:1298
Jun 27 05:57:54.889310 sonic INFO bgp#supervisord: bgpd core_handler: showing active allocations in memory group libfrr
Jun 27 05:57:54.889599 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Buffer : 4 * 24
Jun 27 05:57:54.889599 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Host config : 5 * (variably sized)
Jun 27 05:57:54.889599 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Command Tokens : 11561 * 72
Jun 27 05:57:54.889792 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Command Token Text : 8275 * (variably sized)
Jun 27 05:57:54.889792 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Command Token Help : 8275 * (variably sized)
Jun 27 05:57:54.889792 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Command Argument Name : 1890 * (variably sized)
Jun 27 05:57:54.889842 sonic INFO bgp#supervisord: bgpd core_handler: memstats: RCU thread : 3 * 128
Jun 27 05:57:54.889842 sonic INFO bgp#supervisord: bgpd core_handler: memstats: RCU sequence barrier : 1 * 32
Jun 27 05:57:54.889842 sonic INFO bgp#supervisord: bgpd core_handler: memstats: FRR POSIX Thread : 6 * (variably sized)
Jun 27 05:57:54.889883 sonic INFO bgp#supervisord: bgpd core_handler: memstats: POSIX sync primitives : 6 * (variably sized)
Jun 27 05:57:54.889883 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Graph : 40 * 8
Jun 27 05:57:54.889914 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Graph Node : 13630 * 32
Jun 27 05:57:54.889914 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Hash : 523 * (variably sized)
Jun 27 05:57:54.889958 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Hash Bucket : 2225 * 32
Jun 27 05:57:54.889958 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Hash Index : 262 * (variably sized)
Jun 27 05:57:54.889984 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Interface : 43 * 272
Jun 27 05:57:54.890001 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Connected : 2 * 48
Jun 27 05:57:54.890001 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Link List : 114 * 40
Jun 27 05:57:54.890192 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Link Node : 338 * 24
Jun 27 05:57:54.890258 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Temporary memory : 2 * (variably sized)
Jun 27 05:57:54.890258 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Module loading name : 2 * (variably sized)
Jun 27 05:57:54.890258 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Northbound Node : 126 * 1184
Jun 27 05:57:54.890283 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Northbound Configuration : 2 * 16
Jun 27 05:57:54.890283 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Prefix : 2 * 48
Jun 27 05:57:54.890402 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Privilege information : 3 * (variably sized)
Jun 27 05:57:54.890402 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Skip List : 2 * 56
Jun 27 05:57:54.890402 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Skip Node : 4 * 160
Jun 27 05:57:54.890402 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Stream : 5 * (variably sized)
Jun 27 05:57:54.890430 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Route table : 21 * 56
Jun 27 05:57:54.890430 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Thread : 10 * 168
Jun 27 05:57:54.890470 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Thread master : 15 * (variably sized)
Jun 27 05:57:54.890470 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Thread Poll Info : 8 * 8388608
Jun 27 05:57:54.890543 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Thread stats : 17 * 72
Jun 27 05:57:54.890543 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Typed-hash bucket : 1 * (variably sized)
Jun 27 05:57:54.890543 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Typed-heap array : 1 * 576
Jun 27 05:57:54.890543 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Vector : 27347 * 16
Jun 27 05:57:54.890543 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Vector index : 27347 * (variably sized)
Jun 27 05:57:54.890617 sonic INFO bgp#supervisord: bgpd core_handler: memstats: VRF : 1 * 200
Jun 27 05:57:54.890617 sonic INFO bgp#supervisord: bgpd core_handler: memstats: VRF bit-map : 3 * 8
Jun 27 05:57:54.890617 sonic INFO bgp#supervisord: bgpd core_handler: memstats: VTY : 2 * (variably sized)
Jun 27 05:57:54.890640 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Work queue : 2 * 152
Jun 27 05:57:54.890640 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Work queue name string : 2 * (variably sized)
Jun 27 05:57:54.890640 sonic INFO bgp#supervisord: bgpd core_handler: memstats: YANG module : 4 * 48
Jun 27 05:57:54.890666 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Zclient : 2 * 3456
Jun 27 05:57:54.890812 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Redistribution instance IDs : 6 * 2
Jun 27 05:57:54.890812 sonic INFO bgp#supervisord: bgpd core_handler: memstats: log thread-local buffer : 3 * 9752
Jun 27 05:57:54.890812 sonic INFO bgp#supervisord: bgpd core_handler: showing active allocations in memory group logging subsystem
Jun 27 05:57:54.890812 sonic INFO bgp#supervisord: bgpd core_handler: memstats: syslog target : 2 * 56
Jun 27 05:57:54.890812 sonic INFO bgp#supervisord: bgpd core_handler: showing active allocations in memory group bgpd
Jun 27 05:57:54.890860 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Mac Hash Entry : 9 * 16
Jun 27 05:57:54.890860 sonic INFO bgp#supervisord: bgpd core_handler: memstats: Mac Hash Entry Interface String: 43 * (variably sized)
Jun 27 05:57:54.890877 sonic INFO bgp#supervisord: bgpd core_handler: memstats: BGP table : 21 * 40
Jun 27 05:57:54.890877 sonic INFO bgp#supervisord: bgpd core_handler: memstats: community-list handler : 1 * 120
Jun 27 05:57:54.890893 sonic INFO bgp#supervisord: bgpd core_handler: memstats: BGP EVPN Multihoming Information: 1 * 40
Jun 27 05:57:54.890893 sonic INFO bgp#supervisord: bgpd core_handler: showing active allocations in memory group rfapi
Jun 27 05:57:54.890909 sonic INFO bgp#supervisord: bgpd core_handler: showing active allocations in memory group BMP (BGP Monitoring Protocol)
Jun 27 05:57:54.890946 sonic INFO bgp#supervisord: bgpd core_handler: memstats: BMP listener : 1 * 64
Jun 27 05:57:56.999614 sonic INFO bgp#supervisord 2022-06-27 05:57:56,075 INFO exited: bgpd (terminated by SIGABRT (core dumped); not expected)
Jun 27 05:58:11.520254 sonic ERR monit[639]: 'bgpd' process is not running

BGP unnumbered issue - Could not finish the TCP handshake

Hi Guys,

Needs some help on getting around the BGP unnumbered issue. I think I have my configuration done right but the BGP peers are not even able to finish the TCP handshake with the link local address. Could any please give me some direction?

Test topology:
SP02 -port 96 ------------------------ RA01 - port 100

Network gear:
SP02, RA01 - Arista switch running Sonic
FRR version - 7.01
Linux - 4.9.0-8-2-amd64 #1 SMP Debian 4.9.110-3+deb9u6 (2015-12-19) x86_64 GNU/Linux

SONiC Software Version: SONiC.201904.0-dirty-20190606.153513
Distribution: Debian 9.9
Kernel: 4.9.0-8-2-amd64

##################
RA01
##################

interface Ethernet100
ipv6 nd ra-interval 5
no ipv6 nd suppress-ra
!
interface lo
ip address 100.127.200.3/32
!
router bgp 65593
bgp router-id 100.127.200.3
neighbor ISL peer-group
neighbor ISL remote-as external
neighbor ISL bfd
neighbor ISL capability extended-nexthop
neighbor Ethernet100 interface peer-group ISL
!
address-family ipv4 unicast
redistribute connected route-map ADV_LO
exit-address-family
!
address-family ipv6 unicast
neighbor ISL activate
exit-address-family
!
route-map ADV_LO permit 10
match interface lo
!

###################
Sp02
###################
!
interface Ethernet96
ipv6 nd ra-interval 5
no ipv6 nd suppress-ra
!
interface lo
ip address 100.127.200.2/32
!
router bgp 65592
bgp router-id 100.127.200.2
neighbor ISL peer-group
neighbor ISL remote-as external
neighbor ISL bfd
neighbor ISL capability extended-nexthop
neighbor Ethernet96 interface peer-group ISL
!
address-family ipv4 unicast
redistribute connected route-map ADV_LO
exit-address-family
!
address-family ipv6 unicast
neighbor ISL activate
exit-address-family
!
route-map ADV_LO permit 10
match interface lo

ISSUE:

Both end could not finish the 3 ways handshake because no ACK is returned from either end.

tcpdump on SP02.99:

18:11:25.097912 IP6 fe80::2a99:3aff:fe43:828.60094 > fe80::2a99:3aff:fea0:f79c.bgp: Flags [S], seq 1916461314, win 27120, options [mss 9040,sackOK,TS val 60494016 ecr 0,nop,wscale 7], length 0
18:11:25.098014 IP6 fe80::2a99:3aff:fea0:f79c.bgp > fe80::2a99:3aff:fe43:828.60094: Flags [S.], seq 3862918119, ack 1916461315, win 27084, options [mss 9040,sackOK,TS val 1187858364 ecr 60486120,nop,wscale 7], length 0

no ACK returned from the remote end
tcpdump On RA01.99:

17:21:17.526446 IP6 fe80::2a99:3aff:fea0:f79c.52486 > fe80::2a99:3aff:fe43:828.bgp: Flags [S], seq 2854675523, win 27120, options [mss 9040,sackOK,TS val 1187864576 ecr 0,nop,wscale 7], length 0
17:21:17.526578 IP6 fe80::2a99:3aff:fe43:828.bgp > fe80::2a99:3aff:fea0:f79c.52486: Flags [S.], seq 239598513, ack 2854675524, win 27084, options [mss 9040,sackOK,TS val 60500224 ecr 1187864576,nop,wscale 7], length 0

no ACK returned from the remote end

Zebra process crashes intermittently during 'config reload' on the DUT line cards

  • When reporting a crash, provide a backtrace
  • When pasting configs, logs, shell output, backtraces, and other large chunks of text use Markdown code blocks
  • Include the FRR version; if you built from Git, please provide the commit hash
  • Write your issue in English

Describe the bug

On a T2 chassis line card, when we do 'sudo config reload -y', we see 'zebra' process getting crashed and generates a core. We see this issue intermittently happening. (_~ approx once in 30 attempts or so_)

We have started seeing the issue from this commit,

sonic-buildimage-msft commit:
sonic-net/sonic-buildimage-msft@6f19e12

Following logs are seen on the bgp docker, when the crash is happening.

2023-07-09 13:59:40,064 INFO exited: zebra (terminated by SIGSEGV (core dumped); not expected)
2023-07-11 19:39:22,156 INFO exited: zebra (terminated by SIGSEGV (core dumped); not expected)

Crash logs:

image

Attached the zebra core generated and the frr logs for reference.
zebra.1689104360.44.0.core.gz
frr.zip

Actual Behaviour:

  • Zebra process under bgp docker gets crashed.
  • Core generated

We had already raised an issue under sonic-buildimage regarding this crash, please take a look at this,
sonic-net/sonic-buildimage#15803
15803

To Reproduce
Steps to reproduce the behavior:
On any T2 chassis line card, do 'sudo config reload -y' for multiple times.

Expected behavior

  • 'sudo config reload' on DUT line cards, should not cause any issue. And the line cards should come up fine with all bgp neighbors established without any crash/core files.

Screenshots
If applicable, add screenshots to help explain your problem.

Versions

  • OS Kernel: [e.g. Linux, OpenBSD, etc] [version]
  • FRR Version [version]
admin@ixre-egl-board1:~$ show version

SONiC Software Version: SONiC.HEAD.489499-msft-2205-ndk-d963ac161
SONiC OS Version: 11
Distribution: Debian 11.7
Kernel: 5.10.0-18-2-amd64
Build commit: d963ac161
Build date: Fri Jul  7 18:18:51 UTC 2023
Built by: gitlab-runner@sonic-bld2

Platform: x86_64-nokia_ixr7250e_36x400g-r0
HwSKU: Nokia-IXR7250E-36x100G
ASIC: broadcom
ASIC Count: 2
Serial Number: EAG2-04-210
Model Number: N/A
Hardware Revision: 56
Uptime: 15:45:52 up 1 day, 12:15,  3 users,  load average: 1.56, 1.54, 1.59
Date: Wed 12 Jul 2023 15:45:52

Additional context
Add any other context about the problem here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.