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@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@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.

Reply via email to