diff --git a/components/lwip/CMakeLists.txt b/components/lwip/CMakeLists.txt index d920197912..3348838c83 100644 --- a/components/lwip/CMakeLists.txt +++ b/components/lwip/CMakeLists.txt @@ -8,9 +8,6 @@ set(include_dirs set(srcs "apps/dhcpserver/dhcpserver.c" - "apps/ping/esp_ping.c" - "apps/ping/ping.c" - "apps/ping/ping_sock.c" "apps/sntp/sntp.c" "lwip/src/api/api_lib.c" "lwip/src/api/api_msg.c" @@ -141,6 +138,13 @@ if(CONFIG_OPENTHREAD_ENABLED) list(APPEND srcs "port/esp32/netif/openthreadif.c") endif() +if(CONFIG_LWIP_ICMP) + list(APPEND srcs + "apps/ping/esp_ping.c" + "apps/ping/ping.c" + "apps/ping/ping_sock.c") +endif() + idf_component_register(SRCS "${srcs}" INCLUDE_DIRS "${include_dirs}" LDFRAGMENTS linker.lf diff --git a/components/lwip/Kconfig b/components/lwip/Kconfig index 8411931b0b..2aeb27b87f 100644 --- a/components/lwip/Kconfig +++ b/components/lwip/Kconfig @@ -785,13 +785,21 @@ menu "LWIP" menu "ICMP" + config LWIP_ICMP + bool "ICMP: Enable ICMP" + default y + help + Enable ICMP module for check network stability + config LWIP_MULTICAST_PING bool "Respond to multicast pings" default n + depends on LWIP_ICMP6 || LWIP_ICMP config LWIP_BROADCAST_PING bool "Respond to broadcast pings" default n + depends on LWIP_ICMP endmenu # ICMP @@ -970,7 +978,7 @@ menu "LWIP" config LWIP_ICMP_DEBUG bool "Enable ICMP debug messages" - depends on LWIP_DEBUG + depends on LWIP_DEBUG && LWIP_ICMP default n config LWIP_DHCP_STATE_DEBUG diff --git a/components/lwip/component.mk b/components/lwip/component.mk index 63b6fced76..56610098e1 100644 --- a/components/lwip/component.mk +++ b/components/lwip/component.mk @@ -39,6 +39,10 @@ ifndef CONFIG_OPENTHREAD_ENABLED COMPONENT_OBJEXCLUDE += port/esp32/netif/openthreadif.o endif +ifndef CONFIG_LWIP_ICMP + COMPONENT_OBJEXCLUDE += apps/ping/esp_ping.o apps/ping/ping.o apps/ping/ping_sock.o +endif + ifdef CONFIG_LWIP_PPP_SUPPORT COMPONENT_SRCDIRS += lwip/src/netif/ppp lwip/src/netif/ppp/polarssl endif diff --git a/components/lwip/port/esp32/include/lwipopts.h b/components/lwip/port/esp32/include/lwipopts.h index 4d5809517a..aa12738f58 100644 --- a/components/lwip/port/esp32/include/lwipopts.h +++ b/components/lwip/port/esp32/include/lwipopts.h @@ -217,6 +217,7 @@ ---------- ICMP options ---------- ---------------------------------- */ +#define LWIP_ICMP CONFIG_LWIP_ICMP #define LWIP_BROADCAST_PING CONFIG_LWIP_BROADCAST_PING