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