diff options
author | Arik Nemtsov <arik@wizery.com> | 2011-09-28 07:12:54 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-09-30 15:57:09 -0400 |
commit | 941c93cd039852b7ab02c74f4698c99d82bd6cfe (patch) | |
tree | 8f527535dcb145877ac8cb68f43723b05d574e6e /net/mac80211/sta_info.h | |
parent | 07ba55d7f1d0da174c9bc545c713b44cee760197 (diff) |
mac80211: data path modification for TDLS peers
Mark the STA entries of enabled TDLS peers with a new "peer authorized"
flag.
During link setup, allow special TDLS setup frames through the AP, but
otherwise drop all packets destined to the peer. This is required by the
TDLS (802.11z) specification in order to prevent reordering of MSDUs
between the AP and direct paths.
When setup completes and the peer is authorized, send data directly,
bypassing the AP.
In the Rx path, allow data to be received directly from TDLS peers.
Signed-off-by: Arik Nemtsov <arik@wizery.com>
Cc: Kalyan C Gaddam <chakkal@iit.edu>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/sta_info.h')
-rw-r--r-- | net/mac80211/sta_info.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/mac80211/sta_info.h b/net/mac80211/sta_info.h index b6bd4e9d8722..c10e2e8632b5 100644 --- a/net/mac80211/sta_info.h +++ b/net/mac80211/sta_info.h | |||
@@ -45,7 +45,9 @@ | |||
45 | * station in power-save mode, reply when the driver unblocks. | 45 | * station in power-save mode, reply when the driver unblocks. |
46 | * @WLAN_STA_PS_DRIVER_BUF: Station has frames pending in driver internal | 46 | * @WLAN_STA_PS_DRIVER_BUF: Station has frames pending in driver internal |
47 | * buffers. Automatically cleared on station wake-up. | 47 | * buffers. Automatically cleared on station wake-up. |
48 | * @WLAN_STA_TDLS_PEER: station is a TDLS peer. | 48 | * @WLAN_STA_TDLS_PEER: Station is a TDLS peer. |
49 | * @WLAN_STA_TDLS_PEER_AUTH: This TDLS peer is authorized to send direct | ||
50 | * packets. This means the link is enabled. | ||
49 | */ | 51 | */ |
50 | enum ieee80211_sta_info_flags { | 52 | enum ieee80211_sta_info_flags { |
51 | WLAN_STA_AUTH = 1<<0, | 53 | WLAN_STA_AUTH = 1<<0, |
@@ -63,6 +65,7 @@ enum ieee80211_sta_info_flags { | |||
63 | WLAN_STA_PSPOLL = 1<<13, | 65 | WLAN_STA_PSPOLL = 1<<13, |
64 | WLAN_STA_PS_DRIVER_BUF = 1<<14, | 66 | WLAN_STA_PS_DRIVER_BUF = 1<<14, |
65 | WLAN_STA_TDLS_PEER = 1<<15, | 67 | WLAN_STA_TDLS_PEER = 1<<15, |
68 | WLAN_STA_TDLS_PEER_AUTH = 1<<16, | ||
66 | }; | 69 | }; |
67 | 70 | ||
68 | #define STA_TID_NUM 16 | 71 | #define STA_TID_NUM 16 |