blob: 76e30f4797fbd5e4b4ff1f379decf0c3d891cf88 [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
Ard Biesheuvelfe8de3d2017-02-06 10:49:27 +00009 select CRYPTO_CMAC
Jiri Bencf0706e82007-05-05 11:45:53 -070010 select CRC32
Jiri Bencf0706e82007-05-05 11:45:53 -070011 ---help---
John W. Linvillec40896d2007-12-21 00:44:59 -050012 This option enables the hardware independent IEEE 802.11
13 networking stack.
Jiri Bencf0706e82007-05-05 11:45:53 -070014
Johannes Berg0aa82042009-06-03 18:30:31 +020015comment "CFG80211 needs to be enabled for MAC80211"
16 depends on CFG80211=n
17
Luis R. Rodriguezabd8ea22009-09-01 08:22:46 -070018if MAC80211 != n
Johannes Bergac71c692007-10-28 14:17:44 +010019
Andres Salomonc2ef3552010-02-25 19:18:47 -050020config MAC80211_HAS_RC
Jan Beulich540005c2011-02-17 13:36:19 +000021 bool
Andres Salomonc2ef3552010-02-25 19:18:47 -050022
Felix Fietkaucccf1292008-10-05 18:07:45 +020023config MAC80211_RC_MINSTREL
David Rientjes6a108a12011-01-20 14:44:16 -080024 bool "Minstrel" if EXPERT
Andres Salomonc2ef3552010-02-25 19:18:47 -050025 select MAC80211_HAS_RC
Luis R. Rodriguez8eb41c92008-11-14 17:44:53 -080026 default y
Felix Fietkaucccf1292008-10-05 18:07:45 +020027 ---help---
28 This option enables the 'minstrel' TX rate control algorithm
29
Felix Fietkauec8aa662010-05-13 16:48:03 +020030config MAC80211_RC_MINSTREL_HT
David Rientjes6a108a12011-01-20 14:44:16 -080031 bool "Minstrel 802.11n support" if EXPERT
Felix Fietkauec8aa662010-05-13 16:48:03 +020032 depends on MAC80211_RC_MINSTREL
33 default y
34 ---help---
35 This option enables the 'minstrel_ht' TX rate control algorithm
36
Karl Beldan92082472014-10-21 10:38:38 +020037config 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
Stefano Brivioc21b39a2007-12-19 01:26:16 +010044choice
45 prompt "Default rate control algorithm"
Andres Salomonc2ef3552010-02-25 19:18:47 -050046 depends on MAC80211_HAS_RC
Luis R. Rodriguez8eb41c92008-11-14 17:44:53 -080047 default MAC80211_RC_DEFAULT_MINSTREL
Stefano Brivioc21b39a2007-12-19 01:26:16 +010048 ---help---
49 This option selects the default rate control algorithm
50 mac80211 will use. Note that this default can still be
Matt LaPlante692105b2009-01-26 11:12:25 +010051 overridden through the ieee80211_default_rc_algo module
Johannes Berg4b475892008-01-02 15:17:03 +010052 parameter if different algorithms are available.
Johannes Bergac71c692007-10-28 14:17:44 +010053
Felix Fietkaucccf1292008-10-05 18:07:45 +020054config 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
Stefano Brivioc21b39a2007-12-19 01:26:16 +010061endchoice
62
63config MAC80211_RC_DEFAULT
64 string
Helmut Schaa92b50c42010-06-30 08:48:42 +020065 default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL && MAC80211_RC_MINSTREL_HT
Felix Fietkaucccf1292008-10-05 18:07:45 +020066 default "minstrel" if MAC80211_RC_DEFAULT_MINSTREL
Stefano Brivioc21b39a2007-12-19 01:26:16 +010067 default ""
68
Luis R. Rodriguezabd8ea22009-09-01 08:22:46 -070069endif
Mattias Nisslerad018372007-12-19 01:25:57 +010070
Andres Salomonc2ef3552010-02-25 19:18:47 -050071comment "Some wireless drivers require a rate control algorithm"
Johannes Berge46395a2011-03-01 17:18:26 +010072 depends on MAC80211 && MAC80211_HAS_RC=n
Andres Salomonc2ef3552010-02-25 19:18:47 -050073
Johannes Berg2f5ce792008-02-23 15:17:21 +010074config MAC80211_MESH
75 bool "Enable mac80211 mesh networking (pre-802.11s) support"
Kees Cook48f6edc2012-10-02 11:19:53 -070076 depends on MAC80211
Johannes Berg2f5ce792008-02-23 15:17:21 +010077 ---help---
Johannes Berg5c142e82008-02-25 10:13:31 +010078 This options enables support of Draft 802.11s mesh networking.
Javier Cardona18889232009-08-10 12:15:52 -070079 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/.
Johannes Berg2f5ce792008-02-23 15:17:21 +010083
Jiri Bencf0706e82007-05-05 11:45:53 -070084config MAC80211_LEDS
85 bool "Enable LED triggers"
Luca Tettamantibd8fd212008-04-27 15:34:55 -070086 depends on MAC80211
Johannes Berg0bae35e2010-12-02 14:31:14 -080087 depends on LEDS_CLASS
Luca Tettamantibd8fd212008-04-27 15:34:55 -070088 select LEDS_TRIGGERS
Jiri Bencf0706e82007-05-05 11:45:53 -070089 ---help---
John W. Linvillec40896d2007-12-21 00:44:59 -050090 This option enables a few LED triggers for different
91 packet receive/transmit events.
Jiri Bencf0706e82007-05-05 11:45:53 -070092
Jiri Bence9f207f2007-05-05 11:46:38 -070093config 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
Johannes Berg3fae0272012-06-22 13:36:25 +0200102config 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
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200115menuconfig MAC80211_DEBUG_MENU
116 bool "Select mac80211 debugging features"
117 depends on MAC80211
118 ---help---
119 This option collects various mac80211 debug settings.
120
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200121config MAC80211_NOINLINE
122 bool "Do not inline TX/RX handlers"
123 depends on MAC80211_DEBUG_MENU
Jiri Bencf0706e82007-05-05 11:45:53 -0700124 ---help---
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200125 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.
Jiri Bencf0706e82007-05-05 11:45:53 -0700129
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200130 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
137config 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.
Jiri Bencf0706e82007-05-05 11:45:53 -0700147
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200148config 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
159config 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
Ron Rindjunsky82b3cad2007-12-16 16:09:26 -0800168config MAC80211_HT_DEBUG
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200169 bool "Verbose HT debugging"
170 depends on MAC80211_DEBUG_MENU
John W. Linvillec40896d2007-12-21 00:44:59 -0500171 ---help---
172 This option enables 802.11n High Throughput features
173 debug tracing output.
Ron Rindjunsky82b3cad2007-12-16 16:09:26 -0800174
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200175 It should not be selected on production systems as some
176 of the messages are remotely triggerable.
Ron Rindjunsky82b3cad2007-12-16 16:09:26 -0800177
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200178 Do not select this option.
179
Rostislav Lisovy239281f2014-11-03 10:33:19 +0100180config 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
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200191config 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
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200202config MAC80211_PS_DEBUG
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200203 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
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200214config MAC80211_MPL_DEBUG
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200215 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.
Jiri Bencf0706e82007-05-05 11:45:53 -0700226
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200227config MAC80211_MPATH_DEBUG
Javier Cardona76468872011-08-09 16:45:04 -0700228 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
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200240config MAC80211_MHWMP_DEBUG
Rui Paulo27db2e42009-11-09 23:46:45 +0000241 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
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200253config MAC80211_MESH_SYNC_DEBUG
Marco Porschf53c6a02012-10-17 20:21:30 -0700254 bool "Verbose mesh synchronization debugging"
Javier Cardonadbf498f2012-03-31 11:31:32 -0700255 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
Chun-Yeow Yeoh8f2535b2013-10-14 19:08:27 -0700264config 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
Marco Porsch3f52b7e2013-01-30 18:14:08 +0100275config 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
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200286config MAC80211_TDLS_DEBUG
Arik Nemtsovdfe018b2011-09-28 14:12:52 +0300287 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
Jiri Bencf0706e82007-05-05 11:45:53 -0700298config MAC80211_DEBUG_COUNTERS
299 bool "Extra statistics for TX/RX debugging"
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200300 depends on MAC80211_DEBUG_MENU
301 depends on MAC80211_DEBUGFS
Jiri Bencf0706e82007-05-05 11:45:53 -0700302 ---help---
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200303 Selecting this option causes mac80211 to keep additional
304 and very verbose statistics about TX and RX handler use
Johannes Bergc206ca62015-04-22 20:47:28 +0200305 as well as a few selected dot11 counters. These will be
306 exposed in debugfs.
307
308 Note that some of the counters are not concurrency safe
309 and may thus not always be accurate.
Jiri Bencf0706e82007-05-05 11:45:53 -0700310
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200311 If unsure, say N.
Johannes Bergebd82b32015-04-23 17:26:06 +0200312
313config 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.)
320
321 If unsure, leave the default of 0.