]> git.puffer.fish Git - mirror/frr.git/log
mirror/frr.git
5 months agobgpd: Do not reset peers on suppress-fib toggling 17487/head
Donatas Abraitis [Fri, 22 Nov 2024 08:30:37 +0000 (10:30 +0200)]
bgpd: Do not reset peers on suppress-fib toggling

If the desired state is the same - do nothing instead of resetting once again.

Fixes: bdb5ae8bce94432eb5e581f04f48dc4aa5db7ca4 ("bgpd: Make suppress-fib-pending clear peering")
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
5 months agoMerge pull request #17477 from donaldsharp/topo_connected_installed
Jafar Al-Gharaibeh [Thu, 21 Nov 2024 20:28:23 +0000 (14:28 -0600)]
Merge pull request #17477 from donaldsharp/topo_connected_installed

tests: Ensure connected routes are installed before continuing

5 months agoMerge pull request #17473 from donaldsharp/bgp_bmp_and_its_ilk
Jafar Al-Gharaibeh [Thu, 21 Nov 2024 20:17:48 +0000 (14:17 -0600)]
Merge pull request #17473 from donaldsharp/bgp_bmp_and_its_ilk

Bgp bfd and its ilk

5 months agoMerge pull request #17340 from nabahr/mapping-agent
Rafael Zalamena [Thu, 21 Nov 2024 19:10:42 +0000 (16:10 -0300)]
Merge pull request #17340 from nabahr/mapping-agent

PIMD: Implement AutoRP mapping-agent

5 months agoMerge pull request #17469 from opensourcerouting/msdp-logs
Donald Sharp [Thu, 21 Nov 2024 18:45:58 +0000 (13:45 -0500)]
Merge pull request #17469 from opensourcerouting/msdp-logs

pimd: MSDP logging improvements

5 months agoMerge pull request #17476 from donaldsharp/support_bundle_isis
Mark Stapp [Thu, 21 Nov 2024 18:15:51 +0000 (13:15 -0500)]
Merge pull request #17476 from donaldsharp/support_bundle_isis

Support bundle isis

5 months agoMerge pull request #17436 from LabNConsulting/aceelindem/ospf-multi-instance-default
Russ White [Thu, 21 Nov 2024 17:20:26 +0000 (09:20 -0800)]
Merge pull request #17436 from LabNConsulting/aceelindem/ospf-multi-instance-default

ospfd: OSPF multi-instance default origination fixes

5 months agotests: Ensure connected routes are installed before continuing 17477/head
Donald Sharp [Thu, 21 Nov 2024 14:26:52 +0000 (09:26 -0500)]
tests: Ensure connected routes are installed before continuing

Upon high load the ospf_instance_redistribute test can attempt
to install routes with sharpd before the connected routes have
fully baked themselves into zebra.  Since sharpd intentionally
has no retry mechanism we need to ensure that the test is waiting
a small bit.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
5 months agotools: Add pim msdp show commands to support bundle 17476/head
Donald Sharp [Thu, 21 Nov 2024 14:16:14 +0000 (09:16 -0500)]
tools: Add pim msdp show commands to support bundle

The support bundle was not gathering any msdp data
for pim at all.  Let's add a bit to allow us to
have more data here when a suppport bundle is generated

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
5 months agotools: Add zebra label show commands to support bundle
Donald Sharp [Thu, 21 Nov 2024 14:15:22 +0000 (09:15 -0500)]
tools: Add zebra label show commands to support bundle

There were no zebra show commands related to mpls labels
being generated for support bundles.  Let's rectify that
situation.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
5 months agotools: Add isis command generation to support bundle
Donald Sharp [Thu, 21 Nov 2024 14:14:19 +0000 (09:14 -0500)]
tools: Add isis command generation to support bundle

When a support bundle is created no isis commands were
issued to attempt to gather data about what is going
on in isis.  Let's rectify that

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
5 months agotools: Add bmp command to support bundle generation
Donald Sharp [Thu, 21 Nov 2024 14:13:24 +0000 (09:13 -0500)]
tools: Add bmp command to support bundle generation

Add a bit of bmp data gathering for bgp support bundle generation

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
5 months agotopotests: test new log toggle 17469/head
Rafael Zalamena [Thu, 21 Nov 2024 13:23:37 +0000 (10:23 -0300)]
topotests: test new log toggle

Test MSDP new log toggle: the MSDP peer connection state and SA events
should be logged.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
5 months agopimd,yang: log MSDP SA events
Rafael Zalamena [Thu, 26 May 2022 14:22:27 +0000 (11:22 -0300)]
pimd,yang: log MSDP SA events

