]> git.puffer.fish Git - mirror/frr.git/commitdiff
ospf6-topo1: Don't compare link-local routes
authorChristian Franke <chris@opensourcerouting.org>
Thu, 18 Oct 2018 12:16:16 +0000 (14:16 +0200)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 28 Nov 2018 01:22:14 +0000 (20:22 -0500)
Topotests would fail with errors like these:

    AssertionError: Linux Kernel IPv6 Routing Table verification failed for router r1:
      --- actual OSPFv3 IPv6 routing table
      +++ expected OSPFv3 IPv6 routing table
      @@ -8,6 +8,6 @@
       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 lo proto XXXX metric 256 pref medium
       fe80::/64 dev r1-stubnet proto XXXX metric 256 pref medium
      -fe80::/64 dev r1-sw5 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

Resolve this by not comparing link-local routes.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
tests/topotests/ospf6-topo1/r1/ip_6_address.ref
tests/topotests/ospf6-topo1/r2/ip_6_address.ref
tests/topotests/ospf6-topo1/r3/ip_6_address.ref
tests/topotests/ospf6-topo1/r4/ip_6_address.ref
tests/topotests/ospf6-topo1/test_ospf6_topo1.py

index b16d7ae5fa858793de91bb96aff2317cafcfc30c..8c48f223818309160bdaead96c0b891aeb6f2b90 100644 (file)
@@ -8,6 +8,3 @@ fc00:4444:4444:4444::/64 via fe80::__(r3-sw5)__ dev r1-sw5 proto XXXX metric 20
 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
index 0671ef3cf88c68add53cfd7bfe730b9629cda889..edb6c864bedef5de080f17f5ac93f627cc60adfe 100644 (file)
@@ -8,6 +8,3 @@ fc00:4444:4444:4444::/64 via fe80::__(r3-sw5)__ dev r2-sw5 proto XXXX metric 20
 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
index 5448349f6898fd9b2c486f69898075b0d15af6b7..1a3a4ea86ffc5cb60edf2ce8f954a59a0e522624 100644 (file)
@@ -8,7 +8,3 @@ fc00:4444:4444:4444::/64 via fe80::__(r4-sw6)__ dev r3-sw6 proto XXXX metric 20
 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
index cb1a2239e33f343e107f44d580dcdf777a88f541..cb3b745de5d7580940b2113e61074fbc4beaf4c1 100644 (file)
@@ -8,6 +8,3 @@ fc00:4444:4444:4444::/64 via fc00:4:4:4::1234 dev r4-stubnet proto XXXX metric 2
 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
index f226f8b258c075925e98a04ba7d5840d21d4016c..5da04b64496dc22de666b37227b8f875d8d3da1b 100755 (executable)
@@ -345,8 +345,13 @@ def test_linux_ipv6_kernel_routingTable():
             actual = actual.rstrip()
             actual = re.sub(r'  +', ' ', actual)
 
-            # Fix newlines (make them all the same)
-            actual = ('\n'.join(sorted(actual.splitlines()))).splitlines(1)
+            filtered_lines = []
+            for line in sorted(actual.splitlines()):
+                if line.startswith('fe80::/64 ') \
+                        or line.startswith('unreachable fe80::/64 '):
+                    continue
+                filtered_lines.append(line)
+            actual = '\n'.join(filtered_lines).splitlines(1)
 
             # Print Actual table
             # print("Router r%s table" % i)