mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-29 23:09:34 +00:00
tests: rework isis_tilfa_topo1 to fix timing issues
In this topotest, steps 10-15 were added to test the IS-IS switchover functionality. In short, two cases were tested: switchover after a link down event and switchover after a BFD down event. Both cases were tested in sequence on the same router, rt6. This involved the following steps: - Setting the SPF delay timer to 15 seconds - Shutting down the eth-rt5 interface from the switch side - Testing the post-switchover RIB and LIB (triggered by the link down event) - Testing the post-SPF RIB and LIB - Bringing the eth-rt5 interface back up - Configuring a BFD session between rt6 and rt5 - Shutting down the eth-rt5 interface from the switch side once again - Testing the post-switchover RIB and LIB (triggered by the BFD down event) - Testing the post-SPF RIB and LIB Since the time window to test the post-switchover RIB and LIB was too narrow (10 seconds), these tests were having sporadic failures. To resolve this problem, we can simplify the switchover test as follows: - Setting the SPF delay timer to 60 seconds (not 15) - Disabling "link-detect" on rt6's eth-rt5 interface - Shutting down the eth-rt5 interface from the switch side - On rt6, testing the post-switchover RIB and LIB (triggered by the BFD down event) - On rt5, testing the post-switchover RIB and LIB (triggered by the link down event) Notice how we can test both post-link-down and post-BFD-down switchover cases simultaneously by having different "link-detect" configurations on rt5 and rt6. Additionally, by using a larger SPF delay timer, the time window to test the post-switchover RIB and LIB is much larger and less prone to sporadic failures. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
This commit is contained in:
parent
19c3e0eca6
commit
04655c5f74
@ -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
|
|
||||||
- ]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -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
|
|
||||||
- ]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -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"
|
|
||||||
}
|
|
@ -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"
|
|
||||||
}
|
|
||||||
]
|
|
@ -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
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
@ -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
|
|
||||||
- ]
|
|
||||||
- }
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
@ -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"
|
|
||||||
}
|
|
||||||
]
|
|
@ -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
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -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
|
|
||||||
- ]
|
|
||||||
- }
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
@ -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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
482
tests/topotests/isis_tilfa_topo1/rt5/step10/show_ip_route.ref
Normal file
482
tests/topotests/isis_tilfa_topo1/rt5/step10/show_ip_route.ref
Normal file
@ -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
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
229
tests/topotests/isis_tilfa_topo1/rt5/step10/show_ipv6_route.ref
Normal file
229
tests/topotests/isis_tilfa_topo1/rt5/step10/show_ipv6_route.ref
Normal file
@ -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
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
301
tests/topotests/isis_tilfa_topo1/rt5/step10/show_mpls_table.ref
Normal file
301
tests/topotests/isis_tilfa_topo1/rt5/step10/show_mpls_table.ref
Normal file
@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
@ -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
|
|
||||||
}
|
|
||||||
]
|
|
@ -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":[
|
|
@ -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"
|
|
||||||
}
|
|
||||||
]
|
|
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"multihop":false,
|
||||||
|
"peer":"10.0.8.5",
|
||||||
|
"interface":"eth-rt5",
|
||||||
|
"status":"down"
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"multihop":false,
|
||||||
|
"peer":"10.0.8.5",
|
||||||
|
"interface":"eth-rt5",
|
||||||
|
"status":"up"
|
||||||
|
}
|
354
tests/topotests/isis_tilfa_topo1/rt6/step10/show_ip_route.ref
Normal file
354
tests/topotests/isis_tilfa_topo1/rt6/step10/show_ip_route.ref
Normal file
@ -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
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
112
tests/topotests/isis_tilfa_topo1/rt6/step10/show_ipv6_route.ref
Normal file
112
tests/topotests/isis_tilfa_topo1/rt6/step10/show_ipv6_route.ref
Normal file
@ -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
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
127
tests/topotests/isis_tilfa_topo1/rt6/step10/show_mpls_table.ref
Normal file
127
tests/topotests/isis_tilfa_topo1/rt6/step10/show_mpls_table.ref
Normal file
@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
@ -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",
|
|
@ -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":[
|
|
@ -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"
|
|
||||||
}
|
|
||||||
]
|
|
@ -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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -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
|
|
||||||
- ]
|
|
||||||
- }
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
@ -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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
@ -16,6 +16,7 @@ interface eth-rt4
|
|||||||
!
|
!
|
||||||
interface eth-rt5
|
interface eth-rt5
|
||||||
ip address 10.0.8.6/24
|
ip address 10.0.8.6/24
|
||||||
|
no link-detect
|
||||||
!
|
!
|
||||||
ip forwarding
|
ip forwarding
|
||||||
!
|
!
|
||||||
|
@ -131,7 +131,7 @@ def build_topo(tgen):
|
|||||||
]
|
]
|
||||||
for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]:
|
for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]:
|
||||||
outputs[rname] = {}
|
outputs[rname] = {}
|
||||||
for step in range(1, 12 + 1):
|
for step in range(1, 9 + 1):
|
||||||
outputs[rname][step] = {}
|
outputs[rname][step] = {}
|
||||||
for file in files:
|
for file in files:
|
||||||
if step == 1:
|
if step == 1:
|
||||||
@ -158,6 +158,15 @@ def build_topo(tgen):
|
|||||||
outputs[rname][step][file] = open(f_out.name).read()
|
outputs[rname][step][file] = open(f_out.name).read()
|
||||||
f_in.close()
|
f_in.close()
|
||||||
f_out.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):
|
def setup_module(mod):
|
||||||
@ -176,7 +185,7 @@ def setup_module(mod):
|
|||||||
TopoRouter.RD_ISIS, os.path.join(CWD, "{}/isisd.conf".format(rname))
|
TopoRouter.RD_ISIS, os.path.join(CWD, "{}/isisd.conf".format(rname))
|
||||||
)
|
)
|
||||||
router.load_config(
|
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()
|
tgen.start_router()
|
||||||
@ -734,11 +743,17 @@ def test_mpls_lib_step9():
|
|||||||
# Step 10
|
# Step 10
|
||||||
#
|
#
|
||||||
# Action(s):
|
# 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:
|
# Expected changes:
|
||||||
# - No routing table change
|
# - Verify that the BFD session is down
|
||||||
# - At the end of test, SPF reacts to a failure in 15s
|
# - 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():
|
def test_rib_ipv4_step10():
|
||||||
logger.info("Test (step 10): verify IPv4 RIB")
|
logger.info("Test (step 10): verify IPv4 RIB")
|
||||||
@ -748,12 +763,42 @@ def test_rib_ipv4_step10():
|
|||||||
if tgen.routers_have_failure():
|
if tgen.routers_have_failure():
|
||||||
pytest.skip(tgen.errors)
|
pytest.skip(tgen.errors)
|
||||||
|
|
||||||
logger.info("Setting spf-delay-ietf init-delay of 15s")
|
logger.info("Enabling ISIS BFD between rt5 and rt6")
|
||||||
tgen.net["rt6"].cmd(
|
tgen.net["rt5"].cmd('vtysh -c "conf t" -c "int eth-rt6" -c "isis bfd"')
|
||||||
'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"'
|
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"}'
|
||||||
|
)
|
||||||
|
router_compare_json_output(
|
||||||
|
"rt6",
|
||||||
|
"show bfd peer 10.0.8.5 json",
|
||||||
|
expect,
|
||||||
)
|
)
|
||||||
|
|
||||||
for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]:
|
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])
|
||||||
|
|
||||||
|
logger.info("Verifying if the BFD session is down")
|
||||||
|
expect = (
|
||||||
|
'{"multihop":false,"peer":"10.0.8.5","interface":"eth-rt5","status":"down"}'
|
||||||
|
)
|
||||||
|
router_compare_json_output(
|
||||||
|
"rt6",
|
||||||
|
"show bfd peer 10.0.8.5 json",
|
||||||
|
expect,
|
||||||
|
)
|
||||||
|
|
||||||
|
for rname in ["rt5", "rt6"]:
|
||||||
router_compare_json_output(
|
router_compare_json_output(
|
||||||
rname, "show ip route isis json", outputs[rname][10]["show_ip_route.ref"]
|
rname, "show ip route isis json", outputs[rname][10]["show_ip_route.ref"]
|
||||||
)
|
)
|
||||||
@ -767,7 +812,7 @@ def test_rib_ipv6_step10():
|
|||||||
if tgen.routers_have_failure():
|
if tgen.routers_have_failure():
|
||||||
pytest.skip(tgen.errors)
|
pytest.skip(tgen.errors)
|
||||||
|
|
||||||
for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]:
|
for rname in ["rt5", "rt6"]:
|
||||||
router_compare_json_output(
|
router_compare_json_output(
|
||||||
rname,
|
rname,
|
||||||
"show ipv6 route isis json",
|
"show ipv6 route isis json",
|
||||||
@ -783,321 +828,12 @@ def test_mpls_lib_step10():
|
|||||||
if tgen.routers_have_failure():
|
if tgen.routers_have_failure():
|
||||||
pytest.skip(tgen.errors)
|
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"]:
|
for rname in ["rt5", "rt6"]:
|
||||||
conf_file = os.path.join(CWD, "{}/bfdd.conf".format(rname))
|
|
||||||
tgen.net[rname].cmd("vtysh -f {}".format(conf_file))
|
|
||||||
|
|
||||||
expect = (
|
|
||||||
'[{"multihop":false,"peer":"10.0.8.5","interface":"eth-rt5","status":"up"}]'
|
|
||||||
)
|
|
||||||
router_compare_json_output("rt6", "show bfd peers json", expect)
|
|
||||||
|
|
||||||
# Unset link detection. We want zebra to consider linkdow as operationaly up
|
|
||||||
# in order that BFD triggers LFA instead of the interface down
|
|
||||||
|
|
||||||
# reset spf-interval
|
|
||||||
logger.info("Set spf-interval to 15s")
|
|
||||||
tgen.net["rt6"].cmd(
|
|
||||||
'vtysh -c "conf t" -c "router isis 1" -c "spf-delay-ietf init-delay 15000 short-delay 0 long-delay 0 holddown 0 time-to-learn 0"'
|
|
||||||
)
|
|
||||||
|
|
||||||
for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]:
|
|
||||||
router_compare_json_output(
|
|
||||||
rname, "show ip route isis json", outputs[rname][10]["show_ip_route.ref"]
|
|
||||||
)
|
|
||||||
|
|
||||||
logger.info("Set ISIS BFD")
|
|
||||||
tgen.net["rt5"].cmd('vtysh -c "conf t" -c "int eth-rt6" -c "isis bfd"')
|
|
||||||
tgen.net["rt6"].cmd('vtysh -c "conf t" -c "int eth-rt5" -c "isis bfd"')
|
|
||||||
|
|
||||||
expect = (
|
|
||||||
'[{"multihop":false,"peer":"10.0.8.5","interface":"eth-rt5","status":"up"}]'
|
|
||||||
)
|
|
||||||
router_compare_json_output(
|
|
||||||
rname,
|
|
||||||
"show bfd peers json",
|
|
||||||
expect,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def test_rib_ipv6_step13():
|
|
||||||
logger.info("Test (step 13): verify IPv6 RIB")
|
|
||||||
tgen = get_topogen()
|
|
||||||
|
|
||||||
# Skip if previous fatal error condition is raised
|
|
||||||
if tgen.routers_have_failure():
|
|
||||||
pytest.skip(tgen.errors)
|
|
||||||
|
|
||||||
for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]:
|
|
||||||
router_compare_json_output(
|
|
||||||
rname,
|
|
||||||
"show ipv6 route isis json",
|
|
||||||
outputs[rname][10]["show_ipv6_route.ref"],
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def test_mpls_lib_step13():
|
|
||||||
logger.info("Test (step 13): verify MPLS LIB")
|
|
||||||
tgen = get_topogen()
|
|
||||||
|
|
||||||
# Skip if previous fatal error condition is raised
|
|
||||||
if tgen.routers_have_failure():
|
|
||||||
pytest.skip(tgen.errors)
|
|
||||||
|
|
||||||
for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]:
|
|
||||||
router_compare_json_output(
|
router_compare_json_output(
|
||||||
rname, "show mpls table json", outputs[rname][10]["show_mpls_table.ref"]
|
rname, "show mpls table json", outputs[rname][10]["show_mpls_table.ref"]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Step 14
|
|
||||||
#
|
|
||||||
# Action(s):
|
|
||||||
# - drop traffic between rt5 and rt6 by shutting down the bridge between
|
|
||||||
# the routers. Interfaces on rt5 and rt6 stay up.
|
|
||||||
#
|
|
||||||
# Expected changes:
|
|
||||||
# - Route switchover of routes via eth-rt5
|
|
||||||
#
|
|
||||||
def test_rt6_step14():
|
|
||||||
logger.info("Test (step 14): verify IPv4/6 RIB and MPLS table")
|
|
||||||
tgen = get_topogen()
|
|
||||||
|
|
||||||
# Skip if previous fatal error condition is raised
|
|
||||||
if tgen.routers_have_failure():
|
|
||||||
pytest.skip(tgen.errors)
|
|
||||||
|
|
||||||
logger.info("Drop traffic between rt5 and rt6")
|
|
||||||
tgen.net.cmd_raises("ip link set s8 down")
|
|
||||||
|
|
||||||
rname = "rt6"
|
|
||||||
|
|
||||||
expect = (
|
|
||||||
'[{"multihop":false,"peer":"10.0.8.5","interface":"eth-rt5","status":"down"}]'
|
|
||||||
)
|
|
||||||
router_compare_json_output(
|
|
||||||
rname,
|
|
||||||
"show bfd peers json",
|
|
||||||
expect,
|
|
||||||
count=40,
|
|
||||||
wait=0.5,
|
|
||||||
)
|
|
||||||
|
|
||||||
router_compare_json_output(
|
|
||||||
rname,
|
|
||||||
"show ip route isis json",
|
|
||||||
outputs[rname][11]["show_ip_route.ref"],
|
|
||||||
count=20,
|
|
||||||
)
|
|
||||||
router_compare_json_output(
|
|
||||||
rname,
|
|
||||||
"show ipv6 route isis json",
|
|
||||||
outputs[rname][11]["show_ipv6_route.ref"],
|
|
||||||
count=20,
|
|
||||||
wait=2,
|
|
||||||
)
|
|
||||||
router_compare_json_output(
|
|
||||||
rname,
|
|
||||||
"show mpls table json",
|
|
||||||
outputs[rname][11]["show_mpls_table.ref"],
|
|
||||||
count=20,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Step 15
|
|
||||||
#
|
|
||||||
# Action(s): wait for the convergence and SPF computation on rt6
|
|
||||||
#
|
|
||||||
# Expected changes:
|
|
||||||
# - convergence of IPv4/6 RIB and MPLS table
|
|
||||||
#
|
|
||||||
def test_rib_ipv4_step15():
|
|
||||||
logger.info("Test (step 15): verify IPv4 RIB")
|
|
||||||
tgen = get_topogen()
|
|
||||||
|
|
||||||
# Skip if previous fatal error condition is raised
|
|
||||||
if tgen.routers_have_failure():
|
|
||||||
pytest.skip(tgen.errors)
|
|
||||||
|
|
||||||
logger.info("Check SPF convergence")
|
|
||||||
for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]:
|
|
||||||
router_compare_json_output(
|
|
||||||
rname,
|
|
||||||
"show ip route isis json",
|
|
||||||
outputs[rname][12]["show_ip_route.ref"],
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def test_rib_ipv6_step15():
|
|
||||||
logger.info("Test (step 15): verify IPv6 RIB")
|
|
||||||
tgen = get_topogen()
|
|
||||||
|
|
||||||
# Skip if previous fatal error condition is raised
|
|
||||||
if tgen.routers_have_failure():
|
|
||||||
pytest.skip(tgen.errors)
|
|
||||||
|
|
||||||
for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]:
|
|
||||||
router_compare_json_output(
|
|
||||||
rname,
|
|
||||||
"show ipv6 route isis json",
|
|
||||||
outputs[rname][12]["show_ipv6_route.ref"],
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def test_mpls_lib_step15():
|
|
||||||
logger.info("Test (step 15): verify MPLS LIB")
|
|
||||||
tgen = get_topogen()
|
|
||||||
|
|
||||||
# Skip if previous fatal error condition is raised
|
|
||||||
if tgen.routers_have_failure():
|
|
||||||
pytest.skip(tgen.errors)
|
|
||||||
|
|
||||||
for rname in ["rt1", "rt2", "rt3", "rt4", "rt5", "rt6"]:
|
|
||||||
router_compare_json_output(
|
|
||||||
rname,
|
|
||||||
"show mpls table json",
|
|
||||||
outputs[rname][12]["show_mpls_table.ref"],
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
# Memory leak test template
|
# Memory leak test template
|
||||||
def test_memory_leak():
|
def test_memory_leak():
|
||||||
"Run the memory leak test and report results."
|
"Run the memory leak test and report results."
|
||||||
|
Loading…
Reference in New Issue
Block a user