From: Rongzheng Wang <testwrzwrz@gmail.com>
To: netdev@vger.kernel.org
Cc: Maciej Fijalkowski <maciej.fijalkowski@intel.com>,
Magnus Karlsson <magnus.karlsson@intel.com>,
Jason Xing <kerneljasonxing@gmail.com>,
Stanislav Fomichev <sdf@fomichev.me>,
Jesper Dangaard Brouer <hawk@kernel.org>,
stable@vger.kernel.org, bpf@vger.kernel.org,
linux-kernel@vger.kernel.org,
Rongzheng Wang <testwrzwrz@gmail.com>
Subject: [PATCH net v4 0/2] xsk: fix multi-buffer TX software checksum
Date: Fri, 30 Oct 2026 10:32:46 +0800 [thread overview]
Message-ID: <20261030023248.78802-1-testwrzwrz@gmail.com> (raw)
This is v4 of the AF_XDP multi-buffer TX software checksum fix.
I found this while testing multi-buffer TX with XDP_UMEM_TX_SW_CSUM: a
two-descriptor packet had a bad wire checksum, while a single descriptor was
correct. There was no production or syzbot report.
Patch 1 moves the software checksum calculation from xsk_skb_metadata() to
the point where the last descriptor has been added to the skb. The old
code calculated the checksum after the first descriptor, so multi-buffer
packets only included the first fragment in the checksum.
Patch 2 sends the packet using every descriptor count from 1 through
MAX_SKB_FRAGS + 1, and runs the existing metadata and checksum verification
for each case. The last case is the copy-mode frame limit documented in
af_xdp.rst.
Patch 1 is unchanged since v3. The updated selftest passes in a local QEMU
run.
v4:
- exercise every descriptor count up to MAX_SKB_FRAGS + 1 (Maciej)
- keep the last descriptor within the packet length (Maciej)
- fix the local variable declaration order (Maciej)
v3: https://lore.kernel.org/all/20261028025026.11401-1-testwrzwrz@gmail.com/
v2: https://lore.kernel.org/all/20261024141157.59301-1-testwrzwrz@gmail.com/
v1: https://lore.kernel.org/all/20261024091256.17918-1-testwrzwrz@gmail.com/
Rongzheng Wang (2):
xsk: defer software checksum until the skb is complete
selftests/bpf: cover AF_XDP multi-buffer TX software checksum
net/xdp/xsk.c | 23 ++-
.../selftests/bpf/prog_tests/xdp_metadata.c | 147 +++++++++++-------
2 files changed, 107 insertions(+), 63 deletions(-)
--
2.39.5 (Apple Git-154)
next reply other threads:[~2026-10-30 2:33 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-30 2:32 Rongzheng Wang [this message]
2026-10-30 2:32 ` [PATCH net v4 1/2] xsk: defer software checksum until the skb is complete Rongzheng Wang
2026-10-30 6:31 ` Jason Xing
2026-10-30 8:40 ` Rongzheng Wang
2026-10-30 9:15 ` Jason Xing
2026-10-30 9:46 ` Rongzheng Wang
2026-10-30 11:56 ` Maciej Fijalkowski
2026-10-30 12:24 ` Rongzheng Wang
2026-10-30 2:32 ` [PATCH net v4 2/2] selftests/bpf: cover AF_XDP multi-buffer TX software checksum Rongzheng Wang
2026-10-30 12:02 ` Maciej Fijalkowski
2026-10-30 20:12 ` Stanislav Fomichev
2026-10-31 1:31 ` Rongzheng Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261030023248.78802-1-testwrzwrz@gmail.com \
--to=testwrzwrz@gmail.com \
--cc=bpf@vger.kernel.org \
--cc=hawk@kernel.org \
--cc=kerneljasonxing@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maciej.fijalkowski@intel.com \
--cc=magnus.karlsson@intel.com \
--cc=netdev@vger.kernel.org \
--cc=sdf@fomichev.me \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.