From bac0d1e6068ae46502bd5b348765faea554ebf72 Mon Sep 17 00:00:00 2001 From: Louis Scalbert Date: Tue, 12 Apr 2022 15:20:53 +0200 Subject: [PATCH] topotests: isis-tilfa add a switchover test after linkdown Add a switchover test that consists in shutting down an interface. Check that the switchover between primary and backup happens before the SPF re-computation. Signed-off-by: Louis Scalbert --- .../rt1/step10/show_ip_route.ref.diff | 0 .../rt1/step10/show_ipv6_route.ref.diff | 0 .../rt1/step10/show_mpls_table.ref.diff | 0 .../rt1/step11/show_ip_route.ref.diff | 0 .../rt1/step11/show_ipv6_route.ref.diff | 0 .../rt1/step11/show_mpls_table.ref.diff | 0 .../rt1/step12/show_ip_route.ref.diff | 19 ++ .../rt1/step12/show_ipv6_route.ref.diff | 18 ++ .../rt1/step12/show_mpls_table.ref.diff | 28 +++ .../rt2/step10/show_ip_route.ref.diff | 0 .../rt2/step10/show_ipv6_route.ref.diff | 0 .../rt2/step10/show_mpls_table.ref.diff | 0 .../rt2/step11/show_ip_route.ref.diff | 0 .../rt2/step11/show_ipv6_route.ref.diff | 0 .../rt2/step11/show_mpls_table.ref.diff | 0 .../rt2/step12/show_ip_route.ref.diff | 0 .../rt2/step12/show_ipv6_route.ref.diff | 0 .../rt2/step12/show_mpls_table.ref.diff | 20 +++ .../rt3/step10/show_ip_route.ref.diff | 0 .../rt3/step10/show_ipv6_route.ref.diff | 0 .../rt3/step10/show_mpls_table.ref.diff | 0 .../rt3/step11/show_ip_route.ref.diff | 0 .../rt3/step11/show_ipv6_route.ref.diff | 0 .../rt3/step11/show_mpls_table.ref.diff | 0 .../rt3/step12/show_ip_route.ref.diff | 58 ++++++ .../rt3/step12/show_ipv6_route.ref.diff | 45 +++++ .../rt3/step12/show_mpls_table.ref.diff | 60 +++++++ .../rt4/step10/show_ip_route.ref.diff | 0 .../rt4/step10/show_ipv6_route.ref.diff | 0 .../rt4/step10/show_mpls_table.ref.diff | 0 .../rt4/step11/show_ip_route.ref.diff | 0 .../rt4/step11/show_ipv6_route.ref.diff | 0 .../rt4/step11/show_mpls_table.ref.diff | 0 .../rt4/step12/show_ip_route.ref.diff | 144 +++++++++++++++ .../rt4/step12/show_ipv6_route.ref.diff | 50 ++++++ .../rt4/step12/show_mpls_table.ref.diff | 78 ++++++++ .../rt5/step10/show_ip_route.ref.diff | 0 .../rt5/step10/show_ipv6_route.ref.diff | 0 .../rt5/step10/show_mpls_table.ref.diff | 0 .../rt5/step11/show_ip_route.ref.diff | 0 .../rt5/step11/show_ipv6_route.ref.diff | 0 .../rt5/step11/show_mpls_table.ref.diff | 0 .../rt5/step12/show_ip_route.ref.diff | 151 ++++++++++++++++ .../rt5/step12/show_ipv6_route.ref.diff | 53 ++++++ .../rt5/step12/show_mpls_table.ref.diff | 80 +++++++++ .../rt6/step10/show_ip_route.ref.diff | 0 .../rt6/step10/show_ipv6_route.ref.diff | 0 .../rt6/step10/show_mpls_table.ref.diff | 0 .../rt6/step11/show_ip_route.ref.diff | 125 +++++++++++++ .../rt6/step11/show_ipv6_route.ref.diff | 56 ++++++ .../rt6/step11/show_mpls_table.ref.diff | 106 +++++++++++ .../rt6/step12/show_ip_route.ref.diff | 153 ++++++++++++++++ .../rt6/step12/show_ipv6_route.ref.diff | 66 +++++++ .../rt6/step12/show_mpls_table.ref.diff | 78 ++++++++ .../isis_tilfa_topo1/test_isis_tilfa_topo1.py | 167 +++++++++++++++++- 55 files changed, 1552 insertions(+), 3 deletions(-) create mode 100644 tests/topotests/isis_tilfa_topo1/rt1/step10/show_ip_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt1/step10/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt1/step10/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt1/step11/show_ip_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt1/step11/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt1/step11/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt1/step12/show_ip_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt1/step12/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt1/step12/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt2/step10/show_ip_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt2/step10/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt2/step10/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt2/step11/show_ip_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt2/step11/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt2/step11/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt2/step12/show_ip_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt2/step12/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt2/step12/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt3/step10/show_ip_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt3/step10/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt3/step10/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt3/step11/show_ip_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt3/step11/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt3/step11/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt3/step12/show_ip_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt3/step12/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt3/step12/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt4/step10/show_ip_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt4/step10/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt4/step10/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt4/step11/show_ip_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt4/step11/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt4/step11/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt4/step12/show_ip_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt4/step12/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt4/step12/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt5/step10/show_ip_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt5/step10/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt5/step10/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt5/step11/show_ip_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt5/step11/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt5/step11/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt5/step12/show_ip_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt5/step12/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt5/step12/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt6/step10/show_ip_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt6/step10/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt6/step10/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt6/step11/show_ip_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt6/step11/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt6/step11/show_mpls_table.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt6/step12/show_ip_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt6/step12/show_ipv6_route.ref.diff create mode 100644 tests/topotests/isis_tilfa_topo1/rt6/step12/show_mpls_table.ref.diff diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step10/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step10/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step10/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step10/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step10/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step10/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step11/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step11/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step11/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step11/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step11/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step11/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step12/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step12/show_ip_route.ref.diff new file mode 100644 index 0000000000..a8d6e6c65e --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step12/show_ip_route.ref.diff @@ -0,0 +1,19 @@ +--- a/rt1/step11/show_ip_route.ref ++++ b/rt1/step12/show_ip_route.ref +@@ -110,16 +110,6 @@ + "labels":[ + 16060 + ] +- }, +- { +- "fib":true, +- "ip":"10.0.1.3", +- "afi":"ipv4", +- "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16060 +- ] + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step12/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step12/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..637c59f6ef --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step12/show_ipv6_route.ref.diff @@ -0,0 +1,18 @@ +--- a/rt1/step11/show_ipv6_route.ref ++++ b/rt1/step12/show_ipv6_route.ref +@@ -105,15 +105,6 @@ + "labels":[ + 16061 + ] +- }, +- { +- "fib":true, +- "afi":"ipv6", +- "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16061 +- ] + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt1/step12/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt1/step12/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e110bf48eb --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt1/step12/show_mpls_table.ref.diff @@ -0,0 +1,28 @@ +--- a/rt1/step11/show_mpls_table.ref ++++ b/rt1/step12/show_mpls_table.ref +@@ -79,12 +79,6 @@ + "type":"SR (IS-IS)", + "outLabel":16060, + "installed":true, +- "nexthop":"10.0.1.3" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16060, +- "installed":true, + "nexthop":"10.0.1.2" + } + ] +@@ -96,12 +90,6 @@ + { + "type":"SR (IS-IS)", + "outLabel":16061, +- "installed":true, +- "interface":"eth-sw1" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":16061, + "installed":true, + "interface":"eth-sw1" + } diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step10/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step10/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step10/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step10/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step10/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step10/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step11/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step11/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step11/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step11/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step11/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step11/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step12/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step12/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step12/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step12/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt2/step12/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt2/step12/show_mpls_table.ref.diff new file mode 100644 index 0000000000..84a36442d3 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt2/step12/show_mpls_table.ref.diff @@ -0,0 +1,20 @@ +--- a/rt2/step11/show_mpls_table.ref ++++ b/rt2/step12/show_mpls_table.ref +@@ -199,7 +199,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16060, ++ "outLabel":16500, + "nexthop":"10.0.1.3" + } + ] +@@ -230,7 +230,7 @@ + "backupNexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":16061, ++ "outLabel":16501, + "interface":"eth-sw1" + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step10/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step10/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step10/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step10/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step10/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step10/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step11/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step11/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step11/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step11/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step11/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step11/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step12/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step12/show_ip_route.ref.diff new file mode 100644 index 0000000000..8695cf848f --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step12/show_ip_route.ref.diff @@ -0,0 +1,58 @@ +--- a/rt3/step11/show_ip_route.ref ++++ b/rt3/step12/show_ip_route.ref +@@ -198,44 +198,37 @@ + "selected":true, + "destSelected":true, + "distance":115, +- "metric":30, ++ "metric":40, + "installed":true, + "nexthops":[ + { + "fib":true, +- "ip":"10.0.4.5", ++ "ip":"10.0.1.2", + "afi":"ipv4", +- "interfaceName":"eth-rt5-1", ++ "interfaceName":"eth-sw1", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ +- 30060 ++ 16060 + ] + }, + { + "fib":true, +- "ip":"10.0.5.5", ++ "ip":"10.0.4.5", + "afi":"ipv4", +- "interfaceName":"eth-rt5-2", ++ "interfaceName":"eth-rt5-1", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 30060 + ] +- } +- ], +- "backupNexthops":[ ++ }, + { +- "ip":"10.0.1.2", ++ "fib":true, ++ "ip":"10.0.5.5", + "afi":"ipv4", +- "interfaceName":"eth-sw1", ++ "interfaceName":"eth-rt5-2", + "active":true, + "labels":[ +- 16060 ++ 30060 + ] + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step12/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step12/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..661d0fe75d --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step12/show_ipv6_route.ref.diff @@ -0,0 +1,45 @@ +--- a/rt3/step11/show_ipv6_route.ref ++++ b/rt3/step12/show_ipv6_route.ref +@@ -186,7 +186,7 @@ + "selected":true, + "destSelected":true, + "distance":115, +- "metric":30, ++ "metric":40, + "installed":true, + "nexthops":[ + { +@@ -194,9 +194,6 @@ + "afi":"ipv6", + "interfaceName":"eth-rt5-1", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 30061 + ] +@@ -206,23 +203,10 @@ + "afi":"ipv6", + "interfaceName":"eth-rt5-2", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 30061 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-sw1", +- "active":true, +- "labels":[ +- 16061 +- ] +- } + ] + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt3/step12/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt3/step12/show_mpls_table.ref.diff new file mode 100644 index 0000000000..30941b398b --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt3/step12/show_mpls_table.ref.diff @@ -0,0 +1,60 @@ +--- a/rt3/step11/show_mpls_table.ref ++++ b/rt3/step12/show_mpls_table.ref +@@ -165,27 +165,8 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":30060, +- "installed":true, +- "nexthop":"10.0.5.5", +- "backupIndex":[ +- 0 +- ] +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":30060, +- "installed":true, +- "nexthop":"10.0.4.5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", + "outLabel":16060, ++ "installed":true, + "nexthop":"10.0.1.2" + } + ] +@@ -196,27 +177,8 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":30061, +- "installed":true, +- "interface":"eth-rt5-2", +- "backupIndex":[ +- 0 +- ] +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":30061, +- "installed":true, +- "interface":"eth-rt5-1", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", + "outLabel":16061, ++ "installed":true, + "interface":"eth-sw1" + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step10/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step10/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step10/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step10/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step10/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step10/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step11/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step11/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step11/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step11/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step11/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step11/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step12/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step12/show_ip_route.ref.diff new file mode 100644 index 0000000000..2645c5945b --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step12/show_ip_route.ref.diff @@ -0,0 +1,144 @@ +--- a/rt4/step11/show_ip_route.ref ++++ b/rt4/step12/show_ip_route.ref +@@ -160,23 +160,13 @@ + "interfaceName":"eth-rt5", + "active":true, + "backupIndex":[ +- 0 ++ 0, ++ 1 + ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.7.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true, +- "labels":[ +- 16500 +- ] +- } + ] + } + ], +@@ -196,24 +186,10 @@ + "afi":"ipv4", + "interfaceName":"eth-rt6", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.6.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 30060 +- ] +- } + ] + } + ], +@@ -352,19 +328,12 @@ + "active":true, + "backupIndex":[ + 0, +- 1, +- 2 ++ 1 + ] + } + ], + "backupNexthops":[ + { +- "ip":"10.0.7.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true +- }, +- { + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", +@@ -397,19 +366,12 @@ + "active":true, + "backupIndex":[ + 0, +- 1, +- 2 ++ 1 + ] + } + ], + "backupNexthops":[ + { +- "ip":"10.0.7.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true +- }, +- { + "ip":"10.0.2.2", + "afi":"ipv4", + "interfaceName":"eth-rt2-1", +@@ -439,14 +401,6 @@ + 0 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.7.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true +- } + ] + } + ], +@@ -460,18 +414,7 @@ + { + "ip":"10.0.7.6", + "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.6.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true ++ "interfaceName":"eth-rt6" + } + ] + } +@@ -492,13 +435,6 @@ + "afi":"ipv4", + "interfaceName":"eth-rt5", + "active":true +- }, +- { +- "fib":true, +- "ip":"10.0.7.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step12/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step12/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..37e3185ae0 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step12/show_ipv6_route.ref.diff @@ -0,0 +1,50 @@ +--- a/rt4/step11/show_ipv6_route.ref ++++ b/rt4/step12/show_ipv6_route.ref +@@ -149,23 +149,10 @@ + "afi":"ipv6", + "interfaceName":"eth-rt5", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt6", +- "active":true, +- "labels":[ +- 16501 +- ] +- } + ] + } + ], +@@ -184,23 +171,10 @@ + "afi":"ipv6", + "interfaceName":"eth-rt6", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 30061 +- ] +- } + ] + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt4/step12/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt4/step12/show_mpls_table.ref.diff new file mode 100644 index 0000000000..186291adac --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt4/step12/show_mpls_table.ref.diff @@ -0,0 +1,78 @@ +--- a/rt4/step11/show_mpls_table.ref ++++ b/rt4/step12/show_mpls_table.ref +@@ -179,17 +179,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.7.6", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":30060, +- "nexthop":"10.0.6.5" ++ "nexthop":"10.0.7.6" + } + ] + }, +@@ -201,17 +191,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-rt6", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":30061, +- "interface":"eth-rt5" ++ "interface":"eth-rt6" + } + ] + }, +@@ -223,17 +203,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.6.5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16500, +- "nexthop":"10.0.7.6" ++ "nexthop":"10.0.6.5" + } + ] + }, +@@ -245,17 +215,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-rt5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16501, +- "interface":"eth-rt6" ++ "interface":"eth-rt5" + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step10/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step10/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step10/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step10/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step10/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step10/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step11/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step11/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step11/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step11/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step11/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step11/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step12/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step12/show_ip_route.ref.diff new file mode 100644 index 0000000000..3d21c04297 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step12/show_ip_route.ref.diff @@ -0,0 +1,151 @@ +--- a/rt5/step11/show_ip_route.ref ++++ b/rt5/step12/show_ip_route.ref +@@ -159,24 +159,10 @@ + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.8.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true, +- "labels":[ +- 16040 +- ] +- } + ] + } + ], +@@ -187,25 +173,11 @@ + "selected":true, + "destSelected":true, + "distance":115, +- "metric":20, ++ "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, +- "ip":"10.0.8.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 3 +- ] +- } +- ], +- "backupNexthops":[ +- { + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +@@ -276,19 +248,12 @@ + "active":true, + "backupIndex":[ + 0, +- 1, +- 2 ++ 1 + ] + } + ], + "backupNexthops":[ + { +- "ip":"10.0.8.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true +- }, +- { + "ip":"10.0.4.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-1", +@@ -321,19 +286,12 @@ + "active":true, + "backupIndex":[ + 0, +- 1, +- 2 ++ 1 + ] + } + ], + "backupNexthops":[ + { +- "ip":"10.0.8.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true +- }, +- { + "ip":"10.0.4.3", + "afi":"ipv4", + "interfaceName":"eth-rt3-1", +@@ -439,14 +397,6 @@ + 0 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.8.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true +- } + ] + } + ], +@@ -465,39 +415,6 @@ + "ip":"10.0.6.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +- "active":true +- }, +- { +- "fib":true, +- "ip":"10.0.8.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "active":true +- } +- ] +- } +- ], +- "10.0.8.0\/24":[ +- { +- "prefix":"10.0.8.0\/24", +- "protocol":"isis", +- "distance":115, +- "metric":20, +- "nexthops":[ +- { +- "ip":"10.0.8.6", +- "afi":"ipv4", +- "interfaceName":"eth-rt6", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.6.4", +- "afi":"ipv4", +- "interfaceName":"eth-rt4", + "active":true + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step12/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step12/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..66a9dace8b --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step12/show_ipv6_route.ref.diff @@ -0,0 +1,53 @@ +--- a/rt5/step11/show_ipv6_route.ref ++++ b/rt5/step12/show_ipv6_route.ref +@@ -149,23 +149,10 @@ + "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt6", +- "active":true, +- "labels":[ +- 16041 +- ] +- } + ] + } + ], +@@ -176,25 +163,12 @@ + "selected":true, + "destSelected":true, + "distance":115, +- "metric":20, ++ "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", +- "interfaceName":"eth-rt6", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 3 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ diff --git a/tests/topotests/isis_tilfa_topo1/rt5/step12/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt5/step12/show_mpls_table.ref.diff new file mode 100644 index 0000000000..cdfc407f93 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt5/step12/show_mpls_table.ref.diff @@ -0,0 +1,80 @@ +--- a/rt5/step11/show_mpls_table.ref ++++ b/rt5/step12/show_mpls_table.ref +@@ -179,17 +179,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.6.4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16040, +- "nexthop":"10.0.8.6" ++ "nexthop":"10.0.6.4" + } + ] + }, +@@ -201,17 +191,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-rt4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":16041, +- "interface":"eth-rt6" ++ "interface":"eth-rt4" + } + ] + }, +@@ -221,18 +201,8 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.8.6", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", + "outLabel":16060, ++ "installed":true, + "nexthop":"10.0.6.4" + } + ] +@@ -243,18 +213,8 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt6", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", + "outLabel":16061, ++ "installed":true, + "interface":"eth-rt4" + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step10/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step10/show_ip_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step10/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step10/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step10/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step10/show_mpls_table.ref.diff new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step11/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step11/show_ip_route.ref.diff new file mode 100644 index 0000000000..e477e87d1e --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step11/show_ip_route.ref.diff @@ -0,0 +1,125 @@ +--- a/rt6/step10/show_ip_route.ref ++++ b/rt6/step11/show_ip_route.ref +@@ -76,25 +76,11 @@ + "selected":true, + "destSelected":true, + "distance":115, +- "metric":30, ++ "metric":40, + "installed":true, + "nexthops":[ + { + "fib":true, +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 30030 +- ] +- } +- ], +- "backupNexthops":[ +- { + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +@@ -150,25 +136,11 @@ + "selected":true, + "destSelected":true, + "distance":115, +- "metric":20, ++ "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 3 +- ] +- } +- ], +- "backupNexthops":[ +- { + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +@@ -276,22 +248,11 @@ + "selected":true, + "destSelected":true, + "distance":115, +- "metric":20, ++ "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true, +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +@@ -307,22 +268,11 @@ + "selected":true, + "destSelected":true, + "distance":115, +- "metric":20, ++ "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true, +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +@@ -389,19 +339,9 @@ + "prefix":"10.0.8.0\/24", + "protocol":"isis", + "distance":115, +- "metric":20, ++ "metric":30, + "nexthops":[ + { +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step11/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step11/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..12e0b591d2 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step11/show_ipv6_route.ref.diff @@ -0,0 +1,56 @@ +--- a/rt6/step10/show_ipv6_route.ref ++++ b/rt6/step11/show_ipv6_route.ref +@@ -72,25 +72,12 @@ + "selected":true, + "destSelected":true, + "distance":115, +- "metric":30, ++ "metric":40, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", +- "interfaceName":"eth-rt5", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 30031 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ +@@ -142,25 +129,12 @@ + "selected":true, + "destSelected":true, + "distance":115, +- "metric":20, ++ "metric":30, + "installed":true, + "nexthops":[ + { + "fib":true, + "afi":"ipv6", +- "interfaceName":"eth-rt5", +- "active":true, +- "backupIndex":[ +- 0 +- ], +- "labels":[ +- 3 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, + "labels":[ diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step11/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step11/show_mpls_table.ref.diff new file mode 100644 index 0000000000..387dcca3fe --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step11/show_mpls_table.ref.diff @@ -0,0 +1,106 @@ +--- a/rt6/step10/show_mpls_table.ref ++++ b/rt6/step11/show_mpls_table.ref +@@ -8,12 +8,6 @@ + "outLabel":16010, + "installed":true, + "nexthop":"10.0.7.4" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":30010, +- "installed":true, +- "nexthop":"10.0.8.5" + } + ] + }, +@@ -26,12 +20,6 @@ + "outLabel":16011, + "installed":true, + "interface":"eth-rt4" +- }, +- { +- "type":"SR (IS-IS)", +- "outLabel":30011, +- "installed":true, +- "interface":"eth-rt5" + } + ] + }, +@@ -85,18 +73,8 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":30030, +- "installed":true, +- "nexthop":"10.0.8.5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", + "outLabel":16030, ++ "installed":true, + "nexthop":"10.0.7.4" + } + ] +@@ -107,17 +85,6 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":30031, +- "installed":true, +- "interface":"eth-rt5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", + "outLabel":16031, + "interface":"eth-rt4" + } +@@ -173,18 +140,8 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "nexthop":"10.0.8.5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", + "outLabel":16500, ++ "installed":true, + "nexthop":"10.0.7.4" + } + ] +@@ -195,18 +152,8 @@ + "nexthops":[ + { + "type":"SR (IS-IS)", +- "outLabel":3, +- "installed":true, +- "interface":"eth-rt5", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", + "outLabel":16501, ++ "installed":true, + "interface":"eth-rt4" + } + ] diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step12/show_ip_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step12/show_ip_route.ref.diff new file mode 100644 index 0000000000..1086b6e706 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step12/show_ip_route.ref.diff @@ -0,0 +1,153 @@ +--- a/rt6/step12/show_ip_route.ref ++++ b/rt6/step12/show_ip_route.ref +@@ -18,16 +18,6 @@ + "labels":[ + 16010 + ] +- }, +- { +- "fib":true, +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 30010 +- ] + } + ] + } +@@ -48,24 +38,10 @@ + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 16020 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 30020 +- ] +- } + ] + } + ], +@@ -108,24 +84,10 @@ + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 30040 +- ] +- } + ] + } + ], +@@ -168,13 +130,6 @@ + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true +- }, +- { +- "fib":true, +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true + } + ] + } +@@ -194,17 +149,6 @@ + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +- "active":true, +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", + "active":true + } + ] +@@ -225,17 +169,6 @@ + "ip":"10.0.7.4", + "afi":"ipv4", + "interfaceName":"eth-rt4", +- "active":true, +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", + "active":true + } + ] +@@ -297,13 +230,6 @@ + "afi":"ipv4", + "interfaceName":"eth-rt4", + "active":true +- }, +- { +- "fib":true, +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true + } + ] + } +@@ -318,18 +244,7 @@ + { + "ip":"10.0.7.4", + "afi":"ipv4", +- "interfaceName":"eth-rt4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "ip":"10.0.8.5", +- "afi":"ipv4", +- "interfaceName":"eth-rt5", +- "active":true ++ "interfaceName":"eth-rt4" + } + ] + } diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step12/show_ipv6_route.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step12/show_ipv6_route.ref.diff new file mode 100644 index 0000000000..571c66fb65 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step12/show_ipv6_route.ref.diff @@ -0,0 +1,66 @@ +--- a/rt6/step12/show_ipv6_route.ref ++++ b/rt6/step12/show_ipv6_route.ref +@@ -17,15 +17,6 @@ + "labels":[ + 16011 + ] +- }, +- { +- "fib":true, +- "afi":"ipv6", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 30011 +- ] + } + ] + } +@@ -45,23 +36,10 @@ + "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 16021 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 30021 +- ] +- } + ] + } + ], +@@ -102,23 +80,10 @@ + "afi":"ipv6", + "interfaceName":"eth-rt4", + "active":true, +- "backupIndex":[ +- 0 +- ], + "labels":[ + 3 + ] + } +- ], +- "backupNexthops":[ +- { +- "afi":"ipv6", +- "interfaceName":"eth-rt5", +- "active":true, +- "labels":[ +- 30041 +- ] +- } + ] + } + ], diff --git a/tests/topotests/isis_tilfa_topo1/rt6/step12/show_mpls_table.ref.diff b/tests/topotests/isis_tilfa_topo1/rt6/step12/show_mpls_table.ref.diff new file mode 100644 index 0000000000..18322f18a1 --- /dev/null +++ b/tests/topotests/isis_tilfa_topo1/rt6/step12/show_mpls_table.ref.diff @@ -0,0 +1,78 @@ +--- a/rt6/step12/show_mpls_table.ref ++++ b/rt6/step12/show_mpls_table.ref +@@ -31,17 +31,7 @@ + "type":"SR (IS-IS)", + "outLabel":16020, + "installed":true, +- "nexthop":"10.0.7.4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":30020, +- "nexthop":"10.0.8.5" ++ "nexthop":"10.0.7.4" + } + ] + }, +@@ -53,17 +43,7 @@ + "type":"SR (IS-IS)", + "outLabel":16021, + "installed":true, +- "interface":"eth-rt4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":30021, +- "interface":"eth-rt5" ++ "interface":"eth-rt4" + } + ] + }, +@@ -98,17 +78,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "nexthop":"10.0.7.4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":30040, +- "nexthop":"10.0.8.5" ++ "nexthop":"10.0.7.4" + } + ] + }, +@@ -120,17 +90,7 @@ + "type":"SR (IS-IS)", + "outLabel":3, + "installed":true, +- "interface":"eth-rt4", +- "backupIndex":[ +- 0 +- ] +- } +- ], +- "backupNexthops":[ +- { +- "type":"SR (IS-IS)", +- "outLabel":30041, +- "interface":"eth-rt5" ++ "interface":"eth-rt4" + } + ] + }, \ No newline at end of file diff --git a/tests/topotests/isis_tilfa_topo1/test_isis_tilfa_topo1.py b/tests/topotests/isis_tilfa_topo1/test_isis_tilfa_topo1.py index 07e91f1a48..171a36d3e7 100755 --- a/tests/topotests/isis_tilfa_topo1/test_isis_tilfa_topo1.py +++ b/tests/topotests/isis_tilfa_topo1/test_isis_tilfa_topo1.py @@ -144,7 +144,7 @@ def build_topo(tgen): ] for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: outputs[rname] = {} - for step in range(1, 9 + 1): + for step in range(1, 12 + 1): outputs[rname][step] = {} for file in files: if step == 1: @@ -200,7 +200,7 @@ def teardown_module(mod): tgen.stop_topology() -def router_compare_json_output(rname, command, reference): +def router_compare_json_output(rname, command, reference, count=120): "Compare router JSON output" logger.info('Comparing router "%s" "%s" output', rname, command) @@ -210,7 +210,7 @@ def router_compare_json_output(rname, command, reference): # Run test function until we get an result. Wait at most 60 seconds. test_func = partial(topotest.router_json_cmp, tgen.gears[rname], command, expected) - _, diff = topotest.run_and_expect(test_func, None, count=120, wait=0.5) + _, diff = topotest.run_and_expect(test_func, None, count=count, wait=0.5) assertmsg = '"{}" JSON output mismatches the expected result'.format(rname) assert diff is None, assertmsg @@ -740,6 +740,167 @@ def test_mpls_lib_step9(): ) +# +# Step 10 +# +# Action(s): +# - Setting spf-delay-ietf init-delay of 15s +# +# Expected changes: +# - No routing table change +# - At the end of test, SPF reacts to a failure in 15s +# +def test_rib_ipv4_step10(): + logger.info("Test (step 10): verify IPv4 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + logger.info("Setting spf-delay-ietf init-delay of 15s") + tgen.net["rt6"].cmd( + 'vtysh -c "conf t" -c "router isis 1" -c "spf-delay-ietf init-delay 15000 short-delay 0 long-delay 0 holddown 0 time-to-learn 0"' + ) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show ip route isis json", outputs[rname][10]["show_ip_route.ref"] + ) + + +def test_rib_ipv6_step10(): + logger.info("Test (step 10): verify IPv6 RIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, + "show ipv6 route isis json", + outputs[rname][10]["show_ipv6_route.ref"], + ) + + +def test_mpls_lib_step10(): + logger.info("Test (step 10): verify MPLS LIB") + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]: + router_compare_json_output( + rname, "show mpls table json", outputs[rname][10]["show_mpls_table.ref"] + ) + + +# +# Step 11 +# +# Action(s): +# - shut the eth-rt5 interface on rt6 +# +# Expected changes: +# - Route switchover of routes via eth-rt5 +# +def test_rt6_step11(): + logger.info( + "Test (step 11): Check IPv4/6 RIB and MPLS table after a LFA switchover" + ) + tgen = get_topogen() + + # Skip if previous fatal error condition is raised + if tgen.routers_have_failure(): + pytest.skip(tgen.errors) + + logger.info( + "Shut a rt6 interface to rt5 from the switch side and check fast-reroute" + ) + tgen.net.cmd_raises("ip link set %s down" % tgen.net["s8"].intfs[1]) + + rname = "rt6" + router_compare_json_output( + rname, + "show ip route isis json", + outputs[rname][11]["show_ip_route.ref"], + count=1, + ) + router_compare_json_output( + rname, + "show ipv6 route isis json", + outputs[rname][11]["show_ipv6_route.ref"], + count=1, + ) + router_compare_json_output( + rname, + "show mpls table json", + outputs[rname][11]["show_mpls_table.ref"], + count=1, + ) + + +# +# 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"], + ) + + # Memory leak test template def test_memory_leak(): "Run the memory leak test and report results." -- 2.39.5