Update ixgbevf with standard XDP features by utilizing libeth library. First, in patches 1-4 refactor existing general and XDP Rx code to use libeth fill queues. Then in patches 5-7, add support for XDP multi-buffer and XDP_REDIRECT (target and source). Patch 8 addresses particularities of one HW type by using a software header split. Patches 9-10 address page pool not being reconfigured on MTU change.
v1->v2: * fix wrong return value when allocating descriptor memory fails * tag xdp_prog in ring structure as RCU Larysa Zaremba (9): ixgbevf: remove legacy Rx ixgbevf: do not share pages between packets ixgbevf: use libeth in Rx processing ixgbevf: branch prediction and cleanup ixgbevf: support XDP multi-buffer on Rx path ixgbevf: XDP_TX in multi-buffer through libeth ixgbevf: support XDP_REDIRECT and .ndo_xdp_xmit ixgbevf: reconfigure page pool when reallocating buffers ixgbevf: allow changing MTU when XDP program is attached Natalia Wochtman (1): ixgbevf: add pseudo header split drivers/net/ethernet/intel/Kconfig | 1 + drivers/net/ethernet/intel/ixgbevf/defines.h | 2 +- drivers/net/ethernet/intel/ixgbevf/ethtool.c | 48 - drivers/net/ethernet/intel/ixgbevf/ixgbevf.h | 98 +- .../net/ethernet/intel/ixgbevf/ixgbevf_main.c | 1104 +++++++---------- include/net/libeth/xdp.h | 2 +- 6 files changed, 487 insertions(+), 768 deletions(-) -- 2.52.0
