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 CF73045716 for ; Thu, 1 Aug 2024 19:46:40 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C7B6142D66; Thu, 1 Aug 2024 19:46:40 +0200 (CEST) Received: from mail-yw1-f179.google.com (mail-yw1-f179.google.com [209.85.128.179]) by mails.dpdk.org (Postfix) with ESMTP id ADABE40A8B; Thu, 1 Aug 2024 19:46:38 +0200 (CEST) Received: by mail-yw1-f179.google.com with SMTP id 00721157ae682-64b417e1511so59291617b3.3; Thu, 01 Aug 2024 10:46:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1722534398; x=1723139198; 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=cMQ46ryTjKX3gJVk+2kj9h2tx6t+b4iW26H76axX0H4=; b=md75ukzAhxhkxocqTsAgKN8d336Xd/h/0Rqe2OfkVdYXz1gBxdHvok9nbsgpw6ZXZb vEk87mG0b8Oa3Oaz2kMhbk+fya/zbMeClNZYaUocAVU1+DHIhBNt3a14LWuXYAKtJmow t/oPp6b8NnrLc+cu8ibf0kNlq/3fxgQ0y2WgB1G9F9o+AXXrd7Gsbqc/rTdI+E7WwhJ+ 7IN35tqiv72aplFGBOzcMqFSPMhTXfm1ovD+Amwa5vKNFXlEQVfn5daueKZgjV/x6C4I wgbk534io8hhDtmV8AbkZK2Kgbu4/H+eZNldw8hvlQ7w7F4Z40FvufnKwuB3H0Lr/yPS KXAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722534398; x=1723139198; 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=cMQ46ryTjKX3gJVk+2kj9h2tx6t+b4iW26H76axX0H4=; b=Wh9sZyniq/Pj2yonbD+VCemn3QvzLGm1631SmDsvHvfaVbP2cFsMm5DvXYL5gtghzP QEmglR+mVORq/E2yq/UGLzf41b8yV+/rukQPEbB2/2PsoJ43zhKuBcQXEmHwyD3ua3c4 mhu+UNkh+ISNwP4lXov4uCPSSchMnmvbPCC1GT03u/gu8At8gJ1GDbbCZWGSCD+WMe5i M6qE7DCtUOwrmHzUiiynqW+Y/y/RdSTgAEPSyvksJ7KjfDLAsxMKO0J+j76sjWOLI26d sYhhk99tZzgp/DeB8oytGNuNHtnKZ4jLBUOAfRE48X7hQPdtiIMXDEW3XyXWhJLfl0ZL VN6g== X-Forwarded-Encrypted: i=1; AJvYcCX+6WduHNkx06OBpH/CSnfuJljqIdMYrwOzcoRf2crELIqrF9s4KIgRk3Ox++cx8BF4EyZEMsMiBYaKHE+DjFQ= X-Gm-Message-State: AOJu0YwcklhLjNQMbW1/8mIOq/qN16ws4TbrwBOsoh2qGgKX67MmzPxC iaPelWKm8iPPleFD7mw2Htbj6c2JTatmZxPwfYBn/i6otqtuqQeK3Bu4aqEb X-Google-Smtp-Source: AGHT+IGyqdda3Vi5ZpN+4UsA6KlWfo/E+KpMSO2gRPJcD7FzG/NHTLeXr+uWRES53qCyMwBIxMH67w== X-Received: by 2002:a0d:f7c5:0:b0:664:80e0:ac7f with SMTP id 00721157ae682-68961226af0mr10105847b3.19.1722534397784; Thu, 01 Aug 2024 10:46:37 -0700 (PDT) Received: from tp-fat-se.vmware.com ([66.170.99.2]) by smtp.gmail.com with ESMTPSA id 00721157ae682-689b3151051sm224097b3.99.2024.08.01.10.46.37 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 01 Aug 2024 10:46:37 -0700 (PDT) From: Tathagat Priyadarshi To: dev@dpdk.org Cc: Tathagat Priyadarshi , stable@dpdk.org, Varun Lakkur Ambaji Rao Subject: [PATCH v4] net/gve : Update EOP & csum bit in txd rte_mbuf chain Date: Thu, 1 Aug 2024 17:48:01 +0000 Message-Id: <1722534481-2405601-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: 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 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 --- drivers/net/gve/gve_tx_dqo.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/net/gve/gve_tx_dqo.c b/drivers/net/gve/gve_tx_dqo.c index a65e6aa..1374e1a 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,12 @@ ol_flags = tx_pkt->ol_flags; nb_used = tx_pkt->nb_segs; first_sw_id = sw_id; + + if (ol_flags & GVE_TX_CKSUM_OFFLOAD_MASK_DQO) + csum = 1; + else + csum = 0; + do { if (sw_ring[sw_id] != NULL) PMD_DRV_LOG(DEBUG, "Overwriting an entry in sw_ring"); @@ -126,6 +133,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 +147,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