linux/net/mac80211/Kconfig
<<
>>
Prefs
   1# SPDX-License-Identifier: GPL-2.0-only
   2config MAC80211
   3        tristate "Generic IEEE 802.11 Networking Stack (mac80211)"
   4        depends on CFG80211
   5        select CRYPTO
   6        select CRYPTO_LIB_ARC4
   7        select CRYPTO_AES
   8        select CRYPTO_CCM
   9        select CRYPTO_GCM
  10        select CRYPTO_CMAC
  11        select CRC32
  12        help
  13          This option enables the hardware independent IEEE 802.11
  14          networking stack.
  15
  16comment "CFG80211 needs to be enabled for MAC80211"
  17        depends on CFG80211=n
  18
  19if MAC80211 != n
  20
  21config MAC80211_HAS_RC
  22        bool
  23
  24config MAC80211_RC_MINSTREL
  25        bool "Minstrel" if EXPERT
  26        select MAC80211_HAS_RC
  27        default y
  28        help
  29          This option enables the 'minstrel' TX rate control algorithm
  30
  31choice
  32        prompt "Default rate control algorithm"
  33        depends on MAC80211_HAS_RC
  34        default MAC80211_RC_DEFAULT_MINSTREL
  35        help
  36          This option selects the default rate control algorithm
  37          mac80211 will use. Note that this default can still be
  38          overridden through the ieee80211_default_rc_algo module
  39          parameter if different algorithms are available.
  40
  41config MAC80211_RC_DEFAULT_MINSTREL
  42        bool "Minstrel"
  43        depends on MAC80211_RC_MINSTREL
  44        help
  45          Select Minstrel as the default rate control algorithm.
  46
  47
  48endchoice
  49
  50config MAC80211_RC_DEFAULT
  51        string
  52        default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL
  53        default ""
  54
  55endif
  56
  57comment "Some wireless drivers require a rate control algorithm"
  58        depends on MAC80211 && MAC80211_HAS_RC=n
  59
  60config MAC80211_MESH
  61        bool "Enable mac80211 mesh networking support"
  62        depends on MAC80211
  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.
  68
  69config MAC80211_LEDS
  70        bool "Enable LED triggers"
  71        depends on MAC80211
  72        depends on LEDS_CLASS=y || LEDS_CLASS=MAC80211
  73        select LEDS_TRIGGERS
  74        help
  75          This option enables a few LED triggers for different
  76          packet receive/transmit events.
  77
  78config MAC80211_DEBUGFS
  79        bool "Export mac80211 internals in DebugFS"
  80        depends on MAC80211 && DEBUG_FS
  81        help
  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
  87config MAC80211_MESSAGE_TRACING
  88        bool "Trace all mac80211 debug messages"
  89        depends on MAC80211
  90        help
  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
 100menuconfig MAC80211_DEBUG_MENU
 101        bool "Select mac80211 debugging features"
 102        depends on MAC80211
 103        help
 104          This option collects various mac80211 debug settings.
 105
 106config MAC80211_NOINLINE
 107        bool "Do not inline TX/RX handlers"
 108        depends on MAC80211_DEBUG_MENU
 109        help
 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.
 118
 119          If unsure, say N unless you expect to be finding problems
 120          in mac80211.
 121
 122config MAC80211_VERBOSE_DEBUG
 123        bool "Verbose debugging output"
 124        depends on MAC80211_DEBUG_MENU
 125        help
 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.
 132
 133config MAC80211_MLME_DEBUG
 134        bool "Verbose managed MLME output"
 135        depends on MAC80211_DEBUG_MENU
 136        help
 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
 144config MAC80211_STA_DEBUG
 145        bool "Verbose station debugging"
 146        depends on MAC80211_DEBUG_MENU
 147        help
 148          Selecting this option causes mac80211 to print out
 149          debugging messages for station addition/removal.
 150
 151          Do not select this option.
 152
 153config MAC80211_HT_DEBUG
 154        bool "Verbose HT debugging"
 155        depends on MAC80211_DEBUG_MENU
 156        help
 157          This option enables 802.11n High Throughput features
 158          debug tracing output.
 159
 160          It should not be selected on production systems as some
 161          of the messages are remotely triggerable.
 162
 163          Do not select this option.
 164
 165config MAC80211_OCB_DEBUG
 166        bool "Verbose OCB debugging"
 167        depends on MAC80211_DEBUG_MENU
 168        help
 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
 176config MAC80211_IBSS_DEBUG
 177        bool "Verbose IBSS debugging"
 178        depends on MAC80211_DEBUG_MENU
 179        help
 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
 187config MAC80211_PS_DEBUG
 188        bool "Verbose powersave mode debugging"
 189        depends on MAC80211_DEBUG_MENU
 190        help
 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
 199config MAC80211_MPL_DEBUG
 200        bool "Verbose mesh peer link debugging"
 201        depends on MAC80211_DEBUG_MENU
 202        depends on MAC80211_MESH
 203        help
 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.
 211
 212config MAC80211_MPATH_DEBUG
 213        bool "Verbose mesh path debugging"
 214        depends on MAC80211_DEBUG_MENU
 215        depends on MAC80211_MESH
 216        help
 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
 225config MAC80211_MHWMP_DEBUG
 226        bool "Verbose mesh HWMP routing debugging"
 227        depends on MAC80211_DEBUG_MENU
 228        depends on MAC80211_MESH
 229        help
 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
 238config MAC80211_MESH_SYNC_DEBUG
 239        bool "Verbose mesh synchronization debugging"
 240        depends on MAC80211_DEBUG_MENU
 241        depends on MAC80211_MESH
 242        help
 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.
 248
 249config MAC80211_MESH_CSA_DEBUG
 250        bool "Verbose mesh channel switch debugging"
 251        depends on MAC80211_DEBUG_MENU
 252        depends on MAC80211_MESH
 253        help
 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.
 259
 260config MAC80211_MESH_PS_DEBUG
 261        bool "Verbose mesh powersave debugging"
 262        depends on MAC80211_DEBUG_MENU
 263        depends on MAC80211_MESH
 264        help
 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
 271config MAC80211_TDLS_DEBUG
 272        bool "Verbose TDLS debugging"
 273        depends on MAC80211_DEBUG_MENU
 274        help
 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
 283config MAC80211_DEBUG_COUNTERS
 284        bool "Extra statistics for TX/RX debugging"
 285        depends on MAC80211_DEBUG_MENU
 286        depends on MAC80211_DEBUGFS
 287        help
 288          Selecting this option causes mac80211 to keep additional
 289          and very verbose statistics about TX and RX handler use
 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.
 295
 296          If unsure, say N.
 297
 298config MAC80211_STA_HASH_MAX_SIZE
 299        int "Station hash table maximum size" if MAC80211_DEBUG_MENU
 300        default 0
 301        help
 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.
 307