]> git.puffer.fish Git - mirror/frr.git/log
mirror/frr.git
19 hours agoMerge pull request #18731 from donaldsharp/no_returns_some_more
Mark Stapp [Mon, 28 Apr 2025 20:53:26 +0000 (16:53 -0400)]
Merge pull request #18731 from donaldsharp/no_returns_some_more

*: Allow returns to work with --enable-undefined-behavior

20 hours agoMerge pull request #18730 from y-bharath14/srib-tests-v14
Donald Sharp [Mon, 28 Apr 2025 19:24:42 +0000 (15:24 -0400)]
Merge pull request #18730 from y-bharath14/srib-tests-v14

tests: Proper handling of resource allocation

22 hours ago*: Allow returns to work with --enable-undefined-behavior 18731/head
Donald Sharp [Mon, 28 Apr 2025 18:05:28 +0000 (14:05 -0400)]
*: 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>
28 hours agoMerge pull request #18704 from Pdoijode/pdoijode/zapi-cancel-new-accept
Russ White [Mon, 28 Apr 2025 11:43:33 +0000 (07:43 -0400)]
Merge pull request #18704 from Pdoijode/pdoijode/zapi-cancel-new-accept

zebra: Cancel new client accept events after zsock is closed

35 hours agotests: Proper handling of resource allocation 18730/head
Y Bharath [Mon, 28 Apr 2025 04:47:31 +0000 (10:17 +0530)]
tests: Proper handling of resource allocation

Ensure proper handling of resource allocation

Signed-off-by: y-bharath14 <y.bharath@samsung.com>
3 days agozebra: Change zserv_accept to use global zsock FD 18704/head
Pooja Jagadeesh Doijode [Thu, 24 Apr 2025 18:27:53 +0000 (11:27 -0700)]
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>
4 days agoMerge pull request #18690 from karthikeyav/multipath_num_check_nhg
Mark Stapp [Fri, 25 Apr 2025 15:31:48 +0000 (11:31 -0400)]
Merge pull request #18690 from karthikeyav/multipath_num_check_nhg

*: Fix MULTIPATH_NUM check in nhg encode

4 days agoMerge pull request #18720 from mjstapp/compile_wnoreturn
Donald Sharp [Fri, 25 Apr 2025 13:35:27 +0000 (09:35 -0400)]
Merge pull request #18720 from mjstapp/compile_wnoreturn

*: enable the missing-noreturn compiler warning

4 days agoMerge pull request #18709 from donaldsharp/nhe_afi_max
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`

4 days agoMerge pull request #18708 from louis-6wind/rework_bgp_evpn_rt5
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

4 days agobuild: missing-noreturn warnings are errors 18720/head
Mark Stapp [Thu, 24 Apr 2025 15:41:04 +0000 (11:41 -0400)]
build: missing-noreturn warnings are errors

Remove the temporary 'no-error' for the newly-added warning.

Signed-off-by: Mark Stapp <mjs@cisco.com>
4 days ago*: expose and clean up 'noreturn' functions
Mark Stapp [Thu, 24 Apr 2025 15:39:33 +0000 (11:39 -0400)]
*: 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>
5 days agoMerge pull request #18652 from donaldsharp/pim_ssmpingd
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

5 days agoMerge pull request #18716 from y-bharath14/srib-yang-v11
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

5 days agotests: bgp_evpn_rt5 test match evpn vni 18708/head
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>
5 days agotests: bgp_evpn_rt5 rename router variables
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>
5 days agotests: bgp_evpn_rt5 reformat configuration commands
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>
5 days agotests: bgp_evpn_rt5 rename vrfs
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>
5 days agotests: bgp_evpn_rt5 re-address rd and rt
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>
5 days agotests: bgp_evpn_rt5 don't check for file presence
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>
5 days agotests: bgp_evpn_rt5 reformat setup_module
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>
5 days agotests: bgp_evpn_rt5 remove useless switches
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>
5 days agotests: bgp_evpn_rt5 re-address overlay
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>
5 days agotests: bgp_evpn_rt5 re-address underlay
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>
5 days agotests: remove r3 from bgp_evpn_rt5
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>
5 days agoyang: Fix pyang errors in frr-interface.yang 18716/head
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>
5 days agoMerge pull request #18672 from usrivastava-nvidia/master
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

5 days agodocker: add ssmping to the the ubuntu docker images 18652/head 18713/head
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>
5 days agodoc: Document new test dependancy
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>
5 days agotests: Add a simple ssmping test to the system
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>
5 days agotests: Convert pim_basic to use integrated configuration
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>
5 days agopimd: Allow ssmpingd command to work for pim
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>
6 days agozebra: Display nhg's afi as `No Afi` 18709/head
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>
6 days agopimd: Fix for crash during networking restart 18672/head
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>
6 days agoMerge pull request #18691 from valentinbinotto/valentin-dev
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)

6 days agoMerge pull request #18677 from chdxD1/fix-rmac-nhlist
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

6 days agoMerge pull request #16836 from cscarpitta/feature/srv6-show-sids
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

6 days agoMerge pull request #18656 from leonshaw/evpn-strip-ecom
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

6 days agoMerge pull request #18703 from donaldsharp/line_vty
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

6 days agodoc: line vty was not documented 18703/head
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>
6 days agoMerge pull request #18694 from petrvaganoff/dev
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

6 days agoMerge pull request #18698 from y-bharath14/srib-tests-v13
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

7 days agodoc: Updated the default for VTYSH_PAGER if unset in user docs 18691/head
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>
7 days agoMerge pull request #18683 from LabNConsulting/chopps/notif-improve
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)

7 days agotests: remove ipv4 and ipv6 in bgp_evpn_rt5 18677/head
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>
7 days agozebra: add vtep_ip to rmac nh_list in all cases
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>
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 agotests: Shadowing the built-in function 18698/head
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>
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>
7 days ago*: Fix MULTIPATH_NUM check in nhg encode 18690/head
Karthikeya Venkat Muppalla [Fri, 18 Apr 2025 18:39:40 +0000 (11:39 -0700)]
*: Fix MULTIPATH_NUM check in nhg encode

In zapi_nhg_encode we check if number of paths are >=
MULTIPATH_NUM, the condition should be just checking if it is > not >=

Signed-off-by: Karthikeya Venkat Muppalla <kmuppalla@nvidia.com>
7 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

8 days agobgpd: Fix deref after free in bgp_vrf_unlink 18694/head
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>
8 days agolib: nb_notif: notification selectors sorted with no dups 18683/head
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>
8 days agomgmtd: validate notify selectors to be xpaths that result to nodes
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>
8 days agolib: mgmt backend: add refer_id to notification message
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>
8 days agolib: darr: add string search macros
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>
10 days agozebra: Fix missing blank line checkpatch warning 16836/head
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>
10 days agodoc: Add example for show specific SID CLI
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>
10 days agodoc: Add example for show SIDs CLI
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>
10 days agodoc: Add documentation for show SIDs command
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>
10 days agozebra: Add CLI to display SRv6 SIDs allocated
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>
10 days agoisisd: Pass ifindex when releasing End.X SIDs
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>
10 days agoisisd: Pass ifindex when allocate End.X SIDs
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>
10 days agolib: darr: use unique variable names in insert macro
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>
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 agotopotests: Add check of imported routes for bgp_evpn_rt5 18656/head
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>
11 days agobgpd: Clean extended communities for VRF routes imported from EVPN
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>
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>
13 days 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>
13 days 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 agobgpd: Add function to filter extended communities
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>
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