From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id DB7C146AD9 for ; Tue, 8 Jul 2025 01:18:32 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7095F40A7D; Tue, 8 Jul 2025 01:18:28 +0200 (CEST) Received: from mail-pf1-f201.google.com (mail-pf1-f201.google.com [209.85.210.201]) by mails.dpdk.org (Postfix) with ESMTP id BC86D406BA for ; Tue, 8 Jul 2025 01:18:25 +0200 (CEST) Received: by mail-pf1-f201.google.com with SMTP id d2e1a72fcca58-748cf01de06so6058173b3a.3 for ; Mon, 07 Jul 2025 16:18:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1751930305; x=1752535105; darn=dpdk.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=iUIeyx+rYzJDb5Ul1KAff7qqm0zR3OAgzP3cO4wGMFQ=; b=ao3joRA+gbr/MkIqpW6J9on5EFYQSuuWkeibOFpswVh2HJmkn/7l6yVbhTnYjebFti hRVV4je0d9U5lg8FsagIVf3Z7P4KeIOjNmEbGnj4T5a5pycjbgNgZ9G3zYX32g6OMbC9 ZumztYfoxLSLm1+AmcsNjlxmj23OVNGccIylv7BfUNCdnqLvppnYPV6ZtIo7oZVK1g49 yV4zJE/2/hMVFQ7+82laBOR6AtmQyT0gDGqiBCLywu28qoAS9JnUAxvrxn76qhPVPe7U MMyfkcMxexXEyyKQq4xBbW8/FpCz2zuW/2e2h6FAImcSJNsM0OQ0vCUAWB+nzZIXGZxy uySQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751930305; x=1752535105; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=iUIeyx+rYzJDb5Ul1KAff7qqm0zR3OAgzP3cO4wGMFQ=; b=nQtW4XLjP24KUcfWzgFs1KQ2pYkDex/GW22lULeL1QvH5LcktSsRLJBK5Q0SuHG0id KgwKyWlYhCoQ6s9rNyQHTY9BR6nOQjku8RZtg13sTCWk48/E0PICXxPGtXPDqGPlJ37J c8hPg7I9/+FMlANHU9RfjgQOpozPd/RoLCrqp4O/wvdKTvP6tmom7iVeyPuscRDSaLkR bSe0pClDWQxk7z495VKq8uxDwCnIUBsP4BH5+UtSku8RofZA8rWpwkzpL9w6WTcp8SGu mytFhKPVZdwYG/4JZqiGT4hKN9Ed0s1IHsOITZCNPl84Z/fm209/RdD9uNjqcxsibq8K DwMg== X-Forwarded-Encrypted: i=1; AJvYcCWl7CJQrD3gvYIU+A/opKHA64yEk8ZQCnxWnbugiJV1aXfuJPuMQqlQ7k7tkBxeDWy2+nZH+I4=@dpdk.org X-Gm-Message-State: AOJu0Yz3lepheHqURls1vUVEaX1ZVCQ/RN9ABk3T0lDgSeRBeQbDByA0 e5CACnFpO6KXDpOu/WU9Yh36bqWo4zk5WMz1eNVPrgg+NqwLcc+5udmgbHjiBJbQnyEoc77uFVT oXBmzSiWYdaZ4eQ== X-Google-Smtp-Source: AGHT+IGVx31dgqmdPbL9EO2OF2dOANfvEXvk2OkVXcu/brUAnbw3o4TrRnnr2dN0zW77oGSDXmfEbBUzn8tH3A== X-Received: from pge7.prod.google.com ([2002:a05:6a02:2d07:b0:b2f:1e09:528b]) (user=joshwash job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a20:734e:b0:220:2327:e6c2 with SMTP id adf61e73a8af0-225b85f3ec6mr22562985637.15.1751930304913; Mon, 07 Jul 2025 16:18:24 -0700 (PDT) Date: Mon, 7 Jul 2025 16:18:11 -0700 In-Reply-To: <20250707231812.1937260-1-joshwash@google.com> Mime-Version: 1.0 References: <20250707231812.1937260-1-joshwash@google.com> X-Mailer: git-send-email 2.50.0.727.gbf7dc18ff4-goog Message-ID: <20250707231812.1937260-8-joshwash@google.com> Subject: [PATCH 7/7] net/gve: clear DQO Tx descriptors before writing From: Joshua Washington To: Jeroen de Borst , Joshua Washington , Tathagat Priyadarshi , Rushil Gupta , Varun Lakkur Ambaji Rao Cc: dev@dpdk.org, stable@dpdk.org, Ankit Garg Content-Type: text/plain; charset="UTF-8" X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org When TSO was introduced, it became possible for two differing descriptor formats to be written to the descriptor ring, GVE_TX_PKT_DESC_DTYPE_DQO and GVE_TX_TSO_CTX_DESC_DTYPE_DQO. Because these descriptor types have different formats, they end up setting different fields, which can be misinterpreted by the hardware if not fully cleared. Fixes: 403c671a46b6 ("net/gve: support TSO in DQO RDA") Cc: tathagat.dpdk@gmail.com Cc: stable@dpdk.org Signed-off-by: Joshua Washington Reviewed-by: Ankit Garg --- drivers/net/gve/gve_tx_dqo.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/gve/gve_tx_dqo.c b/drivers/net/gve/gve_tx_dqo.c index 3befbbcacb..169c40d5b0 100644 --- a/drivers/net/gve/gve_tx_dqo.c +++ b/drivers/net/gve/gve_tx_dqo.c @@ -159,6 +159,8 @@ static inline void gve_tx_fill_seg_desc_dqo(volatile union gve_tx_desc_dqo *desc, struct rte_mbuf *tx_pkt) { uint32_t hlen = tx_pkt->l2_len + tx_pkt->l3_len + tx_pkt->l4_len; + + desc->tso_ctx = (struct gve_tx_tso_context_desc_dqo) {}; desc->tso_ctx.cmd_dtype.dtype = GVE_TX_TSO_CTX_DESC_DTYPE_DQO; desc->tso_ctx.cmd_dtype.tso = 1; desc->tso_ctx.mss = (uint16_t)tx_pkt->tso_segsz; @@ -257,6 +259,7 @@ gve_tx_burst_dqo(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) mbuf_offset; txd = &txr[tx_id]; + txd->pkt = (struct gve_tx_pkt_desc_dqo) {}; txd->pkt.buf_addr = rte_cpu_to_le_64(buf_addr); txd->pkt.compl_tag = rte_cpu_to_le_16(first_sw_id); txd->pkt.dtype = GVE_TX_PKT_DESC_DTYPE_DQO; -- 2.50.0.727.gbf7dc18ff4-goog