linux/drivers/net
Felix Fietkau 6aea26ce5a mac80211: rework tx encapsulation offload API
The current API (which lets the driver turn on/off per vif directly) has a
number of limitations:
- it does not deal with AP_VLAN
- conditions for enabling (no tkip, no monitor) are only checked at
  add_interface time
- no way to indicate 4-addr support

In order to address this, store offload flags in struct ieee80211_vif
(easy to extend for decap offload later). mac80211 initially sets the enable
flag, but gives the driver a chance to modify it before its settings are
applied. In addition to the .add_interface op, a .update_vif_offload op is
introduced, which can be used for runtime changes.

If a driver can't disable encap offload at runtime, or if it has some extra
limitations, it can simply override the flags within those ops.

Support for encap offload with 4-address mode interfaces can be enabled
by setting a flag from .add_interface or .update_vif_offload.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
Link: https://lore.kernel.org/r/20200908123702.88454-6-nbd@nbd.name
[resolved conflict with commit aa2092a9ba ("ath11k: add raw mode and
software crypto support")]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2020-09-18 12:02:57 +02:00
..
appletalk treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
arcnet treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
bonding treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
caif
can treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
dsa net: dsa: mt7530: Add the support of MT7531 switch 2020-09-14 16:30:39 -07:00
ethernet ionic: add DIMLIB to Kconfig 2020-09-17 18:00:30 -07:00
fddi treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
fjes treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
hamradio treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
hippi hippi: switch from 'pci_' to 'dma_' API 2020-09-08 20:15:57 -07:00
hyperv hv_netvsc: Fix the queue_mapping in netvsc_vf_xmit() 2020-08-20 16:24:00 -07:00
ieee802154
ipa net: ipa: remove duplicate include 2020-08-26 16:12:31 -07:00
ipvlan ipvlan: advertise link netns via netlink 2020-08-24 15:53:33 -07:00
mdio net: mdio: octeon: Select MDIO_DEVRES 2020-09-17 17:07:50 -07:00
netdevsim netdevsim: add pause frame stats 2020-09-15 13:26:28 -07:00
pcs net: phy: add Lynx PCS module 2020-08-31 12:52:33 -07:00
phy net: phy: mchp: Add support for LAN8814 QUAD PHY 2020-09-11 17:41:55 -07:00
plip treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
ppp
slip
team
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-09-04 21:28:59 -07:00
vmxnet3 treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
wan drivers/net/wan/x25_asy: Remove an unnecessary x25_type_trans call 2020-09-14 14:41:02 -07:00
wimax net: wimax: i2400m: fix 'msg_skb' kernel-doc warning in i2400m_msg_to_dev() 2020-09-08 20:04:27 -07:00
wireguard netlink: consistently use NLA_POLICY_MIN_LEN() 2020-08-18 12:28:45 -07:00
wireless mac80211: rework tx encapsulation offload API 2020-09-18 12:02:57 +02:00
xen-netback treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
bareudp.c
dummy.c
eql.c
geneve.c
gtp.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-09-04 21:28:59 -07:00
ifb.c
Kconfig net: mdio: Move MDIO drivers into a new subdirectory 2020-08-27 06:55:50 -07:00
LICENSE.SRC
loopback.c
macsec.c netlink: consistently use NLA_POLICY_MIN_LEN() 2020-08-18 12:28:45 -07:00
macvlan.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
macvtap.c
Makefile net: mdio: Move MDIO drivers into a new subdirectory 2020-08-27 06:55:50 -07:00
mdio.c
mii.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
net_failover.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c
thunderbolt.c
tun.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-09-04 21:28:59 -07:00
veth.c net: remove napi_hash_del() from driver-facing API 2020-09-10 13:08:46 -07:00
virtio_net.c net: remove napi_hash_del() from driver-facing API 2020-09-10 13:08:46 -07:00
vrf.c
vsockmon.c
vxlan.c
xen-netfront.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00