diff options
-rw-r--r-- | net/mac80211/ieee80211_i.h | 50 | ||||
-rw-r--r-- | net/mac80211/sta_info.h | 8 |
2 files changed, 31 insertions, 27 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index a6485f01b3c8..7ab806602183 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h | |||
@@ -73,11 +73,12 @@ struct ieee80211_fragment_entry { | |||
73 | struct ieee80211_sta_bss { | 73 | struct ieee80211_sta_bss { |
74 | struct list_head list; | 74 | struct list_head list; |
75 | struct ieee80211_sta_bss *hnext; | 75 | struct ieee80211_sta_bss *hnext; |
76 | size_t ssid_len; | ||
77 | |||
76 | atomic_t users; | 78 | atomic_t users; |
77 | 79 | ||
78 | u8 bssid[ETH_ALEN]; | 80 | u8 bssid[ETH_ALEN]; |
79 | u8 ssid[IEEE80211_MAX_SSID_LEN]; | 81 | u8 ssid[IEEE80211_MAX_SSID_LEN]; |
80 | size_t ssid_len; | ||
81 | u16 capability; /* host byte order */ | 82 | u16 capability; /* host byte order */ |
82 | enum ieee80211_band band; | 83 | enum ieee80211_band band; |
83 | int freq; | 84 | int freq; |
@@ -98,8 +99,8 @@ struct ieee80211_sta_bss { | |||
98 | #define IEEE80211_MAX_SUPP_RATES 32 | 99 | #define IEEE80211_MAX_SUPP_RATES 32 |
99 | u8 supp_rates[IEEE80211_MAX_SUPP_RATES]; | 100 | u8 supp_rates[IEEE80211_MAX_SUPP_RATES]; |
100 | size_t supp_rates_len; | 101 | size_t supp_rates_len; |
101 | int beacon_int; | ||
102 | u64 timestamp; | 102 | u64 timestamp; |
103 | int beacon_int; | ||
103 | 104 | ||
104 | int probe_resp; | 105 | int probe_resp; |
105 | unsigned long last_update; | 106 | unsigned long last_update; |
@@ -154,9 +155,7 @@ struct ieee80211_tx_data { | |||
154 | struct ieee80211_local *local; | 155 | struct ieee80211_local *local; |
155 | struct ieee80211_sub_if_data *sdata; | 156 | struct ieee80211_sub_if_data *sdata; |
156 | struct sta_info *sta; | 157 | struct sta_info *sta; |
157 | u16 fc, ethertype; | ||
158 | struct ieee80211_key *key; | 158 | struct ieee80211_key *key; |
159 | unsigned int flags; | ||
160 | 159 | ||
161 | struct ieee80211_tx_control *control; | 160 | struct ieee80211_tx_control *control; |
162 | struct ieee80211_channel *channel; | 161 | struct ieee80211_channel *channel; |
@@ -168,8 +167,11 @@ struct ieee80211_tx_data { | |||
168 | 167 | ||
169 | /* Extra fragments (in addition to the first fragment | 168 | /* Extra fragments (in addition to the first fragment |
170 | * in skb) */ | 169 | * in skb) */ |
171 | int num_extra_frag; | ||
172 | struct sk_buff **extra_frag; | 170 | struct sk_buff **extra_frag; |
171 | int num_extra_frag; | ||
172 | |||
173 | u16 fc, ethertype; | ||
174 | unsigned int flags; | ||
173 | }; | 175 | }; |
174 | 176 | ||
175 | 177 | ||
@@ -192,12 +194,12 @@ struct ieee80211_rx_data { | |||
192 | struct ieee80211_local *local; | 194 | struct ieee80211_local *local; |
193 | struct ieee80211_sub_if_data *sdata; | 195 | struct ieee80211_sub_if_data *sdata; |
194 | struct sta_info *sta; | 196 | struct sta_info *sta; |
195 | u16 fc, ethertype; | ||
196 | struct ieee80211_key *key; | 197 | struct ieee80211_key *key; |
197 | unsigned int flags; | ||
198 | |||
199 | struct ieee80211_rx_status *status; | 198 | struct ieee80211_rx_status *status; |
200 | struct ieee80211_rate *rate; | 199 | struct ieee80211_rate *rate; |
200 | |||
201 | u16 fc, ethertype; | ||
202 | unsigned int flags; | ||
201 | int sent_ps_buffered; | 203 | int sent_ps_buffered; |
202 | int queue; | 204 | int queue; |
203 | int load; | 205 | int load; |
@@ -222,9 +224,9 @@ struct ieee80211_tx_packet_data { | |||
222 | struct ieee80211_tx_stored_packet { | 224 | struct ieee80211_tx_stored_packet { |
223 | struct ieee80211_tx_control control; | 225 | struct ieee80211_tx_control control; |
224 | struct sk_buff *skb; | 226 | struct sk_buff *skb; |
225 | int num_extra_frag; | ||
226 | struct sk_buff **extra_frag; | 227 | struct sk_buff **extra_frag; |
227 | struct ieee80211_rate *last_frag_rate; | 228 | struct ieee80211_rate *last_frag_rate; |
229 | int num_extra_frag; | ||
228 | unsigned int last_frag_rate_ctrl_probe; | 230 | unsigned int last_frag_rate_ctrl_probe; |
229 | }; | 231 | }; |
230 | 232 | ||
@@ -246,8 +248,8 @@ struct ieee80211_if_ap { | |||
246 | * bitmap_empty :) | 248 | * bitmap_empty :) |
247 | * NB: don't touch this bitmap, use sta_info_{set,clear}_tim_bit */ | 249 | * NB: don't touch this bitmap, use sta_info_{set,clear}_tim_bit */ |
248 | u8 tim[sizeof(unsigned long) * BITS_TO_LONGS(IEEE80211_MAX_AID + 1)]; | 250 | u8 tim[sizeof(unsigned long) * BITS_TO_LONGS(IEEE80211_MAX_AID + 1)]; |
249 | atomic_t num_sta_ps; /* number of stations in PS mode */ | ||
250 | struct sk_buff_head ps_bc_buf; | 251 | struct sk_buff_head ps_bc_buf; |
252 | atomic_t num_sta_ps; /* number of stations in PS mode */ | ||
251 | int dtim_count; | 253 | int dtim_count; |
252 | int force_unicast_rateidx; /* forced TX rateidx for unicast frames */ | 254 | int force_unicast_rateidx; /* forced TX rateidx for unicast frames */ |
253 | int max_ratectrl_rateidx; /* max TX rateidx for rate control */ | 255 | int max_ratectrl_rateidx; /* max TX rateidx for rate control */ |
@@ -255,8 +257,8 @@ struct ieee80211_if_ap { | |||
255 | }; | 257 | }; |
256 | 258 | ||
257 | struct ieee80211_if_wds { | 259 | struct ieee80211_if_wds { |
258 | u8 remote_addr[ETH_ALEN]; | ||
259 | struct sta_info *sta; | 260 | struct sta_info *sta; |
261 | u8 remote_addr[ETH_ALEN]; | ||
260 | }; | 262 | }; |
261 | 263 | ||
262 | struct ieee80211_if_vlan { | 264 | struct ieee80211_if_vlan { |
@@ -290,12 +292,12 @@ struct mesh_config { | |||
290 | u8 dot11MeshTTL; | 292 | u8 dot11MeshTTL; |
291 | bool auto_open_plinks; | 293 | bool auto_open_plinks; |
292 | /* HWMP parameters */ | 294 | /* HWMP parameters */ |
293 | u32 dot11MeshHWMPactivePathTimeout; | ||
294 | u16 dot11MeshHWMPpreqMinInterval; | ||
295 | u16 dot11MeshHWMPnetDiameterTraversalTime; | ||
296 | u8 dot11MeshHWMPmaxPREQretries; | 295 | u8 dot11MeshHWMPmaxPREQretries; |
297 | u32 path_refresh_time; | 296 | u32 path_refresh_time; |
298 | u16 min_discovery_timeout; | 297 | u16 min_discovery_timeout; |
298 | u32 dot11MeshHWMPactivePathTimeout; | ||
299 | u16 dot11MeshHWMPpreqMinInterval; | ||
300 | u16 dot11MeshHWMPnetDiameterTraversalTime; | ||
299 | }; | 301 | }; |
300 | 302 | ||
301 | 303 | ||
@@ -314,23 +316,22 @@ struct mesh_config { | |||
314 | #define IEEE80211_STA_AUTO_CHANNEL_SEL BIT(12) | 316 | #define IEEE80211_STA_AUTO_CHANNEL_SEL BIT(12) |
315 | #define IEEE80211_STA_PRIVACY_INVOKED BIT(13) | 317 | #define IEEE80211_STA_PRIVACY_INVOKED BIT(13) |
316 | struct ieee80211_if_sta { | 318 | struct ieee80211_if_sta { |
319 | struct timer_list timer; | ||
320 | struct work_struct work; | ||
321 | u8 bssid[ETH_ALEN], prev_bssid[ETH_ALEN]; | ||
322 | u8 ssid[IEEE80211_MAX_SSID_LEN]; | ||
317 | enum { | 323 | enum { |
318 | IEEE80211_DISABLED, IEEE80211_AUTHENTICATE, | 324 | IEEE80211_DISABLED, IEEE80211_AUTHENTICATE, |
319 | IEEE80211_ASSOCIATE, IEEE80211_ASSOCIATED, | 325 | IEEE80211_ASSOCIATE, IEEE80211_ASSOCIATED, |
320 | IEEE80211_IBSS_SEARCH, IEEE80211_IBSS_JOINED, | 326 | IEEE80211_IBSS_SEARCH, IEEE80211_IBSS_JOINED, |
321 | IEEE80211_MESH_UP | 327 | IEEE80211_MESH_UP |
322 | } state; | 328 | } state; |
323 | struct timer_list timer; | ||
324 | struct work_struct work; | ||
325 | u8 bssid[ETH_ALEN], prev_bssid[ETH_ALEN]; | ||
326 | u8 ssid[IEEE80211_MAX_SSID_LEN]; | ||
327 | size_t ssid_len; | 329 | size_t ssid_len; |
328 | u8 scan_ssid[IEEE80211_MAX_SSID_LEN]; | 330 | u8 scan_ssid[IEEE80211_MAX_SSID_LEN]; |
329 | size_t scan_ssid_len; | 331 | size_t scan_ssid_len; |
330 | #ifdef CONFIG_MAC80211_MESH | 332 | #ifdef CONFIG_MAC80211_MESH |
331 | struct timer_list mesh_path_timer; | 333 | struct timer_list mesh_path_timer; |
332 | u8 mesh_id[IEEE80211_MAX_MESH_ID_LEN]; | 334 | u8 mesh_id[IEEE80211_MAX_MESH_ID_LEN]; |
333 | bool accepting_plinks; | ||
334 | size_t mesh_id_len; | 335 | size_t mesh_id_len; |
335 | /* Active Path Selection Protocol Identifier */ | 336 | /* Active Path Selection Protocol Identifier */ |
336 | u8 mesh_pp_id[4]; | 337 | u8 mesh_pp_id[4]; |
@@ -354,6 +355,7 @@ struct ieee80211_if_sta { | |||
354 | struct mesh_stats mshstats; | 355 | struct mesh_stats mshstats; |
355 | struct mesh_config mshcfg; | 356 | struct mesh_config mshcfg; |
356 | u8 mesh_seqnum[3]; | 357 | u8 mesh_seqnum[3]; |
358 | bool accepting_plinks; | ||
357 | #endif | 359 | #endif |
358 | u16 aid; | 360 | u16 aid; |
359 | u16 ap_capab, capab; | 361 | u16 ap_capab, capab; |
@@ -364,16 +366,18 @@ struct ieee80211_if_sta { | |||
364 | u8 *assocreq_ies, *assocresp_ies; | 366 | u8 *assocreq_ies, *assocresp_ies; |
365 | size_t assocreq_ies_len, assocresp_ies_len; | 367 | size_t assocreq_ies_len, assocresp_ies_len; |
366 | 368 | ||
369 | struct sk_buff_head skb_queue; | ||
370 | |||
367 | int auth_tries, assoc_tries; | 371 | int auth_tries, assoc_tries; |
368 | 372 | ||
373 | unsigned long request; | ||
374 | |||
375 | unsigned long last_probe; | ||
376 | |||
369 | unsigned int flags; | 377 | unsigned int flags; |
370 | #define IEEE80211_STA_REQ_SCAN 0 | 378 | #define IEEE80211_STA_REQ_SCAN 0 |
371 | #define IEEE80211_STA_REQ_AUTH 1 | 379 | #define IEEE80211_STA_REQ_AUTH 1 |
372 | #define IEEE80211_STA_REQ_RUN 2 | 380 | #define IEEE80211_STA_REQ_RUN 2 |
373 | unsigned long request; | ||
374 | struct sk_buff_head skb_queue; | ||
375 | |||
376 | unsigned long last_probe; | ||
377 | 381 | ||
378 | #define IEEE80211_AUTH_ALG_OPEN BIT(0) | 382 | #define IEEE80211_AUTH_ALG_OPEN BIT(0) |
379 | #define IEEE80211_AUTH_ALG_SHARED_KEY BIT(1) | 383 | #define IEEE80211_AUTH_ALG_SHARED_KEY BIT(1) |
diff --git a/net/mac80211/sta_info.h b/net/mac80211/sta_info.h index af5a791e21f3..5e39a4164b9b 100644 --- a/net/mac80211/sta_info.h +++ b/net/mac80211/sta_info.h | |||
@@ -81,20 +81,20 @@ struct tid_ampdu_tx { | |||
81 | /** | 81 | /** |
82 | * struct tid_ampdu_rx - TID aggregation information (Rx). | 82 | * struct tid_ampdu_rx - TID aggregation information (Rx). |
83 | * | 83 | * |
84 | * @head_seq_num: head sequence number in reordering buffer. | ||
85 | * @stored_mpdu_num: number of MPDUs in reordering buffer | ||
86 | * @reorder_buf: buffer to reorder incoming aggregated MPDUs | 84 | * @reorder_buf: buffer to reorder incoming aggregated MPDUs |
87 | * @session_timer: check if peer keeps Tx-ing on the TID (by timeout value) | 85 | * @session_timer: check if peer keeps Tx-ing on the TID (by timeout value) |
86 | * @head_seq_num: head sequence number in reordering buffer. | ||
87 | * @stored_mpdu_num: number of MPDUs in reordering buffer | ||
88 | * @ssn: Starting Sequence Number expected to be aggregated. | 88 | * @ssn: Starting Sequence Number expected to be aggregated. |
89 | * @buf_size: buffer size for incoming A-MPDUs | 89 | * @buf_size: buffer size for incoming A-MPDUs |
90 | * @timeout: reset timer value. | 90 | * @timeout: reset timer value. |
91 | * @dialog_token: dialog token for aggregation session | 91 | * @dialog_token: dialog token for aggregation session |
92 | */ | 92 | */ |
93 | struct tid_ampdu_rx { | 93 | struct tid_ampdu_rx { |
94 | u16 head_seq_num; | ||
95 | u16 stored_mpdu_num; | ||
96 | struct sk_buff **reorder_buf; | 94 | struct sk_buff **reorder_buf; |
97 | struct timer_list session_timer; | 95 | struct timer_list session_timer; |
96 | u16 head_seq_num; | ||
97 | u16 stored_mpdu_num; | ||
98 | u16 ssn; | 98 | u16 ssn; |
99 | u16 buf_size; | 99 | u16 buf_size; |
100 | u16 timeout; | 100 | u16 timeout; |