diff --git a/components/esp_netif/lwip/esp_netif_lwip.c b/components/esp_netif/lwip/esp_netif_lwip.c index c84d3217c5..a6fe43f6a1 100644 --- a/components/esp_netif/lwip/esp_netif_lwip.c +++ b/components/esp_netif/lwip/esp_netif_lwip.c @@ -174,7 +174,9 @@ static void dns_clear_servers(bool keep_fallback) 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); }