xref: /openbmc/linux/net/mac80211/Kconfig (revision 9208247d)
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
8f0706e82SJiri Benc	select CRC32
9541a45a1SBruno Randolf	select AVERAGE
10f0706e82SJiri Benc	---help---
11f0706e82SJiri Benc	  This option enables the hardware independent IEEE 802.11
12f0706e82SJiri Benc	  networking stack.
13f0706e82SJiri Benc
140aa8204bSJohannes Bergcomment "CFG80211 needs to be enabled for MAC80211"
150aa8204bSJohannes Berg	depends on CFG80211=n
160aa8204bSJohannes Berg
17abd8ea22SLuis R. Rodriguezif MAC80211 != n
18ac71c691SJohannes Berg
19c2ef355bSAndres Salomonconfig MAC80211_HAS_RC
20540005c7SJan Beulich	bool
21c2ef355bSAndres Salomon
22cccf129fSFelix Fietkauconfig MAC80211_RC_MINSTREL
236a108a14SDavid Rientjes	bool "Minstrel" if EXPERT
24c2ef355bSAndres Salomon	select MAC80211_HAS_RC
258eb41c93SLuis R. Rodriguez	default y
26cccf129fSFelix Fietkau	---help---
27cccf129fSFelix Fietkau	  This option enables the 'minstrel' TX rate control algorithm
28cccf129fSFelix Fietkau
29ec8aa669SFelix Fietkauconfig MAC80211_RC_MINSTREL_HT
306a108a14SDavid Rientjes	bool "Minstrel 802.11n support" if EXPERT
31ec8aa669SFelix Fietkau	depends on MAC80211_RC_MINSTREL
32ec8aa669SFelix Fietkau	default y
33ec8aa669SFelix Fietkau	---help---
34ec8aa669SFelix Fietkau	  This option enables the 'minstrel_ht' TX rate control algorithm
35ec8aa669SFelix Fietkau
36*9208247dSKarl Beldanconfig MAC80211_RC_MINSTREL_VHT
37*9208247dSKarl Beldan	bool "Minstrel 802.11ac support" if EXPERT
38*9208247dSKarl Beldan	depends on MAC80211_RC_MINSTREL_HT
39*9208247dSKarl Beldan	default n
40*9208247dSKarl Beldan	---help---
41*9208247dSKarl Beldan	  This option enables VHT in the 'minstrel_ht' TX rate control algorithm
42*9208247dSKarl Beldan
43c21b39acSStefano Briviochoice
44c21b39acSStefano Brivio	prompt "Default rate control algorithm"
45c2ef355bSAndres Salomon	depends on MAC80211_HAS_RC
468eb41c93SLuis R. Rodriguez	default MAC80211_RC_DEFAULT_MINSTREL
47c21b39acSStefano Brivio	---help---
48c21b39acSStefano Brivio	  This option selects the default rate control algorithm
49c21b39acSStefano Brivio	  mac80211 will use. Note that this default can still be
50692105b8SMatt LaPlante	  overridden through the ieee80211_default_rc_algo module
514b475898SJohannes Berg	  parameter if different algorithms are available.
52ac71c691SJohannes Berg
53cccf129fSFelix Fietkauconfig MAC80211_RC_DEFAULT_MINSTREL
54cccf129fSFelix Fietkau	bool "Minstrel"
55cccf129fSFelix Fietkau	depends on MAC80211_RC_MINSTREL
56cccf129fSFelix Fietkau	---help---
57cccf129fSFelix Fietkau	  Select Minstrel as the default rate control algorithm.
58cccf129fSFelix Fietkau
59cccf129fSFelix Fietkau
60c21b39acSStefano Brivioendchoice
61c21b39acSStefano Brivio
62c21b39acSStefano Brivioconfig MAC80211_RC_DEFAULT
63c21b39acSStefano Brivio	string
6492b50c4bSHelmut Schaa	default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL && MAC80211_RC_MINSTREL_HT
65cccf129fSFelix Fietkau	default "minstrel" if MAC80211_RC_DEFAULT_MINSTREL
66c21b39acSStefano Brivio	default ""
67c21b39acSStefano Brivio
68abd8ea22SLuis R. Rodriguezendif
69ad018375SMattias Nissler
70c2ef355bSAndres Salomoncomment "Some wireless drivers require a rate control algorithm"
71e46395a4SJohannes Berg	depends on MAC80211 && MAC80211_HAS_RC=n
72c2ef355bSAndres Salomon
732f5ce793SJohannes Bergconfig MAC80211_MESH
742f5ce793SJohannes Berg	bool "Enable mac80211 mesh networking (pre-802.11s) support"
7548f6edceSKees Cook	depends on MAC80211
762f5ce793SJohannes Berg	---help---
775c142e8dSJohannes Berg	 This options enables support of Draft 802.11s mesh networking.
7818889231SJavier Cardona	 The implementation is based on Draft 2.08 of the Mesh Networking
7918889231SJavier Cardona	 amendment.  However, no compliance with that draft is claimed or even
8018889231SJavier Cardona	 possible, as drafts leave a number of identifiers to be defined after
8118889231SJavier Cardona	 ratification.  For more information visit http://o11s.org/.
822f5ce793SJohannes Berg
83f0706e82SJiri Bencconfig MAC80211_LEDS
84f0706e82SJiri Benc	bool "Enable LED triggers"
85bd8fd21dSLuca Tettamanti	depends on MAC80211
860bae35e1SJohannes Berg	depends on LEDS_CLASS
87bd8fd21dSLuca Tettamanti	select LEDS_TRIGGERS
88f0706e82SJiri Benc	---help---
89f0706e82SJiri Benc	  This option enables a few LED triggers for different
90f0706e82SJiri Benc	  packet receive/transmit events.
91f0706e82SJiri Benc
92e9f207f0SJiri Bencconfig MAC80211_DEBUGFS
93e9f207f0SJiri Benc	bool "Export mac80211 internals in DebugFS"
94e9f207f0SJiri Benc	depends on MAC80211 && DEBUG_FS
95e9f207f0SJiri Benc	---help---
96e9f207f0SJiri Benc	  Select this to see extensive information about
97e9f207f0SJiri Benc	  the internal state of mac80211 in debugfs.
98e9f207f0SJiri Benc
99e9f207f0SJiri Benc	  Say N unless you know you need this.
100e9f207f0SJiri Benc
1013fae0273SJohannes Bergconfig MAC80211_MESSAGE_TRACING
1023fae0273SJohannes Berg	bool "Trace all mac80211 debug messages"
1033fae0273SJohannes Berg	depends on MAC80211
1043fae0273SJohannes Berg	---help---
1053fae0273SJohannes Berg	  Select this option to have mac80211 register the
1063fae0273SJohannes Berg	  mac80211_msg trace subsystem with tracepoints to
1073fae0273SJohannes Berg	  collect all debugging messages, independent of
1083fae0273SJohannes Berg	  printing them into the kernel log.
1093fae0273SJohannes Berg
1103fae0273SJohannes Berg	  The overhead in this option is that all the messages
1113fae0273SJohannes Berg	  need to be present in the binary and formatted at
1123fae0273SJohannes Berg	  runtime for tracing.
1133fae0273SJohannes Berg
114f4ea83ddSJohannes Bergmenuconfig MAC80211_DEBUG_MENU
115f4ea83ddSJohannes Berg	bool "Select mac80211 debugging features"
116f4ea83ddSJohannes Berg	depends on MAC80211
117f4ea83ddSJohannes Berg	---help---
118f4ea83ddSJohannes Berg	  This option collects various mac80211 debug settings.
119f4ea83ddSJohannes Berg
120f4ea83ddSJohannes Bergconfig MAC80211_NOINLINE
121f4ea83ddSJohannes Berg	bool "Do not inline TX/RX handlers"
122f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
123f0706e82SJiri Benc	---help---
124f4ea83ddSJohannes Berg	  This option affects code generation in mac80211, when
125f4ea83ddSJohannes Berg	  selected some functions are marked "noinline" to allow
126f4ea83ddSJohannes Berg	  easier debugging of problems in the transmit and receive
127f4ea83ddSJohannes Berg	  paths.
128f0706e82SJiri Benc
129f4ea83ddSJohannes Berg	  This option increases code size a bit and inserts a lot
130f4ea83ddSJohannes Berg	  of function calls in the code, but is otherwise safe to
131f4ea83ddSJohannes Berg	  enable.
132f4ea83ddSJohannes Berg
133f4ea83ddSJohannes Berg	  If unsure, say N unless you expect to be finding problems
134f4ea83ddSJohannes Berg	  in mac80211.
135f4ea83ddSJohannes Berg
136f4ea83ddSJohannes Bergconfig MAC80211_VERBOSE_DEBUG
137f4ea83ddSJohannes Berg	bool "Verbose debugging output"
138f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
139f4ea83ddSJohannes Berg	---help---
140f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out
141f4ea83ddSJohannes Berg	  many debugging messages. It should not be selected
142f4ea83ddSJohannes Berg	  on production systems as some of the messages are
143f4ea83ddSJohannes Berg	  remotely triggerable.
144f4ea83ddSJohannes Berg
145f4ea83ddSJohannes Berg	  Do not select this option.
146f0706e82SJiri Benc
147bdcbd8e0SJohannes Bergconfig MAC80211_MLME_DEBUG
148bdcbd8e0SJohannes Berg	bool "Verbose managed MLME output"
149bdcbd8e0SJohannes Berg	depends on MAC80211_DEBUG_MENU
150bdcbd8e0SJohannes Berg	---help---
151bdcbd8e0SJohannes Berg	  Selecting this option causes mac80211 to print out
152bdcbd8e0SJohannes Berg	  debugging messages for the managed-mode MLME. It
153bdcbd8e0SJohannes Berg	  should not be selected on production systems as some
154bdcbd8e0SJohannes Berg	  of the messages are remotely triggerable.
155bdcbd8e0SJohannes Berg
156bdcbd8e0SJohannes Berg	  Do not select this option.
157bdcbd8e0SJohannes Berg
158bdcbd8e0SJohannes Bergconfig MAC80211_STA_DEBUG
159bdcbd8e0SJohannes Berg	bool "Verbose station debugging"
160bdcbd8e0SJohannes Berg	depends on MAC80211_DEBUG_MENU
161bdcbd8e0SJohannes Berg	---help---
162bdcbd8e0SJohannes Berg	  Selecting this option causes mac80211 to print out
163bdcbd8e0SJohannes Berg	  debugging messages for station addition/removal.
164bdcbd8e0SJohannes Berg
165bdcbd8e0SJohannes Berg	  Do not select this option.
166bdcbd8e0SJohannes Berg
16782b3cad9SRon Rindjunskyconfig MAC80211_HT_DEBUG
168f4ea83ddSJohannes Berg	bool "Verbose HT debugging"
169f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
17082b3cad9SRon Rindjunsky	---help---
17182b3cad9SRon Rindjunsky	  This option enables 802.11n High Throughput features
17282b3cad9SRon Rindjunsky	  debug tracing output.
17382b3cad9SRon Rindjunsky
174f4ea83ddSJohannes Berg	  It should not be selected on production systems as some
175f4ea83ddSJohannes Berg	  of the messages are remotely triggerable.
17682b3cad9SRon Rindjunsky
177f4ea83ddSJohannes Berg	  Do not select this option.
178f4ea83ddSJohannes Berg
179f4ea83ddSJohannes Bergconfig MAC80211_IBSS_DEBUG
180f4ea83ddSJohannes Berg	bool "Verbose IBSS debugging"
181f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
182f4ea83ddSJohannes Berg	---help---
183f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out
184f4ea83ddSJohannes Berg	  very verbose IBSS debugging messages. It should not
185f4ea83ddSJohannes Berg	  be selected on production systems as those messages
186f4ea83ddSJohannes Berg	  are remotely triggerable.
187f4ea83ddSJohannes Berg
188f4ea83ddSJohannes Berg	  Do not select this option.
189f4ea83ddSJohannes Berg
190bdcbd8e0SJohannes Bergconfig MAC80211_PS_DEBUG
191f4ea83ddSJohannes Berg	bool "Verbose powersave mode debugging"
192f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
193f4ea83ddSJohannes Berg	---help---
194f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out very
195f4ea83ddSJohannes Berg	  verbose power save mode debugging messages (when mac80211
196f4ea83ddSJohannes Berg	  is an AP and has power saving stations.)
197f4ea83ddSJohannes Berg	  It should not be selected on production systems as those
198f4ea83ddSJohannes Berg	  messages are remotely triggerable.
199f4ea83ddSJohannes Berg
200f4ea83ddSJohannes Berg	  Do not select this option.
201f4ea83ddSJohannes Berg
202bdcbd8e0SJohannes Bergconfig MAC80211_MPL_DEBUG
203f4ea83ddSJohannes Berg	bool "Verbose mesh peer link debugging"
204f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
205f4ea83ddSJohannes Berg	depends on MAC80211_MESH
206f4ea83ddSJohannes Berg	---help---
207f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out very
208f4ea83ddSJohannes Berg	  verbose mesh peer link debugging messages (when mac80211
209f4ea83ddSJohannes Berg	  is taking part in a mesh network).
210f4ea83ddSJohannes Berg	  It should not be selected on production systems as those
211f4ea83ddSJohannes Berg	  messages are remotely triggerable.
212f4ea83ddSJohannes Berg
213f4ea83ddSJohannes Berg	  Do not select this option.
214f0706e82SJiri Benc
215bdcbd8e0SJohannes Bergconfig MAC80211_MPATH_DEBUG
2167646887aSJavier Cardona	bool "Verbose mesh path debugging"
2177646887aSJavier Cardona	depends on MAC80211_DEBUG_MENU
2187646887aSJavier Cardona	depends on MAC80211_MESH
2197646887aSJavier Cardona	---help---
2207646887aSJavier Cardona	  Selecting this option causes mac80211 to print out very
2217646887aSJavier Cardona	  verbose mesh path selection debugging messages (when mac80211
2227646887aSJavier Cardona	  is taking part in a mesh network).
2237646887aSJavier Cardona	  It should not be selected on production systems as those
2247646887aSJavier Cardona	  messages are remotely triggerable.
2257646887aSJavier Cardona
2267646887aSJavier Cardona	  Do not select this option.
2277646887aSJavier Cardona
228bdcbd8e0SJohannes Bergconfig MAC80211_MHWMP_DEBUG
22927db2e42SRui Paulo	bool "Verbose mesh HWMP routing debugging"
23027db2e42SRui Paulo	depends on MAC80211_DEBUG_MENU
23127db2e42SRui Paulo	depends on MAC80211_MESH
23227db2e42SRui Paulo	---help---
23327db2e42SRui Paulo	  Selecting this option causes mac80211 to print out very
23427db2e42SRui Paulo	  verbose mesh routing (HWMP) debugging messages (when mac80211
23527db2e42SRui Paulo	  is taking part in a mesh network).
23627db2e42SRui Paulo	  It should not be selected on production systems as those
23727db2e42SRui Paulo	  messages are remotely triggerable.
23827db2e42SRui Paulo
23927db2e42SRui Paulo	  Do not select this option.
24027db2e42SRui Paulo
241bdcbd8e0SJohannes Bergconfig MAC80211_MESH_SYNC_DEBUG
242f53c6a0dSMarco Porsch	bool "Verbose mesh synchronization debugging"
243dbf498fbSJavier Cardona	depends on MAC80211_DEBUG_MENU
244dbf498fbSJavier Cardona	depends on MAC80211_MESH
245dbf498fbSJavier Cardona	---help---
246dbf498fbSJavier Cardona	  Selecting this option causes mac80211 to print out very verbose mesh
247dbf498fbSJavier Cardona	  synchronization debugging messages (when mac80211 is taking part in a
248dbf498fbSJavier Cardona	  mesh network).
249dbf498fbSJavier Cardona
250dbf498fbSJavier Cardona	  Do not select this option.
251dbf498fbSJavier Cardona
2528f2535b9SChun-Yeow Yeohconfig MAC80211_MESH_CSA_DEBUG
2538f2535b9SChun-Yeow Yeoh	bool "Verbose mesh channel switch debugging"
2548f2535b9SChun-Yeow Yeoh	depends on MAC80211_DEBUG_MENU
2558f2535b9SChun-Yeow Yeoh	depends on MAC80211_MESH
2568f2535b9SChun-Yeow Yeoh	---help---
2578f2535b9SChun-Yeow Yeoh	  Selecting this option causes mac80211 to print out very verbose mesh
2588f2535b9SChun-Yeow Yeoh	  channel switch debugging messages (when mac80211 is taking part in a
2598f2535b9SChun-Yeow Yeoh	  mesh network).
2608f2535b9SChun-Yeow Yeoh
2618f2535b9SChun-Yeow Yeoh	  Do not select this option.
2628f2535b9SChun-Yeow Yeoh
2633f52b7e3SMarco Porschconfig MAC80211_MESH_PS_DEBUG
2643f52b7e3SMarco Porsch	bool "Verbose mesh powersave debugging"
2653f52b7e3SMarco Porsch	depends on MAC80211_DEBUG_MENU
2663f52b7e3SMarco Porsch	depends on MAC80211_MESH
2673f52b7e3SMarco Porsch	---help---
2683f52b7e3SMarco Porsch	  Selecting this option causes mac80211 to print out very verbose mesh
2693f52b7e3SMarco Porsch	  powersave debugging messages (when mac80211 is taking part in a
2703f52b7e3SMarco Porsch	  mesh network).
2713f52b7e3SMarco Porsch
2723f52b7e3SMarco Porsch	  Do not select this option.
2733f52b7e3SMarco Porsch
274bdcbd8e0SJohannes Bergconfig MAC80211_TDLS_DEBUG
275dfe018bfSArik Nemtsov	bool "Verbose TDLS debugging"
276dfe018bfSArik Nemtsov	depends on MAC80211_DEBUG_MENU
277dfe018bfSArik Nemtsov	---help---
278dfe018bfSArik Nemtsov	  Selecting this option causes mac80211 to print out very
279dfe018bfSArik Nemtsov	  verbose TDLS selection debugging messages (when mac80211
280dfe018bfSArik Nemtsov	  is a TDLS STA).
281dfe018bfSArik Nemtsov	  It should not be selected on production systems as those
282dfe018bfSArik Nemtsov	  messages are remotely triggerable.
283dfe018bfSArik Nemtsov
284dfe018bfSArik Nemtsov	  Do not select this option.
285dfe018bfSArik Nemtsov
286f0706e82SJiri Bencconfig MAC80211_DEBUG_COUNTERS
287f0706e82SJiri Benc	bool "Extra statistics for TX/RX debugging"
288f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
289f4ea83ddSJohannes Berg	depends on MAC80211_DEBUGFS
290f0706e82SJiri Benc	---help---
291f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to keep additional
292f4ea83ddSJohannes Berg	  and very verbose statistics about TX and RX handler use
293f4ea83ddSJohannes Berg	  and show them in debugfs.
294f0706e82SJiri Benc
295f4ea83ddSJohannes Berg	  If unsure, say N.
296