[PATCH net-next 0/5] net: lan966x: Add xdp support

From: Horatiu Vultur
Date: Wed Oct 19 2022 - 10:07:36 EST


Add support for xdp in lan966x driver. Currently on XDP_PASS and
XDP_DROP are supported.

The first 3 patches are just moving things around just to simplify
the code for when the xdp is added.
Patch 4 actually adds the xdp. Currently the only supported actions
are XDP_PASS and XDP_DROP. In the future this will be extended with
XDP_TX and XDP_REDIRECT.
Patch 5 changes to use page pool API, because the handling of the
pages is similar with what already lan966x driver is doing. In this
way is possible to remove some of the code.

All these changes give a small improvement on the RX side:
Before:
iperf3 -c 10.96.10.1 -R
[ 5] 0.00-10.01 sec 514 MBytes 430 Mbits/sec 0 sender
[ 5] 0.00-10.00 sec 509 MBytes 427 Mbits/sec receiver

After:
iperf3 -c 10.96.10.1 -R
[ 5] 0.00-10.02 sec 540 MBytes 452 Mbits/sec 0 sender
[ 5] 0.00-10.01 sec 537 MBytes 450 Mbits/sec receiver


Horatiu Vultur (5):
net: lan966x: Add define IFH_LEN_BYTES
net: lan966x: Rename lan966x_fdma_get_max_mtu
net: lan966x: Split function lan966x_fdma_rx_get_frame
net: lan966x: Add basic XDP support
net: lan96x: Use page_pool API

.../net/ethernet/microchip/lan966x/Kconfig | 1 +
.../net/ethernet/microchip/lan966x/Makefile | 3 +-
.../ethernet/microchip/lan966x/lan966x_fdma.c | 194 +++++++++++-------
.../ethernet/microchip/lan966x/lan966x_ifh.h | 1 +
.../ethernet/microchip/lan966x/lan966x_main.c | 26 ++-
.../ethernet/microchip/lan966x/lan966x_main.h | 28 +++
.../ethernet/microchip/lan966x/lan966x_xdp.c | 100 +++++++++
7 files changed, 275 insertions(+), 78 deletions(-)
create mode 100644 drivers/net/ethernet/microchip/lan966x/lan966x_xdp.c

--
2.38.0