Commit Graph

37380 Commits

Author SHA1 Message Date
Corey Siltala
ef650aca27 tools: Add pim show commands to support bundle
Add more data gathering for pim and pim6 support bundles

Signed-off-by: Corey Siltala <csiltala@atcorp.com>
2024-11-21 17:37:39 -06:00
Jafar Al-Gharaibeh
440a0d3f76
Merge pull request #17477 from donaldsharp/topo_connected_installed
tests: Ensure connected routes are installed before continuing
2024-11-21 14:28:23 -06:00
Jafar Al-Gharaibeh
58abc856b5
Merge pull request #17473 from donaldsharp/bgp_bmp_and_its_ilk
Bgp bfd and its ilk
2024-11-21 14:17:48 -06:00
Rafael Zalamena
a3e04a86d2
Merge pull request #17340 from nabahr/mapping-agent
PIMD: Implement AutoRP mapping-agent
2024-11-21 16:10:42 -03:00
Donald Sharp
0af5c2a6eb
Merge pull request #17469 from opensourcerouting/msdp-logs
pimd: MSDP logging improvements
2024-11-21 13:45:58 -05:00
Mark Stapp
9af78e2986
Merge pull request #17476 from donaldsharp/support_bundle_isis
Support bundle isis
2024-11-21 13:15:51 -05:00
Russ White
7724d697da
Merge pull request #17436 from LabNConsulting/aceelindem/ospf-multi-instance-default
ospfd: OSPF multi-instance default origination fixes
2024-11-21 09:20:26 -08:00
Donald Sharp
058faf605d 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>
2024-11-21 09:26:52 -05:00
Donald Sharp
dca9915059 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>
2024-11-21 09:16:14 -05:00
Donald Sharp
274156f4d3 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>
2024-11-21 09:15:22 -05:00
Donald Sharp
910b384094 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>
2024-11-21 09:14:19 -05:00
Donald Sharp
b1fbcb6d13 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>
2024-11-21 09:13:24 -05:00
Rafael Zalamena
0b0648f15c 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>
2024-11-21 10:26:16 -03:00
Rafael Zalamena
fc39bfaa0a pimd,yang: log MSDP SA events
Add new command to log all SA events.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2024-11-21 10:26:16 -03:00
Rafael Zalamena
21d1e85db5 pimd,yang: log MSDP neighbor events
Move MSDP neighbor events global debug to per PIM instance.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2024-11-21 10:26:16 -03:00
Louis Scalbert
82a540dcd4 tests: add bgp_vpnv4_route_leak_basic
bgp_vrf_route_leak_basic uses "import/export vrf" commands to perform
route leaks between VRF on the r1 router. The same result can be
achieved by using the "route-target import / export" commands.

Copy bgp_vrf_route_leak_basic to bgp_vpnv4_route_leak_basic. Change
BGP configuration to handle the route leaks with "route-target import /
export". Change to retry timers.  No other changes.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2024-11-21 11:22:22 +01:00
Jafar Al-Gharaibeh
8884f429ab
Merge pull request #17468 from opensourcerouting/msdp-tweaks
pimd: two small improvements
2024-11-20 21:56:14 -06:00
Donald Sharp
c1c6298dd3 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>
2024-11-20 16:13:42 -05:00
Donald Sharp
6a945b4104 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>
2024-11-20 16:11:22 -05:00
Donald Sharp
2a94de8af2 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>
2024-11-20 16:11:22 -05:00
Rafael Zalamena
bca99119d9
Merge pull request #17464 from mjstapp/fix_bfdd_dplane_client_conn
bfdd: retain remote dplane client socket
2024-11-20 12:35:13 -03:00
Rafael Zalamena
1e0629fd04 pimd: constify peer lookup function
Make parameter `const` to document that the variable will not change.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2024-11-20 12:06:11 -03:00
Rafael Zalamena
8f829b2495 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>
2024-11-20 12:06:00 -03:00
Nathan Bahr
13c0722b5c 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>
2024-11-19 22:33:11 +00:00
Nathan Bahr
b6aa71b59b 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>
2024-11-19 22:33:11 +00:00
Nathan Bahr
a060c72530 pimd: Implement autorp mapping agent CLI
Also exposes BSR cand_addrsel methods for use in AutoRP.

