| .. | .. | 
|---|
 | 1 | +# SPDX-License-Identifier: GPL-2.0-only  | 
|---|
| 1 | 2 |  config MAC80211 | 
|---|
| 2 | 3 |  	tristate "Generic IEEE 802.11 Networking Stack (mac80211)" | 
|---|
| 3 | 4 |  	depends on CFG80211 | 
|---|
| 4 | 5 |  	select CRYPTO | 
|---|
| 5 |  | -	select CRYPTO_ARC4  | 
|---|
 | 6 | +	select CRYPTO_LIB_ARC4  | 
|---|
| 6 | 7 |  	select CRYPTO_AES | 
|---|
| 7 | 8 |  	select CRYPTO_CCM | 
|---|
| 8 | 9 |  	select CRYPTO_GCM | 
|---|
| 9 | 10 |  	select CRYPTO_CMAC | 
|---|
| 10 | 11 |  	select CRC32 | 
|---|
| 11 |  | -	---help---  | 
|---|
 | 12 | +	help  | 
|---|
| 12 | 13 |  	  This option enables the hardware independent IEEE 802.11 | 
|---|
| 13 | 14 |  	  networking stack. | 
|---|
| 14 | 15 |   | 
|---|
| .. | .. | 
|---|
| 24 | 25 |  	bool "Minstrel" if EXPERT | 
|---|
| 25 | 26 |  	select MAC80211_HAS_RC | 
|---|
| 26 | 27 |  	default y | 
|---|
| 27 |  | -	---help---  | 
|---|
 | 28 | +	help  | 
|---|
| 28 | 29 |  	  This option enables the 'minstrel' TX rate control algorithm | 
|---|
| 29 |  | -  | 
|---|
| 30 |  | -config MAC80211_RC_MINSTREL_HT  | 
|---|
| 31 |  | -	bool "Minstrel 802.11n support" if EXPERT  | 
|---|
| 32 |  | -	depends on MAC80211_RC_MINSTREL  | 
|---|
| 33 |  | -	default y  | 
|---|
| 34 |  | -	---help---  | 
|---|
| 35 |  | -	  This option enables the 'minstrel_ht' TX rate control algorithm  | 
|---|
| 36 |  | -  | 
|---|
| 37 |  | -config MAC80211_RC_MINSTREL_VHT  | 
|---|
| 38 |  | -	bool "Minstrel 802.11ac support" if EXPERT  | 
|---|
| 39 |  | -	depends on MAC80211_RC_MINSTREL_HT  | 
|---|
| 40 |  | -	default n  | 
|---|
| 41 |  | -	---help---  | 
|---|
| 42 |  | -	  This option enables VHT in the 'minstrel_ht' TX rate control algorithm  | 
|---|
| 43 | 30 |   | 
|---|
| 44 | 31 |  choice | 
|---|
| 45 | 32 |  	prompt "Default rate control algorithm" | 
|---|
| 46 | 33 |  	depends on MAC80211_HAS_RC | 
|---|
| 47 | 34 |  	default MAC80211_RC_DEFAULT_MINSTREL | 
|---|
| 48 |  | -	---help---  | 
|---|
 | 35 | +	help  | 
|---|
| 49 | 36 |  	  This option selects the default rate control algorithm | 
|---|
| 50 | 37 |  	  mac80211 will use. Note that this default can still be | 
|---|
| 51 | 38 |  	  overridden through the ieee80211_default_rc_algo module | 
|---|
| .. | .. | 
|---|
| 54 | 41 |  config MAC80211_RC_DEFAULT_MINSTREL | 
|---|
| 55 | 42 |  	bool "Minstrel" | 
|---|
| 56 | 43 |  	depends on MAC80211_RC_MINSTREL | 
|---|
| 57 |  | -	---help---  | 
|---|
 | 44 | +	help  | 
|---|
| 58 | 45 |  	  Select Minstrel as the default rate control algorithm. | 
|---|
| 59 | 46 |   | 
|---|
| 60 | 47 |   | 
|---|
| .. | .. | 
|---|
| 62 | 49 |   | 
|---|
| 63 | 50 |  config MAC80211_RC_DEFAULT | 
|---|
| 64 | 51 |  	string | 
|---|
| 65 |  | -	default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL && MAC80211_RC_MINSTREL_HT  | 
|---|
| 66 |  | -	default "minstrel" if MAC80211_RC_DEFAULT_MINSTREL  | 
|---|
 | 52 | +	default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL  | 
|---|
| 67 | 53 |  	default "" | 
|---|
| 68 | 54 |   | 
|---|
| 69 | 55 |  endif | 
|---|
| .. | .. | 
|---|
| 72 | 58 |  	depends on MAC80211 && MAC80211_HAS_RC=n | 
|---|
| 73 | 59 |   | 
|---|
| 74 | 60 |  config MAC80211_MESH | 
|---|
| 75 |  | -	bool "Enable mac80211 mesh networking (pre-802.11s) support"  | 
|---|
 | 61 | +	bool "Enable mac80211 mesh networking support"  | 
