diff options
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r-- | net/mac80211/ieee80211_i.h | 27 |
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 | ||
209 | struct ieee80211_if_vlan { | 209 | struct 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 | ||
213 | struct mesh_stats { | 216 | struct 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; |