From 467e9c07d64d315f6f85e2cb2671d3638f314bf4 Mon Sep 17 00:00:00 2001 From: Mahavir Jain Date: Mon, 11 Apr 2022 07:33:51 +0530 Subject: [PATCH] lwip: fix build with CONFIG_LWIP_DHCPS disabled Also added example build configuration for this option. --- components/esp_netif/include/esp_netif_sta_list.h | 2 ++ components/esp_netif/lwip/esp_netif_sta_list.c | 2 ++ examples/protocols/sockets/tcp_server/sdkconfig.ci.1 | 1 + 3 files changed, 5 insertions(+) diff --git a/components/esp_netif/include/esp_netif_sta_list.h b/components/esp_netif/include/esp_netif_sta_list.h index b1a9ff3cc4..b237431058 100644 --- a/components/esp_netif/include/esp_netif_sta_list.h +++ b/components/esp_netif/include/esp_netif_sta_list.h @@ -42,6 +42,8 @@ typedef struct { /** * @brief Get IP information for stations connected to the Wi-Fi AP interface * + * @note If `CONFIG_LWIP_DHCPS` is disabled then `ip` address field will not be populated in sta list + * * @warning This API works only for the default Wi-Fi AP interface, i.e. esp-netif with key="WIFI_AP_DEF" * * @param[in] wifi_sta_list Wi-Fi station info list, returned from esp_wifi_ap_get_sta_list() diff --git a/components/esp_netif/lwip/esp_netif_sta_list.c b/components/esp_netif/lwip/esp_netif_sta_list.c index 4ef84fff06..fd99b625e5 100644 --- a/components/esp_netif/lwip/esp_netif_sta_list.c +++ b/components/esp_netif/lwip/esp_netif_sta_list.c @@ -29,7 +29,9 @@ esp_err_t esp_netif_get_sta_list(const wifi_sta_list_t *wifi_sta_list, esp_netif netif_sta_list->num = wifi_sta_list->num; for (int i = 0; i < wifi_sta_list->num; i++) { memcpy(netif_sta_list->sta[i].mac, wifi_sta_list->sta[i].mac, 6); +#if CONFIG_LWIP_DHCPS dhcp_search_ip_on_mac(ap->dhcps, netif_sta_list->sta[i].mac, (ip4_addr_t*)&netif_sta_list->sta[i].ip); +#endif } return ESP_OK; diff --git a/examples/protocols/sockets/tcp_server/sdkconfig.ci.1 b/examples/protocols/sockets/tcp_server/sdkconfig.ci.1 index f4d66cf5ec..432514013f 100644 --- a/examples/protocols/sockets/tcp_server/sdkconfig.ci.1 +++ b/examples/protocols/sockets/tcp_server/sdkconfig.ci.1 @@ -2,3 +2,4 @@ CONFIG_EXAMPLE_IPV4=y CONFIG_EXAMPLE_IPV6=n CONFIG_EXAMPLE_CONNECT_IPV6=n CONFIG_LWIP_IPV6=n +CONFIG_LWIP_DHCPS=n