Commit Graph

4149 Commits

Author SHA1 Message Date
Donatas Abraitis
ee67699bd7
Merge pull request #17905 from pguibert6WIND/advertised_routes_incorrect_json
Advertised routes incorrect json
2025-01-27 23:32:33 +02:00
Donatas Abraitis
95db38f394
Merge pull request #17919 from pguibert6WIND/bgp_suppressed_attribute
Bgp suppressed attribute
2025-01-27 23:31:46 +02:00
Philippe Guibert
d17fce21fc topotests: bgp_vpnv4_noretain, check presence of locpref in adj-rib-out
Add a test that check that the detailed command of show bgp advertised
neighbors 10.125.0.2 displays the locpref value.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2025-01-27 11:50:29 +01:00
Philippe Guibert
e1ab99261a topotests: bgp_aggregate_address_topo1, add test for suppressed keyword
Add a test that checks that the BGP route to 192.168.0.1 has all the
necessary json outputs. This route is chosen because it is a suppressed
route.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2025-01-27 11:47:41 +01:00
Donatas Abraitis
4338e21aa2 Revert "bgpd: Handle Addpath capability using dynamic capabilities"
This reverts commit 05cf9d03b3.

TL;DR; Handling BGP AddPath capability is not trivial (possible) dynamically.

When the sender is AddPath-capable and sends NLRIs encoded with AddPath ID,
and at the same time the receiver sends AddPath capability "disable-addpath-rx"
(flag update) via dynamic capabilities, both peers are out of sync about the
AddPath state. The receiver thinks already he's not AddPath-capable anymore,
hence it tries to parse NLRIs as non-AddPath, while they are actually encoded
as AddPath.

AddPath capability itself does not provide (in RFC) any mechanism on backward
compatible way to handle NLRIs if they come mixed (AddPath + non-AddPath).

This explains why we have failures in our CI periodically.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2025-01-25 20:51:16 +02:00
Donatas Abraitis
2982edcaa3
Merge pull request #17911 from askorichenko/test-fix-bgp-peer-solo
bgpd: Fix bgp peer solo option
2025-01-24 08:50:49 +02:00
Alexander Skorichenko
7bda2b36a9 bgpd: Fix bgp peer solo option
Signed-off-by: Alexander Skorichenko <askorichenko@netgate.com>
2025-01-23 14:48:16 +01:00
Donatas Abraitis
f19b843e9e
Merge pull request #17652 from pguibert6WIND/topotest_bgp_evpn_rt5
bgpd, tests: bgp_evpn_rt5, add test with match evpn vni command
2025-01-23 13:12:35 +02:00
Louis Scalbert
cb4846c057 tests: check bfd with update-source in peer-group
Check bfd with update-source in peer-group.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2025-01-22 17:55:55 +01:00
Philippe Guibert
d84b93f287 topotests: add unified configuration
Replace the various per-daemon config files with a unique frr.conf
configuration file.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2025-01-21 13:48:36 +01:00
Philippe Guibert
82339c94ed topotests: bgp_evpn_rt5, configure route_distinguisher
When not configuring a route distinguisher, neither route-target,
the derived rd settings differ if config load applies with frr.conf
or not. For instance, the forged rd with frr.conf:

