blob: 3891cbd2adeab7bdcb062be3dfb36926cf91d23c [file] [log] [blame]
Jiri Bencf0706e82007-05-05 11:45:53 -07001config MAC80211
2 tristate "Generic IEEE 802.11 Networking Stack (mac80211)"
Johannes Berg0aa82042009-06-03 18:30:31 +02003 depends on CFG80211
Jiri Bencf0706e82007-05-05 11:45:53 -07004 select CRYPTO
Jiri Bencf0706e82007-05-05 11:45:53 -07005 select CRYPTO_ARC4
6 select CRYPTO_AES
Ard Biesheuvel7ec7c4a2013-10-10 09:55:20 +02007 select CRYPTO_CCM
Jouni Malinen00b9cfa2015-01-24 19:52:06 +02008 select CRYPTO_GCM
Jiri Bencf0706e82007-05-05 11:45:53 -07009 select CRC32
Jiri Bencf0706e82007-05-05 11:45:53 -070010 ---help---
John W. Linvillec40896d2007-12-21 00:44:59 -050011 This option enables the hardware independent IEEE 802.11
12 networking stack.
Jiri Bencf0706e82007-05-05 11:45:53 -070013
Johannes Berg0aa82042009-06-03 18:30:31 +020014comment "CFG80211 needs to be enabled for MAC80211"
15 depends on CFG80211=n
16
Luis R. Rodriguezabd8ea22009-09-01 08:22:46 -070017if MAC80211 != n
Johannes Bergac71c692007-10-28 14:17:44 +010018
Andres Salomonc2ef3552010-02-25 19:18:47 -050019config MAC80211_HAS_RC
Jan Beulich540005c2011-02-17 13:36:19 +000020 bool
Andres Salomonc2ef3552010-02-25 19:18:47 -050021
Felix Fietkaucccf1292008-10-05 18:07:45 +020022config MAC80211_RC_MINSTREL
David Rientjes6a108a12011-01-20 14:44:16 -080023 bool "Minstrel" if EXPERT
Andres Salomonc2ef3552010-02-25 19:18:47 -050024 select MAC80211_HAS_RC
Luis R. Rodriguez8eb41c92008-11-14 17:44:53 -080025 default y
Felix Fietkaucccf1292008-10-05 18:07:45 +020026 ---help---
27 This option enables the 'minstrel' TX rate control algorithm
28
Felix Fietkauec8aa662010-05-13 16:48:03 +020029config MAC80211_RC_MINSTREL_HT
David Rientjes6a108a12011-01-20 14:44:16 -080030 bool "Minstrel 802.11n support" if EXPERT
Felix Fietkauec8aa662010-05-13 16:48:03 +020031 depends on MAC80211_RC_MINSTREL
32 default y
33 ---help---
34 This option enables the 'minstrel_ht' TX rate control algorithm
35
Karl Beldan92082472014-10-21 10:38:38 +020036config 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
Stefano Brivioc21b39a2007-12-19 01:26:16 +010043choice
44 prompt "Default rate control algorithm"
Andres Salomonc2ef3552010-02-25 19:18:47 -050045 depends on MAC80211_HAS_RC
Luis R. Rodriguez8eb41c92008-11-14 17:44:53 -080046 default MAC80211_RC_DEFAULT_MINSTREL
Stefano Brivioc21b39a2007-12-19 01:26:16 +010047 ---help---
48 This option selects the default rate control algorithm
49 mac80211 will use. Note that this default can still be
Matt LaPlante692105b2009-01-26 11:12:25 +010050 overridden through the ieee80211_default_rc_algo module
Johannes Berg4b475892008-01-02 15:17:03 +010051 parameter if different algorithms are available.
Johannes Bergac71c692007-10-28 14:17:44 +010052
Felix Fietkaucccf1292008-10-05 18:07:45 +020053config 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
Stefano Brivioc21b39a2007-12-19 01:26:16 +010060endchoice
61
62config MAC80211_RC_DEFAULT
63 string
Helmut Schaa92b50c42010-06-30 08:48:42 +020064 default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL && MAC80211_RC_MINSTREL_HT
Felix Fietkaucccf1292008-10-05 18:07:45 +020065 default "minstrel" if MAC80211_RC_DEFAULT_MINSTREL
Stefano Brivioc21b39a2007-12-19 01:26:16 +010066 default ""
67
Luis R. Rodriguezabd8ea22009-09-01 08:22:46 -070068endif
Mattias Nisslerad018372007-12-19 01:25:57 +010069
Andres Salomonc2ef3552010-02-25 19:18:47 -050070comment "Some wireless drivers require a rate control algorithm"
Johannes Berge46395a2011-03-01 17:18:26 +010071 depends on MAC80211 && MAC80211_HAS_RC=n
Andres Salomonc2ef3552010-02-25 19:18:47 -050072
Johannes Berg2f5ce792008-02-23 15:17:21 +010073config MAC80211_MESH
74 bool "Enable mac80211 mesh networking (pre-802.11s) support"
Kees Cook48f6edc2012-10-02 11:19:53 -070075 depends on MAC80211
Johannes Berg2f5ce792008-02-23 15:17:21 +010076 ---help---
Johannes Berg5c142e82008-02-25 10:13:31 +010077 This options enables support of Draft 802.11s mesh networking.
Javier Cardona18889232009-08-10 12:15:52 -070078 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/.
Johannes Berg2f5ce792008-02-23 15:17:21 +010082
Jiri Bencf0706e82007-05-05 11:45:53 -070083config MAC80211_LEDS
84 bool "Enable LED triggers"
Luca Tettamantibd8fd212008-04-27 15:34:55 -070085 depends on MAC80211
Johannes Berg0bae35e2010-12-02 14:31:14 -080086 depends on LEDS_CLASS
Luca Tettamantibd8fd212008-04-27 15:34:55 -070087 select LEDS_TRIGGERS
Jiri Bencf0706e82007-05-05 11:45:53 -070088 ---help---
John W. Linvillec40896d2007-12-21 00:44:59 -050089 This option enables a few LED triggers for different
90 packet receive/transmit events.
Jiri Bencf0706e82007-05-05 11:45:53 -070091
Jiri Bence9f207f2007-05-05 11:46:38 -070092config 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
Johannes Berg3fae0272012-06-22 13:36:25 +0200101config 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
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200114menuconfig MAC80211_DEBUG_MENU
115 bool "Select mac80211 debugging features"
116 depends on MAC80211
117 ---help---
118 This option collects various mac80211 debug settings.
119
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200120config MAC80211_NOINLINE
121 bool "Do not inline TX/RX handlers"
122 depends on MAC80211_DEBUG_MENU
Jiri Bencf0706e82007-05-05 11:45:53 -0700123 ---help---
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200124 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.
Jiri Bencf0706e82007-05-05 11:45:53 -0700128
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200129 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
136config 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.
Jiri Bencf0706e82007-05-05 11:45:53 -0700146
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200147config 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
158config 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
Ron Rindjunsky82b3cad2007-12-16 16:09:26 -0800167config MAC80211_HT_DEBUG
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200168 bool "Verbose HT debugging"
169 depends on MAC80211_DEBUG_MENU
John W. Linvillec40896d2007-12-21 00:44:59 -0500170 ---help---
171 This option enables 802.11n High Throughput features
172 debug tracing output.
Ron Rindjunsky82b3cad2007-12-16 16:09:26 -0800173
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200174 It should not be selected on production systems as some
175 of the messages are remotely triggerable.
Ron Rindjunsky82b3cad2007-12-16 16:09:26 -0800176
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200177 Do not select this option.
178
Rostislav Lisovy239281f2014-11-03 10:33:19 +0100179config 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
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200190config 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
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200201config MAC80211_PS_DEBUG
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200202 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
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200213config MAC80211_MPL_DEBUG
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200214 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.
Jiri Bencf0706e82007-05-05 11:45:53 -0700225
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200226config MAC80211_MPATH_DEBUG
Javier Cardona76468872011-08-09 16:45:04 -0700227 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
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200239config MAC80211_MHWMP_DEBUG
Rui Paulo27db2e42009-11-09 23:46:45 +0000240 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
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200252config MAC80211_MESH_SYNC_DEBUG
Marco Porschf53c6a02012-10-17 20:21:30 -0700253 bool "Verbose mesh synchronization debugging"
Javier Cardonadbf498f2012-03-31 11:31:32 -0700254 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
Chun-Yeow Yeoh8f2535b2013-10-14 19:08:27 -0700263config 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
Marco Porsch3f52b7e2013-01-30 18:14:08 +0100274config 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
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200285config MAC80211_TDLS_DEBUG
Arik Nemtsovdfe018b2011-09-28 14:12:52 +0300286 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
Jiri Bencf0706e82007-05-05 11:45:53 -0700297config MAC80211_DEBUG_COUNTERS
298 bool "Extra statistics for TX/RX debugging"
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200299 depends on MAC80211_DEBUG_MENU
300 depends on MAC80211_DEBUGFS
Jiri Bencf0706e82007-05-05 11:45:53 -0700301 ---help---
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200302 Selecting this option causes mac80211 to keep additional
303 and very verbose statistics about TX and RX handler use
Johannes Bergc206ca62015-04-22 20:47:28 +0200304 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.
Jiri Bencf0706e82007-05-05 11:45:53 -0700309
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200310 If unsure, say N.
Johannes Bergebd82b32015-04-23 17:26:06 +0200311
312config 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.