Commit Graph

4049 Commits

Author SHA1 Message Date
Philippe Guibert
d55a5864dd topotests: bgp_bmp, expose peer_distinguisher in loc-rib
The BMP implementation currently only supports global and
loc-rib instance types. When loc-rib is selected, the
peer_distinguisher is set to the route distinguisher of
the L3VRF where the BGP instance is. This functionality has
not been tested until now, because the peer distinguisher
value had been explicitly omitted in the bmp messages.

Expose the peer distinguisher value in all BMP messages
received. This change requires to modify the expected output
for loc-rib when the BGP instance is in a L3VRF.

The handling of peer distinguisher value for RD instances
will follow in the next commits.

Link: https://www.rfc-editor.org/rfc/rfc7854.html#section-4.2

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2024-12-11 11:29:37 +01:00
Jafar Al-Gharaibeh
ccb57ad10f
Merge pull request #17521 from opensourcerouting/msdp-sa-limit
pimd: MSDP per peer SA limit
2024-12-10 11:36:50 -06:00
Russ White
3f6bf6d03c
Merge pull request #17608 from opensourcerouting/fix/vpn_import_routes_allowas-in
bgpd: Import allowed routes with self AS if desired
2024-12-10 11:24:15 -05:00
Donatas Abraitis
77857dc210 tests: Check if vpn routes can be imported if allowas-in is set
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-12-08 21:44:52 +02:00
Corey Siltala
7c2c70dd2b tests: Add basic multicast boundary test
Add simple test to show filtering of IGMP joins using new "ip multicast
boundary" filtering with access-lists, include test of existing prefix-
list based "ip multicast boundary oil" command.

Signed-off-by: Corey Siltala <csiltala@atcorp.com>
2024-12-06 14:44:52 -06:00
Donatas Abraitis
03ea25af68
Merge pull request #17545 from pguibert6WIND/peerup_loc_rib_wrong_format
bgpd: fix peer up message for loc-rib not sent
2024-12-06 14:47:48 +02:00
Donatas Abraitis
3d15035491
Merge pull request #17579 from donaldsharp/timer_connect_bgp_vrf_netns
Timer connect bgp vrf netns
2024-12-06 14:26:33 +02:00
Donald Sharp
a5c5b87389 tests: Fix invalid escape seq seen in bgp_nexthop_ipv6
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-12-05 14:08:20 -05:00
Donald Sharp
dc372568ad tests: Convert to using neighbor X timers connect 1 for exabgp using tests
For those tests using exabgp convert them all to use `neighbor X timers
connect 1`.  I have noticed that occassionally when looking at the
support files for tests run that peers are in a wait period for
reconnecting which is longer than the test is waiting to converge.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-12-05 14:08:12 -05:00
Donald Sharp
645a82ec60 tests: bfd_profiles_topo1 is taking a long time to reconnect
Make it faster

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-12-05 10:19:55 -05:00
Philippe Guibert
f921a8d09a topotests: bmp, test that loc-rib peer up message is sent
Add a test at startup to ensure that peer up message for loc-rib is
correctly set.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2024-12-05 15:42:10 +01:00
Rafael Zalamena
0d904c28c3 topotests: test new MSDP SA limit feature
Test that only the limit amount of SAs is learned from the peer.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2024-12-05 10:38:56 -03:00
Jafar Al-Gharaibeh
59b0a6e339
Merge pull request #17502 from opensourcerouting/msdp-shutdown
pimd: implement MSDP shutdown command
2024-12-04 21:57:18 -06:00
Russ White
e9c9db0122
Merge pull request #17542 from opensourcerouting/fix/peer-group_remote_as_regression
bgpd: Fix remote-as with peer-group
2024-12-03 10:05:44 -05:00
Mark Stapp
426dc2b7e2
Merge pull request #17547 from donaldsharp/some_cleanups
Some cleanups
2024-12-03 08:57:28 -05:00
Philippe Guibert
d1301f1c2a topotests: save bgp_bmp json temp files to bmp log folder instead of /tmp
Some temporary files are hardwritten in /tmp folder. Use the bmp log
folder instead. Replace the bmp log file argument with bmp log folder.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2024-12-02 18:44:53 +01:00
Louis Scalbert
f2eb14d381 tests: save bmp pcap in logdir instead of /tmp
DEBUG_PCAP can be set True to manually enable pcap debugging when
running bmp tests.

