]>
git.puffer.fish Git - mirror/frr.git/log
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>
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
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
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>
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>
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>
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
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
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
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
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
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
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>
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
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>
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>
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>
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>
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
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>
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
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
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>
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>
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>
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>
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>
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
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
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)
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
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
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>
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>
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
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>
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>
Donatas Abraitis [Fri, 15 Nov 2024 06:14:32 +0000 (08:14 +0200)]
Revert "bgpd: Fix color extended community parsing"
This reverts commit
8e771bda840e189eed2851f63ad80cb1a235f40f .
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>
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
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
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>
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>
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>
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>
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
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
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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
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
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>
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
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
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
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
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
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>
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>
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>
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
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>
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>
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>
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>
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
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>
Donald Sharp [Fri, 8 Nov 2024 16:15:04 +0000 (11:15 -0500)]
Merge pull request #17386 from opensourcerouting/fix/initialize_mbefore
lib: Initialize mbefore for route_map_apply_ext()
Donatas Abraitis [Fri, 8 Nov 2024 07:20:19 +0000 (09:20 +0200)]
Merge pull request #17384 from donaldsharp/bgp_withdraw_and_unlikely
Bgp withdraw and unlikely
Donatas Abraitis [Fri, 8 Nov 2024 07:11:41 +0000 (09:11 +0200)]
Merge pull request #17341 from zice312963205/zly_tcpmss
bgpd:support tcp-mss for neighbor group
Donatas Abraitis [Fri, 8 Nov 2024 07:00:34 +0000 (09:00 +0200)]
lib: Initialize mbefore for route_map_apply_ext()
CID
1601478 : Uninitialized variables (UNINIT)
Using uninitialized value "mbefore.real.tv_usec" when calling "event_consumed_time".
Fixes: 3e3a666331e1e44683b17ab1fd78afc47c5d2677 ("lib: Add ability to track time in individual routemaps")
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas Abraitis [Fri, 8 Nov 2024 06:56:21 +0000 (08:56 +0200)]
Merge pull request #17231 from guoguojia2021/guozhongfeng_alibaba
bgpd:support of color extended community color-only types
Donatas Abraitis [Fri, 8 Nov 2024 06:50:54 +0000 (08:50 +0200)]
packaging: Use PCRE2 for .deb/.rpm builds
We have the support of PCRE2 since
061f5d1cb43938c30847e0ebb49e2b43be3aa4c2 .
Also we already do this for containers (docker images).
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Russ White [Thu, 7 Nov 2024 18:19:11 +0000 (13:19 -0500)]
Merge pull request #12109 from donaldsharp/routemap_time_spent
lib: Add ability to track time in individual routemaps
Donald Sharp [Thu, 7 Nov 2024 16:55:56 +0000 (11:55 -0500)]
bgpd: Add unlikely for debugs in bgp_update()
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Thu, 7 Nov 2024 16:50:23 +0000 (11:50 -0500)]
bgpd: Mark debugs as unlikely in bgp_withdraw
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Thu, 7 Nov 2024 16:31:59 +0000 (11:31 -0500)]
bgpd: In bgp_withdraw attempt to avoid a if statement on every pass
We have this:
if ( (safi == SAFI_UNICAST) && ...)
do stuff
if ( (safi == SAFI_MPLS_VPN) && ... )
do stuff
this leads to having to test safi multiple times if safi is
SAFI_UNICAST. Let's make it a else if as that we know that
the safi is going to not change.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Thu, 7 Nov 2024 16:29:51 +0000 (11:29 -0500)]
bgpd: Pass in the prefix instead of looking it up again
In an attempt to make the code faster let's just pass
in the prefix instead of having to do a lookup a majillion
times again after we already have it.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Thu, 7 Nov 2024 16:04:56 +0000 (11:04 -0500)]
Merge pull request #17376 from opensourcerouting/fix/stale_routes_with_addpath
bgpd: Clear stale routes with multiple paths
Donatas Abraitis [Thu, 7 Nov 2024 15:15:24 +0000 (17:15 +0200)]
Merge pull request #17244 from donaldsharp/high_ecmp_test
tests: Add a topology that supports a large number of ecmp
Donatas Abraitis [Thu, 7 Nov 2024 12:01:39 +0000 (14:01 +0200)]
tests: Check if stale routes with addpath are marked with LLGR community
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas Abraitis [Thu, 7 Nov 2024 11:17:12 +0000 (13:17 +0200)]
tests: Check if routes with addpath are cleared if they are stale
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas Abraitis [Thu, 7 Nov 2024 11:08:35 +0000 (13:08 +0200)]
bgpd: Set LLGR stale routes for all the paths including addpath
Without this patch we set only the first path for the route (if multiple exist)
as LLGR stale and stop doing that for the rest of the paths, which is wrong.
Fixes: 1479ed2fb35f4a5ae1017201a7ee37ba2727163a ("bgpd: Implement LLGR helper mode")
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas Abraitis [Thu, 7 Nov 2024 11:04:54 +0000 (13:04 +0200)]
bgpd: Clear all paths including addpath once GR expires
We iterated over all bgp_path_info's, but once we remove the path, we didn't
check for other paths under the same bgp_dest.
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
guozhongfeng.gzf [Thu, 7 Nov 2024 02:32:16 +0000 (10:32 +0800)]
doc:the doc of extcomumnity color
Signed-off-by: guozhongfeng.gzf <guozhongfeng.gzf@alibaba-inc.com>
guozhongfeng.gzf [Thu, 24 Oct 2024 12:07:15 +0000 (20:07 +0800)]
tests:support of color extended community color-only types
Signed-off-by: guozhongfeng.gzf <guozhongfeng.gzf@alibaba-inc.com>
guozhongfeng.gzf [Thu, 24 Oct 2024 12:05:23 +0000 (20:05 +0800)]
bgpd:support of color extended community color-only types
Add support of color extended community color-only types, RFC 9256.
The type only support 00 01 10.
configuration example:
!
frr version 10.3-dev-my-manual-build
frr defaults traditional
hostname router3
!
route-map color permit 1
set extcommunity color 10:100 01:200 00:300
exit
!
vrf Vrf1
exit-vrf
!
interface lo
ipv6 address 3::3/128
exit
!
router bgp 3
bgp router-id 3.3.3.3
bgp log-neighbor-changes
no bgp ebgp-requires-policy
no bgp default ipv4-unicast
bgp bestpath as-path multipath-relax
timers bgp 10 30
neighbor 100.13.13.1 remote-as 1
neighbor 100.13.13.1 advertisement-interval 0
neighbor 100.23.23.2 remote-as 2
neighbor 100.23.23.2 advertisement-interval 0
neighbor 1000:3000::1 remote-as 1
neighbor 1000:3000::1 ebgp-multihop
neighbor 1000:3000::1 update-source 1000:3000::3
neighbor 1000:3000::1 capability extended-nexthop
neighbor 2000:3000::2 remote-as 2
neighbor 2000:3000::2 ebgp-multihop
neighbor 2000:3000::2 update-source 2000:3000::3
neighbor 2000:3000::2 capability extended-nexthop
!
address-family ipv4 unicast
neighbor 100.13.13.1 activate
neighbor 100.23.23.2 activate
exit-address-family
!
address-family ipv6 unicast
redistribute connected route-map color
neighbor 1000:3000::1 activate
neighbor 2000:3000::2 activate
exit-address-family
exit
!
end
Signed-off-by: guozhongfeng.gzf <guozhongfeng.gzf@alibaba-inc.com>
Donatas Abraitis [Thu, 7 Nov 2024 09:25:52 +0000 (11:25 +0200)]
doc: Add missing RFCs for BGP to the list
* RFC 9687
* RFC 7311
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas Abraitis [Thu, 7 Nov 2024 09:20:06 +0000 (11:20 +0200)]
bgpd: Add SendHoldTimer_Expires event to bgp_fsm_rfc_codes
Not really used, but since we have it, let's update it as a pointer.
This event comes from https://datatracker.ietf.org/doc/html/rfc9687
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
hanyu.zly [Mon, 4 Nov 2024 08:21:09 +0000 (16:21 +0800)]
bgpd:support tcp-mss for neighbor group
Signed-off-by: hanyu.zly <hanyu.zly@alibaba-inc.com>