1STRUCT TID_AMPDU_TX(9) Internals STRUCT TID_AMPDU_TX(9)
2
3
4
6 struct_tid_ampdu_tx - TID aggregation information (Tx).
7
9 struct tid_ampdu_tx {
10 struct rcu_head rcu_head;
11 struct timer_list session_timer;
12 struct timer_list addba_resp_timer;
13 struct sk_buff_head pending;
14 unsigned long state;
15 unsigned long last_tx;
16 u16 timeout;
17 u8 dialog_token;
18 u8 stop_initiator;
19 bool tx_stop;
20 u8 buf_size;
21 u16 failed_bar_ssn;
22 bool bar_pending;
23 bool amsdu;
24 };
25
27 rcu_head
28 rcu head for freeing structure
29
30 session_timer
31 check if we keep Tx-ing on the TID (by timeout value)
32
33 addba_resp_timer
34 timer for peer's response to addba request
35
36 pending
37 pending frames queue -- use sta's spinlock to protect
38
39 state
40 session state (see above)
41
42 last_tx
43 jiffies of last tx activity
44
45 timeout
46 session timeout value to be filled in ADDBA requests
47
48 dialog_token
49 dialog token for aggregation session
50
51 stop_initiator
52 initiator of a session stop
53
54 tx_stop
55 TX DelBA frame when stopping
56
57 buf_size
58 reorder buffer size at receiver
59
60 failed_bar_ssn
61 ssn of the last failed BAR tx attempt
62
63 bar_pending
64 BAR needs to be re-sent
65
66 amsdu
67 support A-MSDU withing A-MDPU
68
70 This structure's lifetime is managed by RCU, assignments to the array
71 holding it must hold the aggregation mutex.
72
73 The TX path can access it under RCU lock-free if, and only if, the
74 state has the flag HT_AGG_STATE_OPERATIONAL set. Otherwise, the TX path
75 must also acquire the spinlock and re-check the state, see comments in
76 the tx code touching it.
77
79 Johannes Berg <johannes@sipsolutions.net>
80 Author.
81
83Kernel Hackers Manual 3.10 June 2019 STRUCT TID_AMPDU_TX(9)