317 lines
		
	
	
		
			8.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			317 lines
		
	
	
		
			8.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								# SPDX-License-Identifier: GPL-2.0-only
							 | 
						||
| 
								 | 
							
								config MAC80211
							 | 
						||
| 
								 | 
							
									tristate "Generic IEEE 802.11 Networking Stack (mac80211)"
							 | 
						||
| 
								 | 
							
									depends on CFG80211
							 | 
						||
| 
								 | 
							
									select CRYPTO
							 | 
						||
| 
								 | 
							
									select CRYPTO_LIB_ARC4
							 | 
						||
| 
								 | 
							
									select CRYPTO_AES
							 | 
						||
| 
								 | 
							
									select CRYPTO_CCM
							 | 
						||
| 
								 | 
							
									select CRYPTO_GCM
							 | 
						||
| 
								 | 
							
									select CRYPTO_CMAC
							 | 
						||
| 
								 | 
							
									select CRC32
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  This option enables the hardware independent IEEE 802.11
							 | 
						||
| 
								 | 
							
									  networking stack.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								comment "CFG80211 needs to be enabled for MAC80211"
							 | 
						||
| 
								 | 
							
									depends on CFG80211=n
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if MAC80211 != n
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_HAS_RC
							 | 
						||
| 
								 | 
							
									bool
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_RC_MINSTREL
							 | 
						||
| 
								 | 
							
									bool "Minstrel" if EXPERT
							 | 
						||
| 
								 | 
							
									select MAC80211_HAS_RC
							 | 
						||
| 
								 | 
							
									default y
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  This option enables the 'minstrel' TX rate control algorithm
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								choice
							 | 
						||
| 
								 | 
							
									prompt "Default rate control algorithm"
							 | 
						||
| 
								 | 
							
									depends on MAC80211_HAS_RC
							 | 
						||
| 
								 | 
							
									default MAC80211_RC_DEFAULT_MINSTREL
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  This option selects the default rate control algorithm
							 | 
						||
| 
								 | 
							
									  mac80211 will use. Note that this default can still be
							 | 
						||
| 
								 | 
							
									  overridden through the ieee80211_default_rc_algo module
							 | 
						||
| 
								 | 
							
									  parameter if different algorithms are available.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_RC_DEFAULT_MINSTREL
							 | 
						||
| 
								 | 
							
									bool "Minstrel"
							 | 
						||
| 
								 | 
							
									depends on MAC80211_RC_MINSTREL
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Select Minstrel as the default rate control algorithm.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								endchoice
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_RC_DEFAULT
							 | 
						||
| 
								 | 
							
									string
							 | 
						||
| 
								 | 
							
									default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL
							 | 
						||
| 
								 | 
							
									default ""
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								comment "Some wireless drivers require a rate control algorithm"
							 | 
						||
| 
								 | 
							
									depends on MAC80211 && MAC80211_HAS_RC=n
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_KUNIT_TEST
							 | 
						||
| 
								 | 
							
									tristate "KUnit tests for mac80211" if !KUNIT_ALL_TESTS
							 | 
						||
| 
								 | 
							
									depends on KUNIT
							 | 
						||
| 
								 | 
							
									depends on MAC80211
							 | 
						||
| 
								 | 
							
									default KUNIT_ALL_TESTS
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Enable this option to test mac80211 internals with kunit.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  If unsure, say N.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_MESH
							 | 
						||
| 
								 | 
							
									bool "Enable mac80211 mesh networking support"
							 | 
						||
| 
								 | 
							
									depends on MAC80211
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Select this option to enable 802.11 mesh operation in mac80211
							 | 
						||
| 
								 | 
							
									  drivers that support it.  802.11 mesh connects multiple stations
							 | 
						||
| 
								 | 
							
									  over (possibly multi-hop) wireless links to form a single logical
							 | 
						||
| 
								 | 
							
									  LAN.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_LEDS
							 | 
						||
| 
								 | 
							
									bool "Enable LED triggers"
							 | 
						||