|---|
| 76 | 62 |  	depends on MAC80211 | 
|---|
| 77 |  | -	---help---  | 
|---|
| 78 |  | -	 This options enables support of Draft 802.11s mesh networking.  | 
|---|
| 79 |  | -	 The implementation is based on Draft 2.08 of the Mesh Networking  | 
|---|
| 80 |  | -	 amendment.  However, no compliance with that draft is claimed or even  | 
|---|
| 81 |  | -	 possible, as drafts leave a number of identifiers to be defined after  | 
|---|
| 82 |  | -	 ratification.  For more information visit http://o11s.org/.  | 
|---|
 | 63 | +	help  | 
|---|
 | 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.  | 
|---|
| 83 | 68 |   | 
|---|
| 84 | 69 |  config MAC80211_LEDS | 
|---|
| 85 | 70 |  	bool "Enable LED triggers" | 
|---|
| 86 | 71 |  	depends on MAC80211 | 
|---|
| 87 |  | -	depends on LEDS_CLASS  | 
|---|
 | 72 | +	depends on LEDS_CLASS=y || LEDS_CLASS=MAC80211  | 
|---|
| 88 | 73 |  	select LEDS_TRIGGERS | 
|---|
| 89 |  | -	---help---  | 
|---|
 | 74 | +	help  | 
|---|
| 90 | 75 |  	  This option enables a few LED triggers for different | 
|---|
| 91 | 76 |  	  packet receive/transmit events. | 
|---|
| 92 | 77 |   | 
|---|
| 93 | 78 |  config MAC80211_DEBUGFS | 
|---|
| 94 | 79 |  	bool "Export mac80211 internals in DebugFS" | 
|---|
| 95 | 80 |  	depends on MAC80211 && DEBUG_FS | 
|---|
| 96 |  | -	---help---  | 
|---|
 | 81 | +	help  | 
|---|
| 97 | 82 |  	  Select this to see extensive information about | 
|---|
| 98 | 83 |  	  the internal state of mac80211 in debugfs. | 
|---|
| 99 | 84 |   | 
|---|
| .. | .. | 
|---|
| 102 | 87 |  config MAC80211_MESSAGE_TRACING | 
|---|
| 103 | 88 |  	bool "Trace all mac80211 debug messages" | 
|---|
| 104 | 89 |  	depends on MAC80211 | 
|---|
| 105 |  | -	---help---  | 
|---|
 | 90 | +	help  | 
|---|
| 106 | 91 |  	  Select this option to have mac80211 register the | 
|---|
| 107 | 92 |  	  mac80211_msg trace subsystem with tracepoints to | 
|---|
| 108 | 93 |  	  collect all debugging messages, independent of | 
|---|
| .. | .. | 
|---|
| 115 | 100 |  menuconfig MAC80211_DEBUG_MENU | 
|---|
| 116 | 101 |  	bool "Select mac80211 debugging features" | 
|---|
| 117 | 102 |  	depends on MAC80211 | 
|---|
| 118 |  | -	---help---  | 
|---|
 | 103 | +	help  | 
|---|
| 119 | 104 |  	  This option collects various mac80211 debug settings. | 
|---|
| 120 | 105 |   | 
|---|
| 121 | 106 |  config MAC80211_NOINLINE | 
|---|
| 122 | 107 |  	bool "Do not inline TX/RX handlers" | 
|---|
| 123 | 108 |  	depends on MAC80211_DEBUG_MENU | 
|---|
| 124 |  | -	---help---  | 
|---|
 | 109 | +	help  | 
|---|
| 125 | 110 |  	  This option affects code generation in mac80211, when | 
|---|
| 126 | 111 |  	  selected some functions are marked "noinline" to allow | 
|---|
| 127 | 112 |  	  easier debugging of problems in the transmit and receive | 
|---|
| .. | .. | 
|---|
| 137 | 122 |  config MAC80211_VERBOSE_DEBUG | 
|---|
| 138 | 123 |  	bool "Verbose debugging output" | 
|---|
| 139 | 124 |  	depends on MAC80211_DEBUG_MENU | 
|---|
| 140 |  | -	---help---  | 
|---|
 | 125 | +	help  | 
