From dc39b4014545927dab4b5e8a4702cd71b7238d58 Mon Sep 17 00:00:00 2001 From: xueyunfei Date: Tue, 21 Nov 2023 15:49:54 +0800 Subject: [PATCH 1/3] feat(lwip): add fall back dns config in menuconfig --- components/lwip/Kconfig | 29 ++++++++++++++++++++++++- components/lwip/lwip | 2 +- components/lwip/port/include/lwipopts.h | 13 +++++++++-- 3 files changed, 40 insertions(+), 4 deletions(-) diff --git a/components/lwip/Kconfig b/components/lwip/Kconfig index 5bde451ffe..0b43cffb07 100644 --- a/components/lwip/Kconfig +++ b/components/lwip/Kconfig @@ -681,7 +681,7 @@ menu "LWIP" Control the number of out-of-order pbufs to ensure that the MAC layer has enough RX buffer to receive packets. - In the Wi-Fi scenario,recommended OOSEQ PBUFS Range: + In the Wi-Fi scenario, recommended OOSEQ PBUFS Range: 0 <= TCP_OOSEQ_MAX_PBUFS <= CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM/(MAX_TCP_NUMBER + 1) In the Ethernet scenario,recommended Ethernet OOSEQ PBUFS Range: @@ -1022,6 +1022,33 @@ menu "LWIP" endmenu # SNTP + menu "DNS" + + config LWIP_DNS_MAX_SERVERS + int "Maximum number of DNS servers" + default 3 + range 1 4 + help + Set maximum number of DNS servers. + If fallback DNS servers are supported, + the number of DNS servers needs to be greater than or equal to 3. + + config LWIP_FALLBACK_DNS_SERVER_SUPPORT + bool "Enable DNS fallback server support" + default n + depends on LWIP_DNS_MAX_SERVERS >= 3 + help + Enable this feature to support DNS fallback server. + + config LWIP_FALLBACK_DNS_SERVER_ADDRESS + string "DNS fallback server address" + default "114.114.114.114" + depends on LWIP_FALLBACK_DNS_SERVER_SUPPORT + help + This option allows you to config dns fallback server address. + + endmenu # DNS + config LWIP_BRIDGEIF_MAX_PORTS int "Maximum number of bridge ports" default 7 diff --git a/components/lwip/lwip b/components/lwip/lwip index 542ba2997f..f79221431f 160000 --- a/components/lwip/lwip +++ b/components/lwip/lwip @@ -1 +1 @@ -Subproject commit 542ba2997f6cc14fe9c3d781bf9b0d890cd70bb1 +Subproject commit f79221431fa9042b3572d271d687de66da7560c4 diff --git a/components/lwip/port/include/lwipopts.h b/components/lwip/port/include/lwipopts.h index b5cbeb7cf3..d3e1eafca5 100644 --- a/components/lwip/port/include/lwipopts.h +++ b/components/lwip/port/include/lwipopts.h @@ -3,7 +3,7 @@ * * SPDX-License-Identifier: BSD-3-Clause * - * SPDX-FileContributor: 2015-2023 Espressif Systems (Shanghai) CO LTD + * SPDX-FileContributor: 2015-2024 Espressif Systems (Shanghai) CO LTD */ #ifndef LWIP_HDR_ESP_LWIPOPTS_H #define LWIP_HDR_ESP_LWIPOPTS_H @@ -459,7 +459,7 @@ static inline uint32_t timeout_from_offered(uint32_t lease, uint32_t min) /** The maximum of DNS servers */ -#define DNS_MAX_SERVERS 3 +#define DNS_MAX_SERVERS CONFIG_LWIP_DNS_MAX_SERVERS /** ESP specific option only applicable if ESP_DNS=1 * @@ -468,6 +468,14 @@ static inline uint32_t timeout_from_offered(uint32_t lease, uint32_t min) */ #define DNS_FALLBACK_SERVER_INDEX (DNS_MAX_SERVERS - 1) +#ifdef CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT +#define FALLBACK_DNS_SERVER_ADDRESS(address) \ + do { ip_addr_t *server_dns = address; \ + char server_ip[] = CONFIG_LWIP_FALLBACK_DNS_SERVER_ADDRESS; \ + ipaddr_aton(server_ip, server_dns); \ + } while (0) +#endif /* CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT */ + /** * LWIP_DNS_SUPPORT_MDNS_QUERIES==1: Enable mDNS queries in hostname resolution. * This option is set via menuconfig. @@ -1563,6 +1571,7 @@ static inline uint32_t timeout_from_offered(uint32_t lease, uint32_t min) #define ESP_LWIP_LOCK 1 #define ESP_THREAD_PROTECTION 1 #define LWIP_SUPPORT_CUSTOM_PBUF 1 +#define ESP_LWIP_FALLBACK_DNS_PREFER_IPV4 0 /* ----------------------------------------- From aefc33b2ce25fa2908a0fdf2dec59f0ee0f7ae6c Mon Sep 17 00:00:00 2001 From: Abhik Roy Date: Tue, 14 Nov 2023 22:38:48 +1100 Subject: [PATCH 2/3] fix(lwip): Fixed debug format, added ci test config Detailed description of the changes: - lwip_debug: Fixed string format error in ip6 and napt (espressif/esp-lwip@f5c43549) - dns: fix init with only ipv4 enabled (espressif/esp-lwip@5aab73d7) --- .../lwip/test_apps/sdkconfig.ci.lwip_debug | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 components/lwip/test_apps/sdkconfig.ci.lwip_debug diff --git a/components/lwip/test_apps/sdkconfig.ci.lwip_debug b/components/lwip/test_apps/sdkconfig.ci.lwip_debug new file mode 100644 index 0000000000..a351db0a70 --- /dev/null +++ b/components/lwip/test_apps/sdkconfig.ci.lwip_debug @@ -0,0 +1,25 @@ +# Included for build test with LWIP debug enabled. + +CONFIG_LWIP_IP_FORWARD=y +CONFIG_LWIP_IPV4_NAPT=y +CONFIG_LWIP_DEBUG=y +CONFIG_LWIP_DEBUG_ESP_LOG=y +CONFIG_LWIP_NETIF_DEBUG=y +CONFIG_LWIP_PBUF_DEBUG=y +CONFIG_LWIP_ETHARP_DEBUG=y +CONFIG_LWIP_API_LIB_DEBUG=y +CONFIG_LWIP_SOCKETS_DEBUG=y +CONFIG_LWIP_IP_DEBUG=y +CONFIG_LWIP_ICMP_DEBUG=y +CONFIG_LWIP_DHCP_STATE_DEBUG=y +CONFIG_LWIP_DHCP_DEBUG=y +CONFIG_LWIP_IP6_DEBUG=y +CONFIG_LWIP_ICMP6_DEBUG=y +CONFIG_LWIP_TCP_DEBUG=y +CONFIG_LWIP_UDP_DEBUG=y +CONFIG_LWIP_SNTP_DEBUG=y +CONFIG_LWIP_DNS_DEBUG=y +CONFIG_LWIP_NAPT_DEBUG=y +CONFIG_LWIP_BRIDGEIF_DEBUG=y +CONFIG_LWIP_BRIDGEIF_FDB_DEBUG=y +CONFIG_LWIP_BRIDGEIF_FW_DEBUG=y From 594c61add420304e13130f05d7c65a3a3eefefe6 Mon Sep 17 00:00:00 2001 From: zhangyanjiao Date: Mon, 19 Feb 2024 11:04:30 +0800 Subject: [PATCH 3/3] fix(wifi): fixed scan and mesh deinit issues 1. update scan ap number when clear scan ap records 2. wait for child disconnect when mesh deinit --- components/esp_rom/esp32c3/ld/esp32c3.rom.eco7.ld | 2 +- components/esp_wifi/lib | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/components/esp_rom/esp32c3/ld/esp32c3.rom.eco7.ld b/components/esp_rom/esp32c3/ld/esp32c3.rom.eco7.ld index 580955696f..0a40764534 100644 --- a/components/esp_rom/esp32c3/ld/esp32c3.rom.eco7.ld +++ b/components/esp_rom/esp32c3/ld/esp32c3.rom.eco7.ld @@ -36,7 +36,7 @@ wDev_ProcessRxSucData = 0x400017f4; pm_tx_data_done_process = 0x40001808; ppMapWaitTxq = 0x40001810; ieee80211_encap_esfbuf = 0x4000185c; -sta_input = 0x40001870; +/*sta_input = 0x40001870;*/ ieee80211_crypto_decap = 0x4000189c; ieee80211_decap = 0x400018a0; coex_core_timer_idx_get = 0x400018d0; diff --git a/components/esp_wifi/lib b/components/esp_wifi/lib index 0a25c10a58..46342b66b8 160000 --- a/components/esp_wifi/lib +++ b/components/esp_wifi/lib @@ -1 +1 @@ -Subproject commit 0a25c10a587df080550995e18fc10c996abc7ecf +Subproject commit 46342b66b8cd053a0de1ff3f0b8c853c92cbbfb3