Commit 1b9ae18a36 for frr
commit 1b9ae18a36c13ad4e602c79b73ca5c026bddd442
Author: Philippe Guibert <philippe.guibert@6wind.com>
Date: Thu Oct 8 17:26:36 2026 +0200
topotests: check srv6-only default after 'no segment-routing srv6'
When the 'no segment-routing srv6' command is applied on a BGP instance,
the 'segment-routing srv6' node is still displayed in the running
configuration of that instance, with the 'no srv6-only' command, whereas
srv6-only was never unconfigured.
Add a test in bgp_srv6l3vpn_sid that checks that 'no srv6-only' is not
displayed after 'no segment-routing srv6' has been applied on the
default and vrf20 BGP instances of r1. This test is expected to fail
with the current code.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
diff --git a/tests/topotests/bgp_srv6l3vpn_sid/test_bgp_srv6l3vpn_sid.py b/tests/topotests/bgp_srv6l3vpn_sid/test_bgp_srv6l3vpn_sid.py
index 7eaa5dc1f0..8c08f650f5 100755
--- a/tests/topotests/bgp_srv6l3vpn_sid/test_bgp_srv6l3vpn_sid.py
+++ b/tests/topotests/bgp_srv6l3vpn_sid/test_bgp_srv6l3vpn_sid.py
@@ -504,6 +504,23 @@ def test_sid_suppress_locator_vrf_default():
check_rib("r1", "show bgp ipv6 vpn json", "r1/vpnv6_rib_unselected.json")
+def test_sid_suppress_srv6_keeps_srv6_only_default():
+ """
+ Test that 'no segment-routing srv6' does not leave 'no srv6-only'
+ in the BGP instances of R1
+ """
+ output = (
+ get_topogen().gears["r1"].vtysh_cmd("show running-config bgpd", raises=True)
+ )
+ for instance in ("router bgp 1\n", "router bgp 1 vrf vrf20\n"):
+ assert instance in output, "'{}' not found in r1 configuration:\n{}".format(
+ instance.strip(), output
+ )
+ assert (
+ "no srv6-only" not in output
+ ), "'no srv6-only' found in r1 configuration:\n{}".format(output)
+
+
def test_sid_add_locator_vrf_10():
"""
Test that IPv6 vpn prefixes for VRF10 can be advertised to R2 with SRv6 SID