diff options
author | Ron Rindjunsky <ron.rindjunsky@intel.com> | 2008-01-28 07:07:17 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-02-29 15:19:14 -0500 |
commit | eadc8d9e9047266a8914eb2ed4d36e797ce540d1 (patch) | |
tree | d4abb405e46c279aae81f32106000090f70e9a53 /net/mac80211/ieee80211_i.h | |
parent | 80656c20315558a9bc5c5b7f7c6949fa72277afd (diff) |
mac80211: A-MPDU Tx adding basic functionality
This patch adds the following abilities to mac80211:
- start A-MPDU Tx session
- stop A-MPDU Tx session
- call backs to start/stop A-MPDU Tx session
- sending addBA request
- processing addBA response
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r-- | net/mac80211/ieee80211_i.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index 72ecbf7bf962..8a24c2c6ebc1 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h | |||
@@ -407,6 +407,8 @@ struct ieee80211_sub_if_data *vif_to_sdata(struct ieee80211_vif *p) | |||
407 | enum { | 407 | enum { |
408 | IEEE80211_RX_MSG = 1, | 408 | IEEE80211_RX_MSG = 1, |
409 | IEEE80211_TX_STATUS_MSG = 2, | 409 | IEEE80211_TX_STATUS_MSG = 2, |
410 | IEEE80211_DELBA_MSG = 3, | ||
411 | IEEE80211_ADDBA_MSG = 4, | ||
410 | }; | 412 | }; |
411 | 413 | ||
412 | struct ieee80211_local { | 414 | struct ieee80211_local { |
@@ -627,6 +629,12 @@ struct ieee80211_local { | |||
627 | #endif | 629 | #endif |
628 | }; | 630 | }; |
629 | 631 | ||
632 | /* this struct represents 802.11n's RA/TID combination */ | ||
633 | struct ieee80211_ra_tid { | ||
634 | u8 ra[ETH_ALEN]; | ||
635 | u16 tid; | ||
636 | }; | ||
637 | |||
630 | static inline struct ieee80211_local *hw_to_local( | 638 | static inline struct ieee80211_local *hw_to_local( |
631 | struct ieee80211_hw *hw) | 639 | struct ieee80211_hw *hw) |
632 | { | 640 | { |
@@ -782,9 +790,15 @@ int ieee80211_ht_cap_ie_to_ht_info(struct ieee80211_ht_cap *ht_cap_ie, | |||
782 | int ieee80211_ht_addt_info_ie_to_ht_bss_info( | 790 | int ieee80211_ht_addt_info_ie_to_ht_bss_info( |
783 | struct ieee80211_ht_addt_info *ht_add_info_ie, | 791 | struct ieee80211_ht_addt_info *ht_add_info_ie, |
784 | struct ieee80211_ht_bss_info *bss_info); | 792 | struct ieee80211_ht_bss_info *bss_info); |
793 | void ieee80211_send_addba_request(struct net_device *dev, const u8 *da, | ||
794 | u16 tid, u8 dialog_token, u16 start_seq_num, | ||
795 | u16 agg_size, u16 timeout); | ||
796 | void ieee80211_send_delba(struct net_device *dev, const u8 *da, u16 tid, | ||
797 | u16 initiator, u16 reason_code); | ||
785 | void ieee80211_sta_stop_rx_ba_session(struct net_device *dev, u8 *da, | 798 | void ieee80211_sta_stop_rx_ba_session(struct net_device *dev, u8 *da, |
786 | u16 tid, u16 initiator, u16 reason); | 799 | u16 tid, u16 initiator, u16 reason); |
787 | void sta_rx_agg_session_timer_expired(unsigned long data); | 800 | void sta_rx_agg_session_timer_expired(unsigned long data); |
801 | void sta_addba_resp_timer_expired(unsigned long data); | ||
788 | /* ieee80211_iface.c */ | 802 | /* ieee80211_iface.c */ |
789 | int ieee80211_if_add(struct net_device *dev, const char *name, | 803 | int ieee80211_if_add(struct net_device *dev, const char *name, |
790 | struct net_device **new_dev, int type); | 804 | struct net_device **new_dev, int type); |