of: MSI: Simplify irqdomain lookup
[linux/fpc-iii.git] / net / mac80211 / Kconfig
blob3891cbd2adeab7bdcb062be3dfb36926cf91d23c
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.
14 comment "CFG80211 needs to be enabled for MAC80211"
15         depends on CFG80211=n
17 if MAC80211 != n
19 config MAC80211_HAS_RC
20         bool
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
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
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
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.
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.
60 endchoice
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 ""
68 endif
70 comment "Some wireless drivers require a rate control algorithm"
71         depends on MAC80211 && MAC80211_HAS_RC=n
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/.
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.
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.
99           Say N unless you know you need this.
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.
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.
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.
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.
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.
133           If unsure, say N unless you expect to be finding problems
134           in mac80211.
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.
145           Do not select this option.
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.
156           Do not select this option.
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.
165           Do not select this option.
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.
174           It should not be selected on production systems as some
175           of the messages are remotely triggerable.
177           Do not select this option.
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.
188           Do not select this option.
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.
199           Do not select this option.
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.
211           Do not select this option.
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.
224           Do not select this option.
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.
237           Do not select this option.
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.
250           Do not select this option.
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).
261           Do not select this option.
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).
272           Do not select this option.
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).
283           Do not select this option.
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.
295           Do not select this option.
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.
307           Note that some of the counters are not concurrency safe
308           and may thus not always be accurate.
310           If unsure, say N.
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.)
320           If unsure, leave the default of 0.