Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[cris-mirror.git] / net / mac80211 / Kconfig
blob76e30f4797fbd5e4b4ff1f379decf0c3d891cf88
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 CRYPTO_CMAC
10         select CRC32
11         ---help---
12           This option enables the hardware independent IEEE 802.11
13           networking stack.
15 comment "CFG80211 needs to be enabled for MAC80211"
16         depends on CFG80211=n
18 if MAC80211 != n
20 config MAC80211_HAS_RC
21         bool
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
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
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
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.
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.
61 endchoice
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 ""
69 endif
71 comment "Some wireless drivers require a rate control algorithm"
72         depends on MAC80211 && MAC80211_HAS_RC=n
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/.
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.
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.
100           Say N unless you know you need this.
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.
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.
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.
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.
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.
134           If unsure, say N unless you expect to be finding problems
135           in mac80211.
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.
146           Do not select this option.
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.
157           Do not select this option.
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.
166           Do not select this option.
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.
175           It should not be selected on production systems as some
176           of the messages are remotely triggerable.
178           Do not select this option.
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.
189           Do not select this option.
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.
200           Do not select this option.
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.
212           Do not select this option.
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.
225           Do not select this option.
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.
238           Do not select this option.
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.
251           Do not select this option.
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).
262           Do not select this option.
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).
273           Do not select this option.
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).
284           Do not select this option.
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.
296           Do not select this option.
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           as well as a few selected dot11 counters. These will be
306           exposed in debugfs.
308           Note that some of the counters are not concurrency safe
309           and may thus not always be accurate.
311           If unsure, say N.
313 config MAC80211_STA_HASH_MAX_SIZE
314         int "Station hash table maximum size" if MAC80211_DEBUG_MENU
315         default 0
316         ---help---
317           Setting this option to a low value (e.g. 4) allows testing the
318           hash table with collisions relatively deterministically (just
319           connect more stations than the number selected here.)
321           If unsure, leave the default of 0.