blob: be471fe950488c59373469dea14078dd95c993b0 [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
Stefano Brivioc21b39a2007-12-19 01:26:16 +010030choice
31 prompt "Default rate control algorithm"
Andres Salomonc2ef3552010-02-25 19:18:47 -050032 depends on MAC80211_HAS_RC
Luis R. Rodriguez8eb41c92008-11-14 17:44:53 -080033 default MAC80211_RC_DEFAULT_MINSTREL
Stefano Brivioc21b39a2007-12-19 01:26:16 +010034 ---help---
35 This option selects the default rate control algorithm
36 mac80211 will use. Note that this default can still be
Matt LaPlante692105b2009-01-26 11:12:25 +010037 overridden through the ieee80211_default_rc_algo module
Johannes Berg4b475892008-01-02 15:17:03 +010038 parameter if different algorithms are available.
Johannes Bergac71c692007-10-28 14:17:44 +010039
Felix Fietkaucccf1292008-10-05 18:07:45 +020040config MAC80211_RC_DEFAULT_MINSTREL
41 bool "Minstrel"
42 depends on MAC80211_RC_MINSTREL
43 ---help---
44 Select Minstrel as the default rate control algorithm.
45
46
Stefano Brivioc21b39a2007-12-19 01:26:16 +010047endchoice
48
49config MAC80211_RC_DEFAULT
50 string
Felix Fietkaub1c4f682018-10-06 19:35:01 +020051 default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL
Stefano Brivioc21b39a2007-12-19 01:26:16 +010052 default ""
53
Luis R. Rodriguezabd8ea22009-09-01 08:22:46 -070054endif
Mattias Nisslerad018372007-12-19 01:25:57 +010055
Andres Salomonc2ef3552010-02-25 19:18:47 -050056comment "Some wireless drivers require a rate control algorithm"
Johannes Berge46395a2011-03-01 17:18:26 +010057 depends on MAC80211 && MAC80211_HAS_RC=n
Andres Salomonc2ef3552010-02-25 19:18:47 -050058
Johannes Berg2f5ce792008-02-23 15:17:21 +010059config MAC80211_MESH
Bob Copelandc8d10cb2018-12-04 10:22:00 -050060 bool "Enable mac80211 mesh networking support"
Kees Cook48f6edc2012-10-02 11:19:53 -070061 depends on MAC80211
Johannes Berg2f5ce792008-02-23 15:17:21 +010062 ---help---
Bob Copelandc8d10cb2018-12-04 10:22:00 -050063 Select this option to enable 802.11 mesh operation in mac80211
64 drivers that support it. 802.11 mesh connects multiple stations
65 over (possibly multi-hop) wireless links to form a single logical
66 LAN.
Johannes Berg2f5ce792008-02-23 15:17:21 +010067
Jiri Bencf0706e82007-05-05 11:45:53 -070068config MAC80211_LEDS
69 bool "Enable LED triggers"
Luca Tettamantibd8fd212008-04-27 15:34:55 -070070 depends on MAC80211
Johannes Berg0bae35e2010-12-02 14:31:14 -080071 depends on LEDS_CLASS
Luca Tettamantibd8fd212008-04-27 15:34:55 -070072 select LEDS_TRIGGERS
Jiri Bencf0706e82007-05-05 11:45:53 -070073 ---help---
John W. Linvillec40896d2007-12-21 00:44:59 -050074 This option enables a few LED triggers for different
75 packet receive/transmit events.
Jiri Bencf0706e82007-05-05 11:45:53 -070076
Jiri Bence9f207f2007-05-05 11:46:38 -070077config MAC80211_DEBUGFS
78 bool "Export mac80211 internals in DebugFS"
79 depends on MAC80211 && DEBUG_FS
80 ---help---
81 Select this to see extensive information about
82 the internal state of mac80211 in debugfs.
83
84 Say N unless you know you need this.
85
Johannes Berg3fae0272012-06-22 13:36:25 +020086config MAC80211_MESSAGE_TRACING
87 bool "Trace all mac80211 debug messages"
88 depends on MAC80211
89 ---help---
90 Select this option to have mac80211 register the
91 mac80211_msg trace subsystem with tracepoints to
92 collect all debugging messages, independent of
93 printing them into the kernel log.
94
95 The overhead in this option is that all the messages
96 need to be present in the binary and formatted at
97 runtime for tracing.
98
Johannes Bergf4ea83d2008-06-30 15:10:46 +020099menuconfig MAC80211_DEBUG_MENU
100 bool "Select mac80211 debugging features"
101 depends on MAC80211
102 ---help---
103 This option collects various mac80211 debug settings.
104
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200105config MAC80211_NOINLINE
106 bool "Do not inline TX/RX handlers"
107 depends on MAC80211_DEBUG_MENU
Jiri Bencf0706e82007-05-05 11:45:53 -0700108 ---help---
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200109 This option affects code generation in mac80211, when
110 selected some functions are marked "noinline" to allow
111 easier debugging of problems in the transmit and receive
112 paths.
Jiri Bencf0706e82007-05-05 11:45:53 -0700113
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200114 This option increases code size a bit and inserts a lot
115 of function calls in the code, but is otherwise safe to
116 enable.
117
118 If unsure, say N unless you expect to be finding problems
119 in mac80211.
120
121config MAC80211_VERBOSE_DEBUG
122 bool "Verbose debugging output"
123 depends on MAC80211_DEBUG_MENU
124 ---help---
125 Selecting this option causes mac80211 to print out
126 many debugging messages. It should not be selected
127 on production systems as some of the messages are
128 remotely triggerable.
129
130 Do not select this option.
Jiri Bencf0706e82007-05-05 11:45:53 -0700131
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200132config MAC80211_MLME_DEBUG
133 bool "Verbose managed MLME output"
134 depends on MAC80211_DEBUG_MENU
135 ---help---
136 Selecting this option causes mac80211 to print out
137 debugging messages for the managed-mode MLME. It
138 should not be selected on production systems as some
139 of the messages are remotely triggerable.
140
141 Do not select this option.
142
143config MAC80211_STA_DEBUG
144 bool "Verbose station debugging"
145 depends on MAC80211_DEBUG_MENU
146 ---help---
147 Selecting this option causes mac80211 to print out
148 debugging messages for station addition/removal.
149
150 Do not select this option.
151
Ron Rindjunsky82b3cad2007-12-16 16:09:26 -0800152config MAC80211_HT_DEBUG
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200153 bool "Verbose HT debugging"
154 depends on MAC80211_DEBUG_MENU
John W. Linvillec40896d2007-12-21 00:44:59 -0500155 ---help---
156 This option enables 802.11n High Throughput features
157 debug tracing output.
Ron Rindjunsky82b3cad2007-12-16 16:09:26 -0800158
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200159 It should not be selected on production systems as some
160 of the messages are remotely triggerable.
Ron Rindjunsky82b3cad2007-12-16 16:09:26 -0800161
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200162 Do not select this option.
163
Rostislav Lisovy239281f2014-11-03 10:33:19 +0100164config MAC80211_OCB_DEBUG
165 bool "Verbose OCB debugging"
166 depends on MAC80211_DEBUG_MENU
167 ---help---
168 Selecting this option causes mac80211 to print out
169 very verbose OCB debugging messages. It should not
170 be selected on production systems as those messages
171 are remotely triggerable.
172
173 Do not select this option.
174
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200175config MAC80211_IBSS_DEBUG
176 bool "Verbose IBSS debugging"
177 depends on MAC80211_DEBUG_MENU
178 ---help---
179 Selecting this option causes mac80211 to print out
180 very verbose IBSS debugging messages. It should not
181 be selected on production systems as those messages
182 are remotely triggerable.
183
184 Do not select this option.
185
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200186config MAC80211_PS_DEBUG
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200187 bool "Verbose powersave mode debugging"
188 depends on MAC80211_DEBUG_MENU
189 ---help---
190 Selecting this option causes mac80211 to print out very
191 verbose power save mode debugging messages (when mac80211
192 is an AP and has power saving stations.)
193 It should not be selected on production systems as those
194 messages are remotely triggerable.
195
196 Do not select this option.
197
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200198config MAC80211_MPL_DEBUG
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200199 bool "Verbose mesh peer link debugging"
200 depends on MAC80211_DEBUG_MENU
201 depends on MAC80211_MESH
202 ---help---
203 Selecting this option causes mac80211 to print out very
204 verbose mesh peer link debugging messages (when mac80211
205 is taking part in a mesh network).
206 It should not be selected on production systems as those
207 messages are remotely triggerable.
208
209 Do not select this option.
Jiri Bencf0706e82007-05-05 11:45:53 -0700210
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200211config MAC80211_MPATH_DEBUG
Javier Cardona76468872011-08-09 16:45:04 -0700212 bool "Verbose mesh path debugging"
213 depends on MAC80211_DEBUG_MENU
214 depends on MAC80211_MESH
215 ---help---
216 Selecting this option causes mac80211 to print out very
217 verbose mesh path selection debugging messages (when mac80211
218 is taking part in a mesh network).
219 It should not be selected on production systems as those
220 messages are remotely triggerable.
221
222 Do not select this option.
223
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200224config MAC80211_MHWMP_DEBUG
Rui Paulo27db2e42009-11-09 23:46:45 +0000225 bool "Verbose mesh HWMP routing debugging"
226 depends on MAC80211_DEBUG_MENU
227 depends on MAC80211_MESH
228 ---help---
229 Selecting this option causes mac80211 to print out very
230 verbose mesh routing (HWMP) debugging messages (when mac80211
231 is taking part in a mesh network).
232 It should not be selected on production systems as those
233 messages are remotely triggerable.
234
235 Do not select this option.
236
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200237config MAC80211_MESH_SYNC_DEBUG
Marco Porschf53c6a02012-10-17 20:21:30 -0700238 bool "Verbose mesh synchronization debugging"
Javier Cardonadbf498f2012-03-31 11:31:32 -0700239 depends on MAC80211_DEBUG_MENU
240 depends on MAC80211_MESH
241 ---help---
242 Selecting this option causes mac80211 to print out very verbose mesh
243 synchronization debugging messages (when mac80211 is taking part in a
244 mesh network).
245
246 Do not select this option.
247
Chun-Yeow Yeoh8f2535b2013-10-14 19:08:27 -0700248config MAC80211_MESH_CSA_DEBUG
249 bool "Verbose mesh channel switch debugging"
250 depends on MAC80211_DEBUG_MENU
251 depends on MAC80211_MESH
252 ---help---
253 Selecting this option causes mac80211 to print out very verbose mesh
254 channel switch debugging messages (when mac80211 is taking part in a
255 mesh network).
256
257 Do not select this option.
258
Marco Porsch3f52b7e2013-01-30 18:14:08 +0100259config MAC80211_MESH_PS_DEBUG
260 bool "Verbose mesh powersave debugging"
261 depends on MAC80211_DEBUG_MENU
262 depends on MAC80211_MESH
263 ---help---
264 Selecting this option causes mac80211 to print out very verbose mesh
265 powersave debugging messages (when mac80211 is taking part in a
266 mesh network).
267
268 Do not select this option.
269
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200270config MAC80211_TDLS_DEBUG
Arik Nemtsovdfe018b2011-09-28 14:12:52 +0300271 bool "Verbose TDLS debugging"
272 depends on MAC80211_DEBUG_MENU
273 ---help---
274 Selecting this option causes mac80211 to print out very
275 verbose TDLS selection debugging messages (when mac80211
276 is a TDLS STA).
277 It should not be selected on production systems as those
278 messages are remotely triggerable.
279
280 Do not select this option.
281
Jiri Bencf0706e82007-05-05 11:45:53 -0700282config MAC80211_DEBUG_COUNTERS
283 bool "Extra statistics for TX/RX debugging"
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200284 depends on MAC80211_DEBUG_MENU
285 depends on MAC80211_DEBUGFS
Jiri Bencf0706e82007-05-05 11:45:53 -0700286 ---help---
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200287 Selecting this option causes mac80211 to keep additional
288 and very verbose statistics about TX and RX handler use
Johannes Bergc206ca62015-04-22 20:47:28 +0200289 as well as a few selected dot11 counters. These will be
290 exposed in debugfs.
291
292 Note that some of the counters are not concurrency safe
293 and may thus not always be accurate.
Jiri Bencf0706e82007-05-05 11:45:53 -0700294
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200295 If unsure, say N.
Johannes Bergebd82b32015-04-23 17:26:06 +0200296
297config MAC80211_STA_HASH_MAX_SIZE
298 int "Station hash table maximum size" if MAC80211_DEBUG_MENU
299 default 0
300 ---help---
301 Setting this option to a low value (e.g. 4) allows testing the
302 hash table with collisions relatively deterministically (just
303 connect more stations than the number selected here.)
304
305 If unsure, leave the default of 0.