---
name: "struct_tid_ampdu_tx"
section: "9"
platform: "linux"
package: "linux-manual-3.16"
version: "3.16.56-1+deb8u1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/struct_tid_ampdu_tx"
---

# struct\_tid\_ampdu\_tx(9)

TID aggregation information (Tx).

## NAME

struct\_tid\_ampdu\_tx - TID aggregation information (Tx).

## SYNOPSIS

```
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;
  unsigned long state;
  unsigned long last_tx;
  u16 timeout;
  u8 dialog_token;
  u8 stop_initiator;
  bool tx_stop;
  u8 buf_size;
  u16 failed_bar_ssn;
  bool bar_pending;
};
```

## MEMBERS

rcu\_head

rcu head for freeing structure

session\_timer

check if we keep Tx-ing on the TID (by timeout value)

addba\_resp\_timer

timer for peer's response to addba request

pending

pending frames queue -- use sta's spinlock to protect

state

session state (see above)

last\_tx

jiffies of last tx activity

timeout

session timeout value to be filled in ADDBA requests

dialog\_token

dialog token for aggregation session

stop\_initiator

initiator of a session stop

tx\_stop

TX DelBA frame when stopping

buf\_size

reorder buffer size at receiver

failed\_bar\_ssn

ssn of the last failed BAR tx attempt

bar\_pending

BAR needs to be re-sent

## DESCRIPTION

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.

## AUTHOR

**Johannes Berg** \<johannes@sipsolutions.net\>

Author.

## COPYRIGHT
