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 B33E141D52 for ; Thu, 23 Feb 2023 16:08:07 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 62BB54327F; Thu, 23 Feb 2023 16:08:06 +0100 (CET) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mails.dpdk.org (Postfix) with ESMTP id 881224327F for ; Thu, 23 Feb 2023 16:08:04 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1677164884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=8Y5CN7jcT5i4zE53yR6saVcZWCXRFfRyuTIC+L6SP5g=; b=irkbGZ2AVwqDWTCnwKLeAb93XGrs3ku4uDptjukaCgzSzOq7OoJIiaAhKJqG7yMTTE0hPh j1REbrUb3YvOrQ6b2EMr+DHUM7EF8WOa8QvnBwcKMubd6kef49iQrBRzf0wO3WXqkBeoUf WuYvUOxxPYoG9HHFxMQDm75pPicYSPg= Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-327-H4Q6ep-fOfqakgKdNb6blg-1; Thu, 23 Feb 2023 10:08:02 -0500 X-MC-Unique: H4Q6ep-fOfqakgKdNb6blg-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 993862805587; Thu, 23 Feb 2023 15:07:53 +0000 (UTC) Received: from rh.redhat.com (unknown [10.39.192.53]) by smtp.corp.redhat.com (Postfix) with ESMTP id ED74F2166B29; Thu, 23 Feb 2023 15:07:52 +0000 (UTC) From: Kevin Traynor To: Jiawen Wu Cc: dpdk stable Subject: patch 'net/txgbe: fix packet type to parse from offload flags' has been queued to stable release 21.11.4 Date: Thu, 23 Feb 2023 15:05:44 +0000 Message-Id: <20230223150631.723699-53-ktraynor@redhat.com> In-Reply-To: <20230223150631.723699-1-ktraynor@redhat.com> References: <20230223150631.723699-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII"; x-default=true 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 Hi, FYI, your patch has been queued to stable release 21.11.4 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 02/28/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/kevintraynor/dpdk-stable This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable/commit/5d80aae2140965f13971f5567de052ab28974e50 Thanks. Kevin --- >From 5d80aae2140965f13971f5567de052ab28974e50 Mon Sep 17 00:00:00 2001 From: Jiawen Wu Date: Thu, 2 Feb 2023 17:21:26 +0800 Subject: [PATCH] net/txgbe: fix packet type to parse from offload flags [ upstream commit 0e32d6edd47914d38857c34d97416b9c91929020 ] Context descriptors which contains the length of each packet layer and the packet type are needed when Tx checksum offload or TSO is on. If the packet type and length do not strictly match, it will cause Tx ring hang. In some external applications, developers may fill in wrong packet_type in rte_mbuf for Tx path. For example, they encap/decap the packets but did not refill the packet_type. To prevent this, change it to parse from ol_flags. Fixes: ca46fcd753b1 ("net/txgbe: support Tx with hardware offload") Signed-off-by: Jiawen Wu --- drivers/net/txgbe/txgbe_rxtx.c | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/drivers/net/txgbe/txgbe_rxtx.c b/drivers/net/txgbe/txgbe_rxtx.c index 35b77cb271..4c63a82fd6 100644 --- a/drivers/net/txgbe/txgbe_rxtx.c +++ b/drivers/net/txgbe/txgbe_rxtx.c @@ -517,12 +517,10 @@ tx_desc_ol_flags_to_cmdtype(uint64_t ol_flags) } -static inline uint8_t -tx_desc_ol_flags_to_ptid(uint64_t oflags, uint32_t ptype) +static inline uint32_t +tx_desc_ol_flags_to_ptype(uint64_t oflags) { + uint32_t ptype; bool tun; - if (ptype) - return txgbe_encode_ptype(ptype); - /* Only support flags in TXGBE_TX_OFFLOAD_MASK */ tun = !!(oflags & RTE_MBUF_F_TX_TUNNEL_MASK); @@ -531,4 +529,7 @@ tx_desc_ol_flags_to_ptid(uint64_t oflags, uint32_t ptype) ptype = RTE_PTYPE_L2_ETHER; if (oflags & RTE_MBUF_F_TX_VLAN) + ptype |= (tun ? RTE_PTYPE_INNER_L2_ETHER_VLAN : RTE_PTYPE_L2_ETHER_VLAN); + + if (oflags & RTE_MBUF_F_TX_QINQ) /* tunnel + QINQ is not supported */ ptype |= RTE_PTYPE_L2_ETHER_VLAN; @@ -588,4 +589,14 @@ tx_desc_ol_flags_to_ptid(uint64_t oflags, uint32_t ptype) } + return ptype; +} + +static inline uint8_t +tx_desc_ol_flags_to_ptid(uint64_t oflags) +{ + uint32_t ptype; + + ptype = tx_desc_ol_flags_to_ptype(oflags); + return txgbe_encode_ptype(ptype); } @@ -777,6 +788,5 @@ txgbe_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, tx_ol_req = ol_flags & TXGBE_TX_OFFLOAD_MASK; if (tx_ol_req) { - tx_offload.ptid = tx_desc_ol_flags_to_ptid(tx_ol_req, - tx_pkt->packet_type); + tx_offload.ptid = tx_desc_ol_flags_to_ptid(tx_ol_req); if (tx_offload.ptid & TXGBE_PTID_PKT_TUN) tx_offload.ptid |= txgbe_parse_tun_ptid(tx_pkt); -- 2.39.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-02-23 14:46:25.090585218 +0000 +++ 0053-net-txgbe-fix-packet-type-to-parse-from-offload-flag.patch 2023-02-23 14:46:23.783236011 +0000 @@ -1 +1 @@ -From 0e32d6edd47914d38857c34d97416b9c91929020 Mon Sep 17 00:00:00 2001 +From 5d80aae2140965f13971f5567de052ab28974e50 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 0e32d6edd47914d38857c34d97416b9c91929020 ] + @@ -16 +17,0 @@ -Cc: stable@dpdk.org @@ -24 +25 @@ -index ac1bba08a3..021f281fbb 100644 +index 35b77cb271..4c63a82fd6 100644