Missing IPv6 default route on protocol kernel and table master6
Ondrej Zajicek
santiago at crfreenet.org
Mon Oct 10 00:40:45 CEST 2022
On Sun, Oct 09, 2022 at 07:43:56PM +0200, Bernd Naumann via Bird-users wrote:
> On 2022-10-07 18:32, Ondrej Zajicek wrote:
> > Does the pppoe-wan have link-local address range? Does BIRD know about it?
> > What is What is the output from BIRD command 'show interfaces'?
> >
>
> I assume no. Like I have written, the LLA is `/128`. I do not see the
> gateway in the `neighbor` table, but local LLA and gateway LLA are present
> as host routes.
Oh, i missed that. In general, BIRD does check route next hops against IP
ranges of local addresses, not against other routes (i.e. gateway LLA as
host route or manually added /64 route), so if you have LLA as /128, then
the next hop check for gateway LLA fails. It is true that this check is
suboptimal and perhaps superfluous, we should reevaluate it.
> If I `ip route add fe80::/64 dev pppoe-wan` it makes *no* difference.
Yes, same like with gateway LLA host route.
> If I delete the `/128` LLA and replace it with `/64` it is still not present
> in `master6`
This is strange, i would predict that after this change it should start
working. Perhaps there is some bug in caching of next-hop lookups.
Could you try replacing LLA with /64, checking that there is still
default route in kernel table, and then restarting BIRD?
> ```
> root at cpe:~# ip -6 addr show dev pppoe-wan
> 42: pppoe-wan: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc
> fq_codel state UNKNOWN group default qlen 3
> inet6 2003:e4:bfff:20c2:71b4:e83:65bb:a41f/64 scope global dynamic
> noprefixroute
> valid_lft 13837sec preferred_lft 1237sec
> inet6 fe80::71b4:e83:65bb:a41f/64 scope link
> valid_lft forever preferred_lft forever
>
> pppoe-wan up (index=42)
> PtP Multicast AdminUp LinkUp MTU=1492
> 93.206.14.134/32 (Preferred, opposite 62.155.247.65, scope univ)
> 2003:e4:bfff:20c2:71b4:e83:65bb:a41f/64 (Preferred, scope univ)
> fe80::71b4:e83:65bb:a41f/64 (Preferred, scope link)
>
> root at cpe:~# birdc show route for ::/0
> BIRD 2.0.8 ready.
> Network not found
> But even if that would work, I would dislike it as a solution.
> My question still stands: Why is the route not present in `master6`, *even*
> that I have `learn yes` for `protocol kernel`. What does make this ipv6
> default route so special?
In short, it is special that LLA range for your address is /128 and
therefore the next hop of default route is outside of it.
--
Elen sila lumenn' omentielvo
Ondrej 'Santiago' Zajicek (email: santiago at crfreenet.org)
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net)
"To err is human -- to blame it on a computer is even more so."
More information about the Bird-users
mailing list