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