Re: [PATCH net-next v9 0/3] Add minimal XDP support to TI AM65 CPSW Ethernet driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Julien,

On 12/04/2024 18:38, Julien Panis wrote:
> This patch adds XDP support to TI AM65 CPSW Ethernet driver.
> 
> The following features are implemented: NETDEV_XDP_ACT_BASIC,
> NETDEV_XDP_ACT_REDIRECT, and NETDEV_XDP_ACT_NDO_XMIT.
> 
> Zero-copy and non-linear XDP buffer supports are NOT implemented.
> 
> Besides, the page pool memory model is used to get better performance.
> 
> Signed-off-by: Julien Panis <jpanis@xxxxxxxxxxxx>

I've been trying to test this since I don't want my RX multi queue series [1]
to break AF_XDP feature. However, with 6.10 I don't see AF_XDP working at all
and even breaking basic networking on am65-cpsw.

The in kernel XDP tests have been dropped so I've been using xdp-tools [2]

My test is to try XDP_DROP with xdp-bench using skb mode first and then
native XDP mode.

Below is the test log. You can see that skb mode works fine. The moment I try
native XDP mode the interface seems to go down and up and then just locks up.

I can no longer ping to the remote host.

----test log starts-----

root@am64xx-evm:~/xdp-tools/xdp-bench# ping 192.168.1.36
PING 192.168.1.36 (192.168.1.36) 56(84) bytes of data.
64 bytes from 192.168.1.36: icmp_seq=1 ttl=64 time=0.801 ms
64 bytes from 192.168.1.36: icmp_seq=2 ttl=64 time=0.967 ms
64 bytes from 192.168.1.36: icmp_seq=3 ttl=64 time=0.876 ms
^C
--- 192.168.1.36 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 0.801/0.881/0.967/0.067 ms


root@am64xx-evm:~/xdp-tools/xdp-bench# ./xdp-bench drop -m skb eth0
Dropping packets on eth0 (ifindex 2; driver am65-cpsw-nuss)
Summary                     81127 rx/s                  0 err/s        
Summary                     81088 rx/s                  0 err/s        
Summary                     81089 rx/s                  0 err/s        
Summary                     53065 rx/s                  0 err/s        
^C
  Packets received    : 296369    
  Average packets/s   : 74092     
  Rx dropped          : 296369    

root@am64xx-evm:~/xdp-tools/xdp-bench# ping 192.168.1.36
PING 192.168.1.36 (192.168.1.36) 56(84) bytes of data.
64 bytes from 192.168.1.36: icmp_seq=1 ttl=64 time=1.02 ms
64 bytes from 192.168.1.36: icmp_seq=2 ttl=64 time=0.756 ms
64 bytes from 192.168.1.36: icmp_seq=3 ttl=64 time=0.963 ms
^C
--- 192.168.1.36 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 0.756/0.914/1.024/0.114 ms


root@am64xx-evm:~/xdp-tools/xdp-bench# ./xdp-bench drop -m native eth0
[  889.096851] am65-cpsw-nuss 8000000.ethernet eth0: Link is Down
[  889.110889] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:00] driver [TI DP83867] (irq=POLL)
[  889.120377] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
Dropping packets on eth0 (ifindex 2; driver am65-cpsw-nuss)
Summary                         0 rx/s                  0 err/s        
Summary                         0 rx/s                  0 err/s        
[  893.218318] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
Summary                       250 rx/s                  0 err/s        
Summary                         0 rx/s                  0 err/s        
Summary                         0 rx/s                  0 err/s        
Summary                         0 rx/s                  0 err/s        
^C
[  901.898170] am65-cpsw-nuss 8000000.ethernet eth0: Link is Down
[  901.910292] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:00] driver [TI DP83867] (irq=POLL)
[  901.919661] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
  Packets received    : 250       
  Average packets/s   : 42        
  Rx dropped          : 250       
root@am64xx-evm:~/xdp-tools/xdp-bench# [  906.018296] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx

root@am64xx-evm:~/xdp-tools/xdp-bench# ping 192.168.1.36
PING 192.168.1.36 (192.168.1.36) 56(84) bytes of data.

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux