Name

struct tid_ampdu_rx — TID aggregation information (Rx).

Synopsis

struct tid_ampdu_rx {
  struct rcu_head rcu_head;
  spinlock_t reorder_lock;
  struct sk_buff ** reorder_buf;
  unsigned long * reorder_time;
  struct timer_list session_timer;
  struct timer_list reorder_timer;
  u16 head_seq_num;
  u16 stored_mpdu_num;
  u16 ssn;
  u16 buf_size;
  u16 timeout;
  u8 dialog_token;
};  

Members

rcu_head

RCU head used for freeing this struct

reorder_lock

serializes access to reorder buffer, see below.

reorder_buf

buffer to reorder incoming aggregated MPDUs

reorder_time

jiffies when skb was added

session_timer

check if peer keeps Tx-ing on the TID (by timeout value)

reorder_timer

releases expired frames from the reorder buffer.

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).

dialog_token

dialog token for aggregation session

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).