Add new command to log all SA events.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
5 months agopimd,yang: log MSDP neighbor events
Rafael Zalamena [Thu, 26 May 2022 12:54:27 +0000 (09:54 -0300)]
pimd,yang: log MSDP neighbor events

Move MSDP neighbor events global debug to per PIM instance.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
5 months agoMerge pull request #17468 from opensourcerouting/msdp-tweaks
Jafar Al-Gharaibeh [Thu, 21 Nov 2024 03:56:14 +0000 (21:56 -0600)]
Merge pull request #17468 from opensourcerouting/msdp-tweaks

pimd: two small improvements

5 months agobgpd: Allow bfd to work if peer known but interface address not yet 17473/head
Donald Sharp [Wed, 20 Nov 2024 21:07:34 +0000 (16:07 -0500)]
bgpd: Allow bfd to work if peer known but interface address not yet

If bgp is coming up and bgp has not received the interface address yet
but bgp has knowledge about a bfd peering, allow it to set the peering
data appropriately.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
5 months agotests: zebra_fec_nexthop_resolution improve
Donald Sharp [Wed, 20 Nov 2024 14:22:46 +0000 (09:22 -0500)]
tests: zebra_fec_nexthop_resolution improve

a) timers are really large preventing convergence in 30 seconds
b) The same configuration does not need to be initiated 60 times
when things are not working properly.  Once is enough.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
5 months agobgpd: bgp_connect should return an `enum connect_result`
Donald Sharp [Wed, 20 Nov 2024 14:18:39 +0000 (09:18 -0500)]
bgpd: bgp_connect should return an `enum connect_result`

This function when it is run by bgp_start is expected
to return a `enum connect_result`.  But instead
the function returns a variety of values that are
not really being checked for.  Consolidate to a correct
choice.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
5 months agoMerge pull request #17464 from mjstapp/fix_bfdd_dplane_client_conn
Rafael Zalamena [Wed, 20 Nov 2024 15:35:13 +0000 (12:35 -0300)]
Merge pull request #17464 from mjstapp/fix_bfdd_dplane_client_conn

bfdd: retain remote dplane client socket

5 months agopimd: constify peer lookup function 17468/head
Rafael Zalamena [Fri, 8 Jul 2022 19:09:10 +0000 (16:09 -0300)]
pimd: constify peer lookup function

Make parameter `const` to document that the variable will not change.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
5 months agopimd: remove temporary variables from MSDP peer
Rafael Zalamena [Fri, 27 May 2022 20:15:46 +0000 (17:15 -0300)]
pimd: remove temporary variables from MSDP peer

Remove from MSDP peer data structure two temporary variables
that should only be used when calling library functions.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
5 months agotests: PIM AutoRP tests expanded 17340/head
Nathan Bahr [Fri, 1 Nov 2024 19:15:52 +0000 (19:15 +0000)]
tests: PIM AutoRP tests expanded

Now with a full AutoRP implementation, we can test AutoRP in a full network setup
beginning with candidate RP announcements all the way through discovery and active RP
selection.

Signed-off-by: Nathan Bahr <nbahr@atcorp.com>
5 months agopimd: Implement autorp mapping agent
Nathan Bahr [Fri, 1 Nov 2024 19:14:47 +0000 (19:14 +0000)]
pimd: Implement autorp mapping agent

Fully flushed out the AutoRP implementation now with the AutoRP mapping agent.
This touched most of AutoRP in order to have common reuse of containers for each
section of AutoRP operation (Candidate RP announcement, Mapping agent, Discovery).
Many debugs had guards added and many more debug logs added.

Signed-off-by: Nathan Bahr <nbahr@atcorp.com>
5 months agopimd: Implement autorp mapping agent CLI
Nathan Bahr [Fri, 1 Nov 2024 19:11:14 +0000 (19:11 +0000)]
pimd: Implement autorp mapping agent CLI

Also exposes BSR cand_addrsel methods for use in AutoRP.

Signed-off-by: Nathan Bahr <nbahr@atcorp.com>
5 months agopimd,yang: Add PIMD northbound/yang for AutoRP mapping agent
Nathan Bahr [Fri, 1 Nov 2024 19:09:37 +0000 (19:09 +0000)]
pimd,yang: Add PIMD northbound/yang for AutoRP mapping agent

Reuses the candidate selection logic from BSR configuration

Signed-off-by: Nathan Bahr <nbahr@atcorp.com>
5 months agobfdd: retain remote dplane client socket 17464/head
Mark Stapp [Tue, 19 Nov 2024 19:54:06 +0000 (14:54 -0500)]
bfdd: retain remote dplane client socket

When using bfd in remote-dataplane client mode, don't close
a new client socket if we're going to try to use it.

