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