aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/ieee80211_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r--net/mac80211/ieee80211_i.h27
1 files changed, 17 insertions, 10 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index 1ef767366b7..b63b99fb2fd 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -208,6 +208,9 @@ struct ieee80211_if_wds {
208 208
209struct ieee80211_if_vlan { 209struct ieee80211_if_vlan {
210 struct list_head list; 210 struct list_head list;
211
212 /* used for all tx if the VLAN is configured to 4-addr mode */
213 struct sta_info *sta;
211}; 214};
212 215
213struct mesh_stats { 216struct mesh_stats {
@@ -352,6 +355,7 @@ struct ieee80211_if_mesh {
352 struct work_struct work; 355 struct work_struct work;
353 struct timer_list housekeeping_timer; 356 struct timer_list housekeeping_timer;
354 struct timer_list mesh_path_timer; 357 struct timer_list mesh_path_timer;
358 struct timer_list mesh_path_root_timer;
355 struct sk_buff_head skb_queue; 359 struct sk_buff_head skb_queue;
356 360
357 unsigned long timers_running; 361 unsigned long timers_running;
@@ -361,23 +365,23 @@ struct ieee80211_if_mesh {
361 u8 mesh_id[IEEE80211_MAX_MESH_ID_LEN]; 365 u8 mesh_id[IEEE80211_MAX_MESH_ID_LEN];
362 size_t mesh_id_len; 366 size_t mesh_id_len;
363 /* Active Path Selection Protocol Identifier */ 367 /* Active Path Selection Protocol Identifier */
364 u8 mesh_pp_id[4]; 368 u8 mesh_pp_id;
365 /* Active Path Selection Metric Identifier */ 369 /* Active Path Selection Metric Identifier */
366 u8 mesh_pm_id[4]; 370 u8 mesh_pm_id;
367 /* Congestion Control Mode Identifier */ 371 /* Congestion Control Mode Identifier */
368 u8 mesh_cc_id[4]; 372 u8 mesh_cc_id;
369 /* Synchronization Protocol Identifier */ 373 /* Synchronization Protocol Identifier */
370 u8 mesh_sp_id[4]; 374 u8 mesh_sp_id;
371 /* Authentication Protocol Identifier */ 375 /* Authentication Protocol Identifier */
372 u8 mesh_auth_id[4]; 376 u8 mesh_auth_id;
373 /* Local mesh Destination Sequence Number */ 377 /* Local mesh Sequence Number */
374 u32 dsn; 378 u32 sn;
375 /* Last used PREQ ID */ 379 /* Last used PREQ ID */
376 u32 preq_id; 380 u32 preq_id;
377 atomic_t mpaths; 381 atomic_t mpaths;
378 /* Timestamp of last DSN update */ 382 /* Timestamp of last SN update */
379 unsigned long last_dsn_update; 383 unsigned long last_sn_update;
380 /* Timestamp of last DSN sent */ 384 /* Timestamp of last SN sent */
381 unsigned long last_preq; 385 unsigned long last_preq;
382 struct mesh_rmc *rmc; 386 struct mesh_rmc *rmc;
383 spinlock_t mesh_preq_queue_lock; 387 spinlock_t mesh_preq_queue_lock;
@@ -457,6 +461,8 @@ struct ieee80211_sub_if_data {
457 int force_unicast_rateidx; /* forced TX rateidx for unicast frames */ 461 int force_unicast_rateidx; /* forced TX rateidx for unicast frames */
458 int max_ratectrl_rateidx; /* max TX rateidx for rate control */ 462 int max_ratectrl_rateidx; /* max TX rateidx for rate control */
459 463
464 bool use_4addr; /* use 4-address frames */
465
460 union { 466 union {
461 struct ieee80211_if_ap ap; 467 struct ieee80211_if_ap ap;
462 struct ieee80211_if_wds wds; 468 struct ieee80211_if_wds wds;
@@ -799,6 +805,7 @@ struct ieee802_11_elems {
799 u8 *preq; 805 u8 *preq;
800 u8 *prep; 806 u8 *prep;
801 u8 *perr; 807 u8 *perr;
808 struct ieee80211_rann_ie *rann;
802 u8 *ch_switch_elem; 809 u8 *ch_switch_elem;
803 u8 *country_elem; 810 u8 *country_elem;
804 u8 *pwr_constr_elem; 811 u8 *pwr_constr_elem;