]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
maria's test aggregator automagically adds default routes and dumps nexthops
authorMaria Matejka <mq@ucw.cz>
Wed, 27 Dec 2023 21:30:28 +0000 (22:30 +0100)
committerMaria Matejka <mq@ucw.cz>
Wed, 27 Dec 2023 21:30:28 +0000 (22:30 +0100)
mq-sketch/myagr.py

index dde2dcc2cac370312186d50e8a7cada0dce554c3..2c35196a236b613c93754749b50695c8cb27b4d3 100755 (executable)
@@ -140,22 +140,33 @@ t = IPTrie()
 p = input()
 data = p.split(" ")
 
+nexthops = set()
+
 try:
     t.add(AgrPointv6(data[0], data[1]))
+    nexthops.add(data[1])
     try:
         while p := input():
             data = p.split(" ")
             t.add(AgrPointv6(data[0], data[1]))
+            nexthops.add(data[1])
     except EOFError:
-        pass
+        if t.local is None:
+            t.add(AgrPointv6("::/0", "__auto_unreachable"))
+            nexthops.add("__auto_unreachable")
 except ipaddress.AddressValueError:
     t.add(AgrPointv4(data[0], data[1]))
+    nexthops.add(data[1])
     try:
         while p := input():
             data = p.split(" ")
             t.add(AgrPointv4(data[0], data[1]))
+            nexthops.add(data[1])
     except EOFError:
-        pass
+        if t.local is None:
+            t.add(AgrPointv4("0.0.0.0/0", "__auto_unreachable"))
+            nexthops.add("__auto_unreachable")
+
 
 # Dump
 print("Dump After Load")
@@ -168,3 +179,7 @@ tt = t.aggregate()
 ttt = tt.prune()
 print("Dump After Prune")
 print(ttt.dump())
+
+print("Nexthops known")
+for n in nexthops:
+    print(n)