xref: /openbmc/linux/net/mac80211/Kconfig (revision 8f2535b9)
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
22e5f5e733SAdrian Bunkconfig MAC80211_RC_PID
236a108a14SDavid Rientjes	bool "PID controller based rate control algorithm" if EXPERT
24c2ef355bSAndres Salomon	select MAC80211_HAS_RC
25e5f5e733SAdrian Bunk	---help---
26e5f5e733SAdrian Bunk	  This option enables a TX rate control algorithm for
27e5f5e733SAdrian Bunk	  mac80211 that uses a PID controller to select the TX
28e5f5e733SAdrian Bunk	  rate.
29e5f5e733SAdrian Bunk
30cccf129fSFelix Fietkauconfig MAC80211_RC_MINSTREL
316a108a14SDavid Rientjes	bool "Minstrel" if EXPERT
32c2ef355bSAndres Salomon	select MAC80211_HAS_RC
338eb41c93SLuis R. Rodriguez	default y
34cccf129fSFelix Fietkau	---help---
35cccf129fSFelix Fietkau	  This option enables the 'minstrel' TX rate control algorithm
36cccf129fSFelix Fietkau
37ec8aa669SFelix Fietkauconfig MAC80211_RC_MINSTREL_HT
386a108a14SDavid Rientjes	bool "Minstrel 802.11n support" if EXPERT
39ec8aa669SFelix Fietkau	depends on MAC80211_RC_MINSTREL
40ec8aa669SFelix Fietkau	default y
41ec8aa669SFelix Fietkau	---help---
42ec8aa669SFelix Fietkau	  This option enables the 'minstrel_ht' TX rate control algorithm
43ec8aa669SFelix Fietkau
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
54c21b39acSStefano Brivioconfig MAC80211_RC_DEFAULT_PID
55c21b39acSStefano Brivio	bool "PID controller based rate control algorithm"
56e5f5e733SAdrian Bunk	depends on MAC80211_RC_PID
57c21b39acSStefano Brivio	---help---
58c21b39acSStefano Brivio	  Select the PID controller based rate control as the
59c21b39acSStefano Brivio	  default rate control algorithm. You should choose
60c21b39acSStefano Brivio	  this unless you know what you are doing.
61c21b39acSStefano Brivio
62cccf129fSFelix Fietkauconfig MAC80211_RC_DEFAULT_MINSTREL
63cccf129fSFelix Fietkau	bool "Minstrel"
64cccf129fSFelix Fietkau	depends on MAC80211_RC_MINSTREL
65cccf129fSFelix Fietkau	---help---
66cccf129fSFelix Fietkau	  Select Minstrel as the default rate control algorithm.
67cccf129fSFelix Fietkau
68cccf129fSFelix Fietkau
69c21b39acSStefano Brivioendchoice
70c21b39acSStefano Brivio
71c21b39acSStefano Brivioconfig MAC80211_RC_DEFAULT
72c21b39acSStefano Brivio	string
7392b50c4bSHelmut Schaa	default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL && MAC80211_RC_MINSTREL_HT
74cccf129fSFelix Fietkau	default "minstrel" if MAC80211_RC_DEFAULT_MINSTREL
758eb41c93SLuis R. Rodriguez	default "pid" if MAC80211_RC_DEFAULT_PID
76c21b39acSStefano Brivio	default ""
77c21b39acSStefano Brivio
78abd8ea22SLuis R. Rodriguezendif
79ad018375SMattias Nissler
80c2ef355bSAndres Salomoncomment "Some wireless drivers require a rate control algorithm"
81e46395a4SJohannes Berg	depends on MAC80211 && MAC80211_HAS_RC=n
82c2ef355bSAndres Salomon
832f5ce793SJohannes Bergconfig MAC80211_MESH
842f5ce793SJohannes Berg	bool "Enable mac80211 mesh networking (pre-802.11s) support"
8548f6edceSKees Cook	depends on MAC80211
862f5ce793SJohannes Berg	---help---
875c142e8dSJohannes Berg	 This options enables support of Draft 802.11s mesh networking.
8818889231SJavier Cardona	 The implementation is based on Draft 2.08 of the Mesh Networking
8918889231SJavier Cardona	 amendment.  However, no compliance with that draft is claimed or even
9018889231SJavier Cardona	 possible, as drafts leave a number of identifiers to be defined after
9118889231SJavier Cardona	 ratification.  For more information visit http://o11s.org/.
922f5ce793SJohannes Berg
93f0706e82SJiri Bencconfig MAC80211_LEDS
94f0706e82SJiri Benc	bool "Enable LED triggers"
95bd8fd21dSLuca Tettamanti	depends on MAC80211
960bae35e1SJohannes Berg	depends on LEDS_CLASS
97bd8fd21dSLuca Tettamanti	select LEDS_TRIGGERS
98f0706e82SJiri Benc	---help---
99f0706e82SJiri Benc	  This option enables a few LED triggers for different
100f0706e82SJiri Benc	  packet receive/transmit events.
101f0706e82SJiri Benc
102e9f207f0SJiri Bencconfig MAC80211_DEBUGFS
103e9f207f0SJiri Benc	bool "Export mac80211 internals in DebugFS"
104e9f207f0SJiri Benc	depends on MAC80211 && DEBUG_FS
105e9f207f0SJiri Benc	---help---
106e9f207f0SJiri Benc	  Select this to see extensive information about
107e9f207f0SJiri Benc	  the internal state of mac80211 in debugfs.
108e9f207f0SJiri Benc
109e9f207f0SJiri Benc	  Say N unless you know you need this.
110e9f207f0SJiri Benc
1113fae0273SJohannes Bergconfig MAC80211_MESSAGE_TRACING
1123fae0273SJohannes Berg	bool "Trace all mac80211 debug messages"
1133fae0273SJohannes Berg	depends on MAC80211
1143fae0273SJohannes Berg	---help---
1153fae0273SJohannes Berg	  Select this option to have mac80211 register the
1163fae0273SJohannes Berg	  mac80211_msg trace subsystem with tracepoints to
1173fae0273SJohannes Berg	  collect all debugging messages, independent of
1183fae0273SJohannes Berg	  printing them into the kernel log.
1193fae0273SJohannes Berg
1203fae0273SJohannes Berg	  The overhead in this option is that all the messages
1213fae0273SJohannes Berg	  need to be present in the binary and formatted at
1223fae0273SJohannes Berg	  runtime for tracing.
1233fae0273SJohannes Berg
124f4ea83ddSJohannes Bergmenuconfig MAC80211_DEBUG_MENU
125f4ea83ddSJohannes Berg	bool "Select mac80211 debugging features"
126f4ea83ddSJohannes Berg	depends on MAC80211
127f4ea83ddSJohannes Berg	---help---
128f4ea83ddSJohannes Berg	  This option collects various mac80211 debug settings.
129f4ea83ddSJohannes Berg
130f4ea83ddSJohannes Bergconfig MAC80211_NOINLINE
131f4ea83ddSJohannes Berg	bool "Do not inline TX/RX handlers"
132f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
133f0706e82SJiri Benc	---help---
134f4ea83ddSJohannes Berg	  This option affects code generation in mac80211, when
135f4ea83ddSJohannes Berg	  selected some functions are marked "noinline" to allow
136f4ea83ddSJohannes Berg	  easier debugging of problems in the transmit and receive
137f4ea83ddSJohannes Berg	  paths.
138f0706e82SJiri Benc
139f4ea83ddSJohannes Berg	  This option increases code size a bit and inserts a lot
140f4ea83ddSJohannes Berg	  of function calls in the code, but is otherwise safe to
141f4ea83ddSJohannes Berg	  enable.
142f4ea83ddSJohannes Berg
143f4ea83ddSJohannes Berg	  If unsure, say N unless you expect to be finding problems
144f4ea83ddSJohannes Berg	  in mac80211.
145f4ea83ddSJohannes Berg
146f4ea83ddSJohannes Bergconfig MAC80211_VERBOSE_DEBUG
147f4ea83ddSJohannes Berg	bool "Verbose debugging output"
148f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
149f4ea83ddSJohannes Berg	---help---
150f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out
151f4ea83ddSJohannes Berg	  many debugging messages. It should not be selected
152f4ea83ddSJohannes Berg	  on production systems as some of the messages are
153f4ea83ddSJohannes Berg	  remotely triggerable.
154f4ea83ddSJohannes Berg
155f4ea83ddSJohannes Berg	  Do not select this option.
156f0706e82SJiri Benc
157bdcbd8e0SJohannes Bergconfig MAC80211_MLME_DEBUG
158bdcbd8e0SJohannes Berg	bool "Verbose managed MLME output"
159bdcbd8e0SJohannes Berg	depends on MAC80211_DEBUG_MENU
160bdcbd8e0SJohannes Berg	---help---
161bdcbd8e0SJohannes Berg	  Selecting this option causes mac80211 to print out
162bdcbd8e0SJohannes Berg	  debugging messages for the managed-mode MLME. It
163bdcbd8e0SJohannes Berg	  should not be selected on production systems as some
164bdcbd8e0SJohannes Berg	  of the messages are remotely triggerable.
165bdcbd8e0SJohannes Berg
166bdcbd8e0SJohannes Berg	  Do not select this option.
167bdcbd8e0SJohannes Berg
168bdcbd8e0SJohannes Bergconfig MAC80211_STA_DEBUG
169bdcbd8e0SJohannes Berg	bool "Verbose station debugging"
170bdcbd8e0SJohannes Berg	depends on MAC80211_DEBUG_MENU
171bdcbd8e0SJohannes Berg	---help---
172bdcbd8e0SJohannes Berg	  Selecting this option causes mac80211 to print out
173bdcbd8e0SJohannes Berg	  debugging messages for station addition/removal.
174bdcbd8e0SJohannes Berg
175bdcbd8e0SJohannes Berg	  Do not select this option.
176bdcbd8e0SJohannes Berg
17782b3cad9SRon Rindjunskyconfig MAC80211_HT_DEBUG
178f4ea83ddSJohannes Berg	bool "Verbose HT debugging"
179f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
18082b3cad9SRon Rindjunsky	---help---
18182b3cad9SRon Rindjunsky	  This option enables 802.11n High Throughput features
18282b3cad9SRon Rindjunsky	  debug tracing output.
18382b3cad9SRon Rindjunsky
184f4ea83ddSJohannes Berg	  It should not be selected on production systems as some
185f4ea83ddSJohannes Berg	  of the messages are remotely triggerable.
18682b3cad9SRon Rindjunsky
187f4ea83ddSJohannes Berg	  Do not select this option.
188f4ea83ddSJohannes Berg
189f4ea83ddSJohannes Bergconfig MAC80211_IBSS_DEBUG
190f4ea83ddSJohannes Berg	bool "Verbose IBSS debugging"
191f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
192f4ea83ddSJohannes Berg	---help---
193f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out
194f4ea83ddSJohannes Berg	  very verbose IBSS debugging messages. It should not
195f4ea83ddSJohannes Berg	  be selected on production systems as those messages
196f4ea83ddSJohannes Berg	  are remotely triggerable.
197f4ea83ddSJohannes Berg
198f4ea83ddSJohannes Berg	  Do not select this option.
199f4ea83ddSJohannes Berg
200bdcbd8e0SJohannes Bergconfig MAC80211_PS_DEBUG
201f4ea83ddSJohannes Berg	bool "Verbose powersave mode debugging"
202f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
203f4ea83ddSJohannes Berg	---help---
204f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out very
205f4ea83ddSJohannes Berg	  verbose power save mode debugging messages (when mac80211
206f4ea83ddSJohannes Berg	  is an AP and has power saving stations.)
207f4ea83ddSJohannes Berg	  It should not be selected on production systems as those
208f4ea83ddSJohannes Berg	  messages are remotely triggerable.
209f4ea83ddSJohannes Berg
210f4ea83ddSJohannes Berg	  Do not select this option.
211f4ea83ddSJohannes Berg
212bdcbd8e0SJohannes Bergconfig MAC80211_MPL_DEBUG
213f4ea83ddSJohannes Berg	bool "Verbose mesh peer link debugging"
214f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
215f4ea83ddSJohannes Berg	depends on MAC80211_MESH
216f4ea83ddSJohannes Berg	---help---
217f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out very
218f4ea83ddSJohannes Berg	  verbose mesh peer link debugging messages (when mac80211
219f4ea83ddSJohannes Berg	  is taking part in a mesh network).
220f4ea83ddSJohannes Berg	  It should not be selected on production systems as those
221f4ea83ddSJohannes Berg	  messages are remotely triggerable.
222f4ea83ddSJohannes Berg
223f4ea83ddSJohannes Berg	  Do not select this option.
224f0706e82SJiri Benc
225bdcbd8e0SJohannes Bergconfig MAC80211_MPATH_DEBUG
2267646887aSJavier Cardona	bool "Verbose mesh path debugging"
2277646887aSJavier Cardona	depends on MAC80211_DEBUG_MENU
2287646887aSJavier Cardona	depends on MAC80211_MESH
2297646887aSJavier Cardona	---help---
2307646887aSJavier Cardona	  Selecting this option causes mac80211 to print out very
2317646887aSJavier Cardona	  verbose mesh path selection debugging messages (when mac80211
2327646887aSJavier Cardona	  is taking part in a mesh network).
2337646887aSJavier Cardona	  It should not be selected on production systems as those
2347646887aSJavier Cardona	  messages are remotely triggerable.
2357646887aSJavier Cardona
2367646887aSJavier Cardona	  Do not select this option.
2377646887aSJavier Cardona
238bdcbd8e0SJohannes Bergconfig MAC80211_MHWMP_DEBUG
23927db2e42SRui Paulo	bool "Verbose mesh HWMP routing debugging"
24027db2e42SRui Paulo	depends on MAC80211_DEBUG_MENU
24127db2e42SRui Paulo	depends on MAC80211_MESH
24227db2e42SRui Paulo	---help---
24327db2e42SRui Paulo	  Selecting this option causes mac80211 to print out very
24427db2e42SRui Paulo	  verbose mesh routing (HWMP) debugging messages (when mac80211
24527db2e42SRui Paulo	  is taking part in a mesh network).
24627db2e42SRui Paulo	  It should not be selected on production systems as those
24727db2e42SRui Paulo	  messages are remotely triggerable.
24827db2e42SRui Paulo
24927db2e42SRui Paulo	  Do not select this option.
25027db2e42SRui Paulo
251bdcbd8e0SJohannes Bergconfig MAC80211_MESH_SYNC_DEBUG
252f53c6a0dSMarco Porsch	bool "Verbose mesh synchronization debugging"
253dbf498fbSJavier Cardona	depends on MAC80211_DEBUG_MENU
254dbf498fbSJavier Cardona	depends on MAC80211_MESH
255dbf498fbSJavier Cardona	---help---
256dbf498fbSJavier Cardona	  Selecting this option causes mac80211 to print out very verbose mesh
257dbf498fbSJavier Cardona	  synchronization debugging messages (when mac80211 is taking part in a
258dbf498fbSJavier Cardona	  mesh network).
259dbf498fbSJavier Cardona
260dbf498fbSJavier Cardona	  Do not select this option.
261dbf498fbSJavier Cardona
262*8f2535b9SChun-Yeow Yeohconfig MAC80211_MESH_CSA_DEBUG
263*8f2535b9SChun-Yeow Yeoh	bool "Verbose mesh channel switch debugging"
264*8f2535b9SChun-Yeow Yeoh	depends on MAC80211_DEBUG_MENU
265*8f2535b9SChun-Yeow Yeoh	depends on MAC80211_MESH
266*8f2535b9SChun-Yeow Yeoh	---help---
267*8f2535b9SChun-Yeow Yeoh	  Selecting this option causes mac80211 to print out very verbose mesh
268*8f2535b9SChun-Yeow Yeoh	  channel switch debugging messages (when mac80211 is taking part in a
269*8f2535b9SChun-Yeow Yeoh	  mesh network).
270*8f2535b9SChun-Yeow Yeoh
271*8f2535b9SChun-Yeow Yeoh	  Do not select this option.
272*8f2535b9SChun-Yeow Yeoh
2733f52b7e3SMarco Porschconfig MAC80211_MESH_PS_DEBUG
2743f52b7e3SMarco Porsch	bool "Verbose mesh powersave debugging"
2753f52b7e3SMarco Porsch	depends on MAC80211_DEBUG_MENU
2763f52b7e3SMarco Porsch	depends on MAC80211_MESH
2773f52b7e3SMarco Porsch	---help---
2783f52b7e3SMarco Porsch	  Selecting this option causes mac80211 to print out very verbose mesh
2793f52b7e3SMarco Porsch	  powersave debugging messages (when mac80211 is taking part in a
2803f52b7e3SMarco Porsch	  mesh network).
2813f52b7e3SMarco Porsch
2823f52b7e3SMarco Porsch	  Do not select this option.
2833f52b7e3SMarco Porsch
284bdcbd8e0SJohannes Bergconfig MAC80211_TDLS_DEBUG
285dfe018bfSArik Nemtsov	bool "Verbose TDLS debugging"
286dfe018bfSArik Nemtsov	depends on MAC80211_DEBUG_MENU
287dfe018bfSArik Nemtsov	---help---
288dfe018bfSArik Nemtsov	  Selecting this option causes mac80211 to print out very
289dfe018bfSArik Nemtsov	  verbose TDLS selection debugging messages (when mac80211
290dfe018bfSArik Nemtsov	  is a TDLS STA).
291dfe018bfSArik Nemtsov	  It should not be selected on production systems as those
292dfe018bfSArik Nemtsov	  messages are remotely triggerable.
293dfe018bfSArik Nemtsov
294dfe018bfSArik Nemtsov	  Do not select this option.
295dfe018bfSArik Nemtsov
296f0706e82SJiri Bencconfig MAC80211_DEBUG_COUNTERS
297f0706e82SJiri Benc	bool "Extra statistics for TX/RX debugging"
298f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
299f4ea83ddSJohannes Berg	depends on MAC80211_DEBUGFS
300f0706e82SJiri Benc	---help---
301f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to keep additional
302f4ea83ddSJohannes Berg	  and very verbose statistics about TX and RX handler use
303f4ea83ddSJohannes Berg	  and show them in debugfs.
304f0706e82SJiri Benc
305f4ea83ddSJohannes Berg	  If unsure, say N.
306