xref: /openbmc/linux/net/mac80211/Kconfig (revision 021693da)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2f0706e82SJiri Bencconfig MAC80211
3f0706e82SJiri Benc	tristate "Generic IEEE 802.11 Networking Stack (mac80211)"
40aa8204bSJohannes Berg	depends on CFG80211
5f0706e82SJiri Benc	select CRYPTO
65fdb3735SArd Biesheuvel	select CRYPTO_LIB_ARC4
7f0706e82SJiri Benc	select CRYPTO_AES
87ec7c4a9SArd Biesheuvel	select CRYPTO_CCM
900b9cfa3SJouni Malinen	select CRYPTO_GCM
10fe8de3daSArd Biesheuvel	select CRYPTO_CMAC
11f0706e82SJiri Benc	select CRC32
12a7f7f624SMasahiro Yamada	help
13f0706e82SJiri Benc	  This option enables the hardware independent IEEE 802.11
14f0706e82SJiri Benc	  networking stack.
15f0706e82SJiri Benc
160aa8204bSJohannes Bergcomment "CFG80211 needs to be enabled for MAC80211"
170aa8204bSJohannes Berg	depends on CFG80211=n
180aa8204bSJohannes Berg
19abd8ea22SLuis R. Rodriguezif MAC80211 != n
20ac71c691SJohannes Berg
21c2ef355bSAndres Salomonconfig MAC80211_HAS_RC
22540005c7SJan Beulich	bool
23c2ef355bSAndres Salomon
24cccf129fSFelix Fietkauconfig MAC80211_RC_MINSTREL
256a108a14SDavid Rientjes	bool "Minstrel" if EXPERT
26c2ef355bSAndres Salomon	select MAC80211_HAS_RC
278eb41c93SLuis R. Rodriguez	default y
28a7f7f624SMasahiro Yamada	help
29cccf129fSFelix Fietkau	  This option enables the 'minstrel' TX rate control algorithm
30cccf129fSFelix Fietkau
31c21b39acSStefano Briviochoice
32c21b39acSStefano Brivio	prompt "Default rate control algorithm"
33c2ef355bSAndres Salomon	depends on MAC80211_HAS_RC
348eb41c93SLuis R. Rodriguez	default MAC80211_RC_DEFAULT_MINSTREL
35a7f7f624SMasahiro Yamada	help
36c21b39acSStefano Brivio	  This option selects the default rate control algorithm
37c21b39acSStefano Brivio	  mac80211 will use. Note that this default can still be
38692105b8SMatt LaPlante	  overridden through the ieee80211_default_rc_algo module
394b475898SJohannes Berg	  parameter if different algorithms are available.
40ac71c691SJohannes Berg
41cccf129fSFelix Fietkauconfig MAC80211_RC_DEFAULT_MINSTREL
42cccf129fSFelix Fietkau	bool "Minstrel"
43cccf129fSFelix Fietkau	depends on MAC80211_RC_MINSTREL
44a7f7f624SMasahiro Yamada	help
45cccf129fSFelix Fietkau	  Select Minstrel as the default rate control algorithm.
46cccf129fSFelix Fietkau
47cccf129fSFelix Fietkau
48c21b39acSStefano Brivioendchoice
49c21b39acSStefano Brivio
50c21b39acSStefano Brivioconfig MAC80211_RC_DEFAULT
51c21b39acSStefano Brivio	string
52b1c4f683SFelix Fietkau	default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL
53c21b39acSStefano Brivio	default ""
54c21b39acSStefano Brivio
55abd8ea22SLuis R. Rodriguezendif
56ad018375SMattias Nissler
57c2ef355bSAndres Salomoncomment "Some wireless drivers require a rate control algorithm"
58e46395a4SJohannes Berg	depends on MAC80211 && MAC80211_HAS_RC=n
59c2ef355bSAndres Salomon
602f5ce793SJohannes Bergconfig MAC80211_MESH
61c8d10cbdSBob Copeland	bool "Enable mac80211 mesh networking support"
6248f6edceSKees Cook	depends on MAC80211
63a7f7f624SMasahiro Yamada	help
64c8d10cbdSBob Copeland	  Select this option to enable 802.11 mesh operation in mac80211
65c8d10cbdSBob Copeland	  drivers that support it.  802.11 mesh connects multiple stations
66c8d10cbdSBob Copeland	  over (possibly multi-hop) wireless links to form a single logical
67c8d10cbdSBob Copeland	  LAN.
682f5ce793SJohannes Berg
69f0706e82SJiri Bencconfig MAC80211_LEDS
70f0706e82SJiri Benc	bool "Enable LED triggers"
71bd8fd21dSLuca Tettamanti	depends on MAC80211
72b64acb28SArnd Bergmann	depends on LEDS_CLASS=y || LEDS_CLASS=MAC80211
73bd8fd21dSLuca Tettamanti	select LEDS_TRIGGERS
74a7f7f624SMasahiro Yamada	help
75f0706e82SJiri Benc	  This option enables a few LED triggers for different
76f0706e82SJiri Benc	  packet receive/transmit events.
77f0706e82SJiri Benc
78e9f207f0SJiri Bencconfig MAC80211_DEBUGFS
79e9f207f0SJiri Benc	bool "Export mac80211 internals in DebugFS"
80e9f207f0SJiri Benc	depends on MAC80211 && DEBUG_FS
81a7f7f624SMasahiro Yamada	help
82e9f207f0SJiri Benc	  Select this to see extensive information about
83e9f207f0SJiri Benc	  the internal state of mac80211 in debugfs.
84e9f207f0SJiri Benc
85e9f207f0SJiri Benc	  Say N unless you know you need this.
86e9f207f0SJiri Benc
873fae0273SJohannes Bergconfig MAC80211_MESSAGE_TRACING
883fae0273SJohannes Berg	bool "Trace all mac80211 debug messages"
89*021693daSGeert Uytterhoeven	depends on MAC80211 && TRACING
90a7f7f624SMasahiro Yamada	help
913fae0273SJohannes Berg	  Select this option to have mac80211 register the
923fae0273SJohannes Berg	  mac80211_msg trace subsystem with tracepoints to
933fae0273SJohannes Berg	  collect all debugging messages, independent of
943fae0273SJohannes Berg	  printing them into the kernel log.
953fae0273SJohannes Berg
963fae0273SJohannes Berg	  The overhead in this option is that all the messages
973fae0273SJohannes Berg	  need to be present in the binary and formatted at
983fae0273SJohannes Berg	  runtime for tracing.
993fae0273SJohannes Berg
100f4ea83ddSJohannes Bergmenuconfig MAC80211_DEBUG_MENU
101f4ea83ddSJohannes Berg	bool "Select mac80211 debugging features"
102f4ea83ddSJohannes Berg	depends on MAC80211
103a7f7f624SMasahiro Yamada	help
104f4ea83ddSJohannes Berg	  This option collects various mac80211 debug settings.
105f4ea83ddSJohannes Berg
106f4ea83ddSJohannes Bergconfig MAC80211_NOINLINE
107f4ea83ddSJohannes Berg	bool "Do not inline TX/RX handlers"
108f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
109a7f7f624SMasahiro Yamada	help
110f4ea83ddSJohannes Berg	  This option affects code generation in mac80211, when
111f4ea83ddSJohannes Berg	  selected some functions are marked "noinline" to allow
112f4ea83ddSJohannes Berg	  easier debugging of problems in the transmit and receive
113f4ea83ddSJohannes Berg	  paths.
114f0706e82SJiri Benc
115f4ea83ddSJohannes Berg	  This option increases code size a bit and inserts a lot
116f4ea83ddSJohannes Berg	  of function calls in the code, but is otherwise safe to
117f4ea83ddSJohannes Berg	  enable.
118f4ea83ddSJohannes Berg
119f4ea83ddSJohannes Berg	  If unsure, say N unless you expect to be finding problems
120f4ea83ddSJohannes Berg	  in mac80211.
121f4ea83ddSJohannes Berg
122f4ea83ddSJohannes Bergconfig MAC80211_VERBOSE_DEBUG
123f4ea83ddSJohannes Berg	bool "Verbose debugging output"
124f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
125a7f7f624SMasahiro Yamada	help
126f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out
127f4ea83ddSJohannes Berg	  many debugging messages. It should not be selected
128f4ea83ddSJohannes Berg	  on production systems as some of the messages are
129f4ea83ddSJohannes Berg	  remotely triggerable.
130f4ea83ddSJohannes Berg
131f4ea83ddSJohannes Berg	  Do not select this option.
132f0706e82SJiri Benc
133bdcbd8e0SJohannes Bergconfig MAC80211_MLME_DEBUG
134bdcbd8e0SJohannes Berg	bool "Verbose managed MLME output"
135bdcbd8e0SJohannes Berg	depends on MAC80211_DEBUG_MENU
136a7f7f624SMasahiro Yamada	help
137bdcbd8e0SJohannes Berg	  Selecting this option causes mac80211 to print out
138bdcbd8e0SJohannes Berg	  debugging messages for the managed-mode MLME. It
139bdcbd8e0SJohannes Berg	  should not be selected on production systems as some
140bdcbd8e0SJohannes Berg	  of the messages are remotely triggerable.
141bdcbd8e0SJohannes Berg
142bdcbd8e0SJohannes Berg	  Do not select this option.
143bdcbd8e0SJohannes Berg
144bdcbd8e0SJohannes Bergconfig MAC80211_STA_DEBUG
145bdcbd8e0SJohannes Berg	bool "Verbose station debugging"
146bdcbd8e0SJohannes Berg	depends on MAC80211_DEBUG_MENU
147a7f7f624SMasahiro Yamada	help
148bdcbd8e0SJohannes Berg	  Selecting this option causes mac80211 to print out
149bdcbd8e0SJohannes Berg	  debugging messages for station addition/removal.
150bdcbd8e0SJohannes Berg
151bdcbd8e0SJohannes Berg	  Do not select this option.
152bdcbd8e0SJohannes Berg
15382b3cad9SRon Rindjunskyconfig MAC80211_HT_DEBUG
154f4ea83ddSJohannes Berg	bool "Verbose HT debugging"
155f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
156a7f7f624SMasahiro Yamada	help
15782b3cad9SRon Rindjunsky	  This option enables 802.11n High Throughput features
15882b3cad9SRon Rindjunsky	  debug tracing output.
15982b3cad9SRon Rindjunsky
160f4ea83ddSJohannes Berg	  It should not be selected on production systems as some
161f4ea83ddSJohannes Berg	  of the messages are remotely triggerable.
16282b3cad9SRon Rindjunsky
163f4ea83ddSJohannes Berg	  Do not select this option.
164f4ea83ddSJohannes Berg
165239281f8SRostislav Lisovyconfig MAC80211_OCB_DEBUG
166239281f8SRostislav Lisovy	bool "Verbose OCB debugging"
167239281f8SRostislav Lisovy	depends on MAC80211_DEBUG_MENU
168a7f7f624SMasahiro Yamada	help
169239281f8SRostislav Lisovy	  Selecting this option causes mac80211 to print out
170239281f8SRostislav Lisovy	  very verbose OCB debugging messages. It should not
171239281f8SRostislav Lisovy	  be selected on production systems as those messages
172239281f8SRostislav Lisovy	  are remotely triggerable.
173239281f8SRostislav Lisovy
174239281f8SRostislav Lisovy	  Do not select this option.
175239281f8SRostislav Lisovy
176f4ea83ddSJohannes Bergconfig MAC80211_IBSS_DEBUG
177f4ea83ddSJohannes Berg	bool "Verbose IBSS debugging"
178f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
179a7f7f624SMasahiro Yamada	help
180f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out
181f4ea83ddSJohannes Berg	  very verbose IBSS debugging messages. It should not
182f4ea83ddSJohannes Berg	  be selected on production systems as those messages
183f4ea83ddSJohannes Berg	  are remotely triggerable.
184f4ea83ddSJohannes Berg
185f4ea83ddSJohannes Berg	  Do not select this option.
186f4ea83ddSJohannes Berg
187bdcbd8e0SJohannes Bergconfig MAC80211_PS_DEBUG
188f4ea83ddSJohannes Berg	bool "Verbose powersave mode debugging"
189f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
190a7f7f624SMasahiro Yamada	help
191f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out very
192f4ea83ddSJohannes Berg	  verbose power save mode debugging messages (when mac80211
193f4ea83ddSJohannes Berg	  is an AP and has power saving stations.)
194f4ea83ddSJohannes Berg	  It should not be selected on production systems as those
195f4ea83ddSJohannes Berg	  messages are remotely triggerable.
196f4ea83ddSJohannes Berg
197f4ea83ddSJohannes Berg	  Do not select this option.
198f4ea83ddSJohannes Berg
199bdcbd8e0SJohannes Bergconfig MAC80211_MPL_DEBUG
200f4ea83ddSJohannes Berg	bool "Verbose mesh peer link debugging"
201f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
202f4ea83ddSJohannes Berg	depends on MAC80211_MESH
203a7f7f624SMasahiro Yamada	help
204f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to print out very
205f4ea83ddSJohannes Berg	  verbose mesh peer link debugging messages (when mac80211
206f4ea83ddSJohannes Berg	  is taking part in a mesh network).
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.
211f0706e82SJiri Benc
212bdcbd8e0SJohannes Bergconfig MAC80211_MPATH_DEBUG
2137646887aSJavier Cardona	bool "Verbose mesh path debugging"
2147646887aSJavier Cardona	depends on MAC80211_DEBUG_MENU
2157646887aSJavier Cardona	depends on MAC80211_MESH
216a7f7f624SMasahiro Yamada	help
2177646887aSJavier Cardona	  Selecting this option causes mac80211 to print out very
2187646887aSJavier Cardona	  verbose mesh path selection debugging messages (when mac80211
2197646887aSJavier Cardona	  is taking part in a mesh network).
2207646887aSJavier Cardona	  It should not be selected on production systems as those
2217646887aSJavier Cardona	  messages are remotely triggerable.
2227646887aSJavier Cardona
2237646887aSJavier Cardona	  Do not select this option.
2247646887aSJavier Cardona
225bdcbd8e0SJohannes Bergconfig MAC80211_MHWMP_DEBUG
22627db2e42SRui Paulo	bool "Verbose mesh HWMP routing debugging"
22727db2e42SRui Paulo	depends on MAC80211_DEBUG_MENU
22827db2e42SRui Paulo	depends on MAC80211_MESH
229a7f7f624SMasahiro Yamada	help
23027db2e42SRui Paulo	  Selecting this option causes mac80211 to print out very
23127db2e42SRui Paulo	  verbose mesh routing (HWMP) debugging messages (when mac80211
23227db2e42SRui Paulo	  is taking part in a mesh network).
23327db2e42SRui Paulo	  It should not be selected on production systems as those
23427db2e42SRui Paulo	  messages are remotely triggerable.
23527db2e42SRui Paulo
23627db2e42SRui Paulo	  Do not select this option.
23727db2e42SRui Paulo
238bdcbd8e0SJohannes Bergconfig MAC80211_MESH_SYNC_DEBUG
239f53c6a0dSMarco Porsch	bool "Verbose mesh synchronization debugging"
240dbf498fbSJavier Cardona	depends on MAC80211_DEBUG_MENU
241dbf498fbSJavier Cardona	depends on MAC80211_MESH
242a7f7f624SMasahiro Yamada	help
243dbf498fbSJavier Cardona	  Selecting this option causes mac80211 to print out very verbose mesh
244dbf498fbSJavier Cardona	  synchronization debugging messages (when mac80211 is taking part in a
245dbf498fbSJavier Cardona	  mesh network).
246dbf498fbSJavier Cardona
247dbf498fbSJavier Cardona	  Do not select this option.
248dbf498fbSJavier Cardona
2498f2535b9SChun-Yeow Yeohconfig MAC80211_MESH_CSA_DEBUG
2508f2535b9SChun-Yeow Yeoh	bool "Verbose mesh channel switch debugging"
2518f2535b9SChun-Yeow Yeoh	depends on MAC80211_DEBUG_MENU
2528f2535b9SChun-Yeow Yeoh	depends on MAC80211_MESH
253a7f7f624SMasahiro Yamada	help
2548f2535b9SChun-Yeow Yeoh	  Selecting this option causes mac80211 to print out very verbose mesh
2558f2535b9SChun-Yeow Yeoh	  channel switch debugging messages (when mac80211 is taking part in a
2568f2535b9SChun-Yeow Yeoh	  mesh network).
2578f2535b9SChun-Yeow Yeoh
2588f2535b9SChun-Yeow Yeoh	  Do not select this option.
2598f2535b9SChun-Yeow Yeoh
2603f52b7e3SMarco Porschconfig MAC80211_MESH_PS_DEBUG
2613f52b7e3SMarco Porsch	bool "Verbose mesh powersave debugging"
2623f52b7e3SMarco Porsch	depends on MAC80211_DEBUG_MENU
2633f52b7e3SMarco Porsch	depends on MAC80211_MESH
264a7f7f624SMasahiro Yamada	help
2653f52b7e3SMarco Porsch	  Selecting this option causes mac80211 to print out very verbose mesh
2663f52b7e3SMarco Porsch	  powersave debugging messages (when mac80211 is taking part in a
2673f52b7e3SMarco Porsch	  mesh network).
2683f52b7e3SMarco Porsch
2693f52b7e3SMarco Porsch	  Do not select this option.
2703f52b7e3SMarco Porsch
271bdcbd8e0SJohannes Bergconfig MAC80211_TDLS_DEBUG
272dfe018bfSArik Nemtsov	bool "Verbose TDLS debugging"
273dfe018bfSArik Nemtsov	depends on MAC80211_DEBUG_MENU
274a7f7f624SMasahiro Yamada	help
275dfe018bfSArik Nemtsov	  Selecting this option causes mac80211 to print out very
276dfe018bfSArik Nemtsov	  verbose TDLS selection debugging messages (when mac80211
277dfe018bfSArik Nemtsov	  is a TDLS STA).
278dfe018bfSArik Nemtsov	  It should not be selected on production systems as those
279dfe018bfSArik Nemtsov	  messages are remotely triggerable.
280dfe018bfSArik Nemtsov
281dfe018bfSArik Nemtsov	  Do not select this option.
282dfe018bfSArik Nemtsov
283f0706e82SJiri Bencconfig MAC80211_DEBUG_COUNTERS
284f0706e82SJiri Benc	bool "Extra statistics for TX/RX debugging"
285f4ea83ddSJohannes Berg	depends on MAC80211_DEBUG_MENU
286f4ea83ddSJohannes Berg	depends on MAC80211_DEBUGFS
287a7f7f624SMasahiro Yamada	help
288f4ea83ddSJohannes Berg	  Selecting this option causes mac80211 to keep additional
289f4ea83ddSJohannes Berg	  and very verbose statistics about TX and RX handler use
290c206ca67SJohannes Berg	  as well as a few selected dot11 counters. These will be
291c206ca67SJohannes Berg	  exposed in debugfs.
292c206ca67SJohannes Berg
293c206ca67SJohannes Berg	  Note that some of the counters are not concurrency safe
294c206ca67SJohannes Berg	  and may thus not always be accurate.
295f0706e82SJiri Benc
296f4ea83ddSJohannes Berg	  If unsure, say N.
297ebd82b39SJohannes Berg
298ebd82b39SJohannes Bergconfig MAC80211_STA_HASH_MAX_SIZE
299ebd82b39SJohannes Berg	int "Station hash table maximum size" if MAC80211_DEBUG_MENU
300ebd82b39SJohannes Berg	default 0
301a7f7f624SMasahiro Yamada	help
302ebd82b39SJohannes Berg	  Setting this option to a low value (e.g. 4) allows testing the
303ebd82b39SJohannes Berg	  hash table with collisions relatively deterministically (just
304ebd82b39SJohannes Berg	  connect more stations than the number selected here.)
305ebd82b39SJohannes Berg
306ebd82b39SJohannes Berg	  If unsure, leave the default of 0.
307