Signed-off-by: Nathan Bahr <nbahr@atcorp.com>
2024-11-19 22:33:11 +00:00
Nathan Bahr
bd9331e0ae 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>
2024-11-19 22:33:11 +00:00
Mark Stapp
f511530788 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>
2024-11-19 14:54:06 -05:00
Donald Sharp
172a2aa533
Merge pull request #17156 from opensourcerouting/eradicate-strncpy
*: remove remaining `strncpy()` users
2024-11-19 09:42:39 -05:00
Donald Sharp
a959c3fe9e
Merge pull request #17414 from dmytroshytyi-6WIND/srv6_isisd_fix_display_algorithm
isisd: properly display srv6 algorithm
2024-11-19 09:30:36 -05:00
Donald Sharp
26b0cca95d
Merge pull request #17453 from opensourcerouting/fix/raw_python_clippy
tools: Fix syntax raw parsing for make-foobar helper
2024-11-19 09:28:32 -05:00
Donatas Abraitis
8cc6359fdc bgpd: Disable sending ROV extended community by default
https://datatracker.ietf.org/doc/html/rfc8097 defines ROV extended community,
but https://datatracker.ietf.org/doc/draft-ietf-sidrops-avoid-rpki-state-in-bgp
is against sending it by default even for iBGP peers.

Let's do this practice and reverse it.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-11-19 16:25:12 +02:00
Donald Sharp
5bdb8d94c8
Merge pull request #17455 from opensourcerouting/erp-cs
pim6d: fix coverity scan warning
2024-11-19 09:25:04 -05:00
Donald Sharp
9b50371965
Merge pull request #17456 from opensourcerouting/fix/lua_unit_test
Lua casting
2024-11-19 09:24:40 -05:00
Donald Sharp
bef0d10095
Merge pull request #17457 from opensourcerouting/fix/optimize_community_alias_lookup
bgpd: Optimize the way parsing communities if no community alias exists
2024-11-19 09:10:33 -05:00
Donatas Abraitis
004d770ec4 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>
2024-11-18 23:29:53 +02:00
Donald Sharp
551e05bd2d
Merge pull request #17375 from opensourcerouting/fix/use_pcre2
packaging: Use PCRE2 for .deb/.rpm builds
2024-11-18 12:34:18 -05:00
Acee Lindem
82f4349402 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>
2024-11-18 17:05:31 +00:00
Donatas Abraitis
3c609266f5 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>
2024-11-18 17:25:09 +02:00
Donatas Abraitis
77df36c3b9 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>
2024-11-18 17:25:08 +02:00
Rafael Zalamena
3066f48eb8 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>
2024-11-18 09:17:32 -03:00
Donatas Abraitis
0073c73858 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>
2024-11-18 11:04:27 +02:00
Donald Sharp
724624a35c
Merge pull request #17451 from opensourcerouting/fix/bgp_optimizations
bgpd: Optimize the outbound path if RFC8212 is applied
2024-11-17 12:03:52 -05:00
Acee Lindem
6afd56da96 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>
2024-11-17 13:33:48 +00:00
Donatas Abraitis
2dc7db9251 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>
2024-11-17 14:41:05 +02:00
Donatas Abraitis
564a8bca2c
Merge pull request #17445 from cscarpitta/fix/sharp-use-ipv6-max-bitlen
sharpd: Convert numeric 128 into IPV6_MAX_BITLEN for prefixlen
2024-11-17 14:19:58 +02:00
Donatas Abraitis
0e2e4ec181
Merge pull request #17444 from cscarpitta/fix/sharpd-cli-help-string
sharpd: Fix a few typos in CLI help messages
2024-11-17 14:19:38 +02:00
Carmine Scarpitta
58b2e8c5b0 sharpd: Use IPV6_MAX_BITLEN in sharp send opaque notify
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-11-17 08:24:44 +01:00
Carmine Scarpitta
0019ecff1b sharpd: Use IPV6_MAX_BITLEN in sharp install seg6local-routes
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-11-17 08:24:18 +01:00
Carmine Scarpitta
cf658b28b1 sharpd: Fix typo in sharp install seg6local-routes help message
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-11-17 08:16:26 +01:00