summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRenato Westphal <renato@opensourcerouting.org>2024-06-07 15:41:38 +0200
committerRenato Westphal <renato@opensourcerouting.org>2024-06-10 17:28:01 +0200
commit04655c5f74b11e517155e024bbb335736c2605b4 (patch)
tree14fc23a3ac2371ec0db4ac38240f50d594f4ab28
parentMerge pull request #16093 from louis-6wind/fix-show-route-memory (diff)
downloadfrr-04655c5f74b11e517155e024bbb335736c2605b4.tar.xz
frr-04655c5f74b11e517155e024bbb335736c2605b4.zip
tests: rework isis_tilfa_topo1 to fix timing issues
In this topotest, steps 10-15 were added to test the IS-IS switchover functionality. In short, two cases were tested: switchover after a link down event and switchover after a BFD down event. Both cases were tested in sequence on the same router, rt6. This involved the following steps: - Setting the SPF delay timer to 15 seconds - Shutting down the eth-rt5 interface from the switch side - Testing the post-switchover RIB and LIB (triggered by the link down event) - Testing the post-SPF RIB and LIB - Bringing the eth-rt5 interface back up - Configuring a BFD session between rt6 and rt5 - Shutting down the eth-rt5 interface from the switch side once again - Testing the post-switchover RIB and LIB (triggered by the BFD down event) - Testing the post-SPF RIB and LIB Since the time window to test the post-switchover RIB and LIB was too narrow (10 seconds), these tests were having sporadic failures. To resolve this problem, we can simplify the switchover test as follows: - Setting the SPF delay timer to 60 seconds (not 15) - Disabling "link-detect" on rt6's eth-rt5 interface - Shutting down the eth-rt5 interface from the switch side - On rt6, testing the post-switchover RIB and LIB (triggered by the BFD down event) - On rt5, testing the post-switchover RIB and LIB (triggered by the link down event) Notice how we can test both post-link-down and post-BFD-down switchover cases simultaneously by having different "link-detect" configurations on rt5 and rt6. Additionally, by using a larger SPF delay timer, the time window to test the post-switchover RIB and LIB is much larger and less prone to sporadic failures. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt1/step10/show_ip_route.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt1/step10/show_ipv6_route.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt1/step10/show_mpls_table.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt1/step11/show_ip_route.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt1/step11/show_ipv6_route.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt1/step11/show_mpls_table.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt1/step12/show_ip_route.ref.diff19
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt1/step12/show_ipv6_route.ref.diff18
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt1/step12/show_mpls_table.ref.diff28
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt2/step10/show_ip_route.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt2/step10/show_ipv6_route.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt2/step10/show_mpls_table.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt2/step11/show_ip_route.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt2/step11/show_ipv6_route.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt2/step11/show_mpls_table.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt2/step12/show_ip_route.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt2/step12/show_ipv6_route.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt2/step12/show_mpls_table.ref.diff20
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt3/step10/show_ip_route.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt3/step10/show_ipv6_route.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt3/step10/show_mpls_table.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt3/step11/show_ip_route.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt3/step11/show_ipv6_route.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt3/step11/show_mpls_table.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt3/step12/show_ip_route.ref.diff58
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt3/step12/show_ipv6_route.ref.diff45
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt3/step12/show_mpls_table.ref.diff60
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt4/step10/show_ip_route.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt4/step10/show_ipv6_route.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt4/step10/show_mpls_table.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt4/step11/show_ip_route.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt4/step11/show_ipv6_route.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt4/step11/show_mpls_table.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt4/step12/show_ip_route.ref.diff144
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt4/step12/show_ipv6_route.ref.diff50
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt4/step12/show_mpls_table.ref.diff78
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt5/step10/show_ip_route.ref482
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt5/step10/show_ip_route.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt5/step10/show_ipv6_route.ref229
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt5/step10/show_ipv6_route.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt5/step10/show_mpls_table.ref301
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt5/step10/show_mpls_table.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt5/step11/show_ip_route.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt5/step11/show_ipv6_route.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt5/step11/show_mpls_table.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt5/step12/show_ip_route.ref.diff151
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt5/step12/show_ipv6_route.ref.diff53
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt5/step12/show_mpls_table.ref.diff80
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt6/step10/show_bfd_peer_down.ref6
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt6/step10/show_bfd_peer_up.ref6
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt6/step10/show_ip_route.ref354
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt6/step10/show_ip_route.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt6/step10/show_ipv6_route.ref112
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt6/step10/show_ipv6_route.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt6/step10/show_mpls_table.ref127
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt6/step10/show_mpls_table.ref.diff0
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt6/step11/show_ip_route.ref.diff125
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt6/step11/show_ipv6_route.ref.diff56
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt6/step11/show_mpls_table.ref.diff106
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt6/step12/show_ip_route.ref.diff153
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt6/step12/show_ipv6_route.ref.diff66
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt6/step12/show_mpls_table.ref.diff78
-rw-r--r--tests/topotests/isis_tilfa_topo1/rt6/zebra.conf1
-rwxr-xr-xtests/topotests/isis_tilfa_topo1/test_isis_tilfa_topo1.py358
64 files changed, 1665 insertions, 1699 deletions
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt1/step10/show_ip_route.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt1/step10/show_ipv6_route.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt1/step10/show_mpls_table.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt1/step11/show_ip_route.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt1/step11/show_ipv6_route.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt1/step11/show_mpls_table.ref.diff
+++ /dev/null
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
deleted file mode 100644
index a8d6e6c65..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt1/step12/show_ip_route.ref.diff
+++ /dev/null
@@ -1,19 +0,0 @@
---- 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
deleted file mode 100644
index 637c59f6e..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt1/step12/show_ipv6_route.ref.diff
+++ /dev/null
@@ -1,18 +0,0 @@
---- 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
deleted file mode 100644
index e110bf48e..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt1/step12/show_mpls_table.ref.diff
+++ /dev/null
@@ -1,28 +0,0 @@
---- 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/rt2/step10/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step10/show_ip_route.ref.diff
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt2/step10/show_ip_route.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt2/step10/show_ipv6_route.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt2/step10/show_mpls_table.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt2/step11/show_ip_route.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt2/step11/show_ipv6_route.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt2/step11/show_mpls_table.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt2/step12/show_ip_route.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt2/step12/show_ipv6_route.ref.diff
+++ /dev/null
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
deleted file mode 100644
index 84a36442d..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt2/step12/show_mpls_table.ref.diff
+++ /dev/null
@@ -1,20 +0,0 @@
---- 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/rt3/step10/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step10/show_ip_route.ref.diff
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt3/step10/show_ip_route.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt3/step10/show_ipv6_route.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt3/step10/show_mpls_table.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt3/step11/show_ip_route.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt3/step11/show_ipv6_route.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt3/step11/show_mpls_table.ref.diff
+++ /dev/null
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
deleted file mode 100644
index 8695cf848..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt3/step12/show_ip_route.ref.diff
+++ /dev/null
@@ -1,58 +0,0 @@
---- 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
deleted file mode 100644
index 661d0fe75..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt3/step12/show_ipv6_route.ref.diff
+++ /dev/null
@@ -1,45 +0,0 @@
---- 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
deleted file mode 100644
index 30941b398..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt3/step12/show_mpls_table.ref.diff
+++ /dev/null
@@ -1,60 +0,0 @@
---- 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/rt4/step10/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step10/show_ip_route.ref.diff
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt4/step10/show_ip_route.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt4/step10/show_ipv6_route.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt4/step10/show_mpls_table.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt4/step11/show_ip_route.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt4/step11/show_ipv6_route.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt4/step11/show_mpls_table.ref.diff
+++ /dev/null
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
deleted file mode 100644
index 2645c5945..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt4/step12/show_ip_route.ref.diff
+++ /dev/null
@@ -1,144 +0,0 @@
---- 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
deleted file mode 100644
index 37e3185ae..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt4/step12/show_ipv6_route.ref.diff
+++ /dev/null
@@ -1,50 +0,0 @@
---- 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
deleted file mode 100644
index 186291ada..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt4/step12/show_mpls_table.ref.diff
+++ /dev/null
@@ -1,78 +0,0 @@
---- 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/rt5/step10/show_ip_route.ref b/tests/topotests/isis_tilfa_topo1/rt5/step10/show_ip_route.ref
new file mode 100644
index 000000000..fcaf5e6d6
--- /dev/null
+++ b/tests/topotests/isis_tilfa_topo1/rt5/step10/show_ip_route.ref
@@ -0,0 +1,482 @@
+{
+ "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":30,
+ "installed":true,
+ "nexthops":[
+ {
+ "fib":true,
+ "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":30,
+ "nexthops":[
+ {
+ "ip":"10.0.6.4",
+ "afi":"ipv4",
+ "interfaceName":"eth-rt4",
+ "active":true
+ }
+ ]
+ }
+ ]
+}
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt5/step10/show_ip_route.ref.diff
+++ /dev/null
diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step10/show_ipv6_route.ref b/tests/topotests/isis_tilfa_topo1/rt5/step10/show_ipv6_route.ref
new file mode 100644
index 000000000..d193e1e86
--- /dev/null
+++ b/tests/topotests/isis_tilfa_topo1/rt5/step10/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":30,
+ "installed":true,
+ "nexthops":[
+ {
+ "fib":true,
+ "afi":"ipv6",
+ "interfaceName":"eth-rt3-1",
+ "active":true,
+ "backupIndex":[
+ 0
+ ],
+ "labels":[
+ 16011
+ ]
+ },
+ {
+ "fib":true,
+ "afi":"ipv6",
+ "interfaceName":"eth-rt3-2",
+ "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-rt3-1",
+ "active":true,
+ "labels":[
+ 16021
+ ]
+ },
+ {
+ "fib":true,
+ "afi":"ipv6",
+ "interfaceName":"eth-rt3-2",
+ "active":true,
+ "labels":[
+ 16021
+ ]
+ },
+ {
+ "fib":true,
+ "afi":"ipv6",
+ "interfaceName":"eth-rt4",
+ "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-1",
+ "active":true,
+ "backupIndex":[
+ 0
+ ],
+ "labels":[
+ 3
+ ]
+ },
+ {
+ "fib":true,
+ "afi":"ipv6",
+ "interfaceName":"eth-rt3-2",
+ "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,
+ 1
+ ],
+ "labels":[
+ 3
+ ]
+ }
+ ],
+ "backupNexthops":[
+ {
+ "afi":"ipv6",
+ "interfaceName":"eth-rt3-1",
+ "active":true,
+ "labels":[
+ 16021,
+ 16041
+ ]
+ },
+ {
+ "afi":"ipv6",
+ "interfaceName":"eth-rt3-2",
+ "active":true,
+ "labels":[
+ 16021,
+ 16041
+ ]
+ }
+ ]
+ }
+ ],
+ "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",
+ "active":true,
+ "backupIndex":[
+ 0,
+ 1
+ ],
+ "labels":[
+ 16061
+ ]
+ }
+ ],
+ "backupNexthops":[
+ {
+ "afi":"ipv6",
+ "interfaceName":"eth-rt3-1",
+ "active":true,
+ "labels":[
+ 16021,
+ 16061
+ ]
+ },
+ {
+ "afi":"ipv6",
+ "interfaceName":"eth-rt3-2",
+ "active":true,
+ "labels":[
+ 16021,
+ 16061
+ ]
+ }
+ ]
+ }
+ ]
+}
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt5/step10/show_ipv6_route.ref.diff
+++ /dev/null
diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step10/show_mpls_table.ref b/tests/topotests/isis_tilfa_topo1/rt5/step10/show_mpls_table.ref
new file mode 100644
index 000000000..8a339e6e9
--- /dev/null
+++ b/tests/topotests/isis_tilfa_topo1/rt5/step10/show_mpls_table.ref
@@ -0,0 +1,301 @@
+{
+ "30010":{
+ "inLabel":30010,
+ "installed":true,
+ "nexthops":[
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":16010,
+ "installed":true,
+ "nexthop":"10.0.5.3",
+ "interface":"eth-rt3-2",
+ "backupIndex":[
+ 0
+ ]
+ },
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":16010,
+ "installed":true,
+ "nexthop":"10.0.4.3",
+ "interface":"eth-rt3-1",
+ "backupIndex":[
+ 0
+ ]
+ }
+ ],
+ "backupNexthops":[
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":16010,
+ "nexthop":"10.0.6.4",
+ "interface":"eth-rt4"
+ }
+ ]
+ },
+ "30011":{
+ "inLabel":30011,
+ "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"
+ }
+ ]
+ },
+ "30020":{
+ "inLabel":30020,
+ "installed":true,
+ "nexthops":[
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":16020,
+ "installed":true,
+ "nexthop":"10.0.5.3",
+ "interface":"eth-rt3-2"
+ },
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":16020,
+ "installed":true,
+ "nexthop":"10.0.4.3",
+ "interface":"eth-rt3-1"
+ },
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":16020,
+ "installed":true,
+ "nexthop":"10.0.6.4",
+ "interface":"eth-rt4"
+ }
+ ]
+ },
+ "30021":{
+ "inLabel":30021,
+ "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"
+ }
+ ]
+ },
+ "30030":{
+ "inLabel":30030,
+ "installed":true,
+ "nexthops":[
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":3,
+ "installed":true,
+ "nexthop":"10.0.5.3",
+ "interface":"eth-rt3-2",
+ "backupIndex":[
+ 0
+ ]
+ },
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":3,
+ "installed":true,
+ "nexthop":"10.0.4.3",
+ "interface":"eth-rt3-1",
+ "backupIndex":[
+ 0
+ ]
+ }
+ ],
+ "backupNexthops":[
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":16020,
+ "nexthop":"10.0.6.4",
+ "interface":"eth-rt4"
+ }
+ ]
+ },
+ "30031":{
+ "inLabel":30031,
+ "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"
+ }
+ ]
+ },
+ "30040":{
+ "inLabel":30040,
+ "installed":true,
+ "nexthops":[
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":3,
+ "installed":true,
+ "nexthop":"10.0.6.4",
+ "interface":"eth-rt4",
+ "backupIndex":[
+ 0,
+ 1
+ ]
+ }
+ ],
+ "backupNexthops":[
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":16020,
+ "nexthop":"10.0.4.3",
+ "interface":"eth-rt3-1"
+ },
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":16020,
+ "nexthop":"10.0.5.3",
+ "interface":"eth-rt3-2"
+ }
+ ]
+ },
+ "30041":{
+ "inLabel":30041,
+ "installed":true,
+ "nexthops":[
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":3,
+ "installed":true,
+ "interface":"eth-rt4",
+ "backupIndex":[
+ 0,
+ 1
+ ]
+ }
+ ],
+ "backupNexthops":[
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":16021,
+ "interface":"eth-rt3-1"
+ },
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":16021,
+ "interface":"eth-rt3-2"
+ }
+ ]
+ },
+ "30060":{
+ "inLabel":30060,
+ "installed":true,
+ "nexthops":[
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":16060,
+ "installed":true,
+ "nexthop":"10.0.6.4",
+ "interface":"eth-rt4",
+ "backupIndex":[
+ 0,
+ 1
+ ]
+ }
+ ],
+ "backupNexthops":[
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":16020,
+ "nexthop":"10.0.4.3",
+ "interface":"eth-rt3-1"
+ },
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":16020,
+ "nexthop":"10.0.5.3",
+ "interface":"eth-rt3-2"
+ }
+ ]
+ },
+ "30061":{
+ "inLabel":30061,
+ "installed":true,
+ "nexthops":[
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":16061,
+ "installed":true,
+ "interface":"eth-rt4",
+ "backupIndex":[
+ 0,
+ 1
+ ]
+ }
+ ],
+ "backupNexthops":[
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":16021,
+ "interface":"eth-rt3-1"
+ },
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":16021,
+ "interface":"eth-rt3-2"
+ }
+ ]
+ }
+}
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt5/step10/show_mpls_table.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt5/step11/show_ip_route.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt5/step11/show_ipv6_route.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt5/step11/show_mpls_table.ref.diff
+++ /dev/null
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
deleted file mode 100644
index 3d21c0429..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt5/step12/show_ip_route.ref.diff
+++ /dev/null
@@ -1,151 +0,0 @@
---- 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
deleted file mode 100644
index 66a9dace8..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt5/step12/show_ipv6_route.ref.diff
+++ /dev/null
@@ -1,53 +0,0 @@
---- 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
deleted file mode 100644
index cdfc407f9..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt5/step12/show_mpls_table.ref.diff
+++ /dev/null
@@ -1,80 +0,0 @@
---- 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/rt6/step10/show_bfd_peer_down.ref b/tests/topotests/isis_tilfa_topo1/rt6/step10/show_bfd_peer_down.ref
new file mode 100644
index 000000000..2b573d077
--- /dev/null
+++ b/tests/topotests/isis_tilfa_topo1/rt6/step10/show_bfd_peer_down.ref
@@ -0,0 +1,6 @@
+{
+ "multihop":false,
+ "peer":"10.0.8.5",
+ "interface":"eth-rt5",
+ "status":"down"
+}
diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step10/show_bfd_peer_up.ref b/tests/topotests/isis_tilfa_topo1/rt6/step10/show_bfd_peer_up.ref
new file mode 100644
index 000000000..f536b36f1
--- /dev/null
+++ b/tests/topotests/isis_tilfa_topo1/rt6/step10/show_bfd_peer_up.ref
@@ -0,0 +1,6 @@
+{
+ "multihop":false,
+ "peer":"10.0.8.5",
+ "interface":"eth-rt5",
+ "status":"up"
+}
diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step10/show_ip_route.ref b/tests/topotests/isis_tilfa_topo1/rt6/step10/show_ip_route.ref
new file mode 100644
index 000000000..822e24b3b
--- /dev/null
+++ b/tests/topotests/isis_tilfa_topo1/rt6/step10/show_ip_route.ref
@@ -0,0 +1,354 @@
+{
+ "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":[
+ 30010
+ ]
+ }
+ ]
+ }
+ ],
+ "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":[
+ 30020
+ ]
+ }
+ ]
+ }
+ ],
+ "3.3.3.3\/32":[
+ {
+ "prefix":"3.3.3.3\/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":[
+ 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":[
+ 30040
+ ]
+ }
+ ]
+ }
+ ],
+ "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.7.4",
+ "afi":"ipv4",
+ "interfaceName":"eth-rt4",
+ "active":true,
+ "labels":[
+ 16500
+ ]
+ }
+ ]
+ }
+ ],
+ "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":30,
+ "installed":true,
+ "nexthops":[
+ {
+ "fib":true,
+ "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":30,
+ "installed":true,
+ "nexthops":[
+ {
+ "fib":true,
+ "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":30,
+ "nexthops":[
+ {
+ "fib":true,
+ "ip":"10.0.7.4",
+ "afi":"ipv4",
+ "interfaceName":"eth-rt4",
+ "active":true
+ }
+ ]
+ }
+ ]
+}
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt6/step10/show_ip_route.ref.diff
+++ /dev/null
diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step10/show_ipv6_route.ref b/tests/topotests/isis_tilfa_topo1/rt6/step10/show_ipv6_route.ref
new file mode 100644
index 000000000..c7e79852f
--- /dev/null
+++ b/tests/topotests/isis_tilfa_topo1/rt6/step10/show_ipv6_route.ref
@@ -0,0 +1,112 @@
+{
+ "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
+ ]
+ }
+ ]
+ }
+ ],
+ "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
+ ]
+ }
+ ]
+ }
+ ],
+ "2001:db8:1000::3\/128":[
+ {
+ "prefix":"2001:db8:1000::3\/128",
+ "protocol":"isis",
+ "selected":true,
+ "destSelected":true,
+ "distance":115,
+ "metric":40,
+ "installed":true,
+ "nexthops":[
+ {
+ "fib":true,
+ "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,
+ "labels":[
+ 3
+ ]
+ }
+ ]
+ }
+ ],
+ "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",
+ "active":true,
+ "labels":[
+ 16501
+ ]
+ }
+ ]
+ }
+ ]
+}
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt6/step10/show_ipv6_route.ref.diff
+++ /dev/null
diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step10/show_mpls_table.ref b/tests/topotests/isis_tilfa_topo1/rt6/step10/show_mpls_table.ref
new file mode 100644
index 000000000..6e4a783a6
--- /dev/null
+++ b/tests/topotests/isis_tilfa_topo1/rt6/step10/show_mpls_table.ref
@@ -0,0 +1,127 @@
+{
+ "16010":{
+ "inLabel":16010,
+ "installed":true,
+ "nexthops":[
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":16010,
+ "installed":true,
+ "nexthop":"10.0.7.4",
+ "interface":"eth-rt4"
+ }
+ ]
+ },
+ "16011":{
+ "inLabel":16011,
+ "installed":true,
+ "nexthops":[
+ {
+ "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",
+ "interface":"eth-rt4"
+ }
+ ]
+ },
+ "16021":{
+ "inLabel":16021,
+ "installed":true,
+ "nexthops":[
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":16021,
+ "installed":true,
+ "interface":"eth-rt4"
+ }
+ ]
+ },
+ "16030":{
+ "inLabel":16030,
+ "installed":true,
+ "nexthops":[
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":16030,
+ "installed":true,
+ "nexthop":"10.0.7.4",
+ "interface":"eth-rt4"
+ }
+ ]
+ },
+ "16031":{
+ "inLabel":16031,
+ "installed":true,
+ "nexthops":[
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":16031,
+ "installed":true,
+ "interface":"eth-rt4"
+ }
+ ]
+ },
+ "16040":{
+ "inLabel":16040,
+ "installed":true,
+ "nexthops":[
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":3,
+ "installed":true,
+ "nexthop":"10.0.7.4",
+ "interface":"eth-rt4"
+ }
+ ]
+ },
+ "16041":{
+ "inLabel":16041,
+ "installed":true,
+ "nexthops":[
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":3,
+ "installed":true,
+ "interface":"eth-rt4"
+ }
+ ]
+ },
+ "16500":{
+ "inLabel":16500,
+ "installed":true,
+ "nexthops":[
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":16500,
+ "installed":true,
+ "nexthop":"10.0.7.4",
+ "interface":"eth-rt4"
+ }
+ ]
+ },
+ "16501":{
+ "inLabel":16501,
+ "installed":true,
+ "nexthops":[
+ {
+ "type":"SR (IS-IS)",
+ "outLabel":16501,
+ "installed":true,
+ "interface":"eth-rt4"
+ }
+ ]
+ }
+}
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
deleted file mode 100644
index e69de29bb..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt6/step10/show_mpls_table.ref.diff
+++ /dev/null
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
deleted file mode 100644
index e477e87d1..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt6/step11/show_ip_route.ref.diff
+++ /dev/null
@@ -1,125 +0,0 @@
---- 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
deleted file mode 100644
index 12e0b591d..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt6/step11/show_ipv6_route.ref.diff
+++ /dev/null
@@ -1,56 +0,0 @@
---- 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
deleted file mode 100644
index 387dcca3f..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt6/step11/show_mpls_table.ref.diff
+++ /dev/null
@@ -1,106 +0,0 @@
---- 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
deleted file mode 100644
index 1086b6e70..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt6/step12/show_ip_route.ref.diff
+++ /dev/null
@@ -1,153 +0,0 @@
---- 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
deleted file mode 100644
index 571c66fb6..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt6/step12/show_ipv6_route.ref.diff
+++ /dev/null
@@ -1,66 +0,0 @@
---- 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
deleted file mode 100644
index 18322f18a..000000000
--- a/tests/topotests/isis_tilfa_topo1/rt6/step12/show_mpls_table.ref.diff
+++ /dev/null
@@ -1,78 +0,0 @@
---- 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/zebra.conf b/tests/topotests/isis_tilfa_topo1/rt6/zebra.conf
index 94fed46cc..c76599623 100644
--- a/tests/topotests/isis_tilfa_topo1/rt6/zebra.conf
+++ b/tests/topotests/isis_tilfa_topo1/rt6/zebra.conf
@@ -16,6 +16,7 @@ interface eth-rt4
!
interface eth-rt5
ip address 10.0.8.6/24
+ no link-detect
!
ip forwarding
!
diff --git a/tests/topotests/isis_tilfa_topo1/test_isis_tilfa_topo1.py b/tests/topotests/isis_tilfa_topo1/test_isis_tilfa_topo1.py
index e2bbf4588..2f5a5898a 100755
--- a/tests/topotests/isis_tilfa_topo1/test_isis_tilfa_topo1.py
+++ b/tests/topotests/isis_tilfa_topo1/test_isis_tilfa_topo1.py
@@ -131,7 +131,7 @@ def build_topo(tgen):
]
for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]:
outputs[rname] = {}
- for step in range(1, 12 + 1):
+ for step in range(1, 9 + 1):
outputs[rname][step] = {}
for file in files:
if step == 1:
@@ -158,6 +158,15 @@ def build_topo(tgen):
outputs[rname][step][file] = open(f_out.name).read()
f_in.close()
f_out.close()
+ # HACK: use full snapshots for step 10
+ step = 10
+ for rname in ["rt5", "rt6"]:
+ outputs[rname][step] = {}
+ for file in files:
+ if file == "show_yang_interface_isis_adjacencies.ref":
+ continue
+ filename = "{}/{}/step{}/{}".format(CWD, rname, step, file)
+ outputs[rname][step][file] = open(filename).read()
def setup_module(mod):
@@ -176,7 +185,7 @@ def setup_module(mod):
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))
+ TopoRouter.RD_BFD, os.path.join(CWD, "{}/bfdd.conf".format(rname))
)
tgen.start_router()
@@ -734,11 +743,17 @@ def test_mpls_lib_step9():
# Step 10
#
# Action(s):
-# - Setting spf-delay-ietf init-delay of 15s
+# - Enable ISIS BFD between rt5 and rt6
+# - Verify that the BFD session is up
+# - Configure an SPF delay-ietf initial delay of 60 seconds on both rt5 and rt6
+# - Shut down the eth-rt5 interface on rt6 from the switch side to test fast-reroute
#
# Expected changes:
-# - No routing table change
-# - At the end of test, SPF reacts to a failure in 15s
+# - Verify that the BFD session is down
+# - Routes should switch over to use alternate paths
+# - On rt5, the switchover should be triggered by the link down event
+# - On rt6, the switchover should be triggered by the BFD down event, since it has
+# link-detect disabled on the eth-rt5 interface
#
def test_rib_ipv4_step10():
logger.info("Test (step 10): verify IPv4 RIB")
@@ -748,353 +763,74 @@ def test_rib_ipv4_step10():
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")
+ logger.info("Enabling ISIS BFD between rt5 and rt6")
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"')
+ logger.info("Checking if the BFD session is up")
expect = (
- '[{"multihop":false,"peer":"10.0.8.5","interface":"eth-rt5","status":"up"}]'
+ '{"multihop":false,"peer":"10.0.8.5","interface":"eth-rt5","status":"up"}'
)
router_compare_json_output(
- rname,
- "show bfd peers json",
+ "rt6",
+ "show bfd peer 10.0.8.5 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"]
+ logger.info("Setting SPF delay-ietf initial delay to 60 seconds")
+ for rname in ["rt5", "rt6"]:
+ tgen.net[rname].cmd(
+ 'vtysh -c "conf t" -c "router isis 1" -c "spf-delay-ietf init-delay 60000 short-delay 0 long-delay 0 holddown 0 time-to-learn 0"'
)
+ logger.info(
+ "Shutting down rt5 interface to rt6 from the switch side to test fast-reroute"
+ )
+ tgen.net.cmd_raises("ip link set %s down" % tgen.net["s8"].intfs[0])
-#
-# 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"
-
+ logger.info("Verifying if the BFD session is down")
expect = (
- '[{"multihop":false,"peer":"10.0.8.5","interface":"eth-rt5","status":"down"}]'
+ '{"multihop":false,"peer":"10.0.8.5","interface":"eth-rt5","status":"down"}'
)
router_compare_json_output(
- rname,
- "show bfd peers json",
+ "rt6",
+ "show bfd peer 10.0.8.5 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"]:
+ for rname in ["rt5", "rt6"]:
router_compare_json_output(
- rname,
- "show ip route isis json",
- outputs[rname][12]["show_ip_route.ref"],
+ rname, "show ip route isis json", outputs[rname][10]["show_ip_route.ref"]
)
-def test_rib_ipv6_step15():
- logger.info("Test (step 15): verify IPv6 RIB")
+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"]:
+ for rname in ["rt5", "rt6"]:
router_compare_json_output(
rname,
"show ipv6 route isis json",
- outputs[rname][12]["show_ipv6_route.ref"],
+ outputs[rname][10]["show_ipv6_route.ref"],
)
-def test_mpls_lib_step15():
- logger.info("Test (step 15): verify MPLS LIB")
+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"]:
+ for rname in ["rt5", "rt6"]:
router_compare_json_output(
- rname,
- "show mpls table json",
- outputs[rname][12]["show_mpls_table.ref"],
+ rname, "show mpls table json", outputs[rname][10]["show_mpls_table.ref"]
)