From 64c0f20ab3f8744bbab1fd83a4c44d11d116f99b Mon Sep 17 00:00:00 2001 From: Stefano Brivio Date: Fri, 20 Aug 2021 01:13:02 +0200 Subject: arp: Don't resolve own, configured IPv4 address DHCP clients might try to resolve the assigned address to check if it's already in use: don't resolve the configured IPv4 address. Signed-off-by: Stefano Brivio --- arp.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arp.c b/arp.c index 17fad9f..89e4019 100644 --- a/arp.c +++ b/arp.c @@ -63,6 +63,10 @@ int arp(struct ctx *c, struct ethhdr *eh, size_t len) if (*((uint32_t *)&am->sip) && !memcmp(am->sip, am->tip, 4)) return 1; + /* Don't resolve our own address, either. */ + if (!memcmp(am->tip, &c->addr4, 4)) + return 1; + ah->ar_op = htons(ARPOP_REPLY); memcpy(am->tha, am->sha, ETH_ALEN); memcpy(am->sha, c->mac, ETH_ALEN); -- cgit v1.2.3