While here correct an error diagnostic logging an system error too.
arp_cancel(state->arp);
if (++state->conflicts == MAX_CONFLICTS)
- logerr("%s: failed to acquire an IPv4LL address",
+ logerrx("%s: failed to acquire an IPv4LL address",
ifp->name);
eloop_timeout_add_sec(ifp->ctx->eloop,
state->conflicts >= MAX_CONFLICTS ?
struct ipv4ll_state *state = IPV4LL_STATE(ifp);
assert(state->arp == astate);
+ state->pickedaddr.s_addr = INADDR_ANY;
ipv4ll_found(ifp);
}