STRUCT TID_AMPDU_RX(9) | Internals | STRUCT TID_AMPDU_RX(9) |
NAME¶
struct_tid_ampdu_rx - TID aggregation information (Rx).
SYNOPSIS¶
struct tid_ampdu_rx {
struct rcu_head rcu_head;
spinlock_t reorder_lock;
u64 reorder_buf_filtered;
struct sk_buff_head * reorder_buf;
unsigned long * reorder_time;
struct sta_info * sta;
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 tid;
u8 auto_seq:1;
u8 removed:1;
u8 started:1; };
MEMBERS¶
rcu_head
RCU head used for freeing this struct
reorder_lock
serializes access to reorder buffer, see below.
reorder_buf_filtered
bitmap indicating where there are filtered frames in the
reorder buffer that should be ignored when releasing frames
reorder_buf
buffer to reorder incoming aggregated MPDUs. An MPDU may
be an A-MSDU with individually reported subframes.
reorder_time
jiffies when skb was added
sta
station we are attached to
session_timer
check if peer keeps Tx-ing on the TID (by timeout
value)
reorder_timer
releases expired frames from the reorder buffer.
last_rx
jiffies of last rx activity
head_seq_num
head sequence number in reordering buffer.
stored_mpdu_num
number of MPDUs in reordering buffer
ssn
Starting Sequence Number expected to be aggregated.
buf_size
buffer size for incoming A-MPDUs
timeout
reset timer value (in TUs).
tid
TID number
auto_seq
used for offloaded BA sessions to automatically pick
head_seq_and and ssn.
removed
this session is removed (but might have been found due to
RCU)
started
this session has started (head ssn or higher was
received)
DESCRIPTION¶
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).
AUTHOR¶
Johannes Berg <johannes@sipsolutions.net>
Author.
COPYRIGHT¶
June 2024 | Kernel Hackers Manual 3.10 |