mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-05 06:34:44 +00:00
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 <louis.scalbert@6wind.com>
This commit is contained in:
parent
d526476184
commit
bac0d1e606
@ -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
|
||||
- ]
|
||||
}
|
||||
]
|
||||
}
|
@ -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
|
||||
- ]
|
||||
}
|
||||
]
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
||||
]
|
@ -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
|
||||
]
|
||||
}
|
||||
]
|
@ -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
|
||||
- ]
|
||||
- }
|
||||
]
|
||||
}
|
||||
]
|
@ -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"
|
||||
}
|
||||
]
|
@ -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
|
||||
}
|
||||
]
|
||||
}
|
@ -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
|
||||
- ]
|
||||
- }
|
||||
]
|
||||
}
|
||||
]
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
@ -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
|
||||
}
|
||||
]
|
@ -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":[
|
@ -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"
|
||||
}
|
||||
]
|
@ -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",
|
@ -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":[
|
@ -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"
|
||||
}
|
||||
]
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
@ -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
|
||||
- ]
|
||||
- }
|
||||
]
|
||||
}
|
||||
],
|
@ -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"
|
||||
}
|
||||
]
|
||||
},
|
@ -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."
|
||||
|
Loading…
Reference in New Issue
Block a user