Skip to content

Commit

Permalink
Merge branch 'feature/add_fall_back_dns_config_in_menuconfig_v5.2' in…
Browse files Browse the repository at this point in the history
…to 'release/v5.2'

feat(lwip): add fall back dns config in menuconfig (v5.2)

See merge request espressif/esp-idf!29154
  • Loading branch information
jack0c committed Feb 22, 2024
2 parents 77f5391 + 2d03df4 commit 3f730f2
Show file tree
Hide file tree
Showing 4 changed files with 70 additions and 6 deletions.
36 changes: 33 additions & 3 deletions components/lwip/Kconfig
Expand Up @@ -130,7 +130,8 @@ menu "LWIP"
depends on LWIP_ND6
help
This option is used to set the the router flag for the NA packets.
When enabled, the router flag in NA packet will always set to 1, otherwise, never set router flag for NA packets.
When enabled, the router flag in NA packet will always set to 1,
otherwise, never set router flag for NA packets.

config LWIP_MAX_SOCKETS
int "Max number of open sockets"
Expand Down Expand Up @@ -706,9 +707,11 @@ 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: 0 <= TCP_OOSEQ_MAX_PBUFS <= CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM/(MAX_TCP_NUMBER + 1)
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: 0 <= TCP_OOSEQ_MAX_PBUFS <= CONFIG_ETH_DMA_RX_BUFFER_NUM/(MAX_TCP_NUMBER + 1)
In the Ethernet scenario,recommended Ethernet OOSEQ PBUFS Range:
0 <= TCP_OOSEQ_MAX_PBUFS <= CONFIG_ETH_DMA_RX_BUFFER_NUM/(MAX_TCP_NUMBER + 1)

Within the recommended value range, the larger the value, the better the performance.

Expand Down Expand Up @@ -1045,6 +1048,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
Expand Down
2 changes: 1 addition & 1 deletion components/lwip/lwip
13 changes: 11 additions & 2 deletions components/lwip/port/include/lwipopts.h
Expand Up @@ -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
Expand Down Expand Up @@ -472,7 +472,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
*
Expand All @@ -481,6 +481,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.
Expand Down Expand Up @@ -1576,6 +1584,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

/*
-----------------------------------------
Expand Down
25 changes: 25 additions & 0 deletions 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

0 comments on commit 3f730f2

Please sign in to comment.