[V2,net,0/4] net: fec: fix some issues of ndo_xdp_xmit()

Message ID 20230706081012.2278063-1-wei.fang@nxp.com
Headers
Series net: fec: fix some issues of ndo_xdp_xmit() |

Message

Wei Fang July 6, 2023, 8:10 a.m. UTC
  From: Wei Fang <wei.fang@nxp.com>

We encountered some issues when testing the ndo_xdp_xmit() interface
of the fec driver on i.MX8MP and i.MX93 platforms. These issues are
easy to reproduce, and the specific reproduction steps are as follows.

step1: The ethernet port of a board (board A) is connected to the EQOS
port of i.MX8MP/i.MX93, and the FEC port of i.MX8MP/i.MX93 is connected
to another ethernet port, such as a switch port.

step2: Board A uses the pktgen_sample03_burst_single_flow.sh to generate
and send packets to i.MX8MP/i.MX93. The command is shown below.
./pktgen_sample03_burst_single_flow.sh -i eth0 -d 192.168.6.8 -m \
56:bf:0d:68:b0:9e -s 1500

step3: i.MX8MP/i.MX93 use the xdp_redirect bfp program to redirect the
XDP frames from EQOS port to FEC port. The command is shown below.
./xdp_redirect eth1 eth0

After a few moments, the warning or error logs will be printed in the
console, for more details, please refer to the commit message of each
patch.

Wei Fang (4):
  net: fec: dynamically set the NETDEV_XDP_ACT_NDO_XMIT feature of XDP
  net: fec: recycle pages for transmitted XDP frames
  net: fec: increase the size of tx ring and update tx_wake_threshold
  net: fec: use netdev_err_once() instead of netdev_err()

 drivers/net/ethernet/freescale/fec.h      |  17 ++-
 drivers/net/ethernet/freescale/fec_main.c | 166 +++++++++++++++-------
 2 files changed, 127 insertions(+), 56 deletions(-)
  

Comments

Alexander Lobakin July 6, 2023, 11:51 a.m. UTC | #1
From: Wei Fang <wei.fang@nxp.com>
Date: Thu,  6 Jul 2023 16:10:08 +0800

> From: Wei Fang <wei.fang@nxp.com>

Please sync your Git commit author settings wrt Git email settings, so
that there wouldn't be "From:" for your own commits.

> 
> We encountered some issues when testing the ndo_xdp_xmit() interface
> of the fec driver on i.MX8MP and i.MX93 platforms. These issues are
> easy to reproduce, and the specific reproduction steps are as follows.
> 
> step1: The ethernet port of a board (board A) is connected to the EQOS
> port of i.MX8MP/i.MX93, and the FEC port of i.MX8MP/i.MX93 is connected
> to another ethernet port, such as a switch port.
> 
> step2: Board A uses the pktgen_sample03_burst_single_flow.sh to generate
> and send packets to i.MX8MP/i.MX93. The command is shown below.
> ./pktgen_sample03_burst_single_flow.sh -i eth0 -d 192.168.6.8 -m \
> 56:bf:0d:68:b0:9e -s 1500
> 
> step3: i.MX8MP/i.MX93 use the xdp_redirect bfp program to redirect the
> XDP frames from EQOS port to FEC port. The command is shown below.
> ./xdp_redirect eth1 eth0
> 
> After a few moments, the warning or error logs will be printed in the
> console, for more details, please refer to the commit message of each
> patch.
> 
> Wei Fang (4):
>   net: fec: dynamically set the NETDEV_XDP_ACT_NDO_XMIT feature of XDP
>   net: fec: recycle pages for transmitted XDP frames
>   net: fec: increase the size of tx ring and update tx_wake_threshold
>   net: fec: use netdev_err_once() instead of netdev_err()
> 
>  drivers/net/ethernet/freescale/fec.h      |  17 ++-
>  drivers/net/ethernet/freescale/fec_main.c | 166 +++++++++++++++-------
>  2 files changed, 127 insertions(+), 56 deletions(-)
Thanks,
Olek
  
patchwork-bot+netdevbpf@kernel.org July 11, 2023, 8:50 a.m. UTC | #2
Hello:

This series was applied to netdev/net.git (main)
by Paolo Abeni <pabeni@redhat.com>:

On Thu,  6 Jul 2023 16:10:08 +0800 you wrote:
> From: Wei Fang <wei.fang@nxp.com>
> 
> We encountered some issues when testing the ndo_xdp_xmit() interface
> of the fec driver on i.MX8MP and i.MX93 platforms. These issues are
> easy to reproduce, and the specific reproduction steps are as follows.
> 
> step1: The ethernet port of a board (board A) is connected to the EQOS
> port of i.MX8MP/i.MX93, and the FEC port of i.MX8MP/i.MX93 is connected
> to another ethernet port, such as a switch port.
> 
> [...]

Here is the summary with links:
  - [V2,net,1/4] net: fec: dynamically set the NETDEV_XDP_ACT_NDO_XMIT feature of XDP
    https://git.kernel.org/netdev/net/c/be7ecbe7ec7d
  - [V2,net,2/4] net: fec: recycle pages for transmitted XDP frames
    https://git.kernel.org/netdev/net/c/20f797399035
  - [V2,net,3/4] net: fec: increase the size of tx ring and update tx_wake_threshold
    https://git.kernel.org/netdev/net/c/56b3c6ba53d0
  - [V2,net,4/4] net: fec: use netdev_err_once() instead of netdev_err()
    https://git.kernel.org/netdev/net/c/84a109471987

You are awesome, thank you!