summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2025-03-21Merge pull request #18359 from soumyar-roy/soumya/streamsizeMark Stapp
zebra: zebra crash for zapi stream
2025-03-21Merge pull request #18277 from y-bharath14/srib-tests-v2Donatas Abraitis
tests: Catch specific exceptions
2025-03-21tests: add bfd_static_vrfLouis Scalbert
Add bfd_static_vrf to test BFD tracking of static routes in VRF. Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2025-03-20tests: Add staticd/ospfd/ospf6d/pimd for high ecmpSoumya Roy
Signed-off-by: Soumya Roy <souroy@nvidia.com>
2025-03-20bgpd: fix evpn attributes being dropped on inputTuetuopay
All assignments of the EVPN attributes (ESI and Gateway IP) are gated behind the peer being set up for inbound soft-reconfiguration. There are no actual reasons for this limitation, so let's perform the EVPN attribute assignment no matter what when soft reconfiguration is not enabled. Fixes: 6e076ba5231 ("bgpd: Fix for ain->attr corruption during path update") Signed-off-by: Tuetuopay <tuetuopay@me.com>
2025-03-19Merge pull request #18325 from chdxD1/topotests/evpn-multipath-flapJafar Al-Gharaibeh
topotests: Add EVPN RT5 multipath flap test
2025-03-19tests: wait_time is not defined so don't use itDonald Sharp
In daemon startup a error message was attempting to use a variable `wait_time` that has not been setup. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2025-03-19tests: Ensure that the daemon has connected to zebraDonald Sharp
On daemon startup, ensure that the daemon is there and connected to zebra. There are some exceptions, pathd is srte. pim6d and pimd are the same at the moment and finally smnptrapd. This should help the startup of using a unified config in the topotests. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2025-03-19Merge pull request #18374 from raja-rajasekar/rajasekarr/nhg_intf_flap_issueRuss White
zebra: Fix reinstalling nexthops in NHGs upon interface flaps
2025-03-18zebra: Fix reinstalling nexthops in NHGs upon interface flapsRajasekar Raja
Trigger: Imagine a route utilizing an NHG with six nexthops (Intf swp1-swp6). If interfaces swp1-swp4 flaps, the NHG remains the same but now only references two nexthops (swp5-6) instead of all six. This behavior occurs due to how NHGs with recursive nexthops are managed within Zebra. In the scenario below, NHG 370 has all six nexthops installed in the kernel. However, Zebra maintains a list of recursive NHGs that NHG 370 references i.e., Depends: (371), (372), (373) which are not directly installed in the kernel. - When an interface comes up, its nexthop and corresponding dependents are installed. - These dependents (counterparts to 371-373) are non-recursive and are installed as well. - However, when attempting to install the recursive ones in zebra_nhg_install_kernel(), they resolve to the already installed counterparts, resulting in a NO-OP. Fixing this by iterating all dependents of the recursively resolved NHGs and reinstalling them. Trigger: Flap swp1 to swp4 Before Fix: root@leaf-11:mgmt:/var/home/cumulus# ip route show | grep 6.0.0.5 6.0.0.5 nhid 370 proto bgp metric 20 ip -d next show id 337 via 2000:1:0:1:0:f:0:9 dev swp6 scope link proto zebra id 339 via 2000:1:0:1:0:e:0:9 dev swp5 scope link proto zebra id 341 via 2000:1:0:1:0:8:0:8 dev swp4 scope link proto zebra id 343 via 2000:1:0:1:0:7:0:8 dev swp3 scope link proto zebra id 346 via 2000:1:0:1:0:1:0:7 dev swp2 scope link proto zebra id 348 via 2000:1:0:1::7 dev swp1 scope link proto zebra id 370 group 346/348/341/343/337/339 scope global proto zebra After Trigger: root@leaf-11:mgmt:/var/home/cumulus# ip route show | grep 6.0.0.5 6.0.0.5 nhid 370 proto bgp metric 20 root@leaf-11:mgmt:/var/home/cumulus# ip -d next show id 337 via 2000:1:0:1:0:f:0:9 dev swp6 scope link proto zebra id 339 via 2000:1:0:1:0:e:0:9 dev swp5 scope link proto zebra id 370 group 337/339 scope global proto zebra After Fix: root@leaf-11:mgmt:/var/home/cumulus# ip route show | grep 6.0.0.5 6.0.0.5 nhid 432 proto bgp metric 20 ip -d next show id 432 group 395/397/400/402/405/407 scope global proto zebra After Trigger root@leaf-11:mgmt:/var/home/cumulus# ip route show | grep 6.0.0.5 6.0.0.5 nhid 432 proto bgp metric 20 root@leaf-11:mgmt:/var/home/cumulus# ip -d next show id 432 group 395/397/400/402/405/407 scope global proto zebra Ticket :# Signed-off-by: Rajasekar Raja <rajasekarr@nvidia.com> Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2025-03-18Merge pull request #18349 from donaldsharp/more_yang_stateRuss White
More yang state
2025-03-18Merge pull request #18414 from y-bharath14/srib-tests-v5Jafar Al-Gharaibeh
tests: Corrected input dict at pim.py
2025-03-18Merge pull request #18364 from dmytroshytyi-6WIND/rtadv_disableRuss White
bgpd, zebra, tests: disable rtadv when bgp instance unconfiguration.
2025-03-18tests: add route-map evpn set gateway-ip topotestTuetuopay
This test does not actually look at the route since the gateway-ip is not exposed in vtysh output. However, this ensures such a route-map does not crash bgpd. Signed-off-by: Tuetuopay <tuetuopay@me.com>
2025-03-18tests: Corrected input dict at pim.pyY Bharath
Corrected input dict at pim.py Signed-off-by: y-bharath14 <y.bharath@samsung.com>
2025-03-17tests: Check if addpath with disabled RX flag is working correctly in RS setupDonatas Abraitis
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2025-03-17tests: add rtadv topotestDmytro Shytyi
Verify the new rtadv "show interface json" fields The rtadv json parameters should not be present when bgp instance is disabled. Signed-off-by: Dmytro Shytyi <dmytro.shytyi@6wind.com>
2025-03-15tests: fix wrong callback function parameters in unit-testChristian Hopps
Signed-off-by: Christian Hopps <chopps@labn.net>
2025-03-15tests: deal with configure overridden timestamp prec in unit testChristian Hopps
Previously if you configured a different timestamp precision then `make check` would fail as the non-default config is generated and fails test_cli config file comparison. Signed-off-by: Christian Hopps <chopps@labn.net>
2025-03-14lib: add `darr_strlen_fixup()` to update len based on NUL termChristian Hopps
Signed-off-by: Christian Hopps <chopps@labn.net>
2025-03-12Merge pull request #18366 from pguibert6WIND/community_limit_zero_add_testDonatas Abraitis
Add Testing for community and Extended community match limit zero
2025-03-12tests: add bgp peer-shutdown topotestMark Stapp
Add a simple topotest using multiple bgp peers; based on the ecmp_topo1 test. Signed-off-by: Mark Stapp <mjs@cisco.com>
2025-03-12topotests: Add EVPN RT5 multipath flap testChristopher Dziomba
Session flapping isn't tested which led to queuing / order issues in the past. This adds a second path between R1 and R2, after that both paths are flapped and the presence of the routerMac is checked Signed-off-by: Christopher Dziomba <christopher.dziomba@telekom.de>
2025-03-11Merge pull request #16614 from louis-6wind/fix-otable-heap-after-freeMark Stapp
zebra: fix table heap-after-free crash
2025-03-11topotests: check when extended community-limit is set to 0Philippe Guibert
Add a test to control that when the extended community limit is set to 0, then only 2 BGP updates are received on R3. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2025-03-11topotests: check when community-limit is set to 0Philippe Guibert
Add a test to control that when the community limit is set to 0, then only 2 BGP updates are received on R3. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2025-03-11tests: Fixed NameError at bmpserver.pyY Bharath
Fixed NameError at bmpserver.py Signed-off-by: y-bharath14 <y.bharath@samsung.com>
2025-03-10tests: zebra_rib, test vrf changeLouis Scalbert
Test table ID move to a VRF and the removal of the VRF. Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2025-03-10lib, tests, zebra: keep table routes at vrf disablingLouis Scalbert
At VRF disabling, keep the route entries that was associated to its table ID but not to the VRF itself. Kernel flushes these entries so we need to reinstall them. To do so, add a flag to mean that a route entry is owned by a table ID and not by a VRF. If the VRF associated to the table ID is deleted, the route entry must not be deleted. Update to tests with new flag. 2057 is in hexa 0x809, meaning that the new flag has been to some prefix. Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2025-03-10tests: zebra_rib, test vrf changeLouis Scalbert
Test table ID move to a VRF and the removal of the VRF. Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2025-03-07tests: Test that ipv6 forwarding state is reflected properlyDonald Sharp
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2025-03-07tests: Add tests for the new operational data added recentlyDonald Sharp
ip-forwarding, ipv6-forwarding and mpls-forwarding were not being looked at/tested for existence in the query of frr. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2025-03-07tests: Have zebra startup look for the zserv.api socketDonald Sharp
Ensure that the zserv.api socket is actually up and running before moving onto other daemons after zebra. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2025-03-07tests: Allow mgmtd and zebra to fully come up before other daemonsDonald Sharp
Currently the topotest infrastructure is starting up daemons in mgmtd,zebra, staticd then everything else. The problem that is happening, under heavy load, is that zebra may not be fully started and when a daemon attempts to connect to it, it will not be able to connect. Some of the daemons do not have great retry mechanisms at all. In addition our normal systemctl startup scripts actually wait a small amount of time for zebra to be ready before moving onto the other daemons. Let's make topotests startup a tiny bit more nuanced and have mgmtd fully up before starting up zebra. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2025-03-07Merge pull request #18344 from donaldsharp/fix_pytest_syntx_stuffJafar Al-Gharaibeh
tests: bgp_evpn_route_map_match fix invalid escape sequence
2025-03-07tests: bgp_evpn_route_map_match fix invalid escape sequenceDonald Sharp
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2025-03-07tests: Corrected typo at path_attributes.pyY Bharath
Corrected typo at path_attributes.py Signed-off-by: y-bharath14 <y.bharath@samsung.com>
2025-03-06Merge pull request #18214 from soumyar-roy/soumya/ra514neiDonatas Abraitis
zebra: Bring up 514 BGP neighbor sessions
2025-03-05tests: add support for 514 unnumbered/v4/v6 BGP sessionsSoumya Roy
Signed-off-by: Soumya Roy <souroy@nvidia.com>
2025-03-05tests: add support for bringimg up 514 BGP neighborsSoumya Roy
Signed-off-by: Soumya Roy <souroy@nvidia.com>
2025-03-05zebra: Bring up 514 BGP neighbor sessionsSoumya Roy
Issue: When 514 inerfaces/neighbors are configured, it creates socket error, "Cannot allocate memory", when back to back V6 RA messages are tried to be sent over the socket. This prevents interface, to know its peer's link local address. Socket error comes when 1) try to join ICMPv6 all router multicast group, back to back for all interfaces 2)send back to back RA for all interfaces Fix: 1)For ICMPv6 join case, we check if the interface has already joined all router group, if not try to join. On failure, retry joining after random amount of time determined 1 ms to ICMPV6_JOIN_TIMER_EXP_MS(100 ms) 2) For RA issue case, batch sending of RA mesages using wheel timer Testing: Monitor BGP session running sh bgp summary command Before fix: r1# sh bgp summary IPv4 Unicast Summary: BGP router identifier 192.168.1.1, local AS number 1001 VRF default vrf-id 0 BGP table version 0 RIB entries 0, using 0 bytes of memory Peers 515, using 12 MiB of memory Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd PfxSnt Desc r1-eth0 4 1002 89 90 0 0 0 00:07:10 0 0 N/A r1-eth1 4 1002 89 90 0 0 0 00:07:10 0 0 N/A r1-eth2 4 1002 89 90 0 0 0 00:07:10 0 0 N/A r1-eth3 4 1002 89 90 0 0 0 00:07:10 0 0 N/A r1-eth4 4 1002 89 90 0 0 0 00:07:10 0 0 N/A r1-eth5 4 1002 89 90 0 0 0 00:07:10 0 0 N/A …..<snip>... r1-eth252 4 1002 31 29 0 0 0 00:02:08 0 0 N/A r1-eth253 4 1002 31 29 0 0 0 00:02:08 0 0 N/A r1-eth254 4 1002 31 29 0 0 0 00:02:08 0 0 N/A r1-eth255 4 1002 31 29 0 0 0 00:02:08 0 0 N/A r1-eth256 4 0 0 0 0 0 0 never Idle 0 N/A r1-eth257 4 0 0 0 0 0 0 never Idle 0 N/A r1-eth258 4 0 0 0 0 0 0 never Idle 0 N/A r1-eth259 4 0 0 0 0 0 0 never Idle 0 N/A r1-eth260 4 0 0 0 0 0 0 never Idle 0 N/A ……..<snip>….. r1-eth511 4 0 0 0 0 0 0 never Idle 0 N/A r1-eth512 4 0 0 0 0 0 0 never Idle 0 N/A r1-eth513 4 0 0 0 0 0 0 never Idle 0 N/A r1-eth514 4 0 0 0 0 0 0 never Idle 0 N/A After fix: r1# show bgp summary IPv4 Unicast Summary: BGP router identifier 192.168.1.1, local AS number 1001 VRF default vrf-id 0 BGP table version 0 RIB entries 0, using 0 bytes of memory Peers 515, using 12 MiB of memory Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd PfxSnt Desc r1-eth0 4 1002 87 87 0 0 0 00:07:04 0 0 N/A r1-eth1 4 1002 87 87 0 0 0 00:07:04 0 0 N/A r1-eth2 4 1002 87 87 0 0 0 00:07:04 0 0 N/A r1-eth3 4 1002 64 67 0 0 0 00:05:09 0 0 N/A r1-eth4 4 1002 87 87 0 0 0 00:07:04 0 0 N/A r1-eth5 4 1002 87 87 0 0 0 00:07:04 0 0 N/A r1-eth6 4 1002 67 70 0 0 0 00:05:22 0 0 N/A r1-eth7 4 1002 87 87 0 0 0 00:07:04 0 0 N/A r1-eth8 4 1002 87 87 0 0 0 00:07:04 0 0 N/A .... r1-eth499 4 1002 43 43 0 0 0 00:03:22 0 0 N/A r1-eth500 4 1002 43 43 0 0 0 00:03:22 0 0 N/A r1-eth501 4 1002 19 22 0 0 0 00:01:21 0 0 N/A r1-eth502 4 1002 43 43 0 0 0 00:03:22 0 0 N/A r1-eth503 4 1002 43 43 0 0 0 00:03:22 0 0 N/A r1-eth504 4 1002 20 23 0 0 0 00:01:30 0 0 N/A r1-eth505 4 1002 43 43 0 0 0 00:03:22 0 0 N/A r1-eth506 4 1002 43 43 0 0 0 00:03:22 0 0 N/A r1-eth507 4 1002 22 25 0 0 0 00:01:39 0 0 N/A r1-eth508 4 1002 43 43 0 0 0 00:03:22 0 0 N/A r1-eth509 4 1002 17 20 0 0 0 00:01:13 0 0 N/A r1-eth510 4 1002 43 43 0 0 0 00:03:22 0 0 N/A r1-eth511 4 1002 43 43 0 0 0 00:03:22 0 0 N/A r1-eth512 4 1002 19 22 0 0 0 00:01:22 0 0 N/A r1-eth513 4 1002 43 43 0 0 0 00:03:22 0 0 N/A r1-eth514 4 1002 43 43 0 0 0 00:03:22 0 0 N/A Signed-off-by: Soumya Roy <souroy@nvidia.com>
2025-03-04Merge pull request #18306 from LabNConsulting/aceelindem/bfd-log-session-changesRuss White
bfdd: Add "log-session-changes" command to BFD configuration and operational state via YANG Northbound API.
2025-03-04Merge pull request #18301 from ↵Russ White
pguibert6WIND/vpn_prefix_aggregate_export_and_accept Vpn prefix aggregate export and accept
2025-03-04Merge pull request #17961 from opensourcerouting/fix/bgp_reject_as_aggregateRuss White
bgpd: Do not advertise aggregate routes to contributing ASes
2025-03-03tests: Add "log-session-changes" to bfd_topo1 r1 and r2 configs.Acee Lindem
Signed-off-by: Acee Lindem <acee@lindem.com>
2025-03-03topotests: add a test to configure aggregated summary-only prefix on VPNPhilippe Guibert
That configured aggregated prefix should be present, but all other suppressed prefixes should not be exported. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2025-03-03topotests: add a test to unconfigure aggregated prefix on VPNPhilippe Guibert
That test will ensure the VPN prefix associated is removed. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2025-03-03topotests: add vpn test to control aggregated prefix is exportedPhilippe Guibert
Add a test in bgp_vpnv4_ebgp test to control that the aggregated prefix is exported and selected as a VPN prefix. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2025-03-01tests: Add test case to verify that SIDs can be re-addedCarmine Scarpitta
Add a test case to verify that staticd is able to re-install all SIDs after disabling and re-enabling SRv6. Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2025-03-01tests: Add test case to verify `no srv6` commandCarmine Scarpitta
Add a test case to verify that staticd removes all SIDs when the `no srv6` command is executed. Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>