diff options
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r-- | net/mac80211/ieee80211_i.h | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index b63b99fb2fd3..04093e84ebd7 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <linux/types.h> | 23 | #include <linux/types.h> |
24 | #include <linux/spinlock.h> | 24 | #include <linux/spinlock.h> |
25 | #include <linux/etherdevice.h> | 25 | #include <linux/etherdevice.h> |
26 | #include <net/ieee80211_radiotap.h> | ||
26 | #include <net/cfg80211.h> | 27 | #include <net/cfg80211.h> |
27 | #include <net/mac80211.h> | 28 | #include <net/mac80211.h> |
28 | #include "key.h" | 29 | #include "key.h" |
@@ -167,13 +168,10 @@ typedef unsigned __bitwise__ ieee80211_rx_result; | |||
167 | 168 | ||
168 | struct ieee80211_rx_data { | 169 | struct ieee80211_rx_data { |
169 | struct sk_buff *skb; | 170 | struct sk_buff *skb; |
170 | struct net_device *dev; | ||
171 | struct ieee80211_local *local; | 171 | struct ieee80211_local *local; |
172 | struct ieee80211_sub_if_data *sdata; | 172 | struct ieee80211_sub_if_data *sdata; |
173 | struct sta_info *sta; | 173 | struct sta_info *sta; |
174 | struct ieee80211_key *key; | 174 | struct ieee80211_key *key; |
175 | struct ieee80211_rx_status *status; | ||
176 | struct ieee80211_rate *rate; | ||
177 | 175 | ||
178 | unsigned int flags; | 176 | unsigned int flags; |
179 | int queue; | 177 | int queue; |
@@ -314,6 +312,8 @@ struct ieee80211_if_managed { | |||
314 | } mfp; /* management frame protection */ | 312 | } mfp; /* management frame protection */ |
315 | 313 | ||
316 | int wmm_last_param_set; | 314 | int wmm_last_param_set; |
315 | |||
316 | u8 use_4addr; | ||
317 | }; | 317 | }; |
318 | 318 | ||
319 | enum ieee80211_ibss_request { | 319 | enum ieee80211_ibss_request { |
@@ -461,8 +461,6 @@ struct ieee80211_sub_if_data { | |||
461 | int force_unicast_rateidx; /* forced TX rateidx for unicast frames */ | 461 | int force_unicast_rateidx; /* forced TX rateidx for unicast frames */ |
462 | int max_ratectrl_rateidx; /* max TX rateidx for rate control */ | 462 | int max_ratectrl_rateidx; /* max TX rateidx for rate control */ |
463 | 463 | ||
464 | bool use_4addr; /* use 4-address frames */ | ||
465 | |||
466 | union { | 464 | union { |
467 | struct ieee80211_if_ap ap; | 465 | struct ieee80211_if_ap ap; |
468 | struct ieee80211_if_wds wds; | 466 | struct ieee80211_if_wds wds; |
@@ -581,7 +579,6 @@ struct ieee80211_local { | |||
581 | /* number of interfaces with corresponding FIF_ flags */ | 579 | /* number of interfaces with corresponding FIF_ flags */ |
582 | int fif_fcsfail, fif_plcpfail, fif_control, fif_other_bss, fif_pspoll; | 580 | int fif_fcsfail, fif_plcpfail, fif_control, fif_other_bss, fif_pspoll; |
583 | unsigned int filter_flags; /* FIF_* */ | 581 | unsigned int filter_flags; /* FIF_* */ |
584 | struct iw_statistics wstats; | ||
585 | 582 | ||
586 | /* protects the aggregated multicast list and filter calls */ | 583 | /* protects the aggregated multicast list and filter calls */ |
587 | spinlock_t filter_lock; | 584 | spinlock_t filter_lock; |
@@ -771,8 +768,9 @@ IEEE80211_DEV_TO_SUB_IF(struct net_device *dev) | |||
771 | return netdev_priv(dev); | 768 | return netdev_priv(dev); |
772 | } | 769 | } |
773 | 770 | ||
774 | /* this struct represents 802.11n's RA/TID combination */ | 771 | /* this struct represents 802.11n's RA/TID combination along with our vif */ |
775 | struct ieee80211_ra_tid { | 772 | struct ieee80211_ra_tid { |
773 | struct ieee80211_vif *vif; | ||
776 | u8 ra[ETH_ALEN]; | 774 | u8 ra[ETH_ALEN]; |
777 | u16 tid; | 775 | u16 tid; |
778 | }; | 776 | }; |
@@ -799,7 +797,7 @@ struct ieee802_11_elems { | |||
799 | u8 *wmm_param; | 797 | u8 *wmm_param; |
800 | struct ieee80211_ht_cap *ht_cap_elem; | 798 | struct ieee80211_ht_cap *ht_cap_elem; |
801 | struct ieee80211_ht_info *ht_info_elem; | 799 | struct ieee80211_ht_info *ht_info_elem; |
802 | u8 *mesh_config; | 800 | struct ieee80211_meshconf_ie *mesh_config; |
803 | u8 *mesh_id; | 801 | u8 *mesh_id; |
804 | u8 *peer_link; | 802 | u8 *peer_link; |
805 | u8 *preq; | 803 | u8 *preq; |
@@ -827,7 +825,6 @@ struct ieee802_11_elems { | |||
827 | u8 ext_supp_rates_len; | 825 | u8 ext_supp_rates_len; |
828 | u8 wmm_info_len; | 826 | u8 wmm_info_len; |
829 | u8 wmm_param_len; | 827 | u8 wmm_param_len; |
830 | u8 mesh_config_len; | ||
831 | u8 mesh_id_len; | 828 | u8 mesh_id_len; |
832 | u8 peer_link_len; | 829 | u8 peer_link_len; |
833 | u8 preq_len; | 830 | u8 preq_len; |
@@ -950,6 +947,18 @@ netdev_tx_t ieee80211_monitor_start_xmit(struct sk_buff *skb, | |||
950 | netdev_tx_t ieee80211_subif_start_xmit(struct sk_buff *skb, | 947 | netdev_tx_t ieee80211_subif_start_xmit(struct sk_buff *skb, |
951 | struct net_device *dev); | 948 | struct net_device *dev); |
952 | 949 | ||
950 | /* | ||
951 | * radiotap header for status frames | ||
952 | */ | ||
953 | struct ieee80211_tx_status_rtap_hdr { | ||
954 | struct ieee80211_radiotap_header hdr; | ||
955 | u8 rate; | ||
956 | u8 padding_for_rate; | ||
957 | __le16 tx_flags; | ||
958 | u8 data_retries; | ||
959 | } __attribute__ ((packed)); | ||
960 | |||
961 | |||
953 | /* HT */ | 962 | /* HT */ |
954 | void ieee80211_ht_cap_ie_to_sta_ht_cap(struct ieee80211_supported_band *sband, | 963 | void ieee80211_ht_cap_ie_to_sta_ht_cap(struct ieee80211_supported_band *sband, |
955 | struct ieee80211_ht_cap *ht_cap_ie, | 964 | struct ieee80211_ht_cap *ht_cap_ie, |
@@ -1017,8 +1026,7 @@ void mac80211_ev_michael_mic_failure(struct ieee80211_sub_if_data *sdata, int ke | |||
1017 | struct ieee80211_hdr *hdr, const u8 *tsc, | 1026 | struct ieee80211_hdr *hdr, const u8 *tsc, |
1018 | gfp_t gfp); | 1027 | gfp_t gfp); |
1019 | void ieee80211_set_wmm_default(struct ieee80211_sub_if_data *sdata); | 1028 | void ieee80211_set_wmm_default(struct ieee80211_sub_if_data *sdata); |
1020 | void ieee80211_tx_skb(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb, | 1029 | void ieee80211_tx_skb(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb); |
1021 | int encrypt); | ||
1022 | void ieee802_11_parse_elems(u8 *start, size_t len, | 1030 | void ieee802_11_parse_elems(u8 *start, size_t len, |
1023 | struct ieee802_11_elems *elems); | 1031 | struct ieee802_11_elems *elems); |
1024 | u32 ieee802_11_parse_elems_crc(u8 *start, size_t len, | 1032 | u32 ieee802_11_parse_elems_crc(u8 *start, size_t len, |