[OpenWrt-Devel] DHCPv6 flash renumbering patches with HE tunnel breaks

Arjen de Korte arjen+openwrt at de-korte.org
Wed Mar 25 15:41:46 EDT 2015


I use an IPv6 tunnel provided by Hurricane Electric to provide IPv6  
access for my LAN. HE tunnels are configured statically (no DHCPv6 /  
PD involved) and for the purpose of understanding what ranges are  
used, assume the following:

     WAN - 2001:DB8:DEAD:BEEF::/64 (local tunnel endpoint at  
2001:DB8:DEAD:BEEF::2)
     LAN - 2001:DB8:CAFE:BABE::/64 (note this is not a subnet of the  
WAN, I think this may be important here)

I use both SLAAC + DHCPv6 on the LAN. Devices with DHCPv6 capability  
are configured with IPv4+IPv6 addresses in /etc/config/network. This  
has worked flawlessly in Barrier Breaker so far. After migrating to  
Chaos Calmer, DHCPv6 was essentially broken. Devices that previously  
were using addresses configured through DHCPv6 are now using SLAAC only.

Looking in the logs of one of the DHCPv6 clients (a laptop using  
NetworkManager), I noticed that it was handed out a lease with a  
preferred lifetime of just one (1) second. Consequently, it would  
attempt to renew the lease it gets every second, causing intermittent  
IPv6 availability (if at all) and huge CPU spikes on the router at the  
times the client connected. Reverting back to the version of odhcpd  
from Barrier Breaker fixed both these problems and DHCPv6 was useable  
again.

Digging into the code, the following commit broke odhcpd in my router  
(Netgear WNDR4300):

     dhcpv6: allow flash renumbering in hybrid management mode
      
https://github.com/sbyx/odhcpd/commit/a5ebe69d1bc387937bc5448534751123833585fd

Neither of the following two changes to the same part of this code  
fixed things:

     dhcpv6: fix calculation of T1 and T2
      
https://github.com/sbyx/odhcpd/commit/b461334ab277b6e8fd1622ab7c8a655363bd3f6c

     DHCPv6: enable flash-renumbering hack only for /64 prefixes
      
https://github.com/sbyx/odhcpd/commit/3b628005e66e90770b2757a4a02c1dee25ccb883

I'm not quite sure what problem these commits are trying to solve, but  
it looks to me that the logic behind it is somehow not working for me.  
For all intents and purposes, the IPv6 addresses I use are static, so  
I see no reason why it would be necessary to renumber addresses at all.

Any thoughts?
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list