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