Signed-off-by: Mark Stapp <mjs@cisco.com>
5 months agoMerge pull request #17156 from opensourcerouting/eradicate-strncpy
Donald Sharp [Tue, 19 Nov 2024 14:42:39 +0000 (09:42 -0500)]
Merge pull request #17156 from opensourcerouting/eradicate-strncpy

*: remove remaining `strncpy()` users

5 months agoMerge pull request #17414 from dmytroshytyi-6WIND/srv6_isisd_fix_display_algorithm
Donald Sharp [Tue, 19 Nov 2024 14:30:36 +0000 (09:30 -0500)]
Merge pull request #17414 from dmytroshytyi-6WIND/srv6_isisd_fix_display_algorithm

isisd: properly display srv6 algorithm

5 months agoMerge pull request #17453 from opensourcerouting/fix/raw_python_clippy
Donald Sharp [Tue, 19 Nov 2024 14:28:32 +0000 (09:28 -0500)]
Merge pull request #17453 from opensourcerouting/fix/raw_python_clippy

tools: Fix syntax raw parsing for make-foobar helper

5 months agoMerge pull request #17455 from opensourcerouting/erp-cs
Donald Sharp [Tue, 19 Nov 2024 14:25:04 +0000 (09:25 -0500)]
Merge pull request #17455 from opensourcerouting/erp-cs

pim6d: fix coverity scan warning

5 months agoMerge pull request #17456 from opensourcerouting/fix/lua_unit_test
Donald Sharp [Tue, 19 Nov 2024 14:24:40 +0000 (09:24 -0500)]
Merge pull request #17456 from opensourcerouting/fix/lua_unit_test

Lua casting

5 months agoMerge pull request #17457 from opensourcerouting/fix/optimize_community_alias_lookup
Donald Sharp [Tue, 19 Nov 2024 14:10:33 +0000 (09:10 -0500)]
Merge pull request #17457 from opensourcerouting/fix/optimize_community_alias_lookup

bgpd: Optimize the way parsing communities if no community alias exists

5 months agobgpd: Optimize the way parsing communities if no community alias exists 17457/head
Donatas Abraitis [Mon, 18 Nov 2024 21:29:53 +0000 (23:29 +0200)]
bgpd: Optimize the way parsing communities if no community alias exists

If at least one community alias is configured, then let's do the work,
otherwise we don't need to spend time on splitting stuff and creating
a new string.

This should improve the performance.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
5 months agoMerge pull request #17375 from opensourcerouting/fix/use_pcre2
Donald Sharp [Mon, 18 Nov 2024 17:34:18 +0000 (12:34 -0500)]
Merge pull request #17375 from opensourcerouting/fix/use_pcre2

packaging: Use PCRE2 for .deb/.rpm builds

5 months agotests: Add topotest for OSPF multi-instance default origination. 17436/head
Acee Lindem [Mon, 18 Nov 2024 17:05:31 +0000 (17:05 +0000)]
tests: Add topotest for OSPF multi-instance default origination.

This change adds a topotest to test various case of OSPF multi-instance
origination including cases where the criteria route is from another
instance of OSPF, as well as the same OSPF instance (where a default
should not be originated).

Signed-off-by: Acee Lindem <acee@lindem.com>
5 months agobgpd: Use int, not long long for route-map action in Lua script 17456/head
Donatas Abraitis [Mon, 18 Nov 2024 14:08:30 +0000 (16:08 +0200)]
bgpd: Use int, not long long for route-map action in Lua script

This is an issue for big-endian architectures, that causes incorrect castings.

lua_tointegerp() uses int*, not long long*.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
5 months agolib: Fix Lua script unit test
Donatas Abraitis [Mon, 18 Nov 2024 09:10:05 +0000 (11:10 +0200)]
lib: Fix Lua script unit test

When building for big-endian architectures, this is failing because of
long long / int casting issues, let's use a separate integer to get the
results.

This is especially important when building the Docker images for multiple arches.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
5 months agopim6d: fix coverity scan warning 17455/head
Rafael Zalamena [Mon, 18 Nov 2024 12:17:32 +0000 (09:17 -0300)]
pim6d: fix coverity scan warning

Fix Coverity Scan CID 1601875: use the return value to tell user about
the availability of a next hop to the learned RP (needs debug enabled).

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
5 months agotools: Fix syntax raw parsing for make-foobar helper 17453/head
Donatas Abraitis [Mon, 18 Nov 2024 09:04:27 +0000 (11:04 +0200)]
tools: Fix syntax raw parsing for make-foobar helper

