On Mon, Nov 9, 2026 at 9:57 AM Stephen Hemminger
<[email protected]> wrote:
>
> On Tue, 3 Nov 2026 10:14:39 -0800
> Joshua Washington <[email protected]> wrote:
>
> > https://inbox.dpdk.org/dev/[email protected]/
> > introduced descriptor limit checks for TSO packets in DPDK.
> > Unfortunately, a couple of bugs have been found in the implementation.
> >
> > This patch series introduces fixes for those bugs and adds support for
> > the tx_pkt_prepare callback to reject potentially invalid packets before
> > they are dropped in the transmission path. Before a recently introduced
> > patch, the GVE behavior was to stop transmitting at the first invalid
> > packet, which would allow the application to do any necessary
> > linearization or packet modification before attempting to transmit
> > again. It turns out that that behavior is considered incorrect, so offer
> > tx_pkt_prepare as an alternative.
> >
> > Changes in v3:
> > - Remove extraneous Fixes tags.
> > - Drop patch 2 allowing multi-segment HEADERS, since that conflicts with
> > tx_pkt_prepare.
> >
> > Changes in v2:
> > - Rely on tx_pkt->nb_segs for descriptor limit calculation only as a
> > precursor, falling back to the traditional gve_tx_pkt_nb_data_descs()
> > if that optimization fails.
> > - Only call rte_net_intel_cksum_preapre on TSO packets that request
> > checksum offloading. This enforces the additional requirement that
> > headers are all in the same mbuf segment.
> > - Introduce new patch to validate minimum header length
> >
> > Joshua Washington (3):
> > net/gve: fix TSO segment offset calculation
> > net/gve: introduce Tx packet preparation for DQO format
> > net/gve: validate minimum header length for TSO packets
> >
> > drivers/net/gve/base/gve_desc_dqo.h | 1 +
> > drivers/net/gve/gve_ethdev.h | 3 +
> > drivers/net/gve/gve_tx_dqo.c | 86 +++++++++++++++++++++++++++--
> > 3 files changed, 85 insertions(+), 5 deletions(-)
>
> Ready for next-net but AI review found some dead code.
> Could you test that assumption and send new version.
Ah, I had confirmed that the code was dead, but was under the
impression that the patch would be merge as-is given that the issue is
mostly cosmetic, so I didn't send a new revision. I can send up a new
revision now.
>
> Review: [PATCH v3 0/3] net/gve: DQO TSO validation fixes
>
> Applied to next-net (339c992f25) with no conflicts. Each commit
> builds with -Dwerror=true.
>
> v3 drops the multi-mbuf header patch and keeps the data_len >=
> headlen check. That resolves both v2 warnings.
>
>
> Patch 2/3: net/gve: introduce Tx packet preparation for DQO format
>
> Info: the csum test is dead code. GVE_TX_CKSUM_OFFLOAD_MASK_DQO
> includes RTE_MBUF_F_TX_TCP_SEG through GVE_TX_CKSUM_OFFLOAD_MASK,
> so "csum && tso" is just "tso". Simplify to:
>
> if (tso) {
> err = rte_net_intel_cksum_prepare(tx_pkt);
> if (err != 0) {
> rte_errno = -err;
> return i;
> }
> }
>
> The commit message should then say that the pseudo-header is seeded
> for all TSO packets, not "for packets with checksum offloading
> enabled".
>
>
> Reviewed-by: Stephen Hemminger <[email protected]>