openwrt / odhcp6c

This repository is a mirror of https://git.openwrt.org/?p=project/odhcp6c.git. It is for reference only and is not active for checks-ins or reporting issues; issues should be reported at: https://bugs.openwrt.org. Pull requests will be accepted which will be merged in odhcp6c.git
GNU General Public License v2.0
78 stars 83 forks source link

DHCPv6 PD lifetime on Japan NTT 10G Hikari #78

Open missing233 opened 1 year ago

missing233 commented 1 year ago

I'm using OpenWRT with NTT 10G Hikari (Flets Cross). I've encountered a specific issue regarding the DHCPv6 PD. From the NTT DHCPv6 server, my DHCPv6 Client has been assigned a /56 PD prefix with the following lifetimes: T1: 7200 T2: 10800 Preferred Lifetime: 12600 Valid Lifetime: 14400

The problem manifests itself at specific intervals — typically at the 4-hour, 6-hour, and most notably, the 8-hour marks. Just when NTT's DHCPv6 server sends out a reconfigure message, within about a second, I get a notice: 'daemon.notice netifd: Interface 'wan6' has lost the connection'. The connection will restore in about 10 seconds. My ISP uses an IPv4 over IPv6 protocol, requiring a special IPv6 address as a tunnel endpoint. This issue only pops up when I assign this particular IPv6 address to the IPv4 over IPv6 tunnel interface (by using option ip6ifaceid).

The ISP provided me with a router XG-100NE, and I've also done packet capture analysis on it. I've noticed that each Renew Message behaves differently from OpenWRT. Could this be the cause?

OpenWRT: Identity Association for Prefix Delegation Option: Identity Association for Prefix Delegation (25) Length: 41 IAID: 00000001 T1: 0 T2: 0 IA Prefix Option: IA Prefix (26) Length: 25 Preferred lifetime: 0 Valid lifetime: 0 Prefix length: 56 Prefix address: 2400:xxxx:xxxx:xx00::

ISP router: Identity Association for Prefix Delegation Option: Identity Association for Prefix Delegation (25) Length: 41 IAID: 00000000 T1: 7200 T2: 10800 IA Prefix Option: IA Prefix (26) Length: 25 Preferred lifetime: 12600 Valid lifetime: 14400 Prefix length: 56 Prefix address: 2400:xxxx:xxxx:xx00::

missing233 commented 1 year ago

Alright, I've set up a crontab scheduled task to make odhcp6c send Renew Message to update the IPv6 lifetime every hour. It seems to work, but I don't think it is a good solution.

Headcrabed commented 4 months ago

@dedeckeh can you have a look at this? More information here: https://github.com/openwrt/openwrt/issues/13454