* Ensure the mDNS mode is set every time network state changes
Eliminates (mostly) duplicate code
* Add custom NTP and HTTP time sync servers
Since the ordering may have been previously defaulted and saved as "ntp,http", but that was being ignored and fallback-defaults were being used, in Ordering, `ntp` means use the fallback NTP servers, and `http` means use the fallback HTTP URLs. Thus `ntp_user_provided` and `http_user_provided` are the user specified static lists.
* Add support for using DHCP-provided NTP server
* feat(ntp): use ntp server from dhcp info
* feat(ntp): use ntp server from dhcp info
* feat(ntp): add delay between time sync attempts
* chore(ntp): more logging
This commit fixesjetkvm/kvm#12 by disabling the udhcpc client when the
link goes down, it then removes all the active IPv4 addresses from the
deivce.
Once the link comes back up, it re-activates the udhcpc client so it can
fetch a new IPv4 address for the device.
This doesn't make any changes to the IPv6 side of things yet.