xref: /openbmc/linux/net/mac80211/Kconfig (revision 4800cd83)
1config MAC80211
2	tristate "Generic IEEE 802.11 Networking Stack (mac80211)"
3	depends on CFG80211
4	select CRYPTO
5	select CRYPTO_ECB
6	select CRYPTO_ARC4
7	select CRYPTO_AES
8	select CRC32
9	select AVERAGE
10	---help---
11	  This option enables the hardware independent IEEE 802.11
12	  networking stack.
13
14comment "CFG80211 needs to be enabled for MAC80211"
15	depends on CFG80211=n
16
17if MAC80211 != n
18
19config MAC80211_HAS_RC
20	def_bool n
21
22config MAC80211_RC_PID
23	bool "PID controller based rate control algorithm" if EXPERT
24	select MAC80211_HAS_RC
25	---help---
26	  This option enables a TX rate control algorithm for
27	  mac80211 that uses a PID controller to select the TX
28	  rate.
29
30config MAC80211_RC_MINSTREL
31	bool "Minstrel" if EXPERT
32	select MAC80211_HAS_RC
33	default y
34	---help---
35	  This option enables the 'minstrel' TX rate control algorithm
36
37config MAC80211_RC_MINSTREL_HT
38	bool "Minstrel 802.11n support" if EXPERT
39	depends on MAC80211_RC_MINSTREL
40	default y
41	---help---
42	  This option enables the 'minstrel_ht' TX rate control algorithm
43
44choice
45	prompt "Default rate control algorithm"
46	depends on MAC80211_HAS_RC
47	default MAC80211_RC_DEFAULT_MINSTREL
48	---help---
49	  This option selects the default rate control algorithm
50	  mac80211 will use. Note that this default can still be
51	  overridden through the ieee80211_default_rc_algo module
52	  parameter if different algorithms are available.
53
54config MAC80211_RC_DEFAULT_PID
55	bool "PID controller based rate control algorithm"
56	depends on MAC80211_RC_PID
57	---help---
58	  Select the PID controller based rate control as the
59	  default rate control algorithm. You should choose
60	  this unless you know what you are doing.
61
62config MAC80211_RC_DEFAULT_MINSTREL
63	bool "Minstrel"
64	depends on MAC80211_RC_MINSTREL
65	---help---
66	  Select Minstrel as the default rate control algorithm.
67
68
69endchoice
70
71config MAC80211_RC_DEFAULT
72	string
73	default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL && MAC80211_RC_MINSTREL_HT
74	default "minstrel" if MAC80211_RC_DEFAULT_MINSTREL
75	default "pid" if MAC80211_RC_DEFAULT_PID
76	default ""
77
78endif
79
80comment "Some wireless drivers require a rate control algorithm"
81	depends on MAC80211_HAS_RC=n
82
83config MAC80211_MESH
84	bool "Enable mac80211 mesh networking (pre-802.11s) support"
85	depends on MAC80211 && EXPERIMENTAL
86	---help---
87	 This options enables support of Draft 802.11s mesh networking.
88	 The implementation is based on Draft 2.08 of the Mesh Networking
89	 amendment.  However, no compliance with that draft is claimed or even
90	 possible, as drafts leave a number of identifiers to be defined after
91	 ratification.  For more information visit http://o11s.org/.
92
93config MAC80211_LEDS
94	bool "Enable LED triggers"
95	depends on MAC80211
96	depends on LEDS_CLASS
97	select LEDS_TRIGGERS
98	---help---
99	  This option enables a few LED triggers for different
100	  packet receive/transmit events.
101
102config MAC80211_DEBUGFS
103	bool "Export mac80211 internals in DebugFS"
104	depends on MAC80211 && DEBUG_FS
105	---help---
106	  Select this to see extensive information about
107	  the internal state of mac80211 in debugfs.
108
109	  Say N unless you know you need this.
110
111menuconfig MAC80211_DEBUG_MENU
112	bool "Select mac80211 debugging features"
113	depends on MAC80211
114	---help---
115	  This option collects various mac80211 debug settings.
116
117config MAC80211_NOINLINE
118	bool "Do not inline TX/RX handlers"
119	depends on MAC80211_DEBUG_MENU
120	---help---
121	  This option affects code generation in mac80211, when
122	  selected some functions are marked "noinline" to allow
123	  easier debugging of problems in the transmit and receive
124	  paths.
125
126	  This option increases code size a bit and inserts a lot
127	  of function calls in the code, but is otherwise safe to
128	  enable.
129
130	  If unsure, say N unless you expect to be finding problems
131	  in mac80211.
132
133config MAC80211_VERBOSE_DEBUG
134	bool "Verbose debugging output"
135	depends on MAC80211_DEBUG_MENU
136	---help---
137	  Selecting this option causes mac80211 to print out
138	  many debugging messages. It should not be selected
139	  on production systems as some of the messages are
140	  remotely triggerable.
141
142	  Do not select this option.
143
144config MAC80211_HT_DEBUG
145	bool "Verbose HT debugging"
146	depends on MAC80211_DEBUG_MENU
147	---help---
148	  This option enables 802.11n High Throughput features
149	  debug tracing output.
150
151	  It should not be selected on production systems as some
152	  of the messages are remotely triggerable.
153
154	  Do not select this option.
155
156config MAC80211_TKIP_DEBUG
157	bool "Verbose TKIP debugging"
158	depends on MAC80211_DEBUG_MENU
159	---help---
160	  Selecting this option causes mac80211 to print out
161	  very verbose TKIP debugging messages. It should not
162	  be selected on production systems as those messages
163	  are remotely triggerable.
164
165	  Do not select this option.
166
167config MAC80211_IBSS_DEBUG
168	bool "Verbose IBSS debugging"
169	depends on MAC80211_DEBUG_MENU
170	---help---
171	  Selecting this option causes mac80211 to print out
172	  very verbose IBSS debugging messages. It should not
173	  be selected on production systems as those messages
174	  are remotely triggerable.
175
176	  Do not select this option.
177
178config MAC80211_VERBOSE_PS_DEBUG
179	bool "Verbose powersave mode debugging"
180	depends on MAC80211_DEBUG_MENU
181	---help---
182	  Selecting this option causes mac80211 to print out very
183	  verbose power save mode debugging messages (when mac80211
184	  is an AP and has power saving stations.)
185	  It should not be selected on production systems as those
186	  messages are remotely triggerable.
187
188	  Do not select this option.
189
190config MAC80211_VERBOSE_MPL_DEBUG
191	bool "Verbose mesh peer link debugging"
192	depends on MAC80211_DEBUG_MENU
193	depends on MAC80211_MESH
194	---help---
195	  Selecting this option causes mac80211 to print out very
196	  verbose mesh peer link debugging messages (when mac80211
197	  is taking part in a mesh network).
198	  It should not be selected on production systems as those
199	  messages are remotely triggerable.
200
201	  Do not select this option.
202
203config MAC80211_VERBOSE_MHWMP_DEBUG
204	bool "Verbose mesh HWMP routing debugging"
205	depends on MAC80211_DEBUG_MENU
206	depends on MAC80211_MESH
207	---help---
208	  Selecting this option causes mac80211 to print out very
209	  verbose mesh routing (HWMP) debugging messages (when mac80211
210	  is taking part in a mesh network).
211	  It should not be selected on production systems as those
212	  messages are remotely triggerable.
213
214	  Do not select this option.
215
216config MAC80211_DEBUG_COUNTERS
217	bool "Extra statistics for TX/RX debugging"
218	depends on MAC80211_DEBUG_MENU
219	depends on MAC80211_DEBUGFS
220	---help---
221	  Selecting this option causes mac80211 to keep additional
222	  and very verbose statistics about TX and RX handler use
223	  and show them in debugfs.
224
225	  If unsure, say N.
226
227config MAC80211_DRIVER_API_TRACER
228	bool "Driver API tracer"
229	depends on MAC80211_DEBUG_MENU
230	depends on EVENT_TRACING
231	help
232	  Say Y here to make mac80211 register with the ftrace
233	  framework for the driver API -- you can then see which
234	  driver methods it is calling and which API functions
235	  drivers are calling by looking at the trace.
236
237	  If unsure, say Y.
238