Commit graph

38794 commits

Author SHA1 Message Date
Philippe Guibert 02da52d22e bgpd: fix bmp heap use after free on non connected session
A heap use after free when enabling bmp mirror on a non connected BMP
target.

> Apr 22 14:06:49 vRR-DUT systemd[1]: Started bfdd.
> Apr 22 14:06:51 vRR-DUT bgpd[1522]: [VTCF0-ZHP6C] bmp: missing TX OPEN message for peer Static announcement
> Apr 22 14:06:51 vRR-DUT bgpd[1522]: [K3RM9-4A4HY] bmp: missing RX OPEN message for peer Static announcement
> Apr 22 14:06:52 vRR-DUT bgpd[1522]: =================================================================
> Apr 22 14:06:52 vRR-DUT bgpd[1522]: ==1522==ERROR: AddressSanitizer: heap-use-after-free on address 0x60f0000321d0 at pc 0x7fe7f11c548e bp 0x7fff49f80d40 sp 0x7fff49f80d30
> Apr 22 14:06:52 vRR-DUT bgpd[1522]: READ of size 8 at 0x60f0000321d0 thread T0
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #0 0x7fe7f11c548d in typesafe_list_add /build/make-pkg/output/_packages/cp-routing/src/lib/typesafe.h:161
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #1 0x7fe7f11c9347 in bmp_mirrorq_add_tail /build/make-pkg/output/_packages/cp-routing/src/bgpd/bgp_bmp.c:116
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #2 0x7fe7f11d030f in bmp_mirror_packet /build/make-pkg/output/_packages/cp-routing/src/bgpd/bgp_bmp.c:867
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #3 0x55c756de3e20 in hook_call_bgp_packet_dump /build/make-pkg/output/_packages/cp-routing/src/bgpd/bgp_packet.c:55
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #4 0x55c756dfd5ea in bgp_process_packet /build/make-pkg/output/_packages/cp-routing/src/bgpd/bgp_packet.c:3699
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #5 0x7fe7f5375237 in event_call (/lib/x86_64-linux-gnu/libfrr.so.0+0x375237)
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #6 0x7fe7f5242ecf in frr_run (/lib/x86_64-linux-gnu/libfrr.so.0+0x242ecf)
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #7 0x55c756c71804 in main /build/make-pkg/output/_packages/cp-routing/src/bgpd/bgp_main.c:545
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #8 0x7fe7f4c29d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #9 0x7fe7f4c29e3f in __libc_start_main_impl ../csu/libc-start.c:392
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #10 0x55c756c6e384 in _start (/usr/bin/bgpd+0x272384)
> Apr 22 14:06:52 vRR-DUT bgpd[1522]: 0x60f0000321d0 is located 0 bytes inside of 162-byte region [0x60f0000321d0,0x60f000032272)
> Apr 22 14:06:52 vRR-DUT bgpd[1522]: freed by thread T0 here:
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #0 0x7fe7f58b4537 in __interceptor_free ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:127
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #1 0x7fe7f526f918 in qfree (/lib/x86_64-linux-gnu/libfrr.so.0+0x26f918)
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #2 0x7fe7f11d057b in bmp_mirror_packet /build/make-pkg/output/_packages/cp-routing/src/bgpd/bgp_bmp.c:875
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #3 0x55c756de3e20 in hook_call_bgp_packet_dump /build/make-pkg/output/_packages/cp-routing/src/bgpd/bgp_packet.c:55
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #4 0x55c756dfd5ea in bgp_process_packet /build/make-pkg/output/_packages/cp-routing/src/bgpd/bgp_packet.c:3699
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #5 0x7fe7f5375237 in event_call (/lib/x86_64-linux-gnu/libfrr.so.0+0x375237)
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #6 0x7fe7f5242ecf in frr_run (/lib/x86_64-linux-gnu/libfrr.so.0+0x242ecf)
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #7 0x55c756c71804 in main /build/make-pkg/output/_packages/cp-routing/src/bgpd/bgp_main.c:545
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #8 0x7fe7f4c29d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
> Apr 22 14:06:52 vRR-DUT bgpd[1522]: previously allocated by thread T0 here:
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #0 0x7fe7f58b4a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #1 0x7fe7f526f7c6 in qcalloc (/lib/x86_64-linux-gnu/libfrr.so.0+0x26f7c6)
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #2 0x7fe7f11cfd38 in bmp_mirror_packet /build/make-pkg/output/_packages/cp-routing/src/bgpd/bgp_bmp.c:835
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #3 0x55c756de3e20 in hook_call_bgp_packet_dump /build/make-pkg/output/_packages/cp-routing/src/bgpd/bgp_packet.c:55
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #4 0x55c756dfd5ea in bgp_process_packet /build/make-pkg/output/_packages/cp-routing/src/bgpd/bgp_packet.c:3699
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #5 0x7fe7f5375237 in event_call (/lib/x86_64-linux-gnu/libfrr.so.0+0x375237)
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #6 0x7fe7f5242ecf in frr_run (/lib/x86_64-linux-gnu/libfrr.so.0+0x242ecf)
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #7 0x55c756c71804 in main /build/make-pkg/output/_packages/cp-routing/src/bgpd/bgp_main.c:545
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:     #8 0x7fe7f4c29d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
> Apr 22 14:06:52 vRR-DUT bgpd[1522]: SUMMARY: AddressSanitizer: heap-use-after-free /build/make-pkg/output/_packages/cp-routing/src/lib/typesafe.h:161 in typesafe_list_add
> Apr 22 14:06:52 vRR-DUT bgpd[1522]: Shadow bytes around the buggy address:
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   0x0c1e7fffe3e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   0x0c1e7fffe3f0: 00 00 00 00 00 00 fa fa fa fa fa fa fa fa 00 00
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   0x0c1e7fffe400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   0x0c1e7fffe410: 00 00 00 00 fa fa fa fa fa fa fa fa 00 00 00 00
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   0x0c1e7fffe420: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> Apr 22 14:06:52 vRR-DUT bgpd[1522]: =>0x0c1e7fffe430: 00 fa fa fa fa fa fa fa fa fa[fd]fd fd fd fd fd
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   0x0c1e7fffe440: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fa
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   0x0c1e7fffe450: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   0x0c1e7fffe460: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   0x0c1e7fffe470: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   0x0c1e7fffe480: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
> Apr 22 14:06:52 vRR-DUT bgpd[1522]: Shadow byte legend (one shadow byte represents 8 application bytes):
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   Addressable:           00
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   Partially addressable: 01 02 03 04 05 06 07
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   Heap left redzone:       fa
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   Freed heap region:       fd
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   Stack left redzone:      f1
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   Stack mid redzone:       f2
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   Stack right redzone:     f3
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   Stack after return:      f5
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   Stack use after scope:   f8
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   Global redzone:          f9
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   Global init order:       f6
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   Poisoned by user:        f7
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   Container overflow:      fc
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   Array cookie:            ac
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   Intra object redzone:    bb
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   ASan internal:           fe
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   Left alloca redzone:     ca
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   Right alloca redzone:    cb
> Apr 22 14:06:52 vRR-DUT bgpd[1522]:   Shadow gap:              cc
> Apr 22 14:06:52 vRR-DUT bgpd[1522]: ==1522==ABORTING
> Apr 22 14:06:52 vRR-DUT yams[449]: CONFIG: [{'name': 'ttyS0'}]
> Apr 22 14:06:52 vRR-DUT zebra[652]: [GE156-FS0MJ][EC 100663299] stream_read_try: read failed on fd 50: Connection reset by peer
> Apr 22 14:06:52 vRR-DUT systemd[1]: bgpd.service: Main process exited, code=exited, status=1/FAILURE
> Apr 22 14:06:52 vRR-DUT zebra[652]: [GE156-FS0MJ][EC 100663299] stream_read_try: read failed on fd 39: Connection reset by peer
> Apr 22 14:06:52 vRR-DUT systemd[1]: bgpd.service: Failed with result 'exit-code'.
> Apr 22 14:06:52 vRR-DUT zebra[652]: [N5M5Y-J5BPG][EC 4043309121] Client 'bgp' (session id 0) encountered an error and is shutting down.
> Apr 22 14:06:52 vRR-DUT systemd[1]: bgpd.service: Consumed 2.361s CPU time.
> Apr 22 14:06:52 vRR-DUT zebra[652]: [N5M5Y-J5BPG][EC 4043309121] Client 'bgp' (session id 1) encountered an error and is shutting down.
> Apr 22 14:06:52 vRR-DUT zebra[652]: [JPSA8-5KYEA] client 39 disconnected 0 bgp routes removed from the rib
> Apr 22 14:06:52 vRR-DUT zebra[652]: [S929C-NZR3N] client 39 disconnected 0 bgp nhgs removed from the rib
> Apr 22 14:06:52 vRR-DUT zebra[652]: [KQB7H-NPVW9] /build/make-pkg/output/_packages/cp-routing/src/zebra/zebra_ptm.c:1285 failed to find process pid registration
> Apr 22 14:06:52 vRR-DUT zebra[652]: [JPSA8-5KYEA] client 50 disconnected 0 bgp routes removed from the rib
> Apr 22 14:06:52 vRR-DUT zebra[652]: [S929C-NZR3N] client 50 disconnected 0 bgp nhgs removed from the rib
>

