Confirm dhcpv6 IP/prefix address has actually changed before restarting dnsmasq/httpd.Toastman-1.28.7510.8
commit1d27207c6688ba1602de655fd84ad8e1910adbe4
authorSean Baughn <Sbaughn82@gmail.com>
Mon, 19 Dec 2016 12:28:50 +0000 (19 19:28 +0700)
committerSean Baughn <Sbaughn82@gmail.com>
Mon, 19 Dec 2016 12:37:16 +0000 (19 19:37 +0700)
treed8d974e4047443ccf25a8081504f401bbcb7d14c
parent467d948590760d4a24bd98cb445c8e1250a7d956
Confirm dhcpv6 IP/prefix address has actually changed before restarting dnsmasq/httpd.
 Fix IPv6 IP not being updated in hosts file when a change occurs.

 There have been multiple reports from users experiencing excessive and frequent restarts
 of dnsmasq when IPv6 is enabled and no IP/prefix change has taken place. Dhcp6c frequently
 renewing a lease may result from several factors but a likely source is short timers set
 by ISPs on their dhcpv6 servers. This adds a check of the LAN interfaces current IPv6 IP
 against the IP stored in NVRAM. If they are different, dhcp6c-state is run in its entirety.
 If not, the process of updating NVRAM variables and restarting dnsmasq/httpd is bypassed.
 Updates to dns servers recevied by dhcp6c are performed in either case as dnsmasq actively
 polls for these changes and does not require a restart to implement them.

 Added a call to set_host_domain_name() when an IP change is confirmed so /etc/hosts
 is updated with the new IP.
release/src/router/rc/dhcp.c