xref: /linux/net/mac80211/Kconfig (revision 5bdef865eb358b6f3760e25e591ae115e9eeddef)
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 WIRELESS_EXT
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
17config MAC80211_DEFAULT_PS
18	bool "enable powersave by default"
19	depends on MAC80211
20	default y
21	help
22	  This option enables powersave mode by default.
23
24	  If this causes your applications to misbehave you should fix your
25	  applications instead -- they need to register their network
26	  latency requirement, see Documentation/power/pm_qos_interface.txt.
27
28config MAC80211_DEFAULT_PS_VALUE
29	int
30	default 1 if MAC80211_DEFAULT_PS
31	default 0
32
33menu "Rate control algorithm selection"
34	depends on MAC80211 != n
35
36config MAC80211_RC_PID
37	bool "PID controller based rate control algorithm" if EMBEDDED
38	---help---
39	  This option enables a TX rate control algorithm for
40	  mac80211 that uses a PID controller to select the TX
41	  rate.
42
43config MAC80211_RC_MINSTREL
44	bool "Minstrel" if EMBEDDED
45	default y
46	---help---
47	  This option enables the 'minstrel' TX rate control algorithm
48
49choice
50	prompt "Default rate control algorithm"
51	default MAC80211_RC_DEFAULT_MINSTREL
52	---help---
53	  This option selects the default rate control algorithm
54	  mac80211 will use. Note that this default can still be
55	  overridden through the ieee80211_default_rc_algo module
56	  parameter if different algorithms are available.
57
58config MAC80211_RC_DEFAULT_PID
59	bool "PID controller based rate control algorithm"
60	depends on MAC80211_RC_PID
61	---help---
62	  Select the PID controller based rate control as the
63	  default rate control algorithm. You should choose
64	  this unless you know what you are doing.
65
66config MAC80211_RC_DEFAULT_MINSTREL
67	bool "Minstrel"
68	depends on MAC80211_RC_MINSTREL
69	---help---
70	  Select Minstrel as the default rate control algorithm.
71
72
73endchoice
74
75config MAC80211_RC_DEFAULT
76	string
77	default "minstrel" if MAC80211_RC_DEFAULT_MINSTREL
78	default "pid" if MAC80211_RC_DEFAULT_PID
79	default ""
80
81endmenu
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 1.08 of the Mesh Networking
89	 amendment. For more information visit http://o11s.org/.
90
91
92config MAC80211_LEDS
93	bool "Enable LED triggers"
94	depends on MAC80211
95	select NEW_LEDS
96	select LEDS_TRIGGERS
97	---help---
98	  This option enables a few LED triggers for different
99	  packet receive/transmit events.
100
101config MAC80211_DEBUGFS
102	bool "Export mac80211 internals in DebugFS"
103	depends on MAC80211 && DEBUG_FS
104	---help---
105	  Select this to see extensive information about
106	  the internal state of mac80211 in debugfs.
107
108	  Say N unless you know you need this.
109
110menuconfig MAC80211_DEBUG_MENU
111	bool "Select mac80211 debugging features"
112	depends on MAC80211
113	---help---
114	  This option collects various mac80211 debug settings.
115
116config MAC80211_DEBUG_PACKET_ALIGNMENT
117	bool "Enable packet alignment debugging"
118	depends on MAC80211_DEBUG_MENU
119	---help---
120	  This option is recommended for driver authors and strongly
121	  discouraged for everybody else, it will trigger a warning
122	  when a driver hands mac80211 a buffer that is aligned in
123	  a way that will cause problems with the IP stack on some
124	  architectures.
125
126	  Say N unless you're writing a mac80211 based driver.
127
128config MAC80211_NOINLINE
129	bool "Do not inline TX/RX handlers"
130	depends on MAC80211_DEBUG_MENU
131	---help---
132	  This option affects code generation in mac80211, when
133	  selected some functions are marked "noinline" to allow
134	  easier debugging of problems in the transmit and receive
135	  paths.
136
137	  This option increases code size a bit and inserts a lot
138	  of function calls in the code, but is otherwise safe to
139	  enable.
140
141	  If unsure, say N unless you expect to be finding problems
142	  in mac80211.
143
144config MAC80211_VERBOSE_DEBUG
145	bool "Verbose debugging output"
146	depends on MAC80211_DEBUG_MENU
147	---help---
148	  Selecting this option causes mac80211 to print out
149	  many debugging messages. It should not be selected
150	  on production systems as some of the messages are
151	  remotely triggerable.
152
153	  Do not select this option.
154
155config MAC80211_HT_DEBUG
156	bool "Verbose HT debugging"
157	depends on MAC80211_DEBUG_MENU
158	---help---
159	  This option enables 802.11n High Throughput features
160	  debug tracing output.
161
162	  It should not be selected on production systems as some
163	  of the messages are remotely triggerable.
164
165	  Do not select this option.
166
167config MAC80211_TKIP_DEBUG
168	bool "Verbose TKIP debugging"
169	depends on MAC80211_DEBUG_MENU
170	---help---
171	  Selecting this option causes mac80211 to print out
172	  very verbose TKIP 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_IBSS_DEBUG
179	bool "Verbose IBSS debugging"
180	depends on MAC80211_DEBUG_MENU
181	---help---
182	  Selecting this option causes mac80211 to print out
183	  very verbose IBSS debugging messages. It should not
184	  be selected on production systems as those messages
185	  are remotely triggerable.
186
187	  Do not select this option.
188
189config MAC80211_VERBOSE_PS_DEBUG
190	bool "Verbose powersave mode debugging"
191	depends on MAC80211_DEBUG_MENU
192	---help---
193	  Selecting this option causes mac80211 to print out very
194	  verbose power save mode debugging messages (when mac80211
195	  is an AP and has power saving stations.)
196	  It should not be selected on production systems as those
197	  messages are remotely triggerable.
198
199	  Do not select this option.
200
201config MAC80211_VERBOSE_MPL_DEBUG
202	bool "Verbose mesh peer link debugging"
203	depends on MAC80211_DEBUG_MENU
204	depends on MAC80211_MESH
205	---help---
206	  Selecting this option causes mac80211 to print out very
207	  verbose mesh peer link debugging messages (when mac80211
208	  is taking part in a mesh network).
209	  It should not be selected on production systems as those
210	  messages are remotely triggerable.
211
212	  Do not select this option.
213
214config MAC80211_DEBUG_COUNTERS
215	bool "Extra statistics for TX/RX debugging"
216	depends on MAC80211_DEBUG_MENU
217	depends on MAC80211_DEBUGFS
218	---help---
219	  Selecting this option causes mac80211 to keep additional
220	  and very verbose statistics about TX and RX handler use
221	  and show them in debugfs.
222
223	  If unsure, say N.
224