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_MAC_BEACON_PAYLOAD_PARSING 240 bool "MAC beacon payload parsing support" 241 242config OPENTHREAD_MULTICAST_DNS 243 bool "Multicast DNS (mDNS)" 244 245config OPENTHREAD_MESH_DIAG 246 bool "Mesh Diagnostics" 247 depends on OPENTHREAD_FTD 248 help 249 Enable Mesh Diagnostics 250 251config OPENTHREAD_MESSAGE_USE_HEAP 252 bool "Heap allocator for message buffers" 253 254config OPENTHREAD_MLE_LONG_ROUTES 255 bool "MLE long routes extension (experimental)" 256 select EXPERIMENTAL 257 help 258 Enable MLE long routes extension (experimental, breaks Thread conformance) 259 260config OPENTHREAD_MLR 261 bool "Multicast Listener Registration support" 262 help 263 Enable Multicast Listener Registration support for Thread 1.2 264 265config OPENTHREAD_MULTIPAN_RCP 266 bool "OpenThread multipan rcp" 267 268config OPENTHREAD_MULTIPLE_INSTANCE 269 bool "OpenThread multiple instances" 270 271config OPENTHREAD_MULTIPLE_INSTANCE_NUM 272 int "OpenThread number of instances" 273 depends on OPENTHREAD_MULTIPLE_INSTANCE 274 default 3 275 276config OPENTHREAD_NAT64_BORDER_ROUTING 277 bool "Border routing NAT64 support" 278 279config OPENTHREAD_NAT64_TRANSLATOR 280 bool "NAT64 translator support" 281 282config OPENTHREAD_NETDIAG_CLIENT 283 bool "TMF network diagnostics on client" 284 285config OPENTHREAD_NETDIAG_VENDOR_INFO 286 bool "Allow setting vendor info at runtime" 287 288config OPENTHREAD_NEIGHBOR_DISCOVERY_AGENT 289 bool "Neighbor discovery agent support" 290 291config OPENTHREAD_NETDATA_PUBLISHER 292 bool "Thread Network Data publisher" 293 294config OPENTHREAD_OPERATIONAL_DATASET_AUTO_INIT 295 bool "Operational dataset auto init" 296 default y 297 298config OPENTHREAD_OTNS 299 bool "OTNS support" 300 301config OPENTHREAD_PING_SENDER 302 bool "Ping sender support" 303 304config OPENTHREAD_PLATFORM_RADIO_COEX_ENABLE 305 bool "Platform radio coexistence support" 306 help 307 Enable radio coexistence support in the platform. 308 309config OPENTHREAD_PLATFORM_KEY_REF 310 bool "Platform cryptographic key reference support" 311 help 312 Enable usage of cryptographic key references instead of literal keys. 313 This requires a crypto backend library that supports key references. 314 315choice OPENTHREAD_PLATFORM_BOOTLOADER_MODE_CHOICE 316 prompt "Platform bootloader mode configuration" 317 optional 318 319config OPENTHREAD_PLATFORM_BOOTLOADER_MODE_RETENTION 320 bool "Bootloader mode support with boot mode retention API" 321 depends on RETENTION_BOOT_MODE && REBOOT 322 select OPENTHREAD_PLATFORM_BOOTLOADER_MODE 323 324config OPENTHREAD_PLATFORM_BOOTLOADER_MODE_GPIO 325 bool "Bootloader mode support with GPIO pin trigger" 326 select OPENTHREAD_PLATFORM_BOOTLOADER_MODE 327endchoice # OPENTHREAD_PLATFORM_BOOTLOADER_MODE 328 329config OPENTHREAD_PLATFORM_BOOTLOADER_MODE 330 bool 331 help 332 Platform bootloader mode support 333 334config OPENTHREAD_PLATFORM_NETIF 335 bool "Platform netif support" 336 337config OPENTHREAD_PLATFORM_UDP 338 bool "Platform UDP support" 339 340choice OPENTHREAD_POWER_SUPPLY_CHOICE 341 prompt "Power supply configuration" 342 default OPENTHREAD_POWER_SUPPLY_EXTERNAL 343 344config OPENTHREAD_POWER_SUPPLY_BATTERY 345 bool "OT_POWER_SUPPLY_BATTERY" 346 347config OPENTHREAD_POWER_SUPPLY_EXTERNAL 348 bool "OT_POWER_SUPPLY_EXTERNAL" 349 350config OPENTHREAD_POWER_SUPPLY_EXTERNAL_STABLE 351 bool "OT_POWER_SUPPLY_EXTERNAL_STABLE" 352 353config OPENTHREAD_POWER_SUPPLY_EXTERNAL_UNSTABLE 354 bool "OT_POWER_SUPPLY_EXTERNAL_UNSTABLE" 355endchoice # OPENTHREAD_POWER_SUPPLY_CHOICE 356 357config OPENTHREAD_POWER_SUPPLY 358 string 359 prompt "Power supply configuration" 360 default "BATTERY" if OPENTHREAD_POWER_SUPPLY_BATTERY 361 default "EXTERNAL" if OPENTHREAD_POWER_SUPPLY_EXTERNAL 362 default "EXTERNAL_STABLE" if OPENTHREAD_POWER_SUPPLY_EXTERNAL_STABLE 363 default "EXTERNAL_UNSTABLE" if OPENTHREAD_POWER_SUPPLY_EXTERNAL_UNSTABLE 364 default "" 365 366config OPENTHREAD_RADIO_STATS 367 bool "Support for Radio Statistics" 368 369config OPENTHREAD_RAW 370 bool "Raw Link support" 371 372config OPENTHREAD_REFERENCE_DEVICE 373 bool "Reference Device support" 374 help 375 Enable Thread Certification reference device support in OpenThread stack 376 377config OPENTHREAD_SETTINGS_RAM 378 bool "Volatile-only storage of settings" 379 380config OPENTHREAD_SLAAC 381 bool "SLAAC support" 382 383config OPENTHREAD_SNTP_CLIENT 384 bool "SNTP Client support" 385 386config OPENTHREAD_SRP_ADV_PROXY 387 bool "SRP Server Advertising Proxy support" 388 depends on OPENTHREAD_SRP_SERVER 389 depends on OPENTHREAD_BORDER_ROUTING 390 391config OPENTHREAD_SRP_CLIENT 392 bool "SRP Client support" 393 select OPENTHREAD_ECDSA 394 395config OPENTHREAD_SRP_SERVER 396 bool "SRP Server support" 397 select OPENTHREAD_NETDATA_PUBLISHER 398 select OPENTHREAD_ECDSA 399 400config OPENTHREAD_SRP_SERVER_FAST_START 401 bool "SRP server fast start" 402 403config OPENTHREAD_TIME_SYNC 404 bool "The time synchronization service feature [EXPERIMENTAL]" 405 select EXPERIMENTAL 406 407config OPENTHREAD_TREL 408 bool "TREL radio link for Thread over Infrastructure feature" 409 410config OPENTHREAD_TREL_MANAGE_DNSSD 411 bool "TREL to manage DNSSD and peer discovery" 412 413config OPENTHREAD_TX_BEACON_PAYLOAD 414 bool "TX beacon payload support" 415 416config OPENTHREAD_TX_QUEUE_STATISTICS 417 bool "TX queue statistics support" 418 419config OPENTHREAD_UDP_FORWARD 420 bool "UDP forward support" 421 422config OPENTHREAD_UPTIME 423 bool "Openthread uptime counter" 424 default y if OPENTHREAD_FTD || OPENTHREAD_MTD 425 426config OPENTHREAD_VERHOEFF_CHECKSUM 427 bool "Verhoeff checksum" 428 429config OPENTHREAD_CLI_VENDOR_EXTENSION 430 string "Path to CMake file to define and link Openthread CLI vendor extension" 431