struct tid_ampdu_tx — TID aggregation information (Tx).
struct tid_ampdu_tx { struct rcu_head rcu_head; struct timer_list session_timer; struct timer_list addba_resp_timer; struct sk_buff_head pending; struct sta_info * sta; unsigned long state; unsigned long last_tx; u16 timeout; u8 dialog_token; u8 stop_initiator; bool tx_stop; u16 buf_size; u16 failed_bar_ssn; bool bar_pending; bool amsdu; u8 tid; };
rcu head for freeing structure
check if we keep Tx-ing on the TID (by timeout value)
timer for peer's response to addba request
pending frames queue -- use sta's spinlock to protect
station we are attached to
session state (see above)
jiffies of last tx activity
session timeout value to be filled in ADDBA requests
dialog token for aggregation session
initiator of a session stop
TX DelBA frame when stopping
reorder buffer size at receiver
ssn of the last failed BAR tx attempt
BAR needs to be re-sent
support A-MSDU withing A-MDPU
TID number
This structure's lifetime is managed by RCU, assignments to the array holding it must hold the aggregation mutex.
The TX path can access it under RCU lock-free if, and
only if, the state has the flag HT_AGG_STATE_OPERATIONAL
set. Otherwise, the TX path must also acquire the spinlock
and re-check the state, see comments in the tx code
touching it.