Add XDP support to mvneta driver for devices that rely on software buffer management. Supported verdicts are: - XDP_DROP - XDP_PASS - XDP_REDIRECT - XDP_TX Moreover set ndo_xdp_xmit net_device_ops function pointer in order to support redirecting from other device (e.g. virtio-net). Convert mvneta driver to page_pool API. This series is based on previous work done by Jesper and Ilias.
Changes since v1: - sync dma buffers before refilling hw queues - fix stats accounting Changes since RFC: - implement XDP_TX - make tx pending buffer list agnostic - code refactoring - check if device is running in mvneta_xdp_setup Lorenzo Bianconi (8): net: mvneta: introduce mvneta_update_stats routine net: mvneta: introduce page pool API for sw buffer manager net: mvneta: rely on build_skb in mvneta_rx_swbm poll routine net: mvneta: sync dma buffers before refilling hw queues net: mvneta: add basic XDP support net: mvneta: move header prefetch in mvneta_swbm_rx_frame net: mvneta: make tx buffer array agnostic net: mvneta: add XDP_TX support drivers/net/ethernet/marvell/Kconfig | 1 + drivers/net/ethernet/marvell/mvneta.c | 630 +++++++++++++++++++------- 2 files changed, 471 insertions(+), 160 deletions(-) -- 2.21.0