Merge branches 'pm-cpufreq' and 'pm-opp'
[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_MESH
61         bool "Enable mac80211 mesh networking support"
62         depends on MAC80211
63         help
64           Select this option to enable 802.11 mesh operation in mac80211
65           drivers that support it.  802.11 mesh connects multiple stations
66           over (possibly multi-hop) wireless links to form a single logical
67           LAN.
68
69 config MAC80211_LEDS
70         bool "Enable LED triggers"
71         depends on MAC80211
72         depends on LEDS_CLASS
73         select LEDS_TRIGGERS
74         help
75           This option enables a few LED triggers for different
76           packet receive/transmit events.
77
78 config MAC80211_DEBUGFS
79         bool "Export mac80211 internals in DebugFS"
80         depends on MAC80211 && DEBUG_FS
81         help
82           Select this to see extensive information about
83           the internal state of mac80211 in debugfs.
84
85           Say N unless you know you need this.
86
87 config MAC80211_MESSAGE_TRACING
88         bool "Trace all mac80211 debug messages"
89         depends on MAC80211
90         help
91           Select this option to have mac80211 register the
92           mac80211_msg trace subsystem with tracepoints to
93           collect all debugging messages, independent of
94           printing them into the kernel log.
95
96           The overhead in this option is that all the messages
97           need to be present in the binary and formatted at
98           runtime for tracing.
99
100 menuconfig MAC80211_DEBUG_MENU
101         bool "Select mac80211 debugging features"
102         depends on MAC80211
103         help
104           This option collects various mac80211 debug settings.
105
106 config MAC80211_NOINLINE
107         bool "Do not inline TX/RX handlers"
108         depends on MAC80211_DEBUG_MENU
109         help
110           This option affects code generation in mac80211, when
111           selected some functions are marked "noinline" to allow
112           easier debugging of problems in the transmit and receive
113           paths.
114
115           This option increases code size a bit and inserts a lot
116           of function calls in the code, but is otherwise safe to
117           enable.
118
119           If unsure, say N unless you expect to be finding problems
120           in mac80211.
121
122 config MAC80211_VERBOSE_DEBUG
123         bool "Verbose debugging output"
124         depends on MAC80211_DEBUG_MENU
125         help
126           Selecting this option causes mac80211 to print out
127           many debugging messages. It should not be selected
128           on production systems as some of the messages are
129           remotely triggerable.
130
131           Do not select this option.
132
133 config MAC80211_MLME_DEBUG
134         bool "Verbose managed MLME output"
135         depends on MAC80211_DEBUG_MENU
136         help
137           Selecting this option causes mac80211 to print out
138           debugging messages for the managed-mode MLME. It
139           should not be selected on production systems as some
140           of the messages are remotely triggerable.
141
142           Do not select this option.
143
144 config MAC80211_STA_DEBUG
145         bool "Verbose station debugging"
146         depends on MAC80211_DEBUG_MENU
147         help
148           Selecting this option causes mac80211 to print out
149           debugging messages for station addition/removal.
150
151           Do not select this option.
152
153 config MAC80211_HT_DEBUG
154         bool "Verbose HT debugging"
155         depends on MAC80211_DEBUG_MENU
156         help
157           This option enables 802.11n High Throughput features
158           debug tracing output.
159
160           It should not be selected on production systems as some
161           of the messages are remotely triggerable.
162
163           Do not select this option.
164
165 config MAC80211_OCB_DEBUG
166         bool "Verbose OCB debugging"
167         depends on MAC80211_DEBUG_MENU
168         help
169           Selecting this option causes mac80211 to print out
170           very verbose OCB debugging messages. It should not
171           be selected on production systems as those messages
172           are remotely triggerable.
173
174           Do not select this option.
175
176 config MAC80211_IBSS_DEBUG
177         bool "Verbose IBSS debugging"
178         depends on MAC80211_DEBUG_MENU
179         help
180           Selecting this option causes mac80211 to print out
181           very verbose IBSS 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_PS_DEBUG
188         bool "Verbose powersave mode debugging"
189         depends on MAC80211_DEBUG_MENU
190         help
191           Selecting this option causes mac80211 to print out very
192           verbose power save mode debugging messages (when mac80211
193           is an AP and has power saving stations.)
194           It should not be selected on production systems as those
195           messages are remotely triggerable.
196
197           Do not select this option.
198
199 config MAC80211_MPL_DEBUG
200         bool "Verbose mesh peer link debugging"
201         depends on MAC80211_DEBUG_MENU
202         depends on MAC80211_MESH
203         help
204           Selecting this option causes mac80211 to print out very
205           verbose mesh peer link debugging messages (when mac80211
206           is taking part in a mesh network).
207           It should not be selected on production systems as those
208           messages are remotely triggerable.
209
210           Do not select this option.
211
212 config MAC80211_MPATH_DEBUG
213         bool "Verbose mesh path debugging"
214         depends on MAC80211_DEBUG_MENU
215         depends on MAC80211_MESH
216         help
217           Selecting this option causes mac80211 to print out very
218           verbose mesh path selection debugging messages (when mac80211
219           is taking part in a mesh network).
220           It should not be selected on production systems as those
221           messages are remotely triggerable.
222
223           Do not select this option.
224
225 config MAC80211_MHWMP_DEBUG
226         bool "Verbose mesh HWMP routing debugging"
227         depends on MAC80211_DEBUG_MENU
228         depends on MAC80211_MESH
229         help
230           Selecting this option causes mac80211 to print out very
231           verbose mesh routing (HWMP) debugging messages (when mac80211
232           is taking part in a mesh network).
233           It should not be selected on production systems as those
234           messages are remotely triggerable.
235
236           Do not select this option.
237
238 config MAC80211_MESH_SYNC_DEBUG
239         bool "Verbose mesh synchronization debugging"
240         depends on MAC80211_DEBUG_MENU
241         depends on MAC80211_MESH
242         help
243           Selecting this option causes mac80211 to print out very verbose mesh
244           synchronization debugging messages (when mac80211 is taking part in a
245           mesh network).
246
247           Do not select this option.
248
249 config MAC80211_MESH_CSA_DEBUG
250         bool "Verbose mesh channel switch 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           channel switch debugging messages (when mac80211 is taking part in a
256           mesh network).
257
258           Do not select this option.
259
260 config MAC80211_MESH_PS_DEBUG
261         bool "Verbose mesh powersave 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           powersave debugging messages (when mac80211 is taking part in a
267           mesh network).
268
269           Do not select this option.
270
271 config MAC80211_TDLS_DEBUG
272         bool "Verbose TDLS debugging"
273         depends on MAC80211_DEBUG_MENU
274         help
275           Selecting this option causes mac80211 to print out very
276           verbose TDLS selection debugging messages (when mac80211
277           is a TDLS STA).
278           It should not be selected on production systems as those
279           messages are remotely triggerable.
280
281           Do not select this option.
282
283 config MAC80211_DEBUG_COUNTERS
284         bool "Extra statistics for TX/RX debugging"
285         depends on MAC80211_DEBUG_MENU
286         depends on MAC80211_DEBUGFS
287         help
288           Selecting this option causes mac80211 to keep additional
289           and very verbose statistics about TX and RX handler use
290           as well as a few selected dot11 counters. These will be
291           exposed in debugfs.
292
293           Note that some of the counters are not concurrency safe
294           and may thus not always be accurate.
295
296           If unsure, say N.
297
298 config MAC80211_STA_HASH_MAX_SIZE
299         int "Station hash table maximum size" if MAC80211_DEBUG_MENU
300         default 0
301         help
302           Setting this option to a low value (e.g. 4) allows testing the
303           hash table with collisions relatively deterministically (just
304           connect more stations than the number selected here.)
305
306           If unsure, leave the default of 0.