xref: /openbmc/linux/net/mac80211/Kconfig (revision f53c6a0d)
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
7f0706e82SJiri Benc	select CRC32
8541a45a1SBruno Randolf	select AVERAGE
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
19540005c7SJan Beulich	bool
20c2ef355bSAndres Salomon
21e5f5e733SAdrian Bunkconfig MAC80211_RC_PID
226a108a14SDavid Rientjes	bool "PID controller based rate control algorithm" if EXPERT
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
306a108a14SDavid Rientjes	bool "Minstrel" if EXPERT
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
36ec8aa669SFelix Fietkauconfig MAC80211_RC_MINSTREL_HT
376a108a14SDavid Rientjes	bool "Minstrel 802.11n support" if EXPERT
38ec8aa669SFelix Fietkau	depends on MAC80211_RC_MINSTREL
39ec8aa669SFelix Fietkau	default y
40ec8aa669SFelix Fietkau	---help---
41ec8aa669SFelix Fietkau	  This option enables the 'minstrel_ht' TX rate control algorithm
42ec8aa669SFelix Fietkau
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
53c21b39acSStefano Brivioconfig MAC80211_RC_DEFAULT_PID
54c21b39acSStefano Brivio	bool "PID controller based rate control algorithm"
55e5f5e733SAdrian Bunk	depends on MAC80211_RC_PID
56c21b39acSStefano Brivio	---help---
57c21b39acSStefano Brivio	  Select the PID controller based rate control as the
58c21b39acSStefano Brivio	  default rate control algorithm. You should choose
59c21b39acSStefano Brivio	  this unless you know what you are doing.
60c21b39acSStefano Brivio
61cccf129fSFelix Fietkauconfig MAC80211_RC_DEFAULT_MINSTREL
62cccf129fSFelix Fietkau	bool "Minstrel"
63cccf129fSFelix Fietkau	depends on MAC80211_RC_MINSTREL
64cccf129fSFelix Fietkau	---help---
65cccf129fSFelix Fietkau	  Select Minstrel as the default rate control algorithm.
66cccf129fSFelix Fietkau
67cccf129fSFelix Fietkau
68c21b39acSStefano Brivioendchoice
69c21b39acSStefano Brivio
70c21b39acSStefano Brivioconfig MAC80211_RC_DEFAULT
71c21b39acSStefano Brivio	string
7292b50c4bSHelmut Schaa	default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL && MAC80211_RC_MINSTREL_HT
73cccf129fSFelix Fietkau	default "minstrel" if MAC80211_RC_DEFAULT_MINSTREL
748eb41c93SLuis R. Rodriguez	default "pid" if MAC80211_RC_DEFAULT_PID
75c21b39acSStefano Brivio	default ""
76c21b39acSStefano Brivio
77abd8ea22SLuis R. Rodriguezendif
78ad018375SMattias Nissler
79c2ef355bSAndres Salomoncomment "Some wireless drivers require a rate control algorithm"
80e46395a4SJohannes Berg	depends on MAC80211 && MAC80211_HAS_RC=n
81c2ef355bSAndres Salomon
822f5ce793SJohannes Bergconfig MAC80211_MESH
832f5ce793SJohannes Berg	bool "Enable mac80211 mesh networking (pre-802.11s) support"
8437659ff8SLuis Carlos Cobo	depends on MAC80211 && EXPERIMENTAL
852f5ce793SJohannes Berg	---help---
865c142e8dSJohannes Berg	 This options enables support of Draft 802.11s mesh networking.
8718889231SJavier Cardona	 The implementation is based on Draft 2.08 of the Mesh Networking
8818889231SJavier Cardona	 amendment.  However, no compliance with that draft is claimed or even
8918889231SJavier Cardona	 possible, as drafts leave a number of identifiers to be defined after
9018889231SJavier Cardona	 ratification.  For more information visit http://o11s.org/.
912f5ce793SJohannes Berg
92f0706e82SJiri Bencconfig MAC80211_LEDS
93f0706e82SJiri Benc	bool "Enable LED triggers"
94bd8fd21dSLuca Tettamanti	depends on MAC80211
950bae35e1SJohannes Berg	depends on LEDS_CLASS
96bd8fd21dSLuca Tettamanti	select LEDS_TRIGGERS
97f0706e82SJiri Benc	---help---
98f0706e82SJiri Benc	  This option enables a few LED triggers for different
99f0706e82SJiri Benc	  packet receive/transmit events.
100f0706e82SJiri Benc
101e9f207f0SJiri Bencconfig MAC80211_DEBUGFS
102e9f207f0SJiri Benc	bool "Export mac80211 internals in DebugFS"
103e9f207f0SJiri Benc	depends on MAC80211 && DEBUG_FS
104e9f207f0SJiri Benc	---help---
105e9f207f0SJiri Benc	  Select this to see extensive information about
106e9f207f0SJiri Benc	  the internal state of mac80211 in debugfs.
107e9f207f0SJiri Benc
108e9f207f0SJiri Benc	  Say N unless you know you need this.
109e9f207f0SJiri Benc
1103fae0273SJohannes Bergconfig MAC80211_MESSAGE_TRACING
1113fae0273SJohannes Berg	bool "Trace all mac80211 debug messages"
1123fae0273SJohannes Berg	depends on MAC80211
1133fae0273SJohannes Berg	---help---
1143fae0273SJohannes Berg	  Select this option to have mac80211 register the
1153fae0273SJohannes Berg	  mac80211_msg trace subsystem with tracepoints to
1163fae0273SJohannes Berg	  collect all debugging messages, independent of
1173fae0273SJohannes Berg	  printing them into the kernel log.
1183fae0273SJohannes Berg
1193fae0273SJohannes Berg	  The overhead in this option is that all the messages
1203fae0273SJohannes Berg	  need to be present in the binary and formatted at
1213fae0273SJohannes Berg	  runtime for tracing.
1223fae0273SJohannes Berg
123f4ea83ddSJohannes Bergmenuconfig MAC80211_DEBUG_MENU
124f4ea83ddSJohannes Berg	bool "Select mac80211 debugging features"
125f4ea83ddSJohannes Berg	depends on MAC80211
126f4ea83ddSJohannes Berg	---help---
127f4ea83ddSJohannes Berg	  This option collects various mac80211 debug settings.
128f4ea83ddSJohannes Berg
129f4ea83ddSJohannes Bergconfig MAC80211_NOINLINE
130f4ea83ddSJohannes Berg	bool "Do not inline TX/RX handlers"
131f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
132f0706e82SJiri Benc	---help---
133f4ea83ddSJohannes Berg	  This option affects code generation in mac80211, when
134f4ea83ddSJohannes Berg	  selected some functions are marked "noinline" to allow
135f4ea83ddSJohannes Berg	  easier debugging of problems in the transmit and receive
136f4ea83ddSJohannes Berg	  paths.
137f0706e82SJiri Benc
138f4ea83ddSJohannes Berg	  This option increases code size a bit and inserts a lot
139f4ea83ddSJohannes Berg	  of function calls in the code, but is otherwise safe to
140f4ea83ddSJohannes Berg	  enable.
141f4ea83ddSJohannes Berg
142f4ea83ddSJohannes Berg	  If unsure, say N unless you expect to be finding problems
143f4ea83ddSJohannes Berg	  in mac80211.
144f4ea83ddSJohannes Berg
145f4ea83ddSJohannes Bergconfig MAC80211_VERBOSE_DEBUG
146f4ea83ddSJohannes Berg	bool "Verbose debugging output"
147f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
148f4ea83ddSJohannes Berg	---help---
149f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out
150f4ea83ddSJohannes Berg	  many debugging messages. It should not be selected
151f4ea83ddSJohannes Berg	  on production systems as some of the messages are
152f4ea83ddSJohannes Berg	  remotely triggerable.
153f4ea83ddSJohannes Berg
154f4ea83ddSJohannes Berg	  Do not select this option.
155f0706e82SJiri Benc
156bdcbd8e0SJohannes Bergconfig MAC80211_MLME_DEBUG
157bdcbd8e0SJohannes Berg	bool "Verbose managed MLME output"
158bdcbd8e0SJohannes Berg	depends on MAC80211_DEBUG_MENU
159bdcbd8e0SJohannes Berg	---help---
160bdcbd8e0SJohannes Berg	  Selecting this option causes mac80211 to print out
161bdcbd8e0SJohannes Berg	  debugging messages for the managed-mode MLME. It
162bdcbd8e0SJohannes Berg	  should not be selected on production systems as some
163bdcbd8e0SJohannes Berg	  of the messages are remotely triggerable.
164bdcbd8e0SJohannes Berg
165bdcbd8e0SJohannes Berg	  Do not select this option.
166bdcbd8e0SJohannes Berg
167bdcbd8e0SJohannes Bergconfig MAC80211_STA_DEBUG
168bdcbd8e0SJohannes Berg	bool "Verbose station debugging"
169bdcbd8e0SJohannes Berg	depends on MAC80211_DEBUG_MENU
170bdcbd8e0SJohannes Berg	---help---
171bdcbd8e0SJohannes Berg	  Selecting this option causes mac80211 to print out
172bdcbd8e0SJohannes Berg	  debugging messages for station addition/removal.
173bdcbd8e0SJohannes Berg
174bdcbd8e0SJohannes Berg	  Do not select this option.
175bdcbd8e0SJohannes Berg
17682b3cad9SRon Rindjunskyconfig MAC80211_HT_DEBUG
177f4ea83ddSJohannes Berg	bool "Verbose HT debugging"
178f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
17982b3cad9SRon Rindjunsky	---help---
18082b3cad9SRon Rindjunsky	  This option enables 802.11n High Throughput features
18182b3cad9SRon Rindjunsky	  debug tracing output.
18282b3cad9SRon Rindjunsky
183f4ea83ddSJohannes Berg	  It should not be selected on production systems as some
184f4ea83ddSJohannes Berg	  of the messages are remotely triggerable.
18582b3cad9SRon Rindjunsky
186f4ea83ddSJohannes Berg	  Do not select this option.
187f4ea83ddSJohannes Berg
188f4ea83ddSJohannes Bergconfig MAC80211_IBSS_DEBUG
189f4ea83ddSJohannes Berg	bool "Verbose IBSS debugging"
190f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
191f4ea83ddSJohannes Berg	---help---
192f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out
193f4ea83ddSJohannes Berg	  very verbose IBSS debugging messages. It should not
194f4ea83ddSJohannes Berg	  be selected on production systems as those messages
195f4ea83ddSJohannes Berg	  are remotely triggerable.
196f4ea83ddSJohannes Berg
197f4ea83ddSJohannes Berg	  Do not select this option.
198f4ea83ddSJohannes Berg
199bdcbd8e0SJohannes Bergconfig MAC80211_PS_DEBUG
200f4ea83ddSJohannes Berg	bool "Verbose powersave mode debugging"
201f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
202f4ea83ddSJohannes Berg	---help---
203f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out very
204f4ea83ddSJohannes Berg	  verbose power save mode debugging messages (when mac80211
205f4ea83ddSJohannes Berg	  is an AP and has power saving stations.)
206f4ea83ddSJohannes Berg	  It should not be selected on production systems as those
207f4ea83ddSJohannes Berg	  messages are remotely triggerable.
208f4ea83ddSJohannes Berg
209f4ea83ddSJohannes Berg	  Do not select this option.
210f4ea83ddSJohannes Berg
211bdcbd8e0SJohannes Bergconfig MAC80211_MPL_DEBUG
212f4ea83ddSJohannes Berg	bool "Verbose mesh peer link debugging"
213f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
214f4ea83ddSJohannes Berg	depends on MAC80211_MESH
215f4ea83ddSJohannes Berg	---help---
216f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out very
217f4ea83ddSJohannes Berg	  verbose mesh peer link debugging messages (when mac80211
218f4ea83ddSJohannes Berg	  is taking part in a mesh network).
219f4ea83ddSJohannes Berg	  It should not be selected on production systems as those
220f4ea83ddSJohannes Berg	  messages are remotely triggerable.
221f4ea83ddSJohannes Berg
222f4ea83ddSJohannes Berg	  Do not select this option.
223f0706e82SJiri Benc
224bdcbd8e0SJohannes Bergconfig MAC80211_MPATH_DEBUG
2257646887aSJavier Cardona	bool "Verbose mesh path debugging"
2267646887aSJavier Cardona	depends on MAC80211_DEBUG_MENU
2277646887aSJavier Cardona	depends on MAC80211_MESH
2287646887aSJavier Cardona	---help---
2297646887aSJavier Cardona	  Selecting this option causes mac80211 to print out very
2307646887aSJavier Cardona	  verbose mesh path selection debugging messages (when mac80211
2317646887aSJavier Cardona	  is taking part in a mesh network).
2327646887aSJavier Cardona	  It should not be selected on production systems as those
2337646887aSJavier Cardona	  messages are remotely triggerable.
2347646887aSJavier Cardona
2357646887aSJavier Cardona	  Do not select this option.
2367646887aSJavier Cardona
237bdcbd8e0SJohannes Bergconfig MAC80211_MHWMP_DEBUG
23827db2e42SRui Paulo	bool "Verbose mesh HWMP routing debugging"
23927db2e42SRui Paulo	depends on MAC80211_DEBUG_MENU
24027db2e42SRui Paulo	depends on MAC80211_MESH
24127db2e42SRui Paulo	---help---
24227db2e42SRui Paulo	  Selecting this option causes mac80211 to print out very
24327db2e42SRui Paulo	  verbose mesh routing (HWMP) debugging messages (when mac80211
24427db2e42SRui Paulo	  is taking part in a mesh network).
24527db2e42SRui Paulo	  It should not be selected on production systems as those
24627db2e42SRui Paulo	  messages are remotely triggerable.
24727db2e42SRui Paulo
24827db2e42SRui Paulo	  Do not select this option.
24927db2e42SRui Paulo
250bdcbd8e0SJohannes Bergconfig MAC80211_MESH_SYNC_DEBUG
251*f53c6a0dSMarco Porsch	bool "Verbose mesh synchronization debugging"
252dbf498fbSJavier Cardona	depends on MAC80211_DEBUG_MENU
253dbf498fbSJavier Cardona	depends on MAC80211_MESH
254dbf498fbSJavier Cardona	---help---
255dbf498fbSJavier Cardona	  Selecting this option causes mac80211 to print out very verbose mesh
256dbf498fbSJavier Cardona	  synchronization debugging messages (when mac80211 is taking part in a
257dbf498fbSJavier Cardona	  mesh network).
258dbf498fbSJavier Cardona
259dbf498fbSJavier Cardona	  Do not select this option.
260dbf498fbSJavier Cardona
261bdcbd8e0SJohannes Bergconfig MAC80211_TDLS_DEBUG
262dfe018bfSArik Nemtsov	bool "Verbose TDLS debugging"
263dfe018bfSArik Nemtsov	depends on MAC80211_DEBUG_MENU
264dfe018bfSArik Nemtsov	---help---
265dfe018bfSArik Nemtsov	  Selecting this option causes mac80211 to print out very
266dfe018bfSArik Nemtsov	  verbose TDLS selection debugging messages (when mac80211
267dfe018bfSArik Nemtsov	  is a TDLS STA).
268dfe018bfSArik Nemtsov	  It should not be selected on production systems as those
269dfe018bfSArik Nemtsov	  messages are remotely triggerable.
270dfe018bfSArik Nemtsov
271dfe018bfSArik Nemtsov	  Do not select this option.
272dfe018bfSArik Nemtsov
273f0706e82SJiri Bencconfig MAC80211_DEBUG_COUNTERS
274f0706e82SJiri Benc	bool "Extra statistics for TX/RX debugging"
275f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
276f4ea83ddSJohannes Berg	depends on MAC80211_DEBUGFS
277f0706e82SJiri Benc	---help---
278f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to keep additional
279f4ea83ddSJohannes Berg	  and very verbose statistics about TX and RX handler use
280f4ea83ddSJohannes Berg	  and show them in debugfs.
281f0706e82SJiri Benc
282f4ea83ddSJohannes Berg	  If unsure, say N.
283