| 
								 | 
							
									depends on MAC80211
							 | 
						||
| 
								 | 
							
									depends on LEDS_CLASS=y || LEDS_CLASS=MAC80211
							 | 
						||
| 
								 | 
							
									select LEDS_TRIGGERS
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  This option enables a few LED triggers for different
							 | 
						||
| 
								 | 
							
									  packet receive/transmit events.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_DEBUGFS
							 | 
						||
| 
								 | 
							
									bool "Export mac80211 internals in DebugFS"
							 | 
						||
| 
								 | 
							
									depends on MAC80211 && CFG80211_DEBUGFS
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Select this to see extensive information about
							 | 
						||
| 
								 | 
							
									  the internal state of mac80211 in debugfs.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  Say N unless you know you need this.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_MESSAGE_TRACING
							 | 
						||
| 
								 | 
							
									bool "Trace all mac80211 debug messages"
							 | 
						||
| 
								 | 
							
									depends on MAC80211
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Select this option to have mac80211 register the
							 | 
						||
| 
								 | 
							
									  mac80211_msg trace subsystem with tracepoints to
							 | 
						||
| 
								 | 
							
									  collect all debugging messages, independent of
							 | 
						||
| 
								 | 
							
									  printing them into the kernel log.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  The overhead in this option is that all the messages
							 | 
						||
| 
								 | 
							
									  need to be present in the binary and formatted at
							 | 
						||
| 
								 | 
							
									  runtime for tracing.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								menuconfig MAC80211_DEBUG_MENU
							 | 
						||
| 
								 | 
							
									bool "Select mac80211 debugging features"
							 | 
						||
| 
								 | 
							
									depends on MAC80211
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  This option collects various mac80211 debug settings.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_NOINLINE
							 | 
						||
| 
								 | 
							
									bool "Do not inline TX/RX handlers"
							 | 
						||
| 
								 | 
							
									depends on MAC80211_DEBUG_MENU
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  This option affects code generation in mac80211, when
							 | 
						||
| 
								 | 
							
									  selected some functions are marked "noinline" to allow
							 | 
						||
| 
								 | 
							
									  easier debugging of problems in the transmit and receive
							 | 
						||
| 
								 | 
							
									  paths.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  This option increases code size a bit and inserts a lot
							 | 
						||
| 
								 | 
							
									  of function calls in the code, but is otherwise safe to
							 | 
						||
| 
								 | 
							
									  enable.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  If unsure, say N unless you expect to be finding problems
							 | 
						||
| 
								 | 
							
									  in mac80211.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_VERBOSE_DEBUG
							 | 
						||
| 
								 | 
							
									bool "Verbose debugging output"
							 | 
						||
| 
								 | 
							
									depends on MAC80211_DEBUG_MENU
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Selecting this option causes mac80211 to print out
							 | 
						||
| 
								 | 
							
									  many debugging messages. It should not be selected
							 | 
						||
| 
								 | 
							
									  on production systems as some of the messages are
							 | 
						||
| 
								 | 
							
									  remotely triggerable.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  Do not select this option.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_MLME_DEBUG
							 | 
						||
| 
								 | 
							
									bool "Verbose managed MLME output"
							 | 
						||
| 
								 | 
							
									depends on MAC80211_DEBUG_MENU
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Selecting this option causes mac80211 to print out
							 | 
						||
| 
								 | 
							
									  debugging messages for the managed-mode MLME. It
							 | 
						||
| 
								 | 
							
									  should not be selected on production systems as some
							 | 
						||
| 
								 | 
							
									  of the messages are remotely triggerable.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  Do not select this option.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_STA_DEBUG
							 | 
						||
| 
								 | 
							
									bool "Verbose station debugging"
							 | 
						||
| 
								 | 
							
									depends on MAC80211_DEBUG_MENU
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Selecting this option causes mac80211 to print out
							 | 
						||
| 
								 | 
							
									  debugging messages for station addition/removal.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  Do not select this option.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_HT_DEBUG
							 | 
						||
