I noticed that the default route problem started to happen when I reverted the RTF_PROTO2 patch. Running without the patch: no such problem. Of course, reverting the patch brings me back to the point where the FreeBSD node announces the mesh's routes as itself's again and basically breaks the whole mesh.
What follows is a bunch of paste of debug data that you asked on IRC. ======================================================================== With the PROTO2 patch reverted ======================================================================== I start with the RTF_PROTO2 patch reverted (ie. that we do install routes with the PROTO2 flag). This makes babel overwrite the default route. Here is the output of babeld -d1 when it installs the evil default route: My id 00:00:24:ff:fe:cc:93:46 seqno 59203 Neighbour fe80::21c:10ff:fe22:2ac dev vr2 reach f3f0 rxcost 96 txcost 256 chan -2. fd64:2c08:9fa7:1::1/128 metric 0 (exported) 172.16.0.1/32 metric 0 (exported) 192.168.2.1/32 metric 0 (exported) 192.168.0.1/32 metric 0 (exported) 2001:1928:1:9::/128 metric 0 (exported) fd64:2c08:9fa7::1/128 metric 0 (exported) 2001:1928:0:ffff::1b/128 metric 0 (exported) 192.168.100.3/32 metric 0 (exported) 72.0.72.144/32 metric 0 (exported) 0.0.0.0/0 metric 128 (exported) 66.96.31.6/32 metric 128 (exported) 192.168.0.0/24 metric 128 (exported) 192.168.2.0/24 metric 128 (exported) 192.168.100.0/24 metric 128 (exported) ::/4 metric 128 (exported) 2001:1928:0:ffff::1a/128 metric 128 (exported) 2001:1928:1:9::/64 metric 128 (exported) fd64:2c08:9fa7::/48 metric 128 (exported) 172.16.0.0/12 metric 384 refmetric 128 id 02:1c:10:ff:fe:22:02:ac seqno 62820 age 8 via vr2 neigh fe80::21c:10ff:fe22:2ac nexthop 172.16.1.1 (installed) 172.16.1.1/32 metric 256 refmetric 0 id 02:1c:10:ff:fe:22:02:ac seqno 62820 age 8 via vr2 neigh fe80::21c:10ff:fe22:2ac nexthop 172.16.1.1 (installed) 192.168.4.0/24 metric 384 refmetric 128 id 02:1c:10:ff:fe:22:02:ac seqno 62820 age 8 via vr2 neigh fe80::21c:10ff:fe22:2ac nexthop 172.16.1.1 (installed) 192.168.4.1/32 metric 256 refmetric 0 id 02:1c:10:ff:fe:22:02:ac seqno 62820 age 8 via vr2 neigh fe80::21c:10ff:fe22:2ac nexthop 172.16.1.1 (installed) fd64:2c08:9fa7:1::/64 metric 384 refmetric 128 id 02:1c:10:ff:fe:22:02:ac seqno 62820 age 8 via vr2 neigh fe80::21c:10ff:fe22:2ac (installed) fd64:2c08:9fa7:1::2/128 metric 256 refmetric 0 id 02:1c:10:ff:fe:22:02:ac seqno 62820 age 8 via vr2 neigh fe80::21c:10ff:fe22:2ac (installed) fd64:2c08:9fa7:2::/64 metric 384 refmetric 128 id 02:1c:10:ff:fe:22:02:ac seqno 62820 age 8 via vr2 neigh fe80::21c:10ff:fe22:2ac (installed) fd64:2c08:9fa7:2::1/128 metric 256 refmetric 0 id 02:1c:10:ff:fe:22:02:ac seqno 62820 age 8 via vr2 neigh fe80::21c:10ff:fe22:2ac (installed) Notice the absence of an actual "installed" default route. Here's netstat -rn: Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default 172.16.1.1 UG2 18 3124 vr2 66.96.31.6 link#9 UH 0 0 ng0 72.0.72.144 link#9 UHS 0 141 lo0 127.0.0.1 link#5 UH 0 49868 lo0 172.16.0.0/12 172.16.1.1 UG2 0 4 vr2 172.16.0.1 link#3 UHS 0 58 lo0 172.16.1.1 00:00:24:cc:93:46 UH2 2 67 vr2 192.168.0.0/24 link#6 U 3 230036029 bridge 192.168.0.1 link#6 UHS 0 63 lo0 192.168.2.0/24 link#4 U 0 13069574 vr3 192.168.2.1 link#4 UHS 0 2833 lo0 192.168.4.0/24 172.16.1.1 UG2 0 0 vr2 192.168.4.1 172.16.1.1 UGH2 0 0 vr2 192.168.100.0/24 link#10 U 0 22 tap0 192.168.100.3 link#10 UHS 0 0 lo0 Internet6: Destination Gateway Flags Netif Expire ::/96 ::1 UGRS lo0 => default 2001:1928:0:ffff::1a UGS gif0 ::1 fe80::21c:10ff:fe22:2ac%vr2 UGH2 vr2 ::ffff:0.0.0.0/96 ::1 UGRS lo0 2001:1928:0:ffff::1a 2001:1928:0:ffff::1b UH gif0 2001:1928:1:9:: link#6 UHS lo0 => 2001:1928:1:9::/64 link#6 U bridge0 fd64:2c08:9fa7::/48 link#3 U vr2 fd64:2c08:9fa7::1 link#6 UHS lo0 fd64:2c08:9fa7:1::/64 fe80::21c:10ff:fe22:2ac%vr2 UG2 vr2 fd64:2c08:9fa7:1::1 link#3 UHS lo0 fd64:2c08:9fa7:1::2 fe80::21c:10ff:fe22:2ac%vr2 UGH2 vr2 fd64:2c08:9fa7:2::/64 fe80::21c:10ff:fe22:2ac%vr2 UG2 vr2 fd64:2c08:9fa7:2::1 fe80::21c:10ff:fe22:2ac%vr2 UGH2 vr2 fe80::/10 ::1 UGRS lo0 fe80::%vr0/64 link#1 U vr0 fe80::200:24ff:fecc:9344%vr0 link#1 UHS lo0 fe80::%vr1/64 link#2 U vr1 fe80::200:24ff:fecc:9345%vr1 link#2 UHS lo0 fe80::%vr2/64 fe80::21c:10ff:fe22:2ac%vr2 UG2 vr2 fe80::200:24ff:fecc:9346%vr2 link#3 UHS lo0 fe80::%vr3/64 link#4 U vr3 fe80::200:24ff:fecc:9347%vr3 link#4 UHS lo0 fe80::%lo0/64 link#5 U lo0 fe80::1%lo0 link#5 UHS lo0 fe80::%bridge0/64 link#6 U bridge0 fe80::200:24ff:fecc:9347%bridge0 link#6 UHS lo0 fe80::%gif0/64 link#7 U gif0 fe80::200:24ff:fecc:9344%gif0 link#7 UHS lo0 fe80::%ng0/64 link#9 U ng0 fe80::200:24ff:fecc:9344%ng0 link#9 UHS lo0 fe80::%tap0/64 link#10 U tap0 fe80::2bd:f4ff:fe75:0%tap0 link#10 UHS lo0 ff01:1::/32 fe80::200:24ff:fecc:9344%vr0 U vr0 ff01:2::/32 fe80::200:24ff:fecc:9345%vr1 U vr1 ff01:3::/32 fe80::200:24ff:fecc:9346%vr2 U vr2 ff01:4::/32 fe80::200:24ff:fecc:9347%vr3 U vr3 ff01:5::/32 ::1 U lo0 ff01:6::/32 2001:1928:1:9:: U bridge0 ff01:7::/32 fe80::200:24ff:fecc:9344%gif0 U gif0 ff01:9::/32 fe80::200:24ff:fecc:9344%ng0 U ng0 ff01:a::/32 fe80::2bd:f4ff:fe75:0%tap0 U tap0 ff02::/16 ::1 UGRS lo0 ff02::%vr0/32 fe80::200:24ff:fecc:9344%vr0 U vr0 ff02::%vr1/32 fe80::200:24ff:fecc:9345%vr1 U vr1 ff02::%vr2/32 fe80::200:24ff:fecc:9346%vr2 U vr2 ff02::%vr3/32 fe80::200:24ff:fecc:9347%vr3 U vr3 ff02::%lo0/32 ::1 U lo0 ff02::%bridge0/32 2001:1928:1:9:: U bridge0 ff02::%gif0/32 fe80::200:24ff:fecc:9344%gif0 U gif0 ff02::%ng0/32 fe80::200:24ff:fecc:9344%ng0 U ng0 ff02::%tap0/32 fe80::2bd:f4ff:fe75:0%tap0 U tap0 All this is with the RTF_PROTO2 patch reverted. ======================================================================== With the RTF_PROTO2 patch intact ======================================================================== With the RTF_PROTO2 patch (ie. that babel doesn't install routes with the PROTO2 flag), i start announcing the routes myself, so the -d1 output is: My id 00:00:24:ff:fe:cc:93:46 seqno 57904 Neighbour fe80::21c:10ff:fe22:2ac dev vr2 reach ffff rxcost 96 txcost 256 chan -2. fd64:2c08:9fa7:1::1/128 metric 0 (exported) 172.16.0.1/32 metric 0 (exported) 192.168.2.1/32 metric 0 (exported) 192.168.0.1/32 metric 0 (exported) 2001:1928:1:9::/128 metric 0 (exported) fd64:2c08:9fa7::1/128 metric 0 (exported) 2001:1928:0:ffff::1b/128 metric 0 (exported) 192.168.100.3/32 metric 0 (exported) 72.0.72.144/32 metric 0 (exported) 0.0.0.0/0 metric 128 (exported) 66.96.31.6/32 metric 128 (exported) 192.168.0.0/24 metric 128 (exported) 192.168.2.0/24 metric 128 (exported) 192.168.100.0/24 metric 128 (exported) ::/4 metric 128 (exported) 2001:1928:0:ffff::1a/128 metric 128 (exported) 2001:1928:1:9::/64 metric 128 (exported) fd64:2c08:9fa7::/48 metric 128 (exported) 172.16.0.0/12 metric 128 (exported) 172.16.1.1/32 metric 128 (exported) 192.168.4.0/24 metric 128 (exported) 192.168.4.1/32 metric 128 (exported) fd64:2c08:9fa7:1::/64 metric 128 (exported) fd64:2c08:9fa7:1::2/128 metric 128 (exported) fd64:2c08:9fa7:2::/64 metric 128 (exported) fd64:2c08:9fa7:2::1/128 metric 128 (exported) 172.16.0.0/12 metric 384 refmetric 128 id 02:1c:10:ff:fe:22:02:ac seqno 62820 age 10 via vr2 neigh fe80::21c:10ff:fe22:2ac nexthop 172.16.1.1 (feasible) 172.16.1.1/32 metric 256 refmetric 0 id 02:1c:10:ff:fe:22:02:ac seqno 62820 age 10 via vr2 neigh fe80::21c:10ff:fe22:2ac nexthop 172.16.1.1 (feasible) 192.168.4.0/24 metric 384 refmetric 128 id 02:1c:10:ff:fe:22:02:ac seqno 62820 age 10 via vr2 neigh fe80::21c:10ff:fe22:2ac nexthop 172.16.1.1 (feasible) 192.168.4.1/32 metric 256 refmetric 0 id 02:1c:10:ff:fe:22:02:ac seqno 62820 age 10 via vr2 neigh fe80::21c:10ff:fe22:2ac nexthop 172.16.1.1 (feasible) fd64:2c08:9fa7:1::/64 metric 384 refmetric 128 id 02:1c:10:ff:fe:22:02:ac seqno 62820 age 10 via vr2 neigh fe80::21c:10ff:fe22:2ac (feasible) fd64:2c08:9fa7:1::2/128 metric 256 refmetric 0 id 02:1c:10:ff:fe:22:02:ac seqno 62820 age 10 via vr2 neigh fe80::21c:10ff:fe22:2ac (feasible) fd64:2c08:9fa7:2::/64 metric 384 refmetric 128 id 02:1c:10:ff:fe:22:02:ac seqno 62820 age 10 via vr2 neigh fe80::21c:10ff:fe22:2ac (feasible) fd64:2c08:9fa7:2::1/128 metric 256 refmetric 0 id 02:1c:10:ff:fe:22:02:ac seqno 62820 age 10 via vr2 neigh fe80::21c:10ff:fe22:2ac (feasible) Notice how the mesh's rules are "feasible" now, but how routes from the mesh (e.g. 172.16.1.1/32) are announced by roadkiller even though they are not on the machine. And netstat tells me: Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default 66.96.31.6 UGS 0 16871 ng0 66.96.31.6 link#9 UH 0 0 ng0 72.0.72.144 link#9 UHS 0 0 lo0 127.0.0.1 link#5 UH 0 49879 lo0 172.16.0.1 link#3 UHS 0 58 lo0 192.168.0.0/24 link#6 U 3 230048419 bridge 192.168.0.1 link#6 UHS 0 63 lo0 192.168.2.0/24 link#4 U 0 13069581 vr3 192.168.2.1 link#4 UHS 0 2833 lo0 192.168.100.0/24 link#10 U 0 22 tap0 192.168.100.3 link#10 UHS 0 0 lo0 Internet6: Destination Gateway Flags Netif Expire ::/96 ::1 UGRS lo0 => default 2001:1928:0:ffff::1a UGS gif0 ::1 fe80::21c:10ff:fe22:2ac%vr2 UGH2 vr2 ::ffff:0.0.0.0/96 ::1 UGRS lo0 2001:1928:0:ffff::1a 2001:1928:0:ffff::1b UH gif0 2001:1928:1:9:: link#6 UHS lo0 => 2001:1928:1:9::/64 link#6 U bridge0 fd64:2c08:9fa7::/48 link#3 U vr2 fd64:2c08:9fa7::1 link#6 UHS lo0 fd64:2c08:9fa7:1::1 link#3 UHS lo0 fe80::/10 ::1 UGRS lo0 fe80::%vr0/64 link#1 U vr0 fe80::200:24ff:fecc:9344%vr0 link#1 UHS lo0 fe80::%vr1/64 link#2 U vr1 fe80::200:24ff:fecc:9345%vr1 link#2 UHS lo0 fe80::%vr2/64 fe80::21c:10ff:fe22:2ac%vr2 UG2 vr2 fe80::200:24ff:fecc:9346%vr2 link#3 UHS lo0 fe80::%vr3/64 link#4 U vr3 fe80::200:24ff:fecc:9347%vr3 link#4 UHS lo0 fe80::%lo0/64 link#5 U lo0 fe80::1%lo0 link#5 UHS lo0 fe80::%bridge0/64 link#6 U bridge0 fe80::200:24ff:fecc:9347%bridge0 link#6 UHS lo0 fe80::%gif0/64 link#7 U gif0 fe80::200:24ff:fecc:9344%gif0 link#7 UHS lo0 fe80::%ng0/64 link#9 U ng0 fe80::200:24ff:fecc:9344%ng0 link#9 UHS lo0 fe80::%tap0/64 link#10 U tap0 fe80::2bd:f4ff:fe75:0%tap0 link#10 UHS lo0 ff01:1::/32 fe80::200:24ff:fecc:9344%vr0 U vr0 ff01:2::/32 fe80::200:24ff:fecc:9345%vr1 U vr1 ff01:3::/32 fe80::200:24ff:fecc:9346%vr2 U vr2 ff01:4::/32 fe80::200:24ff:fecc:9347%vr3 U vr3 ff01:5::/32 ::1 U lo0 ff01:6::/32 2001:1928:1:9:: U bridge0 ff01:7::/32 fe80::200:24ff:fecc:9344%gif0 U gif0 ff01:9::/32 fe80::200:24ff:fecc:9344%ng0 U ng0 ff01:a::/32 fe80::2bd:f4ff:fe75:0%tap0 U tap0 ff02::/16 ::1 UGRS lo0 ff02::%vr0/32 fe80::200:24ff:fecc:9344%vr0 U vr0 ff02::%vr1/32 fe80::200:24ff:fecc:9345%vr1 U vr1 ff02::%vr2/32 fe80::200:24ff:fecc:9346%vr2 U vr2 ff02::%vr3/32 fe80::200:24ff:fecc:9347%vr3 U vr3 ff02::%lo0/32 ::1 U lo0 ff02::%bridge0/32 2001:1928:1:9:: U bridge0 ff02::%gif0/32 fe80::200:24ff:fecc:9344%gif0 U gif0 ff02::%ng0/32 fe80::200:24ff:fecc:9344%ng0 U ng0 ff02::%tap0/32 fe80::2bd:f4ff:fe75:0%tap0 U tap0 Notice how the routes from the mesh aren't actually in the routing table anymore, but at least the default route stays in place. -- You Are What You Is - Frank Zappa
pgpxQJvurgdxX.pgp
Description: PGP signature
_______________________________________________ Babel-users mailing list Babel-users@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/babel-users