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.