[PATCH v4 00/14] mac80211 encapsulation offload / performance patches

Felix Fietkau
2020-09-08T20:02:28Z

v4:
- reorder patches
- instead of disabling offload when tkip or sw crypto is used, fall back
in the tx handler
- add patch to remove a forward declaration
- remove unnecessary checks for p2p go/client and add a comment instead

v3:
- fix sta pointer and skb info pointer in ieee80211_tx_status_ext skb free patch

v2:
- add cover letter
- fix netdev ops for vlan interfaces
- make multicast traffic fall back to non-offload path to support sw crypto
- use ieee80211_tx_status_ext as replacements for ieee80211_free_txskb
(the latter does not work with encap offload packets)
- add api for bulk free after tx status

Felix Fietkau (14):
mac80211: add missing queue/hash initialization to 802.3 xmit
mac80211: check and refresh aggregation session in encap offload tx
mac80211: skip encap offload for tx multicast/control packets
mac80211: set info->control.hw_key for encap offload packets
mac80211: rework tx encapsulation offload API
mac80211: reduce duplication in tx status functions
mac80211: remove tx status call to ieee80211_sta_register_airtime
mac80211: optimize station connection monitor
mac80211: swap NEED_TXPROCESSING and HW_80211_ENCAP tx flags
mac80211: unify 802.3 (offload) and 802.11 tx status codepath
mac80211: support using ieee80211_tx_status_ext to free skbs without
status info
mac80211: extend ieee80211_tx_status_ext to support bulk free
mac80211: notify the driver when a sta uses 4-address mode
mac80211: reorganize code to remove a forward declaration

drivers/net/wireless/ath/ath11k/dp_tx.c | 4 +-
drivers/net/wireless/ath/ath11k/mac.c | 61 +-
include/net/mac80211.h | 49 +-
net/mac80211/cfg.c | 1 +
net/mac80211/debugfs.c | 1 +
net/mac80211/driver-ops.h | 29 +
net/mac80211/ieee80211_i.h | 5 +-
net/mac80211/iface.c | 1573 ++++++++++++-----------
net/mac80211/key.c | 15 -
net/mac80211/mesh_hwmp.c | 4 +-
net/mac80211/mesh_ps.c | 2 +-
net/mac80211/mlme.c | 56 +-
net/mac80211/rx.c | 11 +-
net/mac80211/sta_info.h | 2 -
net/mac80211/status.c | 219 ++--
net/mac80211/trace.h | 33 +
net/mac80211/tx.c | 113 +-
17 files changed, 1119 insertions(+), 1059 deletions(-)

--
2.28.0