dhcpcd-discuss

Re: problem with expired prefix (dhcpv6)

Roy Marples

Fri Apr 21 16:27:42 2017

On 21/04/2017 16:12, Harald Dunkel wrote:
> On 04/21/17 14:48, Stuart Henderson wrote:
> 
>> Unless I misunderstand the problem I think this may have been fixed in -current (as of sys/netinet6/in6.c r1.201, committed this week).
> 
>> Harald, can you try a recent snapshot kernel and this ports patch? (At this point if you're on 6.1 release you should be able to get away with just using a snapshot kernel without updating userland).
> 
> 
> Done. The snapshots kernel was built this morning at 7:10. After a
> reboot the patched dhcpcd gave me
> 
> Apr 21 16:52:29 marvin dhcpcd[38405]: DUID 00:01:00:01:20:79:21:d4:80:ee:73:95:c1:0c
> Apr 21 16:52:29 marvin dhcpcd[38405]: pppoe0: IAID 00:00:00:00
> Apr 21 16:52:29 marvin dhcpcd[38405]: pppoe0: rebinding prior DHCPv6 lease
> Apr 21 16:52:29 marvin dhcpcd[38405]: re1: waiting for carrier
> Apr 21 16:52:30 marvin dhcpcd[38405]: pppoe0: soliciting an IPv6 router
> Apr 21 16:52:30 marvin dhcpcd[38405]: re1: carrier acquired
> Apr 21 16:52:30 marvin dhcpcd[38405]: re1: IAID 73:95:c1:0d
> Apr 21 16:52:31 marvin dhcpcd[38405]: pppoe0: Router Advertisement from fe80::101:101:3e9b:f1ab
> Apr 21 16:52:31 marvin dhcpcd[38405]: pppoe0: adding address 2003:dd:b3bf:2e18:665a:4ff:fe35:830a/64
> Apr 21 16:52:39 marvin dhcpcd[38405]: pppoe0: failed to rebind prior delegation
> Apr 21 16:52:39 marvin dhcpcd[38405]: pppoe0: soliciting a DHCPv6 lease
> Apr 21 16:52:41 marvin dhcpcd[38405]: pppoe0: REPLY6 received from fe80::101:101:3e9b:f1ab
> Apr 21 16:52:41 marvin dhcpcd[38405]: pppoe0: renew in 900, rebind in 1440, expire in 14400 seconds
> Apr 21 16:52:41 marvin dhcpcd[38405]: lo0: adding reject route to 2003:dd:b3ee:1800::/56 via ::1
> Apr 21 16:52:41 marvin dhcpcd[38405]: pppoe0: delegated prefix 2003:dd:b3ee:1800::/56
> Apr 21 16:52:41 marvin dhcpcd[38405]: re1: adding address 2003:dd:b3ee:1800::1/56
> Apr 21 16:52:41 marvin dhcpcd[38405]: re1: changing route to 2003:dd:b3ee:1800::/56
> Apr 21 16:52:41 marvin dhcpcd[38405]: forked to background, child pid 74240
> 
> # ifconfig pppoe0 down
> # ifconfig pppoe0 up
> 
> Apr 21 16:53:32 marvin dhcpcd[74240]: pppoe0: carrier lost
> Apr 21 16:53:32 marvin dhcpcd[74240]: pppoe0: deleting address 2003:dd:b3bf:2e18:665a:4ff:fe35:830a/64
> Apr 21 16:53:32 marvin dhcpcd[74240]: pppoe0: if_addrflags: 93.233.195.203: Undefined error: 0
> Apr 21 16:53:32 marvin dhcpcd[74240]: pppoe0: if_addrflags: Undefined error: 0

These errors at least are fixed in dhcpcd-7.0.0-beta3, just tested.

> Apr 21 16:54:02 marvin dhcpcd[74240]: pppoe0: carrier acquired
> Apr 21 16:54:02 marvin dhcpcd[74240]: pppoe0: IAID 00:00:00:00
> Apr 21 16:54:02 marvin dhcpcd[74240]: pppoe0: rebinding prior DHCPv6 lease
> Apr 21 16:54:02 marvin dhcpcd[74240]: pppoe0: Router Advertisement from fe80::101:101:3e9b:f1ab
> Apr 21 16:54:02 marvin dhcpcd[74240]: pppoe0: adding address 2003:dd:b3bf:2e1c:665a:4ff:fe35:830a/64
> Apr 21 16:54:12 marvin dhcpcd[74240]: pppoe0: failed to rebind prior delegation
> Apr 21 16:54:12 marvin dhcpcd[74240]: pppoe0: soliciting a DHCPv6 lease
> Apr 21 16:54:15 marvin dhcpcd[74240]: pppoe0: REPLY6 received from fe80::101:101:3e9b:f1ab
> Apr 21 16:54:15 marvin dhcpcd[74240]: pppoe0: renew in 900, rebind in 1440, expire in 14400 seconds
> Apr 21 16:54:15 marvin dhcpcd[74240]: lo0: adding reject route to 2003:dd:b3ee:1c00::/56 via ::1
> Apr 21 16:54:15 marvin dhcpcd[74240]: pppoe0: delegated prefix 2003:dd:b3ee:1c00::/56
> Apr 21 16:54:15 marvin dhcpcd[74240]: re1: adding address 2003:dd:b3ee:1c00::1/56
> Apr 21 16:54:15 marvin dhcpcd[74240]: re1: changing route to 2003:dd:b3ee:1c00::/56
> 
> The error message after "carrier lost" is gone. The "failed to rebind
> prior delegation" is still there, but this might be an issue of
> Deutsche Telekom.

Quite likely, dhcpcd rebinds delegations just fine here.

> I still have an invalid IPv6 address bound to re1, but both have
> a limited lifetime now:

It's still valid.

> # ifconfig re1
> re1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>         lladdr 80:ee:73:95:c1:0d
>         index 3 priority 0 llprio 3
>         groups: intern
>         media: Ethernet autoselect (1000baseT full-duplex,rxpause,txpause)
>         status: active
>         inet 10.42.100.2 netmask 0xffffff00 broadcast 10.42.100.255
>         inet6 fe80::82ee:73ff:fe95:c10d%re1 prefixlen 64 scopeid 0x3
>         inet6 2003:dd:b3ee:1800::1 prefixlen 56 pltime 1377 vltime 13977
>         inet6 2003:dd:b3ee:1c00::1 prefixlen 56 pltime 1470 vltime 14070
> 
> Question: Shouldn't the old IPv6 address be marked as "deprecated"? I am not
> sure if ifconfig can show.
> 
> Without this deprecated flag dnsmasq doesn't know. It still picks up both
> prefixes and distributes them in my LAN.

Both addresses are still fine.
The old one just won't get renewed and will expire normally - the kernel
will handle this and *should* remove the prefix for it as well.
If that's an issue for dnsmasq, take it to that upstream as I think
we're now good here ;)

You can re-enable persistent addresses now in dhcpcd.conf as I suspect
you disabled that to try and fix the original issue here.

Roy

Attachment: signature.asc
Description: OpenPGP digital signature


References:
problem with expired prefix (dhcpv6)Harald Dunkel
Re: problem with expired prefix (dhcpv6)Roy Marples
Re: problem with expired prefix (dhcpv6)Harald Dunkel
Re: problem with expired prefix (dhcpv6)Roy Marples
Re: problem with expired prefix (dhcpv6)Stuart Henderson
Re: problem with expired prefix (dhcpv6)Harald Dunkel
Archive administrator: postmaster@marples.name