Merge tag 'ovl-fixes-6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/overla...
[linux-2.6-microblaze.git] / net / mac80211 / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 config MAC80211
3         tristate "Generic IEEE 802.11 Networking Stack (mac80211)"
4         depends on CFG80211
5         select CRYPTO
6         select CRYPTO_LIB_ARC4
7         select CRYPTO_AES
8         select CRYPTO_CCM
9         select CRYPTO_GCM
10         select CRYPTO_CMAC
11         select CRC32
12         help
13           This option enables the hardware independent IEEE 802.11
14           networking stack.
15
16 comment "CFG80211 needs to be enabled for MAC80211"
17         depends on CFG80211=n
18
19 if MAC80211 != n
20
21 config MAC80211_HAS_RC
22         bool
23
24 config MAC80211_RC_MINSTREL
25         bool "Minstrel" if EXPERT
26         select MAC80211_HAS_RC
27         default y
28         help
29           This option enables the 'minstrel' TX rate control algorithm
30
31 choice
32         prompt "Default rate control algorithm"
33         depends on MAC80211_HAS_RC
34         default MAC80211_RC_DEFAULT_MINSTREL
35         help
36           This option selects the default rate control algorithm
37           mac80211 will use. Note that this default can still be
38           overridden through the ieee80211_default_rc_algo module
39           parameter if different algorithms are available.
40
41 config MAC80211_RC_DEFAULT_MINSTREL
42         bool "Minstrel"
43         depends on MAC80211_RC_MINSTREL
44         help
45           Select Minstrel as the default rate control algorithm.
46
47
48 endchoice
49
50 config MAC80211_RC_DEFAULT
51         string
52         default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL
53         default ""
54
55 endif
56
57 comment "Some wireless drivers require a rate control algorithm"
58         depends on MAC80211 && MAC80211_HAS_RC=n
59
60 config MAC80211_KUNIT_TEST
61         tristate "KUnit tests for mac80211" if !KUNIT_ALL_TESTS
62         depends on KUNIT
63         depends on MAC80211
64         default KUNIT_ALL_TESTS
65         depends on !KERNEL_6_2
66         help
67           Enable this option to test mac80211 internals with kunit.
68
69           If unsure, say N.
70
71 config MAC80211_MESH
72         bool "Enable mac80211 mesh networking support"
73         depends on MAC80211
74         help
75           Select this option to enable 802.11 mesh operation in mac80211
76           drivers that support it.  802.11 mesh connects multiple stations
77           over (possibly multi-hop) wireless links to form a single logical
78           LAN.
79
80 config MAC80211_LEDS
81         bool "Enable LED triggers"
82         depends on MAC80211
83         depends on LEDS_CLASS=y || LEDS_CLASS=MAC80211
84         select LEDS_TRIGGERS
85         help
86           This option enables a few LED triggers for different
87           packet receive/transmit events.
88
89 config MAC80211_DEBUGFS
90         bool "Export mac80211 internals in DebugFS"
91         depends on MAC80211 && CFG80211_DEBUGFS
92         help
93           Select this to see extensive information about
94           the internal state of mac80211 in debugfs.
95
96           Say N unless you know you need this.
97
98 config MAC80211_MESSAGE_TRACING
99         bool "Trace all mac80211 debug messages"
100         depends on MAC80211
101         help
102           Select this option to have mac80211 register the
103           mac80211_msg trace subsystem with tracepoints to
104           collect all debugging messages, independent of
105           printing them into the kernel log.
106
107           The overhead in this option is that all the messages
108           need to be present in the binary and formatted at
109           runtime for tracing.
110
111 menuconfig MAC80211_DEBUG_MENU
112         bool "Select mac80211 debugging features"
113         depends on MAC80211
114         help
115           This option collects various mac80211 debug settings.
116
117 config MAC80211_NOINLINE
118         bool "Do not inline TX/RX handlers"
119         depends on MAC80211_DEBUG_MENU
120         help
121           This option affects code generation in mac80211, when
122           selected some functions are marked "noinline" to allow
123           easier debugging of problems in the transmit and receive
124           paths.
125
126           This option increases code size a bit and inserts a lot
127           of function calls in the code, but is otherwise safe to
128           enable.
129
130           If unsure, say N unless you expect to be finding problems
131           in mac80211.
132
133 config MAC80211_VERBOSE_DEBUG
134         bool "Verbose debugging output"
135         depends on MAC80211_DEBUG_MENU
136         help
137           Selecting this option causes mac80211 to print out
138           many debugging messages. It should not be selected
139           on production systems as some of the messages are
140           remotely triggerable.
141
142           Do not select this option.
143
144 config MAC80211_MLME_DEBUG
145         bool "Verbose managed MLME output"
146         depends on MAC80211_DEBUG_MENU
147         help
148           Selecting this option causes mac80211 to print out
149           debugging messages for the managed-mode MLME. It
150           should not be selected on production systems as some
151           of the messages are remotely triggerable.
152
153           Do not select this option.
154
155 config MAC80211_STA_DEBUG
156         bool "Verbose station debugging"
157         depends on MAC80211_DEBUG_MENU
158         help
159           Selecting this option causes mac80211 to print out
160           debugging messages for station addition/removal.
161
162           Do not select this option.
163
164 config MAC80211_HT_DEBUG
165         bool "Verbose HT debugging"
166         depends on MAC80211_DEBUG_MENU
167         help
168           This option enables 802.11n High Throughput features
169           debug tracing output.
170
171           It should not be selected on production systems as some
172           of the messages are remotely triggerable.
173
174           Do not select this option.
175
176 config MAC80211_OCB_DEBUG
177         bool "Verbose OCB debugging"
178         depends on MAC80211_DEBUG_MENU
179         help
180           Selecting this option causes mac80211 to print out
181           very verbose OCB debugging messages. It should not
182           be selected on production systems as those messages
183           are remotely triggerable.
184
185           Do not select this option.
186
187 config MAC80211_IBSS_DEBUG
188         bool "Verbose IBSS debugging"
189         depends on MAC80211_DEBUG_MENU
190         help
191           Selecting this option causes mac80211 to print out
192           very verbose IBSS debugging messages. It should not
193           be selected on production systems as those messages
194           are remotely triggerable.
195
196           Do not select this option.
197
198 config MAC80211_PS_DEBUG
199         bool "Verbose powersave mode debugging"
200         depends on MAC80211_DEBUG_MENU
201         help
202           Selecting this option causes mac80211 to print out very
203           verbose power save mode debugging messages (when mac80211
204           is an AP and has power saving stations.)
205           It should not be selected on production systems as those
206           messages are remotely triggerable.
207
208           Do not select this option.
209
210 config MAC80211_MPL_DEBUG
211         bool "Verbose mesh peer link debugging"
212         depends on MAC80211_DEBUG_MENU
213         depends on MAC80211_MESH
214         help
215           Selecting this option causes mac80211 to print out very
216           verbose mesh peer link debugging messages (when mac80211
217           is taking part in a mesh network).
218           It should not be selected on production systems as those
219           messages are remotely triggerable.
220
221           Do not select this option.
222
223 config MAC80211_MPATH_DEBUG
224         bool "Verbose mesh path debugging"
225         depends on MAC80211_DEBUG_MENU
226         depends on MAC80211_MESH
227         help
228           Selecting this option causes mac80211 to print out very
229           verbose mesh path selection debugging messages (when mac80211
230           is taking part in a mesh network).
231           It should not be selected on production systems as those
232           messages are remotely triggerable.
233
234           Do not select this option.
235
236 config MAC80211_MHWMP_DEBUG
237         bool "Verbose mesh HWMP routing debugging"
238         depends on MAC80211_DEBUG_MENU
239         depends on MAC80211_MESH
240         help
241           Selecting this option causes mac80211 to print out very
242           verbose mesh routing (HWMP) debugging messages (when mac80211
243           is taking part in a mesh network).
244           It should not be selected on production systems as those
245           messages are remotely triggerable.
246
247           Do not select this option.
248
249 config MAC80211_MESH_SYNC_DEBUG
250         bool "Verbose mesh synchronization debugging"
251         depends on MAC80211_DEBUG_MENU
252         depends on MAC80211_MESH
253         help
254           Selecting this option causes mac80211 to print out very verbose mesh
255           synchronization debugging messages (when mac80211 is taking part in a
256           mesh network).
257
258           Do not select this option.
259
260 config MAC80211_MESH_CSA_DEBUG
261         bool "Verbose mesh channel switch debugging"
262         depends on MAC80211_DEBUG_MENU
263         depends on MAC80211_MESH
264         help
265           Selecting this option causes mac80211 to print out very verbose mesh
266           channel switch debugging messages (when mac80211 is taking part in a
267           mesh network).
268
269           Do not select this option.
270
271 config MAC80211_MESH_PS_DEBUG
272         bool "Verbose mesh powersave debugging"
273         depends on MAC80211_DEBUG_MENU
274         depends on MAC80211_MESH
275         help
276           Selecting this option causes mac80211 to print out very verbose mesh
277           powersave debugging messages (when mac80211 is taking part in a
278           mesh network).
279
280           Do not select this option.
281
282 config MAC80211_TDLS_DEBUG
283         bool "Verbose TDLS debugging"
284         depends on MAC80211_DEBUG_MENU
285         help
286           Selecting this option causes mac80211 to print out very
287           verbose TDLS selection debugging messages (when mac80211
288           is a TDLS STA).
289           It should not be selected on production systems as those
290           messages are remotely triggerable.
291
292           Do not select this option.
293
294 config MAC80211_DEBUG_COUNTERS
295         bool "Extra statistics for TX/RX debugging"
296         depends on MAC80211_DEBUG_MENU
297         depends on MAC80211_DEBUGFS
298         help
299           Selecting this option causes mac80211 to keep additional
300           and very verbose statistics about TX and RX handler use
301           as well as a few selected dot11 counters. These will be
302           exposed in debugfs.
303
304           Note that some of the counters are not concurrency safe
305           and may thus not always be accurate.
306
307           If unsure, say N.
308
309 config MAC80211_STA_HASH_MAX_SIZE
310         int "Station hash table maximum size" if MAC80211_DEBUG_MENU
311         default 0
312         help
313           Setting this option to a low value (e.g. 4) allows testing the
314           hash table with collisions relatively deterministically (just
315           connect more stations than the number selected here.)
316
317           If unsure, leave the default of 0.