Commit Graph

37963 Commits

Author SHA1 Message Date
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
Krishnasamy R
4d8207cac4 bgpd: add documentation for show bgp router json command
Signed-off-by: Krishnasamy R <krishnasamyr@nvidia.com>
2024-11-18 18:59:01 -08:00
Krishnasamy R
355d5e2dac bgpd: add topotest for show bgp router json command
This commit has changes to validate show bgp router json command

Signed-off-by: Krishnasamy R <krishnasamyr@nvidia.com>
2024-11-18 18:59:01 -08:00
Ashwini Reddy
c8290e97e7 bgpd: Nexthop Stringify changes
Issue: 3576989

Ticket# 3576989

Signed-off-by: Sindhu Parvathi Gopinathan's <sgopinathan@nvidia.com>

Signed-off-by: Ashwini Reddy's <ashred@nvidia.com>
2024-11-18 18:59:01 -08:00
Sindhu Parvathi Gopinathan
4838bac033 bgpd: neighbors received-routes/advertised-routes stringify changes
JSON object could lead to out-of-memory in scaled bgp
neighbors received-routes/advertised-routes setup.

Changes:

not use pretty print and stringify smaller json objects to reduce memory
usage
free memory after ouput of json object

Commands supported with this Json stringify:

```
show bgp vrf <vrf-id> neighbors <nbr-id> advertised-routes json
show bgp vrf <vrf-id> neighbors <nbr-id> advertised-routes detail json
show bgp vrf <vrf-id> neighbors <nbr-id> advertised-routes <prefix> json
show bgp vrf <vrf-id> neighbors <nbr-id> received-routes json
show bgp vrf <vrf-id> neighbors <nbr-id> received-routes detail json
show bgp vrf <vrf-id> neighbors <nbr-id> received-routes <prefix> json
```

Ticket:#3513253, #3513254

Issue:3513253, 3513254

Signed-off-by: Sindhu Parvathi Gopinathan's <sgopinathan@nvidia.com>
2024-11-18 18:58:52 -08: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
Carmine Scarpitta
4cb6f5b875 sharpd: Fix typo in sharp install seg6-routes help message
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-11-17 08:15:51 +01:00
Carmine Scarpitta
769751f6fc sharpd: Fix typo in sharp install routes help message
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-11-17 08:15:00 +01:00
Jafar Al-Gharaibeh
2f83660982
Merge pull request #17193 from opensourcerouting/frr-name-use
accords: guidelines/terms for FRRouting trademarks
2024-11-16 19:35:08 -06:00
Jafar Al-Gharaibeh
66b0a33e0c
Merge pull request #17427 from opensourcerouting/fix/more_details_for_ebgp_no_policy
bgpd: Add more details to ebgp requires policy warning
2024-11-16 19:32:54 -06:00
Jafar Al-Gharaibeh
7c46eb68d4
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)
2024-11-16 19:32:04 -06:00
Jafar Al-Gharaibeh
f018a92c3b
Merge pull request #16937 from opensourcerouting/embedded-rp
pim6d: support embedded-rp
2024-11-16 19:30:20 -06:00
Donatas Abraitis
c050972fec
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
2024-11-16 12:51:20 +02:00
Ashwini Reddy
9c5530144a bgpd: show bgp l2vpn evpn route detail json stringify changes
Json object could lead to out-of-memory in scaled bgp l2vpn evpn route setup.

Changes:

- not use pretty print and stringify smaller json objects to reduce memory
usage
- free memory after ouput of json_rd
- minor formatting of json output

Commands supported with this Json stringify:

show bgp l2vpn evpn route detail json
show bgp l2vpn evpn route detail type 2 json
show bgp l2vpn evpn route detail type 2 self-originate json
show bgp l2vpn evpn route detail self-originate json
show bgp l2vpn evpn route json
show bgp l2vpn evpn route type 2 json
show bgp l2vpn evpn route type 2 self-originate json
show bgp l2vpn evpn route self-originate json

Ticket:#3513249

Issue:3513249

Signed-off-by: Ashwini Reddy <ashred@nvidia.com>
Signed-off-by: Sindhu Parvathi Gopinathan's <sgopinathan@nvidia.com>
2024-11-15 22:49:01 -08:00
Pooja Jagadeesh Doijode
7decdc572c bgpd: [EVPN GR] Added JSON support for "show bgp router"
Introduced JSON support of "show bgp router" command

VTY:
mlx-3700-19# show bgp router
BGP started gracefully at Tue Nov 14 21:18:34 2023
Graceful restart completed at Tue Nov 14 21:18:37 2023
Number of BGP instances (including default): 1

JSON:
mlx-3700-19# show bgp router json
{
  "bgpStartedAt":"Tue Nov 14 21:18:34 2023\n",
  "bgpStartedGracefully":"Yes",
  "grComplete":"Yes",
  "grCompletedAt":"Tue Nov 14 21:18:37 2023\n",
  "bgpInMaintenanceMode":"No",
  "bgpInstanceCount":1
}

Issue:3624937
Signed-off-by: Pooja Jagadeesh Doijode <pdoijode@nvidia.com>
2024-11-15 22:48:58 -08:00
Donatas Abraitis
a0d2734e87 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>
2024-11-15 16:40:56 +02:00
Donatas Abraitis
229466ebd1 tests: Check if IPv6 prefix has a valid nexthop if multiple NLRIs exist
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-11-15 16:39:32 +02:00
Donald Sharp
e2314c9169
Merge pull request #17434 from opensourcerouting/fix/bgp_color_parsing_ecomm
bgpd: Fix color extended community parsing
2024-11-15 09:21:52 -05:00
Rajasekar Raja
898852f269 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: a07df6f754
("bgpd : backpressure - Handle BGP-Zebra(EPVN) Install evt Creation")

Ticket :#4163611

Signed-off-by: Rajasekar Raja <rajasekarr@nvidia.com>
2024-11-15 00:32:42 -08:00
Donatas Abraitis
f765bc4144 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>
2024-11-15 08:16:10 +02:00
Donatas Abraitis
2b3d41493d Revert "bgpd: Fix color extended community parsing"
This reverts commit 8e771bda84.
2024-11-15 08:14:32 +02:00
Donatas Abraitis
53c858e70e 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>
2024-11-15 08:09:08 +02:00
Jafar Al-Gharaibeh
076879a279
Merge pull request #17433 from donaldsharp/zebra_debug_assert
Zebra debug assert
2024-11-14 21:52:49 -06:00
Donald Sharp
345ab24504
Merge pull request #17429 from opensourcerouting/fix/unsupported_commands_bgpd
bgpd: Drop unsupported commands
2024-11-14 19:47:44 -05:00
Donald Sharp
8a71bf9341 zebra: Put debug guards in zebra_vxlan.c
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-11-14 16:08:47 -05:00
Donald Sharp
d580af8394 zebra: zebra_vxlan.c assert on dev escape problem
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-11-14 16:03:14 -05:00
Donald Sharp
922489a8d6 zebra: Missed debug guard in zebra_evpn.c
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-11-14 16:03:14 -05:00