From: Subash Abhinov Kasiviswanathan <subash.a.kasiviswanathan@oss.qualcomm.com>
To: davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
pabeni@redhat.com, andrew+netdev@lunn.ch, corbet@lwn.net
Cc: horms@kernel.org, skhan@linuxfoundation.org,
rdunlap@infradead.org, netdev@vger.kernel.org,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
lkp@intel.com,
Subash Abhinov Kasiviswanathan
<subash.a.kasiviswanathan@oss.qualcomm.com>
Subject: [PATCH net-next v3 0/8] Add HW GRO handling in rmnet
Date: Fri, 9 Oct 2026 01:43:43 -0700 [thread overview]
Message-ID: <20261009084351.317632-1-subash.a.kasiviswanathan@oss.qualcomm.com> (raw)
This patch series adds downlink packet coalescing support to the rmnet driver.
Hardware can coalesce TCP and UDP packets into a single MAPv5 frame.
A frame can contain up to 48 packets grouped into up to six NLOs.
Packets within one NLO have the same length, while different NLOs may have
different lengths. Since an skb supports only one GSO size, the driver
reconstructs separate skbs for each NLO or packet run.
The coalescing header is a fixed 28-byte structure containing all six NLO
slots. The checksum error bitmap is a single 48-bit, frame-wide stream
consumed least significant bit first. This allows the driver to identify
checksum errors across NLO boundaries and for NLOs containing more than
eight packets.
The driver drops coalesced segments reported with bad transport checksums.
IPv4 UDP packets with a zero checksum remain valid because that checksum is
optional. Multi-packet coalesced frames require RX checksum offload and
hardware GRO support. Single-packet frames are delivered as normal non-GSO
skbs when those features are disabled.
v2->v3:
- Fix build warnings in the patch "net: qualcomm: rmnet: Add DL coalescing statistics"
- No changes to the other patches
v2:
https://lore.kernel.org/all/20261008005543.2630828-1-subash.a.kasiviswanathan@oss.qualcomm.com/
v1:
https://lore.kernel.org/all/20260930051345.857443-1-subash.a.kasiviswanathan@oss.qualcomm.com/
Assisted-by: LLM
Subash Abhinov Kasiviswanathan (8):
net: qualcomm: rmnet: Update MTU handling during format changes
uapi: if_link: Add RMNET_FLAGS_INGRESS_COALESCE
net: qualcomm: rmnet: Process MAPv5 frames as a list
net: qualcomm: rmnet: Restrict supported MAP checksum configurations
net: qualcomm: rmnet: Add DL packet coalescing support
net: qualcomm: rmnet: Work around coalescing hardware quirks
net: qualcomm: rmnet: Add DL coalescing statistics
docs: networking: Add documentation for the coalescing support in
rmnet
.../cellular/qualcomm/rmnet.rst | 153 ++-
.../ethernet/qualcomm/rmnet/rmnet_config.c | 92 +-
.../ethernet/qualcomm/rmnet/rmnet_config.h | 104 +-
.../ethernet/qualcomm/rmnet/rmnet_handlers.c | 25 +-
.../net/ethernet/qualcomm/rmnet/rmnet_map.h | 20 +-
.../ethernet/qualcomm/rmnet/rmnet_map_data.c | 983 +++++++++++++++++-
.../net/ethernet/qualcomm/rmnet/rmnet_vnd.c | 199 +++-
.../net/ethernet/qualcomm/rmnet/rmnet_vnd.h | 4 +-
include/linux/if_rmnet.h | 31 +
include/uapi/linux/if_link.h | 1 +
10 files changed, 1486 insertions(+), 126 deletions(-)
--
2.34.1
next reply other threads:[~2026-10-09 8:44 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-09 8:43 Subash Abhinov Kasiviswanathan [this message]
2026-10-09 8:43 ` [PATCH net-next v3 1/8] net: qualcomm: rmnet: Update MTU handling during format changes Subash Abhinov Kasiviswanathan
2026-10-10 9:29 ` netdev-bot+sashiko
2026-10-09 8:43 ` [PATCH net-next v3 2/8] uapi: if_link: Add RMNET_FLAGS_INGRESS_COALESCE Subash Abhinov Kasiviswanathan
2026-10-10 9:29 ` netdev-bot+sashiko
2026-10-09 8:43 ` [PATCH net-next v3 3/8] net: qualcomm: rmnet: Process MAPv5 frames as a list Subash Abhinov Kasiviswanathan
2026-10-09 8:43 ` [PATCH net-next v3 4/8] net: qualcomm: rmnet: Restrict supported MAP checksum configurations Subash Abhinov Kasiviswanathan
2026-10-10 9:29 ` netdev-bot+sashiko
2026-10-09 8:43 ` [PATCH net-next v3 5/8] net: qualcomm: rmnet: Add DL packet coalescing support Subash Abhinov Kasiviswanathan
2026-10-10 9:29 ` netdev-bot+sashiko
2026-10-09 8:43 ` [PATCH net-next v3 6/8] net: qualcomm: rmnet: Work around coalescing hardware quirks Subash Abhinov Kasiviswanathan
2026-10-10 9:29 ` netdev-bot+sashiko
2026-10-09 8:43 ` [PATCH net-next v3 7/8] net: qualcomm: rmnet: Add DL coalescing statistics Subash Abhinov Kasiviswanathan
2026-10-10 9:29 ` netdev-bot+sashiko
2026-10-09 8:43 ` [PATCH net-next v3 8/8] docs: networking: Add documentation for the coalescing support in rmnet Subash Abhinov Kasiviswanathan
2026-10-10 9:29 ` 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=20261009084351.317632-1-subash.a.kasiviswanathan@oss.qualcomm.com \
--to=subash.a.kasiviswanathan@oss.qualcomm.com \
--cc=andrew+netdev@lunn.ch \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@intel.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=rdunlap@infradead.org \
--cc=skhan@linuxfoundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox