240 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			240 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| =============================
 | |
| mac80211 subsystem (advanced)
 | |
| =============================
 | |
| 
 | |
| Information contained within this part of the book is of interest only
 | |
| for advanced interaction of mac80211 with drivers to exploit more
 | |
| hardware capabilities and improve performance.
 | |
| 
 | |
| LED support
 | |
| ===========
 | |
| 
 | |
| Mac80211 supports various ways of blinking LEDs. Wherever possible,
 | |
| device LEDs should be exposed as LED class devices and hooked up to the
 | |
| appropriate trigger, which will then be triggered appropriately by
 | |
| mac80211.
 | |
| 
 | |
| .. kernel-doc:: include/net/mac80211.h
 | |
|    :functions:
 | |
| 	ieee80211_get_tx_led_name
 | |
| 	ieee80211_get_rx_led_name
 | |
| 	ieee80211_get_assoc_led_name
 | |
| 	ieee80211_get_radio_led_name
 | |
| 	ieee80211_tpt_blink
 | |
| 	ieee80211_tpt_led_trigger_flags
 | |
| 	ieee80211_create_tpt_led_trigger
 | |
| 
 | |
| Hardware crypto acceleration
 | |
| ============================
 | |
| 
 | |
| .. kernel-doc:: include/net/mac80211.h
 | |
|    :doc: Hardware crypto acceleration
 | |
| 
 | |
| .. kernel-doc:: include/net/mac80211.h
 | |
|    :functions:
 | |
| 	set_key_cmd
 | |
| 	ieee80211_key_conf
 | |
| 	ieee80211_key_flags
 | |
| 	ieee80211_get_tkip_p1k
 | |
| 	ieee80211_get_tkip_p1k_iv
 | |
| 	ieee80211_get_tkip_p2k
 | |
| 
 | |
| Powersave support
 | |
| =================
 | |
| 
 | |
| .. kernel-doc:: include/net/mac80211.h
 | |
|    :doc: Powersave support
 | |
| 
 | |
| Beacon filter support
 | |
| =====================
 | |
| 
 | |
| .. kernel-doc:: include/net/mac80211.h
 | |
|    :doc: Beacon filter support
 | |
| 
 | |
| .. kernel-doc:: include/net/mac80211.h
 | |
|    :functions: ieee80211_beacon_loss
 | |
| 
 | |
| Multiple queues and QoS support
 | |
| ===============================
 | |
| 
 | |
| TBD
 | |
| 
 | |
| .. kernel-doc:: include/net/mac80211.h
 | |
|    :functions: ieee80211_tx_queue_params
 | |
| 
 | |
| Access point mode support
 | |
| =========================
 | |
| 
 | |
| TBD
 | |
| 
 | |
| Some parts of the if_conf should be discussed here instead
 | |
| 
 | |
| Insert notes about VLAN interfaces with hw crypto here or in the hw
 | |
| crypto chapter.
 | |
| 
 | |
| support for powersaving clients
 | |
| -------------------------------
 | |
| 
 | |
| .. kernel-doc:: include/net/mac80211.h
 | |
|    :doc: AP support for powersaving clients
 | |
| 
 | |
| .. kernel-doc:: include/net/mac80211.h
 | |
|    :functions:
 | |
| 	ieee80211_get_buffered_bc
 | |
| 	ieee80211_beacon_get
 | |
| 	ieee80211_sta_eosp
 | |
| 	ieee80211_frame_release_type
 | |
| 	ieee80211_sta_ps_transition
 | |
| 	ieee80211_sta_ps_transition_ni
 | |
| 	ieee80211_sta_set_buffered
 | |
| 	ieee80211_sta_block_awake
 | |
| 
 | |
| Supporting multiple virtual interfaces
 | |
| ======================================
 | |
| 
 | |
| TBD
 | |
| 
 | |
| Note: WDS with identical MAC address should almost always be OK
 | |
| 
 | |
| Insert notes about having multiple virtual interfaces with different MAC
 | |
| addresses here, note which configurations are supported by mac80211, add
 | |
| notes about supporting hw crypto with it.
 | |
| 
 | |
| .. kernel-doc:: include/net/mac80211.h
 | |
|    :functions:
 | |
| 	ieee80211_iterate_active_interfaces
 | |
| 	ieee80211_iterate_active_interfaces_atomic
 | |
| 
 | |
| Station handling
 | |
| ================
 | |
| 
 | |
| TODO
 | |
| 
 | |
