1# OpenThread stack features selection
2
3# Copyright (c) 2020 Nordic Semiconductor ASA
4# SPDX-License-Identifier: Apache-2.0
5
6choice
7	prompt "OpenThread stack version"
8	help
9	  This option selects version of Thread stack
10
11config OPENTHREAD_THREAD_VERSION_1_1
12	bool "Version 1.1"
13config OPENTHREAD_THREAD_VERSION_1_2
14	bool "Version 1.2"
15endchoice
16
17config OPENTHREAD_THREAD_VERSION
18	string
19	default "1.1" if OPENTHREAD_THREAD_VERSION_1_1
20	default "1.2" if OPENTHREAD_THREAD_VERSION_1_2
21	default "unknown"
22
23config OPENTHREAD_BACKBONE_ROUTER
24	bool "Enable Backbone Router functionality"
25
26config OPENTHREAD_BORDER_AGENT
27	bool "Enable Border Agent support"
28
29config OPENTHREAD_BORDER_ROUTER
30	bool "Enable Border Router support"
31
32config OPENTHREAD_COAP
33	bool "Enable OpenThread CoAP support"
34	help
35	  Enable CoAP API for the application with use of OpenThread stack
36
37config OPENTHREAD_COAPS
38	bool "Enable Secure CoAP API support"
39	depends on OPENTHREAD_COAP
40
41config OPENTHREAD_COAP_BLOCK
42	bool "Enable CoAP Block-wise option support"
43
44config OPENTHREAD_COAP_OBSERVE
45	bool "Enable CoAP Observe option support"
46
47config OPENTHREAD_COMMISSIONER
48	bool "Enable Commissioner functions support"
49	help
50	  Enable commissioner capability in OpenThread stack. Note, that DTLS
51	  handshake used in the commissioning procedure requires a larger
52	  mbedTLS heap than the default value. A minimum recommended value of
53	  CONFIG_MBEDTLS_HEAP_SIZE for the commissioning is 10KB.
54
55config OPENTHREAD_CHANNEL_MANAGER
56	bool "Enable channel manager support"
57	depends on OPENTHREAD_CHANNEL_MONITOR
58
59config OPENTHREAD_CHANNEL_MONITOR
60	bool "Enable channel monitor support"
61
62config OPENTHREAD_CHILD_SUPERVISION
63	bool "Enable child supervision support"
64
65config OPENTHREAD_CSL_RECEIVER
66	bool "Enable CSL Receiver support"
67	help
68	  Enable CSL Receiver support for Thread 1.2
69
70config OPENTHREAD_DHCP6_CLIENT
71	bool "Enable DHCPv6 client support"
72
73config OPENTHREAD_DHCP6_SERVER
74	bool "Enable DHCPv6 server support"
75
76config OPENTHREAD_DIAG
77	bool "Enable Diagnostic functions support"
78	help
79	  Enable OpenThread CLI diagnostic commands
80
81config OPENTHREAD_DNS_CLIENT
82	bool "Enable DNS client support"
83
84config OPENTHREAD_DNSSD_SERVER
85	bool "Enable DNS-SD server support"
86
87config OPENTHREAD_DUA
88	bool "Enable Domain Unicast Address support"
89	help
90	  Enable Domain Unicast Address feature for Thread 1.2
91
92config OPENTHREAD_LOG_LEVEL_DYNAMIC
93	bool "Enable dynamic log level control"
94
95config OPENTHREAD_ECDSA
96	bool "Enable ECDSA support"
97
98config OPENTHREAD_EXTERNAL_HEAP
99	bool "Enable external heap support"
100
101config OPENTHREAD_IP6_FRAGM
102	bool "Enable IPv6 fragmentation support"
103
104config OPENTHREAD_JAM_DETECTION
105	bool "Enable Jam detection support"
106
107config OPENTHREAD_JOINER
108	bool "Enable Joiner functions support"
109	help
110	  Enable joiner capability in OpenThread stack. Note, that DTLS
111	  handshake used in the commissioning procedure requires a larger
112	  mbedTLS heap than the default value. A minimum recommended value of
113	  CONFIG_MBEDTLS_HEAP_SIZE for the commissioning is 10KB.
114
115config OPENTHREAD_LEGACY
116	bool "Enable legacy network support"
117
118config OPENTHREAD_RAW
119	bool "Enable raw Link support"
120
121config OPENTHREAD_MAC_FILTER
122	bool "Enable MAC filter support"
123
124config OPENTHREAD_MLE_LONG_ROUTES
125	bool "Enable MLE long routes extension (experimental)"
126	help
127	  Enable MLE long routes extension (experimental, breaks Thread conformance)
128
129config OPENTHREAD_MLR
130	bool "Enable Multicast Listener Registration support"
131	help
132	  Enable Multicast Listener Registration support for Thread 1.2
133
134config OPENTHREAD_MTD_NETDIAG
135	bool "Enable TMF network diagnostics on MTDs"
136
137config OPENTHREAD_MULTIPLE_INSTANCE
138	bool "Enable OpenThread multiple instances"
139
140config OPENTHREAD_NEIGHBOR_DISCOVERY_AGENT
141	bool "Enable neighbor discovery agent support"
142
143config OPENTHREAD_NETDATA_PUBLISHER
144	bool "Enable Thread Network Data publisher"
145
146config OPENTHREAD_PING_SENDER
147	bool "Enable ping sender support"
148
149config OPENTHREAD_PLATFORM_UDP
150	bool "Enable platform UDP support"
151
152config OPENTHREAD_PLATFORM_NETIF
153	bool "Enable platform netif support"
154
155config OPENTHREAD_REFERENCE_DEVICE
156	bool "Enable Reference Device support"
157	help
158	  Enable Thread Certification reference device support in OpenThread stack
159
160config OPENTHREAD_ENABLE_SERVICE
161	bool "Enable Service support"
162	help
163	  Enable Thread Services capability in OpenThread stack
164
165config OPENTHREAD_SLAAC
166	bool "Enable SLAAC support"
167
168config OPENTHREAD_SNTP_CLIENT
169	bool "Enable SNTP Client support"
170
171config OPENTHREAD_TIME_SYNC
172	bool "Enable the time synchronization service feature"
173
174config OPENTHREAD_TREL
175	bool "Enable TREL radio link for Thread over Infrastructure feature"
176
177config OPENTHREAD_UDP_FORWARD
178	bool "Enable UDP forward support"
179
180config OPENTHREAD_SETTINGS_RAM
181	bool "Enable volatile-only storage of settings"
182
183config OPENTHREAD_OTNS
184	bool "Enable OTNS support"
185
186config OPENTHREAD_FULL_LOGS
187	bool "Enable OpenThread full logs"
188
189config OPENTHREAD_LINK_METRICS_INITIATOR
190	bool "Enable Link Metrics initiator"
191
192config OPENTHREAD_LINK_METRICS_SUBJECT
193	bool "Enable Link Metrics subject"
194
195config OPENTHREAD_SRP_CLIENT
196	bool "Enable SRP Client support"
197	select OPENTHREAD_ECDSA
198
199config OPENTHREAD_SRP_SERVER
200	bool "Enable SRP Server support"
201	select OPENTHREAD_ECDSA
202