| 
								 | 
							
									bool "Verbose HT debugging"
							 | 
						||
| 
								 | 
							
									depends on MAC80211_DEBUG_MENU
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  This option enables 802.11n High Throughput features
							 | 
						||
| 
								 | 
							
									  debug tracing output.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  It should not be selected on production systems as some
							 | 
						||
| 
								 | 
							
									  of the messages are remotely triggerable.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  Do not select this option.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_OCB_DEBUG
							 | 
						||
| 
								 | 
							
									bool "Verbose OCB debugging"
							 | 
						||
| 
								 | 
							
									depends on MAC80211_DEBUG_MENU
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Selecting this option causes mac80211 to print out
							 | 
						||
| 
								 | 
							
									  very verbose OCB debugging messages. It should not
							 | 
						||
| 
								 | 
							
									  be selected on production systems as those messages
							 | 
						||
| 
								 | 
							
									  are remotely triggerable.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  Do not select this option.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_IBSS_DEBUG
							 | 
						||
| 
								 | 
							
									bool "Verbose IBSS debugging"
							 | 
						||
| 
								 | 
							
									depends on MAC80211_DEBUG_MENU
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Selecting this option causes mac80211 to print out
							 | 
						||
| 
								 | 
							
									  very verbose IBSS debugging messages. It should not
							 | 
						||
| 
								 | 
							
									  be selected on production systems as those messages
							 | 
						||
| 
								 | 
							
									  are remotely triggerable.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  Do not select this option.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_PS_DEBUG
							 | 
						||
| 
								 | 
							
									bool "Verbose powersave mode debugging"
							 | 
						||
| 
								 | 
							
									depends on MAC80211_DEBUG_MENU
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Selecting this option causes mac80211 to print out very
							 | 
						||
| 
								 | 
							
									  verbose power save mode debugging messages (when mac80211
							 | 
						||
| 
								 | 
							
									  is an AP and has power saving stations.)
							 | 
						||
| 
								 | 
							
									  It should not be selected on production systems as those
							 | 
						||
| 
								 | 
							
									  messages are remotely triggerable.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  Do not select this option.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_MPL_DEBUG
							 | 
						||
| 
								 | 
							
									bool "Verbose mesh peer link debugging"
							 | 
						||
| 
								 | 
							
									depends on MAC80211_DEBUG_MENU
							 | 
						||
| 
								 | 
							
									depends on MAC80211_MESH
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Selecting this option causes mac80211 to print out very
							 | 
						||
| 
								 | 
							
									  verbose mesh peer link debugging messages (when mac80211
							 | 
						||
| 
								 | 
							
									  is taking part in a mesh network).
							 | 
						||
| 
								 | 
							
									  It should not be selected on production systems as those
							 | 
						||
| 
								 | 
							
									  messages are remotely triggerable.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  Do not select this option.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_MPATH_DEBUG
							 | 
						||
| 
								 | 
							
									bool "Verbose mesh path debugging"
							 | 
						||
| 
								 | 
							
									depends on MAC80211_DEBUG_MENU
							 | 
						||
| 
								 | 
							
									depends on MAC80211_MESH
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Selecting this option causes mac80211 to print out very
							 | 
						||
| 
								 | 
							
									  verbose mesh path selection debugging messages (when mac80211
							 | 
						||
| 
								 | 
							
									  is taking part in a mesh network).
							 | 
						||
| 
								 | 
							
									  It should not be selected on production systems as those
							 | 
						||
| 
								 | 
							
									  messages are remotely triggerable.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  Do not select this option.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_MHWMP_DEBUG
							 | 
						||
| 
								 | 
							
									bool "Verbose mesh HWMP routing debugging"
							 | 
						||
| 
								 | 
							
									depends on MAC80211_DEBUG_MENU
							 | 
						||
| 
								 | 
							
									depends on MAC80211_MESH
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Selecting this option causes mac80211 to print out very
							 | 
						||
| 
								 | 
							
									  verbose mesh routing (HWMP) debugging messages (when mac80211
							 | 
						||
| 
								 | 
							
									  is taking part in a mesh network).
							 | 
						||
