ifconfig pppoe0: no remote IPv6 address

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

ifconfig pppoe0: no remote IPv6 address

Christian Weisgerber
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:

pppoe0: flags=208851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6> mtu 1492
[...]
        status: active
        inet6 fe80::20d:b9ff:fe41:568%pppoe0 ->  prefixlen 64 scopeid 0x9
        inet 87.153.150.156 --> 62.155.246.171 netmask 0xffffffff

A packet capture on the underlying interface shows that the address
was negotiated:

15:55:18.626923 00:0d:b9:41:05:6a 20:4e:71:68:51:f4 8864 36: PPPoE-Session
        code Session, version 1, type 1, id 0x0025, length 16
        IPV6CP: Configure-Request, Interface-ID=020d:b9ff:fe41:0568
15:55:18.643277 20:4e:71:68:51:f4 00:0d:b9:41:05:6a 8864 56: PPPoE-Session
        code Session, version 1, type 1, id 0x0025, length 16
        IPV6CP: Configure-Request, Interface-ID=0100:0100:3e9b:f6ab
15:55:18.643296 00:0d:b9:41:05:6a 20:4e:71:68:51:f4 8864 36: PPPoE-Session
        code Session, version 1, type 1, id 0x0025, length 16
        IPV6CP: Configure-Ack, Interface-ID=0100:0100:3e9b:f6ab
15:55:18.820100 20:4e:71:68:51:f4 00:0d:b9:41:05:6a 8864 56: PPPoE-Session
        code Session, version 1, type 1, id 0x0025, length 16
        IPV6CP: Configure-Ack, Interface-ID=020d:b9ff:fe41:0568

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.

--
Christian "naddy" Weisgerber                          [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: ifconfig pppoe0: no remote IPv6 address

Stefan Sperling-5
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.