'\" t .\" Title: struct tid_ampdu_rx .\" Author: .\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: January 2017 .\" Manual: Internals .\" Source: Kernel Hackers Manual 4.8.15 .\" Language: English .\" .TH "STRUCT TID_AMPDU_RX" "9" "January 2017" "Kernel Hackers Manual 4\&.8\&." "Internals" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" struct_tid_ampdu_rx \- TID aggregation information (Rx)\&. .SH "SYNOPSIS" .sp .nf 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 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; bool removed; }; .fi .SH "MEMBERS" .PP rcu_head .RS 4 RCU head used for freeing this struct .RE .PP reorder_lock .RS 4 serializes access to reorder buffer, see below\&. .RE .PP reorder_buf_filtered .RS 4 bitmap indicating where there are filtered frames in the reorder buffer that should be ignored when releasing frames .RE .PP reorder_buf .RS 4 buffer to reorder incoming aggregated MPDUs\&. An MPDU may be an A\-MSDU with individually reported subframes\&. .RE .PP reorder_time .RS 4 jiffies when skb was added .RE .PP session_timer .RS 4 check if peer keeps Tx\-ing on the TID (by timeout value) .RE .PP reorder_timer .RS 4 releases expired frames from the reorder buffer\&. .RE .PP last_rx .RS 4 jiffies of last rx activity .RE .PP head_seq_num .RS 4 head sequence number in reordering buffer\&. .RE .PP stored_mpdu_num .RS 4 number of MPDUs in reordering buffer .RE .PP ssn .RS 4 Starting Sequence Number expected to be aggregated\&. .RE .PP buf_size .RS 4 buffer size for incoming A\-MPDUs .RE .PP timeout .RS 4 reset timer value (in TUs)\&. .RE .PP dialog_token .RS 4 dialog token for aggregation session .RE .PP auto_seq .RS 4 used for offloaded BA sessions to automatically pick head_seq_and and ssn\&. .RE .PP removed .RS 4 this session is removed (but might have been found due to RCU) .RE .SH "DESCRIPTION" .PP This structure\*(Aqs lifetime is managed by RCU, assignments to the array holding it must hold the aggregation mutex\&. .PP The \fIreorder_lock\fR is used to protect the members of this struct, except for \fItimeout\fR, \fIbuf_size\fR and \fIdialog_token\fR, which are constant across the lifetime of the struct (the dialog token being used only for debugging)\&. .SH "AUTHOR" .PP \fBJohannes Berg\fR <\&johannes@sipsolutions.net\&> .RS 4 Author. .RE .SH "COPYRIGHT" .br