|---|
| 141 | 126 |  	  Selecting this option causes mac80211 to print out | 
|---|
| 142 | 127 |  	  many debugging messages. It should not be selected | 
|---|
| 143 | 128 |  	  on production systems as some of the messages are | 
|---|
| .. | .. | 
|---|
| 148 | 133 |  config MAC80211_MLME_DEBUG | 
|---|
| 149 | 134 |  	bool "Verbose managed MLME output" | 
|---|
| 150 | 135 |  	depends on MAC80211_DEBUG_MENU | 
|---|
| 151 |  | -	---help---  | 
|---|
 | 136 | +	help  | 
|---|
| 152 | 137 |  	  Selecting this option causes mac80211 to print out | 
|---|
| 153 | 138 |  	  debugging messages for the managed-mode MLME. It | 
|---|
| 154 | 139 |  	  should not be selected on production systems as some | 
|---|
| .. | .. | 
|---|
| 159 | 144 |  config MAC80211_STA_DEBUG | 
|---|
| 160 | 145 |  	bool "Verbose station debugging" | 
|---|
| 161 | 146 |  	depends on MAC80211_DEBUG_MENU | 
|---|
| 162 |  | -	---help---  | 
|---|
 | 147 | +	help  | 
|---|
| 163 | 148 |  	  Selecting this option causes mac80211 to print out | 
|---|
| 164 | 149 |  	  debugging messages for station addition/removal. | 
|---|
| 165 | 150 |   | 
|---|
| .. | .. | 
|---|
| 168 | 153 |  config MAC80211_HT_DEBUG | 
|---|
| 169 | 154 |  	bool "Verbose HT debugging" | 
|---|
| 170 | 155 |  	depends on MAC80211_DEBUG_MENU | 
|---|
| 171 |  | -	---help---  | 
|---|
 | 156 | +	help  | 
|---|
| 172 | 157 |  	  This option enables 802.11n High Throughput features | 
|---|
| 173 | 158 |  	  debug tracing output. | 
|---|
| 174 | 159 |   | 
|---|
| .. | .. | 
|---|
| 180 | 165 |  config MAC80211_OCB_DEBUG | 
|---|
| 181 | 166 |  	bool "Verbose OCB debugging" | 
|---|
| 182 | 167 |  	depends on MAC80211_DEBUG_MENU | 
|---|
| 183 |  | -	---help---  | 
|---|
 | 168 | +	help  | 
|---|
| 184 | 169 |  	  Selecting this option causes mac80211 to print out | 
|---|
| 185 | 170 |  	  very verbose OCB debugging messages. It should not | 
|---|
| 186 | 171 |  	  be selected on production systems as those messages | 
|---|
| .. | .. | 
|---|
| 191 | 176 |  config MAC80211_IBSS_DEBUG | 
|---|
| 192 | 177 |  	bool "Verbose IBSS debugging" | 
|---|
| 193 | 178 |  	depends on MAC80211_DEBUG_MENU | 
|---|
| 194 |  | -	---help---  | 
|---|
 | 179 | +	help  | 
|---|
| 195 | 180 |  	  Selecting this option causes mac80211 to print out | 
|---|
| 196 | 181 |  	  very verbose IBSS debugging messages. It should not | 
|---|
| 197 | 182 |  	  be selected on production systems as those messages | 
|---|
| .. | .. | 
|---|
| 202 | 187 |  config MAC80211_PS_DEBUG | 
|---|
| 203 | 188 |  	bool "Verbose powersave mode debugging" | 
|---|
| 204 | 189 |  	depends on MAC80211_DEBUG_MENU | 
|---|
| 205 |  | -	---help---  | 
|---|
 | 190 | +	help  | 
|---|
| 206 | 191 |  	  Selecting this option causes mac80211 to print out very | 
|---|
| 207 | 192 |  	  verbose power save mode debugging messages (when mac80211 | 
|---|
| 208 | 193 |  	  is an AP and has power saving stations.) | 
|---|
| .. | .. | 
|---|
| 215 | 200 |  	bool "Verbose mesh peer link debugging" | 
|---|
| 216 | 201 |  	depends on MAC80211_DEBUG_MENU | 
|---|
| 217 | 202 |  	depends on MAC80211_MESH | 
|---|
| 218 |  | -	---help---  | 
|---|
 | 203 | +	help  | 
|---|
| 219 | 204 |  	  Selecting this option causes mac80211 to print out very | 
|---|
| 220 | 205 |  	  verbose mesh peer link debugging messages (when mac80211 | 
|---|
| 221 | 206 |  	  is taking part in a mesh network). | 
|---|
| .. | .. | 
|---|
| 228 | 213 |  	bool "Verbose mesh path debugging" | 
|---|
| 229 | 214 |  	depends on MAC80211_DEBUG_MENU | 
|---|
| 230 | 215 |  	depends on MAC80211_MESH | 
|---|
| 231 |  | -	---help---  | 
|---|
 | 216 | +	help  | 
