# OpenThread stack features selection # Copyright (c) 2020 Nordic Semiconductor ASA # SPDX-License-Identifier: Apache-2.0 choice OPENTHREAD_STACK_VERSION prompt "OpenThread stack version" default OPENTHREAD_THREAD_VERSION_1_1 help This option selects version of Thread stack config OPENTHREAD_THREAD_VERSION_1_1 bool "Version 1.1" config OPENTHREAD_THREAD_VERSION_1_2 bool "Version 1.2" config OPENTHREAD_THREAD_VERSION_1_3 bool "Version 1.3" config OPENTHREAD_THREAD_VERSION_1_3_1 bool "Version 1.3.1" config OPENTHREAD_THREAD_VERSION_1_4 bool "Version 1.4" endchoice # OPENTHREAD_STACK_VERSION config OPENTHREAD_THREAD_VERSION string default "1.1" if OPENTHREAD_THREAD_VERSION_1_1 default "1.2" if OPENTHREAD_THREAD_VERSION_1_2 default "1.3" if OPENTHREAD_THREAD_VERSION_1_3 default "1.3.1" if OPENTHREAD_THREAD_VERSION_1_3_1 default "1.4" if OPENTHREAD_THREAD_VERSION_1_4 default "unknown" config OPENTHREAD_ANYCAST_LOCATOR bool "Anycast locator support" config OPENTHREAD_BACKBONE_ROUTER bool "Backbone Router functionality" config OPENTHREAD_BACKBONE_ROUTER_DUA_NDPROXYING bool "BBR DUA ND Proxy support" config OPENTHREAD_BACKBONE_ROUTER_MULTICAST_ROUTING bool "BBR MR support" config OPENTHREAD_BLE_TCAT bool "BLE TCAT support" select EXPERIMENTAL config OPENTHREAD_BORDER_AGENT bool "Border Agent support" config OPENTHREAD_BORDER_AGENT_EPHEMERAL_KEY_ENABLE bool "Border agent ephemeral PSKc" config OPENTHREAD_BORDER_ROUTER bool "Border Router support" config OPENTHREAD_BORDER_ROUTING bool "Border routing support" config OPENTHREAD_BORDER_ROUTING_COUNTERS bool "Border routing counters support" config OPENTHREAD_BORDER_ROUTING_DHCP6_PD bool "DHCPv6-PD support in border routing" config OPENTHREAD_CHANNEL_MONITOR bool "Channel monitor support" config OPENTHREAD_CHANNEL_MANAGER bool "Channel manager support" depends on OPENTHREAD_CHANNEL_MONITOR config OPENTHREAD_CHANNEL_MANAGER_CSL bool "Channel manager for CSL channel" config OPENTHREAD_COAP bool "OpenThread CoAP support" help Enable CoAP API for the application with use of OpenThread stack config OPENTHREAD_COAP_BLOCK bool "CoAP Block-wise option support" config OPENTHREAD_COAP_OBSERVE bool "CoAP Observe option support" config OPENTHREAD_COAPS bool "Secure CoAP API support" depends on OPENTHREAD_COAP config OPENTHREAD_COMMISSIONER bool "Commissioner functions support" help Enable commissioner capability in OpenThread stack. Note, that DTLS handshake used in the commissioning procedure requires a larger mbedTLS heap than the default value. A minimum recommended value of CONFIG_MBEDTLS_HEAP_SIZE for the commissioning is 10KB. config OPENTHREAD_CSL_DEBUG bool "CSL debugging" config OPENTHREAD_CSL_RECEIVER bool "CSL Receiver support" help Enable CSL Receiver support for Thread 1.2 config OPENTHREAD_CSL_RECEIVER_LOCAL_TIME_SYNC bool "Use local time for CSL synchronization" help Use host time rather than radio platform time to track elapsed time since last CSL synchronization. This reduces the usage of radio API calls, and it is useful for platforms in which those are costly. config OPENTHREAD_DEVICE_PROP_LEADER_WEIGHT bool "Device props for leader weight" default n if (OPENTHREAD_THREAD_VERSION_1_1 || \ OPENTHREAD_THREAD_VERSION_1_2 || \ OPENTHREAD_THREAD_VERSION_1_3) default y help Enable the device properties which are then used to determine and set the Leader Weight. config OPENTHREAD_DATASET_UPDATER bool "Dataset updater" config OPENTHREAD_DHCP6_CLIENT bool "DHCPv6 client support" config OPENTHREAD_DHCP6_SERVER bool "DHCPv6 server support" config OPENTHREAD_DIAG bool "Diagnostic functions support" help Enable OpenThread CLI diagnostic commands config OPENTHREAD_DNS_CLIENT bool "DNS client support" config OPENTHREAD_DNS_CLIENT_OVER_TCP bool "DNS query over tcp" config OPENTHREAD_DNS_DSO bool "DNS Stateful Operations (DSO) support" config OPENTHREAD_DNS_UPSTREAM_QUERY bool "Forwarding DNS queries to upstream" help Enable forwarding DNS queries to platform DNS upstream API config OPENTHREAD_DNSSD_SERVER bool "DNS-SD server support" config OPENTHREAD_DUA bool "Domain Unicast Address support" help Enable Domain Unicast Address feature for Thread 1.2 config OPENTHREAD_ECDSA bool "ECDSA support" config OPENTHREAD_ENABLE_SERVICE bool "Service support" help Enable Thread Services capability in OpenThread stack config OPENTHREAD_EXTERNAL_HEAP bool "External heap support" config OPENTHREAD_FIREWALL bool "Firewall support" config OPENTHREAD_FULL_LOGS bool "OpenThread full logs" config OPENTHREAD_IP6_FRAGM bool "IPv6 fragmentation support" config OPENTHREAD_JAM_DETECTION bool "Jam detection support" config OPENTHREAD_JOINER bool "Joiner functions support" help Enable joiner capability in OpenThread stack. Note, that DTLS handshake used in the commissioning procedure requires a larger mbedTLS heap than the default value. A minimum recommended value of CONFIG_MBEDTLS_HEAP_SIZE for the commissioning is 10KB. config OPENTHREAD_LEGACY bool "Legacy network support" config OPENTHREAD_LINK_METRICS_INITIATOR bool "Link Metrics initiator" config OPENTHREAD_LINK_METRICS_MANAGER bool "Link Metrics manager" config OPENTHREAD_LINK_METRICS_SUBJECT bool "Link Metrics subject" config OPENTHREAD_PLATFORM_LOG_CRASH_DUMP bool "Platform log crash dump" config OPENTHREAD_LOG_LEVEL_DYNAMIC bool "Dynamic log level control" config OPENTHREAD_MAC_FILTER bool "MAC filter support" config OPENTHREAD_MULTICAST_DNS bool "Multicast DNS (mDNS)" config OPENTHREAD_MESH_DIAG bool "Mesh Diagnostics" depends on OPENTHREAD_FTD help Enable Mesh Diagnostics config OPENTHREAD_MESSAGE_USE_HEAP bool "Heap allocator for message buffers" config OPENTHREAD_MLE_LONG_ROUTES bool "MLE long routes extension (experimental)" select EXPERIMENTAL help Enable MLE long routes extension (experimental, breaks Thread conformance) config OPENTHREAD_MLR bool "Multicast Listener Registration support" help Enable Multicast Listener Registration support for Thread 1.2 config OPENTHREAD_MULTIPAN_RCP bool "OpenThread multipan rcp" config OPENTHREAD_MULTIPLE_INSTANCE bool "OpenThread multiple instances" config OPENTHREAD_NAT64_BORDER_ROUTING bool "Border routing NAT64 support" config OPENTHREAD_NAT64_TRANSLATOR bool "NAT64 translator support" config OPENTHREAD_NETDIAG_CLIENT bool "TMF network diagnostics on client" config OPENTHREAD_NEIGHBOR_DISCOVERY_AGENT bool "Neighbor discovery agent support" config OPENTHREAD_NETDATA_PUBLISHER bool "Thread Network Data publisher" config OPENTHREAD_OPERATIONAL_DATASET_AUTO_INIT bool "Operational dataset auto init" default y config OPENTHREAD_OTNS bool "OTNS support" config OPENTHREAD_PING_SENDER bool "Ping sender support" config OPENTHREAD_PLATFORM_KEY_REF bool "Platform cryptographic key reference support" help Enable usage of cryptographic key references instead of literal keys. This requires a crypto backend library that supports key references. choice OPENTHREAD_PLATFORM_BOOTLOADER_MODE_CHOICE prompt "Platform bootloader mode configuration" optional config OPENTHREAD_PLATFORM_BOOTLOADER_MODE_RETENTION bool "Bootloader mode support with boot mode retention API" depends on RETENTION_BOOT_MODE && REBOOT select OPENTHREAD_PLATFORM_BOOTLOADER_MODE config OPENTHREAD_PLATFORM_BOOTLOADER_MODE_GPIO bool "Bootloader mode support with GPIO pin trigger" select OPENTHREAD_PLATFORM_BOOTLOADER_MODE endchoice # OPENTHREAD_PLATFORM_BOOTLOADER_MODE config OPENTHREAD_PLATFORM_BOOTLOADER_MODE bool help Platform bootloader mode support config OPENTHREAD_PLATFORM_NETIF bool "Platform netif support" config OPENTHREAD_PLATFORM_UDP bool "Platform UDP support" choice OPENTHREAD_POWER_SUPPLY_CHOICE prompt "Power supply configuration" default OPENTHREAD_POWER_SUPPLY_EXTERNAL config OPENTHREAD_POWER_SUPPLY_BATTERY bool "OT_POWER_SUPPLY_BATTERY" config OPENTHREAD_POWER_SUPPLY_EXTERNAL bool "OT_POWER_SUPPLY_EXTERNAL" config OPENTHREAD_POWER_SUPPLY_EXTERNAL_STABLE bool "OT_POWER_SUPPLY_EXTERNAL_STABLE" config OPENTHREAD_POWER_SUPPLY_EXTERNAL_UNSTABLE bool "OT_POWER_SUPPLY_EXTERNAL_UNSTABLE" endchoice # OPENTHREAD_POWER_SUPPLY_CHOICE config OPENTHREAD_POWER_SUPPLY string prompt "Power supply configuration" default "BATTERY" if OPENTHREAD_POWER_SUPPLY_BATTERY default "EXTERNAL" if OPENTHREAD_POWER_SUPPLY_EXTERNAL default "EXTERNAL_STABLE" if OPENTHREAD_POWER_SUPPLY_EXTERNAL_STABLE default "EXTERNAL_UNSTABLE" if OPENTHREAD_POWER_SUPPLY_EXTERNAL_UNSTABLE default "" config OPENTHREAD_RADIO_STATS bool "Support for Radio Statistics" config OPENTHREAD_RAW bool "Raw Link support" config OPENTHREAD_REFERENCE_DEVICE bool "Reference Device support" help Enable Thread Certification reference device support in OpenThread stack config OPENTHREAD_SETTINGS_RAM bool "Volatile-only storage of settings" config OPENTHREAD_SLAAC bool "SLAAC support" config OPENTHREAD_SNTP_CLIENT bool "SNTP Client support" config OPENTHREAD_SRP_ADV_PROXY bool "SRP Server Advertising Proxy support" depends on OPENTHREAD_SRP_SERVER depends on OPENTHREAD_BORDER_ROUTING config OPENTHREAD_SRP_CLIENT bool "SRP Client support" select OPENTHREAD_ECDSA config OPENTHREAD_SRP_SERVER bool "SRP Server support" select OPENTHREAD_NETDATA_PUBLISHER select OPENTHREAD_ECDSA config OPENTHREAD_TIME_SYNC bool "The time synchronization service feature [EXPERIMENTAL]" select EXPERIMENTAL config OPENTHREAD_TREL bool "TREL radio link for Thread over Infrastructure feature" config OPENTHREAD_TX_BEACON_PAYLOAD bool "TX beacon payload support" config OPENTHREAD_TX_QUEUE_STATISTICS bool "TX queue statistics support" config OPENTHREAD_UDP_FORWARD bool "UDP forward support" config OPENTHREAD_UPTIME bool "Openthread uptime counter" default y if OPENTHREAD_FTD config OPENTHREAD_VERHOEFF_CHECKSUM bool "Verhoeff checksum"