Skip to content

Commit

Permalink
feat(lwip): add fall back dns config in menuconfig
Browse files Browse the repository at this point in the history
Closes #12530
  • Loading branch information
freakyxue authored and espressif-bot committed Jan 23, 2024
1 parent 1688c69 commit 4f96d04
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 7 deletions.
39 changes: 35 additions & 4 deletions components/lwip/Kconfig
Original file line number Diff line number Diff line change
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 @@ -717,11 +718,14 @@ menu "LWIP"
cause Wi-Fi/Ethernet fail to release RX buffer in time.
It is possible that all RX buffers for MAC layer are used by OOSEQ.

Control the number of out-of-order pbufs to ensure that the MAC layer has enough RX buffer to receive packets.
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 @@ -1058,6 +1062,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
Submodule lwip updated 1 files
+1 −1 src/core/dns.c
13 changes: 11 additions & 2 deletions components/lwip/port/include/lwipopts.h
Original file line number Diff line number Diff line change
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

0 comments on commit 4f96d04

Please sign in to comment.