]>
Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
f0706e82 JB |
2 | config MAC80211 |
3 | tristate "Generic IEEE 802.11 Networking Stack (mac80211)" | |
0aa8204b | 4 | depends on CFG80211 |
f0706e82 | 5 | select CRYPTO |
5fdb3735 | 6 | select CRYPTO_LIB_ARC4 |
f0706e82 | 7 | select CRYPTO_AES |
7ec7c4a9 | 8 | select CRYPTO_CCM |
00b9cfa3 | 9 | select CRYPTO_GCM |
fe8de3da | 10 | select CRYPTO_CMAC |
f0706e82 | 11 | select CRC32 |
a7f7f624 | 12 | help |
c40896de JL |
13 | This option enables the hardware independent IEEE 802.11 |
14 | networking stack. | |
f0706e82 | 15 | |
0aa8204b JB |
16 | comment "CFG80211 needs to be enabled for MAC80211" |
17 | depends on CFG80211=n | |
18 | ||
abd8ea22 | 19 | if MAC80211 != n |
c21b39ac | 20 | |
c2ef355b | 21 | config MAC80211_HAS_RC |
540005c7 | 22 | bool |
c2ef355b | 23 | |
cccf129f | 24 | config MAC80211_RC_MINSTREL |
6a108a14 | 25 | bool "Minstrel" if EXPERT |
c2ef355b | 26 | select MAC80211_HAS_RC |
8eb41c93 | 27 | default y |
a7f7f624 | 28 | help |
cccf129f FF |
29 | This option enables the 'minstrel' TX rate control algorithm |
30 | ||
c21b39ac SB |
31 | choice |
32 | prompt "Default rate control algorithm" | |
c2ef355b | 33 | depends on MAC80211_HAS_RC |
8eb41c93 | 34 | default MAC80211_RC_DEFAULT_MINSTREL |
a7f7f624 | 35 | help |
c21b39ac SB |
36 | This option selects the default rate control algorithm |
37 | mac80211 will use. Note that this default can still be | |
692105b8 | 38 | overridden through the ieee80211_default_rc_algo module |
4b475898 | 39 | parameter if different algorithms are available. |
c21b39ac | 40 | |
cccf129f FF |
41 | config MAC80211_RC_DEFAULT_MINSTREL |
42 | bool "Minstrel" | |
43 | depends on MAC80211_RC_MINSTREL | |
a7f7f624 | 44 | help |
cccf129f FF |
45 | Select Minstrel as the default rate control algorithm. |
46 | ||
47 | ||
c21b39ac | 48 | endchoice |
ac71c691 | 49 | |
c21b39ac SB |
50 | config MAC80211_RC_DEFAULT |
51 | string | |
b1c4f683 | 52 | default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL |
c21b39ac SB |
53 | default "" |
54 | ||
abd8ea22 | 55 | endif |
ad018375 | 56 | |
c2ef355b | 57 | comment "Some wireless drivers require a rate control algorithm" |
e46395a4 | 58 | depends on MAC80211 && MAC80211_HAS_RC=n |
c2ef355b | 59 | |
2f5ce793 | 60 | config MAC80211_MESH |
c8d10cbd | 61 | bool "Enable mac80211 mesh networking support" |
48f6edce | 62 | depends on MAC80211 |
a7f7f624 | 63 | help |
c8d10cbd BC |
64 | Select this option to enable 802.11 mesh operation in mac80211 |
65 | drivers that support it. 802.11 mesh connects multiple stations | |
66 | over (possibly multi-hop) wireless links to form a single logical | |
67 | LAN. | |
2f5ce793 | 68 | |
f0706e82 JB |
69 | config MAC80211_LEDS |
70 | bool "Enable LED triggers" | |
bd8fd21d | 71 | depends on MAC80211 |
b64acb28 | 72 | depends on LEDS_CLASS=y || LEDS_CLASS=MAC80211 |
bd8fd21d | 73 | select LEDS_TRIGGERS |
a7f7f624 | 74 | help |
c40896de JL |
75 | This option enables a few LED triggers for different |
76 | packet receive/transmit events. | |
f0706e82 | 77 | |
e9f207f0 JB |
78 | config MAC80211_DEBUGFS |
79 | bool "Export mac80211 internals in DebugFS" | |
80 | depends on MAC80211 && DEBUG_FS | |
a7f7f624 | 81 | help |
e9f207f0 JB |
82 | Select this to see extensive information about |
83 | the internal state of mac80211 in debugfs. | |
84 | ||
85 | Say N unless you know you need this. | |
86 | ||
3fae0273 JB |
87 | config MAC80211_MESSAGE_TRACING |
88 | bool "Trace all mac80211 debug messages" | |
89 | depends on MAC80211 | |
a7f7f624 | 90 | help |
3fae0273 JB |
91 | Select this option to have mac80211 register the |
92 | mac80211_msg trace subsystem with tracepoints to | |
93 | collect all debugging messages, independent of | |
94 | printing them into the kernel log. | |
95 | ||
96 | The overhead in this option is that all the messages | |
97 | need to be present in the binary and formatted at | |
98 | runtime for tracing. | |
99 | ||
f4ea83dd JB |
100 | menuconfig MAC80211_DEBUG_MENU |
101 | bool "Select mac80211 debugging features" | |
102 | depends on MAC80211 | |
a7f7f624 | 103 | help |
f4ea83dd JB |
104 | This option collects various mac80211 debug settings. |
105 | ||
f4ea83dd JB |
106 | config MAC80211_NOINLINE |
107 | bool "Do not inline TX/RX handlers" | |
108 | depends on MAC80211_DEBUG_MENU | |
a7f7f624 | 109 | help |
f4ea83dd JB |
110 | This option affects code generation in mac80211, when |
111 | selected some functions are marked "noinline" to allow | |
112 | easier debugging of problems in the transmit and receive | |
113 | paths. | |
114 | ||
115 | This option increases code size a bit and inserts a lot | |
116 | of function calls in the code, but is otherwise safe to | |
117 | enable. | |
f0706e82 | 118 | |
f4ea83dd JB |
119 | If unsure, say N unless you expect to be finding problems |
120 | in mac80211. | |
121 | ||
122 | config MAC80211_VERBOSE_DEBUG | |
123 | bool "Verbose debugging output" | |
124 | depends on MAC80211_DEBUG_MENU | |
a7f7f624 | 125 | help |
f4ea83dd JB |
126 | Selecting this option causes mac80211 to print out |
127 | many debugging messages. It should not be selected | |
128 | on production systems as some of the messages are | |
129 | remotely triggerable. | |
130 | ||
131 | Do not select this option. | |
82b3cad9 | 132 | |
bdcbd8e0 JB |
133 | config MAC80211_MLME_DEBUG |
134 | bool "Verbose managed MLME output" | |
135 | depends on MAC80211_DEBUG_MENU | |
a7f7f624 | 136 | help |
bdcbd8e0 JB |
137 | Selecting this option causes mac80211 to print out |
138 | debugging messages for the managed-mode MLME. It | |
139 | should not be selected on production systems as some | |
140 | of the messages are remotely triggerable. | |
141 | ||
142 | Do not select this option. | |
143 | ||
144 | config MAC80211_STA_DEBUG | |
145 | bool "Verbose station debugging" | |
146 | depends on MAC80211_DEBUG_MENU | |
a7f7f624 | 147 | help |
bdcbd8e0 JB |
148 | Selecting this option causes mac80211 to print out |
149 | debugging messages for station addition/removal. | |
150 | ||
151 | Do not select this option. | |
152 | ||
82b3cad9 | 153 | config MAC80211_HT_DEBUG |
f4ea83dd JB |
154 | bool "Verbose HT debugging" |
155 | depends on MAC80211_DEBUG_MENU | |
a7f7f624 | 156 | help |
c40896de JL |
157 | This option enables 802.11n High Throughput features |
158 | debug tracing output. | |
159 | ||
f4ea83dd JB |
160 | It should not be selected on production systems as some |
161 | of the messages are remotely triggerable. | |
f0706e82 | 162 | |
f4ea83dd JB |
163 | Do not select this option. |
164 | ||
239281f8 RL |
165 | config MAC80211_OCB_DEBUG |
166 | bool "Verbose OCB debugging" | |
167 | depends on MAC80211_DEBUG_MENU | |
a7f7f624 | 168 | help |
239281f8 RL |
169 | Selecting this option causes mac80211 to print out |
170 | very verbose OCB debugging messages. It should not | |
171 | be selected on production systems as those messages | |
172 | are remotely triggerable. | |
173 | ||
174 | Do not select this option. | |
175 | ||
f4ea83dd JB |
176 | config MAC80211_IBSS_DEBUG |
177 | bool "Verbose IBSS debugging" | |
178 | depends on MAC80211_DEBUG_MENU | |
a7f7f624 | 179 | help |
f4ea83dd JB |
180 | Selecting this option causes mac80211 to print out |
181 | very verbose IBSS debugging messages. It should not | |
182 | be selected on production systems as those messages | |
183 | are remotely triggerable. | |
184 | ||
185 | Do not select this option. | |
186 | ||
bdcbd8e0 | 187 | config MAC80211_PS_DEBUG |
f4ea83dd JB |
188 | bool "Verbose powersave mode debugging" |
189 | depends on MAC80211_DEBUG_MENU | |
a7f7f624 | 190 | help |
f4ea83dd JB |
191 | Selecting this option causes mac80211 to print out very |
192 | verbose power save mode debugging messages (when mac80211 | |
193 | is an AP and has power saving stations.) | |
194 | It should not be selected on production systems as those | |
195 | messages are remotely triggerable. | |
196 | ||
197 | Do not select this option. | |
198 | ||
bdcbd8e0 | 199 | config MAC80211_MPL_DEBUG |
f4ea83dd JB |
200 | bool "Verbose mesh peer link debugging" |
201 | depends on MAC80211_DEBUG_MENU | |
202 | depends on MAC80211_MESH | |
a7f7f624 | 203 | help |
f4ea83dd JB |
204 | Selecting this option causes mac80211 to print out very |
205 | verbose mesh peer link debugging messages (when mac80211 | |
206 | is taking part in a mesh network). | |
207 | It should not be selected on production systems as those | |
208 | messages are remotely triggerable. | |
209 | ||
210 | Do not select this option. | |
f0706e82 | 211 | |
bdcbd8e0 | 212 | config MAC80211_MPATH_DEBUG |
7646887a JC |
213 | bool "Verbose mesh path debugging" |
214 | depends on MAC80211_DEBUG_MENU | |
215 | depends on MAC80211_MESH | |
a7f7f624 | 216 | help |
7646887a JC |
217 | Selecting this option causes mac80211 to print out very |
218 | verbose mesh path selection debugging messages (when mac80211 | |
219 | is taking part in a mesh network). | |
220 | It should not be selected on production systems as those | |
221 | messages are remotely triggerable. | |
222 | ||
223 | Do not select this option. | |
224 | ||
bdcbd8e0 | 225 | config MAC80211_MHWMP_DEBUG |
27db2e42 RP |
226 | bool "Verbose mesh HWMP routing debugging" |
227 | depends on MAC80211_DEBUG_MENU | |
228 | depends on MAC80211_MESH | |
a7f7f624 | 229 | help |
27db2e42 RP |
230 | Selecting this option causes mac80211 to print out very |
231 | verbose mesh routing (HWMP) debugging messages (when mac80211 | |
232 | is taking part in a mesh network). | |
233 | It should not be selected on production systems as those | |
234 | messages are remotely triggerable. | |
235 | ||
236 | Do not select this option. | |
237 | ||
bdcbd8e0 | 238 | config MAC80211_MESH_SYNC_DEBUG |
f53c6a0d | 239 | bool "Verbose mesh synchronization debugging" |
dbf498fb JC |
240 | depends on MAC80211_DEBUG_MENU |
241 | depends on MAC80211_MESH | |
a7f7f624 | 242 | help |
dbf498fb JC |
243 | Selecting this option causes mac80211 to print out very verbose mesh |
244 | synchronization debugging messages (when mac80211 is taking part in a | |
245 | mesh network). | |
246 | ||
247 | Do not select this option. | |
8f2535b9 CYY |
248 | |
249 | config MAC80211_MESH_CSA_DEBUG | |
250 | bool "Verbose mesh channel switch debugging" | |
251 | depends on MAC80211_DEBUG_MENU | |
252 | depends on MAC80211_MESH | |
a7f7f624 | 253 | help |
8f2535b9 CYY |
254 | Selecting this option causes mac80211 to print out very verbose mesh |
255 | channel switch debugging messages (when mac80211 is taking part in a | |
256 | mesh network). | |
257 | ||
258 | Do not select this option. | |
dbf498fb | 259 | |
3f52b7e3 MP |
260 | config MAC80211_MESH_PS_DEBUG |
261 | bool "Verbose mesh powersave debugging" | |
262 | depends on MAC80211_DEBUG_MENU | |
263 | depends on MAC80211_MESH | |
a7f7f624 | 264 | help |
3f52b7e3 MP |
265 | Selecting this option causes mac80211 to print out very verbose mesh |
266 | powersave debugging messages (when mac80211 is taking part in a | |
267 | mesh network). | |
268 | ||
269 | Do not select this option. | |
270 | ||
bdcbd8e0 | 271 | config MAC80211_TDLS_DEBUG |
dfe018bf AN |
272 | bool "Verbose TDLS debugging" |
273 | depends on MAC80211_DEBUG_MENU | |
a7f7f624 | 274 | help |
dfe018bf AN |
275 | Selecting this option causes mac80211 to print out very |
276 | verbose TDLS selection debugging messages (when mac80211 | |
277 | is a TDLS STA). | |
278 | It should not be selected on production systems as those | |
279 | messages are remotely triggerable. | |
280 | ||
281 | Do not select this option. | |
282 | ||
f0706e82 JB |
283 | config MAC80211_DEBUG_COUNTERS |
284 | bool "Extra statistics for TX/RX debugging" | |
f4ea83dd JB |
285 | depends on MAC80211_DEBUG_MENU |
286 | depends on MAC80211_DEBUGFS | |
a7f7f624 | 287 | help |
f4ea83dd JB |
288 | Selecting this option causes mac80211 to keep additional |
289 | and very verbose statistics about TX and RX handler use | |
c206ca67 JB |
290 | as well as a few selected dot11 counters. These will be |
291 | exposed in debugfs. | |
292 | ||
293 | Note that some of the counters are not concurrency safe | |
294 | and may thus not always be accurate. | |
2f5ce793 | 295 | |
f4ea83dd | 296 | If unsure, say N. |
ebd82b39 JB |
297 | |
298 | config MAC80211_STA_HASH_MAX_SIZE | |
299 | int "Station hash table maximum size" if MAC80211_DEBUG_MENU | |
300 | default 0 | |
a7f7f624 | 301 | help |
ebd82b39 JB |
302 | Setting this option to a low value (e.g. 4) allows testing the |
303 | hash table with collisions relatively deterministically (just | |
304 | connect more stations than the number selected here.) | |
305 | ||
306 | If unsure, leave the default of 0. |