aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/mac80211/sta_info.c1
-rw-r--r--net/mac80211/sta_info.h81
2 files changed, 61 insertions, 21 deletions
diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c
index d8a16b7f6a6b..47d2c1bbfcaa 100644
--- a/net/mac80211/sta_info.c
+++ b/net/mac80211/sta_info.c
@@ -135,6 +135,7 @@ struct sta_info *sta_info_get_by_idx(struct ieee80211_local *local, int idx,
135/** 135/**
136 * __sta_info_free - internal STA free helper 136 * __sta_info_free - internal STA free helper
137 * 137 *
138 * @local: pointer to the global information
138 * @sta: STA info to free 139 * @sta: STA info to free
139 * 140 *
140 * This function must undo everything done by sta_info_alloc() 141 * This function must undo everything done by sta_info_alloc()
diff --git a/net/mac80211/sta_info.h b/net/mac80211/sta_info.h
index fd228c198e31..94311dcfe043 100644
--- a/net/mac80211/sta_info.h
+++ b/net/mac80211/sta_info.h
@@ -160,11 +160,21 @@ struct sta_ampdu_mlme {
160 * @list: global linked list entry 160 * @list: global linked list entry
161 * @hnext: hash table linked list pointer 161 * @hnext: hash table linked list pointer
162 * @local: pointer to the global information 162 * @local: pointer to the global information
163 * @sdata: TBD
164 * @key: TBD
165 * @rate_ctrl: TBD
166 * @rate_ctrl_priv: TBD
167 * @lock: used for locking all fields that require locking, see comments
168 * in the header file.
169 * @flaglock: spinlock for flags accesses
170 * @ht_info: HT capabilities of this STA
171 * @supp_rates: Bitmap of supported rates (per band)
163 * @addr: MAC address of this STA 172 * @addr: MAC address of this STA
164 * @aid: STA's unique AID (1..2007, 0 = not assigned yet), 173 * @aid: STA's unique AID (1..2007, 0 = not assigned yet),
165 * only used in AP (and IBSS?) mode 174 * only used in AP (and IBSS?) mode
175 * @listen_interval: TBD
176 * @pin_status: TBD
166 * @flags: STA flags, see &enum ieee80211_sta_info_flags 177 * @flags: STA flags, see &enum ieee80211_sta_info_flags
167 * @flaglock: spinlock for flags accesses
168 * @ps_tx_buf: buffer of frames to transmit to this station 178 * @ps_tx_buf: buffer of frames to transmit to this station
169 * when it leaves power saving state 179 * when it leaves power saving state
170 * @tx_filtered: buffer of frames we already tried to transmit 180 * @tx_filtered: buffer of frames we already tried to transmit
@@ -172,10 +182,41 @@ struct sta_ampdu_mlme {
172 * power saving state 182 * power saving state
173 * @rx_packets: Number of MSDUs received from this STA 183 * @rx_packets: Number of MSDUs received from this STA
174 * @rx_bytes: Number of bytes received from this STA 184 * @rx_bytes: Number of bytes received from this STA
175 * @supp_rates: Bitmap of supported rates (per band) 185 * @wep_weak_iv_count: TBD
176 * @ht_info: HT capabilities of this STA 186 * @last_rx: TBD
177 * @lock: used for locking all fields that require locking, see comments 187 * @num_duplicates: number of duplicate frames received from this STA
178 * in the header file. 188 * @rx_fragments: number of received MPDUs
189 * @rx_dropped: number of dropped MPDUs from this STA
190 * @last_signal: signal of last received frame from this STA
191 * @last_qual: qual of last received frame from this STA
192 * @last_noise: noise of last received frame from this STA
193 * @last_seq_ctrl: last received seq/frag number from this STA (per RX queue)
194 * @wme_rx_queue: TBD
195 * @tx_filtered_count: TBD
196 * @tx_retry_failed: TBD
197 * @tx_retry_count: TBD
198 * @tx_num_consecutive_failures: TBD
199 * @tx_num_mpdu_ok: TBD
200 * @tx_num_mpdu_fail: TBD
201 * @fail_avg: moving percentage of failed MSDUs
202 * @tx_packets: number of RX/TX MSDUs
203 * @tx_bytes: TBD
204 * @tx_fragments: number of transmitted MPDUs
205 * @txrate_idx: TBD
206 * @last_txrate_idx: TBD
207 * @wme_tx_queue: TBD
208 * @ampdu_mlme: TBD
209 * @timer_to_tid: identity mapping to ID timers
210 * @tid_to_tx_q: map tid to tx queue
211 * @llid: Local link ID
212 * @plid: Peer link ID
213 * @reason: Cancel reason on PLINK_HOLDING state
214 * @plink_retries: Retries in establishment
215 * @ignore_plink_timer: TBD
216 * @plink_state plink_state: TBD
217 * @plink_timeout: TBD
218 * @plink_timer: TBD
219 * @debugfs: debug filesystem info
179 */ 220 */
180struct sta_info { 221struct sta_info {
181 /* General information, mostly static */ 222 /* General information, mostly static */
@@ -217,14 +258,12 @@ struct sta_info {
217 unsigned long rx_packets, rx_bytes; 258 unsigned long rx_packets, rx_bytes;
218 unsigned long wep_weak_iv_count; 259 unsigned long wep_weak_iv_count;
219 unsigned long last_rx; 260 unsigned long last_rx;
220 unsigned long num_duplicates; /* number of duplicate frames received 261 unsigned long num_duplicates;
221 * from this STA */ 262 unsigned long rx_fragments;
222 unsigned long rx_fragments; /* number of received MPDUs */ 263 unsigned long rx_dropped;
223 unsigned long rx_dropped; /* number of dropped MPDUs from this STA */ 264 int last_signal;
224 int last_signal; /* signal of last received frame from this STA */ 265 int last_qual;
225 int last_qual; /* qual of last received frame from this STA */ 266 int last_noise;
226 int last_noise; /* noise of last received frame from this STA */
227 /* last received seq/frag number from this STA (per RX queue) */
228 __le16 last_seq_ctrl[NUM_RX_DATA_QUEUES]; 267 __le16 last_seq_ctrl[NUM_RX_DATA_QUEUES];
229#ifdef CONFIG_MAC80211_DEBUG_COUNTERS 268#ifdef CONFIG_MAC80211_DEBUG_COUNTERS
230 unsigned int wme_rx_queue[NUM_RX_DATA_QUEUES]; 269 unsigned int wme_rx_queue[NUM_RX_DATA_QUEUES];
@@ -241,9 +280,9 @@ struct sta_info {
241 unsigned int fail_avg; 280 unsigned int fail_avg;
242 281
243 /* Updated from TX path only, no locking requirements */ 282 /* Updated from TX path only, no locking requirements */
244 unsigned long tx_packets; /* number of RX/TX MSDUs */ 283 unsigned long tx_packets;
245 unsigned long tx_bytes; 284 unsigned long tx_bytes;
246 unsigned long tx_fragments; /* number of transmitted MPDUs */ 285 unsigned long tx_fragments;
247 int txrate_idx; 286 int txrate_idx;
248 int last_txrate_idx; 287 int last_txrate_idx;
249#ifdef CONFIG_MAC80211_DEBUG_COUNTERS 288#ifdef CONFIG_MAC80211_DEBUG_COUNTERS
@@ -254,18 +293,18 @@ struct sta_info {
254 * Aggregation information, locked with lock. 293 * Aggregation information, locked with lock.
255 */ 294 */
256 struct sta_ampdu_mlme ampdu_mlme; 295 struct sta_ampdu_mlme ampdu_mlme;
257 u8 timer_to_tid[STA_TID_NUM]; /* identity mapping to ID timers */ 296 u8 timer_to_tid[STA_TID_NUM];
258 u8 tid_to_tx_q[STA_TID_NUM]; /* map tid to tx queue */ 297 u8 tid_to_tx_q[STA_TID_NUM];
259 298
260#ifdef CONFIG_MAC80211_MESH 299#ifdef CONFIG_MAC80211_MESH
261 /* 300 /*
262 * Mesh peer link attributes 301 * Mesh peer link attributes
263 * TODO: move to a sub-structure that is referenced with pointer? 302 * TODO: move to a sub-structure that is referenced with pointer?
264 */ 303 */
265 __le16 llid; /* Local link ID */ 304 __le16 llid;
266 __le16 plid; /* Peer link ID */ 305 __le16 plid;
267 __le16 reason; /* Cancel reason on PLINK_HOLDING state */ 306 __le16 reason;
268 u8 plink_retries; /* Retries in establishment */ 307 u8 plink_retries;
269 bool ignore_plink_timer; 308 bool ignore_plink_timer;
270 enum plink_state plink_state; 309 enum plink_state plink_state;
271 u32 plink_timeout; 310 u32 plink_timeout;