Do not enqueue item in the mirror queue if no reference count has been
found in the connection list.

Fixes: b1ebe54b29 ("bgpd: bmp, handle imported bgp instances in bmp_mirror")

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2025-04-29 09:31:35 +02:00
Mark Stapp 6b939c6f20
Merge pull request #18731 from donaldsharp/no_returns_some_more
Some checks are pending
build-test / Build the x86 ubuntu 22.04 docker image (push) Waiting to run
build-test / Test ubuntu x86 docker image (push) Blocked by required conditions
build-test / Build the ARM ubuntu 22.04 docker image (push) Waiting to run
build-test / Test ubuntu ARM docker image (push) Blocked by required conditions
*: Allow returns to work with --enable-undefined-behavior
2025-04-28 16:53:26 -04:00
Donald Sharp 99f6f32dde
Merge pull request #18730 from y-bharath14/srib-tests-v14
tests: Proper handling of resource allocation
2025-04-28 15:24:42 -04:00
Donald Sharp d7e19c604f *: Allow returns to work with --enable-undefined-behavior
If you have undefined behavior compilation checking gcc
starts to complain about a bunch of places that do not
have return's.  When most of them actually do and we
have the assert's to prove it.  I'm just doing this
to make the compiler happy for me, so I can continue
to do work.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2025-04-28 14:05:28 -04:00
Russ White fc21c74db5
Merge pull request #18704 from Pdoijode/pdoijode/zapi-cancel-new-accept
Some checks are pending
build-test / Build the x86 ubuntu 22.04 docker image (push) Waiting to run
build-test / Test ubuntu x86 docker image (push) Blocked by required conditions
build-test / Build the ARM ubuntu 22.04 docker image (push) Waiting to run
build-test / Test ubuntu ARM docker image (push) Blocked by required conditions
zebra: Cancel new client accept events after zsock is closed
2025-04-28 07:43:33 -04:00
Y Bharath 954843a8da tests: Proper handling of resource allocation
Ensure proper handling of resource allocation

