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(-) -- 2.19.1