+++ /dev/null
-{
- "fcbb:bbbb:1::/48": [
- {
- "prefix": "fcbb:bbbb:1::/48",
- "prefixLen": 48,
- "protocol": "static",
- "vrfId": 0,
- "vrfName": "default",
- "selected": true,
- "destSelected": true,
- "distance": 1,
- "metric": 0,
- "installed": true,
- "table": 254,
- "internalStatus": 16,
- "internalFlags": 9,
- "internalNextHopNum": 1,
- "internalNextHopActiveNum": 1,
- "nexthops": [
- {
- "flags": 3,
- "fib": true,
- "directlyConnected": true,
- "interfaceName": "sr0",
- "active": true,
- "weight": 1,
- "seg6local": {
- "action": "End",
- "sidStructure": {
- "blockLen": 32,
- "nodeLen": 16,
- "funcLen": 0,
- "argLen": 0
- }
- },
- "seg6localContext": {
-
- }
- }
- ]
- }
- ],
- "fcbb:bbbb:1:fe10::/64": [
- {
- "prefix": "fcbb:bbbb:1:fe10::/64",
- "prefixLen": 64,
- "protocol": "static",
- "vrfId": 0,
- "vrfName": "default",
- "selected": true,
- "destSelected": true,
- "distance": 1,
- "metric": 0,
- "installed": true,
- "table": 254,
- "internalStatus": 16,
- "internalFlags": 9,
- "internalNextHopNum": 1,
- "internalNextHopActiveNum": 1,
- "nexthops": [
- {
- "flags": 3,
- "fib": true,
- "directlyConnected": true,
- "interfaceName": "Vrf10",
- "active": true,
- "weight": 1,
- "seg6local": {
- "action": "End.DT4",
- "sidStructure": {
- "blockLen": 32,
- "nodeLen": 16,
- "funcLen": 16,
- "argLen": 0
- }
- },
- "seg6localContext": {
- "table": 10
- }
- }
- ]
- }
- ],
- "fcbb:bbbb:1:fe20::/64": [
- {
- "prefix": "fcbb:bbbb:1:fe20::/64",
- "prefixLen": 64,
- "protocol": "static",
- "vrfId": 0,
- "vrfName": "default",
- "selected": true,
- "destSelected": true,
- "distance": 1,
- "metric": 0,
- "installed": true,
- "table": 254,
- "internalStatus": 16,
- "internalFlags": 9,
- "internalNextHopNum": 1,
- "internalNextHopActiveNum": 1,
- "nexthops": [
- {
- "flags": 3,
- "fib": true,
- "directlyConnected": true,
- "interfaceName": "Vrf40",
- "active": true,
- "weight": 1,
- "seg6local": {
- "action": "End.DT46",
- "sidStructure": {
- "blockLen": 32,
- "nodeLen": 16,
- "funcLen": 16,
- "argLen": 0
- }
- },
- "seg6localContext": {
- "table": 40
- }
- }
- ]
- }
- ],
- "fcbb:bbbb:1:fe30::/64": [
- {
- "prefix": "fcbb:bbbb:1:fe30::/64",
- "prefixLen": 64,
- "protocol": "static",
- "vrfId": 0,
- "vrfName": "default",
- "selected": true,
- "destSelected": true,
- "distance": 1,
- "metric": 0,
- "installed": true,
- "table": 254,
- "internalStatus": 16,
- "internalFlags": 9,
- "internalNextHopNum": 1,
- "internalNextHopActiveNum": 1,
- "nexthops": [
- {
- "flags": 3,
- "fib": true,
- "directlyConnected": true,
- "interfaceName": "Vrf30",
- "active": true,
- "weight": 1,
- "seg6local": {
- "action": "End.DT46",
- "sidStructure": {
- "blockLen": 32,
- "nodeLen": 16,
- "funcLen": 16,
- "argLen": 0
- }
- },
- "seg6localContext": {
- "table": 30
- }
- }
- ]
- }
- ],
- "fcbb:bbbb:1:fe40::/64": [
- {
- "prefix": "fcbb:bbbb:1:fe40::/64",
- "prefixLen": 64,
- "protocol": "static",
- "vrfId": 0,
- "vrfName": "default",
- "selected": true,
- "destSelected": true,
- "distance": 1,
- "metric": 0,
- "installed": true,
- "table": 254,
- "internalStatus": 16,
- "internalFlags": 9,
- "internalNextHopNum": 1,
- "internalNextHopActiveNum": 1,
- "nexthops": [
- {
- "flags": 3,
- "fib": true,
- "directlyConnected": true,
- "interfaceName": "sr0",
- "active": true,
- "weight": 1,
- "seg6local": {
- "action": "End.X"
- },
- "seg6localContext": {
- "nh6": "2001::2"
- }
- }
- ]
- }
- ]
-}
\ No newline at end of file
check_srv6_static_sids(router, "expected_srv6_sids.json")
-def test_srv6_static_sids_sid_modify():
- """
- Modify the static SIDs and verify the routing table
- """
- tgen = get_topogen()
- if tgen.routers_have_failure():
- pytest.skip(tgen.errors)
- router = tgen.gears["r1"]
-
- def _check_srv6_static_sids(router, expected_route_file):
- logger.info("checking zebra srv6 static sids")
- output = json.loads(router.vtysh_cmd("show ipv6 route static json"))
- expected = open_json_file("{}/{}".format(CWD, expected_route_file))
- return topotest.json_cmp(output, expected)
-
- def check_srv6_static_sids(router, expected_file):
- func = functools.partial(_check_srv6_static_sids, router, expected_file)
- _, result = topotest.run_and_expect(func, None, count=15, wait=1)
- assert result is None, "Failed"
-
- router.vtysh_cmd(
- """
- configure terminal
- segment-routing
- srv6
- static-sids
- sid fcbb:bbbb:1:fe20::/64 locator MAIN behavior uDT46 vrf Vrf40
- """
- )
-
- # FOR DEVELOPER:
- # If you want to stop some specific line and start interactive shell,
- # please use tgen.mininet_cli() to start it.
-
- logger.info("Test for srv6 sids configuration")
- check_srv6_static_sids(router, "expected_srv6_sids_sid_modify.json")
-
-
def test_srv6_static_sids_sid_delete_all():
"""
Remove all static SIDs and verify they get removed