Signed-off-by: y-bharath14 <y.bharath@samsung.com>
2025-04-28 10:17:31 +05:30
Pooja Jagadeesh Doijode 7a935bb1ad zebra: Change zserv_accept to use global zsock FD
Problem:
Zebra crashed while going down. This happened because zebra was
trying to process a new client accept request after closing ZAPI's
listener socket zsock and setting it to -1.

Fix:
Skip rescheduling zserv_accept() and accepting a new client if global
ZAPI listener socket FD, zsock is already closed and set to -1.
Also use global ZAPI listener socket FD zsock in zserv_accept() instead
of using a copy of zsock.

Signed-off-by: Pooja Jagadeesh Doijode <pdoijode@nvidia.com>
2025-04-25 20:27:38 -07:00
Mark Stapp 083893dfbb
Merge pull request #18690 from karthikeyav/multipath_num_check_nhg
Some checks failed
build-test / Build the x86 ubuntu 22.04 docker image (push) Has been cancelled
build-test / Test ubuntu x86 docker image (push) Has been cancelled
build-test / Build the ARM ubuntu 22.04 docker image (push) Has been cancelled
build-test / Test ubuntu ARM docker image (push) Has been cancelled
*: Fix MULTIPATH_NUM check in nhg encode
2025-04-25 11:31:48 -04:00
Donald Sharp 217a90ee09
Merge pull request #18720 from mjstapp/compile_wnoreturn
*: enable the missing-noreturn compiler warning
2025-04-25 09:35:27 -04:00
Donatas Abraitis dd42058c16
Merge pull request #18709 from donaldsharp/nhe_afi_max
Some checks are pending
build-test / Test ubuntu x86 docker image (push) Blocked by required conditions
build-test / Build the x86 ubuntu 22.04 docker image (push) Waiting to run
build-test / Build the ARM ubuntu 22.04 docker image (push) Waiting to run
build-test / Test ubuntu ARM docker image (push) Blocked by required conditions
zebra: Display nhg's afi as `No Afi`
2025-04-24 17:51:04 -07:00
Donatas Abraitis 43b16a5e22
Merge pull request #18708 from louis-6wind/rework_bgp_evpn_rt5
topotests: clarify bgp evpn rt5
2025-04-24 17:49:54 -07:00
Mark Stapp 015772475d build: missing-noreturn warnings are errors
Remove the temporary 'no-error' for the newly-added warning.

