[PATCH net-next v3 0/4] net: ntb_netdev: Preserve checksum offload across NTB
From: Koichiro Den <hidden>
Date: 2026-09-04 05:21:38
Also in:
lkml
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 the NTB link using opaque
per-payload metadata in ntb_transport. Peers without metadata support
continue to use software checksumming. The feature remains disabled by
default and must be enabled explicitly on trusted links.
Note: the first two fixes came from Sashiko's review of v1. They touch
the same ntb_transport path as the metadata patch, so keeping them here
avoids a cross-tree dependency. With review from the NTB side, I hope
the whole series can go through net-next.
Best regards,
Koichiro
---
Changes in v3:
- Rebase after the related ntb_netdev/ntb_transport 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)
v2: https://lore.kernel.org/r/20260817064916.13278-1-den@valinux.co.jp/ (local)
v1: https://lore.kernel.org/r/20260814032913.3558500-1-den@valinux.co.jp/ (local)
Koichiro Den (4):
NTB: ntb_transport: Order RX descriptor reads after completion
NTB: ntb_transport: Use little-endian shared fields
NTB: ntb_transport: Add per-payload client metadata
net: ntb_netdev: Preserve CHECKSUM_PARTIAL across NTB
drivers/net/ntb_netdev.c | 95 ++++++++++++++++++++++++++++++-----
drivers/ntb/ntb_transport.c | 73 +++++++++++++++++----------
include/linux/ntb_transport.h | 6 ++-
3 files changed, 133 insertions(+), 41 deletions(-)
base-commit: 6ebcf5074cff0402730c6981d2397139fee6322d
--
2.51.0