> # show bgp l2vpn evpn json
>    "192.168.101.41:3":{
>       "rd":"192.168.101.41:3",

and without:
>     "192.168.101.41:2":{
>        "rd":"192.168.101.41:2",

The defined rts also are impacted. Temporay fix this by using an
hardset configuration for all route distinguisher and route target
of the setups.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2025-01-21 13:48:36 +01:00
Philippe Guibert
0d5bd461af topotests: bgp_evpn_rt5, add test with match evpn vni command
Add a test that ensures that the 'match evpn vni' command works with bgp
evpn rt5 updates.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2025-01-21 13:48:36 +01:00
Louis Scalbert
519c3b5c48 tests: remove table version check in bgp rpki topo1
Remove table version check in bgp rpki topo1.

Fixes: 5f50b98f8e ("tests: add bgp rpki topo1 rpkiValidationState")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2025-01-21 11:18:32 +01:00
Jafar Al-Gharaibeh
4f65107d20
Merge pull request #17883 from opensourcerouting/fix/topotest_dynamic_cap_enhe
tests: Fix test_bgp_dynamic_capability_enhe topotest
2025-01-20 13:31:47 -06:00
Philippe Guibert
50928a93c6 topotests: bgp_ipv6_rtadv, add control over bgp updates
Add a test to control the json values of the incoming BGP update
received by an unnumbered BGP.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2025-01-20 09:32:28 +01:00
Philippe Guibert
084ebc9473
Merge pull request #16894 from wenwang00/project-phoenixwing-ysj
staticd: Add support for SRv6 Static SIDs
2025-01-20 09:20:15 +01:00
Donatas Abraitis
3b6dcf03fb tests: Fix test_bgp_dynamic_capability_enhe topotest
Drop redundant function (duplicate), and reset counters for r2 instead of r1.

We check received capabilities on r2, hence we need to flush the counters on r2 too.

Fixes: d1cfd73060 ("tests: Check if ENHE capability can be handled dynamically")

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2025-01-18 23:07:37 +02:00
Christian Hopps
61949e4f79 tests: split notify test to regular and datastore notify tests
Signed-off-by: Christian Hopps <chopps@labn.net>
2025-01-18 16:14:29 +00:00
Yuqing Zhao
2a50c7526a tests: Add topotest for SRv6 static SIDs
Signed-off-by: Yuqing Zhao <galadriel.zyq@alibaba-inc.com>
2025-01-18 10:28:49 +00:00
Donatas Abraitis
705e6f881b
Merge pull request #17836 from pguibert6WIND/limit_comm_list_count
limit community list count
2025-01-17 12:44:24 +02:00
Donald Sharp
acc3cfe334
Merge pull request #17727 from idryzhov/netns-all-daemons
lib: introduce global -w option for VRF netns backend
2025-01-16 08:11:07 -05:00
Christian Hopps
f71d5281ce tests: dont run ldp snmp test if no snmp
Signed-off-by: Christian Hopps <chopps@labn.net>
2025-01-16 02:13:34 +00:00
Christian Hopps
b0f9c4d688 tests: fix missed grpc test requirement for frr-backend addition
Signed-off-by: Christian Hopps <chopps@labn.net>
2025-01-16 02:13:34 +00:00
Igor Ryzhov
754b949889 tests: use global -w option instead of per-daemon -n
Add ability to enable -w option for all daemons in a topotest and use
this option instead of the deprecated -n.

Signed-off-by: Igor Ryzhov <idryzhov@gmail.com>
2025-01-15 23:38:27 +02:00
Russ White
0bc373c573
Merge pull request #17838 from opensourcerouting/msdp-topo3
topotests: improve test reliability
2025-01-15 11:11:49 -05:00
Donald Sharp
d43bdb9568
Merge pull request #17855 from opensourcerouting/fix/bgp_enhe_capability_via_dynamic_capability
bgpd: Handle ENHE capability via dynamic capability
2025-01-15 10:34:39 -05:00
Donald Sharp
5867c32161
Merge pull request #17776 from nabahr/group-rpf-mode
PIMD: RPF lookup mode per-group, per-source
2025-01-15 10:20:24 -05:00
Donatas Abraitis
d1cfd73060 tests: Check if ENHE capability can be handled dynamically
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2025-01-14 22:46:51 +02:00
Donald Sharp
5f35096123
Merge pull request #17796 from LabNConsulting/chopps/datastore-notifications
operational-state (datastore) change notifications
2025-01-14 13:47:28 -05:00
Russ White
4212bac7de
Merge pull request #17800 from opensourcerouting/fix/import_between_vrf_respect_allowas_in
bgpd: Respect allowas-in value from the source VRF's peer
2025-01-14 10:19:26 -05:00
Russ White
b4619da938
Merge pull request #17639 from pguibert6WIND/bmp_import_vrf_view
Ability to import BMP information from a separate BGP instance
2025-01-14 08:38:37 -05:00
Philippe Guibert
bd4b8c3dac topotest: add a test to control the community-list count
Add a test to control the community-list count.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2025-01-14 13:59:45 +01:00
Donatas Abraitis
ba4122d6db
Merge pull request #17840 from Jafaral/pim-acl-test
tests: remove unnecessary wildcard fields from pim acl test
2025-01-14 09:08:41 +02:00
Christian Hopps
7f80885099 tests: add datastore notification test
Signed-off-by: Christian Hopps <chopps@labn.net>
2025-01-13 23:40:52 -05:00
Rafael Zalamena
dda4f00f65 topotests: improve test reliability
Decrease the protocol timers, wait for peers to connect (and test it)
then finally wait a bit more for SAs to be propagated.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2025-01-13 09:26:17 -03:00
Christian Hopps
3366056bce tests: update munet to 0.15.4
- add readline and waitline functions for use with popen objects
- other non-topotest (munet native) run changes
  - vm/qemu support booting cloud images (rocky, ubuntu, debian)
  - native topology init commands

Signed-off-by: Christian Hopps <chopps@labn.net>
2025-01-12 16:15:02 +00:00
Jafar Al-Gharaibeh
8b4b88d4d6 tests: remove unnecessary wildcard fields from pim acl test
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2025-01-10 17:32:30 -06:00
Nathan Bahr
590c937e8a tests: Add tests for new RPF lookup group and source list features
Expand existing pim_mrib tests to include testing lookup modes
specific to source and/or group as defined in prefix lists.

Signed-off-by: Nathan Bahr <nbahr@atcorp.com>
2025-01-09 21:58:22 +00:00
Jafar Al-Gharaibeh
3915dd5b53 tests: avoid nondeterministic route
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2025-01-09 15:44:25 -06:00
Donald Sharp
414bc26bc0 tests: bgp_srv6l3vpn_to_bgp_vrf3 needs more time
The test starts with checking for rib insertion
of routes that may take some time after system
startup to come up.  Under heavy load this may
cause this test to just fail.  Give it more time.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2025-01-09 13:43:58 -05:00
Donald Sharp
b46d3a1a42 tests: bgp_srv6_sid_reachability should give more time
The test starts right in on check_pings with a 10 second
time out.  Any type of delay on startup is going to cause
problems.  Give the first check_ping significant time
for the test to be fully brought up.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2025-01-09 10:31:07 -05:00
Donatas Abraitis
929591cdb0 tests: Check if allowas-in works when importing between local VRFs
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2025-01-08 19:22:27 +02:00
Russ White
21fe1f4d83
Merge pull request #17707 from gromit1811/pr16811_rebased
tests: cleanup ospf6 ecmp inter area
2025-01-07 16:14:15 -05:00
Donald Sharp
96ab6ae32b
Merge pull request #17781 from LabNConsulting/chopps/fix-keyless-list-query
fix xpath query on keyless list with positional predicate
2025-01-07 13:17:37 -05:00
Donald Sharp
0a52c233d3
Merge pull request #17782 from LabNConsulting/chopps/new-notify-msg-fmt
New YANG notify msg fmt
2025-01-07 13:15:40 -05:00
Donald Sharp
1a7923e7bc
Merge pull request #17783 from LabNConsulting/chopps/new-oper-get-callback
Add new oper state get callback
2025-01-07 13:11:26 -05:00
Philippe Guibert
51cedaa30c topotests: bmp, test syncro for pre/post-policy of imported bgps
Add a test that controls that the configuration of an imported
BGP instance triggers a re-syncronisation.
Ensure that changing an attribute like route distinguisher
triggers also a re-syncronisation.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2025-01-07 15:35:32 +01:00
Philippe Guibert
6c7b2abc01 bgpd, topotests: bmp imported bgp, send peer up events when config param changed
When a BGP instance is created or becomes valid, and when a parameter
is updated (router-id, route distinguisher), the peer up messages other
than loc rib peer up messages, are sent. Add a test that controls if
peer down and peer up messages are sent accordingly with correct route
distinguisher values.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2025-01-07 15:35:32 +01:00
Philippe Guibert
ca7699f4ae bgpd, topotests: bmp, send peer down when unconfiguring imported vrf
When unconfiguring an imported BGP instance, a peer down
should be sent to notify BMP collector that the BGP instance
is leaving.

Add a test that controls the presence of the peer down loc-rib
message.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2025-01-07 15:35:32 +01:00
Philippe Guibert
62891717e3 bgpd, topotests: bmp imported bgp, add loc-rib peer up support when vrf flaps
Add the emission of a loc-rib peer up event for an imported bgp instance
when vrf state changes. Add a test to control in the BMP collector
that the peer up message is the one from that BGP instance.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2025-01-07 15:35:31 +01:00