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.

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