Skip to content

Commit 433430f

Browse files
committed
espressif: ipv6: Disable RDNSS
Recursive DNS Server (RDNSS) is an extension of IPv6 Neighbor Discovery. It is one of several ways (in addition to DHCPv6) to inform a network node of a usable DNS server. In LWIP, it appears any RDNSS DNS server will overwrite a DNS server from DHCPv4 or manual configuration, whether or not CircuitPython has an IPv6 address configured. In the (default) case where DHCPv6 is disabled in CircuitPython, but the (apparently rare) case where a RDNSS advertisement is broadast, this means that DNS doesn't work, and it appears that assigning to the dns or ipv4_dns properties of the Radio object doesn't work (when in reality it's frequently being reset to the value from RDNSS) On my network, the same DNS server is advertised by DHCPv6, so with this change I still get a working v6 configuration with a v6 DNS server when I enable DHCPv6, but when configuring as v4 only (the default), the correct IPv4 DNS server setting happens and I can also manually change it by assigning .dns or .ipv4_dns.
1 parent 5b77156 commit 433430f

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

ports/espressif/esp-idf-config/sdkconfig.defaults

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ CONFIG_LWIP_SO_RCVBUF=y
6767
# IPv6
6868
#
6969
CONFIG_LWIP_IPV6_AUTOCONFIG=y
70-
CONFIG_LWIP_IPV6_RDNSS_MAX_DNS_SERVERS=2
70+
CONFIG_LWIP_IPV6_RDNSS_MAX_DNS_SERVERS=0
7171
CONFIG_LWIP_IPV6_DHCP6=y
7272
#
7373
# TCP

0 commit comments

Comments
 (0)