123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239 |
- =============================
- 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
|