Skip to content

RFC add XDP support to mt76x2e/mt76x0e drivers

Lorenzo Bianconi linux-wireless netdev 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest5 patches 29 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5mac80211: introduce ieee80211_xdp handlerinclude/net/mac80211.h net/mac80211/driver-ops.h net/mac80211/iface.c+27 -00 replies
2/5mac80211: introduce ieee80211_vif_to_netdev routineinclude/net/mac80211.h net/mac80211/util.c+14 -00 replies
3/5mt76: split mt76_dma_rx_reset in init_rx_reset and complete_rx_resetdrivers/net/wireless/mediatek/mt76/dma.c drivers/net/wireless/mediatek/mt76/mt76.h+14 -40 replies
4/5mt76: make mt76x02_vif_init return intdrivers/net/wireless/mediatek/mt76/mt76x02.h drivers/net/wireless/mediatek/mt76/mt76x02_util.c drivers/net/wireless/mediatek/mt76/mt76x2/usb_main.c+8 -80 replies
5/5mt76: add XDP supportdrivers/net/wireless/mediatek/mt76/dma.c drivers/net/wireless/mediatek/mt76/mac80211.c drivers/net/wireless/mediatek/mt76/mt76.h +7 more+179 -10 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [RFC 0/5] add XDP support to mt76x2e/mt76x0e drivers

This series is intended as a playground to start experimenting/developing with XDP/eBPF over WiFi and collect ideas/concerns about it. Introduce XDP support to mt76x2e/mt76x0e drivers. Currently supported actions are:
- XDP_PASS
- XDP_ABORTED
- XDP_DROP
Introduce ndo_bpf mac80211 callback in order to to load a bpf program into low level driver XDP rx hook.
This series has been tested through a simple bpf program (available here:
https://github.com/LorenzoBianconi/bpf-workspace/tree/master/mt76_xdp_stats)
used to count frame types received by the device.
Possible eBPF use cases could be:
- implement new statistics through bpf maps
- implement fast packet filtering (e.g in monitor mode)
- ...

Lorenzo Bianconi (5):
mac80211: introduce ieee80211_xdp handler
mac80211: introduce ieee80211_vif_to_netdev routine
mt76: split mt76_dma_rx_reset in init_rx_reset and complete_rx_reset
mt76: make mt76x02_vif_init return int
mt76: add XDP support

 drivers/net/wireless/mediatek/mt76/dma.c      | 58 +++++++++++-
 drivers/net/wireless/mediatek/mt76/mac80211.c | 18 ++++
 drivers/net/wireless/mediatek/mt76/mt76.h     | 12 ++-
 .../net/wireless/mediatek/mt76/mt76x0/pci.c   |  3 +
 drivers/net/wireless/mediatek/mt76/mt76x02.h  |  7 +-
 .../net/wireless/mediatek/mt76/mt76x02_mac.h  |  1 +
 .../net/wireless/mediatek/mt76/mt76x02_mmio.c | 90 +++++++++++++++++++
 .../net/wireless/mediatek/mt76/mt76x02_util.c | 17 +++-
 .../wireless/mediatek/mt76/mt76x2/pci_init.c  |  2 +
 .../wireless/mediatek/mt76/mt76x2/pci_main.c  |  1 +
 .../wireless/mediatek/mt76/mt76x2/usb_main.c  |  3 +-
 include/net/mac80211.h                        |  4 +
 net/mac80211/driver-ops.h                     | 11 +++
 net/mac80211/iface.c                          | 14 +++
 net/mac80211/util.c                           | 12 +++
 15 files changed, 241 insertions(+), 12 deletions(-)
Signature · 1 line
2.19.1