| .. kernel-doc:: include/net/mac80211.h
 | |
|    :functions:
 | |
| 	ieee80211_sta
 | |
| 	sta_notify_cmd
 | |
| 	ieee80211_find_sta
 | |
| 	ieee80211_find_sta_by_ifaddr
 | |
| 
 | |
| Hardware scan offload
 | |
| =====================
 | |
| 
 | |
| TBD
 | |
| 
 | |
| .. kernel-doc:: include/net/mac80211.h
 | |
|    :functions: ieee80211_scan_completed
 | |
| 
 | |
| Aggregation
 | |
| ===========
 | |
| 
 | |
| TX A-MPDU aggregation
 | |
| ---------------------
 | |
| 
 | |
| .. kernel-doc:: net/mac80211/agg-tx.c
 | |
|    :doc: TX A-MPDU aggregation
 | |
| 
 | |
| .. WARNING: DOCPROC directive not supported: !Cnet/mac80211/agg-tx.c
 | |
| 
 | |
| RX A-MPDU aggregation
 | |
| ---------------------
 | |
| 
 | |
| .. kernel-doc:: net/mac80211/agg-rx.c
 | |
|    :doc: RX A-MPDU aggregation
 | |
| 
 | |
| .. WARNING: DOCPROC directive not supported: !Cnet/mac80211/agg-rx.c
 | |
| 
 | |
| .. kernel-doc:: include/net/mac80211.h
 | |
|    :functions: ieee80211_ampdu_mlme_action
 | |
| 
 | |
| Spatial Multiplexing Powersave (SMPS)
 | |
| =====================================
 | |
| 
 | |
| .. kernel-doc:: include/net/mac80211.h
 | |
|    :doc: Spatial multiplexing power save
 | |
| 
 | |
| .. kernel-doc:: include/net/mac80211.h
 | |
|    :functions:
 | |
| 	ieee80211_request_smps
 | |
| 	ieee80211_smps_mode
 | |
| 
 | |
| TBD
 | |
| 
 | |
| This part of the book describes the rate control algorithm interface and
 | |
| how it relates to mac80211 and drivers.
 | |
| 
 | |
| Rate Control API
 | |
| ================
 | |
| 
 | |
| TBD
 | |
| 
 | |
| .. kernel-doc:: include/net/mac80211.h
 | |
|    :functions:
 | |
| 	ieee80211_start_tx_ba_session
 | |
| 	ieee80211_start_tx_ba_cb_irqsafe
 | |
| 	ieee80211_stop_tx_ba_session
 | |
| 	ieee80211_stop_tx_ba_cb_irqsafe
 | |
| 	ieee80211_rate_control_changed
 | |
| 	ieee80211_tx_rate_control
 | |
| 
 | |
| TBD
 | |
| 
 | |
| This part of the book describes mac80211 internals.
 | |
| 
 | |
| Key handling
 | |
| ============
 | |
| 
 | |
| Key handling basics
 | |
| -------------------
 | |
| 
 | |
| .. kernel-doc:: net/mac80211/key.c
 | |
|    :doc: Key handling basics
 | |
| 
 | |
| MORE TBD
 | |
| --------
 | |
| 
 | |
| TBD
 | |
| 
 | |
| Receive processing
 | |
| ==================
 | |
| 
 | |
| TBD
 | |
| 
 | |
| Transmit processing
 | |
| ===================
 | |
| 
 | |
| TBD
 | |
| 
 | |
| Station info handling
 | |
| =====================
 | |
| 
 | |
| Programming information
 | |
| -----------------------
 | |
| 
 | |
| .. kernel-doc:: net/mac80211/sta_info.h
 | |
|    :functions:
 | |
| 	sta_info
 | |
| 	ieee80211_sta_info_flags
 | |
| 
 | |
| STA information lifetime rules
 | |
| ------------------------------
 | |
| 
 | |
| .. kernel-doc:: net/mac80211/sta_info.c
 | |
|    :doc: STA information lifetime rules
 | |
| 
 | |
| Aggregation Functions
 | |
| =====================
 | |
| 
 | |
| .. kernel-doc:: net/mac80211/sta_info.h
 | |
|    :functions:
 | |
| 	sta_ampdu_mlme
 | |
| 	tid_ampdu_tx
 | |
| 	tid_ampdu_rx
 | |
| 
 | |
| Synchronisation Functions
 | |
| =========================
 | |
| 
 | |
| TBD
 | |
| 
 | |
| Locking, lots of RCU
 |