On Tue, May 02, 2017 at 04:27:56PM +0200, Christian Weisgerber wrote:
> OpenBSD 6.1-beta (GENERIC.MP) #0: Tue Mar 14 00:27:49 CET 2017
> [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> The problem:
> ifconfig pppoe0 does not show the remote point-to-point IPv6 address:
> So I would exepect a line like
> inet6 fe80::20d:b9ff:fe41:568%pppoe0 -> fe80::100:100:3e9b:f6ab%pppoe0
> I don't know if this is a problem with ifconfig(8), or sppp(4), or
> elsewhere in the network stack.
The peer's address is only shown with a netmask of /128 because setting
a destination address on an ifa only works with a netmask of /128.
This is enforced in in6_update_ifa() for reasons unknown to me.
When I fixed IPv6CP in if_spppsubr.c in 2013 I ran into this problem but
did not dare changing netinet6 code. Thus sppp_update_ip6_addr() does not
set a dest address unless the netmask is 128 which avoids an error it would
otherwise get from netinet6 code.
We may want to revisit this. It may be wise to bring a lantern and a pickaxe.
Perhaps some food and a blanket, too, and some elixirs to replenish life points.