96 38.93 config.status: creating Makefile
96 39.48 /src/python/makefile.py:55: SyntaxWarning: invalid escape sequence '\s'
96 39.48   "^#\s*include.*_clippy.c",

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
5 months agoMerge pull request #17451 from opensourcerouting/fix/bgp_optimizations
Donald Sharp [Sun, 17 Nov 2024 17:03:52 +0000 (12:03 -0500)]
Merge pull request #17451 from opensourcerouting/fix/bgp_optimizations

bgpd: Optimize the outbound path if RFC8212 is applied

5 months agoospfd: OSPF multi-instance default origination fixes
Acee Lindem [Fri, 15 Nov 2024 18:58:49 +0000 (18:58 +0000)]
ospfd: OSPF multi-instance default origination fixes

When originating a default AS-External LSA in one OSPF instance,
it wasn't working if the criteria route was installed by another OSPF
instance. This required more flexible processing of the OSPF external
route information.

Also fix problem multi-instance display for "show ip ospf
 <instance> database ...".

Signed-off-by: Acee Lindem <acee@lindem.com>
5 months agobgpd: Optimize the outbound path if RFC8212 is applied 17451/head
Donatas Abraitis [Sun, 17 Nov 2024 12:41:05 +0000 (14:41 +0200)]
bgpd: Optimize the outbound path if RFC8212 is applied

If we have (default enabled) enabled `bgp ebgp-require-policy`, then first check
it before applying the route-maps.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
5 months agoMerge pull request #17445 from cscarpitta/fix/sharp-use-ipv6-max-bitlen
Donatas Abraitis [Sun, 17 Nov 2024 12:19:58 +0000 (14:19 +0200)]
Merge pull request #17445 from cscarpitta/fix/sharp-use-ipv6-max-bitlen

sharpd: Convert numeric 128 into IPV6_MAX_BITLEN for prefixlen

5 months agoMerge pull request #17444 from cscarpitta/fix/sharpd-cli-help-string
Donatas Abraitis [Sun, 17 Nov 2024 12:19:38 +0000 (14:19 +0200)]
Merge pull request #17444 from cscarpitta/fix/sharpd-cli-help-string

sharpd: Fix a few typos in CLI help messages

5 months agosharpd: Use IPV6_MAX_BITLEN in `sharp send opaque notify` 17445/head
Carmine Scarpitta [Sun, 17 Nov 2024 07:24:44 +0000 (08:24 +0100)]
sharpd: Use IPV6_MAX_BITLEN in `sharp send opaque notify`

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
5 months agosharpd: Use IPV6_MAX_BITLEN in `sharp install seg6local-routes`
Carmine Scarpitta [Sun, 17 Nov 2024 07:24:18 +0000 (08:24 +0100)]
sharpd: Use IPV6_MAX_BITLEN in `sharp install seg6local-routes`

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
5 months agosharpd: Fix typo in `sharp install seg6local-routes` help message 17444/head
Carmine Scarpitta [Sun, 17 Nov 2024 07:16:26 +0000 (08:16 +0100)]
sharpd: Fix typo in `sharp install seg6local-routes` help message

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
5 months agosharpd: Fix typo in `sharp install seg6-routes` help message
Carmine Scarpitta [Sun, 17 Nov 2024 07:15:51 +0000 (08:15 +0100)]
sharpd: Fix typo in `sharp install seg6-routes` help message

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
5 months agosharpd: Fix typo in `sharp install routes` help message
Carmine Scarpitta [Sun, 17 Nov 2024 07:13:53 +0000 (08:13 +0100)]
sharpd: Fix typo in `sharp install routes` help message

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
5 months agoMerge pull request #17193 from opensourcerouting/frr-name-use
Jafar Al-Gharaibeh [Sun, 17 Nov 2024 01:35:08 +0000 (19:35 -0600)]
Merge pull request #17193 from opensourcerouting/frr-name-use

accords: guidelines/terms for FRRouting trademarks

5 months agoMerge pull request #17427 from opensourcerouting/fix/more_details_for_ebgp_no_policy
Jafar Al-Gharaibeh [Sun, 17 Nov 2024 01:32:54 +0000 (19:32 -0600)]
Merge pull request #17427 from opensourcerouting/fix/more_details_for_ebgp_no_policy

bgpd: Add more details to ebgp requires policy warning

5 months agoMerge pull request #17435 from opensourcerouting/fix/bgp_allow_0.0.0.0_if_multiple_nl...
Jafar Al-Gharaibeh [Sun, 17 Nov 2024 01:32:04 +0000 (19:32 -0600)]
Merge pull request #17435 from opensourcerouting/fix/bgp_allow_0.0.0.0_if_multiple_nlris_exist

bgpd: Validate both nexthop information (NEXTHOP and NLRI)

