From 81a32e9b06cc6685866061b88645135c44d651d4 Mon Sep 17 00:00:00 2001 From: Roberto Barbieri Carrera Date: Wed, 16 Nov 2016 12:24:57 +0100 Subject: [PATCH] Fixed bug #49610: Sometimes, autoIP fails to reuse the same address Signed-off-by: goldsimon --- src/core/ipv4/autoip.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/ipv4/autoip.c b/src/core/ipv4/autoip.c index 86a4aed3..9aa32833 100644 --- a/src/core/ipv4/autoip.c +++ b/src/core/ipv4/autoip.c @@ -482,7 +482,8 @@ autoip_arp_reply(struct netif *netif, struct etharp_hdr *hdr) * ip.dst == llipaddr && hw.src != own hwaddr */ if ((ip4_addr_cmp(&sipaddr, &autoip->llipaddr)) || - (ip4_addr_cmp(&dipaddr, &autoip->llipaddr) && + (ip4_addr_isany_val(sipaddr) && + ip4_addr_cmp(&dipaddr, &autoip->llipaddr) && !eth_addr_cmp(&netifaddr, &hdr->shwaddr))) { LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE | LWIP_DBG_LEVEL_WARNING, ("autoip_arp_reply(): Probe Conflict detected\n"));