return;
}
- /* Nothing more to do, so free us */
- arp_free(astate);
+ /* Keep ARP open so we can detect duplicates. */
}
static void
dhcp_startrenew(ifp);
}
-static void
-dhcp_arp_announced(struct arp_state *astate)
-{
-
- arp_close(astate->iface);
-}
-
static void
dhcp_rebind(void *arg)
{
if ((astate = arp_new(ifp, &addr)) != NULL) {
astate->probed_cb = dhcp_arp_probed;
astate->conflicted_cb = dhcp_arp_conflicted;
- astate->announced_cb = dhcp_arp_announced;
}
if (ia == NULL) {
struct dhcp_lease l;
if ((astate = arp_new(ifp, &addr)) != NULL) {
astate->probed_cb = dhcp_arp_probed;
astate->conflicted_cb = dhcp_arp_conflicted;
- astate->announced_cb = dhcp_arp_announced;
/* We need to handle DAD. */
arp_probe(astate);
}