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