blob: 17031467b7c556c3d40497b8a2ea02464e78e7bc [file] [log] [blame]
# 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_AGENT_ID
bool "Create and save border agent ID"
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_WAKEUP_COORDINATOR
bool "Wake-up Coordinator support"
select OPENTHREAD_CSL_RECEIVER
config OPENTHREAD_WAKEUP_END_DEVICE
bool "Wake-up End Device support"
imply OPENTHREAD_CSL_RECEIVER
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_DISCOVERY_PROXY
bool "DNS-SD discovery proxy support"
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_DYNAMIC_STORE_FRAME_AHEAD_COUNTER
bool "Dynamic store frame ahead counter"
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_NETDIAG_VENDOR_INFO
bool "Allow setting vendor info at runtime"
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"
config OPENTHREAD_CLI_VENDOR_EXTENSION
string "Path to CMake file to define and link Openthread CLI vendor extension"