Save bmp pcap in logdir (ie. /tmp/topotests/bgp_bmp.bgp_bmp_X/ instead
of /tmp.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2024-12-02 18:44:53 +01:00
Louis Scalbert
b12e04fdf1 tests: fix bmp test parallelization
Multiple BMP tests can run in parallel but, when one instance ends,
it kills the BMP server process of all BMP tests.

Save the PID of a BMP server and only kill it at the end.

Link: https://github.com/FRRouting/frr/issues/17465
Fixes: 875511c466 ("topotests: add basic bmp collector")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2024-12-02 18:44:53 +01:00
Louis Scalbert
bbf8ee1769 tests: add py extension to bmpserver
to help identify the file type. And apply black.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2024-12-02 18:44:53 +01:00
Philippe Guibert
1ea8ba5902 topotests: bgp_bmp, use unified configuration
Use unified configuration procedure.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2024-12-02 18:44:50 +01:00
Donald Sharp
0d7d795c00 tests: bgp_route_server_client should not use /tmp
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-12-02 10:59:07 -05:00
Donald Sharp
b109b0cd82 tests: bgp_snmp_mplsl3vpn should not use /tmp directory
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-12-02 10:57:41 -05:00
Donald Sharp
6112030f27 tests: ospf_metric_propagation do not use /tmp
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-12-02 10:55:09 -05:00
Philippe Guibert
2dc693e808 topotests: fix bmp_collector handling of empty as-path
When configuring the bgp_bmp test with an additional
peer that sends empty AS-PATH, the bmp collector is stopping:

> [2024-10-28 17:41:51] Finished dissecting data from ('192.0.2.1', 33922)
> [2024-10-28 17:41:52] Data received from ('192.0.2.1', 33922): length 195
> [2024-10-28 17:41:52] Got message type: <class 'bmp.BMPRouteMonitoring'>
> [2024-10-28 17:41:52] unpack_from requires a buffer of at least 2 bytes for unpacking 2 bytes at offset 0 (actual buffer size is 0)
> [2024-10-28 17:41:52] TCP session closed with ('192.0.2.1', 33922)
> [2024-10-28 17:41:52] Server shutting down on 192.0.2.10:1789

The parser attempts to read an empty AS-path and considers the length
value as a length in bytes, whereas RFC mentions this value as
definining the number of AS-PAths. Fix this in the parser.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2024-12-02 16:54:04 +01:00
Philippe Guibert
0af653eaf7 topotests: bmp, create shared library for bmp
The bgp_bmp and bgp_bmp_vrf tests use similar routines
to test the bmp, but are duplicates. Gather the bgp_bmp
and the bgp_bmp_vrf tests in a single bgp_bmp folder.

- Create a bgpbmp.py library under the bgp_bmp test folder
- The bgp_bmp and bgp_bmp_vrf test are renamed to bgp_bmp_1
and bgp_bmp_2 test.
- Maintain separate folder for config and output results. Adapt
the bgp_bmp library accordingly.
- The json output for bgp_bmp_2 test has no referenc to hostame.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2024-12-02 16:54:04 +01:00
Donald Sharp
caf9cddcf6 tests: ospf_multi_instance should not use /tmp
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-12-02 10:52:40 -05:00
Donald Sharp
04b29f61b5 tests: ospf_multi_vrf_bgp_route_leak should not use /tmp
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-12-02 10:52:01 -05:00
Donald Sharp
e3ee41c7f2 tests: ospf_netns_vrf should not use /tmp
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-12-02 10:51:13 -05:00
Donald Sharp
3b9db86e13 tests: ospf_p2mp should not use /tmp
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-12-02 10:49:58 -05:00
Donald Sharp
aeeb7fe68b tests: ospf_prefix_suppression should not use /tmp
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-12-02 10:48:20 -05:00
Donald Sharp
649eb5cdc3 tests: pim_autorp should not use /tmp
Cleanup usage of log file into /tmp.  Remove usage of
debugs that will slow down test and remove password.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-12-02 10:46:50 -05:00
Donald Sharp
d5687faa0c tests: pim_basic should not use /tmp for outputing of files
Use the appropriate log directory.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-12-02 10:44:46 -05:00
Donald Sharp
d580bcd6e7 tests: simple_snmp_test should not use /tmp for logging
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-12-02 10:41:25 -05:00
Donald Sharp
12b032abb8 tests: pim_cand_rp_bsr uses /tmp directory and it should not
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-12-02 10:40:42 -05:00
Donald Sharp
67d697ad26 tests: zebra_rib should not use /tmp for log files
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-12-02 10:39:13 -05:00
Donald Sharp
6e552125e9 tests: bgp_nexthop_ipv6 remove unused reference to /tmp
This code should not be outputting anything to the /tmp directory,
remove commented out code

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-12-02 10:38:23 -05:00
Donald Sharp
66ea35cbb5 tests: bgp_lu_topo[1|2] should not use log files in /tmp
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-12-02 10:36:15 -05:00
Donatas Abraitis
6f1ad10d90 tests: Check if remote-as is not flushed once peer-group applied
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-12-01 14:50:48 +02:00
Donatas Abraitis
ee5a3456d3
Merge pull request #17525 from famfo/podman-tests
topotests: Allow runing under both docker and podman
2024-11-29 10:02:12 +02:00
famfo
d87ec38dfd
topotests: Allow runing under both docker and podman
Signed-off-by: famfo <famfo@famfo.xyz>
2024-11-28 14:59:29 +01:00
Philippe Guibert
b8b7a615ac topotests: bgp_evpn_rt5, add test for advertise route-map service
Use the advertise route-map command, and check that it
filters out correctly the undesirable prefixes. Reversely,
check that undoing that route-map recovers all prefixes.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2024-11-27 08:47:24 +01:00
Philippe Guibert
fe272d3508 topotests: bgp_evpn_rt5, rework test
Rework the test file by adding test methods.
Add a convergence test that checks for the incoming BGP prefixes.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2024-11-27 08:47:19 +01:00
Jafar Al-Gharaibeh
5c1154beaf
Merge pull request #16878 from donaldsharp/increased_test_cover
Add some test cases, and some ability to see what is going on in zebra
2024-11-26 13:40:39 -06:00
Russ White
842da0d00e
Merge pull request #17501 from opensourcerouting/fix/gr_peer-groups
bgpd: Fix Graceful-Restart for peer-groups
2024-11-26 10:35:19 -05:00
Russ White
c84a680097
Merge pull request #14367 from donaldsharp/ospfapi_test_failure
two test cleanups
2024-11-26 10:13:59 -05:00
Russ White
0a40e044ac
Merge pull request #17219 from zhou-run/202406201119
isisd: When the ISIS types of the routers do not match on a P2P link, the neighbor status remains UP
2024-11-26 10:10:33 -05:00
Donatas Abraitis
f3189d797d tests: Deprecate TOPOTEST_PULL
We do not maintain docker.com/frrouting anymore and not building custom
images for topotests.

Use local images for topotests instead.

Just use:

```
mak topotests-build
make topotests
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-11-26 11:42:49 +02:00
Donatas Abraitis
6eb3a60289 tests: Set vm.mmap_rnd_bits for topotests docker foobar
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-11-26 11:34:12 +02:00
Donatas Abraitis
2484793bc5 tests: Fix docker build for topotests
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-11-26 11:26:55 +02:00
Rafael Zalamena
2c79f3532e topotests: test MSDP shutdown command
New test step to check that MSDP shutdown command is working.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2024-11-25 19:23:36 -03:00