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