| ============================= | |
| 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 | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: ieee80211_get_rx_led_name | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: ieee80211_get_assoc_led_name | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: ieee80211_get_radio_led_name | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: ieee80211_tpt_blink | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: ieee80211_tpt_led_trigger_flags | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: 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 | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: ieee80211_key_conf | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: ieee80211_key_flags | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: ieee80211_get_tkip_p1k | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: ieee80211_get_tkip_p1k_iv | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: 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 | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: ieee80211_beacon_get | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: ieee80211_sta_eosp | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: ieee80211_frame_release_type | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: ieee80211_sta_ps_transition | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: ieee80211_sta_ps_transition_ni | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: ieee80211_sta_set_buffered | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: 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 | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: ieee80211_iterate_active_interfaces_atomic | |
| Station handling | |
| ================ | |
| TODO | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: ieee80211_sta | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: sta_notify_cmd | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: ieee80211_find_sta | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: 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 | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: 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 | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: ieee80211_start_tx_ba_cb_irqsafe | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: ieee80211_stop_tx_ba_session | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: ieee80211_stop_tx_ba_cb_irqsafe | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: ieee80211_rate_control_changed | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: ieee80211_tx_rate_control | |
| .. kernel-doc:: include/net/mac80211.h | |
| :functions: rate_control_send_low | |
| 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 | |
| .. kernel-doc:: net/mac80211/sta_info.h | |
| :functions: ieee80211_sta_info_flags | |
| STA information lifetime rules | |
| ------------------------------ | |
| .. kernel-doc:: net/mac80211/sta_info.c | |
| :doc: STA information lifetime rules | |
| Aggregation | |
| =========== | |
| .. kernel-doc:: net/mac80211/sta_info.h | |
| :functions: sta_ampdu_mlme | |
| .. kernel-doc:: net/mac80211/sta_info.h | |
| :functions: tid_ampdu_tx | |
| .. kernel-doc:: net/mac80211/sta_info.h | |
| :functions: tid_ampdu_rx | |
| Synchronisation | |
| =============== | |
| TBD | |
| Locking, lots of RCU |