5 months agoMerge pull request #16937 from opensourcerouting/embedded-rp
Jafar Al-Gharaibeh [Sun, 17 Nov 2024 01:30:20 +0000 (19:30 -0600)]
Merge pull request #16937 from opensourcerouting/embedded-rp

pim6d: support embedded-rp

5 months agoMerge pull request #17432 from raja-rajasekar/rajasekarr/evpn_pop_items_bp
Donatas Abraitis [Sat, 16 Nov 2024 10:51:20 +0000 (12:51 +0200)]
Merge pull request #17432 from raja-rajasekar/rajasekarr/evpn_pop_items_bp

bgpd : backpressure - Fix to pop items off zebra_announce FIFO for few EVPN triggers

5 months agobgpd: Validate both nexthop information (NEXTHOP and NLRI) 17435/head
Donatas Abraitis [Fri, 15 Nov 2024 07:54:07 +0000 (09:54 +0200)]
bgpd: Validate both nexthop information (NEXTHOP and NLRI)

If we receive an IPv6 prefix e.g.: 2001:db8:100::/64 with nextop: 0.0.0.0, and
mp_nexthop: fc00::2, we should not treat this with an invalid nexthop because
of 0.0.0.0. We MUST check for MP_REACH attribute also and decide later if we
have at least one a valid nexthop.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
5 months agotests: Check if IPv6 prefix has a valid nexthop if multiple NLRIs exist
Donatas Abraitis [Fri, 15 Nov 2024 07:53:38 +0000 (09:53 +0200)]
tests: Check if IPv6 prefix has a valid nexthop if multiple NLRIs exist

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
5 months agoMerge pull request #17434 from opensourcerouting/fix/bgp_color_parsing_ecomm
Donald Sharp [Fri, 15 Nov 2024 14:21:52 +0000 (09:21 -0500)]
Merge pull request #17434 from opensourcerouting/fix/bgp_color_parsing_ecomm

bgpd: Fix color extended community parsing

5 months agobgpd : backpressure - Fix to pop items off zebra_announce FIFO for few EVPN triggers 17432/head
Rajasekar Raja [Thu, 14 Nov 2024 07:09:55 +0000 (23:09 -0800)]
bgpd : backpressure - Fix to pop items off zebra_announce FIFO for few EVPN triggers

In cases such as 'no advertise-all-vni' and L2 VNI DELETE, we need to
pop all the VPN routes present in the bgp_zebra_announce FIFO yet to
be processed regardless of VNI is configured or not.

NOTE: NO need to pop the VPN routes in two cases
 1) In free_vni_entry
   - Called by bgp_free()->bgp_evpn_cleanup().
   - Since bgp_delete is called before bgp_free and we pop all the dest
     pertaining to bgp under delete.
 2) evpn_delete_vni() when user configures "no vni" since the withdraw
    of all routes happen in normal cycle.

Fixes: a07df6f7548f6bd1b92acbb7a10c3823de33fe5f
("bgpd : backpressure - Handle BGP-Zebra(EPVN) Install evt Creation")

Ticket :#4163611

Signed-off-by: Rajasekar Raja <rajasekarr@nvidia.com>
5 months agobgpd: Use tmp_as when parsing color extended community 17434/head
Donatas Abraitis [Fri, 15 Nov 2024 06:16:10 +0000 (08:16 +0200)]
bgpd: Use tmp_as when parsing color extended community

as is not initialized and it's assigned only later.

CID: 1601739

Fixes: 937cf4d ("bgpd:support of color extended community color-only types")
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
5 months agoRevert "bgpd: Fix color extended community parsing"
Donatas Abraitis [Fri, 15 Nov 2024 06:14:32 +0000 (08:14 +0200)]
Revert "bgpd: Fix color extended community parsing"

This reverts commit 8e771bda840e189eed2851f63ad80cb1a235f40f.

5 months agobgpd: Add more details to ebgp requires policy warning 17427/head
Donatas Abraitis [Fri, 15 Nov 2024 06:09:08 +0000 (08:09 +0200)]
bgpd: Add more details to ebgp requires policy warning

This will tell explicitly which peer does not have a filter applied.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
5 months agoMerge pull request #17433 from donaldsharp/zebra_debug_assert
Jafar Al-Gharaibeh [Fri, 15 Nov 2024 03:52:49 +0000 (21:52 -0600)]
Merge pull request #17433 from donaldsharp/zebra_debug_assert

Zebra debug assert

5 months agoMerge pull request #17429 from opensourcerouting/fix/unsupported_commands_bgpd
Donald Sharp [Fri, 15 Nov 2024 00:47:44 +0000 (19:47 -0500)]
Merge pull request #17429 from opensourcerouting/fix/unsupported_commands_bgpd

bgpd: Drop unsupported commands

