diff options
author | Johannes Berg <johannes.berg@intel.com> | 2015-03-21 15:25:43 +0100 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2015-04-22 10:02:25 +0200 |
commit | 17c18bf880b2464851e5a2bca86521affc46c97e (patch) | |
tree | 3b200b80b2f494fe2084472204a93c4c51bc55b0 /net/mac80211/key.c | |
parent | a839e463e84a02c0ea65ff61504b56a83e193078 (diff) | |
download | op-kernel-dev-17c18bf880b2464851e5a2bca86521affc46c97e.zip op-kernel-dev-17c18bf880b2464851e5a2bca86521affc46c97e.tar.gz |
mac80211: add TX fastpath
In order to speed up mac80211's TX path, add the "fast-xmit" cache
that will cache the data frame 802.11 header and other data to be
able to build the frame more quickly. This cache is rebuilt when
external triggers imply changes, but a lot of the checks done per
packet today are simplified away to the check for the cache.
There's also a more detailed description in the code.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/key.c')
-rw-r--r-- | net/mac80211/key.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/mac80211/key.c b/net/mac80211/key.c index 2291cd7..3e0b814 100644 --- a/net/mac80211/key.c +++ b/net/mac80211/key.c @@ -229,6 +229,7 @@ static void __ieee80211_set_default_key(struct ieee80211_sub_if_data *sdata, if (uni) { rcu_assign_pointer(sdata->default_unicast_key, key); + ieee80211_check_fast_xmit_iface(sdata); drv_set_default_unicast_key(sdata->local, sdata, idx); } @@ -298,6 +299,7 @@ static void ieee80211_key_replace(struct ieee80211_sub_if_data *sdata, if (pairwise) { rcu_assign_pointer(sta->ptk[idx], new); sta->ptk_idx = idx; + ieee80211_check_fast_xmit(sta); } else { rcu_assign_pointer(sta->gtk[idx], new); sta->gtk_idx = idx; |