xref: /openbmc/linux/net/mac80211/Kconfig (revision 540005c7)
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_ECB
6f0706e82SJiri Benc	select CRYPTO_ARC4
7f0706e82SJiri Benc	select CRYPTO_AES
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
20*540005c7SJan Beulich	bool
21c2ef355bSAndres Salomon
22e5f5e733SAdrian Bunkconfig MAC80211_RC_PID
23e5f5e733SAdrian Bunk	bool "PID controller based rate control algorithm" if EMBEDDED
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
318eb41c93SLuis R. Rodriguez	bool "Minstrel" if EMBEDDED
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
38ec8aa669SFelix Fietkau	bool "Minstrel 802.11n support" if EMBEDDED
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"
81c2ef355bSAndres Salomon	depends on MAC80211_HAS_RC=n
82c2ef355bSAndres Salomon
832f5ce793SJohannes Bergconfig MAC80211_MESH
842f5ce793SJohannes Berg	bool "Enable mac80211 mesh networking (pre-802.11s) support"
8537659ff8SLuis Carlos Cobo	depends on MAC80211 && EXPERIMENTAL
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
111f4ea83ddSJohannes Bergmenuconfig MAC80211_DEBUG_MENU
112f4ea83ddSJohannes Berg	bool "Select mac80211 debugging features"
113f4ea83ddSJohannes Berg	depends on MAC80211
114f4ea83ddSJohannes Berg	---help---
115f4ea83ddSJohannes Berg	  This option collects various mac80211 debug settings.
116f4ea83ddSJohannes Berg
117f4ea83ddSJohannes Bergconfig MAC80211_NOINLINE
118f4ea83ddSJohannes Berg	bool "Do not inline TX/RX handlers"
119f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
120f0706e82SJiri Benc	---help---
121f4ea83ddSJohannes Berg	  This option affects code generation in mac80211, when
122f4ea83ddSJohannes Berg	  selected some functions are marked "noinline" to allow
123f4ea83ddSJohannes Berg	  easier debugging of problems in the transmit and receive
124f4ea83ddSJohannes Berg	  paths.
125f0706e82SJiri Benc
126f4ea83ddSJohannes Berg	  This option increases code size a bit and inserts a lot
127f4ea83ddSJohannes Berg	  of function calls in the code, but is otherwise safe to
128f4ea83ddSJohannes Berg	  enable.
129f4ea83ddSJohannes Berg
130f4ea83ddSJohannes Berg	  If unsure, say N unless you expect to be finding problems
131f4ea83ddSJohannes Berg	  in mac80211.
132f4ea83ddSJohannes Berg
133f4ea83ddSJohannes Bergconfig MAC80211_VERBOSE_DEBUG
134f4ea83ddSJohannes Berg	bool "Verbose debugging output"
135f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
136f4ea83ddSJohannes Berg	---help---
137f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out
138f4ea83ddSJohannes Berg	  many debugging messages. It should not be selected
139f4ea83ddSJohannes Berg	  on production systems as some of the messages are
140f4ea83ddSJohannes Berg	  remotely triggerable.
141f4ea83ddSJohannes Berg
142f4ea83ddSJohannes Berg	  Do not select this option.
143f0706e82SJiri Benc
14482b3cad9SRon Rindjunskyconfig MAC80211_HT_DEBUG
145f4ea83ddSJohannes Berg	bool "Verbose HT debugging"
146f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
14782b3cad9SRon Rindjunsky	---help---
14882b3cad9SRon Rindjunsky	  This option enables 802.11n High Throughput features
14982b3cad9SRon Rindjunsky	  debug tracing output.
15082b3cad9SRon Rindjunsky
151f4ea83ddSJohannes Berg	  It should not be selected on production systems as some
152f4ea83ddSJohannes Berg	  of the messages are remotely triggerable.
15382b3cad9SRon Rindjunsky
154f4ea83ddSJohannes Berg	  Do not select this option.
155f4ea83ddSJohannes Berg
156f4ea83ddSJohannes Bergconfig MAC80211_TKIP_DEBUG
157f4ea83ddSJohannes Berg	bool "Verbose TKIP debugging"
158f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
159f4ea83ddSJohannes Berg	---help---
160f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out
161f4ea83ddSJohannes Berg	  very verbose TKIP debugging messages. It should not
162f4ea83ddSJohannes Berg	  be selected on production systems as those messages
163f4ea83ddSJohannes Berg	  are remotely triggerable.
164f4ea83ddSJohannes Berg
165f4ea83ddSJohannes Berg	  Do not select this option.
166f4ea83ddSJohannes Berg
167f4ea83ddSJohannes Bergconfig MAC80211_IBSS_DEBUG
168f4ea83ddSJohannes Berg	bool "Verbose IBSS debugging"
169f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
170f4ea83ddSJohannes Berg	---help---
171f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out
172f4ea83ddSJohannes Berg	  very verbose IBSS debugging messages. It should not
173f4ea83ddSJohannes Berg	  be selected on production systems as those messages
174f4ea83ddSJohannes Berg	  are remotely triggerable.
175f4ea83ddSJohannes Berg
176f4ea83ddSJohannes Berg	  Do not select this option.
177f4ea83ddSJohannes Berg
178f4ea83ddSJohannes Bergconfig MAC80211_VERBOSE_PS_DEBUG
179f4ea83ddSJohannes Berg	bool "Verbose powersave mode debugging"
180f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
181f4ea83ddSJohannes Berg	---help---
182f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out very
183f4ea83ddSJohannes Berg	  verbose power save mode debugging messages (when mac80211
184f4ea83ddSJohannes Berg	  is an AP and has power saving stations.)
185f4ea83ddSJohannes Berg	  It should not be selected on production systems as those
186f4ea83ddSJohannes Berg	  messages are remotely triggerable.
187f4ea83ddSJohannes Berg
188f4ea83ddSJohannes Berg	  Do not select this option.
189f4ea83ddSJohannes Berg
190f4ea83ddSJohannes Bergconfig MAC80211_VERBOSE_MPL_DEBUG
191f4ea83ddSJohannes Berg	bool "Verbose mesh peer link debugging"
192f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
193f4ea83ddSJohannes Berg	depends on MAC80211_MESH
194f4ea83ddSJohannes Berg	---help---
195f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out very
196f4ea83ddSJohannes Berg	  verbose mesh peer link debugging messages (when mac80211
197f4ea83ddSJohannes Berg	  is taking part in a mesh network).
198f4ea83ddSJohannes Berg	  It should not be selected on production systems as those
199f4ea83ddSJohannes Berg	  messages are remotely triggerable.
200f4ea83ddSJohannes Berg
201f4ea83ddSJohannes Berg	  Do not select this option.
202f0706e82SJiri Benc
20327db2e42SRui Pauloconfig MAC80211_VERBOSE_MHWMP_DEBUG
20427db2e42SRui Paulo	bool "Verbose mesh HWMP routing debugging"
20527db2e42SRui Paulo	depends on MAC80211_DEBUG_MENU
20627db2e42SRui Paulo	depends on MAC80211_MESH
20727db2e42SRui Paulo	---help---
20827db2e42SRui Paulo	  Selecting this option causes mac80211 to print out very
20927db2e42SRui Paulo	  verbose mesh routing (HWMP) debugging messages (when mac80211
21027db2e42SRui Paulo	  is taking part in a mesh network).
21127db2e42SRui Paulo	  It should not be selected on production systems as those
21227db2e42SRui Paulo	  messages are remotely triggerable.
21327db2e42SRui Paulo
21427db2e42SRui Paulo	  Do not select this option.
21527db2e42SRui Paulo
216f0706e82SJiri Bencconfig MAC80211_DEBUG_COUNTERS
217f0706e82SJiri Benc	bool "Extra statistics for TX/RX debugging"
218f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
219f4ea83ddSJohannes Berg	depends on MAC80211_DEBUGFS
220f0706e82SJiri Benc	---help---
221f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to keep additional
222f4ea83ddSJohannes Berg	  and very verbose statistics about TX and RX handler use
223f4ea83ddSJohannes Berg	  and show them in debugfs.
224f0706e82SJiri Benc
225f4ea83ddSJohannes Berg	  If unsure, say N.
2260a2b8bb2SJohannes Berg
2270a2b8bb2SJohannes Bergconfig MAC80211_DRIVER_API_TRACER
2280a2b8bb2SJohannes Berg	bool "Driver API tracer"
2290a2b8bb2SJohannes Berg	depends on MAC80211_DEBUG_MENU
2300a2b8bb2SJohannes Berg	depends on EVENT_TRACING
2310a2b8bb2SJohannes Berg	help
2320a2b8bb2SJohannes Berg	  Say Y here to make mac80211 register with the ftrace
233b5878a2dSJohannes Berg	  framework for the driver API -- you can then see which
234b5878a2dSJohannes Berg	  driver methods it is calling and which API functions
235b5878a2dSJohannes Berg	  drivers are calling by looking at the trace.
2360a2b8bb2SJohannes Berg
237b5878a2dSJohannes Berg	  If unsure, say Y.
238