summaryrefslogtreecommitdiffstats
path: root/arp.c
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2009-03-03 23:41:53 +0000
committerRoy Marples <roy@marples.name>2009-03-03 23:41:53 +0000
commit746e44f9c2425916efb61485ae22cf67b9a38408 (patch)
tree8705acf824b9c71cedf20fcfa5abc8a781357e12 /arp.c
parent0ffa23aeb6deed59311ea6fd3efd09a6cc3c8ef3 (diff)
downloaddhcpcd-746e44f9c2425916efb61485ae22cf67b9a38408.tar.xz
If we reboot an IPv4LL address, start DHCP negotiation right away.
Diffstat (limited to 'arp.c')
-rw-r--r--arp.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arp.c b/arp.c
index 20873187..3eac18c0 100644
--- a/arp.c
+++ b/arp.c
@@ -193,8 +193,9 @@ send_arp_announce(void *arg)
}
if (IN_LINKLOCAL(htonl(state->new->yiaddr))) {
/* We should pretend to be at the end
- * of the DHCP negotation cycle */
- state->interval = 64;
+ * of the DHCP negotation cycle unless we rebooted */
+ if (state->interval != 0)
+ state->interval = 64;
state->probes = 0;
state->claims = 0;
tv.tv_sec = state->interval - DHCP_RAND_MIN;