Missing IPv6 default route on protocol kernel and table master6
Bernd Naumann
bernd at kr217.de
Mon Oct 10 11:58:46 CEST 2022
Hey Ondrej,
See my reply inline.
On 2022-10-10 00:40, Ondrej Zajicek wrote:
> 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?
>
If I just change the mask from `/128` to `/64` and restart bird I see no
change in behavior. I ensured that `fe80::/64 dev pppoe-wan` is present,
too.
```
root at cpe:~# logread -f | grep ppp
Mon Oct 10 09:35:54 2022 daemon.debug bird: direct1 < interface
pppoe-wan goes up
Mon Oct 10 09:35:54 2022 daemon.debug bird: direct1 < address
62.155.247.65/32 on interface pppoe-wan added
Mon Oct 10 09:35:54 2022 daemon.debug bird: direct1 < address
2003:e4:bfff:1f4a::/64 on interface pppoe-wan added
Mon Oct 10 09:35:54 2022 daemon.debug bird: direct1 < address fe80::/64
on interface pppoe-wan added
Mon Oct 10 09:35:55 2022 daemon.debug bird: kernel_ipv6 < interface
pppoe-wan goes up
```
If I add `ip -6 route add default dev pppoe-wan` the route is learned:
```
Mon Oct 10 09:39:26 2022 daemon.debug bird: kernel_ipv6: ::/0: [alien
async] created
Mon Oct 10 09:39:26 2022 daemon.debug bird: kernel_ipv6.ipv6 > added
[best] ::/0 unicast
Mon Oct 10 09:39:26 2022 daemon.debug bird: kernel_ipv6.ipv6 < rejected
by protocol ::/0 unicast
root at cpe:~# birdc show route for ::/0
BIRD 2.0.8 ready.
Table master6:
::/0 unicast [kernel_ipv6 09:39:26.194] * (10)
dev pppoe-wan
```
>
>> [...] 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.
>
My uplink connection is from Deutsche Telekom and their "standard"
offering called "Magenta". Its a VDSL2+(something).
As I stated before, I have no deeper knowledge about PPPoE but I would
have doubt that it is so special to have a `/128`. Because with IPv4 the
local address is also not on the same range as the gateway address; its
also only two host addresses. The only difference here is that for IPv4
the local and remote address pair is setup as `inet <addr> peer <addr>`,
but with IPv6 its just the LLA and two host routes (for local and remote
LLA).
```
Mon Oct 10 09:32:35 2022 daemon.notice pppd[24067]: pppd 2.4.8 started
by root, uid 0
Mon Oct 10 09:32:36 2022 daemon.info pppd[24067]: PPP session is 1
Mon Oct 10 09:32:36 2022 daemon.warn pppd[24067]: Connected to
f4:cc:55:42:1a:94 via interface eth0.7
Mon Oct 10 09:32:36 2022 kern.info kernel: [262398.389971] pppoe-wan:
renamed from ppp0
Mon Oct 10 09:32:36 2022 daemon.info pppd[24067]: Renamed interface ppp0
to pppoe-wan
Mon Oct 10 09:32:36 2022 daemon.info pppd[24067]: Using interface
pppoe-wan
Mon Oct 10 09:32:36 2022 daemon.notice pppd[24067]: Connect: pppoe-wan
<--> eth0.7
Mon Oct 10 09:32:36 2022 daemon.info pppd[24067]: Remote message:
SRU=43976#SRD=109941#
Mon Oct 10 09:32:36 2022 daemon.notice pppd[24067]: PAP authentication
succeeded
Mon Oct 10 09:32:36 2022 daemon.notice pppd[24067]: peer from calling
number F4:CC:55:42:1A:94 authorized
Mon Oct 10 09:32:36 2022 daemon.notice pppd[24067]: local IP address
87.167.90.71
Mon Oct 10 09:32:36 2022 daemon.notice pppd[24067]: remote IP address
62.155.247.65
Mon Oct 10 09:32:36 2022 daemon.notice pppd[24067]: primary DNS
address 217.237.149.205
Mon Oct 10 09:32:36 2022 daemon.notice pppd[24067]: secondary DNS
address 217.237.151.51
Mon Oct 10 09:32:36 2022 daemon.notice pppd[24067]: local LL address
fe80::2923:cb8b:f184:5087
Mon Oct 10 09:32:36 2022 daemon.notice pppd[24067]: remote LL address
fe80::f6cc:55ff:fe42:1a94
```
Thanks again for your time and input.
More information about the Bird-users
mailing list