From 5c4e963e4023e7b69ea7ac24fef6a70d4a9134ae Mon Sep 17 00:00:00 2001 From: Christian Franke Date: Sat, 24 Mar 2018 13:51:40 +0100 Subject: [PATCH] ospf6-topo1: make ip-route comparison more robust Signed-off-by: Christian Franke --- .../topotests/ospf6-topo1/r1/ip_6_address.ref | 26 ++++++++--------- .../topotests/ospf6-topo1/r2/ip_6_address.ref | 26 ++++++++--------- .../topotests/ospf6-topo1/r3/ip_6_address.ref | 28 +++++++++---------- .../topotests/ospf6-topo1/r4/ip_6_address.ref | 26 ++++++++--------- .../topotests/ospf6-topo1/test_ospf6_topo1.py | 5 ++-- 5 files changed, 56 insertions(+), 55 deletions(-) diff --git a/tests/topotests/ospf6-topo1/r1/ip_6_address.ref b/tests/topotests/ospf6-topo1/r1/ip_6_address.ref index e0600a5ba1..b16d7ae5fa 100644 --- a/tests/topotests/ospf6-topo1/r1/ip_6_address.ref +++ b/tests/topotests/ospf6-topo1/r1/ip_6_address.ref @@ -1,13 +1,13 @@ -fc00:1:1:1::/64 dev r1-stubnet proto XXXX metric 256 pref medium -fc00:2:2:2::/64 via fe80::__(r2-sw5)__ dev r1-sw5 proto XXXX metric 20 pref medium -fc00:3:3:3::/64 via fe80::__(r3-sw5)__ dev r1-sw5 proto XXXX metric 20 pref medium -fc00:4:4:4::/64 via fe80::__(r3-sw5)__ dev r1-sw5 proto XXXX metric 20 pref medium -fc00:a:a:a::/64 dev r1-sw5 proto XXXX metric 256 pref medium -fc00:b:b:b::/64 via fe80::__(r3-sw5)__ dev r1-sw5 proto XXXX metric 20 pref medium -fc00:1111:1111:1111::/64 via fc00:1:1:1::1234 dev r1-stubnet proto XXXX metric 20 pref medium -fc00:2222:2222:2222::/64 via fe80::__(r2-sw5)__ dev r1-sw5 proto XXXX metric 20 pref medium -fc00:3333:3333:3333::/64 via fe80::__(r3-sw5)__ dev r1-sw5 proto XXXX metric 20 pref medium -fc00:4444:4444:4444::/64 via fe80::__(r3-sw5)__ dev r1-sw5 proto XXXX metric 20 pref medium -unreachable fe80::/64 dev lo proto XXXX metric 256 error -101 pref medium -fe80::/64 dev r1-stubnet proto XXXX metric 256 pref medium -fe80::/64 dev r1-sw5 proto XXXX metric 256 pref medium +fc00:1111:1111:1111::/64 via fc00:1:1:1::1234 dev r1-stubnet proto XXXX metric 20 pref medium +fc00:1:1:1::/64 dev r1-stubnet proto XXXX metric 256 pref medium +fc00:2222:2222:2222::/64 via fe80::__(r2-sw5)__ dev r1-sw5 proto XXXX metric 20 pref medium +fc00:2:2:2::/64 via fe80::__(r2-sw5)__ dev r1-sw5 proto XXXX metric 20 pref medium +fc00:3333:3333:3333::/64 via fe80::__(r3-sw5)__ dev r1-sw5 proto XXXX metric 20 pref medium +fc00:3:3:3::/64 via fe80::__(r3-sw5)__ dev r1-sw5 proto XXXX metric 20 pref medium +fc00:4444:4444:4444::/64 via fe80::__(r3-sw5)__ dev r1-sw5 proto XXXX metric 20 pref medium +fc00:4:4:4::/64 via fe80::__(r3-sw5)__ dev r1-sw5 proto XXXX metric 20 pref medium +fc00:a:a:a::/64 dev r1-sw5 proto XXXX metric 256 pref medium +fc00:b:b:b::/64 via fe80::__(r3-sw5)__ dev r1-sw5 proto XXXX metric 20 pref medium +fe80::/64 dev r1-stubnet proto XXXX metric 256 pref medium +fe80::/64 dev r1-sw5 proto XXXX metric 256 pref medium +unreachable fe80::/64 dev lo proto XXXX metric 256 error -101 pref medium diff --git a/tests/topotests/ospf6-topo1/r2/ip_6_address.ref b/tests/topotests/ospf6-topo1/r2/ip_6_address.ref index 24bc071d12..0671ef3cf8 100644 --- a/tests/topotests/ospf6-topo1/r2/ip_6_address.ref +++ b/tests/topotests/ospf6-topo1/r2/ip_6_address.ref @@ -1,13 +1,13 @@ -fc00:1:1:1::/64 via fe80::__(r1-sw5)__ dev r2-sw5 proto XXXX metric 20 pref medium -fc00:2:2:2::/64 dev r2-stubnet proto XXXX metric 256 pref medium -fc00:3:3:3::/64 via fe80::__(r3-sw5)__ dev r2-sw5 proto XXXX metric 20 pref medium -fc00:4:4:4::/64 via fe80::__(r3-sw5)__ dev r2-sw5 proto XXXX metric 20 pref medium -fc00:a:a:a::/64 dev r2-sw5 proto XXXX metric 256 pref medium -fc00:b:b:b::/64 via fe80::__(r3-sw5)__ dev r2-sw5 proto XXXX metric 20 pref medium -fc00:1111:1111:1111::/64 via fe80::__(r1-sw5)__ dev r2-sw5 proto XXXX metric 20 pref medium -fc00:2222:2222:2222::/64 via fc00:2:2:2::1234 dev r2-stubnet proto XXXX metric 20 pref medium -fc00:3333:3333:3333::/64 via fe80::__(r3-sw5)__ dev r2-sw5 proto XXXX metric 20 pref medium -fc00:4444:4444:4444::/64 via fe80::__(r3-sw5)__ dev r2-sw5 proto XXXX metric 20 pref medium -unreachable fe80::/64 dev lo proto XXXX metric 256 error -101 pref medium -fe80::/64 dev r2-stubnet proto XXXX metric 256 pref medium -fe80::/64 dev r2-sw5 proto XXXX metric 256 pref medium +fc00:1111:1111:1111::/64 via fe80::__(r1-sw5)__ dev r2-sw5 proto XXXX metric 20 pref medium +fc00:1:1:1::/64 via fe80::__(r1-sw5)__ dev r2-sw5 proto XXXX metric 20 pref medium +fc00:2222:2222:2222::/64 via fc00:2:2:2::1234 dev r2-stubnet proto XXXX metric 20 pref medium +fc00:2:2:2::/64 dev r2-stubnet proto XXXX metric 256 pref medium +fc00:3333:3333:3333::/64 via fe80::__(r3-sw5)__ dev r2-sw5 proto XXXX metric 20 pref medium +fc00:3:3:3::/64 via fe80::__(r3-sw5)__ dev r2-sw5 proto XXXX metric 20 pref medium +fc00:4444:4444:4444::/64 via fe80::__(r3-sw5)__ dev r2-sw5 proto XXXX metric 20 pref medium +fc00:4:4:4::/64 via fe80::__(r3-sw5)__ dev r2-sw5 proto XXXX metric 20 pref medium +fc00:a:a:a::/64 dev r2-sw5 proto XXXX metric 256 pref medium +fc00:b:b:b::/64 via fe80::__(r3-sw5)__ dev r2-sw5 proto XXXX metric 20 pref medium +fe80::/64 dev r2-stubnet proto XXXX metric 256 pref medium +fe80::/64 dev r2-sw5 proto XXXX metric 256 pref medium +unreachable fe80::/64 dev lo proto XXXX metric 256 error -101 pref medium diff --git a/tests/topotests/ospf6-topo1/r3/ip_6_address.ref b/tests/topotests/ospf6-topo1/r3/ip_6_address.ref index eda7c4fc9b..5448349f68 100644 --- a/tests/topotests/ospf6-topo1/r3/ip_6_address.ref +++ b/tests/topotests/ospf6-topo1/r3/ip_6_address.ref @@ -1,14 +1,14 @@ -fc00:1:1:1::/64 via fe80::__(r1-sw5)__ dev r3-sw5 proto XXXX metric 20 pref medium -fc00:2:2:2::/64 via fe80::__(r2-sw5)__ dev r3-sw5 proto XXXX metric 20 pref medium -fc00:3:3:3::/64 dev r3-stubnet proto XXXX metric 256 pref medium -fc00:4:4:4::/64 via fe80::__(r4-sw6)__ dev r3-sw6 proto XXXX metric 20 pref medium -fc00:a:a:a::/64 dev r3-sw5 proto XXXX metric 256 pref medium -fc00:b:b:b::/64 dev r3-sw6 proto XXXX metric 256 pref medium -fc00:1111:1111:1111::/64 via fe80::__(r1-sw5)__ dev r3-sw5 proto XXXX metric 20 pref medium -fc00:2222:2222:2222::/64 via fe80::__(r2-sw5)__ dev r3-sw5 proto XXXX metric 20 pref medium -fc00:3333:3333:3333::/64 via fc00:3:3:3::1234 dev r3-stubnet proto XXXX metric 20 pref medium -fc00:4444:4444:4444::/64 via fe80::__(r4-sw6)__ dev r3-sw6 proto XXXX metric 20 pref medium -unreachable fe80::/64 dev lo proto XXXX metric 256 error -101 pref medium -fe80::/64 dev r3-stubnet proto XXXX metric 256 pref medium -fe80::/64 dev r3-sw5 proto XXXX metric 256 pref medium -fe80::/64 dev r3-sw6 proto XXXX metric 256 pref medium +fc00:1111:1111:1111::/64 via fe80::__(r1-sw5)__ dev r3-sw5 proto XXXX metric 20 pref medium +fc00:1:1:1::/64 via fe80::__(r1-sw5)__ dev r3-sw5 proto XXXX metric 20 pref medium +fc00:2222:2222:2222::/64 via fe80::__(r2-sw5)__ dev r3-sw5 proto XXXX metric 20 pref medium +fc00:2:2:2::/64 via fe80::__(r2-sw5)__ dev r3-sw5 proto XXXX metric 20 pref medium +fc00:3333:3333:3333::/64 via fc00:3:3:3::1234 dev r3-stubnet proto XXXX metric 20 pref medium +fc00:3:3:3::/64 dev r3-stubnet proto XXXX metric 256 pref medium +fc00:4444:4444:4444::/64 via fe80::__(r4-sw6)__ dev r3-sw6 proto XXXX metric 20 pref medium +fc00:4:4:4::/64 via fe80::__(r4-sw6)__ dev r3-sw6 proto XXXX metric 20 pref medium +fc00:a:a:a::/64 dev r3-sw5 proto XXXX metric 256 pref medium +fc00:b:b:b::/64 dev r3-sw6 proto XXXX metric 256 pref medium +fe80::/64 dev r3-stubnet proto XXXX metric 256 pref medium +fe80::/64 dev r3-sw5 proto XXXX metric 256 pref medium +fe80::/64 dev r3-sw6 proto XXXX metric 256 pref medium +unreachable fe80::/64 dev lo proto XXXX metric 256 error -101 pref medium diff --git a/tests/topotests/ospf6-topo1/r4/ip_6_address.ref b/tests/topotests/ospf6-topo1/r4/ip_6_address.ref index a9c597756d..cb1a2239e3 100644 --- a/tests/topotests/ospf6-topo1/r4/ip_6_address.ref +++ b/tests/topotests/ospf6-topo1/r4/ip_6_address.ref @@ -1,13 +1,13 @@ -fc00:1:1:1::/64 via fe80::__(r3-sw6)__ dev r4-sw6 proto XXXX metric 20 pref medium -fc00:2:2:2::/64 via fe80::__(r3-sw6)__ dev r4-sw6 proto XXXX metric 20 pref medium -fc00:3:3:3::/64 via fe80::__(r3-sw6)__ dev r4-sw6 proto XXXX metric 20 pref medium -fc00:4:4:4::/64 dev r4-stubnet proto XXXX metric 256 pref medium -fc00:a:a:a::/64 via fe80::__(r3-sw6)__ dev r4-sw6 proto XXXX metric 20 pref medium -fc00:b:b:b::/64 dev r4-sw6 proto XXXX metric 256 pref medium -fc00:1111:1111:1111::/64 via fe80::__(r3-sw6)__ dev r4-sw6 proto XXXX metric 20 pref medium -fc00:2222:2222:2222::/64 via fe80::__(r3-sw6)__ dev r4-sw6 proto XXXX metric 20 pref medium -fc00:3333:3333:3333::/64 via fe80::__(r3-sw6)__ dev r4-sw6 proto XXXX metric 20 pref medium -fc00:4444:4444:4444::/64 via fc00:4:4:4::1234 dev r4-stubnet proto XXXX metric 20 pref medium -unreachable fe80::/64 dev lo proto XXXX metric 256 error -101 pref medium -fe80::/64 dev r4-stubnet proto XXXX metric 256 pref medium -fe80::/64 dev r4-sw6 proto XXXX metric 256 pref medium +fc00:1111:1111:1111::/64 via fe80::__(r3-sw6)__ dev r4-sw6 proto XXXX metric 20 pref medium +fc00:1:1:1::/64 via fe80::__(r3-sw6)__ dev r4-sw6 proto XXXX metric 20 pref medium +fc00:2222:2222:2222::/64 via fe80::__(r3-sw6)__ dev r4-sw6 proto XXXX metric 20 pref medium +fc00:2:2:2::/64 via fe80::__(r3-sw6)__ dev r4-sw6 proto XXXX metric 20 pref medium +fc00:3333:3333:3333::/64 via fe80::__(r3-sw6)__ dev r4-sw6 proto XXXX metric 20 pref medium +fc00:3:3:3::/64 via fe80::__(r3-sw6)__ dev r4-sw6 proto XXXX metric 20 pref medium +fc00:4444:4444:4444::/64 via fc00:4:4:4::1234 dev r4-stubnet proto XXXX metric 20 pref medium +fc00:4:4:4::/64 dev r4-stubnet proto XXXX metric 256 pref medium +fc00:a:a:a::/64 via fe80::__(r3-sw6)__ dev r4-sw6 proto XXXX metric 20 pref medium +fc00:b:b:b::/64 dev r4-sw6 proto XXXX metric 256 pref medium +fe80::/64 dev r4-stubnet proto XXXX metric 256 pref medium +fe80::/64 dev r4-sw6 proto XXXX metric 256 pref medium +unreachable fe80::/64 dev lo proto XXXX metric 256 error -101 pref medium diff --git a/tests/topotests/ospf6-topo1/test_ospf6_topo1.py b/tests/topotests/ospf6-topo1/test_ospf6_topo1.py index fd65699e7f..59a899ac6b 100755 --- a/tests/topotests/ospf6-topo1/test_ospf6_topo1.py +++ b/tests/topotests/ospf6-topo1/test_ospf6_topo1.py @@ -332,16 +332,17 @@ def test_linux_ipv6_kernel_routingTable(): for ll in linklocals: actual = actual.replace(ll[1], "fe80::__(%s)__" % ll[0]) # Mask out protocol name or number - actual = re.sub(r"[ ]+proto [0-9a-z]+ ", " proto XXXX ", actual) + actual = re.sub(r"[ ]+proto [0-9a-z]+ +", " proto XXXX ", actual) # Remove ff00::/8 routes (seen on some kernels - not from FRR) actual = re.sub(r'ff00::/8.*', '', actual) # Strip empty lines actual = actual.lstrip() actual = actual.rstrip() + actual = re.sub(r' +', ' ', actual) # Fix newlines (make them all the same) - actual = ('\n'.join(actual.splitlines())).splitlines(1) + actual = ('\n'.join(sorted(actual.splitlines()))).splitlines(1) # Print Actual table # print("Router r%s table" % i) -- 2.39.5