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.