mbox series

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

Message ID 20221019135008.3281743-1-horatiu.vultur@microchip.com (mailing list archive)
Headers show
Series net: lan966x: Add xdp support | expand

Message

Horatiu Vultur Oct. 19, 2022, 1:50 p.m. UTC
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

Comments

Horatiu Vultur Oct. 20, 2022, 8:51 p.m. UTC | #1
The 10/19/2022 15:50, Horatiu Vultur wrote:
> 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

If it is possible I would like to withdraw the submission for this patch
series.
The reason is that patch 2 touches some code that has some issues. The
issues were not introduced in this patch series. So I prefer to send first
the patches to fix those issues which need to go in net and only when those
fixes reaches net-next to resend this patch series. Otherwise will be some
pretty ugly merge conflicts.
So just to make the life easier for everyone, please ignore for now
this patch series.

> 
> 
> 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
>