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