-
Notifications
You must be signed in to change notification settings - Fork 102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AutoIP/Link Local/169.254.* not assigning new address after an ARP defend failure - version 10.0.6 #281
Comments
The lack of an address also occurs for any AutoIP address collision while negotiating an address. Same problem in that the ipv4ll_start() returns early because of the state->running check. If I remove the check entirely, it fixes both problems... |
To expand on this -- the client fails to acquire the DHCP-server-supplied IP address, which looks in the logs as follows, repeated ad infinitum:
Meanwhile, on the wire we see the following:
..which, upon close inspection is:
..i.e., completely legitimate. IOW, NOTE: all IP addresses and hostnames were changed to protect the innocent. |
Reverting this fixes the problems I found... the noise has a point: commit 2d07224
|
Well in the link-local/AutoIP collision case, dhcpcd (10.0.6) just failed to pick a new address after the previous selection had a collision. dhcpcd[2255]: eth0: b8:ca:3a:80:66:7a(b8:ca:3a:80:66:7a) claims 169.254.157.247 |
@TG-Zubby, looks like I have misread the intention of the IPv4LL mechanism, and we have different issues, after all -- apologies for the noise! I'll move my issue to a separate bug. |
Filed #291 for the issue I'm seeing. |
Works with 8.1.9, fails on 10.0.6
The call to ipv4ll_start() in ipv4ll_defend_failed() is suppose to pick/assign the new address, however ipv4ll_start() returns early because the state->running is still true.
If I set state->running = false, in ipv4ll_defend_failed() prior to the ipv4ll_start() call, this fixes this specific problem.
I'm unclear if this is a "complete" fix or whether it will cause other problems as I just started looking at this code base.
The text was updated successfully, but these errors were encountered: