blob: 4503c3e8dc8130a21aaafbd48e4f42a11021d80a [file] [log] [blame]
# Copyright (c) 2016 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
config DNS_RESOLVER
bool "DNS resolver"
depends on NET_NATIVE
select CRC
help
This option enables the DNS client side support for Zephyr
if DNS_RESOLVER
config DNS_RESOLVER_AUTO_INIT
bool "Automatically initialize the default DNS context"
default y
help
Automatically initialize the default DNS context so dns_resolve_init
does not need to be manually called.
config MDNS_RESOLVER
bool "MDNS support"
help
This option enables multicast DNS client side support.
See RFC 6762 for details.
config LLMNR_RESOLVER
bool "LLMNR support"
help
This option enables link local multicast name resolution client side
support. See RFC 4795 for details. LLMNR is typically used by Windows
hosts. If you enable this option, then the DNS requests are ONLY sent
to LLMNR well known multicast address 224.0.0.252:5355 or
[ff02::1:3]:5355 and other DNS server addresses are ignored.
config DNS_RESOLVER_ADDITIONAL_BUF_CTR
int "Additional DNS buffers"
default 0
help
Number of additional buffers available for the DNS resolver.
The DNS resolver requires at least one buffer. This option
enables additional buffers required for multiple concurrent
DNS connections.
config DNS_RESOLVER_ADDITIONAL_QUERIES
int "Additional DNS queries"
range 0 2
default 1
help
Number of additional DNS queries that the DNS resolver may
generate when the RR ANSWER only contains CNAME(s).
The maximum value of this variable is constrained to avoid
'alias loops'.
config DNS_RESOLVER_AI_MAX_ENTRIES
int "Maximum number of IP addresses for DNS name"
default 2
help
Defines the max number of IP addresses per domain name
resolution the DNS resolver can handle.
config DNS_RESOLVER_MAX_SERVERS
int "Number of DNS server addresses"
range 1 NET_MAX_CONTEXTS
default 1
help
Max number of DNS servers that we can connect to. Normally one
DNS server is enough. Each connection to DNS server will use one
network context.
config DNS_RESOLVER_MAX_QUERY_LEN
int "Max length of a DNS query"
range 1 255
default 255
help
Max length of a DNS query that should be looked up including the
trailing 0. So e.g. "example.com" would have a query len of 12.
menuconfig DNS_SERVER_IP_ADDRESSES
bool "Set DNS server IP addresses"
help
Allow DNS IP addresses to be set in config file for
networking applications.
if DNS_SERVER_IP_ADDRESSES
config DNS_SERVER1
string "DNS server 1"
help
DNS server IP address 1. The address can be either IPv4 or IPv6
address. An optional port number can be given.
Following syntax is supported:
192.0.2.1
192.0.2.1:5353
2001:db8::1
[2001:db8::1]:5353
It is not mandatory to use this Kconfig option at all.
The one calling dns_resolve_init() can use this option or not
to populate the server list. If the DNS server addresses are
set here, then we automatically create default DNS context
for the user.
config DNS_SERVER2
string "DNS server 2"
help
See help in "DNS server 1" option.
config DNS_SERVER3
string "DNS server 3"
help
See help in "DNS server 1" option.
config DNS_SERVER4
string "DNS server 4"
help
See help in "DNS server 1" option.
config DNS_SERVER5
string "DNS server 5"
help
See help in "DNS server 1" option.
endif # DNS_SERVER_IP_ADDRESSES
config DNS_NUM_CONCUR_QUERIES
int "Number of simultaneous DNS queries per one DNS context"
default 1
help
This defines how many concurrent DNS queries can be generated using
same DNS context. Normally 1 is a good default value.
module = DNS_RESOLVER
module-dep = NET_LOG
module-str = Log level for DNS resolver
module-help = Enables DNS resolver code to output debug messages.
source "subsys/net/Kconfig.template.log_config.net"
menuconfig DNS_RESOLVER_CACHE
bool "DNS resolver cache"
help
This option enables the dns resolver cache. DNS queries
will be cached based on TTL and delivered from cache
whenever possible. This reduces network usage.
if DNS_RESOLVER_CACHE
config DNS_RESOLVER_CACHE_MAX_ENTRIES
int "Number of cache entries supported by the dns cache"
default 6
help
This defines how many entries the DNS cache can hold. If
not enough entries for caching are available the oldest
entry gets replaced. Adjusting this value will affect
RAM usage.
endif # DNS_RESOLVER_CACHE
endif # DNS_RESOLVER
config MDNS_RESPONDER
bool "mDNS responder"
select NET_IPV4_IGMP if NET_IPV4
select NET_IPV6_MLD if NET_IPV6
select NET_MGMT
select NET_MGMT_EVENT
depends on NET_HOSTNAME_ENABLE
help
This option enables the mDNS responder support for Zephyr.
It will listen well-known address ff02::fb and 224.0.0.251.
Currently this only returns IP address information.
You must set CONFIG_NET_HOSTNAME to some meaningful value and
then mDNS will start to respond to <hostname>.local mDNS queries.
See RFC 6762 for more details about mDNS.
if MDNS_RESPONDER
config MDNS_RESPONDER_TTL
int "Time-to-Live of returned DNS name"
default 600
help
DNS answers will use the TTL (in seconds).
config MDNS_RESPONDER_INIT_PRIO
int "Startup priority for the mDNS responder init"
default 96
help
Note that if NET_CONFIG_AUTO_INIT is enabled, then this value
should be bigger than its value.
config MDNS_RESPONDER_DNS_SD
bool "DNS Service Discovery via mDNS"
default y
depends on DNS_SD
help
Selecting this option ensures that the MDNS Responder
processes PTR, SRV, and TXT records according to RFC 6763.
By doing so, Zephyr network services are discoverable
using e.g. 'avahi-browse -t -r _greybus._tcp'.
if MDNS_RESPONDER_DNS_SD
config MDNS_RESPONDER_DNS_SD_SERVICE_TYPE_ENUMERATION
bool "DNS SD Service Type Enumeration"
default y
help
Selecting this option ensures that the MDNS Responder
performs DNS-SD Service Type Enumeration according to RFC 6763,
Chapter 9. By doing so, Zephyr network services are discoverable
using e.g. 'avahi-browse -t -r _services._dns-sd._udp.local'.
endif # MDNS_RESPONDER_DNS_SD
module = MDNS_RESPONDER
module-dep = NET_LOG
module-str = Log level for mDNS responder
module-help = Enables mDNS responder code to output debug messages.
source "subsys/net/Kconfig.template.log_config.net"
config MDNS_RESOLVER_ADDITIONAL_BUF_CTR
int "Additional DNS buffers"
default 0
help
Number of additional buffers available for the mDNS responder.
endif # MDNS_RESPONDER
config LLMNR_RESPONDER
bool "LLMNR responder"
select NET_IPV4_IGMP if NET_IPV4
select NET_IPV6_MLD if NET_IPV6
select NET_MGMT
select NET_MGMT_EVENT
depends on NET_HOSTNAME_ENABLE
help
This option enables the LLMNR responder support for Zephyr.
It will listen well-known address ff02::1:3 and 224.0.0.252.
Currently this only returns IP address information.
You must set CONFIG_NET_HOSTNAME to some meaningful value and
then LLMNR will start to respond to <hostname> LLMNR queries.
Note that LLMNR queries should only contain single-label names
so there should be NO dot (".") in the name (RFC 4795 ch 3).
Current implementation does not support TCP.
See RFC 4795 for more details about LLMNR.
if LLMNR_RESPONDER
config LLMNR_RESPONDER_TTL
int "Time-to-Live of returned DNS name"
default 30
help
DNS answers will use the TTL (in seconds). A default value is 30
seconds as recommended by RFC 4795 chapter 2.8
config LLMNR_RESPONDER_INIT_PRIO
int "Startup priority for the LLMNR responder init"
default 96
help
Note that if NET_CONFIG_AUTO_INIT is enabled, then this value
should be bigger than its value.
module = LLMNR_RESPONDER
module-dep = NET_LOG
module-str = Log level for LLMNR responder
module-help = Enables LLMNR responder code to output debug messages.
source "subsys/net/Kconfig.template.log_config.net"
config LLMNR_RESOLVER_ADDITIONAL_BUF_CTR
int "Additional DNS buffers"
default 0
help
Number of additional buffers available for the LLMNR responder.
endif # LLMNR_RESPONDER
config DNS_SD
bool "DNS Service Discovery"
help
This option enables DNS Service Discovery for Zephyr. It can
be enabled for virtually any network service with only a few
lines of code and works for both Unicast and Multicast DNS.
See RFC 6763 for more details about DNS-SD.
if DNS_SD
module = DNS_SD
module-dep = NET_LOG
module-str = Log level for DNS-SD
module-help = Enables DNS Service Discovery code to output debug messages.
source "subsys/net/Kconfig.template.log_config.net"
endif # DNS_SD