diff options
author | Felix Fietkau <nbd@nbd.name> | 2020-12-18 19:47:18 +0100 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2021-01-21 13:34:49 +0100 |
commit | 80a915ec4427f0083829f7e6518ee9f21521ee1e (patch) | |
tree | b532e28285156c37a6e03f74715d33a85bf809c0 /net/mac80211/debugfs.c | |
parent | net/fq_impl: do not maintain a backlog-sorted list of flows (diff) | |
download | linux-80a915ec4427f0083829f7e6518ee9f21521ee1e.tar.xz linux-80a915ec4427f0083829f7e6518ee9f21521ee1e.zip |
mac80211: add rx decapsulation offload support
This allows drivers to pass 802.3 frames to mac80211, with some restrictions:
- the skb must be passed with a valid sta
- fast-rx needs to be active for the sta
- monitor mode needs to be disabled
mac80211 will tell the driver when it is safe to enable rx decap offload for
a particular station.
In order to implement support, a driver must:
- call ieee80211_hw_set(hw, SUPPORTS_RX_DECAP_OFFLOAD)
- implement ops->sta_set_decap_offload
- mark 802.3 frames with RX_FLAG_8023
If it doesn't want to enable offload for some vif types, it can mask out
IEEE80211_OFFLOAD_DECAP_ENABLED in vif->offload_flags from within the
.add_interface or .update_vif_offload driver ops
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Link: https://lore.kernel.org/r/20201218184718.93650-6-nbd@nbd.name
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/debugfs.c')
-rw-r--r-- | net/mac80211/debugfs.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/mac80211/debugfs.c b/net/mac80211/debugfs.c index 9e723d943421..08a6f6644dc4 100644 --- a/net/mac80211/debugfs.c +++ b/net/mac80211/debugfs.c @@ -405,6 +405,7 @@ static const char *hw_flag_names[] = { FLAG(SUPPORTS_ONLY_HE_MULTI_BSSID), FLAG(AMPDU_KEYBORDER_SUPPORT), FLAG(SUPPORTS_TX_ENCAP_OFFLOAD), + FLAG(SUPPORTS_RX_DECAP_OFFLOAD), #undef FLAG }; |