Fix missing address update on dhcp restart #168
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If the DHCP client was restarted (for any reason), it first reports that
the network interface should be deconfigured and then reports the new
(likely the same) lease. This works. However, the deconfig/renew ends up
clearing multicast registrations on the IP address being deconfig/renew'd.
This broke mDNS since it was listening on the IP address.
To fix this, code is added to clear out all IPv4 addresses on deconfig.
This propogates the "glitch" in IP network connectivity throughout and as
soon as it could possibly happen. When the IP address comes back via the
renew,
mdns_lite
will register a listener and all will work.It should be noted that the GenServer crash that caused this bug to happen
has been fixed. One way of reproducing is to back out
bc8073a5d694de3da1cd3169cb1002fc9ea9015f.