1# OpenThread stack features selection 2 3# Copyright (c) 2020 Nordic Semiconductor ASA 4# SPDX-License-Identifier: Apache-2.0 5 6choice OPENTHREAD_STACK_VERSION 7 prompt "OpenThread stack version" 8 default OPENTHREAD_THREAD_VERSION_1_1 9 help 10 This option selects version of Thread stack 11 12config OPENTHREAD_THREAD_VERSION_1_1 13 bool "Version 1.1" 14config OPENTHREAD_THREAD_VERSION_1_2 15 bool "Version 1.2" 16config OPENTHREAD_THREAD_VERSION_1_3 17 bool "Version 1.3" 18config OPENTHREAD_THREAD_VERSION_1_3_1 19 bool "Version 1.3.1" 20endchoice # OPENTHREAD_STACK_VERSION 21 22config OPENTHREAD_THREAD_VERSION 23 string 24 default "1.1" if OPENTHREAD_THREAD_VERSION_1_1 25 default "1.2" if OPENTHREAD_THREAD_VERSION_1_2 26 default "1.3" if OPENTHREAD_THREAD_VERSION_1_3 27 default "1.3.1" if OPENTHREAD_THREAD_VERSION_1_3_1 28 default "unknown" 29 30config OPENTHREAD_ANYCAST_LOCATOR 31 bool "Anycast locator support" 32 33config OPENTHREAD_BACKBONE_ROUTER 34 bool "Backbone Router functionality" 35 36config OPENTHREAD_BACKBONE_ROUTER_DUA_NDPROXYING 37 bool "BBR DUA ND Proxy support" 38 39config OPENTHREAD_BACKBONE_ROUTER_MULTICAST_ROUTING 40 bool "BBR MR support" 41 42config OPENTHREAD_BLE_TCAT 43 bool "BLE TCAT support" 44 select EXPERIMENTAL 45 46config OPENTHREAD_BORDER_AGENT 47 bool "Border Agent support" 48 49config OPENTHREAD_BORDER_AGENT_EPHEMERAL_KEY_ENABLE 50 bool "Border agent ephemeral PSKc" 51 52config OPENTHREAD_BORDER_ROUTER 53 bool "Border Router support" 54 55config OPENTHREAD_BORDER_ROUTING 56 bool "Border routing support" 57 58config OPENTHREAD_BORDER_ROUTING_COUNTERS 59 bool "Border routing counters support" 60 61config OPENTHREAD_BORDER_ROUTING_DHCP6_PD 62 bool "DHCPv6-PD support in border routing" 63 64config OPENTHREAD_CHANNEL_MONITOR 65 bool "Channel monitor support" 66 67config OPENTHREAD_CHANNEL_MANAGER 68 bool "Channel manager support" 69 depends on OPENTHREAD_CHANNEL_MONITOR 70 71config OPENTHREAD_CHANNEL_MANAGER_CSL 72 bool "Channel manager for CSL channel" 73 74config OPENTHREAD_COAP 75 bool "OpenThread CoAP support" 76 help 77 Enable CoAP API for the application with use of OpenThread stack 78 79config OPENTHREAD_COAP_BLOCK 80 bool "CoAP Block-wise option support" 81 82config OPENTHREAD_COAP_OBSERVE 83 bool "CoAP Observe option support" 84 85config OPENTHREAD_COAPS 86 bool "Secure CoAP API support" 87 depends on OPENTHREAD_COAP 88 89config OPENTHREAD_COMMISSIONER 90 bool "Commissioner functions support" 91 help 92 Enable commissioner capability in OpenThread stack. Note, that DTLS 93 handshake used in the commissioning procedure requires a larger 94 mbedTLS heap than the default value. A minimum recommended value of 95 CONFIG_MBEDTLS_HEAP_SIZE for the commissioning is 10KB. 96 97config OPENTHREAD_CSL_DEBUG 98 bool "CSL debugging" 99 100config OPENTHREAD_CSL_RECEIVER 101 bool "CSL Receiver support" 102 help 103 Enable CSL Receiver support for Thread 1.2 104 105config OPENTHREAD_CSL_RECEIVER_LOCAL_TIME_SYNC 106 bool "Use local time for CSL synchronization" 107 help 108 Use host time rather than radio platform time to track elapsed time 109 since last CSL synchronization. This reduces the usage of radio API 110 calls, and it is useful for platforms in which those are costly. 111 112config OPENTHREAD_DEVICE_PROP_LEADER_WEIGHT 113 bool "Device props for leader weight" 114 default n if (OPENTHREAD_THREAD_VERSION_1_1 || \ 115 OPENTHREAD_THREAD_VERSION_1_2 || \ 116 OPENTHREAD_THREAD_VERSION_1_3) 117 default y 118 help 119 Enable the device properties which are then used to determine and set 120 the Leader Weight. 121 122config OPENTHREAD_DATASET_UPDATER 123 bool "Dataset updater" 124 125config OPENTHREAD_DHCP6_CLIENT 126 bool "DHCPv6 client support" 127 128config OPENTHREAD_DHCP6_SERVER 129 bool "DHCPv6 server support" 130 131config OPENTHREAD_DIAG 132 bool "Diagnostic functions support" 133 help 134 Enable OpenThread CLI diagnostic commands 135 136config OPENTHREAD_DNS_CLIENT 137 bool "DNS client support" 138 139config OPENTHREAD_DNS_CLIENT_OVER_TCP 140 bool "DNS query over tcp" 141 142config OPENTHREAD_DNS_DSO 143 bool "DNS Stateful Operations (DSO) support" 144 145config OPENTHREAD_DNS_UPSTREAM_QUERY 146 bool "Forwarding DNS queries to upstream" 147 help 148 Enable forwarding DNS queries to platform DNS upstream API 149 150config OPENTHREAD_DNSSD_SERVER 151 bool "DNS-SD server support" 152 153config OPENTHREAD_DUA 154 bool "Domain Unicast Address support" 155 help 156 Enable Domain Unicast Address feature for Thread 1.2 157 158config OPENTHREAD_ECDSA 159 bool "ECDSA support" 160 161config OPENTHREAD_ENABLE_SERVICE 162 bool "Service support" 163 help 164 Enable Thread Services capability in OpenThread stack 165 166config OPENTHREAD_EXTERNAL_HEAP 167 bool "External heap support" 168 169config OPENTHREAD_FIREWALL 170 bool "Firewall support" 171 172config OPENTHREAD_FULL_LOGS 173 bool "OpenThread full logs" 174 175config OPENTHREAD_IP6_FRAGM 176 bool "IPv6 fragmentation support" 177 178config OPENTHREAD_JAM_DETECTION 179 bool "Jam detection support" 180 181config OPENTHREAD_JOINER 182 bool "Joiner functions support" 183 help 184 Enable joiner capability in OpenThread stack. Note, that DTLS 185 handshake used in the commissioning procedure requires a larger 186 mbedTLS heap than the default value. A minimum recommended value of 187 CONFIG_MBEDTLS_HEAP_SIZE for the commissioning is 10KB. 188 189config OPENTHREAD_LEGACY 190 bool "Legacy network support" 191 192config OPENTHREAD_LINK_METRICS_INITIATOR 193 bool "Link Metrics initiator" 194 195config OPENTHREAD_LINK_METRICS_MANAGER 196 bool "Link Metrics manager" 197 198config OPENTHREAD_LINK_METRICS_SUBJECT 199 bool "Link Metrics subject" 200 201config OPENTHREAD_PLATFORM_LOG_CRASH_DUMP 202 bool "Platform log crash dump" 203 204config OPENTHREAD_LOG_LEVEL_DYNAMIC 205 bool "Dynamic log level control" 206 207config OPENTHREAD_MAC_FILTER 208 bool "MAC filter support" 209 210config OPENTHREAD_MULTICAST_DNS 211 bool "Multicast DNS (mDNS)" 212 213config OPENTHREAD_MESH_DIAG 214 bool "Mesh Diagnostics" 215 depends on OPENTHREAD_FTD 216 help 217 Enable Mesh Diagnostics 218 219config OPENTHREAD_MESSAGE_USE_HEAP 220 bool "Heap allocator for message buffers" 221 222config OPENTHREAD_MLE_LONG_ROUTES 223 bool "MLE long routes extension (experimental)" 224 select EXPERIMENTAL 225 help 226 Enable MLE long routes extension (experimental, breaks Thread conformance) 227 228config OPENTHREAD_MLR 229 bool "Multicast Listener Registration support" 230 help 231 Enable Multicast Listener Registration support for Thread 1.2 232 233config OPENTHREAD_MULTIPAN_RCP 234 bool "OpenThread multipan rcp" 235 236config OPENTHREAD_MULTIPLE_INSTANCE 237 bool "OpenThread multiple instances" 238 239config OPENTHREAD_NAT64_BORDER_ROUTING 240 bool "Border routing NAT64 support" 241 242config OPENTHREAD_NAT64_TRANSLATOR 243 bool "NAT64 translator support" 244 245config OPENTHREAD_NETDIAG_CLIENT 246 bool "TMF network diagnostics on client" 247 248config OPENTHREAD_NEIGHBOR_DISCOVERY_AGENT 249 bool "Neighbor discovery agent support" 250 251config OPENTHREAD_NETDATA_PUBLISHER 252 bool "Thread Network Data publisher" 253 254config OPENTHREAD_OPERATIONAL_DATASET_AUTO_INIT 255 bool "Operational dataset auto init" 256 default y 257 258config OPENTHREAD_OTNS 259 bool "OTNS support" 260 261config OPENTHREAD_PING_SENDER 262 bool "Ping sender support" 263 264config OPENTHREAD_PLATFORM_KEY_REF 265 bool "Platform cryptographic key reference support" 266 help 267 Enable usage of cryptographic key references instead of literal keys. 268 This requires a crypto backend library that supports key references. 269 270choice OPENTHREAD_PLATFORM_BOOTLOADER_MODE_CHOICE 271 prompt "Platform bootloader mode configuration" 272 optional 273 274config OPENTHREAD_PLATFORM_BOOTLOADER_MODE_RETENTION 275 bool "Bootloader mode support with boot mode retention API" 276 depends on RETENTION_BOOT_MODE && REBOOT 277 select OPENTHREAD_PLATFORM_BOOTLOADER_MODE 278 279config OPENTHREAD_PLATFORM_BOOTLOADER_MODE_GPIO 280 bool "Bootloader mode support with GPIO pin trigger" 281 select OPENTHREAD_PLATFORM_BOOTLOADER_MODE 282endchoice # OPENTHREAD_PLATFORM_BOOTLOADER_MODE 283 284config OPENTHREAD_PLATFORM_BOOTLOADER_MODE 285 bool 286 help 287 Platform bootloader mode support 288 289config OPENTHREAD_PLATFORM_NETIF 290 bool "Platform netif support" 291 292config OPENTHREAD_PLATFORM_UDP 293 bool "Platform UDP support" 294 295choice OPENTHREAD_POWER_SUPPLY_CHOICE 296 prompt "Power supply configuration" 297 default OPENTHREAD_POWER_SUPPLY_EXTERNAL 298 299config OPENTHREAD_POWER_SUPPLY_BATTERY 300 bool "OT_POWER_SUPPLY_BATTERY" 301 302config OPENTHREAD_POWER_SUPPLY_EXTERNAL 303 bool "OT_POWER_SUPPLY_EXTERNAL" 304 305config OPENTHREAD_POWER_SUPPLY_EXTERNAL_STABLE 306 bool "OT_POWER_SUPPLY_EXTERNAL_STABLE" 307 308config OPENTHREAD_POWER_SUPPLY_EXTERNAL_UNSTABLE 309 bool "OT_POWER_SUPPLY_EXTERNAL_UNSTABLE" 310endchoice # OPENTHREAD_POWER_SUPPLY_CHOICE 311 312config OPENTHREAD_POWER_SUPPLY 313 string 314 prompt "Power supply configuration" 315 default "BATTERY" if OPENTHREAD_POWER_SUPPLY_BATTERY 316 default "EXTERNAL" if OPENTHREAD_POWER_SUPPLY_EXTERNAL 317 default "EXTERNAL_STABLE" if OPENTHREAD_POWER_SUPPLY_EXTERNAL_STABLE 318 default "EXTERNAL_UNSTABLE" if OPENTHREAD_POWER_SUPPLY_EXTERNAL_UNSTABLE 319 default "" 320 321config OPENTHREAD_RADIO_STATS 322 bool "Support for Radio Statistics" 323 324config OPENTHREAD_RAW 325 bool "Raw Link support" 326 327config OPENTHREAD_REFERENCE_DEVICE 328 bool "Reference Device support" 329 help 330 Enable Thread Certification reference device support in OpenThread stack 331 332config OPENTHREAD_SETTINGS_RAM 333 bool "Volatile-only storage of settings" 334 335config OPENTHREAD_SLAAC 336 bool "SLAAC support" 337 338config OPENTHREAD_SNTP_CLIENT 339 bool "SNTP Client support" 340 341config OPENTHREAD_SRP_ADV_PROXY 342 bool "SRP Server Advertising Proxy support" 343 depends on OPENTHREAD_SRP_SERVER 344 depends on OPENTHREAD_BORDER_ROUTING 345 346config OPENTHREAD_SRP_CLIENT 347 bool "SRP Client support" 348 select OPENTHREAD_ECDSA 349 350config OPENTHREAD_SRP_SERVER 351 bool "SRP Server support" 352 select OPENTHREAD_NETDATA_PUBLISHER 353 select OPENTHREAD_ECDSA 354 355config OPENTHREAD_TIME_SYNC 356 bool "The time synchronization service feature [EXPERIMENTAL]" 357 select EXPERIMENTAL 358 359config OPENTHREAD_TREL 360 bool "TREL radio link for Thread over Infrastructure feature" 361 362config OPENTHREAD_TX_BEACON_PAYLOAD 363 bool "TX beacon payload support" 364 365config OPENTHREAD_TX_QUEUE_STATISTICS 366 bool "TX queue statistics support" 367 368config OPENTHREAD_UDP_FORWARD 369 bool "UDP forward support" 370 371config OPENTHREAD_UPTIME 372 bool "Openthread uptime counter" 373 default y if OPENTHREAD_FTD 374 375config OPENTHREAD_VERHOEFF_CHECKSUM 376 bool "Verhoeff checksum" 377