Signed-off-by: Mark Stapp <mjs@cisco.com>
2025-04-24 13:41:23 -04:00
Mark Stapp 098d692b6f *: expose and clean up 'noreturn' functions
Enable the -Wmissing-noreturn warning, and resolve warnings
for gcc and clang. Add a FRR_NORETURN macro and use that for
the new changes.

Signed-off-by: Mark Stapp <mjs@cisco.com>
2025-04-24 13:41:23 -04:00
Jafar Al-Gharaibeh 1b0bac0e68
Merge pull request #18652 from donaldsharp/pim_ssmpingd
Some checks are pending
build-test / Build the x86 ubuntu 22.04 docker image (push) Waiting to run
build-test / Test ubuntu x86 docker image (push) Blocked by required conditions
build-test / Build the ARM ubuntu 22.04 docker image (push) Waiting to run
build-test / Test ubuntu ARM docker image (push) Blocked by required conditions
Fix Pim ssmpingd
2025-04-24 10:52:48 -05:00
Mark Stapp 4da04350df
Merge pull request #18716 from y-bharath14/srib-yang-v11
yang: Fix pyang errors in frr-interface.yang
2025-04-24 08:01:39 -04:00
Louis Scalbert b7ffa50777 tests: bgp_evpn_rt5 test match evpn vni
0d5bd461af commit was supposed to check that route-map "match evpn vni"
was working by adding a r3 router that injected prefixes with VNI 102.
A route-map on r1 was filtering r3 prefixes. However, the test was
working even after removing r3. A check was needed without the route-map
to check that r3 prefixes were received before applying the filter.

Test "match evpn vni" route-map filtering applied to r2 input instead.

Fixes: 0d5bd461af ("topotests: bgp_evpn_rt5, add test with match evpn vni command")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2025-04-24 11:06:10 +02:00
Louis Scalbert 38145c2db1 tests: bgp_evpn_rt5 rename router variables
in order to identify which router we are talking about.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2025-04-24 10:35:22 +02:00
Louis Scalbert b5519b6bbb tests: bgp_evpn_rt5 reformat configuration commands
Reformat configuration commands in human readable style.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2025-04-24 10:35:22 +02:00
Louis Scalbert 45a629bf1e tests: bgp_evpn_rt5 rename vrfs
No need to prefix with the router name.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2025-04-24 10:35:22 +02:00
Louis Scalbert e0045dcaa1 tests: bgp_evpn_rt5 re-address rd and rt
Re-address Route-Distinguisher and route-targets for clarity.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2025-04-24 10:35:22 +02:00
Louis Scalbert 1c00abca53 tests: bgp_evpn_rt5 don't check for file presence
They are always there.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2025-04-24 10:35:22 +02:00
Louis Scalbert 4df5bf09c6 tests: bgp_evpn_rt5 reformat setup_module
Cosmetic change for clarity

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2025-04-24 10:35:22 +02:00
Louis Scalbert 48e34275ea tests: bgp_evpn_rt5 remove useless switches
They are not used.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2025-04-24 10:35:22 +02:00
Louis Scalbert 49c2dd5118 tests: bgp_evpn_rt5 re-address overlay
for clarity

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2025-04-24 10:35:22 +02:00
Louis Scalbert 6d57cb4667 tests: bgp_evpn_rt5 re-address underlay
for clarity.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2025-04-24 10:35:22 +02:00
Louis Scalbert 30063c3553 tests: remove r3 from bgp_evpn_rt5
It is not used at all.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2025-04-24 10:35:22 +02:00
Y Bharath 927c5c2a4a yang: Fix pyang errors in frr-interface.yang
Fix pyang warnings and errors in frr-interface.yang

