struct tid_ampdu_rx — TID aggregation information (Rx).
struct tid_ampdu_rx { struct rcu_head rcu_head; spinlock_t reorder_lock; struct sk_buff_head * reorder_buf; unsigned long * reorder_time; struct timer_list session_timer; struct timer_list reorder_timer; unsigned long last_rx; u16 head_seq_num; u16 stored_mpdu_num; u16 ssn; u16 buf_size; u16 timeout; u8 dialog_token; bool auto_seq; bool removed; };
RCU head used for freeing this struct
serializes access to reorder buffer, see below.
buffer to reorder incoming aggregated MPDUs. An MPDU may be an A-MSDU with individually reported subframes.
jiffies when skb was added
check if peer keeps Tx-ing on the TID (by timeout value)
releases expired frames from the reorder buffer.
jiffies of last rx activity
head sequence number in reordering buffer.
number of MPDUs in reordering buffer
Starting Sequence Number expected to be aggregated.
buffer size for incoming A-MPDUs
reset timer value (in TUs).
dialog token for aggregation session
used for offloaded BA sessions to automatically pick head_seq_and and ssn.
this session is removed (but might have been found due to RCU)
This structure's lifetime is managed by RCU, assignments to the array holding it must hold the aggregation mutex.
The reorder_lock
is used to protect the members of this
struct, except for timeout
, buf_size
and dialog_token
,
which are constant across the lifetime of the struct (the
dialog token being used only for debugging).