| 
								 | 
							
									  It should not be selected on production systems as those
							 | 
						||
| 
								 | 
							
									  messages are remotely triggerable.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  Do not select this option.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_MESH_SYNC_DEBUG
							 | 
						||
| 
								 | 
							
									bool "Verbose mesh synchronization debugging"
							 | 
						||
| 
								 | 
							
									depends on MAC80211_DEBUG_MENU
							 | 
						||
| 
								 | 
							
									depends on MAC80211_MESH
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Selecting this option causes mac80211 to print out very verbose mesh
							 | 
						||
| 
								 | 
							
									  synchronization debugging messages (when mac80211 is taking part in a
							 | 
						||
| 
								 | 
							
									  mesh network).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  Do not select this option.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_MESH_CSA_DEBUG
							 | 
						||
| 
								 | 
							
									bool "Verbose mesh channel switch debugging"
							 | 
						||
| 
								 | 
							
									depends on MAC80211_DEBUG_MENU
							 | 
						||
| 
								 | 
							
									depends on MAC80211_MESH
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Selecting this option causes mac80211 to print out very verbose mesh
							 | 
						||
| 
								 | 
							
									  channel switch debugging messages (when mac80211 is taking part in a
							 | 
						||
| 
								 | 
							
									  mesh network).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  Do not select this option.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_MESH_PS_DEBUG
							 | 
						||
| 
								 | 
							
									bool "Verbose mesh powersave debugging"
							 | 
						||
| 
								 | 
							
									depends on MAC80211_DEBUG_MENU
							 | 
						||
| 
								 | 
							
									depends on MAC80211_MESH
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Selecting this option causes mac80211 to print out very verbose mesh
							 | 
						||
| 
								 | 
							
									  powersave debugging messages (when mac80211 is taking part in a
							 | 
						||
| 
								 | 
							
									  mesh network).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  Do not select this option.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_TDLS_DEBUG
							 | 
						||
| 
								 | 
							
									bool "Verbose TDLS debugging"
							 | 
						||
| 
								 | 
							
									depends on MAC80211_DEBUG_MENU
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Selecting this option causes mac80211 to print out very
							 | 
						||
| 
								 | 
							
									  verbose TDLS selection debugging messages (when mac80211
							 | 
						||
| 
								 | 
							
									  is a TDLS STA).
							 | 
						||
| 
								 | 
							
									  It should not be selected on production systems as those
							 | 
						||
| 
								 | 
							
									  messages are remotely triggerable.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  Do not select this option.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_DEBUG_COUNTERS
							 | 
						||
| 
								 | 
							
									bool "Extra statistics for TX/RX debugging"
							 | 
						||
| 
								 | 
							
									depends on MAC80211_DEBUG_MENU
							 | 
						||
| 
								 | 
							
									depends on MAC80211_DEBUGFS
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Selecting this option causes mac80211 to keep additional
							 | 
						||
| 
								 | 
							
									  and very verbose statistics about TX and RX handler use
							 | 
						||
| 
								 | 
							
									  as well as a few selected dot11 counters. These will be
							 | 
						||
| 
								 | 
							
									  exposed in debugfs.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  Note that some of the counters are not concurrency safe
							 | 
						||
| 
								 | 
							
									  and may thus not always be accurate.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  If unsure, say N.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								config MAC80211_STA_HASH_MAX_SIZE
							 | 
						||
| 
								 | 
							
									int "Station hash table maximum size" if MAC80211_DEBUG_MENU
							 | 
						||
| 
								 | 
							
									default 0
							 | 
						||
| 
								 | 
							
									help
							 | 
						||
| 
								 | 
							
									  Setting this option to a low value (e.g. 4) allows testing the
							 | 
						||
| 
								 | 
							
									  hash table with collisions relatively deterministically (just
							 | 
						||
| 
								 | 
							
									  connect more stations than the number selected here.)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									  If unsure, leave the default of 0.
							 |