5 months agozebra: Put debug guards in zebra_vxlan.c 17433/head
Donald Sharp [Thu, 14 Nov 2024 21:08:47 +0000 (16:08 -0500)]
zebra: Put debug guards in zebra_vxlan.c

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
5 months agozebra: zebra_vxlan.c assert on dev escape problem
Donald Sharp [Thu, 14 Nov 2024 21:02:18 +0000 (16:02 -0500)]
zebra: zebra_vxlan.c assert on dev escape problem

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
5 months agozebra: Missed debug guard in zebra_evpn.c
Donald Sharp [Thu, 14 Nov 2024 20:59:36 +0000 (15:59 -0500)]
zebra: Missed debug guard in zebra_evpn.c

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
5 months agobgpd: Depracate no_synchronization_cmd, no_auto_summary_cmd commands 17429/head
Donatas Abraitis [Thu, 14 Nov 2024 14:12:19 +0000 (16:12 +0200)]
bgpd: Depracate no_synchronization_cmd, no_auto_summary_cmd commands

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
5 months agoMerge pull request #17422 from opensourcerouting/fix/coverity_bgp_color
Mark Stapp [Thu, 14 Nov 2024 13:27:47 +0000 (08:27 -0500)]
Merge pull request #17422 from opensourcerouting/fix/coverity_bgp_color

bgpd: Fix color extended community parsing

5 months agoMerge pull request #17426 from mjstapp/fix_z_evpn_debug
Donatas Abraitis [Thu, 14 Nov 2024 07:06:57 +0000 (09:06 +0200)]
Merge pull request #17426 from mjstapp/fix_z_evpn_debug

zebra: fix unguarded debug in evpn code

5 months agoMerge pull request #17423 from opensourcerouting/fix/show_advertised_routes_plain_wit...
Donald Sharp [Wed, 13 Nov 2024 20:50:39 +0000 (15:50 -0500)]
Merge pull request #17423 from opensourcerouting/fix/show_advertised_routes_plain_with_addpath

bgpd: Show neighbor advertised paths including addpath

5 months agozebra: fix unguarded debug in evpn code 17426/head
Mark Stapp [Wed, 13 Nov 2024 18:49:28 +0000 (13:49 -0500)]
zebra: fix unguarded debug in evpn code

Guard a debug in the evpn code.

Signed-off-by: Mark Stapp <mjs@cisco.com>
5 months agopimd: prevent invalid memory access 16937/head
Rafael Zalamena [Sun, 29 Sep 2024 20:31:06 +0000 (17:31 -0300)]
pimd: prevent invalid memory access

Signalize termination to functions so they can avoid accessing pointers
that might be no longer available.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
5 months agopimd: fix check-patch warning
Rafael Zalamena [Sun, 29 Sep 2024 18:57:28 +0000 (15:57 -0300)]
pimd: fix check-patch warning

Remove unnecessary braces.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
5 months agopim6d: fix channel oil leak on embedded RP
Rafael Zalamena [Sun, 29 Sep 2024 14:04:39 +0000 (11:04 -0300)]
pim6d: fix channel oil leak on embedded RP

When a multicast route is created with embedded RP the channel oil
never gets decremented when `clear ipv6 mroute` is called.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
5 months agodoc: document and explain PIM embedded RP
Rafael Zalamena [Wed, 2 Oct 2024 12:19:28 +0000 (09:19 -0300)]
doc: document and explain PIM embedded RP

Let user know about PIM embedded RP configuration commands.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
5 months agotopotests: new embedded RP topology test
Rafael Zalamena [Fri, 27 Sep 2024 04:00:52 +0000 (01:00 -0300)]
topotests: new embedded RP topology test

Test embedded RP features:
- Embedded RP itself
- Embedded RP group list filtering
- Embedded RP limit

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
5 months agopim6d: support embedded-rp
Rafael Zalamena [Wed, 2 Oct 2024 12:22:48 +0000 (09:22 -0300)]
pim6d: support embedded-rp

Implement embedded RP support and configuration commands.

Embedded RP is disabled by default and can be globally enabled with the
command `embedded-rp` in the PIMv6 configuration node.

It supports the following options:
- Embedded RP maximum limit
- Embedded RP group filtering

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
5 months agobgpd: Reduce the nesting level for show_adj_route() 17423/head
Donatas Abraitis [Wed, 13 Nov 2024 11:36:01 +0000 (13:36 +0200)]
bgpd: Reduce the nesting level for show_adj_route()

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
5 months agobgpd: Show neighbor advertised paths including addpath
Donatas Abraitis [Wed, 13 Nov 2024 09:47:33 +0000 (11:47 +0200)]
bgpd: Show neighbor advertised paths including addpath

