0001 =============================
0002 mac80211 subsystem (advanced)
0003 =============================
0004
0005 Information contained within this part of the book is of interest only
0006 for advanced interaction of mac80211 with drivers to exploit more
0007 hardware capabilities and improve performance.
0008
0009 LED support
0010 ===========
0011
0012 Mac80211 supports various ways of blinking LEDs. Wherever possible,
0013 device LEDs should be exposed as LED class devices and hooked up to the
0014 appropriate trigger, which will then be triggered appropriately by
0015 mac80211.
0016
0017 .. kernel-doc:: include/net/mac80211.h
0018 :functions:
0019 ieee80211_get_tx_led_name
0020 ieee80211_get_rx_led_name
0021 ieee80211_get_assoc_led_name
0022 ieee80211_get_radio_led_name
0023 ieee80211_tpt_blink
0024 ieee80211_tpt_led_trigger_flags
0025 ieee80211_create_tpt_led_trigger
0026
0027 Hardware crypto acceleration
0028 ============================
0029
0030 .. kernel-doc:: include/net/mac80211.h
0031 :doc: Hardware crypto acceleration
0032
0033 .. kernel-doc:: include/net/mac80211.h
0034 :functions:
0035 set_key_cmd
0036 ieee80211_key_conf
0037 ieee80211_key_flags
0038 ieee80211_get_tkip_p1k
0039 ieee80211_get_tkip_p1k_iv
0040 ieee80211_get_tkip_p2k
0041
0042 Powersave support
0043 =================
0044
0045 .. kernel-doc:: include/net/mac80211.h
0046 :doc: Powersave support
0047
0048 Beacon filter support
0049 =====================
0050
0051 .. kernel-doc:: include/net/mac80211.h
0052 :doc: Beacon filter support
0053
0054 .. kernel-doc:: include/net/mac80211.h
0055 :functions: ieee80211_beacon_loss
0056
0057 Multiple queues and QoS support
0058 ===============================
0059
0060 TBD
0061
0062 .. kernel-doc:: include/net/mac80211.h
0063 :functions: ieee80211_tx_queue_params
0064
0065 Access point mode support
0066 =========================
0067
0068 TBD
0069
0070 Some parts of the if_conf should be discussed here instead
0071
0072 Insert notes about VLAN interfaces with hw crypto here or in the hw
0073 crypto chapter.
0074
0075 support for powersaving clients
0076 -------------------------------
0077
0078 .. kernel-doc:: include/net/mac80211.h
0079 :doc: AP support for powersaving clients
0080
0081 .. kernel-doc:: include/net/mac80211.h
0082 :functions:
0083 ieee80211_get_buffered_bc
0084 ieee80211_beacon_get
0085 ieee80211_sta_eosp
0086 ieee80211_frame_release_type
0087 ieee80211_sta_ps_transition
0088 ieee80211_sta_ps_transition_ni
0089 ieee80211_sta_set_buffered
0090 ieee80211_sta_block_awake
0091
0092 Supporting multiple virtual interfaces
0093 ======================================
0094
0095 TBD
0096
0097 Note: WDS with identical MAC address should almost always be OK
0098
0099 Insert notes about having multiple virtual interfaces with different MAC
0100 addresses here, note which configurations are supported by mac80211, add
0101 notes about supporting hw crypto with it.
0102
0103 .. kernel-doc:: include/net/mac80211.h
0104 :functions:
0105 ieee80211_iterate_active_interfaces
0106 ieee80211_iterate_active_interfaces_atomic
0107
0108 Station handling
0109 ================
0110
0111 TODO
0112
0113 .. kernel-doc:: include/net/mac80211.h
0114 :functions:
0115 ieee80211_sta
0116 sta_notify_cmd
0117 ieee80211_find_sta
0118 ieee80211_find_sta_by_ifaddr
0119
0120 Hardware scan offload
0121 =====================
0122
0123 TBD
0124
0125 .. kernel-doc:: include/net/mac80211.h
0126 :functions: ieee80211_scan_completed
0127
0128 Aggregation
0129 ===========
0130
0131 TX A-MPDU aggregation
0132 ---------------------
0133
0134 .. kernel-doc:: net/mac80211/agg-tx.c
0135 :doc: TX A-MPDU aggregation
0136
0137 .. WARNING: DOCPROC directive not supported: !Cnet/mac80211/agg-tx.c
0138
0139 RX A-MPDU aggregation
0140 ---------------------
0141
0142 .. kernel-doc:: net/mac80211/agg-rx.c
0143 :doc: RX A-MPDU aggregation
0144
0145 .. WARNING: DOCPROC directive not supported: !Cnet/mac80211/agg-rx.c
0146
0147 .. kernel-doc:: include/net/mac80211.h
0148 :functions: ieee80211_ampdu_mlme_action
0149
0150 Spatial Multiplexing Powersave (SMPS)
0151 =====================================
0152
0153 .. kernel-doc:: include/net/mac80211.h
0154 :doc: Spatial multiplexing power save
0155
0156 .. kernel-doc:: include/net/mac80211.h
0157 :functions:
0158 ieee80211_request_smps
0159 ieee80211_smps_mode
0160
0161 TBD
0162
0163 This part of the book describes the rate control algorithm interface and
0164 how it relates to mac80211 and drivers.
0165
0166 Rate Control API
0167 ================
0168
0169 TBD
0170
0171 .. kernel-doc:: include/net/mac80211.h
0172 :functions:
0173 ieee80211_start_tx_ba_session
0174 ieee80211_start_tx_ba_cb_irqsafe
0175 ieee80211_stop_tx_ba_session
0176 ieee80211_stop_tx_ba_cb_irqsafe
0177 ieee80211_rate_control_changed
0178 ieee80211_tx_rate_control
0179
0180 TBD
0181
0182 This part of the book describes mac80211 internals.
0183
0184 Key handling
0185 ============
0186
0187 Key handling basics
0188 -------------------
0189
0190 .. kernel-doc:: net/mac80211/key.c
0191 :doc: Key handling basics
0192
0193 MORE TBD
0194 --------
0195
0196 TBD
0197
0198 Receive processing
0199 ==================
0200
0201 TBD
0202
0203 Transmit processing
0204 ===================
0205
0206 TBD
0207
0208 Station info handling
0209 =====================
0210
0211 Programming information
0212 -----------------------
0213
0214 .. kernel-doc:: net/mac80211/sta_info.h
0215 :functions:
0216 sta_info
0217 ieee80211_sta_info_flags
0218
0219 STA information lifetime rules
0220 ------------------------------
0221
0222 .. kernel-doc:: net/mac80211/sta_info.c
0223 :doc: STA information lifetime rules
0224
0225 Aggregation Functions
0226 =====================
0227
0228 .. kernel-doc:: net/mac80211/sta_info.h
0229 :functions:
0230 sta_ampdu_mlme
0231 tid_ampdu_tx
0232 tid_ampdu_rx
0233
0234 Synchronisation Functions
0235 =========================
0236
0237 TBD
0238
0239 Locking, lots of RCU