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(-) Looks good will pick it up next week. AI found some dead code. 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]>