Without the patch only the best path is displayed.

With the patch, display all paths including addpaths, but only for non-JSON
output to avoid breaking existing output.

E.g.:

```
munet> r2 shi vtysh -c 'sh ip bgp nei 192.168.2.3 advertised-routes'
     Network          Next Hop            Metric LocPrf Weight Path
 *>  172.16.16.254/32 192.168.2.3              0             0 65003 ?
 *   172.16.16.254/32 192.168.2.4              0             0 65004 ?
 *>  192.168.2.0/24   192.168.2.3              0             0 65003 ?
 *   192.168.2.0/24   192.168.2.4              0             0 65004 ?
```

Before it was:

```
munet> r2 shi vtysh -c 'sh ip bgp nei 192.168.2.3 advertised-routes'
     Network          Next Hop            Metric LocPrf Weight Path
 *>  172.16.16.254/32 192.168.2.3              0             0 65003 ?
 *>  192.168.2.0/24   192.168.2.3              0             0 65003 ?
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
5 months agobgpd: Fix color extended community parsing 17422/head
Donatas Abraitis [Wed, 13 Nov 2024 08:03:17 +0000 (10:03 +0200)]
bgpd: Fix color extended community parsing

CID: 1601739

Fixes: 937cf4db1738d768ed7dac8677d16f7585bb75de ("bgpd:support of color extended community color-only types")
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
5 months agoMerge pull request #17331 from Jafaral/ospf-instance
Russ White [Tue, 12 Nov 2024 23:00:46 +0000 (18:00 -0500)]
Merge pull request #17331 from Jafaral/ospf-instance

tests: add support for ospf instances  with unified configs

5 months agoMerge pull request #17205 from piotrjurkiewicz/patch-1
Jafar Al-Gharaibeh [Tue, 12 Nov 2024 22:13:27 +0000 (16:13 -0600)]
Merge pull request #17205 from piotrjurkiewicz/patch-1

debian: Add missing libprotobuf-dev to grpc profile

5 months agoMerge pull request #17297 from mjstapp/mjs_ifp_table
Donald Sharp [Tue, 12 Nov 2024 20:12:07 +0000 (15:12 -0500)]
Merge pull request #17297 from mjstapp/mjs_ifp_table

zebra, lib: use internal rbtree for per-NS tree of ifps

5 months agotests: add support for ospf instances with unified configs 17331/head
Jafar Al-Gharaibeh [Fri, 1 Nov 2024 06:12:20 +0000 (01:12 -0500)]
tests: add support for ospf instances  with unified configs

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
5 months agoMerge pull request #17368 from louis-6wind/bgp_vpnv4_asbr-clarify
Russ White [Tue, 12 Nov 2024 16:40:01 +0000 (11:40 -0500)]
Merge pull request #17368 from louis-6wind/bgp_vpnv4_asbr-clarify

tests: clarify bgp_vpnv4_asbr

5 months agoMerge pull request #17410 from opensourcerouting/fix/bgpd_ebgp_multihop_set_unset
Russ White [Tue, 12 Nov 2024 16:02:22 +0000 (11:02 -0500)]
Merge pull request #17410 from opensourcerouting/fix/bgpd_ebgp_multihop_set_unset

BGP BFD session things

5 months agoMerge pull request #17374 from opensourcerouting/fix/rfc_9687
Russ White [Tue, 12 Nov 2024 14:59:06 +0000 (09:59 -0500)]
Merge pull request #17374 from opensourcerouting/fix/rfc_9687

Add two RFCs for BGP to the list

5 months agoMerge pull request #17366 from baozhen-H3C/202411061447
Russ White [Tue, 12 Nov 2024 14:55:47 +0000 (09:55 -0500)]
Merge pull request #17366 from baozhen-H3C/202411061447

isisd: fix crash when switching P2P after shutdowning LAN circuit

5 months agoMerge pull request #17344 from opensourcerouting/fix/reset_bgp_session_only_if_bfd_is...
Russ White [Tue, 12 Nov 2024 14:53:40 +0000 (09:53 -0500)]
Merge pull request #17344 from opensourcerouting/fix/reset_bgp_session_only_if_bfd_is_properly_working

bgpd: Reset BGP session only if it was a real BFD DOWN event

5 months agoisisd: properly display srv6 algorithm 17414/head
Dmytro Shytyi [Tue, 12 Nov 2024 14:24:57 +0000 (15:24 +0100)]
isisd: properly display srv6 algorithm

When the segment-routing ipv6 is configured, the SPF
algoritm shows S-SPF is used:

> rt1# show isis segment-routing srv6 node
> Area 1:
> IS-IS L1 SRv6-Nodes:
>
> System ID Algorithm SRH Max SL SRH Max End Pop SRH Max H.encaps SRH Max End D
> -----------------------------------------------------------------------------------------
> 0000.0000.0001 S-SPF 3 3 2 5

Actually, the segment-routing ipv6 algo capabilities (SPF) are rewritten.
Don't rewrite the algo[0].

> rt1# show isis segment-routing srv6 node
> Area 1:
> IS-IS L1 SRv6-Nodes:
>
> System ID Algorithm SRH Max SL SRH Max End Pop SRH Max H.encaps SRH Max End D
> -----------------------------------------------------------------------------------------
> 0000.0000.0001 SPF 3 3 2 5

Fixes: ("78774bbcd51b") isisd: add isis flex-algo lsp advertisement
Signed-off-by: Dmytro Shytyi <dmytro.shytyi@6wind.com>
5 months agotests: Check if BFD session is created with update-source (interface) 17410/head
Donatas Abraitis [Tue, 12 Nov 2024 11:12:56 +0000 (13:12 +0200)]
tests: Check if BFD session is created with update-source (interface)

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
5 months agobgpd: Update source address for BFD session
Donatas Abraitis [Tue, 12 Nov 2024 11:09:09 +0000 (13:09 +0200)]
bgpd: Update source address for BFD session

If BFD is down, we should try to detect the source automatically from the given
interface.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
5 months agoMerge pull request #17409 from krishna-samy/show_nexthop_json_fix
Donatas Abraitis [Mon, 11 Nov 2024 15:10:16 +0000 (17:10 +0200)]
Merge pull request #17409 from krishna-samy/show_nexthop_json_fix

bgpd: fix resolvedPrefix in show nexthop json output

5 months agotests: Check if BGP BFD session is created correctly with multihop/update-source
Donatas Abraitis [Mon, 11 Nov 2024 15:07:45 +0000 (17:07 +0200)]
tests: Check if BGP BFD session is created correctly with multihop/update-source

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
5 months agobgpd: Do not try to uninstall BFD session if the peer is not established
Donatas Abraitis [Mon, 11 Nov 2024 14:49:22 +0000 (16:49 +0200)]
bgpd: Do not try to uninstall BFD session if the peer is not established

Having something like:

```
 neighbor 192.168.1.222 ebgp-multihop 32
 neighbor 192.168.1.222 update-source 192.168.1.5
 neighbor 192.168.1.222 bfd
