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 1F83A45718; Fri, 2 Aug 2024 07:06:50 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EFC0540431; Fri, 2 Aug 2024 07:06:49 +0200 (CEST) Received: from mail-pf1-f179.google.com (mail-pf1-f179.google.com [209.85.210.179]) by mails.dpdk.org (Postfix) with ESMTP id 04EC640272; Fri, 2 Aug 2024 07:06:48 +0200 (CEST) Received: by mail-pf1-f179.google.com with SMTP id d2e1a72fcca58-7104f93a20eso2324059b3a.1; Thu, 01 Aug 2024 22:06:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1722575207; x=1723180007; darn=dpdk.org; h=references:in-reply-to:message-id:date:subject:cc:to:from:from:to :cc:subject:date:message-id:reply-to; bh=tJdvHp+KTG7h+CXN42XHiU5vfZTbbjBuIYeITKXCGo0=; b=EyyxVc3r6TDjv/WwikezF6BWbTwxzGw9Tod45yv0cldyhcUY0E7jxLWx61YKfgoJlH h45VhfG0zGZhagcs0bR4DOtTQY5Rw7a7Bp6TKp2LZpF5fzHhivgG/BTd3yNXm04jkveH eQIIKON66Uz7KEIRSAcg1z2GWZp70xXR3BBEyIH9EDf6lKr8FcLVynCWcWy0TSoR3SNM njVmHF4P32MfgJa0gx2CSVtLuS9TznX/YePr9NUn8JaN1D1LGMrJPdigBJorxNCWQlcV /scloLjP62gXSJ034A26265ZhF0SEw6gf4yrfLZ/KwYBIHmJLI3tjVlKX1M+G+r6iQDH DiEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722575207; x=1723180007; h=references:in-reply-to:message-id:date:subject:cc:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=tJdvHp+KTG7h+CXN42XHiU5vfZTbbjBuIYeITKXCGo0=; b=fMZC433z8dkAVrue6uN974lp6w58xasbJ0YqugFJdOxZmDf7oxwRT6k13BlT2dYK2n D0lqMlMNbVoCegFHjY/PVgYk0lm6rYeXlSQ8BZ9u273s9MoUfXOpnEk/AWFgX0SAiu9o 16tJYHBsM9J0P+QFiVcPY9gbYFeNtAFI+HkkENhovGlYE1+clsiUKMOwKYMccrT9EA7X 3YACYoXwcipculf1HOAcC5iGc+8TuaBkmRrQiPP6LJZmvUD333JFQAJ6QWU3+cd9Nlw8 vDjRXtcydNlYcs6TC2UGFUmFSWH4OpsEX0gwO+sHEWXYwoR+C1uJSrgcy+HOmRfWvlmL deAQ== X-Forwarded-Encrypted: i=1; AJvYcCWdJg8QGKfEL30dsBzBzFYui1UUh74Xb62SuuwCytE3/wNhUNigHyjtm2+towOu0gWdMHN40+k+XxuLRV6646umcuVmvM98Nfi93pp3uQ== X-Gm-Message-State: AOJu0YwYry015RWf+YVwV6MiIwfHMjDatsWVIUovRgWihDHMdJ3Awl4g d0m1+4zm67iIpyUCNxsZQaTboiS5ZocXFQa+PVxxw73AE2kcaEiD X-Google-Smtp-Source: AGHT+IGM4/5pnAUb9DF45MBB6uhz3dg8UyvpXZhJIRxxelp7eoyyNXPsrT+3lfAwNDsdjkUreHqa9g== X-Received: by 2002:a05:6a20:1582:b0:1c2:9f03:82d4 with SMTP id adf61e73a8af0-1c69969bdeemr3526348637.53.1722575206954; Thu, 01 Aug 2024 22:06:46 -0700 (PDT) Received: from tp-fat-se.vmware.com ([66.170.99.2]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7106ecfaf75sm643871b3a.145.2024.08.01.22.06.46 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 01 Aug 2024 22:06:46 -0700 (PDT) From: Tathagat Priyadarshi To: stephen@networkplumber.org, dev@dpdk.org Cc: Tathagat Priyadarshi , stable@dpdk.org, Varun Lakkur Ambaji Rao Subject: [PATCH v5] net/gve : Update EOP & csum bit in txd rte_mbuf chain Date: Fri, 2 Aug 2024 05:08:08 +0000 Message-Id: <1722575288-2408630-1-git-send-email-tathagat.dpdk@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1722443901-2400194-1-git-send-email-tathagat.dpdk@gmail.com> References: <1722443901-2400194-1-git-send-email-tathagat.dpdk@gmail.com> X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org The EOP and csum bit was not set for all the packets in mbuf chain causing packet transmission stalls for packets split across mbuf in chain. Fixes: 4022f99 ("net/gve: support basic Tx data path for DQO") Cc: stable@dpdk.org Signed-off-by: Tathagat Priyadarshi Signed-off-by: Varun Lakkur Ambaji Rao Acked-by: Joshua Washington --- drivers/net/gve/gve_tx_dqo.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/net/gve/gve_tx_dqo.c b/drivers/net/gve/gve_tx_dqo.c index a65e6aa..bbaf46d 100644 --- a/drivers/net/gve/gve_tx_dqo.c +++ b/drivers/net/gve/gve_tx_dqo.c @@ -89,6 +89,7 @@ uint16_t sw_id; uint64_t bytes; uint16_t first_sw_id; + uint8_t csum; sw_ring = txq->sw_ring; txr = txq->tx_ring; @@ -114,6 +115,9 @@ ol_flags = tx_pkt->ol_flags; nb_used = tx_pkt->nb_segs; first_sw_id = sw_id; + + csum = !!(ol_flags & GVE_TX_CKSUM_OFFLOAD_MASK_DQO); + do { if (sw_ring[sw_id] != NULL) PMD_DRV_LOG(DEBUG, "Overwriting an entry in sw_ring"); @@ -126,6 +130,8 @@ txd->pkt.dtype = GVE_TX_PKT_DESC_DTYPE_DQO; txd->pkt.compl_tag = rte_cpu_to_le_16(first_sw_id); txd->pkt.buf_size = RTE_MIN(tx_pkt->data_len, GVE_TX_MAX_BUF_SIZE_DQO); + txd->pkt.end_of_packet = 0; + txd->pkt.checksum_offload_enable = csum; /* size of desc_ring and sw_ring could be different */ tx_id = (tx_id + 1) & mask; @@ -138,9 +144,6 @@ /* fill the last descriptor with End of Packet (EOP) bit */ txd->pkt.end_of_packet = 1; - if (ol_flags & GVE_TX_CKSUM_OFFLOAD_MASK_DQO) - txd->pkt.checksum_offload_enable = 1; - txq->nb_free -= nb_used; txq->nb_used += nb_used; } -- 1.8.3.1