diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-09 13:16:35 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-09 13:16:35 +0000 |
commit | e2bbf175a2184bd76f6c54ccf8456babeb1a46fc (patch) | |
tree | f0b76550d6e6f500ada964a3a4ee933a45e5a6f1 /tests/topotests/isis_tilfa_topo1 | |
parent | Initial commit. (diff) | |
download | frr-e2bbf175a2184bd76f6c54ccf8456babeb1a46fc.tar.xz frr-e2bbf175a2184bd76f6c54ccf8456babeb1a46fc.zip |
Adding upstream version 9.1.upstream/9.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/topotests/isis_tilfa_topo1')
238 files changed, 18538 insertions, 0 deletions
diff --git a/tests/topotests/isis_tilfa_topo1/__init__.py b/tests/topotests/isis_tilfa_topo1/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/__init__.py diff --git a/tests/topotests/isis_tilfa_topo1/rt1/isisd.conf b/tests/topotests/isis_tilfa_topo1/rt1/isisd.conf new file mode 100644 index 0000000..1218ed3 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/isisd.conf @@ -0,0 +1,35 @@ +password 1 +hostname rt1 +log file isisd.log +! +! debug isis events +! debug isis route-events +! debug isis spf-events +! debug isis sr-events +! debug isis lsp-gen +! debug isis ti-lfa +! +interface lo + ip router isis 1 + ipv6 router isis 1 + isis passive +! +interface eth-sw1 + ip router isis 1 + ipv6 router isis 1 + isis hello-interval 1 + isis hello-multiplier 10 + isis priority 100 + isis fast-reroute ti-lfa +! +router isis 1 + net 49.0000.0000.0000.0001.00 + is-type level-1 + lsp-gen-interval 2 + topology ipv6-unicast + segment-routing on + segment-routing global-block 16000 23999 + segment-routing node-msd 8 + segment-routing prefix 1.1.1.1/32 index 10 + segment-routing prefix 2001:db8:1000::1/128 index 11 +! diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step1/show_ip_route.ref b/tests/topotests/isis_tilfa_topo1/rt1/step1/show_ip_route.ref new file mode 100644 index 0000000..92b7437 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step1/show_ip_route.ref @@ -0,0 +1,294 @@ +{ + "2.2.2.2\/32":[ + { + "prefix":"2.2.2.2\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ], + "3.3.3.3\/32":[ + { + "prefix":"3.3.3.3\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ], + "4.4.4.4\/32":[ + { + "prefix":"4.4.4.4\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16040 + ] + } + ] + } + ], + "5.5.5.5\/32":[ + { + "prefix":"5.5.5.5\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16050 + ] + } + ] + } + ], + "6.6.6.6\/32":[ + { + "prefix":"6.6.6.6\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":40, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16060 + ] + }, + { + "fib":true, + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16060 + ] + } + ] + } + ], + "10.0.1.0\/24":[ + { + "prefix":"10.0.1.0\/24", + "protocol":"isis", + "distance":115, + "metric":20, + "nexthops":[ + { + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1" + }, + { + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1" + } + ] + } + ], + "10.0.2.0\/24":[ + { + "prefix":"10.0.2.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true + } + ] + } + ], + "10.0.3.0\/24":[ + { + "prefix":"10.0.3.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true + } + ] + } + ], + "10.0.4.0\/24":[ + { + "prefix":"10.0.4.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true + } + ] + } + ], + "10.0.5.0\/24":[ + { + "prefix":"10.0.5.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true + } + ] + } + ], + "10.0.6.0\/24":[ + { + "prefix":"10.0.6.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true + }, + { + "fib":true, + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true + } + ] + } + ], + "10.0.7.0\/24":[ + { + "prefix":"10.0.7.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true + } + ] + } + ], + "10.0.8.0\/24":[ + { + "prefix":"10.0.8.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true + } + ] + } + ] +} diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step1/show_ipv6_route.ref b/tests/topotests/isis_tilfa_topo1/rt1/step1/show_ipv6_route.ref new file mode 100644 index 0000000..3232121 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step1/show_ipv6_route.ref @@ -0,0 +1,121 @@ +{ + "2001:db8:1000::2\/128":[ + { + "prefix":"2001:db8:1000::2\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ], + "2001:db8:1000::3\/128":[ + { + "prefix":"2001:db8:1000::3\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 3 + ] + } + ] + } + ], + "2001:db8:1000::4\/128":[ + { + "prefix":"2001:db8:1000::4\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16041 + ] + } + ] + } + ], + "2001:db8:1000::5\/128":[ + { + "prefix":"2001:db8:1000::5\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16051 + ] + } + ] + } + ], + "2001:db8:1000::6\/128":[ + { + "prefix":"2001:db8:1000::6\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":40, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16061 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16061 + ] + } + ] + } + ] +} diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step1/show_mpls_table.ref b/tests/topotests/isis_tilfa_topo1/rt1/step1/show_mpls_table.ref new file mode 100644 index 0000000..aa0357d --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step1/show_mpls_table.ref @@ -0,0 +1,134 @@ +{ + "16020":{ + "inLabel":16020, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.1.2" + } + ] + }, + "16021":{ + "inLabel":16021, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-sw1" + } + ] + }, + "16030":{ + "inLabel":16030, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.1.3" + } + ] + }, + "16031":{ + "inLabel":16031, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-sw1" + } + ] + }, + "16040":{ + "inLabel":16040, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16040, + "installed":true, + "nexthop":"10.0.1.2" + } + ] + }, + "16041":{ + "inLabel":16041, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16041, + "installed":true, + "interface":"eth-sw1" + } + ] + }, + "16050":{ + "inLabel":16050, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16050, + "installed":true, + "nexthop":"10.0.1.3" + } + ] + }, + "16051":{ + "inLabel":16051, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16051, + "installed":true, + "interface":"eth-sw1" + } + ] + }, + "16060":{ + "inLabel":16060, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16060, + "installed":true, + "nexthop":"10.0.1.3" + }, + { + "type":"SR (IS-IS)", + "outLabel":16060, + "installed":true, + "nexthop":"10.0.1.2" + } + ] + }, + "16061":{ + "inLabel":16061, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16061, + "installed":true, + "interface":"eth-sw1" + }, + { + "type":"SR (IS-IS)", + "outLabel":16061, + "installed":true, + "interface":"eth-sw1" + } + ] + } +} diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step1/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis_tilfa_topo1/rt1/step1/show_yang_interface_isis_adjacencies.ref new file mode 100644 index 0000000..9c5901b --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step1/show_yang_interface_isis_adjacencies.ref @@ -0,0 +1,32 @@ +{ + "frr-interface:lib": { + "interface": [ + { + "name": "eth-sw1", + "vrf": "default", + "state": { + "frr-isisd:isis": { + "adjacencies": { + "adjacency": [ + { + "neighbor-sys-type": "level-1", + "neighbor-sysid": "0000.0000.0003", + "hold-timer": 10, + "neighbor-priority": 64, + "state": "up" + }, + { + "neighbor-sys-type": "level-1", + "neighbor-sysid": "0000.0000.0002", + "hold-timer": 10, + "neighbor-priority": 64, + "state": "up" + } + ] + } + } + } + } + ] + } +} diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step10/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step10/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step10/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step10/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step10/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step10/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step10/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step10/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step10/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step11/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step11/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step11/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step11/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step11/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step11/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step11/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step11/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step11/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step12/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step12/show_ip_route.ref.diff new file mode 100644 index 0000000..a8d6e6c --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step12/show_ip_route.ref.diff @@ -0,0 +1,19 @@ +--- a/rt1/step11/show_ip_route.ref ++++ b/rt1/step12/show_ip_route.ref +@@ -110,16 +110,6 @@ + "labels":[ + 16060 + ] +- }, +- { +- "fib":true, +- "ip":"10.0.1.3", +- "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16060 +- ] + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step12/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step12/show_ipv6_route.ref.diff new file mode 100644 index 0000000..637c59f --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step12/show_ipv6_route.ref.diff @@ -0,0 +1,18 @@ +--- a/rt1/step11/show_ipv6_route.ref ++++ b/rt1/step12/show_ipv6_route.ref +@@ -105,15 +105,6 @@ + "labels":[ + 16061 + ] +- }, +- { +- "fib":true, +- "afi":"ipv6", +- "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16061 +- ] + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step12/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step12/show_mpls_table.ref.diff new file mode 100644 index 0000000..e110bf4 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step12/show_mpls_table.ref.diff @@ -0,0 +1,28 @@ +--- a/rt1/step11/show_mpls_table.ref ++++ b/rt1/step12/show_mpls_table.ref +@@ -79,12 +79,6 @@ + "type":"SR (IS-IS)", + "outLabel":16060, + "installed":true, +- "nexthop":"10.0.1.3" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16060, +- "installed":true, + "nexthop":"10.0.1.2" + } + ] +@@ -96,12 +90,6 @@ + { + "type":"SR (IS-IS)", + "outLabel":16061, +- "installed":true, +- "interface":"eth-sw1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16061, + "installed":true, + "interface":"eth-sw1" + } diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step2/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step2/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step2/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step2/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step2/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step2/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step2/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step2/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step2/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step3/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step3/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step3/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step3/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step3/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step3/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step3/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step3/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step3/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step4/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step4/show_ip_route.ref.diff new file mode 100644 index 0000000..10b336f --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step4/show_ip_route.ref.diff @@ -0,0 +1,14 @@ +--- a/rt1/step3/show_ip_route.ref ++++ b/rt1/step4/show_ip_route.ref +@@ -60,10 +60,7 @@ + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16040 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step4/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step4/show_ipv6_route.ref.diff new file mode 100644 index 0000000..904aaa1 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step4/show_ipv6_route.ref.diff @@ -0,0 +1,14 @@ +--- a/rt1/step3/show_ipv6_route.ref ++++ b/rt1/step4/show_ipv6_route.ref +@@ -57,10 +57,7 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16041 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step4/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step4/show_mpls_table.ref.diff new file mode 100644 index 0000000..d7d8753 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step4/show_mpls_table.ref.diff @@ -0,0 +1,33 @@ +--- a/rt1/step3/show_mpls_table.ref ++++ b/rt1/step4/show_mpls_table.ref +@@ -47,30 +47,6 @@ + } + ] + }, +- "16040":{ +- "inLabel":16040, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16040, +- "installed":true, +- "nexthop":"10.0.1.2" +- } +- ] +- }, +- "16041":{ +- "inLabel":16041, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16041, +- "installed":true, +- "interface":"eth-sw1" +- } +- ] +- }, + "16050":{ + "inLabel":16050, + "installed":true, diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step5/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step5/show_ip_route.ref.diff new file mode 100644 index 0000000..b583fa9 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step5/show_ip_route.ref.diff @@ -0,0 +1,14 @@ +--- a/rt1/step4/show_ip_route.ref ++++ b/rt1/step5/show_ip_route.ref +@@ -60,7 +60,10 @@ + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16040 ++ ] + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step5/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step5/show_ipv6_route.ref.diff new file mode 100644 index 0000000..d608abe --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step5/show_ipv6_route.ref.diff @@ -0,0 +1,14 @@ +--- a/rt1/step4/show_ipv6_route.ref ++++ b/rt1/step5/show_ipv6_route.ref +@@ -57,7 +57,10 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16041 ++ ] + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step5/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step5/show_mpls_table.ref.diff new file mode 100644 index 0000000..b5161fc --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step5/show_mpls_table.ref.diff @@ -0,0 +1,33 @@ +--- a/rt1/step4/show_mpls_table.ref ++++ b/rt1/step5/show_mpls_table.ref +@@ -47,6 +47,30 @@ + } + ] + }, ++ "16040":{ ++ "inLabel":16040, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16040, ++ "installed":true, ++ "nexthop":"10.0.1.2" ++ } ++ ] ++ }, ++ "16041":{ ++ "inLabel":16041, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16041, ++ "installed":true, ++ "interface":"eth-sw1" ++ } ++ ] ++ }, + "16050":{ + "inLabel":16050, + "installed":true, diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step6/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step6/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step6/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step6/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step6/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step6/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step6/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step6/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step6/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step7/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step7/show_ip_route.ref.diff new file mode 100644 index 0000000..726aed5 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step7/show_ip_route.ref.diff @@ -0,0 +1,14 @@ +--- a/rt1/step6/show_ip_route.ref ++++ b/rt1/step7/show_ip_route.ref +@@ -83,10 +83,7 @@ + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16050 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step7/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step7/show_ipv6_route.ref.diff new file mode 100644 index 0000000..2049f6f --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step7/show_ipv6_route.ref.diff @@ -0,0 +1,14 @@ +--- a/rt1/step6/show_ipv6_route.ref ++++ b/rt1/step7/show_ipv6_route.ref +@@ -79,10 +79,7 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16051 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step7/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step7/show_mpls_table.ref.diff new file mode 100644 index 0000000..22301ba --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step7/show_mpls_table.ref.diff @@ -0,0 +1,33 @@ +--- a/rt1/step6/show_mpls_table.ref ++++ b/rt1/step7/show_mpls_table.ref +@@ -71,30 +71,6 @@ + } + ] + }, +- "16050":{ +- "inLabel":16050, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "installed":true, +- "nexthop":"10.0.1.3" +- } +- ] +- }, +- "16051":{ +- "inLabel":16051, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "installed":true, +- "interface":"eth-sw1" +- } +- ] +- }, + "16060":{ + "inLabel":16060, + "installed":true, diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step8/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step8/show_ip_route.ref.diff new file mode 100644 index 0000000..4a1d480 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step8/show_ip_route.ref.diff @@ -0,0 +1,14 @@ +--- a/rt1/step7/show_ip_route.ref ++++ b/rt1/step8/show_ip_route.ref +@@ -83,7 +83,10 @@ + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16050 ++ ] + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step8/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step8/show_ipv6_route.ref.diff new file mode 100644 index 0000000..eaece74 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step8/show_ipv6_route.ref.diff @@ -0,0 +1,14 @@ +--- a/rt1/step7/show_ipv6_route.ref ++++ b/rt1/step8/show_ipv6_route.ref +@@ -79,7 +79,10 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16051 ++ ] + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step8/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step8/show_mpls_table.ref.diff new file mode 100644 index 0000000..46c17de --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step8/show_mpls_table.ref.diff @@ -0,0 +1,33 @@ +--- a/rt1/step7/show_mpls_table.ref ++++ b/rt1/step8/show_mpls_table.ref +@@ -71,6 +71,30 @@ + } + ] + }, ++ "16050":{ ++ "inLabel":16050, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "installed":true, ++ "nexthop":"10.0.1.3" ++ } ++ ] ++ }, ++ "16051":{ ++ "inLabel":16051, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "installed":true, ++ "interface":"eth-sw1" ++ } ++ ] ++ }, + "16060":{ + "inLabel":16060, + "installed":true, diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step9/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step9/show_ip_route.ref.diff new file mode 100644 index 0000000..06efdc9 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step9/show_ip_route.ref.diff @@ -0,0 +1,11 @@ +--- a/rt1/step8/show_ip_route.ref ++++ b/rt1/step9/show_ip_route.ref +@@ -85,7 +85,7 @@ + "interfaceName":"eth-sw1", + "active":true, + "labels":[ +- 16050 ++ 16500 + ] + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step9/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step9/show_ipv6_route.ref.diff new file mode 100644 index 0000000..a58f2d4 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step9/show_ipv6_route.ref.diff @@ -0,0 +1,11 @@ +--- a/rt1/step8/show_ipv6_route.ref ++++ b/rt1/step9/show_ipv6_route.ref +@@ -81,7 +81,7 @@ + "interfaceName":"eth-sw1", + "active":true, + "labels":[ +- 16051 ++ 16501 + ] + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step9/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step9/show_mpls_table.ref.diff new file mode 100644 index 0000000..c0a1ac5 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step9/show_mpls_table.ref.diff @@ -0,0 +1,64 @@ +--- a/rt1/step8/show_mpls_table.ref ++++ b/rt1/step9/show_mpls_table.ref +@@ -71,30 +71,6 @@ + } + ] + }, +- "16050":{ +- "inLabel":16050, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "installed":true, +- "nexthop":"10.0.1.3" +- } +- ] +- }, +- "16051":{ +- "inLabel":16051, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "installed":true, +- "interface":"eth-sw1" +- } +- ] +- }, + "16060":{ + "inLabel":16060, + "installed":true, +@@ -129,6 +105,30 @@ + "installed":true, + "interface":"eth-sw1" + } ++ ] ++ }, ++ "16500":{ ++ "inLabel":16500, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16500, ++ "installed":true, ++ "nexthop":"10.0.1.3" ++ } ++ ] ++ }, ++ "16501":{ ++ "inLabel":16501, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16501, ++ "installed":true, ++ "interface":"eth-sw1" ++ } + ] + } + } diff --git a/tests/topotests/isis_tilfa_topo1/rt1/zebra.conf b/tests/topotests/isis_tilfa_topo1/rt1/zebra.conf new file mode 100644 index 0000000..4de9d8c --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/zebra.conf @@ -0,0 +1,20 @@ +log file zebra.log +! +hostname rt1 +! +! debug zebra kernel +! debug zebra packet +! debug zebra mpls +! debug zebra rib detail +! +interface lo + ip address 1.1.1.1/32 + ipv6 address 2001:db8:1000::1/128 +! +interface eth-sw1 + ip address 10.0.1.1/24 +! +ip forwarding +! +line vty +! diff --git a/tests/topotests/isis_tilfa_topo1/rt2/isisd.conf b/tests/topotests/isis_tilfa_topo1/rt2/isisd.conf new file mode 100644 index 0000000..aed6971 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/isisd.conf @@ -0,0 +1,49 @@ +hostname rt2 +log file isisd.log +! +! debug isis events +! debug isis route-events +! debug isis spf-events +! debug isis sr-events +! debug isis lsp-gen +! debug isis ti-lfa +! +interface lo + ip router isis 1 + ipv6 router isis 1 + isis passive +! +interface eth-sw1 + ip router isis 1 + ipv6 router isis 1 + isis hello-interval 1 + isis hello-multiplier 10 + isis fast-reroute ti-lfa +! +interface eth-rt4-1 + ip router isis 1 + ipv6 router isis 1 + isis network point-to-point + isis hello-interval 1 + isis hello-multiplier 10 + isis fast-reroute ti-lfa +! +interface eth-rt4-2 + ip router isis 1 + ipv6 router isis 1 + isis network point-to-point + isis hello-interval 1 + isis hello-multiplier 10 + isis fast-reroute ti-lfa +! +router isis 1 + net 49.0000.0000.0000.0002.00 + is-type level-1 + lsp-gen-interval 2 + topology ipv6-unicast + segment-routing on + segment-routing global-block 16000 23999 + segment-routing node-msd 8 + segment-routing prefix 2.2.2.2/32 index 20 + segment-routing prefix 2001:db8:1000::2/128 index 21 +! diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step1/show_ip_route.ref b/tests/topotests/isis_tilfa_topo1/rt2/step1/show_ip_route.ref new file mode 100644 index 0000000..7e1ccd1 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step1/show_ip_route.ref @@ -0,0 +1,563 @@ +{ + "1.1.1.1\/32":[ + { + "prefix":"1.1.1.1\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.1.1", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "backupIndex":[ + 0, + 1 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ + 16050, + 16010 + ] + }, + { + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ + 16050, + 16010 + ] + } + ] + } + ], + "3.3.3.3\/32":[ + { + "prefix":"3.3.3.3\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "backupIndex":[ + 0, + 1 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ + 16050, + 16030 + ] + }, + { + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ + 16050, + 16030 + ] + } + ] + } + ], + "4.4.4.4\/32":[ + { + "prefix":"4.4.4.4\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + }, + { + "fib":true, + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16050, + 16040 + ] + } + ] + } + ], + "5.5.5.5\/32":[ + { + "prefix":"5.5.5.5\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16050 + ] + }, + { + "fib":true, + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ + 16050 + ] + }, + { + "fib":true, + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ + 16050 + ] + } + ] + } + ], + "6.6.6.6\/32":[ + { + "prefix":"6.6.6.6\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 16060 + ] + }, + { + "fib":true, + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 16060 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16060 + ] + } + ] + } + ], + "10.0.1.0\/24":[ + { + "prefix":"10.0.1.0\/24", + "protocol":"isis", + "distance":115, + "metric":20, + "nexthops":[ + { + "ip":"10.0.1.1", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "backupIndex":[ + 0, + 1 + ] + }, + { + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ + 16050 + ] + }, + { + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ + 16050 + ] + } + ] + } + ], + "10.0.2.0\/24":[ + { + "prefix":"10.0.2.0\/24", + "protocol":"isis", + "distance":115, + "metric":20, + "nexthops":[ + { + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", + "backupIndex":[ + 0 + ] + }, + { + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", + "active":true, + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16050 + ] + } + ] + } + ], + "10.0.3.0\/24":[ + { + "prefix":"10.0.3.0\/24", + "protocol":"isis", + "distance":115, + "metric":20, + "nexthops":[ + { + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", + "active":true, + "backupIndex":[ + 0 + ] + }, + { + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16050 + ] + } + ] + } + ], + "10.0.4.0\/24":[ + { + "prefix":"10.0.4.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", + "active":true + }, + { + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", + "active":true + } + ] + } + ], + "10.0.5.0\/24":[ + { + "prefix":"10.0.5.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", + "active":true + }, + { + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", + "active":true + } + ] + } + ], + "10.0.6.0\/24":[ + { + "prefix":"10.0.6.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", + "active":true, + "backupIndex":[ + 0 + ] + }, + { + "fib":true, + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", + "active":true, + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true + } + ] + } + ], + "10.0.7.0\/24":[ + { + "prefix":"10.0.7.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", + "active":true, + "backupIndex":[ + 0 + ] + }, + { + "fib":true, + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", + "active":true, + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16050 + ] + } + ] + } + ], + "10.0.8.0\/24":[ + { + "prefix":"10.0.8.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true + }, + { + "fib":true, + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", + "active":true + }, + { + "fib":true, + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", + "active":true + } + ] + } + ] +} diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step1/show_ipv6_route.ref b/tests/topotests/isis_tilfa_topo1/rt2/step1/show_ipv6_route.ref new file mode 100644 index 0000000..6d31f6f --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step1/show_ipv6_route.ref @@ -0,0 +1,229 @@ +{ + "2001:db8:1000::1\/128":[ + { + "prefix":"2001:db8:1000::1\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, + "backupIndex":[ + 0, + 1 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ + 16051, + 16011 + ] + }, + { + "afi":"ipv6", + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ + 16051, + 16011 + ] + } + ] + } + ], + "2001:db8:1000::3\/128":[ + { + "prefix":"2001:db8:1000::3\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, + "backupIndex":[ + 0, + 1 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ + 16051, + 16031 + ] + }, + { + "afi":"ipv6", + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ + 16051, + 16031 + ] + } + ] + } + ], + "2001:db8:1000::4\/128":[ + { + "prefix":"2001:db8:1000::4\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-1", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-2", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16051, + 16041 + ] + } + ] + } + ], + "2001:db8:1000::5\/128":[ + { + "prefix":"2001:db8:1000::5\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ + 16051 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16051 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ + 16051 + ] + } + ] + } + ], + "2001:db8:1000::6\/128":[ + { + "prefix":"2001:db8:1000::6\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-1", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 16061 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-2", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 16061 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16061 + ] + } + ] + } + ] +} diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step1/show_mpls_table.ref b/tests/topotests/isis_tilfa_topo1/rt2/step1/show_mpls_table.ref new file mode 100644 index 0000000..b9b906a --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step1/show_mpls_table.ref @@ -0,0 +1,286 @@ +{ + "16010":{ + "inLabel":16010, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.1.1", + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16050, + "nexthop":"10.0.2.4" + }, + { + "type":"SR (IS-IS)", + "outLabel":16050, + "nexthop":"10.0.3.4" + } + ] + }, + "16011":{ + "inLabel":16011, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-sw1", + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16051, + "interface":"eth-rt4-1" + }, + { + "type":"SR (IS-IS)", + "outLabel":16051, + "interface":"eth-rt4-2" + } + ] + }, + "16030":{ + "inLabel":16030, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.1.3", + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16050, + "nexthop":"10.0.2.4" + }, + { + "type":"SR (IS-IS)", + "outLabel":16050, + "nexthop":"10.0.3.4" + } + ] + }, + "16031":{ + "inLabel":16031, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-sw1", + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16051, + "interface":"eth-rt4-1" + }, + { + "type":"SR (IS-IS)", + "outLabel":16051, + "interface":"eth-rt4-2" + } + ] + }, + "16040":{ + "inLabel":16040, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.3.4", + "backupIndex":[ + 0 + ] + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.2.4", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16050, + "nexthop":"10.0.1.3" + } + ] + }, + "16041":{ + "inLabel":16041, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt4-2", + "backupIndex":[ + 0 + ] + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt4-1", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16051, + "interface":"eth-sw1" + } + ] + }, + "16050":{ + "inLabel":16050, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16050, + "installed":true, + "nexthop":"10.0.3.4" + }, + { + "type":"SR (IS-IS)", + "outLabel":16050, + "installed":true, + "nexthop":"10.0.2.4" + }, + { + "type":"SR (IS-IS)", + "outLabel":16050, + "installed":true, + "nexthop":"10.0.1.3" + } + ] + }, + "16051":{ + "inLabel":16051, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16051, + "installed":true, + "interface":"eth-rt4-2" + }, + { + "type":"SR (IS-IS)", + "outLabel":16051, + "installed":true, + "interface":"eth-rt4-1" + }, + { + "type":"SR (IS-IS)", + "outLabel":16051, + "installed":true, + "interface":"eth-sw1" + } + ] + }, + "16060":{ + "inLabel":16060, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16060, + "installed":true, + "nexthop":"10.0.3.4", + "backupIndex":[ + 0 + ] + }, + { + "type":"SR (IS-IS)", + "outLabel":16060, + "installed":true, + "nexthop":"10.0.2.4", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16060, + "nexthop":"10.0.1.3" + } + ] + }, + "16061":{ + "inLabel":16061, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16061, + "installed":true, + "interface":"eth-rt4-2", + "backupIndex":[ + 0 + ] + }, + { + "type":"SR (IS-IS)", + "outLabel":16061, + "installed":true, + "interface":"eth-rt4-1", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16061, + "interface":"eth-sw1" + } + ] + } +} diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step1/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis_tilfa_topo1/rt2/step1/show_yang_interface_isis_adjacencies.ref new file mode 100644 index 0000000..7d9463d --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step1/show_yang_interface_isis_adjacencies.ref @@ -0,0 +1,70 @@ +{ + "frr-interface:lib": { + "interface": [ + { + "name": "eth-rt4-1", + "vrf": "default", + "state": { + "frr-isisd:isis": { + "adjacencies": { + "adjacency": [ + { + "neighbor-sys-type": "level-1", + "neighbor-sysid": "0000.0000.0004", + "hold-timer": 10, + "neighbor-priority": 0, + "state": "up" + } + ] + } + } + } + }, + { + "name": "eth-rt4-2", + "vrf": "default", + "state": { + "frr-isisd:isis": { + "adjacencies": { + "adjacency": [ + { + "neighbor-sys-type": "level-1", + "neighbor-sysid": "0000.0000.0004", + "hold-timer": 10, + "neighbor-priority": 0, + "state": "up" + } + ] + } + } + } + }, + { + "name": "eth-sw1", + "vrf": "default", + "state": { + "frr-isisd:isis": { + "adjacencies": { + "adjacency": [ + { + "neighbor-sys-type": "level-1", + "neighbor-sysid": "0000.0000.0001", + "hold-timer": 10, + "neighbor-priority": 100, + "state": "up" + }, + { + "neighbor-sys-type": "level-1", + "neighbor-sysid": "0000.0000.0003", + "hold-timer": 10, + "neighbor-priority": 64, + "state": "up" + } + ] + } + } + } + } + ] + } +} diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step10/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step10/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step10/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step10/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step10/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step10/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step10/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step10/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step10/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step11/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step11/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step11/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step11/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step11/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step11/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step11/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step11/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step11/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step12/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step12/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step12/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step12/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step12/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step12/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step12/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step12/show_mpls_table.ref.diff new file mode 100644 index 0000000..84a3644 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step12/show_mpls_table.ref.diff @@ -0,0 +1,20 @@ +--- a/rt2/step11/show_mpls_table.ref ++++ b/rt2/step12/show_mpls_table.ref +@@ -199,7 +199,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16060, ++ "outLabel":16500, + "nexthop":"10.0.1.3" + } + ] +@@ -230,7 +230,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16061, ++ "outLabel":16501, + "interface":"eth-sw1" + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step2/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step2/show_ip_route.ref.diff new file mode 100644 index 0000000..90e0895 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step2/show_ip_route.ref.diff @@ -0,0 +1,169 @@ +--- a/rt2/step1/show_ip_route.ref ++++ b/rt2/step2/show_ip_route.ref +@@ -15,36 +15,10 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.2.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16050, +- 16010 +- ] +- }, +- { +- "ip":"10.0.3.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16050, +- 16010 +- ] +- } + ] + } + ], +@@ -64,36 +38,10 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.2.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16050, +- 16030 +- ] +- }, +- { +- "ip":"10.0.3.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16050, +- 16030 +- ] +- } + ] + } + ], +@@ -251,40 +199,12 @@ + { + "ip":"10.0.1.1", + "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] ++ "interfaceName":"eth-sw1" + }, + { + "ip":"10.0.1.3", + "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.2.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16050 +- ] +- }, +- { +- "ip":"10.0.3.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16050 +- ] ++ "interfaceName":"eth-sw1" + } + ] + } +@@ -380,24 +300,6 @@ + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", +- "active":true, +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.2.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-1", +- "active":true +- }, +- { +- "ip":"10.0.3.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-2", + "active":true + } + ] +@@ -418,24 +320,6 @@ + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", +- "active":true, +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.2.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-1", +- "active":true +- }, +- { +- "ip":"10.0.3.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-2", + "active":true + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step2/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step2/show_ipv6_route.ref.diff new file mode 100644 index 0000000..2d19f20 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step2/show_ipv6_route.ref.diff @@ -0,0 +1,72 @@ +--- a/rt2/step1/show_ipv6_route.ref ++++ b/rt2/step2/show_ipv6_route.ref +@@ -14,34 +14,10 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16051, +- 16011 +- ] +- }, +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16051, +- 16011 +- ] +- } + ] + } + ], +@@ -60,34 +36,10 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16051, +- 16031 +- ] +- }, +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16051, +- 16031 +- ] +- } + ] + } + ], diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step2/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step2/show_mpls_table.ref.diff new file mode 100644 index 0000000..01fc74a --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step2/show_mpls_table.ref.diff @@ -0,0 +1,102 @@ +--- a/rt2/step1/show_mpls_table.ref ++++ b/rt2/step2/show_mpls_table.ref +@@ -7,23 +7,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.2.4" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.3.4" ++ "nexthop":"10.0.1.1" + } + ] + }, +@@ -35,23 +19,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt4-1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt4-2" ++ "interface":"eth-sw1" + } + ] + }, +@@ -63,23 +31,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.3", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.2.4" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.3.4" ++ "nexthop":"10.0.1.3" + } + ] + }, +@@ -91,23 +43,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt4-1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt4-2" ++ "interface":"eth-sw1" + } + ] + }, diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step3/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step3/show_ip_route.ref.diff new file mode 100644 index 0000000..d93f036 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step3/show_ip_route.ref.diff @@ -0,0 +1,169 @@ +--- a/rt2/step2/show_ip_route.ref ++++ b/rt2/step3/show_ip_route.ref +@@ -15,10 +15,36 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.2.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16050, ++ 16010 ++ ] ++ }, ++ { ++ "ip":"10.0.3.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16050, ++ 16010 ++ ] ++ } + ] + } + ], +@@ -38,10 +64,36 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.2.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16050, ++ 16030 ++ ] ++ }, ++ { ++ "ip":"10.0.3.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16050, ++ 16030 ++ ] ++ } + ] + } + ], +@@ -199,12 +251,40 @@ + { + "ip":"10.0.1.1", + "afi":"ipv4", +- "interfaceName":"eth-sw1" ++ "interfaceName":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] + }, + { + "ip":"10.0.1.3", + "afi":"ipv4", +- "interfaceName":"eth-sw1" ++ "interfaceName":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.2.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16050 ++ ] ++ }, ++ { ++ "ip":"10.0.3.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16050 ++ ] + } + ] + } +@@ -300,6 +380,24 @@ + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", ++ "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.2.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-1", ++ "active":true ++ }, ++ { ++ "ip":"10.0.3.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-2", + "active":true + } + ] +@@ -320,6 +418,24 @@ + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", ++ "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.2.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-1", ++ "active":true ++ }, ++ { ++ "ip":"10.0.3.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-2", + "active":true + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step3/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step3/show_ipv6_route.ref.diff new file mode 100644 index 0000000..68b618e --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step3/show_ipv6_route.ref.diff @@ -0,0 +1,72 @@ +--- a/rt2/step2/show_ipv6_route.ref ++++ b/rt2/step3/show_ipv6_route.ref +@@ -14,10 +14,34 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16051, ++ 16011 ++ ] ++ }, ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16051, ++ 16011 ++ ] ++ } + ] + } + ], +@@ -36,10 +60,34 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16051, ++ 16031 ++ ] ++ }, ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16051, ++ 16031 ++ ] ++ } + ] + } + ], diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step3/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step3/show_mpls_table.ref.diff new file mode 100644 index 0000000..966e153 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step3/show_mpls_table.ref.diff @@ -0,0 +1,102 @@ +--- a/rt2/step2/show_mpls_table.ref ++++ b/rt2/step3/show_mpls_table.ref +@@ -7,7 +7,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.1" ++ "nexthop":"10.0.1.1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.2.4" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.3.4" + } + ] + }, +@@ -19,7 +35,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1" ++ "interface":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt4-1" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt4-2" + } + ] + }, +@@ -31,7 +63,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.3" ++ "nexthop":"10.0.1.3", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.2.4" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.3.4" + } + ] + }, +@@ -43,7 +91,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1" ++ "interface":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt4-1" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt4-2" + } + ] + }, diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step4/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step4/show_ip_route.ref.diff new file mode 100644 index 0000000..dd75d76 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step4/show_ip_route.ref.diff @@ -0,0 +1,192 @@ +--- a/rt2/step3/show_ip_route.ref ++++ b/rt2/step4/show_ip_route.ref +@@ -15,36 +15,10 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.2.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16050, +- 16010 +- ] +- }, +- { +- "ip":"10.0.3.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16050, +- 16010 +- ] +- } + ] + } + ], +@@ -64,36 +38,10 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.2.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16050, +- 16030 +- ] +- }, +- { +- "ip":"10.0.3.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16050, +- 16030 +- ] +- } + ] + } + ], +@@ -115,9 +63,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 3 + ] + }, + { +@@ -128,9 +73,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 3 + ] + } + ], +@@ -141,8 +83,7 @@ + "interfaceName":"eth-sw1", + "active":true, + "labels":[ +- 16050, +- 16040 ++ 16050 + ] + } + ] +@@ -173,20 +114,14 @@ + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16050 +- ] ++ "active":true + }, + { + "fib":true, + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16050 +- ] ++ "active":true + } + ] + } +@@ -209,9 +144,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 16060 + ] + }, + { +@@ -222,9 +154,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 16060 + ] + } + ], +@@ -251,40 +180,12 @@ + { + "ip":"10.0.1.1", + "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] ++ "interfaceName":"eth-sw1" + }, + { + "ip":"10.0.1.3", + "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.2.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16050 +- ] +- }, +- { +- "ip":"10.0.3.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16050 +- ] ++ "interfaceName":"eth-sw1" + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step4/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step4/show_ipv6_route.ref.diff new file mode 100644 index 0000000..6373123 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step4/show_ipv6_route.ref.diff @@ -0,0 +1,146 @@ +--- a/rt2/step3/show_ipv6_route.ref ++++ b/rt2/step4/show_ipv6_route.ref +@@ -14,34 +14,10 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16051, +- 16011 +- ] +- }, +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16051, +- 16011 +- ] +- } + ] + } + ], +@@ -60,34 +36,10 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16051, +- 16031 +- ] +- }, +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16051, +- 16031 +- ] +- } + ] + } + ], +@@ -108,9 +60,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 3 + ] + }, + { +@@ -120,9 +69,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 3 + ] + } + ], +@@ -132,8 +78,7 @@ + "interfaceName":"eth-sw1", + "active":true, + "labels":[ +- 16051, +- 16041 ++ 16051 + ] + } + ] +@@ -153,10 +98,7 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16051 +- ] ++ "active":true + }, + { + "fib":true, +@@ -171,10 +113,7 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16051 +- ] ++ "active":true + } + ] + } +@@ -196,9 +135,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 16061 + ] + }, + { +@@ -208,9 +144,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 16061 + ] + } + ], diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step4/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step4/show_mpls_table.ref.diff new file mode 100644 index 0000000..3872ce4 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step4/show_mpls_table.ref.diff @@ -0,0 +1,200 @@ +--- a/rt2/step3/show_mpls_table.ref ++++ b/rt2/step4/show_mpls_table.ref +@@ -7,23 +7,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.2.4" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.3.4" ++ "nexthop":"10.0.1.1" + } + ] + }, +@@ -35,23 +19,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt4-1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt4-2" ++ "interface":"eth-sw1" + } + ] + }, +@@ -63,23 +31,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.3", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.2.4" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.3.4" ++ "nexthop":"10.0.1.3" + } + ] + }, +@@ -91,84 +43,6 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt4-1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt4-2" +- } +- ] +- }, +- "16040":{ +- "inLabel":16040, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.3.4", +- "backupIndex":[ +- 0 +- ] +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.2.4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.1.3" +- } +- ] +- }, +- "16041":{ +- "inLabel":16041, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt4-2", +- "backupIndex":[ +- 0 +- ] +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt4-1", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, + "interface":"eth-sw1" + } + ] +@@ -181,18 +55,6 @@ + "type":"SR (IS-IS)", + "outLabel":16050, + "installed":true, +- "nexthop":"10.0.3.4" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "installed":true, +- "nexthop":"10.0.2.4" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "installed":true, + "nexthop":"10.0.1.3" + } + ] +@@ -204,18 +66,6 @@ + { + "type":"SR (IS-IS)", + "outLabel":16051, +- "installed":true, +- "interface":"eth-rt4-2" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "installed":true, +- "interface":"eth-rt4-1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, + "installed":true, + "interface":"eth-sw1" + } diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step5/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step5/show_ip_route.ref.diff new file mode 100644 index 0000000..4d56364 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step5/show_ip_route.ref.diff @@ -0,0 +1,192 @@ +--- a/rt2/step4/show_ip_route.ref ++++ b/rt2/step5/show_ip_route.ref +@@ -15,10 +15,36 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.2.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16050, ++ 16010 ++ ] ++ }, ++ { ++ "ip":"10.0.3.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16050, ++ 16010 ++ ] ++ } + ] + } + ], +@@ -38,10 +64,36 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.2.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16050, ++ 16030 ++ ] ++ }, ++ { ++ "ip":"10.0.3.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16050, ++ 16030 ++ ] ++ } + ] + } + ], +@@ -63,6 +115,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 3 + ] + }, + { +@@ -73,6 +128,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 3 + ] + } + ], +@@ -83,7 +141,8 @@ + "interfaceName":"eth-sw1", + "active":true, + "labels":[ +- 16050 ++ 16050, ++ 16040 + ] + } + ] +@@ -114,14 +173,20 @@ + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16050 ++ ] + }, + { + "fib":true, + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", +- "active":true ++ "active":true, ++ "labels":[ ++ 16050 ++ ] + } + ] + } +@@ -144,6 +209,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 16060 + ] + }, + { +@@ -154,6 +222,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 16060 + ] + } + ], +@@ -180,12 +251,40 @@ + { + "ip":"10.0.1.1", + "afi":"ipv4", +- "interfaceName":"eth-sw1" ++ "interfaceName":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] + }, + { + "ip":"10.0.1.3", + "afi":"ipv4", +- "interfaceName":"eth-sw1" ++ "interfaceName":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.2.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16050 ++ ] ++ }, ++ { ++ "ip":"10.0.3.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16050 ++ ] + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step5/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step5/show_ipv6_route.ref.diff new file mode 100644 index 0000000..f9e0276 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step5/show_ipv6_route.ref.diff @@ -0,0 +1,146 @@ +--- a/rt2/step4/show_ipv6_route.ref ++++ b/rt2/step5/show_ipv6_route.ref +@@ -14,10 +14,34 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16051, ++ 16011 ++ ] ++ }, ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16051, ++ 16011 ++ ] ++ } + ] + } + ], +@@ -36,10 +60,34 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16051, ++ 16031 ++ ] ++ }, ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16051, ++ 16031 ++ ] ++ } + ] + } + ], +@@ -60,6 +108,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 3 + ] + }, + { +@@ -69,6 +120,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 3 + ] + } + ], +@@ -78,7 +132,8 @@ + "interfaceName":"eth-sw1", + "active":true, + "labels":[ +- 16051 ++ 16051, ++ 16041 + ] + } + ] +@@ -98,7 +153,10 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16051 ++ ] + }, + { + "fib":true, +@@ -113,7 +171,10 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-2", +- "active":true ++ "active":true, ++ "labels":[ ++ 16051 ++ ] + } + ] + } +@@ -135,6 +196,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 16061 + ] + }, + { +@@ -144,6 +208,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 16061 + ] + } + ], diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step5/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step5/show_mpls_table.ref.diff new file mode 100644 index 0000000..6aebbd6 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step5/show_mpls_table.ref.diff @@ -0,0 +1,200 @@ +--- a/rt2/step4/show_mpls_table.ref ++++ b/rt2/step5/show_mpls_table.ref +@@ -7,7 +7,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.1" ++ "nexthop":"10.0.1.1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.2.4" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.3.4" + } + ] + }, +@@ -19,7 +35,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1" ++ "interface":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt4-1" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt4-2" + } + ] + }, +@@ -31,7 +63,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.3" ++ "nexthop":"10.0.1.3", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.2.4" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.3.4" + } + ] + }, +@@ -43,6 +91,84 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, ++ "interface":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt4-1" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt4-2" ++ } ++ ] ++ }, ++ "16040":{ ++ "inLabel":16040, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "nexthop":"10.0.3.4", ++ "backupIndex":[ ++ 0 ++ ] ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "nexthop":"10.0.2.4", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.1.3" ++ } ++ ] ++ }, ++ "16041":{ ++ "inLabel":16041, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "interface":"eth-rt4-2", ++ "backupIndex":[ ++ 0 ++ ] ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "interface":"eth-rt4-1", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, + "interface":"eth-sw1" + } + ] +@@ -55,6 +181,18 @@ + "type":"SR (IS-IS)", + "outLabel":16050, + "installed":true, ++ "nexthop":"10.0.3.4" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "installed":true, ++ "nexthop":"10.0.2.4" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "installed":true, + "nexthop":"10.0.1.3" + } + ] +@@ -66,6 +204,18 @@ + { + "type":"SR (IS-IS)", + "outLabel":16051, ++ "installed":true, ++ "interface":"eth-rt4-2" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "installed":true, ++ "interface":"eth-rt4-1" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, + "installed":true, + "interface":"eth-sw1" + } diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step6/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step6/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step6/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step6/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step6/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step6/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step6/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step6/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step6/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step7/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step7/show_ip_route.ref.diff new file mode 100644 index 0000000..5e73b97 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step7/show_ip_route.ref.diff @@ -0,0 +1,288 @@ +--- a/rt2/step6/show_ip_route.ref ++++ b/rt2/step7/show_ip_route.ref +@@ -15,36 +15,10 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.2.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16050, +- 16010 +- ] +- }, +- { +- "ip":"10.0.3.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16050, +- 16010 +- ] +- } + ] + } + ], +@@ -64,36 +38,10 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.2.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16050, +- 16030 +- ] +- }, +- { +- "ip":"10.0.3.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16050, +- 16030 +- ] +- } + ] + } + ], +@@ -113,9 +61,6 @@ + "afi":"ipv4", + "interfaceName":"eth-rt4-1", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] +@@ -126,25 +71,10 @@ + "afi":"ipv4", + "interfaceName":"eth-rt4-2", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.1.3", +- "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16050, +- 16040 +- ] +- } + ] + } + ], +@@ -163,30 +93,21 @@ + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16050 +- ] ++ "active":true + }, + { + "fib":true, + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16050 +- ] ++ "active":true + }, + { + "fib":true, + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16050 +- ] ++ "active":true + } + ] + } +@@ -251,40 +172,12 @@ + { + "ip":"10.0.1.1", + "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] ++ "interfaceName":"eth-sw1" + }, + { + "ip":"10.0.1.3", + "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.2.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16050 +- ] +- }, +- { +- "ip":"10.0.3.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16050 +- ] ++ "interfaceName":"eth-sw1" + } + ] + } +@@ -299,30 +192,13 @@ + { + "ip":"10.0.2.4", + "afi":"ipv4", +- "interfaceName":"eth-rt4-1", +- "backupIndex":[ +- 0 +- ] ++ "interfaceName":"eth-rt4-1" + }, + { + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", +- "active":true, +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.1.3", +- "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16050 +- ] ++ "active":true + } + ] + } +@@ -338,29 +214,12 @@ + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", +- "active":true, +- "backupIndex":[ +- 0 +- ] ++ "active":true + }, + { + "ip":"10.0.3.4", + "afi":"ipv4", +- "interfaceName":"eth-rt4-2", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.1.3", +- "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16050 +- ] ++ "interfaceName":"eth-rt4-2" + } + ] + } +@@ -497,31 +356,14 @@ + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", +- "active":true, +- "backupIndex":[ +- 0 +- ] ++ "active":true + }, + { + "fib":true, + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", +- "active":true, +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.1.3", +- "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16050 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step7/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step7/show_ipv6_route.ref.diff new file mode 100644 index 0000000..5dc4e59 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step7/show_ipv6_route.ref.diff @@ -0,0 +1,139 @@ +--- a/rt2/step6/show_ipv6_route.ref ++++ b/rt2/step7/show_ipv6_route.ref +@@ -14,34 +14,10 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16051, +- 16011 +- ] +- }, +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16051, +- 16011 +- ] +- } + ] + } + ], +@@ -60,34 +36,10 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16051, +- 16031 +- ] +- }, +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16051, +- 16031 +- ] +- } + ] + } + ], +@@ -106,9 +58,6 @@ + "afi":"ipv6", + "interfaceName":"eth-rt4-1", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] +@@ -118,24 +67,10 @@ + "afi":"ipv6", + "interfaceName":"eth-rt4-2", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16051, +- 16041 +- ] +- } + ] + } + ], +@@ -153,28 +88,19 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-1", +- "active":true, +- "labels":[ +- 16051 +- ] ++ "active":true + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16051 +- ] ++ "active":true + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-2", +- "active":true, +- "labels":[ +- 16051 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step7/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step7/show_mpls_table.ref.diff new file mode 100644 index 0000000..6c0d739 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step7/show_mpls_table.ref.diff @@ -0,0 +1,207 @@ +--- a/rt2/step6/show_mpls_table.ref ++++ b/rt2/step7/show_mpls_table.ref +@@ -7,23 +7,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.2.4" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.3.4" ++ "nexthop":"10.0.1.1" + } + ] + }, +@@ -35,23 +19,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt4-1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt4-2" ++ "interface":"eth-sw1" + } + ] + }, +@@ -63,23 +31,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.3", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.2.4" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.3.4" ++ "nexthop":"10.0.1.3" + } + ] + }, +@@ -91,23 +43,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt4-1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt4-2" ++ "interface":"eth-sw1" + } + ] + }, +@@ -119,26 +55,13 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.3.4", +- "backupIndex":[ +- 0 +- ] ++ "nexthop":"10.0.3.4" + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.2.4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.1.3" ++ "nexthop":"10.0.2.4" + } + ] + }, +@@ -150,74 +73,13 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-rt4-2", +- "backupIndex":[ +- 0 +- ] +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt4-1", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-sw1" +- } +- ] +- }, +- "16050":{ +- "inLabel":16050, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "installed":true, +- "nexthop":"10.0.3.4" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "installed":true, +- "nexthop":"10.0.2.4" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "installed":true, +- "nexthop":"10.0.1.3" +- } +- ] +- }, +- "16051":{ +- "inLabel":16051, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "installed":true, + "interface":"eth-rt4-2" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16051, ++ "outLabel":3, + "installed":true, + "interface":"eth-rt4-1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "installed":true, +- "interface":"eth-sw1" + } + ] + }, diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step8/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step8/show_ip_route.ref.diff new file mode 100644 index 0000000..f5df607 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step8/show_ip_route.ref.diff @@ -0,0 +1,288 @@ +--- a/rt2/step7/show_ip_route.ref ++++ b/rt2/step8/show_ip_route.ref +@@ -15,10 +15,36 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.2.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16050, ++ 16010 ++ ] ++ }, ++ { ++ "ip":"10.0.3.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16050, ++ 16010 ++ ] ++ } + ] + } + ], +@@ -38,10 +64,36 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.2.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16050, ++ 16030 ++ ] ++ }, ++ { ++ "ip":"10.0.3.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16050, ++ 16030 ++ ] ++ } + ] + } + ], +@@ -61,6 +113,9 @@ + "afi":"ipv4", + "interfaceName":"eth-rt4-1", + "active":true, ++ "backupIndex":[ ++ 0 ++ ], + "labels":[ + 3 + ] +@@ -71,10 +126,25 @@ + "afi":"ipv4", + "interfaceName":"eth-rt4-2", + "active":true, ++ "backupIndex":[ ++ 0 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.1.3", ++ "afi":"ipv4", ++ "interfaceName":"eth-sw1", ++ "active":true, ++ "labels":[ ++ 16050, ++ 16040 ++ ] ++ } + ] + } + ], +@@ -93,21 +163,30 @@ + "ip":"10.0.1.3", + "afi":"ipv4", + "interfaceName":"eth-sw1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16050 ++ ] + }, + { + "fib":true, + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16050 ++ ] + }, + { + "fib":true, + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", +- "active":true ++ "active":true, ++ "labels":[ ++ 16050 ++ ] + } + ] + } +@@ -172,12 +251,40 @@ + { + "ip":"10.0.1.1", + "afi":"ipv4", +- "interfaceName":"eth-sw1" ++ "interfaceName":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] + }, + { + "ip":"10.0.1.3", + "afi":"ipv4", +- "interfaceName":"eth-sw1" ++ "interfaceName":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.2.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16050 ++ ] ++ }, ++ { ++ "ip":"10.0.3.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16050 ++ ] + } + ] + } +@@ -192,13 +299,30 @@ + { + "ip":"10.0.2.4", + "afi":"ipv4", +- "interfaceName":"eth-rt4-1" ++ "interfaceName":"eth-rt4-1", ++ "backupIndex":[ ++ 0 ++ ] + }, + { + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.1.3", ++ "afi":"ipv4", ++ "interfaceName":"eth-sw1", ++ "active":true, ++ "labels":[ ++ 16050 ++ ] + } + ] + } +@@ -214,12 +338,29 @@ + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ] + }, + { + "ip":"10.0.3.4", + "afi":"ipv4", +- "interfaceName":"eth-rt4-2" ++ "interfaceName":"eth-rt4-2", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.1.3", ++ "afi":"ipv4", ++ "interfaceName":"eth-sw1", ++ "active":true, ++ "labels":[ ++ 16050 ++ ] + } + ] + } +@@ -356,14 +497,31 @@ + "ip":"10.0.2.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-1", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ] + }, + { + "fib":true, + "ip":"10.0.3.4", + "afi":"ipv4", + "interfaceName":"eth-rt4-2", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.1.3", ++ "afi":"ipv4", ++ "interfaceName":"eth-sw1", ++ "active":true, ++ "labels":[ ++ 16050 ++ ] + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step8/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step8/show_ipv6_route.ref.diff new file mode 100644 index 0000000..125f36b --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step8/show_ipv6_route.ref.diff @@ -0,0 +1,139 @@ +--- a/rt2/step7/show_ipv6_route.ref ++++ b/rt2/step8/show_ipv6_route.ref +@@ -14,10 +14,34 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16051, ++ 16011 ++ ] ++ }, ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16051, ++ 16011 ++ ] ++ } + ] + } + ], +@@ -36,10 +60,34 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt4-1", ++ "active":true, ++ "labels":[ ++ 16051, ++ 16031 ++ ] ++ }, ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt4-2", ++ "active":true, ++ "labels":[ ++ 16051, ++ 16031 ++ ] ++ } + ] + } + ], +@@ -58,6 +106,9 @@ + "afi":"ipv6", + "interfaceName":"eth-rt4-1", + "active":true, ++ "backupIndex":[ ++ 0 ++ ], + "labels":[ + 3 + ] +@@ -67,10 +118,24 @@ + "afi":"ipv6", + "interfaceName":"eth-rt4-2", + "active":true, ++ "backupIndex":[ ++ 0 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-sw1", ++ "active":true, ++ "labels":[ ++ 16051, ++ 16041 ++ ] ++ } + ] + } + ], +@@ -88,19 +153,28 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16051 ++ ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16051 ++ ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4-2", +- "active":true ++ "active":true, ++ "labels":[ ++ 16051 ++ ] + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step8/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step8/show_mpls_table.ref.diff new file mode 100644 index 0000000..a1d5d79 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step8/show_mpls_table.ref.diff @@ -0,0 +1,207 @@ +--- a/rt2/step7/show_mpls_table.ref ++++ b/rt2/step8/show_mpls_table.ref +@@ -7,7 +7,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.1" ++ "nexthop":"10.0.1.1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.2.4" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.3.4" + } + ] + }, +@@ -19,7 +35,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1" ++ "interface":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt4-1" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt4-2" + } + ] + }, +@@ -31,7 +63,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.3" ++ "nexthop":"10.0.1.3", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.2.4" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.3.4" + } + ] + }, +@@ -43,7 +91,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1" ++ "interface":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt4-1" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt4-2" + } + ] + }, +@@ -55,13 +119,26 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.3.4" ++ "nexthop":"10.0.3.4", ++ "backupIndex":[ ++ 0 ++ ] + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.2.4" ++ "nexthop":"10.0.2.4", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.1.3" + } + ] + }, +@@ -73,13 +150,74 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-rt4-2" ++ "interface":"eth-rt4-2", ++ "backupIndex":[ ++ 0 ++ ] + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, ++ "interface":"eth-rt4-1", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-sw1" ++ } ++ ] ++ }, ++ "16050":{ ++ "inLabel":16050, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "installed":true, ++ "nexthop":"10.0.3.4" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "installed":true, ++ "nexthop":"10.0.2.4" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "installed":true, ++ "nexthop":"10.0.1.3" ++ } ++ ] ++ }, ++ "16051":{ ++ "inLabel":16051, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "installed":true, ++ "interface":"eth-rt4-2" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "installed":true, + "interface":"eth-rt4-1" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "installed":true, ++ "interface":"eth-sw1" + } + ] + }, diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step9/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step9/show_ip_route.ref.diff new file mode 100644 index 0000000..2475c63 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step9/show_ip_route.ref.diff @@ -0,0 +1,119 @@ +--- a/rt2/step8/show_ip_route.ref ++++ b/rt2/step9/show_ip_route.ref +@@ -31,7 +31,7 @@ + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ +- 16050, ++ 16500, + 16010 + ] + }, +@@ -41,7 +41,7 @@ + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ +- 16050, ++ 16500, + 16010 + ] + } +@@ -80,7 +80,7 @@ + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ +- 16050, ++ 16500, + 16030 + ] + }, +@@ -90,7 +90,7 @@ + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ +- 16050, ++ 16500, + 16030 + ] + } +@@ -141,7 +141,7 @@ + "interfaceName":"eth-sw1", + "active":true, + "labels":[ +- 16050, ++ 16500, + 16040 + ] + } +@@ -165,7 +165,7 @@ + "interfaceName":"eth-sw1", + "active":true, + "labels":[ +- 16050 ++ 16500 + ] + }, + { +@@ -175,7 +175,7 @@ + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ +- 16050 ++ 16500 + ] + }, + { +@@ -185,7 +185,7 @@ + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ +- 16050 ++ 16500 + ] + } + ] +@@ -274,7 +274,7 @@ + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ +- 16050 ++ 16500 + ] + }, + { +@@ -283,7 +283,7 @@ + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ +- 16050 ++ 16500 + ] + } + ] +@@ -321,7 +321,7 @@ + "interfaceName":"eth-sw1", + "active":true, + "labels":[ +- 16050 ++ 16500 + ] + } + ] +@@ -359,7 +359,7 @@ + "interfaceName":"eth-sw1", + "active":true, + "labels":[ +- 16050 ++ 16500 + ] + } + ] +@@ -520,7 +520,7 @@ + "interfaceName":"eth-sw1", + "active":true, + "labels":[ +- 16050 ++ 16500 + ] + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step9/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step9/show_ipv6_route.ref.diff new file mode 100644 index 0000000..2d21fbc --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step9/show_ipv6_route.ref.diff @@ -0,0 +1,74 @@ +--- a/rt2/step8/show_ipv6_route.ref ++++ b/rt2/step9/show_ipv6_route.ref +@@ -29,7 +29,7 @@ + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ +- 16051, ++ 16501, + 16011 + ] + }, +@@ -38,7 +38,7 @@ + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ +- 16051, ++ 16501, + 16011 + ] + } +@@ -75,7 +75,7 @@ + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ +- 16051, ++ 16501, + 16031 + ] + }, +@@ -84,7 +84,7 @@ + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ +- 16051, ++ 16501, + 16031 + ] + } +@@ -132,7 +132,7 @@ + "interfaceName":"eth-sw1", + "active":true, + "labels":[ +- 16051, ++ 16501, + 16041 + ] + } +@@ -155,7 +155,7 @@ + "interfaceName":"eth-rt4-1", + "active":true, + "labels":[ +- 16051 ++ 16501 + ] + }, + { +@@ -164,7 +164,7 @@ + "interfaceName":"eth-sw1", + "active":true, + "labels":[ +- 16051 ++ 16501 + ] + }, + { +@@ -173,7 +173,7 @@ + "interfaceName":"eth-rt4-2", + "active":true, + "labels":[ +- 16051 ++ 16501 + ] + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step9/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step9/show_mpls_table.ref.diff new file mode 100644 index 0000000..bc0ec31 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step9/show_mpls_table.ref.diff @@ -0,0 +1,182 @@ +--- a/rt2/step8/show_mpls_table.ref ++++ b/rt2/step9/show_mpls_table.ref +@@ -17,12 +17,12 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16050, ++ "outLabel":16500, + "nexthop":"10.0.2.4" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16050, ++ "outLabel":16500, + "nexthop":"10.0.3.4" + } + ] +@@ -45,12 +45,12 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16051, ++ "outLabel":16501, + "interface":"eth-rt4-1" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16051, ++ "outLabel":16501, + "interface":"eth-rt4-2" + } + ] +@@ -73,12 +73,12 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16050, ++ "outLabel":16500, + "nexthop":"10.0.2.4" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16050, ++ "outLabel":16500, + "nexthop":"10.0.3.4" + } + ] +@@ -101,12 +101,12 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16051, ++ "outLabel":16501, + "interface":"eth-rt4-1" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16051, ++ "outLabel":16501, + "interface":"eth-rt4-2" + } + ] +@@ -137,7 +137,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16050, ++ "outLabel":16500, + "nexthop":"10.0.1.3" + } + ] +@@ -168,55 +168,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-sw1" +- } +- ] +- }, +- "16050":{ +- "inLabel":16050, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "installed":true, +- "nexthop":"10.0.3.4" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "installed":true, +- "nexthop":"10.0.2.4" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "installed":true, +- "nexthop":"10.0.1.3" +- } +- ] +- }, +- "16051":{ +- "inLabel":16051, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "installed":true, +- "interface":"eth-rt4-2" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "installed":true, +- "interface":"eth-rt4-1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "installed":true, ++ "outLabel":16501, + "interface":"eth-sw1" + } + ] +@@ -282,5 +234,53 @@ + "interface":"eth-sw1" + } + ] ++ }, ++ "16500":{ ++ "inLabel":16500, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16500, ++ "installed":true, ++ "nexthop":"10.0.3.4" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16500, ++ "installed":true, ++ "nexthop":"10.0.2.4" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16500, ++ "installed":true, ++ "nexthop":"10.0.1.3" ++ } ++ ] ++ }, ++ "16501":{ ++ "inLabel":16501, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16501, ++ "installed":true, ++ "interface":"eth-rt4-2" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16501, ++ "installed":true, ++ "interface":"eth-rt4-1" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16501, ++ "installed":true, ++ "interface":"eth-sw1" ++ } ++ ] + } + } diff --git a/tests/topotests/isis_tilfa_topo1/rt2/zebra.conf b/tests/topotests/isis_tilfa_topo1/rt2/zebra.conf new file mode 100644 index 0000000..f2975f6 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/zebra.conf @@ -0,0 +1,26 @@ +log file zebra.log +! +hostname rt2 +! +! debug zebra kernel +! debug zebra packet +! debug zebra mpls +! debug zebra rib detail +! +interface lo + ip address 2.2.2.2/32 + ipv6 address 2001:db8:1000::2/128 +! +interface eth-sw1 + ip address 10.0.1.2/24 +! +interface eth-rt4-1 + ip address 10.0.2.2/24 +! +interface eth-rt4-2 + ip address 10.0.3.2/24 +! +ip forwarding +! +line vty +! diff --git a/tests/topotests/isis_tilfa_topo1/rt3/isisd.conf b/tests/topotests/isis_tilfa_topo1/rt3/isisd.conf new file mode 100644 index 0000000..d2f01e4 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/isisd.conf @@ -0,0 +1,49 @@ +hostname rt3 +log file isisd.log +! +! debug isis events +! debug isis route-events +! debug isis spf-events +! debug isis sr-events +! debug isis lsp-gen +! debug isis ti-lfa +! +interface lo + ip router isis 1 + ipv6 router isis 1 + isis passive +! +interface eth-sw1 + ip router isis 1 + ipv6 router isis 1 + isis hello-interval 1 + isis hello-multiplier 10 + isis fast-reroute ti-lfa +! +interface eth-rt5-1 + ip router isis 1 + ipv6 router isis 1 + isis network point-to-point + isis hello-interval 1 + isis hello-multiplier 10 + isis fast-reroute ti-lfa +! +interface eth-rt5-2 + ip router isis 1 + ipv6 router isis 1 + isis network point-to-point + isis hello-interval 1 + isis hello-multiplier 10 + isis fast-reroute ti-lfa +! +router isis 1 + net 49.0000.0000.0000.0003.00 + is-type level-1 + lsp-gen-interval 2 + topology ipv6-unicast + segment-routing on + segment-routing global-block 16000 23999 + segment-routing node-msd 8 + segment-routing prefix 3.3.3.3/32 index 30 + segment-routing prefix 2001:db8:1000::3/128 index 31 +! diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step1/show_ip_route.ref b/tests/topotests/isis_tilfa_topo1/rt3/step1/show_ip_route.ref new file mode 100644 index 0000000..d70e9fe --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step1/show_ip_route.ref @@ -0,0 +1,563 @@ +{ + "1.1.1.1\/32":[ + { + "prefix":"1.1.1.1\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.1.1", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "backupIndex":[ + 0, + 1 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ + 16040, + 16010 + ] + }, + { + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ + 16040, + 16010 + ] + } + ] + } + ], + "2.2.2.2\/32":[ + { + "prefix":"2.2.2.2\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "backupIndex":[ + 0, + 1 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ + 16040, + 16020 + ] + }, + { + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ + 16040, + 16020 + ] + } + ] + } + ], + "4.4.4.4\/32":[ + { + "prefix":"4.4.4.4\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16040 + ] + }, + { + "fib":true, + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ + 16040 + ] + }, + { + "fib":true, + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ + 16040 + ] + } + ] + } + ], + "5.5.5.5\/32":[ + { + "prefix":"5.5.5.5\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + }, + { + "fib":true, + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16040, + 16050 + ] + } + ] + } + ], + "6.6.6.6\/32":[ + { + "prefix":"6.6.6.6\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 16060 + ] + }, + { + "fib":true, + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 16060 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16060 + ] + } + ] + } + ], + "10.0.1.0\/24":[ + { + "prefix":"10.0.1.0\/24", + "protocol":"isis", + "distance":115, + "metric":20, + "nexthops":[ + { + "ip":"10.0.1.1", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "backupIndex":[ + 0, + 1 + ] + }, + { + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ + 16040 + ] + }, + { + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ + 16040 + ] + } + ] + } + ], + "10.0.2.0\/24":[ + { + "prefix":"10.0.2.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", + "active":true + }, + { + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", + "active":true + } + ] + } + ], + "10.0.3.0\/24":[ + { + "prefix":"10.0.3.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", + "active":true + }, + { + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", + "active":true + } + ] + } + ], + "10.0.4.0\/24":[ + { + "prefix":"10.0.4.0\/24", + "protocol":"isis", + "distance":115, + "metric":20, + "nexthops":[ + { + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", + "backupIndex":[ + 0 + ] + }, + { + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", + "active":true, + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16040 + ] + } + ] + } + ], + "10.0.5.0\/24":[ + { + "prefix":"10.0.5.0\/24", + "protocol":"isis", + "distance":115, + "metric":20, + "nexthops":[ + { + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", + "active":true, + "backupIndex":[ + 0 + ] + }, + { + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16040 + ] + } + ] + } + ], + "10.0.6.0\/24":[ + { + "prefix":"10.0.6.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", + "active":true, + "backupIndex":[ + 0 + ] + }, + { + "fib":true, + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", + "active":true, + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true + } + ] + } + ], + "10.0.7.0\/24":[ + { + "prefix":"10.0.7.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true + }, + { + "fib":true, + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", + "active":true + }, + { + "fib":true, + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", + "active":true + } + ] + } + ], + "10.0.8.0\/24":[ + { + "prefix":"10.0.8.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", + "active":true, + "backupIndex":[ + 0 + ] + }, + { + "fib":true, + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", + "active":true, + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16040 + ] + } + ] + } + ] +} diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step1/show_ipv6_route.ref b/tests/topotests/isis_tilfa_topo1/rt3/step1/show_ipv6_route.ref new file mode 100644 index 0000000..058d336 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step1/show_ipv6_route.ref @@ -0,0 +1,229 @@ +{ + "2001:db8:1000::1\/128":[ + { + "prefix":"2001:db8:1000::1\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, + "backupIndex":[ + 0, + 1 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ + 16041, + 16011 + ] + }, + { + "afi":"ipv6", + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ + 16041, + 16011 + ] + } + ] + } + ], + "2001:db8:1000::2\/128":[ + { + "prefix":"2001:db8:1000::2\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, + "backupIndex":[ + 0, + 1 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ + 16041, + 16021 + ] + }, + { + "afi":"ipv6", + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ + 16041, + 16021 + ] + } + ] + } + ], + "2001:db8:1000::4\/128":[ + { + "prefix":"2001:db8:1000::4\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ + 16041 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16041 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ + 16041 + ] + } + ] + } + ], + "2001:db8:1000::5\/128":[ + { + "prefix":"2001:db8:1000::5\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5-1", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5-2", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16041, + 16051 + ] + } + ] + } + ], + "2001:db8:1000::6\/128":[ + { + "prefix":"2001:db8:1000::6\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5-1", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 16061 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5-2", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 16061 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, + "labels":[ + 16061 + ] + } + ] + } + ] +} diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step1/show_mpls_table.ref b/tests/topotests/isis_tilfa_topo1/rt3/step1/show_mpls_table.ref new file mode 100644 index 0000000..1912df3 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step1/show_mpls_table.ref @@ -0,0 +1,286 @@ +{ + "16010":{ + "inLabel":16010, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.1.1", + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16040, + "nexthop":"10.0.4.5" + }, + { + "type":"SR (IS-IS)", + "outLabel":16040, + "nexthop":"10.0.5.5" + } + ] + }, + "16011":{ + "inLabel":16011, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-sw1", + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16041, + "interface":"eth-rt5-1" + }, + { + "type":"SR (IS-IS)", + "outLabel":16041, + "interface":"eth-rt5-2" + } + ] + }, + "16020":{ + "inLabel":16020, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.1.2", + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16040, + "nexthop":"10.0.4.5" + }, + { + "type":"SR (IS-IS)", + "outLabel":16040, + "nexthop":"10.0.5.5" + } + ] + }, + "16021":{ + "inLabel":16021, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-sw1", + "backupIndex":[ + 0, + 1 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16041, + "interface":"eth-rt5-1" + }, + { + "type":"SR (IS-IS)", + "outLabel":16041, + "interface":"eth-rt5-2" + } + ] + }, + "16040":{ + "inLabel":16040, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16040, + "installed":true, + "nexthop":"10.0.5.5" + }, + { + "type":"SR (IS-IS)", + "outLabel":16040, + "installed":true, + "nexthop":"10.0.4.5" + }, + { + "type":"SR (IS-IS)", + "outLabel":16040, + "installed":true, + "nexthop":"10.0.1.2" + } + ] + }, + "16041":{ + "inLabel":16041, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16041, + "installed":true, + "interface":"eth-rt5-2" + }, + { + "type":"SR (IS-IS)", + "outLabel":16041, + "installed":true, + "interface":"eth-rt5-1" + }, + { + "type":"SR (IS-IS)", + "outLabel":16041, + "installed":true, + "interface":"eth-sw1" + } + ] + }, + "16050":{ + "inLabel":16050, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.5.5", + "backupIndex":[ + 0 + ] + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.4.5", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16040, + "nexthop":"10.0.1.2" + } + ] + }, + "16051":{ + "inLabel":16051, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt5-2", + "backupIndex":[ + 0 + ] + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt5-1", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16041, + "interface":"eth-sw1" + } + ] + }, + "16060":{ + "inLabel":16060, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16060, + "installed":true, + "nexthop":"10.0.5.5", + "backupIndex":[ + 0 + ] + }, + { + "type":"SR (IS-IS)", + "outLabel":16060, + "installed":true, + "nexthop":"10.0.4.5", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16060, + "nexthop":"10.0.1.2" + } + ] + }, + "16061":{ + "inLabel":16061, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16061, + "installed":true, + "interface":"eth-rt5-2", + "backupIndex":[ + 0 + ] + }, + { + "type":"SR (IS-IS)", + "outLabel":16061, + "installed":true, + "interface":"eth-rt5-1", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16061, + "interface":"eth-sw1" + } + ] + } +} diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step1/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis_tilfa_topo1/rt3/step1/show_yang_interface_isis_adjacencies.ref new file mode 100644 index 0000000..777c749 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step1/show_yang_interface_isis_adjacencies.ref @@ -0,0 +1,70 @@ +{ + "frr-interface:lib": { + "interface": [ + { + "name": "eth-rt5-1", + "vrf": "default", + "state": { + "frr-isisd:isis": { + "adjacencies": { + "adjacency": [ + { + "neighbor-sys-type": "level-1", + "neighbor-sysid": "0000.0000.0005", + "hold-timer": 10, + "neighbor-priority": 0, + "state": "up" + } + ] + } + } + } + }, + { + "name": "eth-rt5-2", + "vrf": "default", + "state": { + "frr-isisd:isis": { + "adjacencies": { + "adjacency": [ + { + "neighbor-sys-type": "level-1", + "neighbor-sysid": "0000.0000.0005", + "hold-timer": 10, + "neighbor-priority": 0, + "state": "up" + } + ] + } + } + } + }, + { + "name": "eth-sw1", + "vrf": "default", + "state": { + "frr-isisd:isis": { + "adjacencies": { + "adjacency": [ + { + "neighbor-sys-type": "level-1", + "neighbor-sysid": "0000.0000.0001", + "hold-timer": 10, + "neighbor-priority": 100, + "state": "up" + }, + { + "neighbor-sys-type": "level-1", + "neighbor-sysid": "0000.0000.0002", + "hold-timer": 10, + "neighbor-priority": 64, + "state": "up" + } + ] + } + } + } + } + ] + } +} diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step10/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step10/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step10/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step10/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step10/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step10/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step10/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step10/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step10/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step11/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step11/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step11/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step11/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step11/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step11/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step11/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step11/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step11/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step12/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step12/show_ip_route.ref.diff new file mode 100644 index 0000000..8695cf8 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step12/show_ip_route.ref.diff @@ -0,0 +1,58 @@ +--- a/rt3/step11/show_ip_route.ref ++++ b/rt3/step12/show_ip_route.ref +@@ -198,44 +198,37 @@ + "selected":true, + "destSelected":true, + "distance":115, +- "metric":30, ++ "metric":40, + "installed":true, + "nexthops":[ + { + "fib":true, +- "ip":"10.0.4.5", ++ "ip":"10.0.1.2", + "afi":"ipv4", +- "interfaceName":"eth-rt5-1", ++ "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ +- 30060 ++ 16060 + ] + }, + { + "fib":true, +- "ip":"10.0.5.5", ++ "ip":"10.0.4.5", + "afi":"ipv4", +- "interfaceName":"eth-rt5-2", ++ "interfaceName":"eth-rt5-1", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 30060 + ] +- } +- ], +- "backupNexthops":[ ++ }, + { +- "ip":"10.0.1.2", ++ "fib":true, ++ "ip":"10.0.5.5", + "afi":"ipv4", +- "interfaceName":"eth-sw1", ++ "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ +- 16060 ++ 30060 + ] + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step12/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step12/show_ipv6_route.ref.diff new file mode 100644 index 0000000..661d0fe --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step12/show_ipv6_route.ref.diff @@ -0,0 +1,45 @@ +--- a/rt3/step11/show_ipv6_route.ref ++++ b/rt3/step12/show_ipv6_route.ref +@@ -186,7 +186,7 @@ + "selected":true, + "destSelected":true, + "distance":115, +- "metric":30, ++ "metric":40, + "installed":true, + "nexthops":[ + { +@@ -194,9 +194,6 @@ + "afi":"ipv6", + "interfaceName":"eth-rt5-1", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 30061 + ] +@@ -206,23 +203,10 @@ + "afi":"ipv6", + "interfaceName":"eth-rt5-2", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 30061 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16061 +- ] +- } + ] + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step12/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step12/show_mpls_table.ref.diff new file mode 100644 index 0000000..30941b3 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step12/show_mpls_table.ref.diff @@ -0,0 +1,60 @@ +--- a/rt3/step11/show_mpls_table.ref ++++ b/rt3/step12/show_mpls_table.ref +@@ -165,27 +165,8 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":30060, +- "installed":true, +- "nexthop":"10.0.5.5", +- "backupIndex":[ +- 0 +- ] +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":30060, +- "installed":true, +- "nexthop":"10.0.4.5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", + "outLabel":16060, ++ "installed":true, + "nexthop":"10.0.1.2" + } + ] +@@ -196,27 +177,8 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":30061, +- "installed":true, +- "interface":"eth-rt5-2", +- "backupIndex":[ +- 0 +- ] +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":30061, +- "installed":true, +- "interface":"eth-rt5-1", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", + "outLabel":16061, ++ "installed":true, + "interface":"eth-sw1" + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step2/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step2/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step2/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step2/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step2/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step2/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step2/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step2/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step2/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step3/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step3/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step3/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step3/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step3/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step3/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step3/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step3/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step3/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step4/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step4/show_ip_route.ref.diff new file mode 100644 index 0000000..9ba73b0 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step4/show_ip_route.ref.diff @@ -0,0 +1,288 @@ +--- a/rt3/step3/show_ip_route.ref ++++ b/rt3/step4/show_ip_route.ref +@@ -15,36 +15,10 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.4.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5-1", +- "active":true, +- "labels":[ +- 16040, +- 16010 +- ] +- }, +- { +- "ip":"10.0.5.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5-2", +- "active":true, +- "labels":[ +- 16040, +- 16010 +- ] +- } + ] + } + ], +@@ -64,36 +38,10 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.4.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5-1", +- "active":true, +- "labels":[ +- 16040, +- 16020 +- ] +- }, +- { +- "ip":"10.0.5.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5-2", +- "active":true, +- "labels":[ +- 16040, +- 16020 +- ] +- } + ] + } + ], +@@ -112,30 +60,21 @@ + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16040 +- ] ++ "active":true + }, + { + "fib":true, + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", +- "active":true, +- "labels":[ +- 16040 +- ] ++ "active":true + }, + { + "fib":true, + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", +- "active":true, +- "labels":[ +- 16040 +- ] ++ "active":true + } + ] + } +@@ -156,9 +95,6 @@ + "afi":"ipv4", + "interfaceName":"eth-rt5-1", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] +@@ -169,25 +105,10 @@ + "afi":"ipv4", + "interfaceName":"eth-rt5-2", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.1.2", +- "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16040, +- 16050 +- ] +- } + ] + } + ], +@@ -251,40 +172,12 @@ + { + "ip":"10.0.1.1", + "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] ++ "interfaceName":"eth-sw1" + }, + { + "ip":"10.0.1.2", + "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.4.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5-1", +- "active":true, +- "labels":[ +- 16040 +- ] +- }, +- { +- "ip":"10.0.5.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5-2", +- "active":true, +- "labels":[ +- 16040 +- ] ++ "interfaceName":"eth-sw1" + } + ] + } +@@ -375,30 +268,13 @@ + { + "ip":"10.0.4.5", + "afi":"ipv4", +- "interfaceName":"eth-rt5-1", +- "backupIndex":[ +- 0 +- ] ++ "interfaceName":"eth-rt5-1" + }, + { + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", +- "active":true, +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.1.2", +- "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16040 +- ] ++ "active":true + } + ] + } +@@ -414,29 +290,12 @@ + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", +- "active":true, +- "backupIndex":[ +- 0 +- ] ++ "active":true + }, + { + "ip":"10.0.5.5", + "afi":"ipv4", +- "interfaceName":"eth-rt5-2", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.1.2", +- "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16040 +- ] ++ "interfaceName":"eth-rt5-2" + } + ] + } +@@ -531,31 +390,14 @@ + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", +- "active":true, +- "backupIndex":[ +- 0 +- ] ++ "active":true + }, + { + "fib":true, + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", +- "active":true, +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.1.2", +- "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16040 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step4/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step4/show_ipv6_route.ref.diff new file mode 100644 index 0000000..04f61c4 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step4/show_ipv6_route.ref.diff @@ -0,0 +1,139 @@ +--- a/rt3/step3/show_ipv6_route.ref ++++ b/rt3/step4/show_ipv6_route.ref +@@ -14,34 +14,10 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt5-1", +- "active":true, +- "labels":[ +- 16041, +- 16011 +- ] +- }, +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt5-2", +- "active":true, +- "labels":[ +- 16041, +- 16011 +- ] +- } + ] + } + ], +@@ -60,34 +36,10 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0, +- 1 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt5-1", +- "active":true, +- "labels":[ +- 16041, +- 16021 +- ] +- }, +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt5-2", +- "active":true, +- "labels":[ +- 16041, +- 16021 +- ] +- } + ] + } + ], +@@ -105,28 +57,19 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5-1", +- "active":true, +- "labels":[ +- 16041 +- ] ++ "active":true + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16041 +- ] ++ "active":true + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5-2", +- "active":true, +- "labels":[ +- 16041 +- ] ++ "active":true + } + ] + } +@@ -146,9 +89,6 @@ + "afi":"ipv6", + "interfaceName":"eth-rt5-1", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] +@@ -158,24 +98,10 @@ + "afi":"ipv6", + "interfaceName":"eth-rt5-2", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16041, +- 16051 +- ] +- } + ] + } + ], diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step4/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step4/show_mpls_table.ref.diff new file mode 100644 index 0000000..b3588ca --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step4/show_mpls_table.ref.diff @@ -0,0 +1,206 @@ +--- a/rt3/step3/show_mpls_table.ref ++++ b/rt3/step4/show_mpls_table.ref +@@ -7,23 +7,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16040, +- "nexthop":"10.0.4.5" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16040, +- "nexthop":"10.0.5.5" ++ "nexthop":"10.0.1.1" + } + ] + }, +@@ -35,23 +19,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16041, +- "interface":"eth-rt5-1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16041, +- "interface":"eth-rt5-2" ++ "interface":"eth-sw1" + } + ] + }, +@@ -63,23 +31,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.2", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16040, +- "nexthop":"10.0.4.5" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16040, +- "nexthop":"10.0.5.5" ++ "nexthop":"10.0.1.2" + } + ] + }, +@@ -91,70 +43,6 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1", +- "backupIndex":[ +- 0, +- 1 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16041, +- "interface":"eth-rt5-1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16041, +- "interface":"eth-rt5-2" +- } +- ] +- }, +- "16040":{ +- "inLabel":16040, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16040, +- "installed":true, +- "nexthop":"10.0.5.5" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16040, +- "installed":true, +- "nexthop":"10.0.4.5" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16040, +- "installed":true, +- "nexthop":"10.0.1.2" +- } +- ] +- }, +- "16041":{ +- "inLabel":16041, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16041, +- "installed":true, +- "interface":"eth-rt5-2" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16041, +- "installed":true, +- "interface":"eth-rt5-1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16041, +- "installed":true, + "interface":"eth-sw1" + } + ] +@@ -167,26 +55,13 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.5.5", +- "backupIndex":[ +- 0 +- ] ++ "nexthop":"10.0.5.5" + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.4.5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16040, +- "nexthop":"10.0.1.2" ++ "nexthop":"10.0.4.5" + } + ] + }, +@@ -198,26 +73,13 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-rt5-2", +- "backupIndex":[ +- 0 +- ] ++ "interface":"eth-rt5-2" + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-rt5-1", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16041, +- "interface":"eth-sw1" ++ "interface":"eth-rt5-1" + } + ] + }, diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step5/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step5/show_ip_route.ref.diff new file mode 100644 index 0000000..1af024f --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step5/show_ip_route.ref.diff @@ -0,0 +1,288 @@ +--- a/rt3/step4/show_ip_route.ref ++++ b/rt3/step5/show_ip_route.ref +@@ -15,10 +15,36 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.4.5", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt5-1", ++ "active":true, ++ "labels":[ ++ 16040, ++ 16010 ++ ] ++ }, ++ { ++ "ip":"10.0.5.5", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt5-2", ++ "active":true, ++ "labels":[ ++ 16040, ++ 16010 ++ ] ++ } + ] + } + ], +@@ -38,10 +64,36 @@ + "afi":"ipv4", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.4.5", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt5-1", ++ "active":true, ++ "labels":[ ++ 16040, ++ 16020 ++ ] ++ }, ++ { ++ "ip":"10.0.5.5", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt5-2", ++ "active":true, ++ "labels":[ ++ 16040, ++ 16020 ++ ] ++ } + ] + } + ], +@@ -60,21 +112,30 @@ + "ip":"10.0.1.2", + "afi":"ipv4", + "interfaceName":"eth-sw1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16040 ++ ] + }, + { + "fib":true, + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16040 ++ ] + }, + { + "fib":true, + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", +- "active":true ++ "active":true, ++ "labels":[ ++ 16040 ++ ] + } + ] + } +@@ -95,6 +156,9 @@ + "afi":"ipv4", + "interfaceName":"eth-rt5-1", + "active":true, ++ "backupIndex":[ ++ 0 ++ ], + "labels":[ + 3 + ] +@@ -105,10 +169,25 @@ + "afi":"ipv4", + "interfaceName":"eth-rt5-2", + "active":true, ++ "backupIndex":[ ++ 0 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.1.2", ++ "afi":"ipv4", ++ "interfaceName":"eth-sw1", ++ "active":true, ++ "labels":[ ++ 16040, ++ 16050 ++ ] ++ } + ] + } + ], +@@ -172,12 +251,40 @@ + { + "ip":"10.0.1.1", + "afi":"ipv4", +- "interfaceName":"eth-sw1" ++ "interfaceName":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] + }, + { + "ip":"10.0.1.2", + "afi":"ipv4", +- "interfaceName":"eth-sw1" ++ "interfaceName":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.4.5", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt5-1", ++ "active":true, ++ "labels":[ ++ 16040 ++ ] ++ }, ++ { ++ "ip":"10.0.5.5", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt5-2", ++ "active":true, ++ "labels":[ ++ 16040 ++ ] + } + ] + } +@@ -268,13 +375,30 @@ + { + "ip":"10.0.4.5", + "afi":"ipv4", +- "interfaceName":"eth-rt5-1" ++ "interfaceName":"eth-rt5-1", ++ "backupIndex":[ ++ 0 ++ ] + }, + { + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.1.2", ++ "afi":"ipv4", ++ "interfaceName":"eth-sw1", ++ "active":true, ++ "labels":[ ++ 16040 ++ ] + } + ] + } +@@ -290,12 +414,29 @@ + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ] + }, + { + "ip":"10.0.5.5", + "afi":"ipv4", +- "interfaceName":"eth-rt5-2" ++ "interfaceName":"eth-rt5-2", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.1.2", ++ "afi":"ipv4", ++ "interfaceName":"eth-sw1", ++ "active":true, ++ "labels":[ ++ 16040 ++ ] + } + ] + } +@@ -390,14 +531,31 @@ + "ip":"10.0.4.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-1", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ] + }, + { + "fib":true, + "ip":"10.0.5.5", + "afi":"ipv4", + "interfaceName":"eth-rt5-2", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.1.2", ++ "afi":"ipv4", ++ "interfaceName":"eth-sw1", ++ "active":true, ++ "labels":[ ++ 16040 ++ ] + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step5/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step5/show_ipv6_route.ref.diff new file mode 100644 index 0000000..7cc79d0 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step5/show_ipv6_route.ref.diff @@ -0,0 +1,139 @@ +--- a/rt3/step4/show_ipv6_route.ref ++++ b/rt3/step5/show_ipv6_route.ref +@@ -14,10 +14,34 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt5-1", ++ "active":true, ++ "labels":[ ++ 16041, ++ 16011 ++ ] ++ }, ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt5-2", ++ "active":true, ++ "labels":[ ++ 16041, ++ 16011 ++ ] ++ } + ] + } + ], +@@ -36,10 +60,34 @@ + "afi":"ipv6", + "interfaceName":"eth-sw1", + "active":true, ++ "backupIndex":[ ++ 0, ++ 1 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt5-1", ++ "active":true, ++ "labels":[ ++ 16041, ++ 16021 ++ ] ++ }, ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt5-2", ++ "active":true, ++ "labels":[ ++ 16041, ++ 16021 ++ ] ++ } + ] + } + ], +@@ -57,19 +105,28 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5-1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16041 ++ ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-sw1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16041 ++ ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5-2", +- "active":true ++ "active":true, ++ "labels":[ ++ 16041 ++ ] + } + ] + } +@@ -89,6 +146,9 @@ + "afi":"ipv6", + "interfaceName":"eth-rt5-1", + "active":true, ++ "backupIndex":[ ++ 0 ++ ], + "labels":[ + 3 + ] +@@ -98,10 +158,24 @@ + "afi":"ipv6", + "interfaceName":"eth-rt5-2", + "active":true, ++ "backupIndex":[ ++ 0 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-sw1", ++ "active":true, ++ "labels":[ ++ 16041, ++ 16051 ++ ] ++ } + ] + } + ], diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step5/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step5/show_mpls_table.ref.diff new file mode 100644 index 0000000..75a0f01 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step5/show_mpls_table.ref.diff @@ -0,0 +1,206 @@ +--- a/rt3/step4/show_mpls_table.ref ++++ b/rt3/step5/show_mpls_table.ref +@@ -7,7 +7,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.1" ++ "nexthop":"10.0.1.1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16040, ++ "nexthop":"10.0.4.5" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16040, ++ "nexthop":"10.0.5.5" + } + ] + }, +@@ -19,7 +35,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-sw1" ++ "interface":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16041, ++ "interface":"eth-rt5-1" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16041, ++ "interface":"eth-rt5-2" + } + ] + }, +@@ -31,7 +63,23 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.1.2" ++ "nexthop":"10.0.1.2", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16040, ++ "nexthop":"10.0.4.5" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16040, ++ "nexthop":"10.0.5.5" + } + ] + }, +@@ -43,6 +91,70 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, ++ "interface":"eth-sw1", ++ "backupIndex":[ ++ 0, ++ 1 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16041, ++ "interface":"eth-rt5-1" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16041, ++ "interface":"eth-rt5-2" ++ } ++ ] ++ }, ++ "16040":{ ++ "inLabel":16040, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16040, ++ "installed":true, ++ "nexthop":"10.0.5.5" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16040, ++ "installed":true, ++ "nexthop":"10.0.4.5" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16040, ++ "installed":true, ++ "nexthop":"10.0.1.2" ++ } ++ ] ++ }, ++ "16041":{ ++ "inLabel":16041, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16041, ++ "installed":true, ++ "interface":"eth-rt5-2" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16041, ++ "installed":true, ++ "interface":"eth-rt5-1" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16041, ++ "installed":true, + "interface":"eth-sw1" + } + ] +@@ -55,13 +167,26 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.5.5" ++ "nexthop":"10.0.5.5", ++ "backupIndex":[ ++ 0 ++ ] + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.4.5" ++ "nexthop":"10.0.4.5", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16040, ++ "nexthop":"10.0.1.2" + } + ] + }, +@@ -73,13 +198,26 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-rt5-2" ++ "interface":"eth-rt5-2", ++ "backupIndex":[ ++ 0 ++ ] + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-rt5-1" ++ "interface":"eth-rt5-1", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16041, ++ "interface":"eth-sw1" + } + ] + }, diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step6/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step6/show_ip_route.ref.diff new file mode 100644 index 0000000..c814a28 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step6/show_ip_route.ref.diff @@ -0,0 +1,101 @@ +--- a/rt3/step5/show_ip_route.ref ++++ b/rt3/step6/show_ip_route.ref +@@ -31,7 +31,7 @@ + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ +- 16040, ++ 30040, + 16010 + ] + }, +@@ -41,7 +41,7 @@ + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ +- 16040, ++ 30040, + 16010 + ] + } +@@ -80,7 +80,7 @@ + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ +- 16040, ++ 30040, + 16020 + ] + }, +@@ -90,7 +90,7 @@ + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ +- 16040, ++ 30040, + 16020 + ] + } +@@ -124,7 +124,7 @@ + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ +- 16040 ++ 30040 + ] + }, + { +@@ -134,7 +134,7 @@ + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ +- 16040 ++ 30040 + ] + } + ] +@@ -185,7 +185,7 @@ + "active":true, + "labels":[ + 16040, +- 16050 ++ 30050 + ] + } + ] +@@ -211,7 +211,7 @@ + 0 + ], + "labels":[ +- 16060 ++ 30060 + ] + }, + { +@@ -224,7 +224,7 @@ + 0 + ], + "labels":[ +- 16060 ++ 30060 + ] + } + ], +@@ -274,7 +274,7 @@ + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ +- 16040 ++ 30040 + ] + }, + { +@@ -283,7 +283,7 @@ + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ +- 16040 ++ 30040 + ] + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step6/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step6/show_ipv6_route.ref.diff new file mode 100644 index 0000000..6f9405f --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step6/show_ipv6_route.ref.diff @@ -0,0 +1,83 @@ +--- a/rt3/step5/show_ipv6_route.ref ++++ b/rt3/step6/show_ipv6_route.ref +@@ -29,7 +29,7 @@ + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ +- 16041, ++ 30041, + 16011 + ] + }, +@@ -38,7 +38,7 @@ + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ +- 16041, ++ 30041, + 16011 + ] + } +@@ -75,7 +75,7 @@ + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ +- 16041, ++ 30041, + 16021 + ] + }, +@@ -84,7 +84,7 @@ + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ +- 16041, ++ 30041, + 16021 + ] + } +@@ -107,7 +107,7 @@ + "interfaceName":"eth-rt5-1", + "active":true, + "labels":[ +- 16041 ++ 30041 + ] + }, + { +@@ -125,7 +125,7 @@ + "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ +- 16041 ++ 30041 + ] + } + ] +@@ -173,7 +173,7 @@ + "active":true, + "labels":[ + 16041, +- 16051 ++ 30051 + ] + } + ] +@@ -198,7 +198,7 @@ + 0 + ], + "labels":[ +- 16061 ++ 30061 + ] + }, + { +@@ -210,7 +210,7 @@ + 0 + ], + "labels":[ +- 16061 ++ 30061 + ] + } + ], diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step6/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step6/show_mpls_table.ref.diff new file mode 100644 index 0000000..d8c3968 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step6/show_mpls_table.ref.diff @@ -0,0 +1,130 @@ +--- a/rt3/step5/show_mpls_table.ref ++++ b/rt3/step6/show_mpls_table.ref +@@ -17,12 +17,12 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16040, ++ "outLabel":30040, + "nexthop":"10.0.4.5" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16040, ++ "outLabel":30040, + "nexthop":"10.0.5.5" + } + ] +@@ -45,12 +45,12 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16041, ++ "outLabel":30041, + "interface":"eth-rt5-1" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16041, ++ "outLabel":30041, + "interface":"eth-rt5-2" + } + ] +@@ -73,12 +73,12 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16040, ++ "outLabel":30040, + "nexthop":"10.0.4.5" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16040, ++ "outLabel":30040, + "nexthop":"10.0.5.5" + } + ] +@@ -101,12 +101,12 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16041, ++ "outLabel":30041, + "interface":"eth-rt5-1" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16041, ++ "outLabel":30041, + "interface":"eth-rt5-2" + } + ] +@@ -117,13 +117,13 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16040, ++ "outLabel":30040, + "installed":true, + "nexthop":"10.0.5.5" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16040, ++ "outLabel":30040, + "installed":true, + "nexthop":"10.0.4.5" + }, +@@ -141,13 +141,13 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16041, ++ "outLabel":30041, + "installed":true, + "interface":"eth-rt5-2" + }, + { + "type":"SR (IS-IS)", +- "outLabel":16041, ++ "outLabel":30041, + "installed":true, + "interface":"eth-rt5-1" + }, +@@ -227,7 +227,7 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16060, ++ "outLabel":30060, + "installed":true, + "nexthop":"10.0.5.5", + "backupIndex":[ +@@ -236,7 +236,7 @@ + }, + { + "type":"SR (IS-IS)", +- "outLabel":16060, ++ "outLabel":30060, + "installed":true, + "nexthop":"10.0.4.5", + "backupIndex":[ +@@ -258,7 +258,7 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16061, ++ "outLabel":30061, + "installed":true, + "interface":"eth-rt5-2", + "backupIndex":[ +@@ -267,7 +267,7 @@ + }, + { + "type":"SR (IS-IS)", +- "outLabel":16061, ++ "outLabel":30061, + "installed":true, + "interface":"eth-rt5-1", + "backupIndex":[ diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step7/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step7/show_ip_route.ref.diff new file mode 100644 index 0000000..c928fcd --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step7/show_ip_route.ref.diff @@ -0,0 +1,32 @@ +--- a/rt3/step6/show_ip_route.ref ++++ b/rt3/step7/show_ip_route.ref +@@ -158,9 +158,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 3 + ] + }, + { +@@ -171,9 +168,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 3 + ] + } + ], +@@ -184,8 +178,7 @@ + "interfaceName":"eth-sw1", + "active":true, + "labels":[ +- 16040, +- 30050 ++ 16040 + ] + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step7/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step7/show_ipv6_route.ref.diff new file mode 100644 index 0000000..0170971 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step7/show_ipv6_route.ref.diff @@ -0,0 +1,32 @@ +--- a/rt3/step6/show_ipv6_route.ref ++++ b/rt3/step7/show_ipv6_route.ref +@@ -148,9 +148,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 3 + ] + }, + { +@@ -160,9 +157,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 3 + ] + } + ], +@@ -172,8 +166,7 @@ + "interfaceName":"eth-sw1", + "active":true, + "labels":[ +- 16041, +- 30051 ++ 16041 + ] + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step7/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step7/show_mpls_table.ref.diff new file mode 100644 index 0000000..d7a3ed9 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step7/show_mpls_table.ref.diff @@ -0,0 +1,71 @@ +--- a/rt3/step6/show_mpls_table.ref ++++ b/rt3/step7/show_mpls_table.ref +@@ -159,68 +159,6 @@ + } + ] + }, +- "16050":{ +- "inLabel":16050, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.5.5", +- "backupIndex":[ +- 0 +- ] +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.4.5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16040, +- "nexthop":"10.0.1.2" +- } +- ] +- }, +- "16051":{ +- "inLabel":16051, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt5-2", +- "backupIndex":[ +- 0 +- ] +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt5-1", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16041, +- "interface":"eth-sw1" +- } +- ] +- }, + "16060":{ + "inLabel":16060, + "installed":true, diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step8/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step8/show_ip_route.ref.diff new file mode 100644 index 0000000..41a7ff3 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step8/show_ip_route.ref.diff @@ -0,0 +1,32 @@ +--- a/rt3/step7/show_ip_route.ref ++++ b/rt3/step8/show_ip_route.ref +@@ -158,6 +158,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 3 + ] + }, + { +@@ -168,6 +171,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 3 + ] + } + ], +@@ -178,7 +184,8 @@ + "interfaceName":"eth-sw1", + "active":true, + "labels":[ +- 16040 ++ 16040, ++ 30050 + ] + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step8/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step8/show_ipv6_route.ref.diff new file mode 100644 index 0000000..bd49f86 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step8/show_ipv6_route.ref.diff @@ -0,0 +1,32 @@ +--- a/rt3/step7/show_ipv6_route.ref ++++ b/rt3/step8/show_ipv6_route.ref +@@ -148,6 +148,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 3 + ] + }, + { +@@ -157,6 +160,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 3 + ] + } + ], +@@ -166,7 +172,8 @@ + "interfaceName":"eth-sw1", + "active":true, + "labels":[ +- 16041 ++ 16041, ++ 30051 + ] + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step8/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step8/show_mpls_table.ref.diff new file mode 100644 index 0000000..4cc69b6 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step8/show_mpls_table.ref.diff @@ -0,0 +1,71 @@ +--- a/rt3/step7/show_mpls_table.ref ++++ b/rt3/step8/show_mpls_table.ref +@@ -159,6 +159,68 @@ + } + ] + }, ++ "16050":{ ++ "inLabel":16050, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "nexthop":"10.0.5.5", ++ "backupIndex":[ ++ 0 ++ ] ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "nexthop":"10.0.4.5", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16040, ++ "nexthop":"10.0.1.2" ++ } ++ ] ++ }, ++ "16051":{ ++ "inLabel":16051, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "interface":"eth-rt5-2", ++ "backupIndex":[ ++ 0 ++ ] ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "interface":"eth-rt5-1", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16041, ++ "interface":"eth-sw1" ++ } ++ ] ++ }, + "16060":{ + "inLabel":16060, + "installed":true, diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step9/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step9/show_ip_route.ref.diff new file mode 100644 index 0000000..cc0a482 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step9/show_ip_route.ref.diff @@ -0,0 +1,11 @@ +--- a/rt3/step8/show_ip_route.ref ++++ b/rt3/step9/show_ip_route.ref +@@ -185,7 +185,7 @@ + "active":true, + "labels":[ + 16040, +- 30050 ++ 30500 + ] + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step9/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step9/show_ipv6_route.ref.diff new file mode 100644 index 0000000..650b982 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step9/show_ipv6_route.ref.diff @@ -0,0 +1,11 @@ +--- a/rt3/step8/show_ipv6_route.ref ++++ b/rt3/step9/show_ipv6_route.ref +@@ -173,7 +173,7 @@ + "active":true, + "labels":[ + 16041, +- 30051 ++ 30501 + ] + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step9/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step9/show_mpls_table.ref.diff new file mode 100644 index 0000000..8ce4f1d --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step9/show_mpls_table.ref.diff @@ -0,0 +1,133 @@ +--- a/rt3/step8/show_mpls_table.ref ++++ b/rt3/step9/show_mpls_table.ref +@@ -159,13 +159,13 @@ + } + ] + }, +- "16050":{ +- "inLabel":16050, ++ "16060":{ ++ "inLabel":16060, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":3, ++ "outLabel":30060, + "installed":true, + "nexthop":"10.0.5.5", + "backupIndex":[ +@@ -174,7 +174,7 @@ + }, + { + "type":"SR (IS-IS)", +- "outLabel":3, ++ "outLabel":30060, + "installed":true, + "nexthop":"10.0.4.5", + "backupIndex":[ +@@ -185,18 +185,18 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16040, ++ "outLabel":16060, + "nexthop":"10.0.1.2" + } + ] + }, +- "16051":{ +- "inLabel":16051, ++ "16061":{ ++ "inLabel":16061, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":3, ++ "outLabel":30061, + "installed":true, + "interface":"eth-rt5-2", + "backupIndex":[ +@@ -205,7 +205,7 @@ + }, + { + "type":"SR (IS-IS)", +- "outLabel":3, ++ "outLabel":30061, + "installed":true, + "interface":"eth-rt5-1", + "backupIndex":[ +@@ -216,18 +216,18 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16041, ++ "outLabel":16061, + "interface":"eth-sw1" + } + ] + }, +- "16060":{ +- "inLabel":16060, ++ "16500":{ ++ "inLabel":16500, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":30060, ++ "outLabel":3, + "installed":true, + "nexthop":"10.0.5.5", + "backupIndex":[ +@@ -236,7 +236,7 @@ + }, + { + "type":"SR (IS-IS)", +- "outLabel":30060, ++ "outLabel":3, + "installed":true, + "nexthop":"10.0.4.5", + "backupIndex":[ +@@ -247,18 +247,18 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16060, ++ "outLabel":16040, + "nexthop":"10.0.1.2" + } + ] + }, +- "16061":{ +- "inLabel":16061, ++ "16501":{ ++ "inLabel":16501, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":30061, ++ "outLabel":3, + "installed":true, + "interface":"eth-rt5-2", + "backupIndex":[ +@@ -267,7 +267,7 @@ + }, + { + "type":"SR (IS-IS)", +- "outLabel":30061, ++ "outLabel":3, + "installed":true, + "interface":"eth-rt5-1", + "backupIndex":[ +@@ -278,7 +278,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16061, ++ "outLabel":16041, + "interface":"eth-sw1" + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt3/zebra.conf b/tests/topotests/isis_tilfa_topo1/rt3/zebra.conf new file mode 100644 index 0000000..7ffdcd6 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/zebra.conf @@ -0,0 +1,26 @@ +log file zebra.log +! +hostname rt3 +! +! debug zebra kernel +! debug zebra packet +! debug zebra mpls +! debug zebra rib detail +! +interface lo + ip address 3.3.3.3/32 + ipv6 address 2001:db8:1000::3/128 +! +interface eth-sw1 + ip address 10.0.1.3/24 +! +interface eth-rt5-1 + ip address 10.0.4.3/24 +! +interface eth-rt5-2 + ip address 10.0.5.3/24 +! +ip forwarding +! +line vty +! diff --git a/tests/topotests/isis_tilfa_topo1/rt4/isisd.conf b/tests/topotests/isis_tilfa_topo1/rt4/isisd.conf new file mode 100644 index 0000000..c1117b5 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/isisd.conf @@ -0,0 +1,58 @@ +hostname rt4 +log file isisd.log +! +! debug isis events +! debug isis route-events +! debug isis spf-events +! debug isis sr-events +! debug isis lsp-gen +! debug isis ti-lfa +! +interface lo + ip router isis 1 + ipv6 router isis 1 + isis passive +! +interface eth-rt2-1 + ip router isis 1 + ipv6 router isis 1 + isis network point-to-point + isis hello-interval 1 + isis hello-multiplier 10 + isis fast-reroute ti-lfa +! +interface eth-rt2-2 + ip router isis 1 + ipv6 router isis 1 + isis network point-to-point + isis hello-interval 1 + isis hello-multiplier 10 + isis fast-reroute ti-lfa +! +interface eth-rt5 + ip router isis 1 + ipv6 router isis 1 + isis network point-to-point + isis hello-interval 1 + isis hello-multiplier 10 + isis fast-reroute ti-lfa +! +interface eth-rt6 + ip router isis 1 + ipv6 router isis 1 + isis network point-to-point + isis hello-interval 1 + isis hello-multiplier 10 + isis fast-reroute ti-lfa +! +router isis 1 + net 49.0000.0000.0000.0004.00 + is-type level-1 + lsp-gen-interval 2 + topology ipv6-unicast + segment-routing on + segment-routing global-block 16000 23999 + segment-routing node-msd 8 + segment-routing prefix 4.4.4.4/32 index 40 + segment-routing prefix 2001:db8:1000::4/128 index 41 +! diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step1/show_ip_route.ref b/tests/topotests/isis_tilfa_topo1/rt4/step1/show_ip_route.ref new file mode 100644 index 0000000..0ef5d1b --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step1/show_ip_route.ref @@ -0,0 +1,506 @@ +{ + "1.1.1.1\/32":[ + { + "prefix":"1.1.1.1\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 16010 + ] + }, + { + "fib":true, + "ip":"10.0.3.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-2", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 16010 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true, + "labels":[ + 16010 + ] + } + ] + } + ], + "2.2.2.2\/32":[ + { + "prefix":"2.2.2.2\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + }, + { + "fib":true, + "ip":"10.0.3.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-2", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true, + "labels":[ + 16030, + 16020 + ] + } + ] + } + ], + "3.3.3.3\/32":[ + { + "prefix":"3.3.3.3\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", + "active":true, + "labels":[ + 16030 + ] + }, + { + "fib":true, + "ip":"10.0.3.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-2", + "active":true, + "labels":[ + 16030 + ] + }, + { + "fib":true, + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true, + "labels":[ + 16030 + ] + } + ] + } + ], + "5.5.5.5\/32":[ + { + "prefix":"5.5.5.5\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.7.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", + "active":true, + "labels":[ + 16050 + ] + } + ] + } + ], + "6.6.6.6\/32":[ + { + "prefix":"6.6.6.6\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.7.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true, + "labels":[ + 16060 + ] + } + ] + } + ], + "10.0.1.0\/24":[ + { + "prefix":"10.0.1.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", + "active":true, + "backupIndex":[ + 0 + ] + }, + { + "fib":true, + "ip":"10.0.3.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-2", + "active":true, + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true + } + ] + } + ], + "10.0.2.0\/24":[ + { + "prefix":"10.0.2.0\/24", + "protocol":"isis", + "distance":115, + "metric":20, + "nexthops":[ + { + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", + "backupIndex":[ + 0 + ] + }, + { + "ip":"10.0.3.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-2", + "active":true, + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true, + "labels":[ + 16030 + ] + } + ] + } + ], + "10.0.3.0\/24":[ + { + "prefix":"10.0.3.0\/24", + "protocol":"isis", + "distance":115, + "metric":20, + "nexthops":[ + { + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", + "active":true, + "backupIndex":[ + 0 + ] + }, + { + "ip":"10.0.3.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-2", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true, + "labels":[ + 16030 + ] + } + ] + } + ], + "10.0.4.0\/24":[ + { + "prefix":"10.0.4.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true, + "backupIndex":[ + 0, + 1, + 2 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.7.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", + "active":true + }, + { + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", + "active":true + }, + { + "ip":"10.0.3.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-2", + "active":true + } + ] + } + ], + "10.0.5.0\/24":[ + { + "prefix":"10.0.5.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true, + "backupIndex":[ + 0, + 1, + 2 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.7.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", + "active":true + }, + { + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", + "active":true + }, + { + "ip":"10.0.3.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-2", + "active":true + } + ] + } + ], + "10.0.6.0\/24":[ + { + "prefix":"10.0.6.0\/24", + "protocol":"isis", + "distance":115, + "metric":20, + "nexthops":[ + { + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.7.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", + "active":true + } + ] + } + ], + "10.0.7.0\/24":[ + { + "prefix":"10.0.7.0\/24", + "protocol":"isis", + "distance":115, + "metric":20, + "nexthops":[ + { + "ip":"10.0.7.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true + } + ] + } + ], + "10.0.8.0\/24":[ + { + "prefix":"10.0.8.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true + }, + { + "fib":true, + "ip":"10.0.7.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", + "active":true + } + ] + } + ] +} diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step1/show_ipv6_route.ref b/tests/topotests/isis_tilfa_topo1/rt4/step1/show_ipv6_route.ref new file mode 100644 index 0000000..b640df3 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step1/show_ipv6_route.ref @@ -0,0 +1,207 @@ +{ + "2001:db8:1000::1\/128":[ + { + "prefix":"2001:db8:1000::1\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-2", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 16011 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-1", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 16011 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt5", + "active":true, + "labels":[ + 16011 + ] + } + ] + } + ], + "2001:db8:1000::2\/128":[ + { + "prefix":"2001:db8:1000::2\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-2", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-1", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt5", + "active":true, + "labels":[ + 16031, + 16021 + ] + } + ] + } + ], + "2001:db8:1000::3\/128":[ + { + "prefix":"2001:db8:1000::3\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-2", + "active":true, + "labels":[ + 16031 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-1", + "active":true, + "labels":[ + 16031 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5", + "active":true, + "labels":[ + 16031 + ] + } + ] + } + ], + "2001:db8:1000::5\/128":[ + { + "prefix":"2001:db8:1000::5\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt6", + "active":true, + "labels":[ + 16051 + ] + } + ] + } + ], + "2001:db8:1000::6\/128":[ + { + "prefix":"2001:db8:1000::6\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt6", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt5", + "active":true, + "labels":[ + 16061 + ] + } + ] + } + ] +} diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step1/show_mpls_table.ref b/tests/topotests/isis_tilfa_topo1/rt4/step1/show_mpls_table.ref new file mode 100644 index 0000000..f60937c --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step1/show_mpls_table.ref @@ -0,0 +1,262 @@ +{ + "16010":{ + "inLabel":16010, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16010, + "installed":true, + "nexthop":"10.0.3.2", + "backupIndex":[ + 0 + ] + }, + { + "type":"SR (IS-IS)", + "outLabel":16010, + "installed":true, + "nexthop":"10.0.2.2", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16010, + "nexthop":"10.0.6.5" + } + ] + }, + "16011":{ + "inLabel":16011, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16011, + "installed":true, + "interface":"eth-rt2-2", + "backupIndex":[ + 0 + ] + }, + { + "type":"SR (IS-IS)", + "outLabel":16011, + "installed":true, + "interface":"eth-rt2-1", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16011, + "interface":"eth-rt5" + } + ] + }, + "16020":{ + "inLabel":16020, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.3.2", + "backupIndex":[ + 0 + ] + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.2.2", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16030, + "nexthop":"10.0.6.5" + } + ] + }, + "16021":{ + "inLabel":16021, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt2-2", + "backupIndex":[ + 0 + ] + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt2-1", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16031, + "interface":"eth-rt5" + } + ] + }, + "16030":{ + "inLabel":16030, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16030, + "installed":true, + "nexthop":"10.0.3.2" + }, + { + "type":"SR (IS-IS)", + "outLabel":16030, + "installed":true, + "nexthop":"10.0.2.2" + }, + { + "type":"SR (IS-IS)", + "outLabel":16030, + "installed":true, + "nexthop":"10.0.6.5" + } + ] + }, + "16031":{ + "inLabel":16031, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16031, + "installed":true, + "interface":"eth-rt2-2" + }, + { + "type":"SR (IS-IS)", + "outLabel":16031, + "installed":true, + "interface":"eth-rt2-1" + }, + { + "type":"SR (IS-IS)", + "outLabel":16031, + "installed":true, + "interface":"eth-rt5" + } + ] + }, + "16050":{ + "inLabel":16050, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.6.5", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16050, + "nexthop":"10.0.7.6" + } + ] + }, + "16051":{ + "inLabel":16051, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt5", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16051, + "interface":"eth-rt6" + } + ] + }, + "16060":{ + "inLabel":16060, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.7.6", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16060, + "nexthop":"10.0.6.5" + } + ] + }, + "16061":{ + "inLabel":16061, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt6", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16061, + "interface":"eth-rt5" + } + ] + } +} diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step1/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis_tilfa_topo1/rt4/step1/show_yang_interface_isis_adjacencies.ref new file mode 100644 index 0000000..0ca7a76 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step1/show_yang_interface_isis_adjacencies.ref @@ -0,0 +1,82 @@ +{ + "frr-interface:lib": { + "interface": [ + { + "name": "eth-rt2-1", + "vrf": "default", + "state": { + "frr-isisd:isis": { + "adjacencies": { + "adjacency": [ + { + "neighbor-sys-type": "level-1", + "neighbor-sysid": "0000.0000.0002", + "hold-timer": 10, + "neighbor-priority": 0, + "state": "up" + } + ] + } + } + } + }, + { + "name": "eth-rt2-2", + "vrf": "default", + "state": { + "frr-isisd:isis": { + "adjacencies": { + "adjacency": [ + { + "neighbor-sys-type": "level-1", + "neighbor-sysid": "0000.0000.0002", + "hold-timer": 10, + "neighbor-priority": 0, + "state": "up" + } + ] + } + } + } + }, + { + "name": "eth-rt5", + "vrf": "default", + "state": { + "frr-isisd:isis": { + "adjacencies": { + "adjacency": [ + { + "neighbor-sys-type": "level-1", + "neighbor-sysid": "0000.0000.0005", + "hold-timer": 10, + "neighbor-priority": 0, + "state": "up" + } + ] + } + } + } + }, + { + "name": "eth-rt6", + "vrf": "default", + "state": { + "frr-isisd:isis": { + "adjacencies": { + "adjacency": [ + { + "neighbor-sys-type": "level-1", + "neighbor-sysid": "0000.0000.0006", + "hold-timer": 10, + "neighbor-priority": 0, + "state": "up" + } + ] + } + } + } + } + ] + } +} diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step10/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step10/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step10/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step10/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step10/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step10/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step10/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step10/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step10/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step11/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step11/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step11/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step11/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step11/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step11/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step11/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step11/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step11/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step12/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step12/show_ip_route.ref.diff new file mode 100644 index 0000000..2645c59 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step12/show_ip_route.ref.diff @@ -0,0 +1,144 @@ +--- a/rt4/step11/show_ip_route.ref ++++ b/rt4/step12/show_ip_route.ref +@@ -160,23 +160,13 @@ + "interfaceName":"eth-rt5", + "active":true, + "backupIndex":[ +- 0 ++ 0, ++ 1 + ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.7.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true, +- "labels":[ +- 16500 +- ] +- } + ] + } + ], +@@ -196,24 +186,10 @@ + "afi":"ipv4", + "interfaceName":"eth-rt6", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.6.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 30060 +- ] +- } + ] + } + ], +@@ -352,19 +328,12 @@ + "active":true, + "backupIndex":[ + 0, +- 1, +- 2 ++ 1 + ] + } + ], + "backupNexthops":[ + { +- "ip":"10.0.7.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true +- }, +- { + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", +@@ -397,19 +366,12 @@ + "active":true, + "backupIndex":[ + 0, +- 1, +- 2 ++ 1 + ] + } + ], + "backupNexthops":[ + { +- "ip":"10.0.7.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true +- }, +- { + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", +@@ -439,14 +401,6 @@ + 0 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.7.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true +- } + ] + } + ], +@@ -460,18 +414,7 @@ + { + "ip":"10.0.7.6", + "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.6.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true ++ "interfaceName":"eth-rt6" + } + ] + } +@@ -492,13 +435,6 @@ + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true +- }, +- { +- "fib":true, +- "ip":"10.0.7.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step12/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step12/show_ipv6_route.ref.diff new file mode 100644 index 0000000..37e3185 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step12/show_ipv6_route.ref.diff @@ -0,0 +1,50 @@ +--- a/rt4/step11/show_ipv6_route.ref ++++ b/rt4/step12/show_ipv6_route.ref +@@ -149,23 +149,10 @@ + "afi":"ipv6", + "interfaceName":"eth-rt5", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt6", +- "active":true, +- "labels":[ +- 16501 +- ] +- } + ] + } + ], +@@ -184,23 +171,10 @@ + "afi":"ipv6", + "interfaceName":"eth-rt6", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 30061 +- ] +- } + ] + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step12/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step12/show_mpls_table.ref.diff new file mode 100644 index 0000000..186291a --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step12/show_mpls_table.ref.diff @@ -0,0 +1,78 @@ +--- a/rt4/step11/show_mpls_table.ref ++++ b/rt4/step12/show_mpls_table.ref +@@ -179,17 +179,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.7.6", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":30060, +- "nexthop":"10.0.6.5" ++ "nexthop":"10.0.7.6" + } + ] + }, +@@ -201,17 +191,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-rt6", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":30061, +- "interface":"eth-rt5" ++ "interface":"eth-rt6" + } + ] + }, +@@ -223,17 +203,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.6.5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16500, +- "nexthop":"10.0.7.6" ++ "nexthop":"10.0.6.5" + } + ] + }, +@@ -245,17 +215,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-rt5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16501, +- "interface":"eth-rt6" ++ "interface":"eth-rt5" + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step2/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step2/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step2/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step2/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step2/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step2/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step2/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step2/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step2/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step3/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step3/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step3/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step3/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step3/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step3/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step3/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step3/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step3/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step4/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step4/show_ip_route.ref.diff new file mode 100644 index 0000000..a941847 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step4/show_ip_route.ref.diff @@ -0,0 +1,367 @@ +--- a/rt4/step3/show_ip_route.ref ++++ b/rt4/step4/show_ip_route.ref +@@ -14,37 +14,14 @@ + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 16010 +- ] ++ "active":true + }, + { + "fib":true, + "ip":"10.0.3.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-2", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 16010 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.6.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 16010 +- ] ++ "active":true + } + ] + } +@@ -64,38 +41,14 @@ + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 3 +- ] ++ "active":true + }, + { + "fib":true, + "ip":"10.0.3.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-2", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 3 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.6.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 16030, +- 16020 +- ] ++ "active":true + } + ] + } +@@ -115,30 +68,21 @@ + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", +- "active":true, +- "labels":[ +- 16030 +- ] ++ "active":true + }, + { + "fib":true, + "ip":"10.0.3.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-2", +- "active":true, +- "labels":[ +- 16030 +- ] ++ "active":true + }, + { + "fib":true, + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 16030 +- ] ++ "active":true + } + ] + } +@@ -158,24 +102,7 @@ + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 3 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.7.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true, +- "labels":[ +- 16050 +- ] ++ "active":true + } + ] + } +@@ -195,24 +122,7 @@ + "ip":"10.0.7.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 3 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.6.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 16060 +- ] ++ "active":true + } + ] + } +@@ -232,27 +142,13 @@ + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", +- "active":true, +- "backupIndex":[ +- 0 +- ] ++ "active":true + }, + { + "fib":true, + "ip":"10.0.3.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-2", +- "active":true, +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.6.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", + "active":true + } + ] +@@ -268,30 +164,13 @@ + { + "ip":"10.0.2.2", + "afi":"ipv4", +- "interfaceName":"eth-rt2-1", +- "backupIndex":[ +- 0 +- ] ++ "interfaceName":"eth-rt2-1" + }, + { + "ip":"10.0.3.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-2", +- "active":true, +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.6.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 16030 +- ] ++ "active":true + } + ] + } +@@ -307,29 +186,12 @@ + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", +- "active":true, +- "backupIndex":[ +- 0 +- ] ++ "active":true + }, + { + "ip":"10.0.3.2", + "afi":"ipv4", +- "interfaceName":"eth-rt2-2", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.6.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 16030 +- ] ++ "interfaceName":"eth-rt2-2" + } + ] + } +@@ -349,31 +211,6 @@ + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", +- "active":true, +- "backupIndex":[ +- 0, +- 1, +- 2 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.7.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true +- }, +- { +- "ip":"10.0.2.2", +- "afi":"ipv4", +- "interfaceName":"eth-rt2-1", +- "active":true +- }, +- { +- "ip":"10.0.3.2", +- "afi":"ipv4", +- "interfaceName":"eth-rt2-2", + "active":true + } + ] +@@ -394,31 +231,6 @@ + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", +- "active":true, +- "backupIndex":[ +- 0, +- 1, +- 2 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.7.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true +- }, +- { +- "ip":"10.0.2.2", +- "afi":"ipv4", +- "interfaceName":"eth-rt2-1", +- "active":true +- }, +- { +- "ip":"10.0.3.2", +- "afi":"ipv4", +- "interfaceName":"eth-rt2-2", + "active":true + } + ] +@@ -434,18 +246,7 @@ + { + "ip":"10.0.6.5", + "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.7.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true ++ "interfaceName":"eth-rt5" + } + ] + } +@@ -460,18 +261,7 @@ + { + "ip":"10.0.7.6", + "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.6.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true ++ "interfaceName":"eth-rt6" + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step4/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step4/show_ipv6_route.ref.diff new file mode 100644 index 0000000..991562a --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step4/show_ipv6_route.ref.diff @@ -0,0 +1,161 @@ +--- a/rt4/step3/show_ipv6_route.ref ++++ b/rt4/step4/show_ipv6_route.ref +@@ -13,35 +13,13 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-2", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 16011 +- ] ++ "active":true + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-1", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 16011 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 16011 +- ] ++ "active":true + } + ] + } +@@ -60,36 +38,13 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-2", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 3 +- ] ++ "active":true + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-1", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 3 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 16031, +- 16021 +- ] ++ "active":true + } + ] + } +@@ -108,28 +63,19 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-2", +- "active":true, +- "labels":[ +- 16031 +- ] ++ "active":true + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-1", +- "active":true, +- "labels":[ +- 16031 +- ] ++ "active":true + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 16031 +- ] ++ "active":true + } + ] + } +@@ -148,23 +94,7 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 3 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt6", +- "active":true, +- "labels":[ +- 16051 +- ] ++ "active":true + } + ] + } +@@ -183,23 +113,7 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt6", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 3 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 16061 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step4/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step4/show_mpls_table.ref.diff new file mode 100644 index 0000000..660d2fb --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step4/show_mpls_table.ref.diff @@ -0,0 +1,265 @@ +--- a/rt4/step3/show_mpls_table.ref ++++ b/rt4/step4/show_mpls_table.ref +@@ -1,262 +1,2 @@ + { +- "16010":{ +- "inLabel":16010, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16010, +- "installed":true, +- "nexthop":"10.0.3.2", +- "backupIndex":[ +- 0 +- ] +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16010, +- "installed":true, +- "nexthop":"10.0.2.2", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16010, +- "nexthop":"10.0.6.5" +- } +- ] +- }, +- "16011":{ +- "inLabel":16011, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16011, +- "installed":true, +- "interface":"eth-rt2-2", +- "backupIndex":[ +- 0 +- ] +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16011, +- "installed":true, +- "interface":"eth-rt2-1", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16011, +- "interface":"eth-rt5" +- } +- ] +- }, +- "16020":{ +- "inLabel":16020, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.3.2", +- "backupIndex":[ +- 0 +- ] +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.2.2", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16030, +- "nexthop":"10.0.6.5" +- } +- ] +- }, +- "16021":{ +- "inLabel":16021, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt2-2", +- "backupIndex":[ +- 0 +- ] +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt2-1", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16031, +- "interface":"eth-rt5" +- } +- ] +- }, +- "16030":{ +- "inLabel":16030, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16030, +- "installed":true, +- "nexthop":"10.0.3.2" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16030, +- "installed":true, +- "nexthop":"10.0.2.2" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16030, +- "installed":true, +- "nexthop":"10.0.6.5" +- } +- ] +- }, +- "16031":{ +- "inLabel":16031, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16031, +- "installed":true, +- "interface":"eth-rt2-2" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16031, +- "installed":true, +- "interface":"eth-rt2-1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16031, +- "installed":true, +- "interface":"eth-rt5" +- } +- ] +- }, +- "16050":{ +- "inLabel":16050, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.6.5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.7.6" +- } +- ] +- }, +- "16051":{ +- "inLabel":16051, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt6" +- } +- ] +- }, +- "16060":{ +- "inLabel":16060, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.7.6", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16060, +- "nexthop":"10.0.6.5" +- } +- ] +- }, +- "16061":{ +- "inLabel":16061, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt6", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16061, +- "interface":"eth-rt5" +- } +- ] +- } + } diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step5/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step5/show_ip_route.ref.diff new file mode 100644 index 0000000..4385df2 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step5/show_ip_route.ref.diff @@ -0,0 +1,367 @@ +--- a/rt4/step4/show_ip_route.ref ++++ b/rt4/step5/show_ip_route.ref +@@ -14,14 +14,37 @@ + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ], ++ "labels":[ ++ 16010 ++ ] + }, + { + "fib":true, + "ip":"10.0.3.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-2", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ], ++ "labels":[ ++ 16010 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.6.5", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt5", ++ "active":true, ++ "labels":[ ++ 16010 ++ ] + } + ] + } +@@ -41,14 +64,38 @@ + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ], ++ "labels":[ ++ 3 ++ ] + }, + { + "fib":true, + "ip":"10.0.3.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-2", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ], ++ "labels":[ ++ 3 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.6.5", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt5", ++ "active":true, ++ "labels":[ ++ 16030, ++ 16020 ++ ] + } + ] + } +@@ -68,21 +115,30 @@ + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16030 ++ ] + }, + { + "fib":true, + "ip":"10.0.3.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-2", +- "active":true ++ "active":true, ++ "labels":[ ++ 16030 ++ ] + }, + { + "fib":true, + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", +- "active":true ++ "active":true, ++ "labels":[ ++ 16030 ++ ] + } + ] + } +@@ -102,7 +158,24 @@ + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ], ++ "labels":[ ++ 3 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.7.6", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt6", ++ "active":true, ++ "labels":[ ++ 16050 ++ ] + } + ] + } +@@ -122,7 +195,24 @@ + "ip":"10.0.7.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ], ++ "labels":[ ++ 3 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.6.5", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt5", ++ "active":true, ++ "labels":[ ++ 16060 ++ ] + } + ] + } +@@ -142,13 +232,27 @@ + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ] + }, + { + "fib":true, + "ip":"10.0.3.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-2", ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.6.5", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt5", + "active":true + } + ] +@@ -164,13 +268,30 @@ + { + "ip":"10.0.2.2", + "afi":"ipv4", +- "interfaceName":"eth-rt2-1" ++ "interfaceName":"eth-rt2-1", ++ "backupIndex":[ ++ 0 ++ ] + }, + { + "ip":"10.0.3.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-2", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.6.5", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt5", ++ "active":true, ++ "labels":[ ++ 16030 ++ ] + } + ] + } +@@ -186,12 +307,29 @@ + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ] + }, + { + "ip":"10.0.3.2", + "afi":"ipv4", +- "interfaceName":"eth-rt2-2" ++ "interfaceName":"eth-rt2-2", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.6.5", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt5", ++ "active":true, ++ "labels":[ ++ 16030 ++ ] + } + ] + } +@@ -211,6 +349,31 @@ + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", ++ "active":true, ++ "backupIndex":[ ++ 0, ++ 1, ++ 2 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.7.6", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt6", ++ "active":true ++ }, ++ { ++ "ip":"10.0.2.2", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt2-1", ++ "active":true ++ }, ++ { ++ "ip":"10.0.3.2", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt2-2", + "active":true + } + ] +@@ -231,6 +394,31 @@ + "ip":"10.0.6.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", ++ "active":true, ++ "backupIndex":[ ++ 0, ++ 1, ++ 2 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.7.6", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt6", ++ "active":true ++ }, ++ { ++ "ip":"10.0.2.2", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt2-1", ++ "active":true ++ }, ++ { ++ "ip":"10.0.3.2", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt2-2", + "active":true + } + ] +@@ -246,7 +434,18 @@ + { + "ip":"10.0.6.5", + "afi":"ipv4", +- "interfaceName":"eth-rt5" ++ "interfaceName":"eth-rt5", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.7.6", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt6", ++ "active":true + } + ] + } +@@ -261,7 +460,18 @@ + { + "ip":"10.0.7.6", + "afi":"ipv4", +- "interfaceName":"eth-rt6" ++ "interfaceName":"eth-rt6", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.6.5", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt5", ++ "active":true + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step5/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step5/show_ipv6_route.ref.diff new file mode 100644 index 0000000..54a1dc2 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step5/show_ipv6_route.ref.diff @@ -0,0 +1,161 @@ +--- a/rt4/step4/show_ipv6_route.ref ++++ b/rt4/step5/show_ipv6_route.ref +@@ -13,13 +13,35 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-2", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ], ++ "labels":[ ++ 16011 ++ ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-1", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ], ++ "labels":[ ++ 16011 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt5", ++ "active":true, ++ "labels":[ ++ 16011 ++ ] + } + ] + } +@@ -38,13 +60,36 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-2", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ], ++ "labels":[ ++ 3 ++ ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-1", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ], ++ "labels":[ ++ 3 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt5", ++ "active":true, ++ "labels":[ ++ 16031, ++ 16021 ++ ] + } + ] + } +@@ -63,19 +108,28 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-2", +- "active":true ++ "active":true, ++ "labels":[ ++ 16031 ++ ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt2-1", +- "active":true ++ "active":true, ++ "labels":[ ++ 16031 ++ ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5", +- "active":true ++ "active":true, ++ "labels":[ ++ 16031 ++ ] + } + ] + } +@@ -94,7 +148,23 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ], ++ "labels":[ ++ 3 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt6", ++ "active":true, ++ "labels":[ ++ 16051 ++ ] + } + ] + } +@@ -113,7 +183,23 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt6", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ], ++ "labels":[ ++ 3 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt5", ++ "active":true, ++ "labels":[ ++ 16061 ++ ] + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step5/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step5/show_mpls_table.ref.diff new file mode 100644 index 0000000..fb6a119 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step5/show_mpls_table.ref.diff @@ -0,0 +1,265 @@ +--- a/rt4/step4/show_mpls_table.ref ++++ b/rt4/step5/show_mpls_table.ref +@@ -1,2 +1,262 @@ + { ++ "16010":{ ++ "inLabel":16010, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16010, ++ "installed":true, ++ "nexthop":"10.0.3.2", ++ "backupIndex":[ ++ 0 ++ ] ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16010, ++ "installed":true, ++ "nexthop":"10.0.2.2", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16010, ++ "nexthop":"10.0.6.5" ++ } ++ ] ++ }, ++ "16011":{ ++ "inLabel":16011, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16011, ++ "installed":true, ++ "interface":"eth-rt2-2", ++ "backupIndex":[ ++ 0 ++ ] ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16011, ++ "installed":true, ++ "interface":"eth-rt2-1", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16011, ++ "interface":"eth-rt5" ++ } ++ ] ++ }, ++ "16020":{ ++ "inLabel":16020, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "nexthop":"10.0.3.2", ++ "backupIndex":[ ++ 0 ++ ] ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "nexthop":"10.0.2.2", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16030, ++ "nexthop":"10.0.6.5" ++ } ++ ] ++ }, ++ "16021":{ ++ "inLabel":16021, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "interface":"eth-rt2-2", ++ "backupIndex":[ ++ 0 ++ ] ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "interface":"eth-rt2-1", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16031, ++ "interface":"eth-rt5" ++ } ++ ] ++ }, ++ "16030":{ ++ "inLabel":16030, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16030, ++ "installed":true, ++ "nexthop":"10.0.3.2" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16030, ++ "installed":true, ++ "nexthop":"10.0.2.2" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16030, ++ "installed":true, ++ "nexthop":"10.0.6.5" ++ } ++ ] ++ }, ++ "16031":{ ++ "inLabel":16031, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16031, ++ "installed":true, ++ "interface":"eth-rt2-2" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16031, ++ "installed":true, ++ "interface":"eth-rt2-1" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16031, ++ "installed":true, ++ "interface":"eth-rt5" ++ } ++ ] ++ }, ++ "16050":{ ++ "inLabel":16050, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "nexthop":"10.0.6.5", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.7.6" ++ } ++ ] ++ }, ++ "16051":{ ++ "inLabel":16051, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "interface":"eth-rt5", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt6" ++ } ++ ] ++ }, ++ "16060":{ ++ "inLabel":16060, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "nexthop":"10.0.7.6", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16060, ++ "nexthop":"10.0.6.5" ++ } ++ ] ++ }, ++ "16061":{ ++ "inLabel":16061, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "interface":"eth-rt6", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16061, ++ "interface":"eth-rt5" ++ } ++ ] ++ } + } diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step6/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step6/show_ip_route.ref.diff new file mode 100644 index 0000000..9070414 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step6/show_ip_route.ref.diff @@ -0,0 +1,56 @@ +--- a/rt4/step5/show_ip_route.ref ++++ b/rt4/step6/show_ip_route.ref +@@ -43,7 +43,7 @@ + "interfaceName":"eth-rt5", + "active":true, + "labels":[ +- 16010 ++ 30010 + ] + } + ] +@@ -93,7 +93,7 @@ + "interfaceName":"eth-rt5", + "active":true, + "labels":[ +- 16030, ++ 30030, + 16020 + ] + } +@@ -137,7 +137,7 @@ + "interfaceName":"eth-rt5", + "active":true, + "labels":[ +- 16030 ++ 30030 + ] + } + ] +@@ -211,7 +211,7 @@ + "interfaceName":"eth-rt5", + "active":true, + "labels":[ +- 16060 ++ 30060 + ] + } + ] +@@ -290,7 +290,7 @@ + "interfaceName":"eth-rt5", + "active":true, + "labels":[ +- 16030 ++ 30030 + ] + } + ] +@@ -328,7 +328,7 @@ + "interfaceName":"eth-rt5", + "active":true, + "labels":[ +- 16030 ++ 30030 + ] + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step6/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step6/show_ipv6_route.ref.diff new file mode 100644 index 0000000..57a5764 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step6/show_ipv6_route.ref.diff @@ -0,0 +1,38 @@ +--- a/rt4/step5/show_ipv6_route.ref ++++ b/rt4/step6/show_ipv6_route.ref +@@ -40,7 +40,7 @@ + "interfaceName":"eth-rt5", + "active":true, + "labels":[ +- 16011 ++ 30011 + ] + } + ] +@@ -87,7 +87,7 @@ + "interfaceName":"eth-rt5", + "active":true, + "labels":[ +- 16031, ++ 30031, + 16021 + ] + } +@@ -128,7 +128,7 @@ + "interfaceName":"eth-rt5", + "active":true, + "labels":[ +- 16031 ++ 30031 + ] + } + ] +@@ -198,7 +198,7 @@ + "interfaceName":"eth-rt5", + "active":true, + "labels":[ +- 16061 ++ 30061 + ] + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step6/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step6/show_mpls_table.ref.diff new file mode 100644 index 0000000..94f8785 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step6/show_mpls_table.ref.diff @@ -0,0 +1,74 @@ +--- a/rt4/step5/show_mpls_table.ref ++++ b/rt4/step6/show_mpls_table.ref +@@ -25,7 +25,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16010, ++ "outLabel":30010, + "nexthop":"10.0.6.5" + } + ] +@@ -56,7 +56,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16011, ++ "outLabel":30011, + "interface":"eth-rt5" + } + ] +@@ -87,7 +87,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16030, ++ "outLabel":30030, + "nexthop":"10.0.6.5" + } + ] +@@ -118,7 +118,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16031, ++ "outLabel":30031, + "interface":"eth-rt5" + } + ] +@@ -141,7 +141,7 @@ + }, + { + "type":"SR (IS-IS)", +- "outLabel":16030, ++ "outLabel":30030, + "installed":true, + "nexthop":"10.0.6.5" + } +@@ -165,7 +165,7 @@ + }, + { + "type":"SR (IS-IS)", +- "outLabel":16031, ++ "outLabel":30031, + "installed":true, + "interface":"eth-rt5" + } +@@ -232,7 +232,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16060, ++ "outLabel":30060, + "nexthop":"10.0.6.5" + } + ] +@@ -254,7 +254,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16061, ++ "outLabel":30061, + "interface":"eth-rt5" + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step7/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step7/show_ip_route.ref.diff new file mode 100644 index 0000000..e54873d --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step7/show_ip_route.ref.diff @@ -0,0 +1,24 @@ +--- a/rt4/step6/show_ip_route.ref ++++ b/rt4/step7/show_ip_route.ref +@@ -161,9 +161,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 3 + ] + } + ], +@@ -172,10 +169,7 @@ + "ip":"10.0.7.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", +- "active":true, +- "labels":[ +- 16050 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step7/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step7/show_ipv6_route.ref.diff new file mode 100644 index 0000000..92e08f9 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step7/show_ipv6_route.ref.diff @@ -0,0 +1,24 @@ +--- a/rt4/step6/show_ipv6_route.ref ++++ b/rt4/step7/show_ipv6_route.ref +@@ -151,9 +151,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 3 + ] + } + ], +@@ -161,10 +158,7 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt6", +- "active":true, +- "labels":[ +- 16051 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step7/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step7/show_mpls_table.ref.diff new file mode 100644 index 0000000..fb614eb --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step7/show_mpls_table.ref.diff @@ -0,0 +1,53 @@ +--- a/rt4/step6/show_mpls_table.ref ++++ b/rt4/step7/show_mpls_table.ref +@@ -171,50 +171,6 @@ + } + ] + }, +- "16050":{ +- "inLabel":16050, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.6.5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.7.6" +- } +- ] +- }, +- "16051":{ +- "inLabel":16051, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt6" +- } +- ] +- }, + "16060":{ + "inLabel":16060, + "installed":true, diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step8/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step8/show_ip_route.ref.diff new file mode 100644 index 0000000..252da6e --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step8/show_ip_route.ref.diff @@ -0,0 +1,24 @@ +--- a/rt4/step7/show_ip_route.ref ++++ b/rt4/step8/show_ip_route.ref +@@ -161,6 +161,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 3 + ] + } + ], +@@ -169,7 +172,10 @@ + "ip":"10.0.7.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", +- "active":true ++ "active":true, ++ "labels":[ ++ 16050 ++ ] + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step8/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step8/show_ipv6_route.ref.diff new file mode 100644 index 0000000..7057d21 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step8/show_ipv6_route.ref.diff @@ -0,0 +1,24 @@ +--- a/rt4/step7/show_ipv6_route.ref ++++ b/rt4/step8/show_ipv6_route.ref +@@ -151,6 +151,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 3 + ] + } + ], +@@ -158,7 +161,10 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt6", +- "active":true ++ "active":true, ++ "labels":[ ++ 16051 ++ ] + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step8/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step8/show_mpls_table.ref.diff new file mode 100644 index 0000000..3dc4303 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step8/show_mpls_table.ref.diff @@ -0,0 +1,53 @@ +--- a/rt4/step7/show_mpls_table.ref ++++ b/rt4/step8/show_mpls_table.ref +@@ -171,6 +171,50 @@ + } + ] + }, ++ "16050":{ ++ "inLabel":16050, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "nexthop":"10.0.6.5", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.7.6" ++ } ++ ] ++ }, ++ "16051":{ ++ "inLabel":16051, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "interface":"eth-rt5", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt6" ++ } ++ ] ++ }, + "16060":{ + "inLabel":16060, + "installed":true, diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step9/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step9/show_ip_route.ref.diff new file mode 100644 index 0000000..56f9cc5 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step9/show_ip_route.ref.diff @@ -0,0 +1,11 @@ +--- a/rt4/step8/show_ip_route.ref ++++ b/rt4/step9/show_ip_route.ref +@@ -174,7 +174,7 @@ + "interfaceName":"eth-rt6", + "active":true, + "labels":[ +- 16050 ++ 16500 + ] + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step9/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step9/show_ipv6_route.ref.diff new file mode 100644 index 0000000..41e5521 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step9/show_ipv6_route.ref.diff @@ -0,0 +1,11 @@ +--- a/rt4/step8/show_ipv6_route.ref ++++ b/rt4/step9/show_ipv6_route.ref +@@ -163,7 +163,7 @@ + "interfaceName":"eth-rt6", + "active":true, + "labels":[ +- 16051 ++ 16501 + ] + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step9/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step9/show_mpls_table.ref.diff new file mode 100644 index 0000000..627e292 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step9/show_mpls_table.ref.diff @@ -0,0 +1,110 @@ +--- a/rt4/step8/show_mpls_table.ref ++++ b/rt4/step9/show_mpls_table.ref +@@ -171,15 +171,15 @@ + } + ] + }, +- "16050":{ +- "inLabel":16050, ++ "16060":{ ++ "inLabel":16060, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.6.5", ++ "nexthop":"10.0.7.6", + "backupIndex":[ + 0 + ] +@@ -188,20 +188,20 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.7.6" ++ "outLabel":30060, ++ "nexthop":"10.0.6.5" + } + ] + }, +- "16051":{ +- "inLabel":16051, ++ "16061":{ ++ "inLabel":16061, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-rt5", ++ "interface":"eth-rt6", + "backupIndex":[ + 0 + ] +@@ -210,20 +210,20 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt6" ++ "outLabel":30061, ++ "interface":"eth-rt5" + } + ] + }, +- "16060":{ +- "inLabel":16060, ++ "16500":{ ++ "inLabel":16500, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.7.6", ++ "nexthop":"10.0.6.5", + "backupIndex":[ + 0 + ] +@@ -232,20 +232,20 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":30060, +- "nexthop":"10.0.6.5" ++ "outLabel":16500, ++ "nexthop":"10.0.7.6" + } + ] + }, +- "16061":{ +- "inLabel":16061, ++ "16501":{ ++ "inLabel":16501, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-rt6", ++ "interface":"eth-rt5", + "backupIndex":[ + 0 + ] +@@ -254,8 +254,8 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":30061, +- "interface":"eth-rt5" ++ "outLabel":16501, ++ "interface":"eth-rt6" + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt4/zebra.conf b/tests/topotests/isis_tilfa_topo1/rt4/zebra.conf new file mode 100644 index 0000000..644885e --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/zebra.conf @@ -0,0 +1,29 @@ +log file zebra.log +! +hostname rt4 +! +! debug zebra kernel +! debug zebra packet +! debug zebra mpls +! debug zebra rib detail +! +interface lo + ip address 4.4.4.4/32 + ipv6 address 2001:db8:1000::4/128 +! +interface eth-rt2-1 + ip address 10.0.2.4/24 +! +interface eth-rt2-2 + ip address 10.0.3.4/24 +! +interface eth-rt5 + ip address 10.0.6.4/24 +! +interface eth-rt6 + ip address 10.0.7.4/24 +! +ip forwarding +! +line vty +! diff --git a/tests/topotests/isis_tilfa_topo1/rt5/bfdd.conf b/tests/topotests/isis_tilfa_topo1/rt5/bfdd.conf new file mode 100644 index 0000000..d27625f --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/bfdd.conf @@ -0,0 +1,14 @@ +hostname rt5 +! +#debug bfd network +#debug bfd peer +#debug bfd zebra +! +bfd + peer 10.0.8.6 interface eth-rt6 + detect-multiplier 3 + receive-interval 300 + transmit-interval 300 + no shutdown + ! +!
\ No newline at end of file diff --git a/tests/topotests/isis_tilfa_topo1/rt5/isisd.conf b/tests/topotests/isis_tilfa_topo1/rt5/isisd.conf new file mode 100644 index 0000000..3678ff9 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/isisd.conf @@ -0,0 +1,58 @@ +hostname rt5 +log file isisd.log +! +! debug isis events +! debug isis route-events +! debug isis spf-events +! debug isis sr-events +! debug isis lsp-gen +! debug isis ti-lfa +! +interface lo + ip router isis 1 + ipv6 router isis 1 + isis passive +! +interface eth-rt3-1 + ip router isis 1 + ipv6 router isis 1 + isis network point-to-point + isis hello-interval 1 + isis hello-multiplier 10 + isis fast-reroute ti-lfa +! +interface eth-rt3-2 + ip router isis 1 + ipv6 router isis 1 + isis network point-to-point + isis hello-interval 1 + isis hello-multiplier 10 + isis fast-reroute ti-lfa +! +interface eth-rt4 + ip router isis 1 + ipv6 router isis 1 + isis network point-to-point + isis hello-interval 1 + isis hello-multiplier 10 + isis fast-reroute ti-lfa +! +interface eth-rt6 + ip router isis 1 + ipv6 router isis 1 + isis network point-to-point + isis hello-interval 1 + isis hello-multiplier 10 + isis fast-reroute ti-lfa +! +router isis 1 + net 49.0000.0000.0000.0005.00 + is-type level-1 + lsp-gen-interval 2 + topology ipv6-unicast + segment-routing on + segment-routing global-block 16000 23999 + segment-routing node-msd 8 + segment-routing prefix 5.5.5.5/32 index 50 + segment-routing prefix 2001:db8:1000::5/128 index 51 +! diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step1/show_ip_route.ref b/tests/topotests/isis_tilfa_topo1/rt5/step1/show_ip_route.ref new file mode 100644 index 0000000..93740e2 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step1/show_ip_route.ref @@ -0,0 +1,506 @@ +{ + "1.1.1.1\/32":[ + { + "prefix":"1.1.1.1\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.4.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-1", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 16010 + ] + }, + { + "fib":true, + "ip":"10.0.5.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-2", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 16010 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ + 16010 + ] + } + ] + } + ], + "2.2.2.2\/32":[ + { + "prefix":"2.2.2.2\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.4.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-1", + "active":true, + "labels":[ + 16020 + ] + }, + { + "fib":true, + "ip":"10.0.5.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-2", + "active":true, + "labels":[ + 16020 + ] + }, + { + "fib":true, + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ + 16020 + ] + } + ] + } + ], + "3.3.3.3\/32":[ + { + "prefix":"3.3.3.3\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.4.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-1", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + }, + { + "fib":true, + "ip":"10.0.5.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-2", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ + 16020, + 16030 + ] + } + ] + } + ], + "4.4.4.4\/32":[ + { + "prefix":"4.4.4.4\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.8.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", + "active":true, + "labels":[ + 16040 + ] + } + ] + } + ], + "6.6.6.6\/32":[ + { + "prefix":"6.6.6.6\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.8.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ + 16060 + ] + } + ] + } + ], + "10.0.1.0\/24":[ + { + "prefix":"10.0.1.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.4.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-1", + "active":true, + "backupIndex":[ + 0 + ] + }, + { + "fib":true, + "ip":"10.0.5.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-2", + "active":true, + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true + } + ] + } + ], + "10.0.2.0\/24":[ + { + "prefix":"10.0.2.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, + "backupIndex":[ + 0, + 1, + 2 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.8.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", + "active":true + }, + { + "ip":"10.0.4.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-1", + "active":true + }, + { + "ip":"10.0.5.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-2", + "active":true + } + ] + } + ], + "10.0.3.0\/24":[ + { + "prefix":"10.0.3.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, + "backupIndex":[ + 0, + 1, + 2 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.8.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", + "active":true + }, + { + "ip":"10.0.4.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-1", + "active":true + }, + { + "ip":"10.0.5.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-2", + "active":true + } + ] + } + ], + "10.0.4.0\/24":[ + { + "prefix":"10.0.4.0\/24", + "protocol":"isis", + "distance":115, + "metric":20, + "nexthops":[ + { + "ip":"10.0.4.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-1", + "backupIndex":[ + 0 + ] + }, + { + "ip":"10.0.5.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-2", + "active":true, + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ + 16020 + ] + } + ] + } + ], + "10.0.5.0\/24":[ + { + "prefix":"10.0.5.0\/24", + "protocol":"isis", + "distance":115, + "metric":20, + "nexthops":[ + { + "ip":"10.0.4.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-1", + "active":true, + "backupIndex":[ + 0 + ] + }, + { + "ip":"10.0.5.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-2", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ + 16020 + ] + } + ] + } + ], + "10.0.6.0\/24":[ + { + "prefix":"10.0.6.0\/24", + "protocol":"isis", + "distance":115, + "metric":20, + "nexthops":[ + { + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.8.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", + "active":true + } + ] + } + ], + "10.0.7.0\/24":[ + { + "prefix":"10.0.7.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true + }, + { + "fib":true, + "ip":"10.0.8.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", + "active":true + } + ] + } + ], + "10.0.8.0\/24":[ + { + "prefix":"10.0.8.0\/24", + "protocol":"isis", + "distance":115, + "metric":20, + "nexthops":[ + { + "ip":"10.0.8.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true + } + ] + } + ] +} diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step1/show_ipv6_route.ref b/tests/topotests/isis_tilfa_topo1/rt5/step1/show_ipv6_route.ref new file mode 100644 index 0000000..6dafa69 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step1/show_ipv6_route.ref @@ -0,0 +1,207 @@ +{ + "2001:db8:1000::1\/128":[ + { + "prefix":"2001:db8:1000::1\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt3-2", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 16011 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt3-1", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 16011 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ + 16011 + ] + } + ] + } + ], + "2001:db8:1000::2\/128":[ + { + "prefix":"2001:db8:1000::2\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ + 16021 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt3-2", + "active":true, + "labels":[ + 16021 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt3-1", + "active":true, + "labels":[ + 16021 + ] + } + ] + } + ], + "2001:db8:1000::3\/128":[ + { + "prefix":"2001:db8:1000::3\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt3-2", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt3-1", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ + 16021, + 16031 + ] + } + ] + } + ], + "2001:db8:1000::4\/128":[ + { + "prefix":"2001:db8:1000::4\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt6", + "active":true, + "labels":[ + 16041 + ] + } + ] + } + ], + "2001:db8:1000::6\/128":[ + { + "prefix":"2001:db8:1000::6\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt6", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ + 16061 + ] + } + ] + } + ] +} diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step1/show_mpls_table.ref b/tests/topotests/isis_tilfa_topo1/rt5/step1/show_mpls_table.ref new file mode 100644 index 0000000..0c5861b --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step1/show_mpls_table.ref @@ -0,0 +1,262 @@ +{ + "16010":{ + "inLabel":16010, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16010, + "installed":true, + "nexthop":"10.0.5.3", + "backupIndex":[ + 0 + ] + }, + { + "type":"SR (IS-IS)", + "outLabel":16010, + "installed":true, + "nexthop":"10.0.4.3", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16010, + "nexthop":"10.0.6.4" + } + ] + }, + "16011":{ + "inLabel":16011, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16011, + "installed":true, + "interface":"eth-rt3-2", + "backupIndex":[ + 0 + ] + }, + { + "type":"SR (IS-IS)", + "outLabel":16011, + "installed":true, + "interface":"eth-rt3-1", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16011, + "interface":"eth-rt4" + } + ] + }, + "16020":{ + "inLabel":16020, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16020, + "installed":true, + "nexthop":"10.0.5.3" + }, + { + "type":"SR (IS-IS)", + "outLabel":16020, + "installed":true, + "nexthop":"10.0.4.3" + }, + { + "type":"SR (IS-IS)", + "outLabel":16020, + "installed":true, + "nexthop":"10.0.6.4" + } + ] + }, + "16021":{ + "inLabel":16021, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16021, + "installed":true, + "interface":"eth-rt3-2" + }, + { + "type":"SR (IS-IS)", + "outLabel":16021, + "installed":true, + "interface":"eth-rt3-1" + }, + { + "type":"SR (IS-IS)", + "outLabel":16021, + "installed":true, + "interface":"eth-rt4" + } + ] + }, + "16030":{ + "inLabel":16030, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.5.3", + "backupIndex":[ + 0 + ] + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.4.3", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16020, + "nexthop":"10.0.6.4" + } + ] + }, + "16031":{ + "inLabel":16031, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt3-2", + "backupIndex":[ + 0 + ] + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt3-1", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16021, + "interface":"eth-rt4" + } + ] + }, + "16040":{ + "inLabel":16040, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.6.4", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16040, + "nexthop":"10.0.8.6" + } + ] + }, + "16041":{ + "inLabel":16041, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt4", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16041, + "interface":"eth-rt6" + } + ] + }, + "16060":{ + "inLabel":16060, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.8.6", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16060, + "nexthop":"10.0.6.4" + } + ] + }, + "16061":{ + "inLabel":16061, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt6", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16061, + "interface":"eth-rt4" + } + ] + } +} diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step1/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis_tilfa_topo1/rt5/step1/show_yang_interface_isis_adjacencies.ref new file mode 100644 index 0000000..f40b0d3 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step1/show_yang_interface_isis_adjacencies.ref @@ -0,0 +1,82 @@ +{ + "frr-interface:lib": { + "interface": [ + { + "name": "eth-rt3-1", + "vrf": "default", + "state": { + "frr-isisd:isis": { + "adjacencies": { + "adjacency": [ + { + "neighbor-sys-type": "level-1", + "neighbor-sysid": "0000.0000.0003", + "hold-timer": 10, + "neighbor-priority": 0, + "state": "up" + } + ] + } + } + } + }, + { + "name": "eth-rt3-2", + "vrf": "default", + "state": { + "frr-isisd:isis": { + "adjacencies": { + "adjacency": [ + { + "neighbor-sys-type": "level-1", + "neighbor-sysid": "0000.0000.0003", + "hold-timer": 10, + "neighbor-priority": 0, + "state": "up" + } + ] + } + } + } + }, + { + "name": "eth-rt4", + "vrf": "default", + "state": { + "frr-isisd:isis": { + "adjacencies": { + "adjacency": [ + { + "neighbor-sys-type": "level-1", + "neighbor-sysid": "0000.0000.0004", + "hold-timer": 10, + "neighbor-priority": 0, + "state": "up" + } + ] + } + } + } + }, + { + "name": "eth-rt6", + "vrf": "default", + "state": { + "frr-isisd:isis": { + "adjacencies": { + "adjacency": [ + { + "neighbor-sys-type": "level-1", + "neighbor-sysid": "0000.0000.0006", + "hold-timer": 10, + "neighbor-priority": 0, + "state": "up" + } + ] + } + } + } + } + ] + } +} diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step10/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step10/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step10/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step10/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step10/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step10/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step10/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step10/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step10/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step11/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step11/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step11/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step11/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step11/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step11/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step11/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step11/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step11/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step12/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step12/show_ip_route.ref.diff new file mode 100644 index 0000000..3d21c04 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step12/show_ip_route.ref.diff @@ -0,0 +1,151 @@ +--- a/rt5/step11/show_ip_route.ref ++++ b/rt5/step12/show_ip_route.ref +@@ -159,24 +159,10 @@ + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.8.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true, +- "labels":[ +- 16040 +- ] +- } + ] + } + ], +@@ -187,25 +173,11 @@ + "selected":true, + "destSelected":true, + "distance":115, +- "metric":20, ++ "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, +- "ip":"10.0.8.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 3 +- ] +- } +- ], +- "backupNexthops":[ +- { + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +@@ -276,19 +248,12 @@ + "active":true, + "backupIndex":[ + 0, +- 1, +- 2 ++ 1 + ] + } + ], + "backupNexthops":[ + { +- "ip":"10.0.8.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true +- }, +- { + "ip":"10.0.4.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-1", +@@ -321,19 +286,12 @@ + "active":true, + "backupIndex":[ + 0, +- 1, +- 2 ++ 1 + ] + } + ], + "backupNexthops":[ + { +- "ip":"10.0.8.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true +- }, +- { + "ip":"10.0.4.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-1", +@@ -439,14 +397,6 @@ + 0 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.8.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true +- } + ] + } + ], +@@ -465,39 +415,6 @@ + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +- "active":true +- }, +- { +- "fib":true, +- "ip":"10.0.8.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true +- } +- ] +- } +- ], +- "10.0.8.0\/24":[ +- { +- "prefix":"10.0.8.0\/24", +- "protocol":"isis", +- "distance":115, +- "metric":20, +- "nexthops":[ +- { +- "ip":"10.0.8.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.6.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4", + "active":true + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step12/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step12/show_ipv6_route.ref.diff new file mode 100644 index 0000000..66a9dac --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step12/show_ipv6_route.ref.diff @@ -0,0 +1,53 @@ +--- a/rt5/step11/show_ipv6_route.ref ++++ b/rt5/step12/show_ipv6_route.ref +@@ -149,23 +149,10 @@ + "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt6", +- "active":true, +- "labels":[ +- 16041 +- ] +- } + ] + } + ], +@@ -176,25 +163,12 @@ + "selected":true, + "destSelected":true, + "distance":115, +- "metric":20, ++ "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", +- "interfaceName":"eth-rt6", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 3 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step12/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step12/show_mpls_table.ref.diff new file mode 100644 index 0000000..cdfc407 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step12/show_mpls_table.ref.diff @@ -0,0 +1,80 @@ +--- a/rt5/step11/show_mpls_table.ref ++++ b/rt5/step12/show_mpls_table.ref +@@ -179,17 +179,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.6.4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16040, +- "nexthop":"10.0.8.6" ++ "nexthop":"10.0.6.4" + } + ] + }, +@@ -201,17 +191,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-rt4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16041, +- "interface":"eth-rt6" ++ "interface":"eth-rt4" + } + ] + }, +@@ -221,18 +201,8 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.8.6", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", + "outLabel":16060, ++ "installed":true, + "nexthop":"10.0.6.4" + } + ] +@@ -243,18 +213,8 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt6", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", + "outLabel":16061, ++ "installed":true, + "interface":"eth-rt4" + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step2/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step2/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step2/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step2/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step2/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step2/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step2/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step2/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step2/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step3/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step3/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step3/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step3/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step3/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step3/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step3/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step3/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step3/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step4/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step4/show_ip_route.ref.diff new file mode 100644 index 0000000..7545a31 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step4/show_ip_route.ref.diff @@ -0,0 +1,161 @@ +--- a/rt5/step3/show_ip_route.ref ++++ b/rt5/step4/show_ip_route.ref +@@ -41,10 +41,7 @@ + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +- "active":true, +- "labels":[ +- 16010 +- ] ++ "active":true + } + ] + } +@@ -84,10 +81,7 @@ + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +- "active":true, +- "labels":[ +- 16020 +- ] ++ "active":true + } + ] + } +@@ -108,9 +102,6 @@ + "afi":"ipv4", + "interfaceName":"eth-rt3-1", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] +@@ -121,25 +112,10 @@ + "afi":"ipv4", + "interfaceName":"eth-rt3-2", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.6.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4", +- "active":true, +- "labels":[ +- 16020, +- 16030 +- ] +- } + ] + } + ], +@@ -161,9 +137,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 3 + ] + } + ], +@@ -172,10 +145,7 @@ + "ip":"10.0.8.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", +- "active":true, +- "labels":[ +- 16040 +- ] ++ "active":true + } + ] + } +@@ -209,10 +179,7 @@ + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +- "active":true, +- "labels":[ +- 16060 +- ] ++ "active":true + } + ] + } +@@ -358,30 +325,13 @@ + { + "ip":"10.0.4.3", + "afi":"ipv4", +- "interfaceName":"eth-rt3-1", +- "backupIndex":[ +- 0 +- ] ++ "interfaceName":"eth-rt3-1" + }, + { + "ip":"10.0.5.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-2", +- "active":true, +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.6.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4", +- "active":true, +- "labels":[ +- 16020 +- ] ++ "active":true + } + ] + } +@@ -397,29 +347,12 @@ + "ip":"10.0.4.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-1", +- "active":true, +- "backupIndex":[ +- 0 +- ] ++ "active":true + }, + { + "ip":"10.0.5.3", + "afi":"ipv4", +- "interfaceName":"eth-rt3-2", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.6.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4", +- "active":true, +- "labels":[ +- 16020 +- ] ++ "interfaceName":"eth-rt3-2" + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step4/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step4/show_ipv6_route.ref.diff new file mode 100644 index 0000000..1de62bb --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step4/show_ipv6_route.ref.diff @@ -0,0 +1,95 @@ +--- a/rt5/step3/show_ipv6_route.ref ++++ b/rt5/step4/show_ipv6_route.ref +@@ -38,10 +38,7 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt4", +- "active":true, +- "labels":[ +- 16011 +- ] ++ "active":true + } + ] + } +@@ -60,10 +57,7 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4", +- "active":true, +- "labels":[ +- 16021 +- ] ++ "active":true + }, + { + "fib":true, +@@ -101,9 +95,6 @@ + "afi":"ipv6", + "interfaceName":"eth-rt3-2", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] +@@ -113,24 +104,10 @@ + "afi":"ipv6", + "interfaceName":"eth-rt3-1", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt4", +- "active":true, +- "labels":[ +- 16021, +- 16031 +- ] +- } + ] + } + ], +@@ -151,9 +128,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 3 + ] + } + ], +@@ -161,10 +135,7 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt6", +- "active":true, +- "labels":[ +- 16041 +- ] ++ "active":true + } + ] + } +@@ -196,10 +167,7 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt4", +- "active":true, +- "labels":[ +- 16061 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step4/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step4/show_mpls_table.ref.diff new file mode 100644 index 0000000..b3d5252 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step4/show_mpls_table.ref.diff @@ -0,0 +1,166 @@ +--- a/rt5/step3/show_mpls_table.ref ++++ b/rt5/step4/show_mpls_table.ref +@@ -25,7 +25,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16010, ++ "outLabel":3, + "nexthop":"10.0.6.4" + } + ] +@@ -56,7 +56,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16011, ++ "outLabel":3, + "interface":"eth-rt4" + } + ] +@@ -76,12 +76,6 @@ + "outLabel":16020, + "installed":true, + "nexthop":"10.0.4.3" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16020, +- "installed":true, +- "nexthop":"10.0.6.4" + } + ] + }, +@@ -100,12 +94,6 @@ + "outLabel":16021, + "installed":true, + "interface":"eth-rt3-1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16021, +- "installed":true, +- "interface":"eth-rt4" + } + ] + }, +@@ -117,26 +105,13 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.5.3", +- "backupIndex":[ +- 0 +- ] ++ "nexthop":"10.0.5.3" + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.4.3", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16020, +- "nexthop":"10.0.6.4" ++ "nexthop":"10.0.4.3" + } + ] + }, +@@ -148,70 +123,13 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-rt3-2", +- "backupIndex":[ +- 0 +- ] ++ "interface":"eth-rt3-2" + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-rt3-1", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16021, +- "interface":"eth-rt4" +- } +- ] +- }, +- "16040":{ +- "inLabel":16040, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.6.4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16040, +- "nexthop":"10.0.8.6" +- } +- ] +- }, +- "16041":{ +- "inLabel":16041, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16041, +- "interface":"eth-rt6" ++ "interface":"eth-rt3-1" + } + ] + }, +@@ -232,7 +150,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16060, ++ "outLabel":3, + "nexthop":"10.0.6.4" + } + ] +@@ -254,7 +172,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16061, ++ "outLabel":3, + "interface":"eth-rt4" + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step5/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step5/show_ip_route.ref.diff new file mode 100644 index 0000000..be5d83f --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step5/show_ip_route.ref.diff @@ -0,0 +1,161 @@ +--- a/rt5/step4/show_ip_route.ref ++++ b/rt5/step5/show_ip_route.ref +@@ -41,7 +41,10 @@ + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +- "active":true ++ "active":true, ++ "labels":[ ++ 16010 ++ ] + } + ] + } +@@ -81,7 +84,10 @@ + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +- "active":true ++ "active":true, ++ "labels":[ ++ 16020 ++ ] + } + ] + } +@@ -102,6 +108,9 @@ + "afi":"ipv4", + "interfaceName":"eth-rt3-1", + "active":true, ++ "backupIndex":[ ++ 0 ++ ], + "labels":[ + 3 + ] +@@ -112,10 +121,25 @@ + "afi":"ipv4", + "interfaceName":"eth-rt3-2", + "active":true, ++ "backupIndex":[ ++ 0 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.6.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4", ++ "active":true, ++ "labels":[ ++ 16020, ++ 16030 ++ ] ++ } + ] + } + ], +@@ -137,6 +161,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 3 + ] + } + ], +@@ -145,7 +172,10 @@ + "ip":"10.0.8.6", + "afi":"ipv4", + "interfaceName":"eth-rt6", +- "active":true ++ "active":true, ++ "labels":[ ++ 16040 ++ ] + } + ] + } +@@ -179,7 +209,10 @@ + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +- "active":true ++ "active":true, ++ "labels":[ ++ 16060 ++ ] + } + ] + } +@@ -325,13 +358,30 @@ + { + "ip":"10.0.4.3", + "afi":"ipv4", +- "interfaceName":"eth-rt3-1" ++ "interfaceName":"eth-rt3-1", ++ "backupIndex":[ ++ 0 ++ ] + }, + { + "ip":"10.0.5.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-2", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.6.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4", ++ "active":true, ++ "labels":[ ++ 16020 ++ ] + } + ] + } +@@ -347,12 +397,29 @@ + "ip":"10.0.4.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-1", +- "active":true ++ "active":true, ++ "backupIndex":[ ++ 0 ++ ] + }, + { + "ip":"10.0.5.3", + "afi":"ipv4", +- "interfaceName":"eth-rt3-2" ++ "interfaceName":"eth-rt3-2", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "ip":"10.0.6.4", ++ "afi":"ipv4", ++ "interfaceName":"eth-rt4", ++ "active":true, ++ "labels":[ ++ 16020 ++ ] + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step5/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step5/show_ipv6_route.ref.diff new file mode 100644 index 0000000..a856019 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step5/show_ipv6_route.ref.diff @@ -0,0 +1,95 @@ +--- a/rt5/step4/show_ipv6_route.ref ++++ b/rt5/step5/show_ipv6_route.ref +@@ -38,7 +38,10 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt4", +- "active":true ++ "active":true, ++ "labels":[ ++ 16011 ++ ] + } + ] + } +@@ -57,7 +60,10 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4", +- "active":true ++ "active":true, ++ "labels":[ ++ 16021 ++ ] + }, + { + "fib":true, +@@ -95,6 +101,9 @@ + "afi":"ipv6", + "interfaceName":"eth-rt3-2", + "active":true, ++ "backupIndex":[ ++ 0 ++ ], + "labels":[ + 3 + ] +@@ -104,10 +113,24 @@ + "afi":"ipv6", + "interfaceName":"eth-rt3-1", + "active":true, ++ "backupIndex":[ ++ 0 ++ ], + "labels":[ + 3 + ] + } ++ ], ++ "backupNexthops":[ ++ { ++ "afi":"ipv6", ++ "interfaceName":"eth-rt4", ++ "active":true, ++ "labels":[ ++ 16021, ++ 16031 ++ ] ++ } + ] + } + ], +@@ -128,6 +151,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 3 + ] + } + ], +@@ -135,7 +161,10 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt6", +- "active":true ++ "active":true, ++ "labels":[ ++ 16041 ++ ] + } + ] + } +@@ -167,7 +196,10 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt4", +- "active":true ++ "active":true, ++ "labels":[ ++ 16061 ++ ] + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step5/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step5/show_mpls_table.ref.diff new file mode 100644 index 0000000..74caa86 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step5/show_mpls_table.ref.diff @@ -0,0 +1,166 @@ +--- a/rt5/step4/show_mpls_table.ref ++++ b/rt5/step5/show_mpls_table.ref +@@ -25,7 +25,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":3, ++ "outLabel":16010, + "nexthop":"10.0.6.4" + } + ] +@@ -56,7 +56,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":3, ++ "outLabel":16011, + "interface":"eth-rt4" + } + ] +@@ -69,6 +69,12 @@ + "type":"SR (IS-IS)", + "outLabel":16020, + "installed":true, ++ "nexthop":"10.0.6.4" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16020, ++ "installed":true, + "nexthop":"10.0.5.3" + }, + { +@@ -87,6 +93,12 @@ + "type":"SR (IS-IS)", + "outLabel":16021, + "installed":true, ++ "interface":"eth-rt4" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16021, ++ "installed":true, + "interface":"eth-rt3-2" + }, + { +@@ -105,13 +117,26 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.5.3" ++ "nexthop":"10.0.5.3", ++ "backupIndex":[ ++ 0 ++ ] + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.4.3" ++ "nexthop":"10.0.4.3", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16020, ++ "nexthop":"10.0.6.4" + } + ] + }, +@@ -123,13 +148,70 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-rt3-2" ++ "interface":"eth-rt3-2", ++ "backupIndex":[ ++ 0 ++ ] + }, + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-rt3-1" ++ "interface":"eth-rt3-1", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16021, ++ "interface":"eth-rt4" ++ } ++ ] ++ }, ++ "16040":{ ++ "inLabel":16040, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "nexthop":"10.0.6.4", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16040, ++ "nexthop":"10.0.8.6" ++ } ++ ] ++ }, ++ "16041":{ ++ "inLabel":16041, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "interface":"eth-rt4", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16041, ++ "interface":"eth-rt6" + } + ] + }, +@@ -150,7 +232,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":3, ++ "outLabel":16060, + "nexthop":"10.0.6.4" + } + ] +@@ -172,7 +254,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":3, ++ "outLabel":16061, + "interface":"eth-rt4" + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step6/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step6/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step6/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step6/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step6/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step6/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step6/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step6/show_mpls_table.ref.diff new file mode 100644 index 0000000..2883c04 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step6/show_mpls_table.ref.diff @@ -0,0 +1,146 @@ +--- a/rt5/step5/show_mpls_table.ref ++++ b/rt5/step6/show_mpls_table.ref +@@ -1,6 +1,6 @@ + { +- "16010":{ +- "inLabel":16010, ++ "30010":{ ++ "inLabel":30010, + "installed":true, + "nexthops":[ + { +@@ -30,8 +30,8 @@ + } + ] + }, +- "16011":{ +- "inLabel":16011, ++ "30011":{ ++ "inLabel":30011, + "installed":true, + "nexthops":[ + { +@@ -61,56 +61,56 @@ + } + ] + }, +- "16020":{ +- "inLabel":16020, ++ "30020":{ ++ "inLabel":30020, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16020, + "installed":true, +- "nexthop":"10.0.6.4" ++ "nexthop":"10.0.5.3" + }, + { + "type":"SR (IS-IS)", + "outLabel":16020, + "installed":true, +- "nexthop":"10.0.5.3" ++ "nexthop":"10.0.4.3" + }, + { + "type":"SR (IS-IS)", + "outLabel":16020, + "installed":true, +- "nexthop":"10.0.4.3" ++ "nexthop":"10.0.6.4" + } + ] + }, +- "16021":{ +- "inLabel":16021, ++ "30021":{ ++ "inLabel":30021, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16021, + "installed":true, +- "interface":"eth-rt4" ++ "interface":"eth-rt3-2" + }, + { + "type":"SR (IS-IS)", + "outLabel":16021, + "installed":true, +- "interface":"eth-rt3-2" ++ "interface":"eth-rt3-1" + }, + { + "type":"SR (IS-IS)", + "outLabel":16021, + "installed":true, +- "interface":"eth-rt3-1" ++ "interface":"eth-rt4" + } + ] + }, +- "16030":{ +- "inLabel":16030, ++ "30030":{ ++ "inLabel":30030, + "installed":true, + "nexthops":[ + { +@@ -140,8 +140,8 @@ + } + ] + }, +- "16031":{ +- "inLabel":16031, ++ "30031":{ ++ "inLabel":30031, + "installed":true, + "nexthops":[ + { +@@ -171,8 +171,8 @@ + } + ] + }, +- "16040":{ +- "inLabel":16040, ++ "30040":{ ++ "inLabel":30040, + "installed":true, + "nexthops":[ + { +@@ -193,8 +193,8 @@ + } + ] + }, +- "16041":{ +- "inLabel":16041, ++ "30041":{ ++ "inLabel":30041, + "installed":true, + "nexthops":[ + { +@@ -215,8 +215,8 @@ + } + ] + }, +- "16060":{ +- "inLabel":16060, ++ "30060":{ ++ "inLabel":30060, + "installed":true, + "nexthops":[ + { +@@ -237,8 +237,8 @@ + } + ] + }, +- "16061":{ +- "inLabel":16061, ++ "30061":{ ++ "inLabel":30061, + "installed":true, + "nexthops":[ + { diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step7/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step7/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step7/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step7/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step7/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step7/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step7/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step7/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step7/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step8/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step8/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step8/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step8/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step8/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step8/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step8/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step8/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step8/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step9/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step9/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step9/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step9/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step9/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step9/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step9/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step9/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step9/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt5/zebra.conf b/tests/topotests/isis_tilfa_topo1/rt5/zebra.conf new file mode 100644 index 0000000..424c85e --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/zebra.conf @@ -0,0 +1,29 @@ +log file zebra.log +! +hostname rt5 +! +! debug zebra kernel +! debug zebra packet +! debug zebra mpls +! debug zebra rib detail +! +interface lo + ip address 5.5.5.5/32 + ipv6 address 2001:db8:1000::5/128 +! +interface eth-rt3-1 + ip address 10.0.4.5/24 +! +interface eth-rt3-2 + ip address 10.0.5.5/24 +! +interface eth-rt4 + ip address 10.0.6.5/24 +! +interface eth-rt6 + ip address 10.0.8.5/24 +! +ip forwarding +! +line vty +! diff --git a/tests/topotests/isis_tilfa_topo1/rt6/bfdd.conf b/tests/topotests/isis_tilfa_topo1/rt6/bfdd.conf new file mode 100644 index 0000000..0c8ba72 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/bfdd.conf @@ -0,0 +1,14 @@ +hostname rt6 +! +#debug bfd network +#debug bfd peer +#debug bfd zebra +! +bfd + peer 10.0.8.5 interface eth-rt5 + detect-multiplier 3 + receive-interval 300 + transmit-interval 300 + no shutdown + ! +!
\ No newline at end of file diff --git a/tests/topotests/isis_tilfa_topo1/rt6/isisd.conf b/tests/topotests/isis_tilfa_topo1/rt6/isisd.conf new file mode 100644 index 0000000..9d3b464 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/isisd.conf @@ -0,0 +1,42 @@ +hostname rt6 +log file isisd.log +! +! debug isis events +! debug isis route-events +! debug isis spf-events +! debug isis sr-events +! debug isis lsp-gen +! debug isis ti-lfa +! +interface lo + ip router isis 1 + ipv6 router isis 1 + isis passive +! +interface eth-rt4 + ip router isis 1 + ipv6 router isis 1 + isis network point-to-point + isis hello-interval 1 + isis hello-multiplier 10 + isis fast-reroute ti-lfa +! +interface eth-rt5 + ip router isis 1 + ipv6 router isis 1 + isis network point-to-point + isis hello-interval 1 + isis hello-multiplier 10 + isis fast-reroute ti-lfa +! +router isis 1 + net 49.0000.0000.0000.0006.00 + is-type level-1 + lsp-gen-interval 2 + topology ipv6-unicast + segment-routing on + segment-routing global-block 16000 23999 + segment-routing node-msd 8 + segment-routing prefix 6.6.6.6/32 index 60 + segment-routing prefix 2001:db8:1000::6/128 index 61 +! diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step1/show_ip_route.ref b/tests/topotests/isis_tilfa_topo1/rt6/step1/show_ip_route.ref new file mode 100644 index 0000000..b9b43c4 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step1/show_ip_route.ref @@ -0,0 +1,413 @@ +{ + "1.1.1.1\/32":[ + { + "prefix":"1.1.1.1\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":40, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ + 16010 + ] + }, + { + "fib":true, + "ip":"10.0.8.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true, + "labels":[ + 16010 + ] + } + ] + } + ], + "2.2.2.2\/32":[ + { + "prefix":"2.2.2.2\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 16020 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.8.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true, + "labels":[ + 16020 + ] + } + ] + } + ], + "3.3.3.3\/32":[ + { + "prefix":"3.3.3.3\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.8.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 16030 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ + 16030 + ] + } + ] + } + ], + "4.4.4.4\/32":[ + { + "prefix":"4.4.4.4\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.8.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true, + "labels":[ + 16040 + ] + } + ] + } + ], + "5.5.5.5\/32":[ + { + "prefix":"5.5.5.5\/32", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.8.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ + 16050 + ] + } + ] + } + ], + "10.0.1.0\/24":[ + { + "prefix":"10.0.1.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true + }, + { + "fib":true, + "ip":"10.0.8.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true + } + ] + } + ], + "10.0.2.0\/24":[ + { + "prefix":"10.0.2.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.8.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true + } + ] + } + ], + "10.0.3.0\/24":[ + { + "prefix":"10.0.3.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.8.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true + } + ] + } + ], + "10.0.4.0\/24":[ + { + "prefix":"10.0.4.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.8.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true, + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true + } + ] + } + ], + "10.0.5.0\/24":[ + { + "prefix":"10.0.5.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.8.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true, + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true + } + ] + } + ], + "10.0.6.0\/24":[ + { + "prefix":"10.0.6.0\/24", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true + }, + { + "fib":true, + "ip":"10.0.8.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true + } + ] + } + ], + "10.0.7.0\/24":[ + { + "prefix":"10.0.7.0\/24", + "protocol":"isis", + "distance":115, + "metric":20, + "nexthops":[ + { + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.8.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true + } + ] + } + ], + "10.0.8.0\/24":[ + { + "prefix":"10.0.8.0\/24", + "protocol":"isis", + "distance":115, + "metric":20, + "nexthops":[ + { + "ip":"10.0.8.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true + } + ] + } + ] +} diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step1/show_ipv6_route.ref b/tests/topotests/isis_tilfa_topo1/rt6/step1/show_ipv6_route.ref new file mode 100644 index 0000000..1b19429 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step1/show_ipv6_route.ref @@ -0,0 +1,173 @@ +{ + "2001:db8:1000::1\/128":[ + { + "prefix":"2001:db8:1000::1\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":40, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ + 16011 + ] + }, + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5", + "active":true, + "labels":[ + 16011 + ] + } + ] + } + ], + "2001:db8:1000::2\/128":[ + { + "prefix":"2001:db8:1000::2\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 16021 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt5", + "active":true, + "labels":[ + 16021 + ] + } + ] + } + ], + "2001:db8:1000::3\/128":[ + { + "prefix":"2001:db8:1000::3\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 16031 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ + 16031 + ] + } + ] + } + ], + "2001:db8:1000::4\/128":[ + { + "prefix":"2001:db8:1000::4\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt5", + "active":true, + "labels":[ + 16041 + ] + } + ] + } + ], + "2001:db8:1000::5\/128":[ + { + "prefix":"2001:db8:1000::5\/128", + "protocol":"isis", + "selected":true, + "destSelected":true, + "distance":115, + "metric":20, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt5", + "active":true, + "backupIndex":[ + 0 + ], + "labels":[ + 3 + ] + } + ], + "backupNexthops":[ + { + "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ + 16051 + ] + } + ] + } + ] +} diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step1/show_mpls_table.ref b/tests/topotests/isis_tilfa_topo1/rt6/step1/show_mpls_table.ref new file mode 100644 index 0000000..5b52a16 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step1/show_mpls_table.ref @@ -0,0 +1,214 @@ +{ + "16010":{ + "inLabel":16010, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16010, + "installed":true, + "nexthop":"10.0.8.5" + }, + { + "type":"SR (IS-IS)", + "outLabel":16010, + "installed":true, + "nexthop":"10.0.7.4" + } + ] + }, + "16011":{ + "inLabel":16011, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16011, + "installed":true, + "interface":"eth-rt5" + }, + { + "type":"SR (IS-IS)", + "outLabel":16011, + "installed":true, + "interface":"eth-rt4" + } + ] + }, + "16020":{ + "inLabel":16020, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16020, + "installed":true, + "nexthop":"10.0.7.4", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16020, + "nexthop":"10.0.8.5" + } + ] + }, + "16021":{ + "inLabel":16021, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16021, + "installed":true, + "interface":"eth-rt4", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16021, + "interface":"eth-rt5" + } + ] + }, + "16030":{ + "inLabel":16030, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16030, + "installed":true, + "nexthop":"10.0.8.5", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16030, + "nexthop":"10.0.7.4" + } + ] + }, + "16031":{ + "inLabel":16031, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16031, + "installed":true, + "interface":"eth-rt5", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16031, + "interface":"eth-rt4" + } + ] + }, + "16040":{ + "inLabel":16040, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.7.4", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16040, + "nexthop":"10.0.8.5" + } + ] + }, + "16041":{ + "inLabel":16041, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt4", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16041, + "interface":"eth-rt5" + } + ] + }, + "16050":{ + "inLabel":16050, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "nexthop":"10.0.8.5", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16050, + "nexthop":"10.0.7.4" + } + ] + }, + "16051":{ + "inLabel":16051, + "installed":true, + "nexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, + "interface":"eth-rt5", + "backupIndex":[ + 0 + ] + } + ], + "backupNexthops":[ + { + "type":"SR (IS-IS)", + "outLabel":16051, + "interface":"eth-rt4" + } + ] + } +} diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step1/show_yang_interface_isis_adjacencies.ref b/tests/topotests/isis_tilfa_topo1/rt6/step1/show_yang_interface_isis_adjacencies.ref new file mode 100644 index 0000000..8300ca0 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step1/show_yang_interface_isis_adjacencies.ref @@ -0,0 +1,44 @@ +{ + "frr-interface:lib": { + "interface": [ + { + "name": "eth-rt4", + "vrf": "default", + "state": { + "frr-isisd:isis": { + "adjacencies": { + "adjacency": [ + { + "neighbor-sys-type": "level-1", + "neighbor-sysid": "0000.0000.0004", + "hold-timer": 10, + "neighbor-priority": 0, + "state": "up" + } + ] + } + } + } + }, + { + "name": "eth-rt5", + "vrf": "default", + "state": { + "frr-isisd:isis": { + "adjacencies": { + "adjacency": [ + { + "neighbor-sys-type": "level-1", + "neighbor-sysid": "0000.0000.0005", + "hold-timer": 10, + "neighbor-priority": 0, + "state": "up" + } + ] + } + } + } + } + ] + } +} diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step10/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step10/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step10/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step10/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step10/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step10/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step10/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step10/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step10/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step11/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step11/show_ip_route.ref.diff new file mode 100644 index 0000000..e477e87 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step11/show_ip_route.ref.diff @@ -0,0 +1,125 @@ +--- a/rt6/step10/show_ip_route.ref ++++ b/rt6/step11/show_ip_route.ref +@@ -76,25 +76,11 @@ + "selected":true, + "destSelected":true, + "distance":115, +- "metric":30, ++ "metric":40, + "installed":true, + "nexthops":[ + { + "fib":true, +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 30030 +- ] +- } +- ], +- "backupNexthops":[ +- { + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +@@ -150,25 +136,11 @@ + "selected":true, + "destSelected":true, + "distance":115, +- "metric":20, ++ "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 3 +- ] +- } +- ], +- "backupNexthops":[ +- { + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +@@ -276,22 +248,11 @@ + "selected":true, + "destSelected":true, + "distance":115, +- "metric":20, ++ "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true, +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +@@ -307,22 +268,11 @@ + "selected":true, + "destSelected":true, + "distance":115, +- "metric":20, ++ "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true, +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +@@ -389,19 +339,9 @@ + "prefix":"10.0.8.0\/24", + "protocol":"isis", + "distance":115, +- "metric":20, ++ "metric":30, + "nexthops":[ + { +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step11/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step11/show_ipv6_route.ref.diff new file mode 100644 index 0000000..12e0b59 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step11/show_ipv6_route.ref.diff @@ -0,0 +1,56 @@ +--- a/rt6/step10/show_ipv6_route.ref ++++ b/rt6/step11/show_ipv6_route.ref +@@ -72,25 +72,12 @@ + "selected":true, + "destSelected":true, + "distance":115, +- "metric":30, ++ "metric":40, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", +- "interfaceName":"eth-rt5", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 30031 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ +@@ -142,25 +129,12 @@ + "selected":true, + "destSelected":true, + "distance":115, +- "metric":20, ++ "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", +- "interfaceName":"eth-rt5", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 3 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step11/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step11/show_mpls_table.ref.diff new file mode 100644 index 0000000..387dcca --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step11/show_mpls_table.ref.diff @@ -0,0 +1,106 @@ +--- a/rt6/step10/show_mpls_table.ref ++++ b/rt6/step11/show_mpls_table.ref +@@ -8,12 +8,6 @@ + "outLabel":16010, + "installed":true, + "nexthop":"10.0.7.4" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":30010, +- "installed":true, +- "nexthop":"10.0.8.5" + } + ] + }, +@@ -26,12 +20,6 @@ + "outLabel":16011, + "installed":true, + "interface":"eth-rt4" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":30011, +- "installed":true, +- "interface":"eth-rt5" + } + ] + }, +@@ -85,18 +73,8 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":30030, +- "installed":true, +- "nexthop":"10.0.8.5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", + "outLabel":16030, ++ "installed":true, + "nexthop":"10.0.7.4" + } + ] +@@ -107,17 +85,6 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":30031, +- "installed":true, +- "interface":"eth-rt5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", + "outLabel":16031, + "interface":"eth-rt4" + } +@@ -173,18 +140,8 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.8.5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", + "outLabel":16500, ++ "installed":true, + "nexthop":"10.0.7.4" + } + ] +@@ -195,18 +152,8 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", + "outLabel":16501, ++ "installed":true, + "interface":"eth-rt4" + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step12/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step12/show_ip_route.ref.diff new file mode 100644 index 0000000..1086b6e --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step12/show_ip_route.ref.diff @@ -0,0 +1,153 @@ +--- a/rt6/step12/show_ip_route.ref ++++ b/rt6/step12/show_ip_route.ref +@@ -18,16 +18,6 @@ + "labels":[ + 16010 + ] +- }, +- { +- "fib":true, +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 30010 +- ] + } + ] + } +@@ -48,24 +38,10 @@ + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 16020 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 30020 +- ] +- } + ] + } + ], +@@ -108,24 +84,10 @@ + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 30040 +- ] +- } + ] + } + ], +@@ -168,13 +130,6 @@ + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true +- }, +- { +- "fib":true, +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true + } + ] + } +@@ -194,17 +149,6 @@ + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +- "active":true, +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", + "active":true + } + ] +@@ -225,17 +169,6 @@ + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +- "active":true, +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", + "active":true + } + ] +@@ -297,13 +230,6 @@ + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true +- }, +- { +- "fib":true, +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true + } + ] + } +@@ -318,18 +244,7 @@ + { + "ip":"10.0.7.4", + "afi":"ipv4", +- "interfaceName":"eth-rt4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true ++ "interfaceName":"eth-rt4" + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step12/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step12/show_ipv6_route.ref.diff new file mode 100644 index 0000000..571c66f --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step12/show_ipv6_route.ref.diff @@ -0,0 +1,66 @@ +--- a/rt6/step12/show_ipv6_route.ref ++++ b/rt6/step12/show_ipv6_route.ref +@@ -17,15 +17,6 @@ + "labels":[ + 16011 + ] +- }, +- { +- "fib":true, +- "afi":"ipv6", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 30011 +- ] + } + ] + } +@@ -45,23 +36,10 @@ + "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 16021 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 30021 +- ] +- } + ] + } + ], +@@ -102,23 +80,10 @@ + "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 30041 +- ] +- } + ] + } + ], diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step12/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step12/show_mpls_table.ref.diff new file mode 100644 index 0000000..18322f1 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step12/show_mpls_table.ref.diff @@ -0,0 +1,78 @@ +--- a/rt6/step12/show_mpls_table.ref ++++ b/rt6/step12/show_mpls_table.ref +@@ -31,17 +31,7 @@ + "type":"SR (IS-IS)", + "outLabel":16020, + "installed":true, +- "nexthop":"10.0.7.4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":30020, +- "nexthop":"10.0.8.5" ++ "nexthop":"10.0.7.4" + } + ] + }, +@@ -53,17 +43,7 @@ + "type":"SR (IS-IS)", + "outLabel":16021, + "installed":true, +- "interface":"eth-rt4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":30021, +- "interface":"eth-rt5" ++ "interface":"eth-rt4" + } + ] + }, +@@ -98,17 +78,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.7.4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":30040, +- "nexthop":"10.0.8.5" ++ "nexthop":"10.0.7.4" + } + ] + }, +@@ -120,17 +90,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-rt4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":30041, +- "interface":"eth-rt5" ++ "interface":"eth-rt4" + } + ] + },
\ No newline at end of file diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step2/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step2/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step2/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step2/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step2/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step2/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step2/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step2/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step2/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step3/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step3/show_ip_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step3/show_ip_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step3/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step3/show_ipv6_route.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step3/show_ipv6_route.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step3/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step3/show_mpls_table.ref.diff new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step3/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step4/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step4/show_ip_route.ref.diff new file mode 100644 index 0000000..7c2f004 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step4/show_ip_route.ref.diff @@ -0,0 +1,70 @@ +--- a/rt6/step3/show_ip_route.ref ++++ b/rt6/step4/show_ip_route.ref +@@ -14,10 +14,7 @@ + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +- "active":true, +- "labels":[ +- 16010 +- ] ++ "active":true + }, + { + "fib":true, +@@ -50,9 +47,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 16020 + ] + } + ], +@@ -98,10 +92,7 @@ + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +- "active":true, +- "labels":[ +- 16030 +- ] ++ "active":true + } + ] + } +@@ -124,9 +115,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 3 + ] + } + ], +@@ -135,10 +123,7 @@ + "ip":"10.0.8.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 16040 +- ] ++ "active":true + } + ] + } +@@ -172,10 +157,7 @@ + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +- "active":true, +- "labels":[ +- 16050 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step4/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step4/show_ipv6_route.ref.diff new file mode 100644 index 0000000..70f872e --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step4/show_ipv6_route.ref.diff @@ -0,0 +1,70 @@ +--- a/rt6/step3/show_ipv6_route.ref ++++ b/rt6/step4/show_ipv6_route.ref +@@ -13,10 +13,7 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4", +- "active":true, +- "labels":[ +- 16011 +- ] ++ "active":true + }, + { + "fib":true, +@@ -47,9 +44,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 16021 + ] + } + ], +@@ -92,10 +86,7 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt4", +- "active":true, +- "labels":[ +- 16031 +- ] ++ "active":true + } + ] + } +@@ -117,9 +108,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 3 + ] + } + ], +@@ -127,10 +115,7 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 16041 +- ] ++ "active":true + } + ] + } +@@ -162,10 +147,7 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt4", +- "active":true, +- "labels":[ +- 16051 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step4/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step4/show_mpls_table.ref.diff new file mode 100644 index 0000000..c191763 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step4/show_mpls_table.ref.diff @@ -0,0 +1,109 @@ +--- a/rt6/step3/show_mpls_table.ref ++++ b/rt6/step4/show_mpls_table.ref +@@ -8,12 +8,6 @@ + "outLabel":16010, + "installed":true, + "nexthop":"10.0.8.5" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16010, +- "installed":true, +- "nexthop":"10.0.7.4" + } + ] + }, +@@ -26,12 +20,6 @@ + "outLabel":16011, + "installed":true, + "interface":"eth-rt5" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16011, +- "installed":true, +- "interface":"eth-rt4" + } + ] + }, +@@ -96,7 +84,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16030, ++ "outLabel":3, + "nexthop":"10.0.7.4" + } + ] +@@ -118,52 +106,8 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16031, +- "interface":"eth-rt4" +- } +- ] +- }, +- "16040":{ +- "inLabel":16040, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.7.4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16040, +- "nexthop":"10.0.8.5" +- } +- ] +- }, +- "16041":{ +- "inLabel":16041, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", + "outLabel":3, +- "installed":true, +- "interface":"eth-rt4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16041, +- "interface":"eth-rt5" ++ "interface":"eth-rt4" + } + ] + }, +@@ -184,7 +128,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16050, ++ "outLabel":3, + "nexthop":"10.0.7.4" + } + ] +@@ -206,7 +150,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16051, ++ "outLabel":3, + "interface":"eth-rt4" + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step5/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step5/show_ip_route.ref.diff new file mode 100644 index 0000000..9f017d2 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step5/show_ip_route.ref.diff @@ -0,0 +1,70 @@ +--- a/rt6/step4/show_ip_route.ref ++++ b/rt6/step5/show_ip_route.ref +@@ -14,7 +14,10 @@ + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +- "active":true ++ "active":true, ++ "labels":[ ++ 16010 ++ ] + }, + { + "fib":true, +@@ -47,6 +50,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 16020 + ] + } + ], +@@ -92,7 +98,10 @@ + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +- "active":true ++ "active":true, ++ "labels":[ ++ 16030 ++ ] + } + ] + } +@@ -115,6 +124,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 3 + ] + } + ], +@@ -123,7 +135,10 @@ + "ip":"10.0.8.5", + "afi":"ipv4", + "interfaceName":"eth-rt5", +- "active":true ++ "active":true, ++ "labels":[ ++ 16040 ++ ] + } + ] + } +@@ -157,7 +172,10 @@ + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +- "active":true ++ "active":true, ++ "labels":[ ++ 16050 ++ ] + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step5/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step5/show_ipv6_route.ref.diff new file mode 100644 index 0000000..1209504 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step5/show_ipv6_route.ref.diff @@ -0,0 +1,70 @@ +--- a/rt6/step4/show_ipv6_route.ref ++++ b/rt6/step5/show_ipv6_route.ref +@@ -13,7 +13,10 @@ + "fib":true, + "afi":"ipv6", + "interfaceName":"eth-rt4", +- "active":true ++ "active":true, ++ "labels":[ ++ 16011 ++ ] + }, + { + "fib":true, +@@ -44,6 +47,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 16021 + ] + } + ], +@@ -86,7 +92,10 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt4", +- "active":true ++ "active":true, ++ "labels":[ ++ 16031 ++ ] + } + ] + } +@@ -108,6 +117,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 3 + ] + } + ], +@@ -115,7 +127,10 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt5", +- "active":true ++ "active":true, ++ "labels":[ ++ 16041 ++ ] + } + ] + } +@@ -147,7 +162,10 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt4", +- "active":true ++ "active":true, ++ "labels":[ ++ 16051 ++ ] + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step5/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step5/show_mpls_table.ref.diff new file mode 100644 index 0000000..abf7c2a --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step5/show_mpls_table.ref.diff @@ -0,0 +1,112 @@ +--- a/rt6/step4/show_mpls_table.ref ++++ b/rt6/step5/show_mpls_table.ref +@@ -7,6 +7,12 @@ + "type":"SR (IS-IS)", + "outLabel":16010, + "installed":true, ++ "nexthop":"10.0.7.4" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16010, ++ "installed":true, + "nexthop":"10.0.8.5" + } + ] +@@ -19,6 +25,12 @@ + "type":"SR (IS-IS)", + "outLabel":16011, + "installed":true, ++ "interface":"eth-rt4" ++ }, ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16011, ++ "installed":true, + "interface":"eth-rt5" + } + ] +@@ -84,7 +96,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":3, ++ "outLabel":16030, + "nexthop":"10.0.7.4" + } + ] +@@ -106,11 +118,55 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":3, ++ "outLabel":16031, + "interface":"eth-rt4" + } + ] + }, ++ "16040":{ ++ "inLabel":16040, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "nexthop":"10.0.7.4", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16040, ++ "nexthop":"10.0.8.5" ++ } ++ ] ++ }, ++ "16041":{ ++ "inLabel":16041, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "interface":"eth-rt4", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16041, ++ "interface":"eth-rt5" ++ } ++ ] ++ }, + "16050":{ + "inLabel":16050, + "installed":true, +@@ -128,7 +184,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":3, ++ "outLabel":16050, + "nexthop":"10.0.7.4" + } + ] +@@ -150,7 +206,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":3, ++ "outLabel":16051, + "interface":"eth-rt4" + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step6/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step6/show_ip_route.ref.diff new file mode 100644 index 0000000..f318f95 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step6/show_ip_route.ref.diff @@ -0,0 +1,38 @@ +--- a/rt6/step5/show_ip_route.ref ++++ b/rt6/step6/show_ip_route.ref +@@ -26,7 +26,7 @@ + "interfaceName":"eth-rt5", + "active":true, + "labels":[ +- 16010 ++ 30010 + ] + } + ] +@@ -63,7 +63,7 @@ + "interfaceName":"eth-rt5", + "active":true, + "labels":[ +- 16020 ++ 30020 + ] + } + ] +@@ -89,7 +89,7 @@ + 0 + ], + "labels":[ +- 16030 ++ 30030 + ] + } + ], +@@ -137,7 +137,7 @@ + "interfaceName":"eth-rt5", + "active":true, + "labels":[ +- 16040 ++ 30040 + ] + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step6/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step6/show_ipv6_route.ref.diff new file mode 100644 index 0000000..9208491 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step6/show_ipv6_route.ref.diff @@ -0,0 +1,38 @@ +--- a/rt6/step5/show_ipv6_route.ref ++++ b/rt6/step6/show_ipv6_route.ref +@@ -24,7 +24,7 @@ + "interfaceName":"eth-rt5", + "active":true, + "labels":[ +- 16011 ++ 30011 + ] + } + ] +@@ -59,7 +59,7 @@ + "interfaceName":"eth-rt5", + "active":true, + "labels":[ +- 16021 ++ 30021 + ] + } + ] +@@ -84,7 +84,7 @@ + 0 + ], + "labels":[ +- 16031 ++ 30031 + ] + } + ], +@@ -129,7 +129,7 @@ + "interfaceName":"eth-rt5", + "active":true, + "labels":[ +- 16041 ++ 30041 + ] + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step6/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step6/show_mpls_table.ref.diff new file mode 100644 index 0000000..aee8969 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step6/show_mpls_table.ref.diff @@ -0,0 +1,74 @@ +--- a/rt6/step5/show_mpls_table.ref ++++ b/rt6/step6/show_mpls_table.ref +@@ -11,7 +11,7 @@ + }, + { + "type":"SR (IS-IS)", +- "outLabel":16010, ++ "outLabel":30010, + "installed":true, + "nexthop":"10.0.8.5" + } +@@ -29,7 +29,7 @@ + }, + { + "type":"SR (IS-IS)", +- "outLabel":16011, ++ "outLabel":30011, + "installed":true, + "interface":"eth-rt5" + } +@@ -52,7 +52,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16020, ++ "outLabel":30020, + "nexthop":"10.0.8.5" + } + ] +@@ -74,7 +74,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16021, ++ "outLabel":30021, + "interface":"eth-rt5" + } + ] +@@ -85,7 +85,7 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16030, ++ "outLabel":30030, + "installed":true, + "nexthop":"10.0.8.5", + "backupIndex":[ +@@ -107,7 +107,7 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16031, ++ "outLabel":30031, + "installed":true, + "interface":"eth-rt5", + "backupIndex":[ +@@ -140,7 +140,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16040, ++ "outLabel":30040, + "nexthop":"10.0.8.5" + } + ] +@@ -162,7 +162,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16041, ++ "outLabel":30041, + "interface":"eth-rt5" + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step7/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step7/show_ip_route.ref.diff new file mode 100644 index 0000000..0e6c3ff --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step7/show_ip_route.ref.diff @@ -0,0 +1,24 @@ +--- a/rt6/step6/show_ip_route.ref ++++ b/rt6/step7/show_ip_route.ref +@@ -161,9 +161,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 3 + ] + } + ], +@@ -172,10 +169,7 @@ + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +- "active":true, +- "labels":[ +- 16050 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step7/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step7/show_ipv6_route.ref.diff new file mode 100644 index 0000000..2fe46c8 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step7/show_ipv6_route.ref.diff @@ -0,0 +1,24 @@ +--- a/rt6/step6/show_ipv6_route.ref ++++ b/rt6/step7/show_ipv6_route.ref +@@ -152,9 +152,6 @@ + "active":true, + "backupIndex":[ + 0 +- ], +- "labels":[ +- 3 + ] + } + ], +@@ -162,10 +159,7 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt4", +- "active":true, +- "labels":[ +- 16051 +- ] ++ "active":true + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step7/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step7/show_mpls_table.ref.diff new file mode 100644 index 0000000..179a4f4 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step7/show_mpls_table.ref.diff @@ -0,0 +1,52 @@ +--- a/rt6/step6/show_mpls_table.ref ++++ b/rt6/step7/show_mpls_table.ref +@@ -166,49 +166,5 @@ + "interface":"eth-rt5" + } + ] +- }, +- "16050":{ +- "inLabel":16050, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.8.5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16050, +- "nexthop":"10.0.7.4" +- } +- ] +- }, +- "16051":{ +- "inLabel":16051, +- "installed":true, +- "nexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16051, +- "interface":"eth-rt4" +- } +- ] + } + } diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step8/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step8/show_ip_route.ref.diff new file mode 100644 index 0000000..9d5c440 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step8/show_ip_route.ref.diff @@ -0,0 +1,24 @@ +--- a/rt6/step7/show_ip_route.ref ++++ b/rt6/step8/show_ip_route.ref +@@ -161,6 +161,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 3 + ] + } + ], +@@ -169,7 +172,10 @@ + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +- "active":true ++ "active":true, ++ "labels":[ ++ 16050 ++ ] + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step8/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step8/show_ipv6_route.ref.diff new file mode 100644 index 0000000..21cab20 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step8/show_ipv6_route.ref.diff @@ -0,0 +1,24 @@ +--- a/rt6/step7/show_ipv6_route.ref ++++ b/rt6/step8/show_ipv6_route.ref +@@ -152,6 +152,9 @@ + "active":true, + "backupIndex":[ + 0 ++ ], ++ "labels":[ ++ 3 + ] + } + ], +@@ -159,7 +162,10 @@ + { + "afi":"ipv6", + "interfaceName":"eth-rt4", +- "active":true ++ "active":true, ++ "labels":[ ++ 16051 ++ ] + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step8/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step8/show_mpls_table.ref.diff new file mode 100644 index 0000000..760c554 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step8/show_mpls_table.ref.diff @@ -0,0 +1,52 @@ +--- a/rt6/step7/show_mpls_table.ref ++++ b/rt6/step8/show_mpls_table.ref +@@ -166,5 +166,49 @@ + "interface":"eth-rt5" + } + ] ++ }, ++ "16050":{ ++ "inLabel":16050, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "nexthop":"10.0.8.5", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16050, ++ "nexthop":"10.0.7.4" ++ } ++ ] ++ }, ++ "16051":{ ++ "inLabel":16051, ++ "installed":true, ++ "nexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":3, ++ "installed":true, ++ "interface":"eth-rt5", ++ "backupIndex":[ ++ 0 ++ ] ++ } ++ ], ++ "backupNexthops":[ ++ { ++ "type":"SR (IS-IS)", ++ "outLabel":16051, ++ "interface":"eth-rt4" ++ } ++ ] + } + } diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step9/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step9/show_ip_route.ref.diff new file mode 100644 index 0000000..ee29647 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step9/show_ip_route.ref.diff @@ -0,0 +1,11 @@ +--- a/rt6/step8/show_ip_route.ref ++++ b/rt6/step9/show_ip_route.ref +@@ -174,7 +174,7 @@ + "interfaceName":"eth-rt4", + "active":true, + "labels":[ +- 16050 ++ 16500 + ] + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step9/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step9/show_ipv6_route.ref.diff new file mode 100644 index 0000000..bebca4d --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step9/show_ipv6_route.ref.diff @@ -0,0 +1,11 @@ +--- a/rt6/step8/show_ipv6_route.ref ++++ b/rt6/step9/show_ipv6_route.ref +@@ -164,7 +164,7 @@ + "interfaceName":"eth-rt4", + "active":true, + "labels":[ +- 16051 ++ 16501 + ] + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step9/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step9/show_mpls_table.ref.diff new file mode 100644 index 0000000..57347d1 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step9/show_mpls_table.ref.diff @@ -0,0 +1,39 @@ +--- a/rt6/step8/show_mpls_table.ref ++++ b/rt6/step9/show_mpls_table.ref +@@ -167,8 +167,8 @@ + } + ] + }, +- "16050":{ +- "inLabel":16050, ++ "16500":{ ++ "inLabel":16500, + "installed":true, + "nexthops":[ + { +@@ -184,13 +184,13 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16050, ++ "outLabel":16500, + "nexthop":"10.0.7.4" + } + ] + }, +- "16051":{ +- "inLabel":16051, ++ "16501":{ ++ "inLabel":16501, + "installed":true, + "nexthops":[ + { +@@ -206,7 +206,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16051, ++ "outLabel":16501, + "interface":"eth-rt4" + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt6/zebra.conf b/tests/topotests/isis_tilfa_topo1/rt6/zebra.conf new file mode 100644 index 0000000..94fed46 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/zebra.conf @@ -0,0 +1,23 @@ +log file zebra.log +! +hostname rt6 +! +! debug zebra kernel +! debug zebra packet +! debug zebra mpls +! debug zebra rib detail +! +interface lo + ip address 6.6.6.6/32 + ipv6 address 2001:db8:1000::6/128 +! +interface eth-rt4 + ip address 10.0.7.6/24 +! +interface eth-rt5 + ip address 10.0.8.6/24 +! +ip forwarding +! +line vty +! diff --git a/tests/topotests/isis_tilfa_topo1/test_isis_tilfa_topo1.py b/tests/topotests/isis_tilfa_topo1/test_isis_tilfa_topo1.py new file mode 100755 index 0000000..e2bbf45 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/test_isis_tilfa_topo1.py @@ -0,0 +1,1113 @@ +#!/usr/bin/env python +# SPDX-License-Identifier: ISC + +# +# test_isis_tilfa_topo1.py +# Part of NetDEF Topology Tests +# +# Copyright (c) 2020 by +# Network Device Education Foundation, Inc. ("NetDEF") +# + +""" +test_isis_tilfa_topo1.py: + + +---------+ + | | + | RT1 | + | 1.1.1.1 | + | | + +---------+ + |eth-sw1 + | + | + | + +---------+ | +---------+ + | | | | | + | RT2 |eth-sw1 | eth-sw1| RT3 | + | 2.2.2.2 +----------+----------+ 3.3.3.3 | + | | 10.0.1.0/24 | | + +---------+ +---------+ + eth-rt4-1| |eth-rt4-2 eth-rt5-1| |eth-rt5-2 + | | | | + 10.0.2.0/24| |10.0.3.0/24 10.0.4.0/24| |10.0.5.0/24 + | | | | + eth-rt2-1| |eth-rt2-2 eth-rt3-1| |eth-rt3-2 + +---------+ +---------+ + | | | | + | RT4 | 10.0.6.0/24 | RT5 | + | 4.4.4.4 +---------------------+ 5.5.5.5 | + | |eth-rt5 eth-rt4| | + +---------+ +---------+ + eth-rt6| |eth-rt6 + | | + 10.0.7.0/24| |10.0.8.0/24 + | +---------+ | + | | | | + | | RT6 | | + +----------+ 6.6.6.6 +-----------+ + eth-rt4| |eth-rt5 + +---------+ +""" + +import os +import sys +import pytest +import json +import tempfile +from functools import partial + +# Save the Current Working Directory to find configuration files. +CWD = os.path.dirname(os.path.realpath(__file__)) +sys.path.append(os.path.join(CWD, "../")) + +# pylint: disable=C0413 +# Import topogen and topotest helpers +from lib import topotest +from lib.topogen import Topogen, TopoRouter, get_topogen +from lib.topolog import logger + +# Required to instantiate the topology builder class. + +pytestmark = [pytest.mark.isisd] + +# Global multi-dimensional dictionary containing all expected outputs +outputs = {} + + +def build_topo(tgen): + "Build function" + + # + # Define FRR Routers + # + for router in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + tgen.add_router(router) + + # + # Define connections + # + switch = tgen.add_switch("s1") + switch.add_link(tgen.gears["rt1"], nodeif="eth-sw1") + switch.add_link(tgen.gears["rt2"], nodeif="eth-sw1") + switch.add_link(tgen.gears["rt3"], nodeif="eth-sw1") + + switch = tgen.add_switch("s2") + switch.add_link(tgen.gears["rt2"], nodeif="eth-rt4-1") + switch.add_link(tgen.gears["rt4"], nodeif="eth-rt2-1") + + switch = tgen.add_switch("s3") + switch.add_link(tgen.gears["rt2"], nodeif="eth-rt4-2") + switch.add_link(tgen.gears["rt4"], nodeif="eth-rt2-2") + + switch = tgen.add_switch("s4") + switch.add_link(tgen.gears["rt3"], nodeif="eth-rt5-1") + switch.add_link(tgen.gears["rt5"], nodeif="eth-rt3-1") + + switch = tgen.add_switch("s5") + switch.add_link(tgen.gears["rt3"], nodeif="eth-rt5-2") + switch.add_link(tgen.gears["rt5"], nodeif="eth-rt3-2") + + switch = tgen.add_switch("s6") + switch.add_link(tgen.gears["rt4"], nodeif="eth-rt5") + switch.add_link(tgen.gears["rt5"], nodeif="eth-rt4") + + switch = tgen.add_switch("s7") + switch.add_link(tgen.gears["rt4"], nodeif="eth-rt6") + switch.add_link(tgen.gears["rt6"], nodeif="eth-rt4") + + switch = tgen.add_switch("s8") + switch.add_link(tgen.gears["rt5"], nodeif="eth-rt6") + switch.add_link(tgen.gears["rt6"], nodeif="eth-rt5") + + # + # Populate multi-dimensional dictionary containing all expected outputs + # + files = [ + "show_ip_route.ref", + "show_ipv6_route.ref", + "show_mpls_table.ref", + "show_yang_interface_isis_adjacencies.ref", + ] + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + outputs[rname] = {} + for step in range(1, 12 + 1): + outputs[rname][step] = {} + for file in files: + if step == 1: + # Get snapshots relative to the expected initial network convergence + filename = "{}/{}/step{}/{}".format(CWD, rname, step, file) + outputs[rname][step][file] = open(filename).read() + else: + if file == "show_yang_interface_isis_adjacencies.ref": + continue + + # Get diff relative to the previous step + filename = "{}/{}/step{}/{}.diff".format(CWD, rname, step, file) + + # Create temporary files in order to apply the diff + f_in = tempfile.NamedTemporaryFile(mode="w") + f_in.write(outputs[rname][step - 1][file]) + f_in.flush() + f_out = tempfile.NamedTemporaryFile(mode="r") + os.system( + "patch -s -o %s %s %s" % (f_out.name, f_in.name, filename) + ) + + # Store the updated snapshot and remove the temporary files + outputs[rname][step][file] = open(f_out.name).read() + f_in.close() + f_out.close() + + +def setup_module(mod): + "Sets up the pytest environment" + tgen = Topogen(build_topo, mod.__name__) + tgen.start_topology() + + router_list = tgen.routers() + + # For all registered routers, load the zebra configuration file + for rname, router in router_list.items(): + router.load_config( + TopoRouter.RD_ZEBRA, os.path.join(CWD, "{}/zebra.conf".format(rname)) + ) + router.load_config( + TopoRouter.RD_ISIS, os.path.join(CWD, "{}/isisd.conf".format(rname)) + ) + router.load_config( + TopoRouter.RD_BFD, os.path.join(CWD, "/dev/null".format(rname)) + ) + + tgen.start_router() + + +def teardown_module(mod): + "Teardown the pytest environment" + tgen = get_topogen() + + # This function tears down the whole topology. + tgen.stop_topology() + + +def router_compare_json_output(rname, command, reference, count=120, wait=0.5): + "Compare router JSON output" + + logger.info('Comparing router "%s" "%s" output', rname, command) + + tgen = get_topogen() + expected = json.loads(reference) + + # Run test function until we get an result. Wait at most 60 seconds. + test_func = partial(topotest.router_json_cmp, tgen.gears[rname], command, expected) + _, diff = topotest.run_and_expect(test_func, None, count=count, wait=wait) + assertmsg = '"{}" JSON output mismatches the expected result'.format(rname) + assert diff is None, assertmsg + + +# +# Step 1 +# +# Test initial network convergence +# +def test_isis_adjacencies_step1(): + logger.info("Test (step 1): check IS-IS adjacencies") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, + "show yang operational-data /frr-interface:lib isisd", + outputs[rname][1]["show_yang_interface_isis_adjacencies.ref"], + ) + + +def test_rib_ipv4_step1(): + logger.info("Test (step 1): verify IPv4 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show ip route isis json", outputs[rname][1]["show_ip_route.ref"] + ) + + +def test_rib_ipv6_step1(): + logger.info("Test (step 1): verify IPv6 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show ipv6 route isis json", outputs[rname][1]["show_ipv6_route.ref"] + ) + + +def test_mpls_lib_step1(): + logger.info("Test (step 1): verify MPLS LIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show mpls table json", outputs[rname][1]["show_mpls_table.ref"] + ) + + +# +# Step 2 +# +# Action(s): +# -Disable TI-LFA link protection on rt2's eth-sw1 interface +# +# Expected changes: +# -rt2 should uninstall the backup nexthops from destinations reachable over eth-sw1. +# +def test_rib_ipv4_step2(): + logger.info("Test (step 2): verify IPv4 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + logger.info("Disabling TI-LFA link protection on rt2's eth-sw1 interface") + tgen.net["rt2"].cmd( + 'vtysh -c "conf t" -c "interface eth-sw1" -c "no isis fast-reroute ti-lfa"' + ) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show ip route isis json", outputs[rname][2]["show_ip_route.ref"] + ) + + +def test_rib_ipv6_step2(): + logger.info("Test (step 2): verify IPv6 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show ipv6 route isis json", outputs[rname][2]["show_ipv6_route.ref"] + ) + + +def test_mpls_lib_step2(): + logger.info("Test (step 2): verify MPLS LIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show mpls table json", outputs[rname][2]["show_mpls_table.ref"] + ) + + +# +# Step 3 +# +# Action(s): +# -Enable TI-LFA link protection on rt2's eth-sw1 interface +# +# Expected changes: +# -rt2 should install backup nexthops for destinations reachable over eth-sw1. +# +def test_rib_ipv4_step3(): + logger.info("Test (step 3): verify IPv4 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + logger.info("Enabling TI-LFA link protection on rt2's eth-sw1 interface") + tgen.net["rt2"].cmd( + 'vtysh -c "conf t" -c "interface eth-sw1" -c "isis fast-reroute ti-lfa"' + ) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show ip route isis json", outputs[rname][3]["show_ip_route.ref"] + ) + + +def test_rib_ipv6_step3(): + logger.info("Test (step 3): verify IPv6 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show ipv6 route isis json", outputs[rname][3]["show_ipv6_route.ref"] + ) + + +def test_mpls_lib_step3(): + logger.info("Test (step 3): verify MPLS LIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show mpls table json", outputs[rname][3]["show_mpls_table.ref"] + ) + + +# +# Step 4 +# +# Action(s): +# -Disable SR on rt4 +# +# Expected changes: +# -rt4 should uninstall all Prefix-SIDs from the network +# -rt4 should uninstall all TI-LFA backup nexthops +# -All routers should uninstall rt4's Prefix-SIDs +# -All routers should uninstall all SR labels for destinations whose nexthop is rt4 +# -All routers should uninstall all TI-LFA backup nexthops that point to rt4 +# -All routers should uninstall all TI-LFA backup nexthops that use rt4's Prefix-SIDs +# +def test_rib_ipv4_step4(): + logger.info("Test (step 4): verify IPv4 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + logger.info("Disabling SR on rt4") + tgen.net["rt4"].cmd( + 'vtysh -c "conf t" -c "router isis 1" -c "no segment-routing on"' + ) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show ip route isis json", outputs[rname][4]["show_ip_route.ref"] + ) + + +def test_rib_ipv6_step4(): + logger.info("Test (step 4): verify IPv6 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show ipv6 route isis json", outputs[rname][4]["show_ipv6_route.ref"] + ) + + +def test_mpls_lib_step4(): + logger.info("Test (step 4): verify MPLS LIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show mpls table json", outputs[rname][4]["show_mpls_table.ref"] + ) + + +# +# Step 5 +# +# Action(s): +# -Enable SR on rt4 +# +# Expected changes: +# -Reverse all changes done on the previous step +# +def test_rib_ipv4_step5(): + logger.info("Test (step 5): verify IPv4 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + logger.info("Enabling SR on rt4") + tgen.net["rt4"].cmd('vtysh -c "conf t" -c "router isis 1" -c "segment-routing on"') + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show ip route isis json", outputs[rname][5]["show_ip_route.ref"] + ) + + +def test_rib_ipv6_step5(): + logger.info("Test (step 5): verify IPv6 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show ipv6 route isis json", outputs[rname][5]["show_ipv6_route.ref"] + ) + + +def test_mpls_lib_step5(): + logger.info("Test (step 5): verify MPLS LIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show mpls table json", outputs[rname][5]["show_mpls_table.ref"] + ) + + +# +# Step 6 +# +# Action(s): +# -Change rt5's SRGB +# +# Expected changes: +# -All routers should update all SR labels for destinations whose primary or backup nexthop is rt5 +# +def test_rib_ipv4_step6(): + logger.info("Test (step 6): verify IPv4 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + logger.info("Changing rt5's SRGB") + tgen.net["rt5"].cmd( + 'vtysh -c "conf t" -c "router isis 1" -c "segment-routing global-block 30000 37999"' + ) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show ip route isis json", outputs[rname][6]["show_ip_route.ref"] + ) + + +def test_rib_ipv6_step6(): + logger.info("Test (step 6): verify IPv6 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show ipv6 route isis json", outputs[rname][6]["show_ipv6_route.ref"] + ) + + +def test_mpls_lib_step6(): + logger.info("Test (step 6): verify MPLS LIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show mpls table json", outputs[rname][6]["show_mpls_table.ref"] + ) + + +# +# Step 7 +# +# Action(s): +# -Delete rt5's Prefix-SIDs +# +# Expected changes: +# -All routers should uninstall rt5's Prefix-SIDs +# -All routers should uninstall all TI-LFA backup nexthops that use rt5's Prefix-SIDs +# +def test_rib_ipv4_step7(): + logger.info("Test (step 7): verify IPv4 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + logger.info("Deleting rt5's Prefix-SIDs") + tgen.net["rt5"].cmd( + 'vtysh -c "conf t" -c "router isis 1" -c "no segment-routing prefix 5.5.5.5/32 index 50"' + ) + tgen.net["rt5"].cmd( + 'vtysh -c "conf t" -c "router isis 1" -c "no segment-routing prefix 2001:db8:1000::5/128 index 51"' + ) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show ip route isis json", outputs[rname][7]["show_ip_route.ref"] + ) + + +def test_rib_ipv6_step7(): + logger.info("Test (step 7): verify IPv6 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show ipv6 route isis json", outputs[rname][7]["show_ipv6_route.ref"] + ) + + +def test_mpls_lib_step7(): + logger.info("Test (step 7): verify MPLS LIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show mpls table json", outputs[rname][7]["show_mpls_table.ref"] + ) + + +# +# Step 8 +# +# Action(s): +# -Re-add rt5's Prefix-SIDs +# +# Expected changes: +# -Reverse all changes done on the previous step +# +def test_rib_ipv4_step8(): + logger.info("Test (step 8): verify IPv4 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + logger.info("Re-adding rt5's Prefix-SIDs") + tgen.net["rt5"].cmd( + 'vtysh -c "conf t" -c "router isis 1" -c "segment-routing prefix 5.5.5.5/32 index 50"' + ) + tgen.net["rt5"].cmd( + 'vtysh -c "conf t" -c "router isis 1" -c "segment-routing prefix 2001:db8:1000::5/128 index 51"' + ) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show ip route isis json", outputs[rname][8]["show_ip_route.ref"] + ) + + +def test_rib_ipv6_step8(): + logger.info("Test (step 8): verify IPv6 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show ipv6 route isis json", outputs[rname][8]["show_ipv6_route.ref"] + ) + + +def test_mpls_lib_step8(): + logger.info("Test (step 8): verify MPLS LIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show mpls table json", outputs[rname][8]["show_mpls_table.ref"] + ) + + +# +# Step 9 +# +# Action(s): +# -Change rt5's Prefix-SIDs +# +# Expected changes: +# -All routers should update rt5's Prefix-SIDs +# -All routers should update all TI-LFA backup nexthops that use rt5's Prefix-SIDs +# +def test_rib_ipv4_step9(): + logger.info("Test (step 9): verify IPv4 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + logger.info("Re-adding rt5's Prefix-SIDs") + tgen.net["rt5"].cmd( + 'vtysh -c "conf t" -c "router isis 1" -c "segment-routing prefix 5.5.5.5/32 index 500"' + ) + tgen.net["rt5"].cmd( + 'vtysh -c "conf t" -c "router isis 1" -c "segment-routing prefix 2001:db8:1000::5/128 index 501"' + ) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show ip route isis json", outputs[rname][9]["show_ip_route.ref"] + ) + + +def test_rib_ipv6_step9(): + logger.info("Test (step 9): verify IPv6 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show ipv6 route isis json", outputs[rname][9]["show_ipv6_route.ref"] + ) + + +def test_mpls_lib_step9(): + logger.info("Test (step 9): verify MPLS LIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show mpls table json", outputs[rname][9]["show_mpls_table.ref"] + ) + + +# +# Step 10 +# +# Action(s): +# - Setting spf-delay-ietf init-delay of 15s +# +# Expected changes: +# - No routing table change +# - At the end of test, SPF reacts to a failure in 15s +# +def test_rib_ipv4_step10(): + logger.info("Test (step 10): verify IPv4 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + logger.info("Setting spf-delay-ietf init-delay of 15s") + tgen.net["rt6"].cmd( + 'vtysh -c "conf t" -c "router isis 1" -c "spf-delay-ietf init-delay 15000 short-delay 0 long-delay 0 holddown 0 time-to-learn 0"' + ) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show ip route isis json", outputs[rname][10]["show_ip_route.ref"] + ) + + +def test_rib_ipv6_step10(): + logger.info("Test (step 10): verify IPv6 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, + "show ipv6 route isis json", + outputs[rname][10]["show_ipv6_route.ref"], + ) + + +def test_mpls_lib_step10(): + logger.info("Test (step 10): verify MPLS LIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show mpls table json", outputs[rname][10]["show_mpls_table.ref"] + ) + + +# +# Step 11 +# +# Action(s): +# - shut the eth-rt5 interface on rt6 +# +# Expected changes: +# - Route switchover of routes via eth-rt5 +# +def test_rt6_step11(): + logger.info( + "Test (step 11): Check IPv4/6 RIB and MPLS table after a LFA switchover" + ) + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + logger.info( + "Shut a rt6 interface to rt5 from the switch side and check fast-reroute" + ) + tgen.net.cmd_raises("ip link set %s down" % tgen.net["s8"].intfs[1]) + + rname = "rt6" + router_compare_json_output( + rname, + "show ip route isis json", + outputs[rname][11]["show_ip_route.ref"], + count=20, + ) + router_compare_json_output( + rname, + "show ipv6 route isis json", + outputs[rname][11]["show_ipv6_route.ref"], + count=20, + ) + router_compare_json_output( + rname, + "show mpls table json", + outputs[rname][11]["show_mpls_table.ref"], + count=20, + ) + + +# +# Step 12 +# +# Action(s): wait for the convergence and SPF computation on rt6 +# +# Expected changes: +# - convergence of IPv4/6 RIB and MPLS table +# +def test_rib_ipv4_step12(): + logger.info("Test (step 12): verify IPv4 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + logger.info("Check SPF convergence") + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, + "show ip route isis json", + outputs[rname][12]["show_ip_route.ref"], + ) + + +def test_rib_ipv6_step12(): + logger.info("Test (step 12): verify IPv6 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, + "show ipv6 route isis json", + outputs[rname][12]["show_ipv6_route.ref"], + ) + + +def test_mpls_lib_step12(): + logger.info("Test (step 12): verify MPLS LIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, + "show mpls table json", + outputs[rname][12]["show_mpls_table.ref"], + ) + + +# +# Step 13 +# +# Action(s): +# - unshut the rt6 to rt5 interface +# - Setup BFD +# +# Expected changes: +# - All route tables go back to previous state situation +# - At the end of test, next SPF is scheduled in approximatively 15s +# +def test_rib_ipv4_step13(): + logger.info("Test (step 13): verify IPv4 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + logger.info("Unsetting spf-delay-ietf init-delay of 15s") + tgen.net["rt6"].cmd('vtysh -c "conf t" -c "router isis 1" -c "no spf-delay-ietf"') + + logger.info( + "Unshut the rt6 interface to rt5 from the switch side and check fast-reroute" + ) + tgen.net.cmd_raises("ip link set %s up" % tgen.net["s8"].intfs[1]) + + logger.info("Setup BFD on rt5 and rt6") + for rname in ["rt5", "rt6"]: + conf_file = os.path.join(CWD, "{}/bfdd.conf".format(rname)) + tgen.net[rname].cmd("vtysh -f {}".format(conf_file)) + + expect = ( + '[{"multihop":false,"peer":"10.0.8.5","interface":"eth-rt5","status":"up"}]' + ) + router_compare_json_output("rt6", "show bfd peers json", expect) + + # Unset link detection. We want zebra to consider linkdow as operationaly up + # in order that BFD triggers LFA instead of the interface down + + # reset spf-interval + logger.info("Set spf-interval to 15s") + tgen.net["rt6"].cmd( + 'vtysh -c "conf t" -c "router isis 1" -c "spf-delay-ietf init-delay 15000 short-delay 0 long-delay 0 holddown 0 time-to-learn 0"' + ) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show ip route isis json", outputs[rname][10]["show_ip_route.ref"] + ) + + logger.info("Set ISIS BFD") + tgen.net["rt5"].cmd('vtysh -c "conf t" -c "int eth-rt6" -c "isis bfd"') + tgen.net["rt6"].cmd('vtysh -c "conf t" -c "int eth-rt5" -c "isis bfd"') + + expect = ( + '[{"multihop":false,"peer":"10.0.8.5","interface":"eth-rt5","status":"up"}]' + ) + router_compare_json_output( + rname, + "show bfd peers json", + expect, + ) + + +def test_rib_ipv6_step13(): + logger.info("Test (step 13): verify IPv6 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, + "show ipv6 route isis json", + outputs[rname][10]["show_ipv6_route.ref"], + ) + + +def test_mpls_lib_step13(): + logger.info("Test (step 13): verify MPLS LIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show mpls table json", outputs[rname][10]["show_mpls_table.ref"] + ) + + +# +# Step 14 +# +# Action(s): +# - drop traffic between rt5 and rt6 by shutting down the bridge between +# the routers. Interfaces on rt5 and rt6 stay up. +# +# Expected changes: +# - Route switchover of routes via eth-rt5 +# +def test_rt6_step14(): + logger.info("Test (step 14): verify IPv4/6 RIB and MPLS table") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + logger.info("Drop traffic between rt5 and rt6") + tgen.net.cmd_raises("ip link set s8 down") + + rname = "rt6" + + expect = ( + '[{"multihop":false,"peer":"10.0.8.5","interface":"eth-rt5","status":"down"}]' + ) + router_compare_json_output( + rname, + "show bfd peers json", + expect, + count=40, + wait=0.5, + ) + + router_compare_json_output( + rname, + "show ip route isis json", + outputs[rname][11]["show_ip_route.ref"], + count=20, + ) + router_compare_json_output( + rname, + "show ipv6 route isis json", + outputs[rname][11]["show_ipv6_route.ref"], + count=20, + wait=2, + ) + router_compare_json_output( + rname, + "show mpls table json", + outputs[rname][11]["show_mpls_table.ref"], + count=20, + ) + + +# +# Step 15 +# +# Action(s): wait for the convergence and SPF computation on rt6 +# +# Expected changes: +# - convergence of IPv4/6 RIB and MPLS table +# +def test_rib_ipv4_step15(): + logger.info("Test (step 15): verify IPv4 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + logger.info("Check SPF convergence") + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, + "show ip route isis json", + outputs[rname][12]["show_ip_route.ref"], + ) + + +def test_rib_ipv6_step15(): + logger.info("Test (step 15): verify IPv6 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, + "show ipv6 route isis json", + outputs[rname][12]["show_ipv6_route.ref"], + ) + + +def test_mpls_lib_step15(): + logger.info("Test (step 15): verify MPLS LIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, + "show mpls table json", + outputs[rname][12]["show_mpls_table.ref"], + ) + + +# Memory leak test template +def test_memory_leak(): + "Run the memory leak test and report results." + tgen = get_topogen() + if not tgen.is_memleak_enabled(): + pytest.skip("Memory leak test/report is disabled") + + tgen.report_memory_leaks() + + +if __name__ == "__main__": + args = ["-s"] + sys.argv[1:] + sys.exit(pytest.main(args)) |