]> git.puffer.fish Git - mirror/frr.git/log
mirror/frr.git
7 days agoMerge pull request #18695 from askorichenko/test-show-advertised-routes-vty
Russ White [Tue, 22 Apr 2025 15:09:17 +0000 (11:09 -0400)]
Merge pull request #18695 from askorichenko/test-show-advertised-routes-vty

bgpd: fix vty's version of show advertised-routes

7 days agoMerge pull request #18158 from chdxD1/evpn-no-withdraw-for-update
Russ White [Tue, 22 Apr 2025 14:54:57 +0000 (10:54 -0400)]
Merge pull request #18158 from chdxD1/evpn-no-withdraw-for-update

Update EVPN prefix routes properly instead of withdraw/install

7 days agoMerge pull request #18626 from donaldsharp/RA_me
Russ White [Mon, 21 Apr 2025 21:32:58 +0000 (17:32 -0400)]
Merge pull request #18626 from donaldsharp/RA_me

Implement RFC8781 (NAT64 prefix in RA's)

7 days agobgpd: fix vty's version of show advertised-routes 18695/head
Alexander Skorichenko [Fri, 18 Apr 2025 11:08:45 +0000 (13:08 +0200)]
bgpd: fix vty's version of show advertised-routes

Fix displayed metric if a route-map is applied to advertised routes

Signed-off-by: Alexander Skorichenko <askorichenko@netgate.com>
8 days agoMerge pull request #18689 from donaldsharp/limit_outgoing_packets
Donatas Abraitis [Mon, 21 Apr 2025 16:29:12 +0000 (19:29 +0300)]
Merge pull request #18689 from donaldsharp/limit_outgoing_packets

bgpd: ensure that bgp_generate_updgrp_packets shares nicely

10 days agoMerge pull request #18692 from donaldsharp/event_cleanups
Donatas Abraitis [Sat, 19 Apr 2025 00:40:27 +0000 (03:40 +0300)]
Merge pull request #18692 from donaldsharp/event_cleanups

zebra: Save event pointer for rib sweeping

10 days agozebra: Save event pointer for rib sweeping 18692/head
Donald Sharp [Fri, 18 Apr 2025 21:44:39 +0000 (17:44 -0400)]
zebra: Save event pointer for rib sweeping

The rib_sweep_route function when not doing graceful
restart does not attempt to save the event on the
t_rib_sweep pointer for shutdown.  Prevent any
weird shenanigans by allowing shutdown to clean
up the rib_sweep_route event.

Signed-off-by: Donald Sharp <donaldsharp72@gmail.com>
10 days agobgpd: ensure that bgp_generate_updgrp_packets shares nicely 18689/head
Donald Sharp [Fri, 18 Apr 2025 17:50:33 +0000 (13:50 -0400)]
bgpd: ensure that bgp_generate_updgrp_packets shares nicely

The bgp_generate_updgrp_packet function will attempt to write
up to `write quanta 64` packets at one time.  This is extremely
expensive at scale and is causing CPU_HOGS as well as STARVATION
messages.  Check to see if we should yield the CPU to allow
something else in BGP to continue working.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
11 days agoMerge pull request #18675 from mjstapp/fix_clang_18_warnings
Donald Sharp [Thu, 17 Apr 2025 22:38:21 +0000 (18:38 -0400)]
Merge pull request #18675 from mjstapp/fix_clang_18_warnings

lib,pimd,bgpd,bfdd: Fix clang 18 warnings

12 days agoMerge pull request #18658 from y-bharath14/srib-tests-v12
Donatas Abraitis [Thu, 17 Apr 2025 15:18:26 +0000 (18:18 +0300)]
Merge pull request #18658 from y-bharath14/srib-tests-v12

tests: Resource leak in common_config.py

12 days agoMerge pull request #18538 from nabahr/autorp-enabling
Donald Sharp [Thu, 17 Apr 2025 14:14:13 +0000 (10:14 -0400)]
Merge pull request #18538 from nabahr/autorp-enabling

pimd: Only create and bind the autorp socket when really needed

12 days agobfdd, bgpd: clean up clang warnings 18675/head
Mark Stapp [Wed, 16 Apr 2025 15:39:26 +0000 (11:39 -0400)]
bfdd, bgpd: clean up clang warnings

Clean up some clang compiler warnings.

Signed-off-by: Mark Stapp <mjs@cisco.com>
12 days agopimd: clean up clang warnings
Mark Stapp [Wed, 16 Apr 2025 15:38:35 +0000 (11:38 -0400)]
pimd: clean up clang warnings

Clean up clang warnings in pimd; mostly address-of-packed
issues (removed some ugly casts too).

Signed-off-by: Mark Stapp <mjs@cisco.com>
12 days agolib: disable clang warning in parser yacc output
Mark Stapp [Wed, 16 Apr 2025 15:37:33 +0000 (11:37 -0400)]
lib: disable clang warning in parser yacc output

Disable a clang 'unused' warning in the yacc source
of command_parse.c.

Signed-off-by: Mark Stapp <mjs@cisco.com>
13 days agoMerge pull request #18669 from opensourcerouting/rfapi-misused-conditional
Jafar Al-Gharaibeh [Wed, 16 Apr 2025 14:39:02 +0000 (09:39 -0500)]
Merge pull request #18669 from opensourcerouting/rfapi-misused-conditional

bgpd: fix misused rfapi conditional

13 days agoMerge pull request #18665 from y-bharath14/srib-yang-v10
Donald Sharp [Wed, 16 Apr 2025 13:41:32 +0000 (09:41 -0400)]
Merge pull request #18665 from y-bharath14/srib-yang-v10

yang: Corrected pyang errors in frr-pathd.yang

13 days agoMerge pull request #18497 from krishna-samy/show-metaq-counters
Mark Stapp [Wed, 16 Apr 2025 13:16:40 +0000 (09:16 -0400)]
Merge pull request #18497 from krishna-samy/show-metaq-counters

zebra: show command to display metaq info

13 days agoMerge pull request #18579 from krishna-samy/krishna/dplane_fpm_read
Mark Stapp [Wed, 16 Apr 2025 12:47:11 +0000 (08:47 -0400)]
Merge pull request #18579 from krishna-samy/krishna/dplane_fpm_read

zebra: change fpm_read to batch the messages

13 days agoMerge pull request #18667 from louis-6wind/fix-srv6-sid-leak
Carmine Scarpitta [Wed, 16 Apr 2025 11:50:09 +0000 (11:50 +0000)]
Merge pull request #18667 from louis-6wind/fix-srv6-sid-leak

isisd: fix srv6_sid memory leak

13 days agobgpd: fix misused rfapi conditional 18669/head
David Lamparter [Wed, 16 Apr 2025 10:44:38 +0000 (12:44 +0200)]
bgpd: fix misused rfapi conditional

bgpd/bgpd.c:8975:5: error: "ENABLE_BGP_VNC" is not defined, evaluates to 0 [-Werror=undef]
 8975 | #if ENABLE_BGP_VNC

Fixes: FRRouting#18546
Fixes: 1629c05924fe9 ("bgpd: rfapi: track outstanding rib and import timers, free mem at exit")
Cc: G. Paul Ziemba <paulz@labn.net>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
13 days agoisisd: fix srv6_sid memory leak 18667/head
Louis Scalbert [Wed, 16 Apr 2025 09:23:54 +0000 (11:23 +0200)]
isisd: fix srv6_sid memory leak

Seen with isis_srv6_topo1 topotest.

> ==178793==ERROR: LeakSanitizer: detected memory leaks
>
> Direct leak of 56 byte(s) in 1 object(s) allocated from:
>     #0 0x7f3f63cb4a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
>     #1 0x7f3f6366f8dd in qcalloc lib/memory.c:105
>     #2 0x561b810c62b7 in isis_srv6_sid_alloc isisd/isis_srv6.c:243
>     #3 0x561b8111f944 in isis_zebra_srv6_sid_notify isisd/isis_zebra.c:1534
>     #4 0x7f3f637df9d7 in zclient_read lib/zclient.c:4845
>     #5 0x7f3f637779b2 in event_call lib/event.c:2011
>     #6 0x7f3f63642ff1 in frr_run lib/libfrr.c:1216
>     #7 0x561b81018bf2 in main isisd/isis_main.c:360
>     #8 0x7f3f63029d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

Fixes: 0af0f4616d ("isisd: Receive SRv6 SIDs notifications from zebra")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
13 days agoMerge pull request #18662 from mjstapp/fix_test_nb_endian
David Lamparter [Wed, 16 Apr 2025 08:49:13 +0000 (10:49 +0200)]
Merge pull request #18662 from mjstapp/fix_test_nb_endian

13 days agoyang: Corrected pyang errors in frr-pathd.yang 18665/head
Y Bharath [Wed, 16 Apr 2025 07:17:31 +0000 (12:47 +0530)]
yang: Corrected pyang errors in frr-pathd.yang

Corrected pyang warnings and errors in frr-pathd.yang

Signed-off-by: y-bharath14 <y.bharath@samsung.com>
13 days agozebra: change fpm_read to batch the messages 18579/head
Krishnasamy [Fri, 4 Apr 2025 11:36:39 +0000 (11:36 +0000)]
zebra: change fpm_read to batch the messages

Make code changes in fpm_read to create a list of ctx and send it to
zebra for processing rather than sending individual ctx

Signed-off-by: Krishnasamy <krishnasamyr@nvidia.com>
2 weeks agotests: add nb test binary to .gitignore 18662/head
Mark Stapp [Tue, 15 Apr 2025 17:16:07 +0000 (13:16 -0400)]
tests: add nb test binary to .gitignore

Add a northbound unit-test binary product to .gitignore

Signed-off-by: Mark Stapp <mjs@cisco.com>
2 weeks agotests: use little-endian order for libyang api
Mark Stapp [Tue, 15 Apr 2025 17:15:09 +0000 (13:15 -0400)]
tests: use little-endian order for libyang api

Use the expected - little-endian - byte-order for a param
to one of the libyang apis; tests fail on LE architectures
otherwise.

Signed-off-by: Mark Stapp <mjs@cisco.com>
2 weeks agoMerge pull request #18592 from zmw12306/bfd_set_shutdown
Russ White [Tue, 15 Apr 2025 15:34:28 +0000 (11:34 -0400)]
Merge pull request #18592 from zmw12306/bfd_set_shutdown

bfdd: Set bfd.LocalDiag when transitioning to AdminDown

2 weeks agoMerge pull request #18540 from LabNConsulting/chopps/list-entry-done
Russ White [Tue, 15 Apr 2025 15:30:50 +0000 (11:30 -0400)]
Merge pull request #18540 from LabNConsulting/chopps/list-entry-done

lib: nb: add list_entry_done() callback to free resources

2 weeks agoMerge pull request #18610 from lsang6WIND/yang-isisd
Christian Hopps [Tue, 15 Apr 2025 15:25:51 +0000 (10:25 -0500)]
Merge pull request #18610 from lsang6WIND/yang-isisd

fix yang commands that don't have yang attr

2 weeks agotests: Add ability to test ipv6 ra pref64 extension 11224/head 18626/head
Donald Sharp [Wed, 9 Apr 2025 15:20:49 +0000 (11:20 -0400)]
tests: Add ability to test ipv6 ra pref64 extension

This is the test to ensure that the ipv6 ra pref64
extension is working properly..

This is a very simple test.  Enables the feature
on r1 to send out the ra's once every 3 seconds
with the feature turned on.  Then on r2 ensure
that we see the ra with the appropriate values.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 weeks agotests: add external RFC8781 receiver tool
David Lamparter [Wed, 9 Apr 2025 13:53:43 +0000 (15:53 +0200)]
tests: add external RFC8781 receiver tool

Otherwise pretty much impossible to test this within the current
limitations of topotests.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2 weeks agozebra: implement RFC8781 (NAT64 prefix in RAs)
David Lamparter [Sun, 28 Jul 2019 07:28:45 +0000 (09:28 +0200)]
zebra: implement RFC8781 (NAT64 prefix in RAs)

This tells hosts on the subnet if (and which) NAT64 prefix is in use.
Useful for things like xlat464, or local dns64.

Updated from the previous -03 draft implementation.  (PLC field did not
exist before.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2 weeks agoMerge pull request #18653 from louis-6wind/fix-bgp-pbr-mem-leaks
Donatas Abraitis [Tue, 15 Apr 2025 07:07:14 +0000 (10:07 +0300)]
Merge pull request #18653 from louis-6wind/fix-bgp-pbr-mem-leaks

bgpd: fix pbr memory leaks

2 weeks agotests: Resource leak in common_config.py 18658/head
Y Bharath [Tue, 15 Apr 2025 05:47:14 +0000 (11:17 +0530)]
tests: Resource leak in common_config.py

Address pending changes from PR:18574

Signed-off-by: y-bharath14 <y.bharath@samsung.com>
2 weeks agoMerge pull request #18655 from mjstapp/fix_clang_lib_bgp
Jafar Al-Gharaibeh [Tue, 15 Apr 2025 02:10:49 +0000 (21:10 -0500)]
Merge pull request #18655 from mjstapp/fix_clang_lib_bgp

lib,bgpd: clean up clang warnings

2 weeks agoMerge pull request #18654 from chdxD1/v4-via-v6-nexthop
Donald Sharp [Mon, 14 Apr 2025 23:28:48 +0000 (19:28 -0400)]
Merge pull request #18654 from chdxD1/v4-via-v6-nexthop

Add v4-via-v6 nexthop support to staticd

2 weeks agoMerge pull request #18641 from donaldsharp/fpm_listener_storage
Jafar Al-Gharaibeh [Mon, 14 Apr 2025 20:21:13 +0000 (15:21 -0500)]
Merge pull request #18641 from donaldsharp/fpm_listener_storage

zebra: Add ability to dump routes received from fpm_listener

2 weeks agolib,bgpd: clean up clang warnings 18655/head
Mark Stapp [Mon, 14 Apr 2025 19:32:08 +0000 (15:32 -0400)]
lib,bgpd: clean up clang warnings

Clean up a couple of clang compiler warnings (this was
clang 18)

Signed-off-by: Mark Stapp <mjs@cisco.com>
2 weeks agoMerge pull request #18578 from ak503/pim6_use_source
Jafar Al-Gharaibeh [Mon, 14 Apr 2025 19:07:26 +0000 (14:07 -0500)]
Merge pull request #18578 from ak503/pim6_use_source

pim6d: fix missing 'use-source' interface command

2 weeks agotopotests: introduce evpn next-hop tests 18158/head
Christopher Dziomba [Tue, 25 Mar 2025 16:11:46 +0000 (17:11 +0100)]
topotests: introduce evpn next-hop tests

Adding tests in the bgp_evpn_rt5 topology to cover the changed
bgp -> zebra interaction that does no longer rely on withdrawing and
then re-installing the route. The newly introduced pathCount of EVPN
next-hops is checked. In addition the log is checked for MAC_DELETE or
NEIGH_DELETE during multipath flaps that must no longer be present for
the test to succeed.

Signed-off-by: Christopher Dziomba <christopher.dziomba@telekom.de>
2 weeks agodoc: Add v4-over-v6 next-hop to staticd docs 18654/head
Christopher Dziomba [Mon, 14 Apr 2025 17:28:13 +0000 (19:28 +0200)]
doc: Add v4-over-v6 next-hop to staticd docs

GATEWAY can now be v4 or v6 for v4 routes, for v6 routes it
can only be v6 (like today).

Signed-off-by: Christopher Dziomba <christopher.dziomba@telekom.de>
2 weeks agotests: Validating staticd v4-over-v6 nexthop
Christopher Dziomba [Mon, 14 Apr 2025 17:23:16 +0000 (19:23 +0200)]
tests: Validating staticd v4-over-v6 nexthop

Introducing do_ipv6_nexthop to static_simple topotest. The test
configures IPv4 routes with IPv6 nexthop and validates that via
inet6 is visible in the Linux Kernel

Signed-off-by: Christopher Dziomba <christopher.dziomba@telekom.de>
2 weeks agostaticd: Add v4-via-v6 nexthop support
Christopher Dziomba [Mon, 14 Apr 2025 17:13:45 +0000 (19:13 +0200)]
staticd: Add v4-via-v6 nexthop support

Routing v4 over an v6 nexthop is already well supported within zebra
(and FRR). This adds support to staticd, allowing an IPv6 nexthop to
be provided to ip route statements. For this the commands are
extended and the address family is parsed from the parameter.

When receiving nht updates from zebra, both AFIs are checked because
prefixes could exist in both. Additionally when route_node is known,
family of prefix is used instead of nexthop.

Signed-off-by: Christopher Dziomba <christopher.dziomba@telekom.de>
2 weeks agobgpd: fix bgp_pbr_or_filter memory leaks 18653/head
Louis Scalbert [Fri, 11 Apr 2025 15:39:28 +0000 (17:39 +0200)]
bgpd: fix bgp_pbr_or_filter memory leaks

Note that bgp_pbr_policyroute_add_from_zebra() and
bgp_pbr_policyroute_remove_from_zebra() are only called from
bgp_pbr_handle_entry().

>  ==966967==ERROR: LeakSanitizer: detected memory leaks
>
> Direct leak of 40 byte(s) in 1 object(s) allocated from:
>     #0 0x7fd447ab4a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
>     #1 0x7fd44746f8dd in qcalloc lib/memory.c:105
>     #2 0x7fd44744401a in list_new lib/linklist.c:49
>     #3 0x560f8c094490 in bgp_pbr_handle_entry bgpd/bgp_pbr.c:2818
>     #4 0x560f8c095993 in bgp_pbr_update_entry bgpd/bgp_pbr.c:2941
>     #5 0x560f8c2164f3 in bgp_zebra_announce bgpd/bgp_zebra.c:1618
>     #6 0x560f8c0bd668 in bgp_process_main_one bgpd/bgp_route.c:3691
>     #7 0x560f8c0be7fe in process_subq_other_route bgpd/bgp_route.c:3856
>     #8 0x560f8c0bf280 in process_subq bgpd/bgp_route.c:3955
>     #9 0x560f8c0bf320 in meta_queue_process bgpd/bgp_route.c:3980
>     #10 0x7fd44759fdfc in work_queue_run lib/workqueue.c:282
>     #11 0x7fd4475779b2 in event_call lib/event.c:2011
>     #12 0x7fd447442ff1 in frr_run lib/libfrr.c:1216
>     #13 0x560f8bef0a15 in main bgpd/bgp_main.c:545
>     #14 0x7fd446e29d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
>
> Direct leak of 40 byte(s) in 1 object(s) allocated from:
>     #0 0x7fd447ab4a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
>     #1 0x7fd44746f8dd in qcalloc lib/memory.c:105
>     #2 0x7fd44744401a in list_new lib/linklist.c:49
>     #3 0x560f8c09439d in bgp_pbr_handle_entry bgpd/bgp_pbr.c:2812
>     #4 0x560f8c095993 in bgp_pbr_update_entry bgpd/bgp_pbr.c:2941
>     #5 0x560f8c2164f3 in bgp_zebra_announce bgpd/bgp_zebra.c:1618
>     #6 0x560f8c0bd668 in bgp_process_main_one bgpd/bgp_route.c:3691
>     #7 0x560f8c0be7fe in process_subq_other_route bgpd/bgp_route.c:3856
>     #8 0x560f8c0bf280 in process_subq bgpd/bgp_route.c:3955
>     #9 0x560f8c0bf320 in meta_queue_process bgpd/bgp_route.c:3980
>     #10 0x7fd44759fdfc in work_queue_run lib/workqueue.c:282
>     #11 0x7fd4475779b2 in event_call lib/event.c:2011
>     #12 0x7fd447442ff1 in frr_run lib/libfrr.c:1216
>     #13 0x560f8bef0a15 in main bgpd/bgp_main.c:545
>     #14 0x7fd446e29d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
>
> Direct leak of 4 byte(s) in 1 object(s) allocated from:
>     #0 0x7fd447ab4a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
>     #1 0x7fd44746f8dd in qcalloc lib/memory.c:105
>     #2 0x560f8c080cec in bgp_pbr_extract_enumerate_unary bgpd/bgp_pbr.c:362
>     #3 0x560f8c080f7e in bgp_pbr_extract_enumerate bgpd/bgp_pbr.c:400
>     #4 0x560f8c094530 in bgp_pbr_handle_entry bgpd/bgp_pbr.c:2819
>     #5 0x560f8c095993 in bgp_pbr_update_entry bgpd/bgp_pbr.c:2941
>     #6 0x560f8c2164f3 in bgp_zebra_announce bgpd/bgp_zebra.c:1618
>     #7 0x560f8c0bd668 in bgp_process_main_one bgpd/bgp_route.c:3691
>     #8 0x560f8c0be7fe in process_subq_other_route bgpd/bgp_route.c:3856
>     #9 0x560f8c0bf280 in process_subq bgpd/bgp_route.c:3955
>     #10 0x560f8c0bf320 in meta_queue_process bgpd/bgp_route.c:3980
>     #11 0x7fd44759fdfc in work_queue_run lib/workqueue.c:282
>     #12 0x7fd4475779b2 in event_call lib/event.c:2011
>     #13 0x7fd447442ff1 in frr_run lib/libfrr.c:1216
>     #14 0x560f8bef0a15 in main bgpd/bgp_main.c:545
>     #15 0x7fd446e29d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
>
> Direct leak of 4 byte(s) in 1 object(s) allocated from:
>     #0 0x7fd447ab4a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
>     #1 0x7fd44746f8dd in qcalloc lib/memory.c:105
>     #2 0x560f8c080cec in bgp_pbr_extract_enumerate_unary bgpd/bgp_pbr.c:362
>     #3 0x560f8c080f7e in bgp_pbr_extract_enumerate bgpd/bgp_pbr.c:400
>     #4 0x560f8c09443d in bgp_pbr_handle_entry bgpd/bgp_pbr.c:2813
>     #5 0x560f8c095993 in bgp_pbr_update_entry bgpd/bgp_pbr.c:2941
>     #6 0x560f8c2164f3 in bgp_zebra_announce bgpd/bgp_zebra.c:1618
>     #7 0x560f8c0bd668 in bgp_process_main_one bgpd/bgp_route.c:3691
>     #8 0x560f8c0be7fe in process_subq_other_route bgpd/bgp_route.c:3856
>     #9 0x560f8c0bf280 in process_subq bgpd/bgp_route.c:3955
>     #10 0x560f8c0bf320 in meta_queue_process bgpd/bgp_route.c:3980
>     #11 0x7fd44759fdfc in work_queue_run lib/workqueue.c:282
>     #12 0x7fd4475779b2 in event_call lib/event.c:2011
>     #13 0x7fd447442ff1 in frr_run lib/libfrr.c:1216
>     #14 0x560f8bef0a15 in main bgpd/bgp_main.c:545
>     #15 0x7fd446e29d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2 weeks agobgpd: fix bgp_pbr_rule memory leak
Louis Scalbert [Fri, 11 Apr 2025 15:30:15 +0000 (17:30 +0200)]
bgpd: fix bgp_pbr_rule memory leak

Fix bgp_pbr_rule memory leak. Found by code review.

Fixes: 27e376d4e1 ("bgpd: an hash list of pbr iprule is created")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2 weeks agobgpd: fix bgp_pbr_match memory leak
Louis Scalbert [Fri, 11 Apr 2025 15:21:49 +0000 (17:21 +0200)]
bgpd: fix bgp_pbr_match memory leak

> Direct leak of 1144 byte(s) in 13 object(s) allocated from:
>     #0 0x7f3eedeb4a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
>     #1 0x7f3eed86f8dd in qcalloc lib/memory.c:105
>     #2 0x55b32d236faf in bgp_pbr_match_alloc_intern bgpd/bgp_pbr.c:1074
>     #3 0x7f3eed817d79 in hash_get lib/hash.c:147
>     #4 0x55b32d242d9a in bgp_pbr_policyroute_add_to_zebra_unit bgpd/bgp_pbr.c:2486
>     #5 0x55b32d244436 in bgp_pbr_policyroute_add_to_zebra bgpd/bgp_pbr.c:2672
>     #6 0x55b32d245a05 in bgp_pbr_handle_entry bgpd/bgp_pbr.c:2843
>     #7 0x55b32d246912 in bgp_pbr_update_entry bgpd/bgp_pbr.c:2939
>     #8 0x55b32d3c7472 in bgp_zebra_announce bgpd/bgp_zebra.c:1618
>     #9 0x55b32d26e5e7 in bgp_process_main_one bgpd/bgp_route.c:3691
>     #10 0x55b32d26f77d in process_subq_other_route bgpd/bgp_route.c:3856
>     #11 0x55b32d2701ff in process_subq bgpd/bgp_route.c:3955
>     #12 0x55b32d27029f in meta_queue_process bgpd/bgp_route.c:3980
>     #13 0x7f3eed99fdd8 in work_queue_run lib/workqueue.c:282
>     #14 0x7f3eed97798e in event_call lib/event.c:2011
>     #15 0x7f3eed842ff1 in frr_run lib/libfrr.c:1216
>     #16 0x55b32d0a1a15 in main bgpd/bgp_main.c:545
>     #17 0x7f3eed229d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

Fixes: d114b0d739 ("bgpd: inject policy route entry from bgp into zebra pbr entries.")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2 weeks agobgpd: fix bgp_pbr_match_entry memory leak
Louis Scalbert [Fri, 11 Apr 2025 15:11:55 +0000 (17:11 +0200)]
bgpd: fix bgp_pbr_match_entry memory leak

> ==238132==ERROR: LeakSanitizer: detected memory leaks
>
> Direct leak of 160 byte(s) in 1 object(s) allocated from:
>     #0 0x7fd79f0b4a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
>     #1 0x7fd79ea6f8dd in qcalloc lib/memory.c:105
>     #2 0x5586b26995f9 in bgp_pbr_match_entry_alloc_intern bgpd/bgp_pbr.c:1155
>     #3 0x7fd79ea17d79 in hash_get lib/hash.c:147
>     #4 0x5586b26a551d in bgp_pbr_policyroute_add_to_zebra_unit bgpd/bgp_pbr.c:2522
>     #5 0x5586b26a6436 in bgp_pbr_policyroute_add_to_zebra bgpd/bgp_pbr.c:2672
>     #6 0x5586b26a8089 in bgp_pbr_handle_entry bgpd/bgp_pbr.c:2876
>     #7 0x5586b26a8912 in bgp_pbr_update_entry bgpd/bgp_pbr.c:2939
>     #8 0x5586b2829472 in bgp_zebra_announce bgpd/bgp_zebra.c:1618
>     #9 0x5586b282ab4b in bgp_zebra_announce_table bgpd/bgp_zebra.c:1766
>     #10 0x5586b2824b99 in bgp_zebra_tm_connect bgpd/bgp_zebra.c:1091
>     #11 0x7fd79eb7798e in event_call lib/event.c:2011
>     #12 0x7fd79ea42ff1 in frr_run lib/libfrr.c:1216
>     #13 0x5586b2503a15 in main bgpd/bgp_main.c:545
>     #14 0x7fd79e429d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

Fixes: d114b0d739 ("bgpd: inject policy route entry from bgp into zebra pbr entries.")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2 weeks agoMerge pull request #18649 from donaldsharp/rpki_testing_and_buf_fix
Jafar Al-Gharaibeh [Sun, 13 Apr 2025 03:26:19 +0000 (22:26 -0500)]
Merge pull request #18649 from donaldsharp/rpki_testing_and_buf_fix

Rpki testing and bug fix

2 weeks agotests: Add more tests to bgp_rpki_topo1 test 18649/head
Donald Sharp [Sat, 12 Apr 2025 20:32:34 +0000 (16:32 -0400)]
tests: Add more tests to bgp_rpki_topo1 test

Looking at the gcov of the rpki code, I noticed
that there was some functionality that is not
covered in our test suites.  Add the functionality.

Signed-off-by: Donald Sharp <donaldsharp72@gmail.com>
2 weeks agobgpd: Prevent crash when issuing a show rpki connections
Donald Sharp [Sat, 12 Apr 2025 20:56:30 +0000 (16:56 -0400)]
bgpd: Prevent crash when issuing a show rpki connections

When attempting to check rpki status and the connection
has been turned off, let's check to see if we are connected
before we ask the rpki subsystem, else we will get a crash
in the rpki library.

Signed-off-by: Donald Sharp <donaldsharp72@gmail.com>
2 weeks agopim6d: fix missing 'use-source' interface command 18578/head
Dmitrii Turlupov [Tue, 8 Apr 2025 12:45:53 +0000 (15:45 +0300)]
pim6d: fix missing 'use-source' interface command

Signed-off-by: Dmitrii Turlupov <turlupov@bk.ru>
2 weeks agoMerge pull request #18645 from louis-6wind/fix-zebra-pbr-leak
Donald Sharp [Fri, 11 Apr 2025 23:54:03 +0000 (19:54 -0400)]
Merge pull request #18645 from louis-6wind/fix-zebra-pbr-leak

zebra: fix pbr_iptable memory leak

2 weeks agoMerge pull request #18574 from y-bharath14/srib-tests-v10
Donatas Abraitis [Fri, 11 Apr 2025 15:54:01 +0000 (18:54 +0300)]
Merge pull request #18574 from y-bharath14/srib-tests-v10

tests: Shadowing the built-in function

2 weeks agoMerge pull request #18628 from raja-rajasekar/rajasekarr/fix_frr_reload_srv6
Carmine Scarpitta [Fri, 11 Apr 2025 15:07:05 +0000 (17:07 +0200)]
Merge pull request #18628 from raja-rajasekar/rajasekarr/fix_frr_reload_srv6

tools: fix reload script for SRv6 locators and formats

2 weeks agoMerge pull request #18640 from donaldsharp/fpm_listener_nhg_data
Jafar Al-Gharaibeh [Fri, 11 Apr 2025 15:06:55 +0000 (10:06 -0500)]
Merge pull request #18640 from donaldsharp/fpm_listener_nhg_data

zebra: modify fpm_listener to display data about nhgs

2 weeks agoMerge pull request #18597 from pguibert6WIND/end_b6_encaps_extensions
Carmine Scarpitta [Fri, 11 Apr 2025 15:00:13 +0000 (17:00 +0200)]
Merge pull request #18597 from pguibert6WIND/end_b6_encaps_extensions

lib, staticd, isisd: add B6.ENCAPS codepoint extensions

2 weeks agozebra: clean pbr_iptable interface_name_list free 18645/head
Louis Scalbert [Fri, 11 Apr 2025 13:13:23 +0000 (15:13 +0200)]
zebra: clean pbr_iptable interface_name_list free

Clean up code related to pbr_iptable->interface_name_list free. This is
a cosmetic change.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2 weeks agozebra: fix pbr_iptable memory leak
Louis Scalbert [Fri, 11 Apr 2025 13:20:13 +0000 (15:20 +0200)]
zebra: fix pbr_iptable memory leak

We are obviously doing deleting on wrong object.

> Direct leak of 40 byte(s) in 1 object(s) allocated from:
>     #0 0x7fcf718b4a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
>     #1 0x7fcf7126f8dd in qcalloc lib/memory.c:105
>     #2 0x7fcf7124401a in list_new lib/linklist.c:49
>     #3 0x55771621d86d in pbr_iptable_alloc_intern zebra/zebra_pbr.c:1015
>     #4 0x7fcf71217d79 in hash_get lib/hash.c:147
>     #5 0x55771621dad3 in zebra_pbr_add_iptable zebra/zebra_pbr.c:1030
>     #6 0x55771614d00c in zread_iptable zebra/zapi_msg.c:4131
>     #7 0x55771614e586 in zserv_handle_commands zebra/zapi_msg.c:4424
>     #8 0x5577162dae2c in zserv_process_messages zebra/zserv.c:521
>     #9 0x7fcf7137798e in event_call lib/event.c:2011
>     #10 0x7fcf71242ff1 in frr_run lib/libfrr.c:1216
>     #11 0x5577160e4d6d in main zebra/main.c:540
>     #12 0x7fcf70c29d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
>
> Indirect leak of 24 byte(s) in 1 object(s) allocated from:
>     #0 0x7fcf718b4a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
>     #1 0x7fcf7126f8dd in qcalloc lib/memory.c:105
>     #2 0x7fcf71244129 in listnode_new lib/linklist.c:71
>     #3 0x7fcf71244238 in listnode_add lib/linklist.c:92
>     #4 0x55771621d938 in pbr_iptable_alloc_intern zebra/zebra_pbr.c:1019
>     #5 0x7fcf71217d79 in hash_get lib/hash.c:147
>     #6 0x55771621dad3 in zebra_pbr_add_iptable zebra/zebra_pbr.c:1030
>     #7 0x55771614d00c in zread_iptable zebra/zapi_msg.c:4131
>     #8 0x55771614e586 in zserv_handle_commands zebra/zapi_msg.c:4424
>     #9 0x5577162dae2c in zserv_process_messages zebra/zserv.c:521
>     #10 0x7fcf7137798e in event_call lib/event.c:2011
>     #11 0x7fcf71242ff1 in frr_run lib/libfrr.c:1216
>     #12 0x5577160e4d6d in main zebra/main.c:540
>     #13 0x7fcf70c29d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

Fixes: f80ec7e3d6 ("zebra: handle iptable list of interfaces")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2 weeks agozebra: split up MTYPE_PBR_OBJ
Louis Scalbert [Fri, 11 Apr 2025 09:12:52 +0000 (11:12 +0200)]
zebra: split up MTYPE_PBR_OBJ

Split up MTYPE_PBR_OBJ into dedicated MTYPE to clarify the memory
allocation and free.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2 weeks agoMerge pull request #18642 from louis-6wind/fix-asla-leak
Donald Sharp [Fri, 11 Apr 2025 13:07:27 +0000 (09:07 -0400)]
Merge pull request #18642 from louis-6wind/fix-asla-leak

isisd: fix asla memory leak

2 weeks agoMerge pull request #16735 from zmw12306/babel_nonzeroMBZ
Donald Sharp [Fri, 11 Apr 2025 12:42:45 +0000 (08:42 -0400)]
Merge pull request #16735 from zmw12306/babel_nonzeroMBZ

babeld: Add MBZ and Reserved field checking

2 weeks agoMerge pull request #18633 from y-bharath14/srib-tests-v11
Donald Sharp [Fri, 11 Apr 2025 12:41:02 +0000 (08:41 -0400)]
Merge pull request #18633 from y-bharath14/srib-tests-v11

tests: Fix potential issues in mcast-tester.py

2 weeks agoMerge pull request #18635 from opensourcerouting/support_bundle_ns
Donald Sharp [Fri, 11 Apr 2025 12:40:34 +0000 (08:40 -0400)]
Merge pull request #18635 from opensourcerouting/support_bundle_ns

tools: Add pathspace option to generate_support_bundle

2 weeks agoisisd: fix asla memory leak 18642/head
Louis Scalbert [Fri, 11 Apr 2025 05:29:57 +0000 (07:29 +0200)]
isisd: fix asla memory leak

> ==713776==ERROR: LeakSanitizer: detected memory leaks
>
> Direct leak of 120 byte(s) in 1 object(s) allocated from:
>     #0 0x7fdfcbeb4a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
>     #1 0x7fdfcb86f8dd in qcalloc lib/memory.c:105
>     #2 0x55ce707739b6 in isis_tlvs_find_alloc_asla isisd/isis_tlvs.c:8500
>     #3 0x55ce7072fae0 in isis_link_params_update_asla isisd/isis_te.c:191
>     #4 0x55ce70733881 in isis_link_params_update isisd/isis_te.c:499
>     #5 0x55ce70693f2a in isis_circuit_up isisd/isis_circuit.c:776
>     #6 0x55ce7069a120 in isis_csm_state_change isisd/isis_csm.c:135
>     #7 0x55ce7068dd80 in isis_circuit_enable isisd/isis_circuit.c:79
>     #8 0x55ce70699346 in isis_ifp_create isisd/isis_circuit.c:1618
>     #9 0x7fdfcb81f47f in hook_call_if_real lib/if.c:55
>     #10 0x7fdfcb82056e in if_new_via_zapi lib/if.c:188
>     #11 0x7fdfcb9d17da in zclient_interface_add lib/zclient.c:2706
>     #12 0x7fdfcb9df842 in zclient_read lib/zclient.c:4843
>     #13 0x7fdfcb97798e in event_call lib/event.c:2011
>     #14 0x7fdfcb842ff1 in frr_run lib/libfrr.c:1216
>     #15 0x55ce7067cbf2 in main isisd/isis_main.c:360
>     #16 0x7fdfcb229d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
>
> Indirect leak of 8 byte(s) in 1 object(s) allocated from:
>     #0 0x7fdfcbeb4a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
>     #1 0x7fdfcb86f8dd in qcalloc lib/memory.c:105
>     #2 0x7fdfcb79a7b7 in admin_group_init lib/admin_group.c:186
>     #3 0x55ce707739ca in isis_tlvs_find_alloc_asla isisd/isis_tlvs.c:8501
>     #4 0x55ce7072fae0 in isis_link_params_update_asla isisd/isis_te.c:191
>     #5 0x55ce70733881 in isis_link_params_update isisd/isis_te.c:499
>     #6 0x55ce70693f2a in isis_circuit_up isisd/isis_circuit.c:776
>     #7 0x55ce7069a120 in isis_csm_state_change isisd/isis_csm.c:135
>     #8 0x55ce7068dd80 in isis_circuit_enable isisd/isis_circuit.c:79
>     #9 0x55ce70699346 in isis_ifp_create isisd/isis_circuit.c:1618
>     #10 0x7fdfcb81f47f in hook_call_if_real lib/if.c:55
>     #11 0x7fdfcb82056e in if_new_via_zapi lib/if.c:188
>     #12 0x7fdfcb9d17da in zclient_interface_add lib/zclient.c:2706
>     #13 0x7fdfcb9df842 in zclient_read lib/zclient.c:4843
>     #14 0x7fdfcb97798e in event_call lib/event.c:2011
>     #15 0x7fdfcb842ff1 in frr_run lib/libfrr.c:1216
>     #16 0x55ce7067cbf2 in main isisd/isis_main.c:360
>     #17 0x7fdfcb229d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

PR: 95719
Fixes: 5749ac83a8 ("isisd: add ASLA support")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2 weeks agolib, staticd, isisd: add B6.Encaps codepoint extensions 18597/head
Philippe Guibert [Mon, 7 Apr 2025 10:35:31 +0000 (12:35 +0200)]
lib, staticd, isisd: add B6.Encaps codepoint extensions

Add codepoint extensions for END.B6.Encaps instruction.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2 weeks agozebra: Add ability to dump routes received from fpm_listener 18641/head
Donald Sharp [Thu, 10 Apr 2025 23:17:54 +0000 (19:17 -0400)]
zebra: Add ability to dump routes received from fpm_listener

The fpm_listener currently has no ability to store the list
of prefixes that it has received.  Modify the code to store
the prefixes in a typesafe RB Tree.  Additionally modify
the code such that when a SIGUSR1 is received to dump
the routes out.  If the operator specifies a -z <filename>
then write the routes to that file.  It will overwrite
the last version of the file written.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 weeks agozebra: modify fpm_listener to display data about nhgs 18640/head
Donald Sharp [Thu, 10 Apr 2025 20:57:10 +0000 (16:57 -0400)]
zebra: modify fpm_listener to display data about nhgs

Currently the fpm_listener completely ignores NHG's.
Let's start dumping some data about the nexthop groups:

[2025-04-10 16:55:12.939235306] FPM message - Type: 1, Length 52
[2025-04-10 16:55:12.939254252] Nexthop Group ID: 9, Protocol: Zebra(11), Contains 1 nexthops, Family: 2, Scope: 0
[2025-04-10 16:55:12.939260564] FPM message - Type: 1, Length 52
[2025-04-10 16:55:12.939263990] Nexthop Group ID: 10, Protocol: Zebra(11), Contains 1 nexthops, Family: 2, Scope: 0
[2025-04-10 16:55:12.939268659] FPM message - Type: 1, Length 56
[2025-04-10 16:55:12.939271635] Nexthop Group ID: 8, Protocol: Zebra(11), Contains 2 nexthops, Family: 0, Scope: 0

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 weeks agoMerge pull request #18376 from pguibert6WIND/show_bgp_neighbor_counter_tx
Donatas Abraitis [Thu, 10 Apr 2025 16:38:59 +0000 (19:38 +0300)]
Merge pull request #18376 from pguibert6WIND/show_bgp_neighbor_counter_tx

bgpd: fix add prefix sent in 'show bgp neighbor'

2 weeks agoMerge pull request #18611 from pguibert6WIND/bgp_usid
Donatas Abraitis [Thu, 10 Apr 2025 16:34:44 +0000 (19:34 +0300)]
Merge pull request #18611 from pguibert6WIND/bgp_usid

bgpd: add usid behavior for bgp srv6 instructions

2 weeks agoMerge pull request #18472 from zmw12306/Update-TLV
Jafar Al-Gharaibeh [Thu, 10 Apr 2025 14:59:13 +0000 (09:59 -0500)]
Merge pull request #18472 from zmw12306/Update-TLV

babeld: Add input validation for update TLV.

2 weeks agoMerge pull request #18548 from zmw12306/request_subtlv_type
Jafar Al-Gharaibeh [Thu, 10 Apr 2025 14:56:14 +0000 (09:56 -0500)]
Merge pull request #18548 from zmw12306/request_subtlv_type

babeld: fix incorrect type assignment in parse_request_subtlv

2 weeks agotools: fix reload script for SRv6 locators and formats 18628/head
Rajasekar Raja [Tue, 8 Apr 2025 22:06:57 +0000 (15:06 -0700)]
tools: fix reload script for SRv6 locators and formats

Current code implementation does not have a "no" form of handling for
the following commands under segment-routing srv6
 - no formats
 - no locators
 - no prefix <> under locator XYZ

Fix the handling of segment-routing srv6 locators and formats commands
 - Ignore "no formats" and "no locators" command
 - replace "no prefix" under locator XYZ as "no locator XYZ" as prefix
   is a mandatory property of locator

Signed-off-by: Rajasekar Raja <rajasekarr@nvidia.com>
2 weeks agotools: Add pathspace option to generate_support_bundle 18635/head
Martin Winter [Thu, 10 Apr 2025 13:58:44 +0000 (15:58 +0200)]
tools: Add pathspace option to generate_support_bundle

Adding a `-N` pathspace option to the generate_support_bundle.py
to support FRR running in a non-default namespace with a prefix
on the config/socket options.
The same pathspace will be prepended to the output log files (if
specified)

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2 weeks agoMerge pull request #18586 from zmw12306/bfd_find_disc
Donald Sharp [Thu, 10 Apr 2025 14:30:05 +0000 (10:30 -0400)]
Merge pull request #18586 from zmw12306/bfd_find_disc

bfdd: Fix demultiplexing to rely solely on Your Discriminator

2 weeks agoMerge pull request #18624 from louis-6wind/remove-afi2family
Donatas Abraitis [Thu, 10 Apr 2025 14:14:08 +0000 (17:14 +0300)]
Merge pull request #18624 from louis-6wind/remove-afi2family

bgpd: remove useless calls to afi2family

2 weeks agoMerge pull request #18594 from soumyar-roy/soumya/netwithdraw
Mark Stapp [Thu, 10 Apr 2025 14:07:32 +0000 (10:07 -0400)]
Merge pull request #18594 from soumyar-roy/soumya/netwithdraw

bgpd: Paths not deleted received from shutdown peer

2 weeks agotests: Fix potential issues in mcast-tester.py 18633/head
Y Bharath [Thu, 10 Apr 2025 11:31:06 +0000 (17:01 +0530)]
tests: Fix potential issues in mcast-tester.py

Fix potential issues in mcast-tester.py

Signed-off-by: y-bharath14 <y.bharath@samsung.com>
2 weeks agobgpd: fix add prefix sent in 'show bgp neighbor' 18376/head
Philippe Guibert [Thu, 13 Mar 2025 10:29:39 +0000 (11:29 +0100)]
bgpd: fix add prefix sent in 'show bgp neighbor'

The 'acceptedPrefixCounter' is available in 'show bgp neighbor json', but
there is no equivalent when using the non json output. Add it.

> # show bgp neighbor
> [..]
>  Community attribute sent to this neighbor(all)
>  0 accepted prefixes, 1 sent prefixes

Fixes: 856ca177c4bb ("Added json formating support to show-...-neighbors-... bgp commands.")
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2 weeks agolib: suppress clang-analyzer false-positives 18540/head
Christian Hopps [Mon, 31 Mar 2025 22:40:38 +0000 (22:40 +0000)]
lib: suppress clang-analyzer false-positives

Signed-off-by: Christian Hopps <chopps@labn.net>
2 weeks agolib: nb: add list_entry_done() callback to free resources
Christian Hopps [Wed, 26 Mar 2025 12:48:54 +0000 (12:48 +0000)]
lib: nb: add list_entry_done() callback to free resources

The existing iteration callback only allows for a daemon to return a
pointer to objects that must already exist and must continue to exists
indefinitely.

To allow the daemon to return allocated iterator objects and for locking
it's container structures we need a callback to tell the daemon when FRR
is done using the returned value, so the daemon can free it (or unlock
etc)

That's what list_entry_done() is for.

Signed-off-by: Christian Hopps <chopps@labn.net>
2 weeks agoMerge pull request #18625 from donaldsharp/bgp_table_init_reverse
Donatas Abraitis [Wed, 9 Apr 2025 21:56:06 +0000 (00:56 +0300)]
Merge pull request #18625 from donaldsharp/bgp_table_init_reverse

bgpd: On shutdown free up table for static routes

2 weeks agotest: Test for bgp route delete 18594/head
Soumya Roy [Mon, 7 Apr 2025 21:38:32 +0000 (21:38 +0000)]
test: Test for bgp route delete

This fix add tests to verify routes/path are getting
deleted properly, when the advertising neighbor is shutdown

Signed-off-by: Soumya Roy <souroy@nvidia.com>
2 weeks agoMerge pull request #18627 from donaldsharp/irdp_shadow
Mark Stapp [Wed, 9 Apr 2025 18:17:36 +0000 (14:17 -0400)]
Merge pull request #18627 from donaldsharp/irdp_shadow

zebra: Fix shadow warning in irdp_packet.c

2 weeks agozebra: Fix shadow warning in irdp_packet.c 18627/head
Donald Sharp [Wed, 9 Apr 2025 16:01:30 +0000 (12:01 -0400)]
zebra: Fix shadow warning in irdp_packet.c

My compiler is complaining about irdp_sock
being a shadow variable.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 weeks agobgpd: Paths, received from shutdown peer, not deleted
Soumya Roy [Mon, 7 Apr 2025 05:36:09 +0000 (05:36 +0000)]
bgpd: Paths, received from shutdown peer, not deleted

Issue:
In a scaled setup, (where number of nets > BGP_CLEARING_BATCH_MAX_DESTS
for walk_batch_table_helper), when peer is shutdown, it is seen some
of the paths are not deleted, which are received from that peer.

Fix:
This is due to, in clear_batch_rib_helper, once walk_batch_table_helper
returns after BGP_CLEARING_BATCH_MAX_DESTS is reached, we just break
from inner loop for the afi/safi for loops. So during walk for next
afi/safi that 'ret' state is overwritten with new state. Also the
resume context is overwritten. This causes to lose the start point
for next walk, some nets are skipped forever. So they are not marked
for deletion anymore. To fix this, we immediately return from current
run. This will have resume state to be stored correctly, and next walk
will start from there.

Testing:
32 ecmp paths were received from the shutdown peer
Before fix:
show bgp ipv6 2052:52:1:167::/64
BGP routing table entry for 2052:52:1:167::/64, version 495
Paths: (246 available, best #127, table default)
  Not advertised to any peer

<snip>
  4200165500 4200165002
    2021:21:51:101::2(spine-5) from spine-5(2021:21:51:101::2) (6.0.0.17)
    (fe80::202:ff:fe00:55) (prefer-global)
      Origin incomplete, valid, external, multipath
      Last update: Fri Apr  4 17:25:05 2025
  4200165500 4200165002
    2021:21:11:116::2(spine-1) from spine-1(2021:21:11:116::2) (0.0.0.0)
    (fe80::202:ff:fe00:3d) (prefer-global)<<<<path not deleted
      Origin incomplete, valid, external
      Last update: Fri Apr  4 17:25:05 2025
  4200165500 4200165002
    2021:21:11:115::2(spine-1) from spine-1(2021:21:11:115::2) (0.0.0.0)
    (fe80::202:ff:fe00:3d) (prefer-global)<<<<path not deleted
      Origin incomplete, valid, external
      Last update: Fri Apr  4 17:25:05 2025
<snip>

 32 paths are supposed to be withdrawn:
root@leaf-1:mgmt:# vtysh -c "show bgp ipv6 2052:52:1:167::/64" | grep "prefer-global" | wc -l
256
root@leaf-1:mgmt# vtysh -c "show bgp ipv6 2052:52:1:167::/64" | grep "prefer-global" | wc -l
246<<should be 224, but showing 246, which is wrong
After fix:
 32 paths are supposed to be withdrawn:
root@leaf-1:mgmt:# vtysh -c "show bgp ipv6 2052:52:1:167::/64" | grep "prefer-global" | wc -l
256
root@leaf-1:mgmt:# vtysh -c "show bgp ipv6 2052:52:1:167::/64" | grep "prefer-global" | wc -l
224<<<shows correctly

Signed-off-by: Soumya Roy <souroy@nvidia.com>
2 weeks agoMerge pull request #18601 from LabNConsulting/chopps/mgmtd-candidate-overwrite
Mark Stapp [Wed, 9 Apr 2025 13:51:47 +0000 (09:51 -0400)]
Merge pull request #18601 from LabNConsulting/chopps/mgmtd-candidate-overwrite

mgmtd: remove bogus "hedge" code which corrupted active candidate DS

2 weeks agobgpd: On shutdown free up table for static routes 18625/head
Donald Sharp [Wed, 9 Apr 2025 13:28:31 +0000 (09:28 -0400)]
bgpd: On shutdown free up table for static routes

Indirect leak of 56 byte(s) in 1 object(s) allocated from:
    0 0x7fdaf6cb83b7 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
    1 0x7fdaf683a480 in qcalloc lib/memory.c:106
    2 0x7fdaf68dd706 in route_table_init_with_delegate lib/table.c:38
    3 0x5649b22c05b0 in bgp_table_init bgpd/bgp_table.c:139
    4 0x5649b2273da0 in bgp_static_set bgpd/bgp_route.c:7779
    5 0x5649b21eba58 in vpnv4_network bgpd/bgp_mplsvpn.c:3244
    6 0x7fdaf67b6d61 in cmd_execute_command_real lib/command.c:1003
    7 0x7fdaf67b7080 in cmd_execute_command lib/command.c:1062
    8 0x7fdaf67b75ac in cmd_execute lib/command.c:1228
    9 0x7fdaf68ffb20 in vty_command lib/vty.c:626
    10 0x7fdaf6900073 in vty_execute lib/vty.c:1389
    11 0x7fdaf6903e24 in vtysh_read lib/vty.c:2408
    12 0x7fdaf68f0222 in event_call lib/event.c:2019
    13 0x7fdaf681b3c6 in frr_run lib/libfrr.c:1247
    14 0x5649b211c903 in main bgpd/bgp_main.c:565
    15 0x7fdaf630c249 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

Table was being created but never deleted.  Let's delete it.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 weeks agobgpd: remove useless calls to afi2family 18624/head
Louis Scalbert [Wed, 9 Apr 2025 11:06:36 +0000 (13:06 +0200)]
bgpd: remove useless calls to afi2family

Remove useless calls to afi2family(). str2prefix() always sets the
prefix family.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2 weeks agoMerge pull request #18604 from y-bharath14/srib-yang-v9
Christian Hopps [Wed, 9 Apr 2025 10:24:22 +0000 (06:24 -0400)]
Merge pull request #18604 from y-bharath14/srib-yang-v9

yang: Pyang errors in frr-bfdd.yang

2 weeks agomgmtd: normalize argument order to copy(dst, src) 18601/head
Christian Hopps [Tue, 8 Apr 2025 05:55:03 +0000 (05:55 +0000)]
mgmtd: normalize argument order to copy(dst, src)

Having just completed a code audit during RCA, the fact that we have 2
different argument orders for the related datastore copying functions
was unnecessary and super confusing.

Fix this code-maintenance/comprehension mistake and move the newer mgmtd
copy routines to use the same arg order as the pre-existing underlying
northbound copy functions (i.e., use `copy(dst, src)`)

Signed-off-by: Christian Hopps <chopps@labn.net>
2 weeks agoMerge pull request #17915 from mjstapp/compile_wshadow
David Lamparter [Wed, 9 Apr 2025 07:59:06 +0000 (09:59 +0200)]
Merge pull request #17915 from mjstapp/compile_wshadow

2 weeks agoMerge pull request #18614 from donaldsharp/bgp_memory_fixes_vrf_different_asn
Jafar Al-Gharaibeh [Tue, 8 Apr 2025 19:31:15 +0000 (14:31 -0500)]
Merge pull request #18614 from donaldsharp/bgp_memory_fixes_vrf_different_asn

bgpd: On shutdown free up memory leak found by topotest

2 weeks agolib,ripd: resolve clang SA warnings 17915/head
Mark Stapp [Thu, 27 Mar 2025 19:16:05 +0000 (15:16 -0400)]
lib,ripd: resolve clang SA warnings

Looks like there were a couple of SA warnings lurking; fix
them.

Signed-off-by: Mark Stapp <mjs@cisco.com>
2 weeks agotests: clean up variable-shadow warnings
Mark Stapp [Thu, 27 Mar 2025 17:29:24 +0000 (13:29 -0400)]
tests: clean up variable-shadow warnings

Clean up -Wshadow warnings in unit-tests

Signed-off-by: Mark Stapp <mjs@cisco.com>
2 weeks agotools,pceplib,ospfclient: clean up variable-shadow warnings
Mark Stapp [Thu, 27 Mar 2025 16:56:28 +0000 (12:56 -0400)]
tools,pceplib,ospfclient: clean up variable-shadow warnings

Clean up -Wshadow warnings in these components

Signed-off-by: Mark Stapp <mjs@cisco.com>
2 weeks agopbrd,staticd,vrrpd: clean up variable-shadow warnings
Mark Stapp [Thu, 27 Mar 2025 15:18:34 +0000 (11:18 -0400)]
pbrd,staticd,vrrpd: clean up variable-shadow warnings

Clean up -Wshadow warnings in three daemons

Signed-off-by: Mark Stapp <mjs@cisco.com>
2 weeks agosharpd: clean up variable-shadowing compiler warnings
Mark Stapp [Thu, 27 Mar 2025 15:08:51 +0000 (11:08 -0400)]
sharpd: clean up variable-shadowing compiler warnings

Clean up -Wshadow in sharpd

Signed-off-by: Mark Stapp <mjs@cisco.com>
2 weeks agobgpd: clean up variable-shadowing compiler warnings
Mark Stapp [Thu, 27 Mar 2025 12:56:43 +0000 (08:56 -0400)]
bgpd: clean up variable-shadowing compiler warnings

Clean up -Wshadow warnings in bgp.

Signed-off-by: Mark Stapp <mjs@cisco.com>
2 weeks agopimd: clean up variable-shadow warnings
Mark Stapp [Wed, 26 Mar 2025 19:27:09 +0000 (15:27 -0400)]
pimd: clean up variable-shadow warnings

Clean up -Wshadow warnings in pimd

Signed-off-by: Mark Stapp <mjs@cisco.com>
2 weeks agozebra: clean up -Wshadow compiler warnings
Mark Stapp [Wed, 26 Mar 2025 18:54:30 +0000 (14:54 -0400)]
zebra: clean up -Wshadow compiler warnings

Clean up variable-shadowing compiler warnings.

Signed-off-by: Mark Stapp <mjs@cisco.com>