xref: /openbmc/linux/net/mac80211/Kconfig (revision ebd82b39)
1f0706e82SJiri Bencconfig MAC80211
2f0706e82SJiri Benc	tristate "Generic IEEE 802.11 Networking Stack (mac80211)"
30aa8204bSJohannes Berg	depends on CFG80211
4f0706e82SJiri Benc	select CRYPTO
5f0706e82SJiri Benc	select CRYPTO_ARC4
6f0706e82SJiri Benc	select CRYPTO_AES
77ec7c4a9SArd Biesheuvel	select CRYPTO_CCM
800b9cfa3SJouni Malinen	select CRYPTO_GCM
9f0706e82SJiri Benc	select CRC32
10541a45a1SBruno Randolf	select AVERAGE
11f0706e82SJiri Benc	---help---
12f0706e82SJiri Benc	  This option enables the hardware independent IEEE 802.11
13f0706e82SJiri Benc	  networking stack.
14f0706e82SJiri Benc
150aa8204bSJohannes Bergcomment "CFG80211 needs to be enabled for MAC80211"
160aa8204bSJohannes Berg	depends on CFG80211=n
170aa8204bSJohannes Berg
18abd8ea22SLuis R. Rodriguezif MAC80211 != n
19ac71c691SJohannes Berg
20c2ef355bSAndres Salomonconfig MAC80211_HAS_RC
21540005c7SJan Beulich	bool
22c2ef355bSAndres Salomon
23cccf129fSFelix Fietkauconfig MAC80211_RC_MINSTREL
246a108a14SDavid Rientjes	bool "Minstrel" if EXPERT
25c2ef355bSAndres Salomon	select MAC80211_HAS_RC
268eb41c93SLuis R. Rodriguez	default y
27cccf129fSFelix Fietkau	---help---
28cccf129fSFelix Fietkau	  This option enables the 'minstrel' TX rate control algorithm
29cccf129fSFelix Fietkau
30ec8aa669SFelix Fietkauconfig MAC80211_RC_MINSTREL_HT
316a108a14SDavid Rientjes	bool "Minstrel 802.11n support" if EXPERT
32ec8aa669SFelix Fietkau	depends on MAC80211_RC_MINSTREL
33ec8aa669SFelix Fietkau	default y
34ec8aa669SFelix Fietkau	---help---
35ec8aa669SFelix Fietkau	  This option enables the 'minstrel_ht' TX rate control algorithm
36ec8aa669SFelix Fietkau
379208247dSKarl Beldanconfig MAC80211_RC_MINSTREL_VHT
389208247dSKarl Beldan	bool "Minstrel 802.11ac support" if EXPERT
399208247dSKarl Beldan	depends on MAC80211_RC_MINSTREL_HT
409208247dSKarl Beldan	default n
419208247dSKarl Beldan	---help---
429208247dSKarl Beldan	  This option enables VHT in the 'minstrel_ht' TX rate control algorithm
439208247dSKarl Beldan
44c21b39acSStefano Briviochoice
45c21b39acSStefano Brivio	prompt "Default rate control algorithm"
46c2ef355bSAndres Salomon	depends on MAC80211_HAS_RC
478eb41c93SLuis R. Rodriguez	default MAC80211_RC_DEFAULT_MINSTREL
48c21b39acSStefano Brivio	---help---
49c21b39acSStefano Brivio	  This option selects the default rate control algorithm
50c21b39acSStefano Brivio	  mac80211 will use. Note that this default can still be
51692105b8SMatt LaPlante	  overridden through the ieee80211_default_rc_algo module
524b475898SJohannes Berg	  parameter if different algorithms are available.
53ac71c691SJohannes Berg
54cccf129fSFelix Fietkauconfig MAC80211_RC_DEFAULT_MINSTREL
55cccf129fSFelix Fietkau	bool "Minstrel"
56cccf129fSFelix Fietkau	depends on MAC80211_RC_MINSTREL
57cccf129fSFelix Fietkau	---help---
58cccf129fSFelix Fietkau	  Select Minstrel as the default rate control algorithm.
59cccf129fSFelix Fietkau
60cccf129fSFelix Fietkau
61c21b39acSStefano Brivioendchoice
62c21b39acSStefano Brivio
63c21b39acSStefano Brivioconfig MAC80211_RC_DEFAULT
64c21b39acSStefano Brivio	string
6592b50c4bSHelmut Schaa	default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL && MAC80211_RC_MINSTREL_HT
66cccf129fSFelix Fietkau	default "minstrel" if MAC80211_RC_DEFAULT_MINSTREL
67c21b39acSStefano Brivio	default ""
68c21b39acSStefano Brivio
69abd8ea22SLuis R. Rodriguezendif
70ad018375SMattias Nissler
71c2ef355bSAndres Salomoncomment "Some wireless drivers require a rate control algorithm"
72e46395a4SJohannes Berg	depends on MAC80211 && MAC80211_HAS_RC=n
73c2ef355bSAndres Salomon
742f5ce793SJohannes Bergconfig MAC80211_MESH
752f5ce793SJohannes Berg	bool "Enable mac80211 mesh networking (pre-802.11s) support"
7648f6edceSKees Cook	depends on MAC80211
772f5ce793SJohannes Berg	---help---
785c142e8dSJohannes Berg	 This options enables support of Draft 802.11s mesh networking.
7918889231SJavier Cardona	 The implementation is based on Draft 2.08 of the Mesh Networking
8018889231SJavier Cardona	 amendment.  However, no compliance with that draft is claimed or even
8118889231SJavier Cardona	 possible, as drafts leave a number of identifiers to be defined after
8218889231SJavier Cardona	 ratification.  For more information visit http://o11s.org/.
832f5ce793SJohannes Berg
84f0706e82SJiri Bencconfig MAC80211_LEDS
85f0706e82SJiri Benc	bool "Enable LED triggers"
86bd8fd21dSLuca Tettamanti	depends on MAC80211
870bae35e1SJohannes Berg	depends on LEDS_CLASS
88bd8fd21dSLuca Tettamanti	select LEDS_TRIGGERS
89f0706e82SJiri Benc	---help---
90f0706e82SJiri Benc	  This option enables a few LED triggers for different
91f0706e82SJiri Benc	  packet receive/transmit events.
92f0706e82SJiri Benc
93e9f207f0SJiri Bencconfig MAC80211_DEBUGFS
94e9f207f0SJiri Benc	bool "Export mac80211 internals in DebugFS"
95e9f207f0SJiri Benc	depends on MAC80211 && DEBUG_FS
96e9f207f0SJiri Benc	---help---
97e9f207f0SJiri Benc	  Select this to see extensive information about
98e9f207f0SJiri Benc	  the internal state of mac80211 in debugfs.
99e9f207f0SJiri Benc
100e9f207f0SJiri Benc	  Say N unless you know you need this.
101e9f207f0SJiri Benc
1023fae0273SJohannes Bergconfig MAC80211_MESSAGE_TRACING
1033fae0273SJohannes Berg	bool "Trace all mac80211 debug messages"
1043fae0273SJohannes Berg	depends on MAC80211
1053fae0273SJohannes Berg	---help---
1063fae0273SJohannes Berg	  Select this option to have mac80211 register the
1073fae0273SJohannes Berg	  mac80211_msg trace subsystem with tracepoints to
1083fae0273SJohannes Berg	  collect all debugging messages, independent of
1093fae0273SJohannes Berg	  printing them into the kernel log.
1103fae0273SJohannes Berg
1113fae0273SJohannes Berg	  The overhead in this option is that all the messages
1123fae0273SJohannes Berg	  need to be present in the binary and formatted at
1133fae0273SJohannes Berg	  runtime for tracing.
1143fae0273SJohannes Berg
115f4ea83ddSJohannes Bergmenuconfig MAC80211_DEBUG_MENU
116f4ea83ddSJohannes Berg	bool "Select mac80211 debugging features"
117f4ea83ddSJohannes Berg	depends on MAC80211
118f4ea83ddSJohannes Berg	---help---
119f4ea83ddSJohannes Berg	  This option collects various mac80211 debug settings.
120f4ea83ddSJohannes Berg
121f4ea83ddSJohannes Bergconfig MAC80211_NOINLINE
122f4ea83ddSJohannes Berg	bool "Do not inline TX/RX handlers"
123f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
124f0706e82SJiri Benc	---help---
125f4ea83ddSJohannes Berg	  This option affects code generation in mac80211, when
126f4ea83ddSJohannes Berg	  selected some functions are marked "noinline" to allow
127f4ea83ddSJohannes Berg	  easier debugging of problems in the transmit and receive
128f4ea83ddSJohannes Berg	  paths.
129f0706e82SJiri Benc
130f4ea83ddSJohannes Berg	  This option increases code size a bit and inserts a lot
131f4ea83ddSJohannes Berg	  of function calls in the code, but is otherwise safe to
132f4ea83ddSJohannes Berg	  enable.
133f4ea83ddSJohannes Berg
134f4ea83ddSJohannes Berg	  If unsure, say N unless you expect to be finding problems
135f4ea83ddSJohannes Berg	  in mac80211.
136f4ea83ddSJohannes Berg
137f4ea83ddSJohannes Bergconfig MAC80211_VERBOSE_DEBUG
138f4ea83ddSJohannes Berg	bool "Verbose debugging output"
139f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
140f4ea83ddSJohannes Berg	---help---
141f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out
142f4ea83ddSJohannes Berg	  many debugging messages. It should not be selected
143f4ea83ddSJohannes Berg	  on production systems as some of the messages are
144f4ea83ddSJohannes Berg	  remotely triggerable.
145f4ea83ddSJohannes Berg
146f4ea83ddSJohannes Berg	  Do not select this option.
147f0706e82SJiri Benc
148bdcbd8e0SJohannes Bergconfig MAC80211_MLME_DEBUG
149bdcbd8e0SJohannes Berg	bool "Verbose managed MLME output"
150bdcbd8e0SJohannes Berg	depends on MAC80211_DEBUG_MENU
151bdcbd8e0SJohannes Berg	---help---
152bdcbd8e0SJohannes Berg	  Selecting this option causes mac80211 to print out
153bdcbd8e0SJohannes Berg	  debugging messages for the managed-mode MLME. It
154bdcbd8e0SJohannes Berg	  should not be selected on production systems as some
155bdcbd8e0SJohannes Berg	  of the messages are remotely triggerable.
156bdcbd8e0SJohannes Berg
157bdcbd8e0SJohannes Berg	  Do not select this option.
158bdcbd8e0SJohannes Berg
159bdcbd8e0SJohannes Bergconfig MAC80211_STA_DEBUG
160bdcbd8e0SJohannes Berg	bool "Verbose station debugging"
161bdcbd8e0SJohannes Berg	depends on MAC80211_DEBUG_MENU
162bdcbd8e0SJohannes Berg	---help---
163bdcbd8e0SJohannes Berg	  Selecting this option causes mac80211 to print out
164bdcbd8e0SJohannes Berg	  debugging messages for station addition/removal.
165bdcbd8e0SJohannes Berg
166bdcbd8e0SJohannes Berg	  Do not select this option.
167bdcbd8e0SJohannes Berg
16882b3cad9SRon Rindjunskyconfig MAC80211_HT_DEBUG
169f4ea83ddSJohannes Berg	bool "Verbose HT debugging"
170f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
17182b3cad9SRon Rindjunsky	---help---
17282b3cad9SRon Rindjunsky	  This option enables 802.11n High Throughput features
17382b3cad9SRon Rindjunsky	  debug tracing output.
17482b3cad9SRon Rindjunsky
175f4ea83ddSJohannes Berg	  It should not be selected on production systems as some
176f4ea83ddSJohannes Berg	  of the messages are remotely triggerable.
17782b3cad9SRon Rindjunsky
178f4ea83ddSJohannes Berg	  Do not select this option.
179f4ea83ddSJohannes Berg
180239281f8SRostislav Lisovyconfig MAC80211_OCB_DEBUG
181239281f8SRostislav Lisovy	bool "Verbose OCB debugging"
182239281f8SRostislav Lisovy	depends on MAC80211_DEBUG_MENU
183239281f8SRostislav Lisovy	---help---
184239281f8SRostislav Lisovy	  Selecting this option causes mac80211 to print out
185239281f8SRostislav Lisovy	  very verbose OCB debugging messages. It should not
186239281f8SRostislav Lisovy	  be selected on production systems as those messages
187239281f8SRostislav Lisovy	  are remotely triggerable.
188239281f8SRostislav Lisovy
189239281f8SRostislav Lisovy	  Do not select this option.
190239281f8SRostislav Lisovy
191f4ea83ddSJohannes Bergconfig MAC80211_IBSS_DEBUG
192f4ea83ddSJohannes Berg	bool "Verbose IBSS debugging"
193f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
194f4ea83ddSJohannes Berg	---help---
195f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out
196f4ea83ddSJohannes Berg	  very verbose IBSS debugging messages. It should not
197f4ea83ddSJohannes Berg	  be selected on production systems as those messages
198f4ea83ddSJohannes Berg	  are remotely triggerable.
199f4ea83ddSJohannes Berg
200f4ea83ddSJohannes Berg	  Do not select this option.
201f4ea83ddSJohannes Berg
202bdcbd8e0SJohannes Bergconfig MAC80211_PS_DEBUG
203f4ea83ddSJohannes Berg	bool "Verbose powersave mode debugging"
204f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
205f4ea83ddSJohannes Berg	---help---
206f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out very
207f4ea83ddSJohannes Berg	  verbose power save mode debugging messages (when mac80211
208f4ea83ddSJohannes Berg	  is an AP and has power saving stations.)
209f4ea83ddSJohannes Berg	  It should not be selected on production systems as those
210f4ea83ddSJohannes Berg	  messages are remotely triggerable.
211f4ea83ddSJohannes Berg
212f4ea83ddSJohannes Berg	  Do not select this option.
213f4ea83ddSJohannes Berg
214bdcbd8e0SJohannes Bergconfig MAC80211_MPL_DEBUG
215f4ea83ddSJohannes Berg	bool "Verbose mesh peer link debugging"
216f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
217f4ea83ddSJohannes Berg	depends on MAC80211_MESH
218f4ea83ddSJohannes Berg	---help---
219f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out very
220f4ea83ddSJohannes Berg	  verbose mesh peer link debugging messages (when mac80211
221f4ea83ddSJohannes Berg	  is taking part in a mesh network).
222f4ea83ddSJohannes Berg	  It should not be selected on production systems as those
223f4ea83ddSJohannes Berg	  messages are remotely triggerable.
224f4ea83ddSJohannes Berg
225f4ea83ddSJohannes Berg	  Do not select this option.
226f0706e82SJiri Benc
227bdcbd8e0SJohannes Bergconfig MAC80211_MPATH_DEBUG
2287646887aSJavier Cardona	bool "Verbose mesh path debugging"
2297646887aSJavier Cardona	depends on MAC80211_DEBUG_MENU
2307646887aSJavier Cardona	depends on MAC80211_MESH
2317646887aSJavier Cardona	---help---
2327646887aSJavier Cardona	  Selecting this option causes mac80211 to print out very
2337646887aSJavier Cardona	  verbose mesh path selection debugging messages (when mac80211
2347646887aSJavier Cardona	  is taking part in a mesh network).
2357646887aSJavier Cardona	  It should not be selected on production systems as those
2367646887aSJavier Cardona	  messages are remotely triggerable.
2377646887aSJavier Cardona
2387646887aSJavier Cardona	  Do not select this option.
2397646887aSJavier Cardona
240bdcbd8e0SJohannes Bergconfig MAC80211_MHWMP_DEBUG
24127db2e42SRui Paulo	bool "Verbose mesh HWMP routing debugging"
24227db2e42SRui Paulo	depends on MAC80211_DEBUG_MENU
24327db2e42SRui Paulo	depends on MAC80211_MESH
24427db2e42SRui Paulo	---help---
24527db2e42SRui Paulo	  Selecting this option causes mac80211 to print out very
24627db2e42SRui Paulo	  verbose mesh routing (HWMP) debugging messages (when mac80211
24727db2e42SRui Paulo	  is taking part in a mesh network).
24827db2e42SRui Paulo	  It should not be selected on production systems as those
24927db2e42SRui Paulo	  messages are remotely triggerable.
25027db2e42SRui Paulo
25127db2e42SRui Paulo	  Do not select this option.
25227db2e42SRui Paulo
253bdcbd8e0SJohannes Bergconfig MAC80211_MESH_SYNC_DEBUG
254f53c6a0dSMarco Porsch	bool "Verbose mesh synchronization debugging"
255dbf498fbSJavier Cardona	depends on MAC80211_DEBUG_MENU
256dbf498fbSJavier Cardona	depends on MAC80211_MESH
257dbf498fbSJavier Cardona	---help---
258dbf498fbSJavier Cardona	  Selecting this option causes mac80211 to print out very verbose mesh
259dbf498fbSJavier Cardona	  synchronization debugging messages (when mac80211 is taking part in a
260dbf498fbSJavier Cardona	  mesh network).
261dbf498fbSJavier Cardona
262dbf498fbSJavier Cardona	  Do not select this option.
263dbf498fbSJavier Cardona
2648f2535b9SChun-Yeow Yeohconfig MAC80211_MESH_CSA_DEBUG
2658f2535b9SChun-Yeow Yeoh	bool "Verbose mesh channel switch debugging"
2668f2535b9SChun-Yeow Yeoh	depends on MAC80211_DEBUG_MENU
2678f2535b9SChun-Yeow Yeoh	depends on MAC80211_MESH
2688f2535b9SChun-Yeow Yeoh	---help---
2698f2535b9SChun-Yeow Yeoh	  Selecting this option causes mac80211 to print out very verbose mesh
2708f2535b9SChun-Yeow Yeoh	  channel switch debugging messages (when mac80211 is taking part in a
2718f2535b9SChun-Yeow Yeoh	  mesh network).
2728f2535b9SChun-Yeow Yeoh
2738f2535b9SChun-Yeow Yeoh	  Do not select this option.
2748f2535b9SChun-Yeow Yeoh
2753f52b7e3SMarco Porschconfig MAC80211_MESH_PS_DEBUG
2763f52b7e3SMarco Porsch	bool "Verbose mesh powersave debugging"
2773f52b7e3SMarco Porsch	depends on MAC80211_DEBUG_MENU
2783f52b7e3SMarco Porsch	depends on MAC80211_MESH
2793f52b7e3SMarco Porsch	---help---
2803f52b7e3SMarco Porsch	  Selecting this option causes mac80211 to print out very verbose mesh
2813f52b7e3SMarco Porsch	  powersave debugging messages (when mac80211 is taking part in a
2823f52b7e3SMarco Porsch	  mesh network).
2833f52b7e3SMarco Porsch
2843f52b7e3SMarco Porsch	  Do not select this option.
2853f52b7e3SMarco Porsch
286bdcbd8e0SJohannes Bergconfig MAC80211_TDLS_DEBUG
287dfe018bfSArik Nemtsov	bool "Verbose TDLS debugging"
288dfe018bfSArik Nemtsov	depends on MAC80211_DEBUG_MENU
289dfe018bfSArik Nemtsov	---help---
290dfe018bfSArik Nemtsov	  Selecting this option causes mac80211 to print out very
291dfe018bfSArik Nemtsov	  verbose TDLS selection debugging messages (when mac80211
292dfe018bfSArik Nemtsov	  is a TDLS STA).
293dfe018bfSArik Nemtsov	  It should not be selected on production systems as those
294dfe018bfSArik Nemtsov	  messages are remotely triggerable.
295dfe018bfSArik Nemtsov
296dfe018bfSArik Nemtsov	  Do not select this option.
297dfe018bfSArik Nemtsov
298f0706e82SJiri Bencconfig MAC80211_DEBUG_COUNTERS
299f0706e82SJiri Benc	bool "Extra statistics for TX/RX debugging"
300f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
301f4ea83ddSJohannes Berg	depends on MAC80211_DEBUGFS
302f0706e82SJiri Benc	---help---
303f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to keep additional
304f4ea83ddSJohannes Berg	  and very verbose statistics about TX and RX handler use
305f4ea83ddSJohannes Berg	  and show them in debugfs.
306f0706e82SJiri Benc
307f4ea83ddSJohannes Berg	  If unsure, say N.
308*ebd82b39SJohannes Berg
309*ebd82b39SJohannes Bergconfig MAC80211_STA_HASH_MAX_SIZE
310*ebd82b39SJohannes Berg	int "Station hash table maximum size" if MAC80211_DEBUG_MENU
311*ebd82b39SJohannes Berg	default 0
312*ebd82b39SJohannes Berg	---help---
313*ebd82b39SJohannes Berg	  Setting this option to a low value (e.g. 4) allows testing the
314*ebd82b39SJohannes Berg	  hash table with collisions relatively deterministically (just
315*ebd82b39SJohannes Berg	  connect more stations than the number selected here.)
316*ebd82b39SJohannes Berg
317*ebd82b39SJohannes Berg	  If unsure, leave the default of 0.
318