forked from Minki/linux
mac80211: allow frame aggregation for mesh
Signed-off-by: Thomas Pedersen <thomas@cozybit.com> Signed-off-by: Ashok Nagarajan <anagar6@uic.edu> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
739522baa1
commit
ae2772b313
@ -176,7 +176,8 @@ static void ieee80211_send_addba_resp(struct ieee80211_sub_if_data *sdata, u8 *d
|
|||||||
memcpy(mgmt->da, da, ETH_ALEN);
|
memcpy(mgmt->da, da, ETH_ALEN);
|
||||||
memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
|
memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
|
||||||
if (sdata->vif.type == NL80211_IFTYPE_AP ||
|
if (sdata->vif.type == NL80211_IFTYPE_AP ||
|
||||||
sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
|
sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
|
||||||
|
sdata->vif.type == NL80211_IFTYPE_MESH_POINT)
|
||||||
memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN);
|
memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN);
|
||||||
else if (sdata->vif.type == NL80211_IFTYPE_STATION)
|
else if (sdata->vif.type == NL80211_IFTYPE_STATION)
|
||||||
memcpy(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN);
|
memcpy(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN);
|
||||||
|
@ -77,7 +77,8 @@ static void ieee80211_send_addba_request(struct ieee80211_sub_if_data *sdata,
|
|||||||
memcpy(mgmt->da, da, ETH_ALEN);
|
memcpy(mgmt->da, da, ETH_ALEN);
|
||||||
memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
|
memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
|
||||||
if (sdata->vif.type == NL80211_IFTYPE_AP ||
|
if (sdata->vif.type == NL80211_IFTYPE_AP ||
|
||||||
sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
|
sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
|
||||||
|
sdata->vif.type == NL80211_IFTYPE_MESH_POINT)
|
||||||
memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN);
|
memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN);
|
||||||
else if (sdata->vif.type == NL80211_IFTYPE_STATION)
|
else if (sdata->vif.type == NL80211_IFTYPE_STATION)
|
||||||
memcpy(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN);
|
memcpy(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN);
|
||||||
@ -371,13 +372,8 @@ int ieee80211_start_tx_ba_session(struct ieee80211_sta *pubsta, u16 tid,
|
|||||||
pubsta->addr, tid);
|
pubsta->addr, tid);
|
||||||
#endif /* CONFIG_MAC80211_HT_DEBUG */
|
#endif /* CONFIG_MAC80211_HT_DEBUG */
|
||||||
|
|
||||||
/*
|
|
||||||
* The aggregation code is not prepared to handle
|
|
||||||
* anything but STA/AP due to the BSSID handling.
|
|
||||||
* IBSS could work in the code but isn't supported
|
|
||||||
* by drivers or the standard.
|
|
||||||
*/
|
|
||||||
if (sdata->vif.type != NL80211_IFTYPE_STATION &&
|
if (sdata->vif.type != NL80211_IFTYPE_STATION &&
|
||||||
|
sdata->vif.type != NL80211_IFTYPE_MESH_POINT &&
|
||||||
sdata->vif.type != NL80211_IFTYPE_AP_VLAN &&
|
sdata->vif.type != NL80211_IFTYPE_AP_VLAN &&
|
||||||
sdata->vif.type != NL80211_IFTYPE_AP)
|
sdata->vif.type != NL80211_IFTYPE_AP)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
@ -195,7 +195,8 @@ void ieee80211_send_delba(struct ieee80211_sub_if_data *sdata,
|
|||||||
memcpy(mgmt->da, da, ETH_ALEN);
|
memcpy(mgmt->da, da, ETH_ALEN);
|
||||||
memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
|
memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
|
||||||
if (sdata->vif.type == NL80211_IFTYPE_AP ||
|
if (sdata->vif.type == NL80211_IFTYPE_AP ||
|
||||||
sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
|
sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
|
||||||
|
sdata->vif.type == NL80211_IFTYPE_MESH_POINT)
|
||||||
memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN);
|
memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN);
|
||||||
else if (sdata->vif.type == NL80211_IFTYPE_STATION)
|
else if (sdata->vif.type == NL80211_IFTYPE_STATION)
|
||||||
memcpy(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN);
|
memcpy(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN);
|
||||||
|
@ -2203,13 +2203,8 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx)
|
|||||||
|
|
||||||
switch (mgmt->u.action.category) {
|
switch (mgmt->u.action.category) {
|
||||||
case WLAN_CATEGORY_BACK:
|
case WLAN_CATEGORY_BACK:
|
||||||
/*
|
|
||||||
* The aggregation code is not prepared to handle
|
|
||||||
* anything but STA/AP due to the BSSID handling;
|
|
||||||
* IBSS could work in the code but isn't supported
|
|
||||||
* by drivers or the standard.
|
|
||||||
*/
|
|
||||||
if (sdata->vif.type != NL80211_IFTYPE_STATION &&
|
if (sdata->vif.type != NL80211_IFTYPE_STATION &&
|
||||||
|
sdata->vif.type != NL80211_IFTYPE_MESH_POINT &&
|
||||||
sdata->vif.type != NL80211_IFTYPE_AP_VLAN &&
|
sdata->vif.type != NL80211_IFTYPE_AP_VLAN &&
|
||||||
sdata->vif.type != NL80211_IFTYPE_AP)
|
sdata->vif.type != NL80211_IFTYPE_AP)
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user