[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aHohbwWCF0ccpmtj@soc-5CG4396X81.clients.intel.com>
Date: Fri, 18 Jul 2025 12:26:55 +0200
From: Larysa Zaremba <larysa.zaremba@...el.com>
To: Jason Xing <kerneljasonxing@...il.com>
CC: Jakub Kicinski <kuba@...nel.org>, Stanislav Fomichev <sdf@...ichev.me>,
"Nguyen, Anthony L" <anthony.l.nguyen@...el.com>,
<przemyslaw.kitszel@...el.com>, Maciej Fijalkowski
<maciej.fijalkowski@...el.com>, <intel-wired-lan@...ts.osuosl.org>, netdev
<netdev@...r.kernel.org>
Subject: Re: ixgbe driver stops sending normal data when using xsk
On Wed, Jul 16, 2025 at 11:41:42AM +0800, Jason Xing wrote:
> Hi all,
>
> I'm currently faced with one tough issue caused by zero copy mode in
> xsk with ixgbe driver loaded. The case is that if we use xdpsock to
> send descs, nearly at the same time normal packets from other tx
> queues cannot be transmitted/completed at all.
>
> Here is how I try:
> 1. run iperf or ping to see if the transmission is successful.
> 2. then run "timeout 5 ./xdpsock -i enp2s0f0 -t -z -s 64"
>
> You will obviously find the whole machine loses connection. It can
> only recover as soon as the xdpsock is stopped due to timeout.
>
> I tried a lot and then traced down to this line in ixgbe driver:
> ixgbe_clean_tx_irq()
> -> if (!(eop_desc->wb.status & cpu_to_le32(IXGBE_TXD_STAT_DD)))
> break;
> The above line always 'breaks' the sending process.
>
> I also managed to make the external ixgbe 6.15 work and it turned out
> to be the same issue as before.
>
> I have no idea on how to analyze further in this driver. Could someone
> point out a direction that I can take? Is it a known issue?
>
> Thanks,
> Jason
>
I was able to reproduce the described behaviour, xdpsock does break the IP
communication. However, in my case this was not because of ixgbe not being able
to send, but because of queue 0 RX packets being dropped, which is the indended
outcome in xdpsock, even in Tx only mode.
When I run `tcpdump -nn -e -p -i <ifname>` on the link partner, I see that the
ixgbe host spams ARP packets just fine.
When debugging low-level stuff such as XDP, I advise you to send packets at the
lower level, e.g. with scapy's sendp().
In case you have a different problem, please provide lspci card description and
some truncated output of the commands that you are running and the resulting
dmesg.
Powered by blists - more mailing lists