[PATCH net-next v4 0/7] net: lan966x: Extend xdp support

From: Horatiu Vultur
Date: Tue Nov 22 2022 - 16:40:07 EST


Extend the current support of XDP in lan966x with the action XDP_TX and
XDP_REDIRECT.
The first patches just prepare the things such that it would be easier
to add XDP_TX and XDP_REDIRECT actions. Like adding XDP_PACKET_HEADROOM,
introduce helper functions, use the correct dma_dir for the page pool
The last 2 patches introduce the XDP actions XDP_TX and XDP_REDIRECT.

v3->v4:
- use napi_consume_skb instead of dev_kfree_skb_any
- arrange members in struct lan966x_tx_dcb_buf not to have holes
- fix when xdp program is added the check for determining if page pool
needs to be recreated was wrong
- change type for len in lan966x_tx_dcb_buf to u32

v2->v3:
- make sure to update rxq memory model
- update the page pool direction if there is any xdp program
- in case of action XDP_TX give back to reuse the page
- in case of action XDP_REDIRECT, remap the frame and make sure to
unmap it when is transmitted.

v1->v2:
- use skb_reserve of using skb_put and skb_pull
- make sure that data_len doesn't include XDP_PACKET_HEADROOM

Horatiu Vultur (7):
net: lan966x: Add XDP_PACKET_HEADROOM
net: lan966x: Introduce helper functions
net: lan966x: Add len field to lan966x_tx_dcb_buf
net: lan966x: Update rxq memory model
net: lan966x: Update dma_dir of page_pool_params
net: lan966x: Add support for XDP_TX
net: lan966x: Add support for XDP_REDIRECT

.../ethernet/microchip/lan966x/lan966x_fdma.c | 265 +++++++++++++++---
.../ethernet/microchip/lan966x/lan966x_main.c | 5 +-
.../ethernet/microchip/lan966x/lan966x_main.h | 25 +-
.../ethernet/microchip/lan966x/lan966x_xdp.c | 70 ++++-
4 files changed, 314 insertions(+), 51 deletions(-)

--
2.38.0