1# Copyright (c) 2016 Intel Corporation 2# SPDX-License-Identifier: Apache-2.0 3 4config DNS_RESOLVER 5 bool "DNS resolver" 6 depends on NET_NATIVE 7 select CRC 8 help 9 This option enables the DNS client side support for Zephyr 10 11if DNS_RESOLVER 12 13config DNS_RESOLVER_AUTO_INIT 14 bool "Automatically initialize the default DNS context" 15 default y 16 help 17 Automatically initialize the default DNS context so dns_resolve_init 18 does not need to be manually called. 19 20config MDNS_RESOLVER 21 bool "MDNS support" 22 help 23 This option enables multicast DNS client side support. 24 See RFC 6762 for details. 25 26config LLMNR_RESOLVER 27 bool "LLMNR support" 28 help 29 This option enables link local multicast name resolution client side 30 support. See RFC 4795 for details. LLMNR is typically used by Windows 31 hosts. If you enable this option, then the DNS requests are ONLY sent 32 to LLMNR well known multicast address 224.0.0.252:5355 or 33 [ff02::1:3]:5355 and other DNS server addresses are ignored. 34 35 36config DNS_RESOLVER_ADDITIONAL_BUF_CTR 37 int "Additional DNS buffers" 38 default 0 39 help 40 Number of additional buffers available for the DNS resolver. 41 The DNS resolver requires at least one buffer. This option 42 enables additional buffers required for multiple concurrent 43 DNS connections. 44 45config DNS_RESOLVER_ADDITIONAL_QUERIES 46 int "Additional DNS queries" 47 range 0 2 48 default 1 49 help 50 Number of additional DNS queries that the DNS resolver may 51 generate when the RR ANSWER only contains CNAME(s). 52 The maximum value of this variable is constrained to avoid 53 'alias loops'. 54 55config DNS_RESOLVER_AI_MAX_ENTRIES 56 int "Maximum number of IP addresses for DNS name" 57 default 2 58 help 59 Defines the max number of IP addresses per domain name 60 resolution the DNS resolver can handle. 61 62 63config DNS_RESOLVER_MAX_SERVERS 64 int "Number of DNS server addresses" 65 range 1 NET_MAX_CONTEXTS 66 default 1 67 help 68 Max number of DNS servers that we can connect to. Normally one 69 DNS server is enough. Each connection to DNS server will use one 70 network context. 71 72menuconfig DNS_SERVER_IP_ADDRESSES 73 bool "Set DNS server IP addresses" 74 help 75 Allow DNS IP addresses to be set in config file for 76 networking applications. 77 78if DNS_SERVER_IP_ADDRESSES 79 80config DNS_SERVER1 81 string "DNS server 1" 82 help 83 DNS server IP address 1. The address can be either IPv4 or IPv6 84 address. An optional port number can be given. 85 Following syntax is supported: 86 192.0.2.1 87 192.0.2.1:5353 88 2001:db8::1 89 [2001:db8::1]:5353 90 It is not mandatory to use this Kconfig option at all. 91 The one calling dns_resolve_init() can use this option or not 92 to populate the server list. If the DNS server addresses are 93 set here, then we automatically create default DNS context 94 for the user. 95 96config DNS_SERVER2 97 string "DNS server 2" 98 help 99 See help in "DNS server 1" option. 100 101config DNS_SERVER3 102 string "DNS server 3" 103 help 104 See help in "DNS server 1" option. 105 106config DNS_SERVER4 107 string "DNS server 4" 108 help 109 See help in "DNS server 1" option. 110 111config DNS_SERVER5 112 string "DNS server 5" 113 help 114 See help in "DNS server 1" option. 115 116endif # DNS_SERVER_IP_ADDRESSES 117 118config DNS_NUM_CONCUR_QUERIES 119 int "Number of simultaneous DNS queries per one DNS context" 120 default 1 121 help 122 This defines how many concurrent DNS queries can be generated using 123 same DNS context. Normally 1 is a good default value. 124 125module = DNS_RESOLVER 126module-dep = NET_LOG 127module-str = Log level for DNS resolver 128module-help = Enables DNS resolver code to output debug messages. 129source "subsys/net/Kconfig.template.log_config.net" 130 131endif # DNS_RESOLVER 132 133config MDNS_RESPONDER 134 bool "mDNS responder" 135 select NET_IPV4_IGMP if NET_IPV4 136 select NET_IPV6_MLD if NET_IPV6 137 select NET_MGMT 138 select NET_MGMT_EVENT 139 depends on NET_HOSTNAME_ENABLE 140 help 141 This option enables the mDNS responder support for Zephyr. 142 It will listen well-known address ff02::fb and 224.0.0.251. 143 Currently this only returns IP address information. 144 You must set CONFIG_NET_HOSTNAME to some meaningful value and 145 then mDNS will start to respond to <hostname>.local mDNS queries. 146 See RFC 6762 for more details about mDNS. 147 148if MDNS_RESPONDER 149 150config MDNS_RESPONDER_TTL 151 int "Time-to-Live of returned DNS name" 152 default 600 153 help 154 DNS answers will use the TTL (in seconds). 155 156config MDNS_RESPONDER_INIT_PRIO 157 int "Startup priority for the mDNS responder init" 158 default 96 159 help 160 Note that if NET_CONFIG_AUTO_INIT is enabled, then this value 161 should be bigger than its value. 162 163config MDNS_RESPONDER_DNS_SD 164 bool "DNS Service Discovery via mDNS" 165 default y 166 depends on DNS_SD 167 help 168 Selecting this option ensures that the MDNS Responder 169 processes PTR, SRV, and TXT records according to RFC 6763. 170 By doing so, Zephyr network services are discoverable 171 using e.g. 'avahi-browse -t -r _greybus._tcp'. 172 173if MDNS_RESPONDER_DNS_SD 174config MDNS_RESPONDER_DNS_SD_SERVICE_TYPE_ENUMERATION 175 bool "DNS SD Service Type Enumeration" 176 default y 177 help 178 Selecting this option ensures that the MDNS Responder 179 performs DNS-SD Service Type Enumeration according to RFC 6763, 180 Chapter 9. By doing so, Zephyr network services are discoverable 181 using e.g. 'avahi-browse -t -r _services._dns-sd._udp.local'. 182endif # MDNS_RESPONDER_DNS_SD 183 184module = MDNS_RESPONDER 185module-dep = NET_LOG 186module-str = Log level for mDNS responder 187module-help = Enables mDNS responder code to output debug messages. 188source "subsys/net/Kconfig.template.log_config.net" 189 190config MDNS_RESOLVER_ADDITIONAL_BUF_CTR 191 int "Additional DNS buffers" 192 default 0 193 help 194 Number of additional buffers available for the mDNS responder. 195 196endif # MDNS_RESPONDER 197 198config LLMNR_RESPONDER 199 bool "LLMNR responder" 200 select NET_IPV4_IGMP if NET_IPV4 201 select NET_IPV6_MLD if NET_IPV6 202 select NET_MGMT 203 select NET_MGMT_EVENT 204 depends on NET_HOSTNAME_ENABLE 205 help 206 This option enables the LLMNR responder support for Zephyr. 207 It will listen well-known address ff02::1:3 and 224.0.0.252. 208 Currently this only returns IP address information. 209 You must set CONFIG_NET_HOSTNAME to some meaningful value and 210 then LLMNR will start to respond to <hostname> LLMNR queries. 211 Note that LLMNR queries should only contain single-label names 212 so there should be NO dot (".") in the name (RFC 4795 ch 3). 213 Current implementation does not support TCP. 214 See RFC 4795 for more details about LLMNR. 215 216if LLMNR_RESPONDER 217 218config LLMNR_RESPONDER_TTL 219 int "Time-to-Live of returned DNS name" 220 default 30 221 help 222 DNS answers will use the TTL (in seconds). A default value is 30 223 seconds as recommended by RFC 4795 chapter 2.8 224 225config LLMNR_RESPONDER_INIT_PRIO 226 int "Startup priority for the LLMNR responder init" 227 default 96 228 help 229 Note that if NET_CONFIG_AUTO_INIT is enabled, then this value 230 should be bigger than its value. 231 232module = LLMNR_RESPONDER 233module-dep = NET_LOG 234module-str = Log level for LLMNR responder 235module-help = Enables LLMNR responder code to output debug messages. 236source "subsys/net/Kconfig.template.log_config.net" 237 238config LLMNR_RESOLVER_ADDITIONAL_BUF_CTR 239 int "Additional DNS buffers" 240 default 0 241 help 242 Number of additional buffers available for the LLMNR responder. 243 244endif # LLMNR_RESPONDER 245 246config DNS_SD 247 bool "DNS Service Discovery" 248 help 249 This option enables DNS Service Discovery for Zephyr. It can 250 be enabled for virtually any network service with only a few 251 lines of code and works for both Unicast and Multicast DNS. 252 See RFC 6763 for more details about DNS-SD. 253 254if DNS_SD 255 256module = DNS_SD 257module-dep = NET_LOG 258module-str = Log level for DNS-SD 259module-help = Enables DNS Service Discovery code to output debug messages. 260source "subsys/net/Kconfig.template.log_config.net" 261 262endif # DNS_SD 263