From: Koichiro Den <den@valinux.co.jp>
To: Jon Mason <jdmason@kudzu.us>, Dave Jiang <dave.jiang@intel.com>,
Allen Hubbe <allenbh@gmail.com>,
Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>
Cc: ntb@lists.linux.dev, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH net-next v4 00/10] net: ntb_netdev: Preserve checksum offload across NTB
Date: Mon, 14 Sep 2026 17:48:28 +0900 [thread overview]
Message-ID: <20260914084838.2158249-1-den@valinux.co.jp> (raw)
Hi,
ntb_netdev may be used on embedded systems, where CPU resources are
often limited. L4 checksum calculation can therefore become a bottleneck
even when traffic stays within a trusted PCIe fabric.
This series carries CHECKSUM_PARTIAL across NTB in an ntb_netdev header.
A per-payload metadata bit in ntb_transport marks its presence. Receive
support is exchanged at QP link-up through scratchpads. Peers without
capability exchange continue to use software checksumming. The feature
remains disabled by default and must be enabled explicitly on trusted
links. RX checksum offload settings stay unchanged while the interface
is up.
Best regards,
Koichiro
---
Changes in v4:
- Move offload metadata into an ntb_netdev header (Jakub)
- Add an RX entry completion ordering fix (Sashiko)
- Learn checksum support from link events, not RX callbacks, and keep
it per QP (Sashiko)
https://lore.kernel.org/r/xsaocp32a6siggahziu4jqbwgmdasmp6v64pd5aujfkoxhiqws@n5luestlntzc/
- Advertise receive support only with RXCSUM enabled. Drop
partial-checksum frames when it is disabled (Sashiko)
- Keep local QP link requests separate from peer readiness
- Reject short RX frames before parsing them
- Factor out RX packet and byte accounting
- Add a transport API to exchange client capabilities at QP link-up
- Keep NETIF_F_RXCSUM unchanged while the interface is up
Changes in v3:
- Rebase after the related ntb_netdev fixes landed in net-next
- Avoid counting RX checksum failures as both errors and drops (Jakub)
- Reject csum_start below ETH_HLEN on RX and fall back to software on
TX (Jakub)
- Use READ_ONCE() for hdr->ver and hdr->len (Sashiko)
Changes in v2:
- Reset peer checksum capability on every link event (Sashiko)
- Add prerequisite fixes for RX ordering and shared field endianness
(Sashiko)
v3: https://lore.kernel.org/r/20260904052134.2970111-1-den@valinux.co.jp/
v2: https://lore.kernel.org/r/20260817064916.13278-1-den@valinux.co.jp/
v1: https://lore.kernel.org/r/20260814032913.3558500-1-den@valinux.co.jp/
Koichiro Den (10):
NTB: ntb_transport: Order RX descriptor reads after completion
NTB: ntb_transport: Use little-endian shared fields
NTB: ntb_transport: Order RX entry completion
NTB: ntb_transport: Keep local QP link requests separate
NTB: ntb_transport: Exchange client capabilities at link-up
NTB: ntb_transport: Add per-payload client metadata
net: ntb_netdev: Reject short RX frames
net: ntb_netdev: Factor out RX statistics update
net: ntb_netdev: Introduce an optional packet header, ntb_netdev_hdr
net: ntb_netdev: Preserve CHECKSUM_PARTIAL across NTB
drivers/net/ntb_netdev.c | 191 ++++++++++++++++++++++++++++------
drivers/ntb/ntb_transport.c | 177 +++++++++++++++++++++++--------
include/linux/ntb_transport.h | 12 ++-
3 files changed, 303 insertions(+), 77 deletions(-)
base-commit: 879e280b8486d4612ad1aa050d6fada2dd80cf1c
prerequisite-patch-id: 0000000000000000000000000000000000000000
--
2.51.0
next reply other threads:[~2026-09-14 8:48 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-14 8:48 Koichiro Den [this message]
2026-09-14 8:48 ` [PATCH net-next v4 01/10] NTB: ntb_transport: Order RX descriptor reads after completion Koichiro Den
2026-09-19 0:36 ` Joe Damato
2026-09-19 12:37 ` Koichiro Den
2026-09-14 8:48 ` [PATCH net-next v4 02/10] NTB: ntb_transport: Use little-endian shared fields Koichiro Den
2026-09-19 0:54 ` Joe Damato
2026-09-19 13:06 ` Koichiro Den
2026-09-14 8:48 ` [PATCH net-next v4 03/10] NTB: ntb_transport: Order RX entry completion Koichiro Den
2026-09-19 1:10 ` Joe Damato
2026-09-19 12:53 ` Koichiro Den
2026-09-14 8:48 ` [PATCH net-next v4 04/10] NTB: ntb_transport: Keep local QP link requests separate Koichiro Den
2026-09-17 20:49 ` netdev-bot+sashiko
2026-09-14 8:48 ` [PATCH net-next v4 05/10] NTB: ntb_transport: Exchange client capabilities at link-up Koichiro Den
2026-09-17 20:49 ` netdev-bot+sashiko
2026-09-14 8:48 ` [PATCH net-next v4 06/10] NTB: ntb_transport: Add per-payload client metadata Koichiro Den
2026-09-14 8:48 ` [PATCH net-next v4 07/10] net: ntb_netdev: Reject short RX frames Koichiro Den
2026-09-19 1:14 ` Joe Damato
2026-09-14 8:48 ` [PATCH net-next v4 08/10] net: ntb_netdev: Factor out RX statistics update Koichiro Den
2026-09-14 8:48 ` [PATCH net-next v4 09/10] net: ntb_netdev: Introduce an optional packet header, ntb_netdev_hdr Koichiro Den
2026-09-17 20:49 ` netdev-bot+sashiko
2026-09-14 8:48 ` [PATCH net-next v4 10/10] net: ntb_netdev: Preserve CHECKSUM_PARTIAL across NTB Koichiro Den
2026-09-17 20:49 ` netdev-bot+sashiko
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=20260914084838.2158249-1-den@valinux.co.jp \
--to=den@valinux.co.jp \
--cc=allenbh@gmail.com \
--cc=andrew+netdev@lunn.ch \
--cc=dave.jiang@intel.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=jdmason@kudzu.us \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=ntb@lists.linux.dev \
--cc=pabeni@redhat.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®