diff --git a/components/esp_netif/lwip/esp_netif_lwip.c b/components/esp_netif/lwip/esp_netif_lwip.c index 1f5aebc327..629c08c612 100644 --- a/components/esp_netif/lwip/esp_netif_lwip.c +++ b/components/esp_netif/lwip/esp_netif_lwip.c @@ -186,7 +186,9 @@ static esp_err_t remove_lwip_netif_callback(struct esp_netif_api_msg_s *msg) static void netif_send_garp(void *arg) { struct netif *netif = arg; - etharp_gratuitous(netif); + if (!ip4_addr_cmp(netif_ip4_addr(netif), IP4_ADDR_ANY4)) { // Send GARP requests only if we have a valid IP + etharp_gratuitous(netif); + } sys_timeout(CONFIG_LWIP_GARP_TMR_INTERVAL*1000, netif_send_garp, netif); }