Merge branch 'lan966x-xdp'
authorDavid S. Miller <davem@davemloft.net>
Fri, 11 Nov 2022 10:49:34 +0000 (10:49 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 11 Nov 2022 10:49:34 +0000 (10:49 +0000)
commit6c646de3f9e967f5f6992ee3613e003b57ef09fc
treeb441ec9ad9e0b713a8ba6242c8f6ea764ae72882
parent42ba9654acad33efe34e5125fb373889f46a3f1c
parent11871aba19748b3387e83a2db6360aa7119e9a1a
Merge branch 'lan966x-xdp'

Horatiu Vultur says:

====================
net: lan966x: Add xdp support

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

The first 2 patches are just moving things around just to simplify
the code for when the xdp is added.
Patch 3 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 4 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

---
v2->v3:
- inline lan966x_xdp_port_present
- update max_len of page_pool_params not to be the page size anymore but
  actually be rx->max_mtu.

v1->v2:
- rebase on net-next, once the fixes for FDMA and MTU were accepted
- drop patch 2, which changes the MTU as is not needed anymore
- allow to run xdp programs on frames bigger than 4KB
====================

Signed-off-by: David S. Miller <davem@davemloft.net>