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;
  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;
};

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. An MPDU may be an A-MSDU with individually reported subframes.

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.

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

dialog_token
    dialog token for aggregation session

auto_seq
    used for offloaded BA sessions to automatically pick head_seq_and and ssn.

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