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]>

Reply via email to