whilst probing.
IN_LINKLOCAL(htonl(addr.s_addr)))
add_timeout_tv(&tv, bind_interface, iface);
else
- add_timeout_tv(&tv, send_request, iface);
+ add_timeout_tv(&tv, start_request, iface);
}
syslog(LOG_DEBUG,
"%s: sending ARP probe (%d of %d), next in %0.2f seconds",
state->claims = 0;
state->probes = 0;
state->conflicts = 0;
+ state->state = DHS_PROBE;
send_arp_probe(iface);
return;
}
}
/* We don't request BOOTP addresses */
if (type) {
- state->state = DHS_REQUEST;
- send_request(iface);
+ start_request(iface);
return;
}
}
send_discover(iface);
}
+void
+start_request(void *arg)
+{
+ struct interface *iface = arg;
+
+ iface->state->state = DHS_REQUEST;
+ send_request(iface);
+}
void
start_renew(void *arg)
} else if (ifo->options & DHCPCD_INFORM)
send_inform(iface);
else
+ /* We don't start_request as that would change state */
send_request(iface);
}
DHS_REBIND,
DHS_REBOOT,
DHS_RENEW_REQUESTED,
- DHS_INIT_IPV4LL
+ DHS_INIT_IPV4LL,
+ DHS_PROBE
};
#define LINK_UP 1
void send_request(void *);
void start_interface(void *);
void start_discover(void *);
+void start_request(void *);
void start_renew(void *);
void start_rebind(void *);
void start_reboot(struct interface *);