From: Roy Marples Date: Fri, 4 Oct 2024 16:24:43 +0000 (+0000) Subject: Another fix for prior X-Git-Tag: v10.1.0~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8cd4e07a5e04558b7d998abef527b706fcac5317;p=thirdparty%2Fdhcpcd.git Another fix for prior --- diff --git a/src/ipv4.c b/src/ipv4.c index be7d7cff..a5fe4900 100644 --- a/src/ipv4.c +++ b/src/ipv4.c @@ -717,7 +717,7 @@ ipv4_addaddr(struct interface *ifp, const struct in_addr *addr, if (ia->flags & IPV4_AF_NEW) { TAILQ_INSERT_TAIL(&state->addrs, ia, next); -#ifdef ARP +#if defined(ARP) && !defined(KERNEL_RFC5227) arp_ifannounceaddr(ifp, &ia->addr); #endif } diff --git a/src/ipv4ll.c b/src/ipv4ll.c index 01556cab..bb73c0dd 100644 --- a/src/ipv4ll.c +++ b/src/ipv4ll.c @@ -182,9 +182,6 @@ ipv4ll_announced_arp(struct arp_state *astate) struct ipv4ll_state *state = IPV4LL_STATE(astate->iface); state->conflicts = 0; -#ifdef KERNEL_RFC5227 - arp_free(astate); -#endif } /* This is the callback by ARP freeing */ @@ -268,9 +265,7 @@ ipv4ll_not_found(struct interface *ifp) rt_build(ifp->ctx, AF_INET); #ifndef KERNEL_RFC5227 - astate = arp_ifannounceaddr(ifp, &ia->addr); - if (astate != NULL) - astate->announced_cb = ipv4ll_announced_arp; + state->arp->announced_cb = ipv4ll_announced_arp; #endif script_runreason(ifp, "IPV4LL"); dhcpcd_daemonise(ifp->ctx);