summaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2018-02-23 04:06:04 -0500
committerJohannes Berg <johannes.berg@intel.com>2018-02-27 05:05:51 -0500
commit59cae5b9d6d39db2804ed5f0330eb5507d40c34c (patch)
treec7b239f231b39f1ca74c00b57e27c65526470c85 /net/mac80211
parentf74290fdb363665538743d14c4f00aeacdb68d87 (diff)
mac80211: support AP 4-addr mode fast-rx
Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/rx.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index 3dc162ddc3a6..89dcf9f762ce 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -3783,6 +3783,15 @@ void ieee80211_check_fast_rx(struct sta_info *sta)
3783 !(sdata->flags & IEEE80211_SDATA_DONT_BRIDGE_PACKETS) && 3783 !(sdata->flags & IEEE80211_SDATA_DONT_BRIDGE_PACKETS) &&
3784 (sdata->vif.type != NL80211_IFTYPE_AP_VLAN || 3784 (sdata->vif.type != NL80211_IFTYPE_AP_VLAN ||
3785 !sdata->u.vlan.sta); 3785 !sdata->u.vlan.sta);
3786
3787 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN &&
3788 sdata->u.vlan.sta) {
3789 fastrx.expected_ds_bits |=
3790 cpu_to_le16(IEEE80211_FCTL_FROMDS);
3791 fastrx.sa_offs = offsetof(struct ieee80211_hdr, addr4);
3792 fastrx.internal_forward = 0;
3793 }
3794
3786 break; 3795 break;
3787 default: 3796 default:
3788 goto clear; 3797 goto clear;