xref: /openbmc/linux/net/mac80211/Kconfig (revision b5878a2d)
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
9f0706e82SJiri Benc	---help---
10f0706e82SJiri Benc	  This option enables the hardware independent IEEE 802.11
11f0706e82SJiri Benc	  networking stack.
12f0706e82SJiri Benc
130aa8204bSJohannes Bergcomment "CFG80211 needs to be enabled for MAC80211"
140aa8204bSJohannes Berg	depends on CFG80211=n
150aa8204bSJohannes Berg
16abd8ea22SLuis R. Rodriguezif MAC80211 != n
17ac71c691SJohannes Berg
18c2ef355bSAndres Salomonconfig MAC80211_HAS_RC
19c2ef355bSAndres Salomon	def_bool n
20c2ef355bSAndres Salomon
21e5f5e733SAdrian Bunkconfig MAC80211_RC_PID
22e5f5e733SAdrian Bunk	bool "PID controller based rate control algorithm" if EMBEDDED
23c2ef355bSAndres Salomon	select MAC80211_HAS_RC
24e5f5e733SAdrian Bunk	---help---
25e5f5e733SAdrian Bunk	  This option enables a TX rate control algorithm for
26e5f5e733SAdrian Bunk	  mac80211 that uses a PID controller to select the TX
27e5f5e733SAdrian Bunk	  rate.
28e5f5e733SAdrian Bunk
29cccf129fSFelix Fietkauconfig MAC80211_RC_MINSTREL
308eb41c93SLuis R. Rodriguez	bool "Minstrel" if EMBEDDED
31c2ef355bSAndres Salomon	select MAC80211_HAS_RC
328eb41c93SLuis R. Rodriguez	default y
33cccf129fSFelix Fietkau	---help---
34cccf129fSFelix Fietkau	  This option enables the 'minstrel' TX rate control algorithm
35cccf129fSFelix Fietkau
36c21b39acSStefano Briviochoice
37c21b39acSStefano Brivio	prompt "Default rate control algorithm"
38c2ef355bSAndres Salomon	depends on MAC80211_HAS_RC
398eb41c93SLuis R. Rodriguez	default MAC80211_RC_DEFAULT_MINSTREL
40c21b39acSStefano Brivio	---help---
41c21b39acSStefano Brivio	  This option selects the default rate control algorithm
42c21b39acSStefano Brivio	  mac80211 will use. Note that this default can still be
43692105b8SMatt LaPlante	  overridden through the ieee80211_default_rc_algo module
444b475898SJohannes Berg	  parameter if different algorithms are available.
45ac71c691SJohannes Berg
46c21b39acSStefano Brivioconfig MAC80211_RC_DEFAULT_PID
47c21b39acSStefano Brivio	bool "PID controller based rate control algorithm"
48e5f5e733SAdrian Bunk	depends on MAC80211_RC_PID
49c21b39acSStefano Brivio	---help---
50c21b39acSStefano Brivio	  Select the PID controller based rate control as the
51c21b39acSStefano Brivio	  default rate control algorithm. You should choose
52c21b39acSStefano Brivio	  this unless you know what you are doing.
53c21b39acSStefano Brivio
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
65cccf129fSFelix Fietkau	default "minstrel" if MAC80211_RC_DEFAULT_MINSTREL
668eb41c93SLuis R. Rodriguez	default "pid" if MAC80211_RC_DEFAULT_PID
67c21b39acSStefano Brivio	default ""
68c21b39acSStefano Brivio
69abd8ea22SLuis R. Rodriguezendif
70ad018375SMattias Nissler
71c2ef355bSAndres Salomoncomment "Some wireless drivers require a rate control algorithm"
72c2ef355bSAndres Salomon	depends on MAC80211_HAS_RC=n
73c2ef355bSAndres Salomon
742f5ce793SJohannes Bergconfig MAC80211_MESH
752f5ce793SJohannes Berg	bool "Enable mac80211 mesh networking (pre-802.11s) support"
7637659ff8SLuis Carlos Cobo	depends on MAC80211 && EXPERIMENTAL
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
87bd8fd21dSLuca Tettamanti	select NEW_LEDS
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
102f4ea83ddSJohannes Bergmenuconfig MAC80211_DEBUG_MENU
103f4ea83ddSJohannes Berg	bool "Select mac80211 debugging features"
104f4ea83ddSJohannes Berg	depends on MAC80211
105f4ea83ddSJohannes Berg	---help---
106f4ea83ddSJohannes Berg	  This option collects various mac80211 debug settings.
107f4ea83ddSJohannes Berg
108f4ea83ddSJohannes Bergconfig MAC80211_NOINLINE
109f4ea83ddSJohannes Berg	bool "Do not inline TX/RX handlers"
110f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
111f0706e82SJiri Benc	---help---
112f4ea83ddSJohannes Berg	  This option affects code generation in mac80211, when
113f4ea83ddSJohannes Berg	  selected some functions are marked "noinline" to allow
114f4ea83ddSJohannes Berg	  easier debugging of problems in the transmit and receive
115f4ea83ddSJohannes Berg	  paths.
116f0706e82SJiri Benc
117f4ea83ddSJohannes Berg	  This option increases code size a bit and inserts a lot
118f4ea83ddSJohannes Berg	  of function calls in the code, but is otherwise safe to
119f4ea83ddSJohannes Berg	  enable.
120f4ea83ddSJohannes Berg
121f4ea83ddSJohannes Berg	  If unsure, say N unless you expect to be finding problems
122f4ea83ddSJohannes Berg	  in mac80211.
123f4ea83ddSJohannes Berg
124f4ea83ddSJohannes Bergconfig MAC80211_VERBOSE_DEBUG
125f4ea83ddSJohannes Berg	bool "Verbose debugging output"
126f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
127f4ea83ddSJohannes Berg	---help---
128f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out
129f4ea83ddSJohannes Berg	  many debugging messages. It should not be selected
130f4ea83ddSJohannes Berg	  on production systems as some of the messages are
131f4ea83ddSJohannes Berg	  remotely triggerable.
132f4ea83ddSJohannes Berg
133f4ea83ddSJohannes Berg	  Do not select this option.
134f0706e82SJiri Benc
13582b3cad9SRon Rindjunskyconfig MAC80211_HT_DEBUG
136f4ea83ddSJohannes Berg	bool "Verbose HT debugging"
137f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
13882b3cad9SRon Rindjunsky	---help---
13982b3cad9SRon Rindjunsky	  This option enables 802.11n High Throughput features
14082b3cad9SRon Rindjunsky	  debug tracing output.
14182b3cad9SRon Rindjunsky
142f4ea83ddSJohannes Berg	  It should not be selected on production systems as some
143f4ea83ddSJohannes Berg	  of the messages are remotely triggerable.
14482b3cad9SRon Rindjunsky
145f4ea83ddSJohannes Berg	  Do not select this option.
146f4ea83ddSJohannes Berg
147f4ea83ddSJohannes Bergconfig MAC80211_TKIP_DEBUG
148f4ea83ddSJohannes Berg	bool "Verbose TKIP debugging"
149f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
150f4ea83ddSJohannes Berg	---help---
151f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out
152f4ea83ddSJohannes Berg	  very verbose TKIP debugging messages. It should not
153f4ea83ddSJohannes Berg	  be selected on production systems as those messages
154f4ea83ddSJohannes Berg	  are remotely triggerable.
155f4ea83ddSJohannes Berg
156f4ea83ddSJohannes Berg	  Do not select this option.
157f4ea83ddSJohannes Berg
158f4ea83ddSJohannes Bergconfig MAC80211_IBSS_DEBUG
159f4ea83ddSJohannes Berg	bool "Verbose IBSS debugging"
160f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
161f4ea83ddSJohannes Berg	---help---
162f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out
163f4ea83ddSJohannes Berg	  very verbose IBSS debugging messages. It should not
164f4ea83ddSJohannes Berg	  be selected on production systems as those messages
165f4ea83ddSJohannes Berg	  are remotely triggerable.
166f4ea83ddSJohannes Berg
167f4ea83ddSJohannes Berg	  Do not select this option.
168f4ea83ddSJohannes Berg
169f4ea83ddSJohannes Bergconfig MAC80211_VERBOSE_PS_DEBUG
170f4ea83ddSJohannes Berg	bool "Verbose powersave mode debugging"
171f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
172f4ea83ddSJohannes Berg	---help---
173f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out very
174f4ea83ddSJohannes Berg	  verbose power save mode debugging messages (when mac80211
175f4ea83ddSJohannes Berg	  is an AP and has power saving stations.)
176f4ea83ddSJohannes Berg	  It should not be selected on production systems as those
177f4ea83ddSJohannes Berg	  messages are remotely triggerable.
178f4ea83ddSJohannes Berg
179f4ea83ddSJohannes Berg	  Do not select this option.
180f4ea83ddSJohannes Berg
181f4ea83ddSJohannes Bergconfig MAC80211_VERBOSE_MPL_DEBUG
182f4ea83ddSJohannes Berg	bool "Verbose mesh peer link debugging"
183f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
184f4ea83ddSJohannes Berg	depends on MAC80211_MESH
185f4ea83ddSJohannes Berg	---help---
186f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out very
187f4ea83ddSJohannes Berg	  verbose mesh peer link debugging messages (when mac80211
188f4ea83ddSJohannes Berg	  is taking part in a mesh network).
189f4ea83ddSJohannes Berg	  It should not be selected on production systems as those
190f4ea83ddSJohannes Berg	  messages are remotely triggerable.
191f4ea83ddSJohannes Berg
192f4ea83ddSJohannes Berg	  Do not select this option.
193f0706e82SJiri Benc
19427db2e42SRui Pauloconfig MAC80211_VERBOSE_MHWMP_DEBUG
19527db2e42SRui Paulo	bool "Verbose mesh HWMP routing debugging"
19627db2e42SRui Paulo	depends on MAC80211_DEBUG_MENU
19727db2e42SRui Paulo	depends on MAC80211_MESH
19827db2e42SRui Paulo	---help---
19927db2e42SRui Paulo	  Selecting this option causes mac80211 to print out very
20027db2e42SRui Paulo	  verbose mesh routing (HWMP) debugging messages (when mac80211
20127db2e42SRui Paulo	  is taking part in a mesh network).
20227db2e42SRui Paulo	  It should not be selected on production systems as those
20327db2e42SRui Paulo	  messages are remotely triggerable.
20427db2e42SRui Paulo
20527db2e42SRui Paulo	  Do not select this option.
20627db2e42SRui Paulo
207f0706e82SJiri Bencconfig MAC80211_DEBUG_COUNTERS
208f0706e82SJiri Benc	bool "Extra statistics for TX/RX debugging"
209f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
210f4ea83ddSJohannes Berg	depends on MAC80211_DEBUGFS
211f0706e82SJiri Benc	---help---
212f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to keep additional
213f4ea83ddSJohannes Berg	  and very verbose statistics about TX and RX handler use
214f4ea83ddSJohannes Berg	  and show them in debugfs.
215f0706e82SJiri Benc
216f4ea83ddSJohannes Berg	  If unsure, say N.
2170a2b8bb2SJohannes Berg
2180a2b8bb2SJohannes Bergconfig MAC80211_DRIVER_API_TRACER
2190a2b8bb2SJohannes Berg	bool "Driver API tracer"
2200a2b8bb2SJohannes Berg	depends on MAC80211_DEBUG_MENU
2210a2b8bb2SJohannes Berg	depends on EVENT_TRACING
2220a2b8bb2SJohannes Berg	help
2230a2b8bb2SJohannes Berg	  Say Y here to make mac80211 register with the ftrace
224*b5878a2dSJohannes Berg	  framework for the driver API -- you can then see which
225*b5878a2dSJohannes Berg	  driver methods it is calling and which API functions
226*b5878a2dSJohannes Berg	  drivers are calling by looking at the trace.
2270a2b8bb2SJohannes Berg
228*b5878a2dSJohannes Berg	  If unsure, say Y.
229