|---|
| 232 | 217 |  	  Selecting this option causes mac80211 to print out very | 
|---|
| 233 | 218 |  	  verbose mesh path selection debugging messages (when mac80211 | 
|---|
| 234 | 219 |  	  is taking part in a mesh network). | 
|---|
| .. | .. | 
|---|
| 241 | 226 |  	bool "Verbose mesh HWMP routing debugging" | 
|---|
| 242 | 227 |  	depends on MAC80211_DEBUG_MENU | 
|---|
| 243 | 228 |  	depends on MAC80211_MESH | 
|---|
| 244 |  | -	---help---  | 
|---|
 | 229 | +	help  | 
|---|
| 245 | 230 |  	  Selecting this option causes mac80211 to print out very | 
|---|
| 246 | 231 |  	  verbose mesh routing (HWMP) debugging messages (when mac80211 | 
|---|
| 247 | 232 |  	  is taking part in a mesh network). | 
|---|
| .. | .. | 
|---|
| 254 | 239 |  	bool "Verbose mesh synchronization debugging" | 
|---|
| 255 | 240 |  	depends on MAC80211_DEBUG_MENU | 
|---|
| 256 | 241 |  	depends on MAC80211_MESH | 
|---|
| 257 |  | -	---help---  | 
|---|
 | 242 | +	help  | 
|---|
| 258 | 243 |  	  Selecting this option causes mac80211 to print out very verbose mesh | 
|---|
| 259 | 244 |  	  synchronization debugging messages (when mac80211 is taking part in a | 
|---|
| 260 | 245 |  	  mesh network). | 
|---|
| .. | .. | 
|---|
| 265 | 250 |  	bool "Verbose mesh channel switch debugging" | 
|---|
| 266 | 251 |  	depends on MAC80211_DEBUG_MENU | 
|---|
| 267 | 252 |  	depends on MAC80211_MESH | 
|---|
| 268 |  | -	---help---  | 
|---|
 | 253 | +	help  | 
|---|
| 269 | 254 |  	  Selecting this option causes mac80211 to print out very verbose mesh | 
|---|
| 270 | 255 |  	  channel switch debugging messages (when mac80211 is taking part in a | 
|---|
| 271 | 256 |  	  mesh network). | 
|---|
| .. | .. | 
|---|
| 276 | 261 |  	bool "Verbose mesh powersave debugging" | 
|---|
| 277 | 262 |  	depends on MAC80211_DEBUG_MENU | 
|---|
| 278 | 263 |  	depends on MAC80211_MESH | 
|---|
| 279 |  | -	---help---  | 
|---|
 | 264 | +	help  | 
|---|
| 280 | 265 |  	  Selecting this option causes mac80211 to print out very verbose mesh | 
|---|
| 281 | 266 |  	  powersave debugging messages (when mac80211 is taking part in a | 
|---|
| 282 | 267 |  	  mesh network). | 
|---|
| .. | .. | 
|---|
| 286 | 271 |  config MAC80211_TDLS_DEBUG | 
|---|
| 287 | 272 |  	bool "Verbose TDLS debugging" | 
|---|
| 288 | 273 |  	depends on MAC80211_DEBUG_MENU | 
|---|
| 289 |  | -	---help---  | 
|---|
 | 274 | +	help  | 
|---|
| 290 | 275 |  	  Selecting this option causes mac80211 to print out very | 
|---|
| 291 | 276 |  	  verbose TDLS selection debugging messages (when mac80211 | 
|---|
| 292 | 277 |  	  is a TDLS STA). | 
|---|
| .. | .. | 
|---|
| 299 | 284 |  	bool "Extra statistics for TX/RX debugging" | 
|---|
| 300 | 285 |  	depends on MAC80211_DEBUG_MENU | 
|---|
| 301 | 286 |  	depends on MAC80211_DEBUGFS | 
|---|
| 302 |  | -	---help---  | 
|---|
 | 287 | +	help  | 
|---|
| 303 | 288 |  	  Selecting this option causes mac80211 to keep additional | 
|---|
| 304 | 289 |  	  and very verbose statistics about TX and RX handler use | 
|---|
| 305 | 290 |  	  as well as a few selected dot11 counters. These will be | 
|---|
| .. | .. | 
|---|
| 313 | 298 |  config MAC80211_STA_HASH_MAX_SIZE | 
|---|
| 314 | 299 |  	int "Station hash table maximum size" if MAC80211_DEBUG_MENU | 
|---|
| 315 | 300 |  	default 0 | 
|---|
| 316 |  | -	---help---  | 
|---|
 | 301 | +	help  | 
|---|
| 317 | 302 |  	  Setting this option to a low value (e.g. 4) allows testing the | 
|---|
| 318 | 303 |  	  hash table with collisions relatively deterministically (just | 
|---|
| 319 | 304 |  	  connect more stations than the number selected here.) | 
|---|