]> git.puffer.fish Git - matthieu/frr.git/commitdiff
tests: rework isis_tilfa_topo1 to fix timing issues
authorRenato Westphal <renato@opensourcerouting.org>
Fri, 7 Jun 2024 13:41:38 +0000 (10:41 -0300)
committerRenato Westphal <renato@opensourcerouting.org>
Mon, 10 Jun 2024 15:28:01 +0000 (12:28 -0300)
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>
64 files changed:
tests/topotests/isis_tilfa_topo1/rt1/step10/show_ip_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt1/step10/show_ipv6_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt1/step10/show_mpls_table.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt1/step11/show_ip_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt1/step11/show_ipv6_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt1/step11/show_mpls_table.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt1/step12/show_ip_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt1/step12/show_ipv6_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt1/step12/show_mpls_table.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt2/step10/show_ip_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt2/step10/show_ipv6_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt2/step10/show_mpls_table.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt2/step11/show_ip_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt2/step11/show_ipv6_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt2/step11/show_mpls_table.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt2/step12/show_ip_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt2/step12/show_ipv6_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt2/step12/show_mpls_table.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt3/step10/show_ip_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt3/step10/show_ipv6_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt3/step10/show_mpls_table.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt3/step11/show_ip_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt3/step11/show_ipv6_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt3/step11/show_mpls_table.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt3/step12/show_ip_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt3/step12/show_ipv6_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt3/step12/show_mpls_table.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt4/step10/show_ip_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt4/step10/show_ipv6_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt4/step10/show_mpls_table.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt4/step11/show_ip_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt4/step11/show_ipv6_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt4/step11/show_mpls_table.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt4/step12/show_ip_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt4/step12/show_ipv6_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt4/step12/show_mpls_table.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt5/step10/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis_tilfa_topo1/rt5/step10/show_ip_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt5/step10/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis_tilfa_topo1/rt5/step10/show_ipv6_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt5/step10/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis_tilfa_topo1/rt5/step10/show_mpls_table.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt5/step11/show_ip_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt5/step11/show_ipv6_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt5/step11/show_mpls_table.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt5/step12/show_ip_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt5/step12/show_ipv6_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt5/step12/show_mpls_table.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt6/step10/show_bfd_peer_down.ref [new file with mode: 0644]
tests/topotests/isis_tilfa_topo1/rt6/step10/show_bfd_peer_up.ref [new file with mode: 0644]
tests/topotests/isis_tilfa_topo1/rt6/step10/show_ip_route.ref [new file with mode: 0644]
tests/topotests/isis_tilfa_topo1/rt6/step10/show_ip_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt6/step10/show_ipv6_route.ref [new file with mode: 0644]
tests/topotests/isis_tilfa_topo1/rt6/step10/show_ipv6_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt6/step10/show_mpls_table.ref [new file with mode: 0644]
tests/topotests/isis_tilfa_topo1/rt6/step10/show_mpls_table.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt6/step11/show_ip_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt6/step11/show_ipv6_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt6/step11/show_mpls_table.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt6/step12/show_ip_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt6/step12/show_ipv6_route.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt6/step12/show_mpls_table.ref.diff [deleted file]
tests/topotests/isis_tilfa_topo1/rt6/zebra.conf
tests/topotests/isis_tilfa_topo1/test_isis_tilfa_topo1.py

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 (file)
index e69de29..0000000
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 (file)
index e69de29..0000000
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 (file)
index e69de29..0000000
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 (file)
index e69de29..0000000
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 (file)
index e69de29..0000000
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 (file)
index e69de29..0000000
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 (file)
index a8d6e6c..0000000
+++ /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 (file)
index 637c59f..0000000
+++ /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 (file)
index e110bf4..0000000
+++ /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 (file)
index e69de29..0000000
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 (file)
index e69de29..0000000
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 (file)
index e69de29..0000000
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 (file)
index e69de29..0000000
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 (file)
index e69de29..0000000
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 (file)
index e69de29..0000000
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 (file)
index e69de29..0000000
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 (file)
index e69de29..0000000
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 (file)
index 84a3644..0000000
+++ /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 (file)
index e69de29..0000000
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 (file)
index e69de29..0000000
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 (file)
index e69de29..0000000
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 (file)
index e69de29..0000000
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 (file)
index e69de29..0000000
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 (file)
index e69de29..0000000
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 (file)
index 8695cf8..0000000
+++ /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 (file)
index 661d0fe..0000000
+++ /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 (file)
index 30941b3..0000000
+++ /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 (file)
index e69de29..0000000
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 (file)
index e69de29..0000000
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 (file)
index e69de29..0000000
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 (file)
index e69de29..0000000
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 (file)
index e69de29..0000000
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 (file)
index e69de29..0000000
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 (file)
index 2645c59..0000000
+++ /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 (file)
index 37e3185..0000000
+++ /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 (file)
index 186291a..0000000
+++ /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 (file)
index 0000000..fcaf5e6
--- /dev/null
@@ -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 (file)
index e69de29..0000000
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 (file)
index 0000000..d193e1e
--- /dev/null
@@ -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 (file)
index e69de29..0000000
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 (file)
index 0000000..8a339e6
--- /dev/null
@@ -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 (file)
index e69de29..0000000
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 (file)
index e69de29..0000000
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 (file)
index e69de29..0000000
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 (file)
index e69de29..0000000
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 (file)
index 3d21c04..0000000
+++ /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 (file)
index 66a9dac..0000000
+++ /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 (file)
index cdfc407..0000000
+++ /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 (file)
index 0000000..2b573d0
--- /dev/null
@@ -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 (file)
index 0000000..f536b36
--- /dev/null
@@ -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 (file)
index 0000000..822e24b
--- /dev/null
@@ -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 (file)
index e69de29..0000000
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 (file)
index 0000000..c7e7985
--- /dev/null
@@ -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 (file)
index e69de29..0000000
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 (file)
index 0000000..6e4a783
--- /dev/null
@@ -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 (file)
index e69de29..0000000
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 (file)
index e477e87..0000000
+++ /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 (file)
index 12e0b59..0000000
+++ /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 (file)
index 387dcca..0000000
+++ /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 (file)
index 1086b6e..0000000
+++ /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 (file)
index 571c66f..0000000
+++ /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 (file)
index 18322f1..0000000
+++ /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
index 94fed46cca1900fdd75614685c667eae03223634..c765996237ec9c0d010b0c55815d23e19e880fc2 100644 (file)
@@ -16,6 +16,7 @@ interface eth-rt4
 !
 interface eth-rt5
  ip address 10.0.8.6/24
+ no link-detect
 !
 ip forwarding
 !
index e2bbf4588c391b445739ffedbe552fca50dc936f..2f5a5898afddcb954457a2f1b3c20173aa282141 100755 (executable)
@@ -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"]
         )