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