Signed-off-by: y-bharath14 <y.bharath@samsung.com>
2025-04-24 12:12:12 +05:30
Jafar Al-Gharaibeh c3c46adf16
Merge pull request #18672 from usrivastava-nvidia/master
Some checks are pending
build-test / Build the x86 ubuntu 22.04 docker image (push) Waiting to run
build-test / Test ubuntu x86 docker image (push) Blocked by required conditions
build-test / Build the ARM ubuntu 22.04 docker image (push) Waiting to run
build-test / Test ubuntu ARM docker image (push) Blocked by required conditions
pimd: Fix for crash during networking restart
2025-04-23 23:17:45 -05:00
Donald Sharp 143f1dfc9c docker: add ssmping to the the ubuntu docker images
ssmping is missing from our docker builds.  Let's add
it so that topotests can run correctly.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Signed-off-by: Christian Hopps <chopps@labn.net>
2025-04-23 23:16:59 -04:00
Donald Sharp ebe3458288 doc: Document new test dependancy
ssmping is needed to test the ssmpingd in the pimd daemon.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2025-04-23 13:56:07 -04:00
Donald Sharp 3b780b023a tests: Add a simple ssmping test to the system
There are no tests that attempt to cover the ssmpingd
functionality in pimd.  Add a very very simple test case.
This test requires the ssmping package to be installed.

Signed-off-by: Donald Sharp <donaldsharp72@gmail.com>
2025-04-23 13:56:07 -04:00
Donald Sharp f5de14db8e tests: Convert pim_basic to use integrated configuration
Since I am in this test, modifying it let's just convert
it to a integrated configuration.

Signed-off-by: Donald Sharp <donaldsharp72@gmail.com>
2025-04-23 13:56:07 -04:00
Donald Sharp 23fcf31358 pimd: Allow ssmpingd command to work for pim
Commit: 1c56018f66
broke the ssmpingd implementation in pim.  This
is because it just completely botched the bind
to the correct port and address.

Signed-off-by: Donald Sharp <donaldsharp72@gmail.com>
2025-04-23 13:56:07 -04:00
Donald Sharp 8875befc7f zebra: Display nhg's afi as No Afi
When displaying `show nexthop-group rib` the afi
displayed for Nexthop Groups ( not singletons ) is
`bad-value` which while true to the specific of
the AFI it's not necessarily what we want to display
to the end operator.  Add a wrapper function for
nhg's to do the right thing.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2025-04-23 12:00:55 -04:00
Utkarsh Srivastava b88cce2330 pimd: Fix for crash during networking restart
During vrf delete, the vxlan_info.work_list
linked list was deleted which is a global list
containing the SGs for all the VRFs.

If two vrfs are configured, vrf a and vrf b and
both has SGs assocaited with them which are
inserted in the vxlan_info.work_list. Now if
vrf a is deleted, it deletes the work_list also.
Due to this when any SG add or del comes for vrf b
it tries to access the work_list and crashes.

Fix
Delete the vxlan_info.work_list only when all the
VRFs are terminated and unset the vxlan_info.flags
so if new add cmd comes it re-allocates the work_list.

