blob: 2cc4dff79920699ffd6a7090311652766a9cd777 [file]
# Thread network configuration options
# Copyright (c) 2020 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
config OPENTHREAD_PANID
int "Default PAN ID"
default 43981
config OPENTHREAD_CHANNEL
int "Default Channel"
default 11
config OPENTHREAD_NETWORK_NAME
string "Default network name"
default "ot_zephyr"
help
Network name for OpenThread
config OPENTHREAD_XPANID
string "Default Extended PAN ID"
default "de:ad:00:be:ef:00:ca:fe"
help
Extended PAN ID for OpenThread with
format "de:ad:00:be:ef:00:ca:fe"
config OPENTHREAD_NETWORKKEY
string "Default Thread Network Key"
help
Network Key for OpenThread with format
"00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff"
config OPENTHREAD_JOINER_AUTOSTART
bool "Automatic joiner start"
depends on OPENTHREAD_JOINER
help
Start the Thread commissioning joiner during initialization when the
device has no stored operational dataset.
The joiner authenticates with any in-range commissioner that presents
the configured PSKd, and then enables Thread with whatever dataset
that commissioner supplies. CONFIG_OPENTHREAD_JOINER_PSKD must be set
to a credential that is not known to anyone else before enabling this.
config OPENTHREAD_JOINER_PSKD
string "Pre-Shared Key for the Joiner (PSKd)"
depends on OPENTHREAD_JOINER_AUTOSTART
help
Joining Device Credential used by CONFIG_OPENTHREAD_JOINER_AUTOSTART,
encoded as 6 to 32 uppercase alphanumeric characters (0-9 and A-Z
excluding I, O, Q and Z). There is deliberately no default value; the
build fails until one is set.
The PSKd is the only thing that authenticates the network a device
joins, and the Thread specification requires it to be unique per
device and shared only with the intended commissioner. A value set
here is compiled into the image and is therefore identical on every
unit running that firmware, so this option is suitable for development
only. Product firmware should read a per-device PSKd from factory data
and call otJoinerStart() from the application instead of enabling
CONFIG_OPENTHREAD_JOINER_AUTOSTART.
choice OPENTHREAD_DEVICE_TYPE
prompt "OpenThread device type"
help
This option selects Thread network device type
config OPENTHREAD_FTD
bool "FTD - Full Thread Device"
config OPENTHREAD_MTD
bool "MTD - Minimal Thread Device"
endchoice
config OPENTHREAD_MTD_SED
bool "SED - Sleepy End Device"
depends on OPENTHREAD_MTD
config OPENTHREAD_POLL_PERIOD
int "Poll period for sleepy end devices [ms]"
default 236000
depends on OPENTHREAD_MTD_SED
config OPENTHREAD_MAX_CHILDREN
int "The maximum number of children"
range 1 511
default 32
config OPENTHREAD_MAX_IP_ADDR_PER_CHILD
int "The maximum number of IPv6 address registrations per child"
range 4 $(UINT8_MAX)
default 6
config OPENTHREAD_CONFIG_PLATFORM_INFO
string "The platform-specific string to insert into the OpenThread version string"
default "Zephyr"
config OPENTHREAD_RADIO_LINK_IEEE_802_15_4_ENABLE
bool "Support for IEEE802.15.4 radio link"
default y
config OPENTHREAD_CSL_AUTO_SYNC
bool "CSL autosync"
default y if OPENTHREAD_CSL_RECEIVER
config OPENTHREAD_CSL_REQUEST_TIME_AHEAD
int "CSL transmitter request time ahead"
default 2000
help
Defines how many microseconds ahead should MAC deliver a CSL frame to the sub-MAC layer.
config OPENTHREAD_CSL_RECEIVE_TIME_AHEAD
int "CSL receiver wake up margin in microseconds"
default 5000
config OPENTHREAD_MIN_RECEIVE_ON_AHEAD
int "Minimum receiving time before start of MHR"
default 192
help
The minimum time (microseconds) that radio has to be in receive mode before the start of the MHR.
config OPENTHREAD_MIN_RECEIVE_ON_AFTER
int "Minimum receiving time after start of MHR"
default 5504
help
The minimum time (microseconds) that radio should be in receive mode after the start of the MHR.
config OPENTHREAD_PLATFORM_CSL_UNCERT
int "CSL uncertainty"
default $(UINT8_MAX)
range 0 $(UINT8_MAX)
help
The fixed uncertainty of the Device for scheduling CSL Transmissions in units of 10 microseconds.
config OPENTHREAD_CSL_TIMEOUT
int "CSL timeout in seconds"
default 100
help
The default CSL timeout in seconds.
config OPENTHREAD_MAC_SOFTWARE_TX_SECURITY_ENABLE
bool "Software transmission security logic"
default y if !OPENTHREAD_THREAD_VERSION_1_1
config OPENTHREAD_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH
bool "Inform previous parent on reattach"
default y if OPENTHREAD_PARENT_SEARCH
help
To allow end devices (EDs) in a Thread network to inform their
previous parent router that they have attached to a new parent
router, enable the Inform Previous Parent on Reattach feature.
config OPENTHREAD_PARENT_SEARCH
bool "Periodic parent search support"
help
To allow end devices (EDs) in a Thread network to switch to a
better parent router than their current onewhile still attached
to the networkenable the Periodic Parent Search feature.
config OPENTHREAD_PARENT_SEARCH_CHECK_INTERVAL
int "Interval to trigger parent search in seconds"
default 540
depends on OPENTHREAD_PARENT_SEARCH
config OPENTHREAD_PARENT_SEARCH_BACKOFF_INTERVAL
int "Backoff interval to prevent parent search retry in seconds"
default 36000
depends on OPENTHREAD_PARENT_SEARCH
config OPENTHREAD_PARENT_SEARCH_RSS_THRESHOLD
int "RSSI threshold to trigger parent search"
default -65
depends on OPENTHREAD_PARENT_SEARCH
config OPENTHREAD_CLI_MAX_LINE_LENGTH
int "The maximum size of the CLI line in bytes"
range 16 $(UINT16_MAX)
default 384
config OPENTHREAD_SHELL_DEFERRED_OUTPUT
bool "Deferred OpenThread CLI shell output"
depends on SHELL
help
Defer OpenThread CLI console output to the system workqueue instead
of writing it synchronously from the OpenThread thread. Output is
accumulated in a ring buffer and drained line by line from the
workqueue. This avoids blocking the OpenThread thread on synchronous
shell UART writes and eliminates the ABBA deadlock risk between the
OpenThread mutex and the shell mutex.
config OPENTHREAD_SHELL_DEFERRED_OUTPUT_BUF_SIZE
int "Deferred OpenThread CLI shell output ring buffer size"
depends on OPENTHREAD_SHELL_DEFERRED_OUTPUT
default 4096
help
Size in bytes of the ring buffer used to hold deferred OpenThread CLI
console output before it is drained by the system workqueue. Verbose
commands (e.g. "router table", "netdata show") can emit large bursts,
so keep this large enough to avoid dropping output.
config OPENTHREAD_CLI_LINK_METRICS_ENH_ACK_VERBOSE
bool "Unsolicited CLI output of Link Metrics data from Enhanced-ACK frames"
depends on OPENTHREAD_LINK_METRICS_INITIATOR
help
Enable unsolicited CLI output of Link Metrics data received in
Enhanced-ACK frames. When disabled (default), Link Metrics data is
still processed internally and queryable via "linkmetrics show".
Enabling this option adds CLI output calls inside the time-critical
MAC transmit-done path, which on platforms with synchronous/blocking
CLI transport may break SED fast-poll timing.
config OPENTHREAD_IP6_MAX_EXT_UCAST_ADDRS
int "The maximum number of supported IPv6 addresses allows to be externally added"
range 0 32
default 4
config OPENTHREAD_IP6_MAX_EXT_MCAST_ADDRS
int "The maximum number of supported IPv6 multicast addresses allows to be externally added"
range 0 32
default 2
config OPENTHREAD_TCP_ENABLE
bool "TCP support"
config OPENTHREAD_CLI_TCP_ENABLE
bool "TCP in the CLI tool"
default y if SHELL
depends on OPENTHREAD_TCP_ENABLE
config OPENTHREAD_HISTORY_TRACKER
bool "History tracker support"
config OPENTHREAD_MAC_STAY_AWAKE_BETWEEN_FRAGMENTS
bool "Stay awake between packet fragments"
help
This optimization is done at the expense of power consumption on SED/SSED devices.
config OPENTHREAD_DEFAULT_RX_SENSITIVITY
int "OpenThread default RX sensitivity in dBm"
range $(INT8_MIN) $(INT8_MAX)
default -100
help
Set the default receive sensitivity [dBm] in radio driver.
config OPENTHREAD_DEFAULT_TX_POWER
int "OpenThread default tx power in dBm"
range -40 20 if NRF_802154_RADIO_DRIVER
default 0
help
Set the default TX output power [dBm] in radio driver for OpenThread purpose.
config OPENTHREAD_TCAT_MULTIRADIO_CAPABILITIES
bool "Openthread multiradio capability"
default y if OPENTHREAD_BLE_TCAT
help
Openthread multiradio capability.
config OPENTHREAD_BLE_TCAT_THREAD_STACK_SIZE
int "Openthread default TCAT stack size"
default 5120 if OPENTHREAD_CRYPTO_PSA
default 4200
help
Openthread default TCAT stack size.
config OPENTHREAD_BLE_TCAT_RING_BUF_SIZE
int "Openthread BLE ringbuffer size"
default 512
help
Openthread BLE TCAT ringbuffer size.
config OPENTHREAD_NAT64_CIDR
string "Set IPv4 CIDR used by NAT64"
default "192.168.255.0/24"
depends on OPENTHREAD_BORDER_ROUTING && OPENTHREAD_NAT64_TRANSLATOR
help
Set the IPv4 CIDR (Classless Inter-Domain Routing) used by NAT64
to set source address of the outgoing translated IPv4 packets.
The CIDR must have four bytes in the address with the
non-zero length of prefix (e.g., "127.0.0.1/24").
config OPENTHREAD_STORE_FRAME_COUNTER_AHEAD
int "Openthread frame counter ahead value"
default 100000
help
Openthread value ahead of the current frame counter for persistent storage.
config OPENTHREAD_CHILD_SUPERVISION_CHECK_TIMEOUT
int "Openthread child supervision check timeout in seconds"
default 190
help
The supervision check timeout interval in seconds used by a device in child state.
Set to zero to disable the supervision check process on the child.
config OPENTHREAD_CHILD_SUPERVISION_INTERVAL
int "Openthread child supervision interval in seconds"
default 129
help
The supervision interval used by a parent device to send a supervision message
to the child, if there is no transmission to the child within this interval.
Set to zero to disable the supervision check process on the child.
config OPENTHREAD_MLE_CHILD_TIMEOUT
int "Openthread MLE child timeout in seconds"
default 240
help
The value of MLE child timeout in seconds.
config OPENTHREAD_RCP_RESTORATION_MAX_COUNT
int "Openthread RCP restoration maximum count"
default 2
help
The maximum number of attempts to restore the RCP connection.
config OPENTHREAD_ROUTER_SELECTION_JITTER_OVERRIDE
bool "Override default router selection jitter"
depends on OPENTHREAD_FTD
config OPENTHREAD_ROUTER_SELECTION_JITTER
int "OpenThread router selection jitter in seconds"
depends on OPENTHREAD_ROUTER_SELECTION_JITTER_OVERRIDE
default 120
config OPENTHREAD_NET_DIAG_VENDOR_NAME
string "Vendor name populated in OpenThread network diagnostics TLV"
default "Zephyr"
help
This value represents vendor name that will be exposed in network diagnostic TLV.
config OPENTHREAD_NET_DIAG_VENDOR_MODEL
string "Vendor model populated in OpenThread network diagnostics TLV"
default "Zephyr-OpenThread"
help
This value represents vendor model that will be exposed in network diagnostic TLV.
config OPENTHREAD_NET_DIAG_VENDOR_SW_VERSION
string "Vendor software version populated in OpenThread network diagnostics TLV"
default "Zephyr-OT-v1.0"
help
This value represents vendor software version that will be exposed in network diagnostic TLV.