openwrt / odhcpd

This repository is a mirror of https://git.openwrt.org/?p=project/odhcpd.git. Pull requests will be accepted which will be merged in odhcpd.git
GNU General Public License v2.0
162 stars 98 forks source link

Reconnect between router and client needed for global stateful DHCPv6 assignment. #77

Open V10lator opened 8 years ago

V10lator commented 8 years ago

I have a cherry-picked IPv6 address from my sixxs subnet that I want to delegate to a client. For that to work I simply added a host configuration with hostid and duid to /etc/config/dhcp.

Now after a reboot of the router I get the ULA with the hostid but not the global IP. I need to disconnect the client (either with ifconfig down or by pulling out the LAN cable) an reconnect before odhcpd assigns the IP to the client.

More information: https://forum.openwrt.org/viewtopic.php?id=63635

V10lator commented 8 years ago

For debugging purposes I disabled stateless IPv6 on the client and loocked at the logs while the router bootet. Here it is: http://pastie.org/pastes/10772042/text

I think the important parts are these:

Mär 24 09:30:20 horst NetworkManager[662]: address 2001:[CENSORED]::bad:a55 Mär 24 09:30:20 horst NetworkManager[662]: address fd50:db2f:f4ff::bad:a55 Mär 24 09:30:26 horst kernel: r8169 0000:0a:00.0 enp10s0: link down Mär 24 09:30:28 horst kernel: r8169 0000:0a:00.0 enp10s0: link up Mär 24 09:30:28 horst NetworkManager[662]: (enp10s0): DHCPv6 lease renewal requested Mär 24 09:30:34 horst NetworkManager[662]: address fd50:db2f:f4ff::bad:a55

So first everything is golden, then for some reason the link disconnects for a split second and it fails to renew the 2001 address. I think I tracked this down pretty good but if you have any more ideas what I could test please tell me (yes, I'm willing to patch and compile odhcpd on my end).