```

Won't work and the result is (empty):

```
$ show bfd peers
BFD Peers:
```

bgp_stop() is called in BGP FSM multiple times (even at startup) that
causes intermediate session interruption when update-source/ebgp-multihop
is triggered.

With this fix, the ordering does not matter and the BFD session's parameters
are updated correctly.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
5 months agobgpd: Do not use an existing peer pointer for ALL_LIST_ELEMENTS()
Donatas Abraitis [Mon, 11 Nov 2024 14:48:59 +0000 (16:48 +0200)]
bgpd: Do not use an existing peer pointer for ALL_LIST_ELEMENTS()

Use a separate `member` in this case.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
5 months agobgpd: fix resolvedPrefix in show nexthop json output 17409/head
Krishnasamy R [Mon, 11 Nov 2024 09:59:31 +0000 (01:59 -0800)]
bgpd: fix resolvedPrefix in show nexthop json output

While populating  the nexthop info for "show bgp nexthop json", resolvedPrefix
is added in parent json object instead of json_nexthop object.
This results in displaying wrong resolvedPrefix for nexthops.
Fixing the same by adding resolvedPrefix to json_nexthop object, so that
the proper resolvedPrefix would be displayed for the respective nexthop

Signed-off-by: Krishnasamy R <krishnasamyr@nvidia.com>
5 months agoMerge pull request #17362 from raja-rajasekar/rajasekarr/src_proto_for_redist_cmd
Donatas Abraitis [Sat, 9 Nov 2024 20:01:44 +0000 (22:01 +0200)]
Merge pull request #17362 from raja-rajasekar/rajasekarr/src_proto_for_redist_cmd

bgpd: Fix for match source-protocol in route-map for redistribute cmd

5 months agobgpd: Fix for match source-protocol in route-map for redistribute cmd 17362/head
Rajasekar Raja [Mon, 21 Oct 2024 17:53:27 +0000 (10:53 -0700)]
bgpd: Fix for match source-protocol in route-map for redistribute cmd

A redistribute cmd can have a route-map attached to it and adding the
match source-protocol to that route-map means BGP to filter which
protocol routes to accept among the bunch of routes zebra is sending.

Fixing this since this wasnt implemented earlier.

Ticket :#4119692

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Signed-off-by: Rajasekar Raja <rajasekarr@nvidia.com>