Signed-off-by: usrivastava-nvidia <usrivastava@nvidia.com>
2025-04-23 14:03:02 +00:00
Donald Sharp 827e1d69b9
Merge pull request #18691 from valentinbinotto/valentin-dev
Some checks are pending
build-test / Build the x86 ubuntu 22.04 docker image (push) Waiting to run
build-test / Test ubuntu x86 docker image (push) Blocked by required conditions
build-test / Build the ARM ubuntu 22.04 docker image (push) Waiting to run
build-test / Test ubuntu ARM docker image (push) Blocked by required conditions
doc: state correct default behaviour of VTYSH_PAGER env if unset (vtysh manpage)
2025-04-23 09:23:12 -04:00
Philippe Guibert f7ae2c17ea
Merge pull request #18677 from chdxD1/fix-rmac-nhlist
zebra: add vtep_ip to rmac nh_list in all cases
2025-04-23 15:07:01 +02:00
Donatas Abraitis 0ffed03d4a
Merge pull request #16836 from cscarpitta/feature/srv6-show-sids
Some checks are pending
build-test / Build the x86 ubuntu 22.04 docker image (push) Waiting to run
build-test / Test ubuntu x86 docker image (push) Blocked by required conditions
build-test / Build the ARM ubuntu 22.04 docker image (push) Waiting to run
build-test / Test ubuntu ARM docker image (push) Blocked by required conditions
zebra: Add CLI to display SRv6 SIDs allocated
2025-04-23 05:22:27 +03:00
Donatas Abraitis 3e647e71d5
Merge pull request #18656 from leonshaw/evpn-strip-ecom
bgpd: Clean extended communities for VRF routes imported from EVPN
2025-04-23 05:21:26 +03:00
Donatas Abraitis a4af12134e
Merge pull request #18703 from donaldsharp/line_vty
doc: line vty was not documented
2025-04-23 05:08:39 +03:00
Donald Sharp 06dd473602 doc: line vty was not documented
Try to document the sub-node `line vty` and
what it can do.  Call out the distinction
between vtysh and VTY.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2025-04-22 15:18:41 -04:00
Donald Sharp 12e95e5cb0
Merge pull request #18694 from petrvaganoff/dev
Some checks are pending
build-test / Build the x86 ubuntu 22.04 docker image (push) Waiting to run
build-test / Test ubuntu x86 docker image (push) Blocked by required conditions
build-test / Build the ARM ubuntu 22.04 docker image (push) Waiting to run
build-test / Test ubuntu ARM docker image (push) Blocked by required conditions
bgpd: Fix deref after free in bgp_vrf_unlink
2025-04-22 12:27:00 -04:00
Donald Sharp 114af4ca16
Merge pull request #18698 from y-bharath14/srib-tests-v13
tests: Shadowing the built-in function
2025-04-22 12:23:56 -04:00
Valentin Binotto f690276086 doc: Updated the default for VTYSH_PAGER if unset in user docs
Signed-off-by: Valentin Binotto <git.8c400bab53f220f13efe0112c1ea2f96@v434project.com>
2025-04-22 16:01:41 +00:00
Russ White 93f29b595a
Merge pull request #18683 from LabNConsulting/chopps/notif-improve
Some checks are pending
build-test / Build the x86 ubuntu 22.04 docker image (push) Waiting to run
build-test / Test ubuntu x86 docker image (push) Blocked by required conditions
build-test / Build the ARM ubuntu 22.04 docker image (push) Waiting to run
build-test / Test ubuntu ARM docker image (push) Blocked by required conditions
Improve notification selectors (sort, eliminate dups)
2025-04-22 11:27:16 -04:00
Christopher Dziomba ab68237e3e
tests: remove ipv4 and ipv6 in bgp_evpn_rt5
Removal of IPv6 was already tested in bgp_evpn_rt5 topotest, however
IPv4 was not tested afterwards. This now removes IPv6 routes first,
then adds them back and removes IPv4 afterwards, waiting for
convergence everytime.

Signed-off-by: Christopher Dziomba <christopher.dziomba@telekom.de>
2025-04-22 17:25:57 +02:00
Christopher Dziomba 0c14dd3af6
zebra: add vtep_ip to rmac nh_list in all cases
zebra rmac has a nh_list which tracks the assigned VTEP IPs to RMACs.
It can also receive IPv6 encoded IPv4 addresses as VTEPs. Changing/
Installing the RMAC into the Kernel is only important when the IPv4
address changes. However because nh_list is a nodup list used to
track usage or RMACs by VTEP IPs, both IP addresses (IPv4 and IPv6
encoded IPv4) should be written into it, as both could be removed
in l3vni_rmac_nh_list_nh_delete independently.

Signed-off-by: Christopher Dziomba <christopher.dziomba@telekom.de>
2025-04-22 17:22:43 +02:00
Russ White deb473ff1d
Merge pull request #18695 from askorichenko/test-show-advertised-routes-vty
bgpd: fix vty's version of show advertised-routes
2025-04-22 11:09:17 -04:00
Russ White e525972513
Merge pull request #18158 from chdxD1/evpn-no-withdraw-for-update
Update EVPN prefix routes properly instead of withdraw/install
2025-04-22 10:54:57 -04:00
Y Bharath 8cf9900390 tests: Shadowing the built-in function
Shadowing the built-in function in lutil.py

Signed-off-by: y-bharath14 <y.bharath@samsung.com>
2025-04-22 16:09:23 +05:30