]>
git.puffer.fish Git - mirror/frr.git/log
Donatas Abraitis [Fri, 25 Apr 2025 00:51:04 +0000 (17:51 -0700)]
Merge pull request #18709 from donaldsharp/nhe_afi_max
zebra: Display nhg's afi as `No Afi`
Donatas Abraitis [Fri, 25 Apr 2025 00:49:54 +0000 (17:49 -0700)]
Merge pull request #18708 from louis-6wind/rework_bgp_evpn_rt5
topotests: clarify bgp evpn rt5
Jafar Al-Gharaibeh [Thu, 24 Apr 2025 15:52:48 +0000 (10:52 -0500)]
Merge pull request #18652 from donaldsharp/pim_ssmpingd
Fix Pim ssmpingd
Mark Stapp [Thu, 24 Apr 2025 12:01:39 +0000 (08:01 -0400)]
Merge pull request #18716 from y-bharath14/srib-yang-v11
yang: Fix pyang errors in frr-interface.yang
Louis Scalbert [Thu, 24 Apr 2025 09:06:10 +0000 (11:06 +0200)]
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>
Louis Scalbert [Wed, 23 Apr 2025 13:47:14 +0000 (15:47 +0200)]
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>
Louis Scalbert [Wed, 23 Apr 2025 11:39:13 +0000 (13:39 +0200)]
tests: bgp_evpn_rt5 reformat configuration commands
Reformat configuration commands in human readable style.
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Louis Scalbert [Wed, 23 Apr 2025 11:16:32 +0000 (13:16 +0200)]
tests: bgp_evpn_rt5 rename vrfs
No need to prefix with the router name.
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Louis Scalbert [Wed, 23 Apr 2025 11:15:01 +0000 (13:15 +0200)]
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>
Louis Scalbert [Wed, 23 Apr 2025 10:51:30 +0000 (12:51 +0200)]
tests: bgp_evpn_rt5 don't check for file presence
They are always there.
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Louis Scalbert [Wed, 23 Apr 2025 10:36:50 +0000 (12:36 +0200)]
tests: bgp_evpn_rt5 reformat setup_module
Cosmetic change for clarity
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Louis Scalbert [Wed, 23 Apr 2025 10:24:35 +0000 (12:24 +0200)]
tests: bgp_evpn_rt5 remove useless switches
They are not used.
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Louis Scalbert [Wed, 23 Apr 2025 09:24:51 +0000 (11:24 +0200)]
tests: bgp_evpn_rt5 re-address overlay
for clarity
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Louis Scalbert [Wed, 23 Apr 2025 09:49:13 +0000 (11:49 +0200)]
tests: bgp_evpn_rt5 re-address underlay
for clarity.
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Louis Scalbert [Wed, 23 Apr 2025 09:46:33 +0000 (11:46 +0200)]
tests: remove r3 from bgp_evpn_rt5
It is not used at all.
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Y Bharath [Thu, 24 Apr 2025 06:42:12 +0000 (12:12 +0530)]
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>
Jafar Al-Gharaibeh [Thu, 24 Apr 2025 04:17:45 +0000 (23:17 -0500)]
Merge pull request #18672 from usrivastava-nvidia/master
pimd: Fix for crash during networking restart
Donald Sharp [Wed, 23 Apr 2025 17:57:21 +0000 (13:57 -0400)]
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>
Donald Sharp [Mon, 14 Apr 2025 13:07:54 +0000 (09:07 -0400)]
doc: Document new test dependancy
ssmping is needed to test the ssmpingd in the pimd daemon.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Sun, 13 Apr 2025 17:47:00 +0000 (13:47 -0400)]
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>
Donald Sharp [Sun, 13 Apr 2025 17:01:39 +0000 (13:01 -0400)]
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>
Donald Sharp [Sun, 13 Apr 2025 16:47:44 +0000 (12:47 -0400)]
pimd: Allow ssmpingd command to work for pim
Commit:
1c56018f66723a5ea478f0d6607a8f81f4d6ada5
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>
Donald Sharp [Wed, 23 Apr 2025 16:00:55 +0000 (12:00 -0400)]
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>
Utkarsh Srivastava [Thu, 10 Apr 2025 05:49:34 +0000 (22:49 -0700)]
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>
Donald Sharp [Wed, 23 Apr 2025 13:23:12 +0000 (09:23 -0400)]
Merge pull request #18691 from valentinbinotto/valentin-dev
doc: state correct default behaviour of VTYSH_PAGER env if unset (vtysh manpage)
Philippe Guibert [Wed, 23 Apr 2025 13:07:01 +0000 (15:07 +0200)]
Merge pull request #18677 from chdxD1/fix-rmac-nhlist
zebra: add vtep_ip to rmac nh_list in all cases
Donatas Abraitis [Wed, 23 Apr 2025 02:22:27 +0000 (05:22 +0300)]
Merge pull request #16836 from cscarpitta/feature/srv6-show-sids
zebra: Add CLI to display SRv6 SIDs allocated
Donatas Abraitis [Wed, 23 Apr 2025 02:21:26 +0000 (05:21 +0300)]
Merge pull request #18656 from leonshaw/evpn-strip-ecom
bgpd: Clean extended communities for VRF routes imported from EVPN
Donatas Abraitis [Wed, 23 Apr 2025 02:08:39 +0000 (05:08 +0300)]
Merge pull request #18703 from donaldsharp/line_vty
doc: line vty was not documented
Donald Sharp [Tue, 22 Apr 2025 19:18:41 +0000 (15:18 -0400)]
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>
Donald Sharp [Tue, 22 Apr 2025 16:27:00 +0000 (12:27 -0400)]
Merge pull request #18694 from petrvaganoff/dev
bgpd: Fix deref after free in bgp_vrf_unlink
Donald Sharp [Tue, 22 Apr 2025 16:23:56 +0000 (12:23 -0400)]
Merge pull request #18698 from y-bharath14/srib-tests-v13
tests: Shadowing the built-in function
Valentin Binotto [Tue, 22 Apr 2025 16:01:41 +0000 (16:01 +0000)]
doc: Updated the default for VTYSH_PAGER if unset in user docs
Signed-off-by: Valentin Binotto <git.8c400bab53f220f13efe0112c1ea2f96@v434project.com>
Russ White [Tue, 22 Apr 2025 15:27:16 +0000 (11:27 -0400)]
Merge pull request #18683 from LabNConsulting/chopps/notif-improve
Improve notification selectors (sort, eliminate dups)
Christopher Dziomba [Tue, 22 Apr 2025 15:25:57 +0000 (17:25 +0200)]
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>
Christopher Dziomba [Thu, 17 Apr 2025 08:41:06 +0000 (10:41 +0200)]
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>
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
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
Y Bharath [Tue, 22 Apr 2025 09:33:36 +0000 (15:03 +0530)]
tests: Shadowing the built-in function
Shadowing the built-in function in lutil.py
Signed-off-by: y-bharath14 <y.bharath@samsung.com>
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)
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>
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
Petr Vaganov [Mon, 21 Apr 2025 15:52:24 +0000 (20:52 +0500)]
bgpd: Fix deref after free in bgp_vrf_unlink
Found by the static analyzer Svace (ISP RAS): DEREF_AFTER_FREE -
Pointer '&bgp->vrf_id' is dereferenced after the referenced memory
was deallocated by passing as 1st parameter to function 'bgp_unlock'.
Signed-off-by: Petr Vaganov <petrvaganoff@gmail.com>
Christian Hopps [Tue, 1 Apr 2025 03:18:42 +0000 (03:18 +0000)]
lib: nb_notif: notification selectors sorted with no dups
Signed-off-by: Christian Hopps <chopps@labn.net>
Christian Hopps [Tue, 1 Apr 2025 03:05:02 +0000 (03:05 +0000)]
mgmtd: validate notify selectors to be xpaths that result to nodes
Also, only message interested backend clients about a path removal when last
supporting session is being removed from a given notification path.
Signed-off-by: Christian Hopps <chopps@labn.net>
Christian Hopps [Tue, 1 Apr 2025 03:03:18 +0000 (03:03 +0000)]
lib: mgmt backend: add refer_id to notification message
Signed-off-by: Christian Hopps <chopps@labn.net>
Christian Hopps [Fri, 18 Apr 2025 12:32:34 +0000 (12:32 +0000)]
lib: darr: add string search macros
Add macros to support searching for and finding (perhaps closest) matches
for a key in an array of strings.
Signed-off-by: Christian Hopps <chopps@labn.net>
Carmine Scarpitta [Sun, 22 Sep 2024 14:40:30 +0000 (16:40 +0200)]
zebra: Fix missing blank line checkpatch warning
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Sun, 15 Sep 2024 21:14:54 +0000 (23:14 +0200)]
doc: Add example for show specific SID CLI
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Sun, 15 Sep 2024 21:14:41 +0000 (23:14 +0200)]
doc: Add example for show SIDs CLI
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Sun, 15 Sep 2024 21:14:10 +0000 (23:14 +0200)]
doc: Add documentation for show SIDs command
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Sun, 15 Sep 2024 20:33:39 +0000 (22:33 +0200)]
zebra: Add CLI to display SRv6 SIDs allocated
```
router# show segment-routing srv6 sid
SID Behavior Context Daemon/Instance Locator Allocation Type
-------------------- ---------- --------------------- ----------------- --------- -----------------
fcbb:bbbb:1:: uN - isis(0) MAIN dynamic
fcbb:bbbb:1:fe00:: uDT6 VRF 'vrf10' bgp(0) MAIN dynamic
fcbb:bbbb:1:fe01:: uDT6 VRF 'vrf20' bgp(0) MAIN dynamic
fcbb:bbbb:1:e000:: uA Interface 'eth-sw1' isis(0) MAIN dynamic
fcbb:bbbb:1:e001:: uA Interface 'eth-sw1' isis(0) MAIN dynamic
```
```
router# show segment-routing srv6 sid json
{
"fc00:0:1::":{
"sid":"fc00:0:1::",
"behavior":"uN",
"context":{},
"locator":"loc1",
"allocationMode":"dynamic",
"clients":[
{
"proto":"isis",
"instance":0
}
]
},
"fc00:0:1:1::":{
"sid":"fc00:0:1:1::",
"behavior":"uA",
"context":{
"interfaceIndex":2,
"interfaceName":"eth-sw1",
"nexthopIpv6Address":"fe80::4423:f3ff:fe8b:fed"
},
"locator":"loc1",
"allocationMode":"dynamic",
"clients":[
{
"proto":"isis",
"instance":0
}
]
},
"fc00:0:1:2::":{
"sid":"fc00:0:1:2::",
"behavior":"uA",
"context":{
"interfaceIndex":2,
"interfaceName":"eth-sw1",
"nexthopIpv6Address":"fe80::9005:fdff:fe18:1237"
},
"locator":"loc1",
"allocationMode":"dynamic",
"clients":[
{
"proto":"isis",
"instance":0
}
]
}
}
```
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Sat, 5 Oct 2024 14:59:00 +0000 (16:59 +0200)]
isisd: Pass ifindex when releasing End.X SIDs
When isisd releases an End.X SID it should also pass the interface
index down to zebra.
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Mon, 24 Jun 2024 18:30:28 +0000 (20:30 +0200)]
isisd: Pass ifindex when allocate End.X SIDs
When isisd allocates an End.X SID it should also pass the interface
index down to zebra.
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Christian Hopps [Fri, 18 Apr 2025 12:19:36 +0000 (12:19 +0000)]
lib: darr: use unique variable names in insert macro
- Missed insert mcaro when fixing the other macros.
- Also, actually use `MT` argument in the mt variant insert macros
Signed-off-by: Christian Hopps <chopps@labn.net>
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
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>
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>
Xiao Liang [Tue, 15 Apr 2025 08:34:20 +0000 (16:34 +0800)]
topotests: Add check of imported routes for bgp_evpn_rt5
In bgp_evpn_rt5, check if EVPN routes are correctly imported to VRF.
Note that EVPN and RT extended communities should have been stripped.
Signed-off-by: Xiao Liang <shaw.leon@gmail.com>
Xiao Liang [Fri, 11 Apr 2025 10:04:50 +0000 (18:04 +0800)]
bgpd: Clean extended communities for VRF routes imported from EVPN
According to draft-ietf-bess-evpn-ipvpn-interworking-13, strip
the following extended communities for VRF routes imported from EVPN.
a. BGP Encapsulation extended communities.
b. Route Target extended communities.
c. All the extended communities of type EVPN.
As the corresponding fields will not be always covered by extended
communities, add them to attr hash key directly.
Signed-off-by: Xiao Liang <shaw.leon@gmail.com>
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
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
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
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>
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>
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>
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
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
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
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
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
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>
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>
David Lamparter [Wed, 16 Apr 2025 08:49:13 +0000 (10:49 +0200)]
Merge pull request #18662 from mjstapp/fix_test_nb_endian
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>
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>
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>
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>
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
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
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
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>
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>
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>
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
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>
Xiao Liang [Fri, 11 Apr 2025 07:28:54 +0000 (15:28 +0800)]
bgpd: Add function to filter extended communities
Support filtering extended communities with a callback. So that we can
strip multiple values in one pass.
Signed-off-by: Xiao Liang <shaw.leon@gmail.com>
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
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
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
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>
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
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>
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>
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>
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>
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>
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>
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>
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>