Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 config MAC80211
0003         tristate "Generic IEEE 802.11 Networking Stack (mac80211)"
0004         depends on CFG80211
0005         select CRYPTO
0006         select CRYPTO_LIB_ARC4
0007         select CRYPTO_AES
0008         select CRYPTO_CCM
0009         select CRYPTO_GCM
0010         select CRYPTO_CMAC
0011         select CRC32
0012         help
0013           This option enables the hardware independent IEEE 802.11
0014           networking stack.
0015 
0016 comment "CFG80211 needs to be enabled for MAC80211"
0017         depends on CFG80211=n
0018 
0019 if MAC80211 != n
0020 
0021 config MAC80211_HAS_RC
0022         bool
0023 
0024 config MAC80211_RC_MINSTREL
0025         bool "Minstrel" if EXPERT
0026         select MAC80211_HAS_RC
0027         default y
0028         help
0029           This option enables the 'minstrel' TX rate control algorithm
0030 
0031 choice
0032         prompt "Default rate control algorithm"
0033         depends on MAC80211_HAS_RC
0034         default MAC80211_RC_DEFAULT_MINSTREL
0035         help
0036           This option selects the default rate control algorithm
0037           mac80211 will use. Note that this default can still be
0038           overridden through the ieee80211_default_rc_algo module
0039           parameter if different algorithms are available.
0040 
0041 config MAC80211_RC_DEFAULT_MINSTREL
0042         bool "Minstrel"
0043         depends on MAC80211_RC_MINSTREL
0044         help
0045           Select Minstrel as the default rate control algorithm.
0046 
0047 
0048 endchoice
0049 
0050 config MAC80211_RC_DEFAULT
0051         string
0052         default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL
0053         default ""
0054 
0055 endif
0056 
0057 comment "Some wireless drivers require a rate control algorithm"
0058         depends on MAC80211 && MAC80211_HAS_RC=n
0059 
0060 config MAC80211_MESH
0061         bool "Enable mac80211 mesh networking support"
0062         depends on MAC80211
0063         help
0064           Select this option to enable 802.11 mesh operation in mac80211
0065           drivers that support it.  802.11 mesh connects multiple stations
0066           over (possibly multi-hop) wireless links to form a single logical
0067           LAN.
0068 
0069 config MAC80211_LEDS
0070         bool "Enable LED triggers"
0071         depends on MAC80211
0072         depends on LEDS_CLASS=y || LEDS_CLASS=MAC80211
0073         select LEDS_TRIGGERS
0074         help
0075           This option enables a few LED triggers for different
0076           packet receive/transmit events.
0077 
0078 config MAC80211_DEBUGFS
0079         bool "Export mac80211 internals in DebugFS"
0080         depends on MAC80211 && DEBUG_FS
0081         help
0082           Select this to see extensive information about
0083           the internal state of mac80211 in debugfs.
0084 
0085           Say N unless you know you need this.
0086 
0087 config MAC80211_MESSAGE_TRACING
0088         bool "Trace all mac80211 debug messages"
0089         depends on MAC80211
0090         help
0091           Select this option to have mac80211 register the
0092           mac80211_msg trace subsystem with tracepoints to
0093           collect all debugging messages, independent of
0094           printing them into the kernel log.
0095 
0096           The overhead in this option is that all the messages
0097           need to be present in the binary and formatted at
0098           runtime for tracing.
0099 
0100 menuconfig MAC80211_DEBUG_MENU
0101         bool "Select mac80211 debugging features"
0102         depends on MAC80211
0103         help
0104           This option collects various mac80211 debug settings.
0105 
0106 config MAC80211_NOINLINE
0107         bool "Do not inline TX/RX handlers"
0108         depends on MAC80211_DEBUG_MENU
0109         help
0110           This option affects code generation in mac80211, when
0111           selected some functions are marked "noinline" to allow
0112           easier debugging of problems in the transmit and receive
0113           paths.
0114 
0115           This option increases code size a bit and inserts a lot
0116           of function calls in the code, but is otherwise safe to
0117           enable.
0118 
0119           If unsure, say N unless you expect to be finding problems
0120           in mac80211.
0121 
0122 config MAC80211_VERBOSE_DEBUG
0123         bool "Verbose debugging output"
0124         depends on MAC80211_DEBUG_MENU
0125         help
0126           Selecting this option causes mac80211 to print out
0127           many debugging messages. It should not be selected
0128           on production systems as some of the messages are
0129           remotely triggerable.
0130 
0131           Do not select this option.
0132 
0133 config MAC80211_MLME_DEBUG
0134         bool "Verbose managed MLME output"
0135         depends on MAC80211_DEBUG_MENU
0136         help
0137           Selecting this option causes mac80211 to print out
0138           debugging messages for the managed-mode MLME. It
0139           should not be selected on production systems as some
0140           of the messages are remotely triggerable.
0141 
0142           Do not select this option.
0143 
0144 config MAC80211_STA_DEBUG
0145         bool "Verbose station debugging"
0146         depends on MAC80211_DEBUG_MENU
0147         help
0148           Selecting this option causes mac80211 to print out
0149           debugging messages for station addition/removal.
0150 
0151           Do not select this option.
0152 
0153 config MAC80211_HT_DEBUG
0154         bool "Verbose HT debugging"
0155         depends on MAC80211_DEBUG_MENU
0156         help
0157           This option enables 802.11n High Throughput features
0158           debug tracing output.
0159 
0160           It should not be selected on production systems as some
0161           of the messages are remotely triggerable.
0162 
0163           Do not select this option.
0164 
0165 config MAC80211_OCB_DEBUG
0166         bool "Verbose OCB debugging"
0167         depends on MAC80211_DEBUG_MENU
0168         help
0169           Selecting this option causes mac80211 to print out
0170           very verbose OCB debugging messages. It should not
0171           be selected on production systems as those messages
0172           are remotely triggerable.
0173 
0174           Do not select this option.
0175 
0176 config MAC80211_IBSS_DEBUG
0177         bool "Verbose IBSS debugging"
0178         depends on MAC80211_DEBUG_MENU
0179         help
0180           Selecting this option causes mac80211 to print out
0181           very verbose IBSS debugging messages. It should not
0182           be selected on production systems as those messages
0183           are remotely triggerable.
0184 
0185           Do not select this option.
0186 
0187 config MAC80211_PS_DEBUG
0188         bool "Verbose powersave mode debugging"
0189         depends on MAC80211_DEBUG_MENU
0190         help
0191           Selecting this option causes mac80211 to print out very
0192           verbose power save mode debugging messages (when mac80211
0193           is an AP and has power saving stations.)
0194           It should not be selected on production systems as those
0195           messages are remotely triggerable.
0196 
0197           Do not select this option.
0198 
0199 config MAC80211_MPL_DEBUG
0200         bool "Verbose mesh peer link debugging"
0201         depends on MAC80211_DEBUG_MENU
0202         depends on MAC80211_MESH
0203         help
0204           Selecting this option causes mac80211 to print out very
0205           verbose mesh peer link debugging messages (when mac80211
0206           is taking part in a mesh network).
0207           It should not be selected on production systems as those
0208           messages are remotely triggerable.
0209 
0210           Do not select this option.
0211 
0212 config MAC80211_MPATH_DEBUG
0213         bool "Verbose mesh path debugging"
0214         depends on MAC80211_DEBUG_MENU
0215         depends on MAC80211_MESH
0216         help
0217           Selecting this option causes mac80211 to print out very
0218           verbose mesh path selection debugging messages (when mac80211
0219           is taking part in a mesh network).
0220           It should not be selected on production systems as those
0221           messages are remotely triggerable.
0222 
0223           Do not select this option.
0224 
0225 config MAC80211_MHWMP_DEBUG
0226         bool "Verbose mesh HWMP routing debugging"
0227         depends on MAC80211_DEBUG_MENU
0228         depends on MAC80211_MESH
0229         help
0230           Selecting this option causes mac80211 to print out very
0231           verbose mesh routing (HWMP) debugging messages (when mac80211
0232           is taking part in a mesh network).
0233           It should not be selected on production systems as those
0234           messages are remotely triggerable.
0235 
0236           Do not select this option.
0237 
0238 config MAC80211_MESH_SYNC_DEBUG
0239         bool "Verbose mesh synchronization debugging"
0240         depends on MAC80211_DEBUG_MENU
0241         depends on MAC80211_MESH
0242         help
0243           Selecting this option causes mac80211 to print out very verbose mesh
0244           synchronization debugging messages (when mac80211 is taking part in a
0245           mesh network).
0246 
0247           Do not select this option.
0248 
0249 config MAC80211_MESH_CSA_DEBUG
0250         bool "Verbose mesh channel switch debugging"
0251         depends on MAC80211_DEBUG_MENU
0252         depends on MAC80211_MESH
0253         help
0254           Selecting this option causes mac80211 to print out very verbose mesh
0255           channel switch debugging messages (when mac80211 is taking part in a
0256           mesh network).
0257 
0258           Do not select this option.
0259 
0260 config MAC80211_MESH_PS_DEBUG
0261         bool "Verbose mesh powersave debugging"
0262         depends on MAC80211_DEBUG_MENU
0263         depends on MAC80211_MESH
0264         help
0265           Selecting this option causes mac80211 to print out very verbose mesh
0266           powersave debugging messages (when mac80211 is taking part in a
0267           mesh network).
0268 
0269           Do not select this option.
0270 
0271 config MAC80211_TDLS_DEBUG
0272         bool "Verbose TDLS debugging"
0273         depends on MAC80211_DEBUG_MENU
0274         help
0275           Selecting this option causes mac80211 to print out very
0276           verbose TDLS selection debugging messages (when mac80211
0277           is a TDLS STA).
0278           It should not be selected on production systems as those
0279           messages are remotely triggerable.
0280 
0281           Do not select this option.
0282 
0283 config MAC80211_DEBUG_COUNTERS
0284         bool "Extra statistics for TX/RX debugging"
0285         depends on MAC80211_DEBUG_MENU
0286         depends on MAC80211_DEBUGFS
0287         help
0288           Selecting this option causes mac80211 to keep additional
0289           and very verbose statistics about TX and RX handler use
0290           as well as a few selected dot11 counters. These will be
0291           exposed in debugfs.
0292 
0293           Note that some of the counters are not concurrency safe
0294           and may thus not always be accurate.
0295 
0296           If unsure, say N.
0297 
0298 config MAC80211_STA_HASH_MAX_SIZE
0299         int "Station hash table maximum size" if MAC80211_DEBUG_MENU
0300         default 0
0301         help
0302           Setting this option to a low value (e.g. 4) allows testing the
0303           hash table with collisions relatively deterministically (just
0304           connect more stations than the number selected here.)
0305 
0306           If unsure, leave the default of 0.