patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Xueming Li <xuemingl@nvidia.com>
To: Maayan Kashani <mkashani@nvidia.com>
Cc: <xuemingl@nvidia.com>, Bing Zhao <bingz@nvidia.com>,
	dpdk stable <stable@dpdk.org>
Subject: patch 'net/mlx5: fix GRE flow match with SWS' has been queued to stable release 23.11.4
Date: Tue, 18 Feb 2025 20:34:39 +0800	[thread overview]
Message-ID: <20250218123523.36836-45-xuemingl@nvidia.com> (raw)
In-Reply-To: <20250218123523.36836-1-xuemingl@nvidia.com>

Hi,

FYI, your patch has been queued to stable release 23.11.4

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
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://git.dpdk.org/dpdk-stable/log/?h=23.11-staging

This queued commit can be viewed at:
https://git.dpdk.org/dpdk-stable/commit/?h=23.11-staging&id=b81990ea04c23689ce76df612e7ada1eb9c6de76

Thanks.

Xueming Li <xuemingl@nvidia.com>

---
From b81990ea04c23689ce76df612e7ada1eb9c6de76 Mon Sep 17 00:00:00 2001
From: Maayan Kashani <mkashani@nvidia.com>
Date: Tue, 28 Jan 2025 09:59:30 +0200
Subject: [PATCH] net/mlx5: fix GRE flow match with SWS
Cc: Xueming Li <xuemingl@nvidia.com>

[ upstream commit 05db99c117e36c0cd28cda8f558309efd20055da ]

The previous GRE fix was meant to handle HWS behavior
and changed the behavior for SWS causing degradation.

After the previous fix, in case of an empty GRE match,
GRE mask was initialized with protocol full mask,
Instead of the empty mask with protocol mask equals zero.

The current fix handles the SWS case as before the GRE fix,
and HWS according to the latest fix.
Also, combined common logic.

Fixes: 25ab2cbba31d ("net/mlx5: fix GRE flow item translation for root table")

Signed-off-by: Maayan Kashani <mkashani@nvidia.com>
Acked-by: Bing Zhao <bingz@nvidia.com>
---
 drivers/net/mlx5/mlx5_flow_dv.c | 27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
index 09c7068339..80edb4e966 100644
--- a/drivers/net/mlx5/mlx5_flow_dv.c
+++ b/drivers/net/mlx5/mlx5_flow_dv.c
@@ -9476,23 +9476,26 @@ flow_dv_translate_item_gre(void *key, const struct rte_flow_item *item,
 	} gre_crks_rsvd0_ver_m, gre_crks_rsvd0_ver_v;
 	uint16_t protocol_m, protocol_v;

-	if (key_type & MLX5_SET_MATCHER_M) {
+	/* Common logic to SWS/HWS */
+	if (key_type & MLX5_SET_MATCHER_M)
 		MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_protocol, 0xff);
+	else
+		MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_protocol,
+			IPPROTO_GRE);
+	/* HWS mask logic only */
+	if (key_type & MLX5_SET_MATCHER_HS_M) {
 		if (!gre_m)
 			gre_m = &rte_flow_item_gre_mask;
 		gre_v = gre_m;
-	} else {
-		MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_protocol,
-			 IPPROTO_GRE);
-		if (!gre_v) {
-			gre_v = &empty_gre;
-			gre_m = &empty_gre;
-		} else if (!gre_m) {
-			gre_m = &rte_flow_item_gre_mask;
-		}
-		if (key_type == MLX5_SET_MATCHER_HS_V)
-			gre_m = gre_v;
+	} else if (!gre_v) {
+		gre_v = &empty_gre;
+		gre_m = &empty_gre;
+	} else if (!gre_m) {
+		gre_m = &rte_flow_item_gre_mask;
 	}
+	/* SWS logic only */
+	if (key_type & MLX5_SET_MATCHER_SW_M)
+		gre_v = gre_m;
 	gre_crks_rsvd0_ver_m.value = rte_be_to_cpu_16(gre_m->c_rsvd0_ver);
 	gre_crks_rsvd0_ver_v.value = rte_be_to_cpu_16(gre_v->c_rsvd0_ver);
 	MLX5_SET(fte_match_set_misc, misc_v, gre_c_present,
--
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-18 19:39:02.306600159 +0800
+++ 0044-net-mlx5-fix-GRE-flow-match-with-SWS.patch	2025-02-18 19:39:00.608244051 +0800
@@ -1 +1 @@
-From 05db99c117e36c0cd28cda8f558309efd20055da Mon Sep 17 00:00:00 2001
+From b81990ea04c23689ce76df612e7ada1eb9c6de76 Mon Sep 17 00:00:00 2001
@@ -4,0 +5,3 @@
+Cc: Xueming Li <xuemingl@nvidia.com>
+
+[ upstream commit 05db99c117e36c0cd28cda8f558309efd20055da ]
@@ -18 +20,0 @@
-Cc: stable@dpdk.org
@@ -27 +29 @@
-index 41ebe0b61a..633c41e358 100644
+index 09c7068339..80edb4e966 100644
@@ -30 +32 @@
-@@ -9839,23 +9839,26 @@ flow_dv_translate_item_gre(void *key, const struct rte_flow_item *item,
+@@ -9476,23 +9476,26 @@ flow_dv_translate_item_gre(void *key, const struct rte_flow_item *item,

  parent reply	other threads:[~2025-02-18 12:40 UTC|newest]

Thread overview: 89+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-18 12:33 patch " Xueming Li
2025-02-18 12:33 ` patch 'test/ring: fix init with custom number of lcores' " Xueming Li
2025-02-18 12:33 ` patch 'vhost: clear ring addresses when getting vring base' " Xueming Li
2025-02-18 12:33 ` patch 'vhost: check GSO size validity' " Xueming Li
2025-02-18 12:33 ` patch 'vhost: fix log when setting max queue num' " Xueming Li
2025-02-18 12:34 ` patch 'vhost: reset packets count when not ready' " Xueming Li
2025-02-18 12:34 ` patch 'crypto/cnxk: fix build with GCC 15' " Xueming Li
2025-02-18 12:34 ` patch 'net/thunderx/base: " Xueming Li
2025-02-18 12:34 ` patch 'eal/x86: fix some intrinsics header include for Windows' " Xueming Li
2025-02-18 12:34 ` patch 'test/bonding: fix active backup receive test' " Xueming Li
2025-02-18 12:34 ` patch 'net/bonding: fix dedicated queue setup' " Xueming Li
2025-02-18 12:34 ` patch 'net/hns3: fix mbuf freeing in simple Tx path' " Xueming Li
2025-02-18 12:34 ` patch 'net/hns3: remove PVID info dump for VF' " Xueming Li
2025-02-18 12:34 ` patch 'net/hns3: rename RAS module' " Xueming Li
2025-02-18 12:34 ` patch 'net/sfc: remove unnecessary assignment' " Xueming Li
2025-02-18 12:34 ` patch 'net/mlx5: fix polling CQEs' " Xueming Li
2025-02-18 12:34 ` patch 'net/iavf: remove reset of Tx prepare function pointer' " Xueming Li
2025-02-18 12:34 ` patch 'net/ice: fix memory leak in scalar Rx' " Xueming Li
2025-02-18 12:34 ` patch 'common/cnxk: fix atomic load in batch ops' " Xueming Li
2025-02-18 12:34 ` patch 'common/cnxk: fix DPI mailbox structure' " Xueming Li
2025-02-18 12:34 ` patch 'eventdev: fix format string data type in log messages' " Xueming Li
2025-02-18 12:34 ` patch 'crypto/virtio: fix redundant queue free' " Xueming Li
2025-02-18 12:34 ` patch 'crypto/openssl: fix CMAC auth context update' " Xueming Li
2025-02-18 12:34 ` patch 'crypto/virtio: fix data queues iteration' " Xueming Li
2025-02-18 12:34 ` patch 'net/octeon_ep: remove useless assignment' " Xueming Li
2025-02-18 12:34 ` patch 'net/enetfec: " Xueming Li
2025-02-18 12:34 ` patch 'net/nfp: fix multiple PFs check from NSP' " Xueming Li
2025-02-18 12:34 ` patch 'net/nfp: fix misuse of function return values' " Xueming Li
2025-02-18 12:34 ` patch 'net/nfp: fix multi-PF control flag' " Xueming Li
2025-02-18 12:34 ` patch 'net/ice: fix flows handling' " Xueming Li
2025-02-18 12:34 ` patch 'net/cnxk: fix NIX send header L3 type' " Xueming Li
2025-02-18 12:34 ` patch 'gro: fix unprocessed IPv4 packets' " Xueming Li
2025-02-18 12:34 ` patch 'eal/linux: fix memseg length in legacy mem init' " Xueming Li
2025-02-18 12:34 ` patch 'buildtools: fix some Python regex syntax warnings' " Xueming Li
2025-02-18 12:34 ` patch 'use Python raw string notation' " Xueming Li
2025-02-18 12:34 ` patch 'net/af_packet: fix socket close on device stop' " Xueming Li
2025-02-18 12:34 ` patch 'ethdev: fix functions available in new device event' " Xueming Li
2025-02-18 12:34 ` patch 'vhost: add null callback checks' " Xueming Li
2025-02-18 12:34 ` patch 'build: force GCC 15 to initialize padding bits' " Xueming Li
2025-02-18 12:34 ` patch 'net/bnxt: fix indication of allocation' " Xueming Li
2025-02-18 12:34 ` patch 'net/bnxt: fix crash when representor is re-attached' " Xueming Li
2025-02-18 12:34 ` patch 'net/mlx5: fix Netlink socket leak' " Xueming Li
2025-02-18 12:34 ` patch 'net/mlx5: adjust actions per rule limitation' " Xueming Li
2025-02-18 12:34 ` patch 'net/mlx5: fix flush of non-template flow rules' " Xueming Li
2025-02-18 12:34 ` Xueming Li [this message]
2025-02-18 12:34 ` patch 'net/igc/base: fix deadlock when writing i225 register' " Xueming Li
2025-02-18 12:34 ` patch 'net/igc/base: fix infinite loop' " Xueming Li
2025-02-18 12:34 ` patch 'net/igc/base: fix bitwise operation type' " Xueming Li
2025-02-18 12:34 ` patch 'net/igc/base: increase PHY power up delay' " Xueming Li
2025-02-18 12:34 ` patch 'net/igc/base: reset loop variable' " Xueming Li
2025-02-18 12:34 ` patch 'net/igc/base: fix LTR for i225' " Xueming Li
2025-02-18 12:34 ` patch 'net/igc/base: fix typo in LTR calculation' " Xueming Li
2025-02-18 12:34 ` patch 'net/igc/base: fix unused value' " Xueming Li
2025-02-18 12:34 ` patch 'net/igc/base: fix semaphore timeout " Xueming Li
2025-02-18 12:34 ` patch 'net/igc/base: fix iterator type' " Xueming Li
2025-02-18 12:34 ` patch 'net/igc/base: fix MAC address hash bit shift' " Xueming Li
2025-02-18 12:34 ` patch 'net/igc/base: fix data type in MAC hash' " Xueming Li
2025-02-18 12:34 ` patch 'net/igc/base: fix NVM data type in bit shift' " Xueming Li
2025-02-18 12:34 ` patch 'net/e1000/base: fix semaphore timeout value' " Xueming Li
2025-02-18 12:34 ` patch 'net/e1000/base: correct mPHY access logic' " Xueming Li
2025-02-18 12:34 ` patch 'net/e1000/base: fix iterator type' " Xueming Li
2025-02-18 12:34 ` patch 'net/e1000/base: fix MAC address hash bit shift' " Xueming Li
2025-02-18 12:34 ` patch 'net/e1000/base: fix data type in MAC hash' " Xueming Li
2025-02-18 12:34 ` patch 'net/e1000/base: fix uninitialized variable' " Xueming Li
2025-02-18 12:34 ` patch 'net/e1000/base: fix bitwise operation type' " Xueming Li
2025-02-18 12:35 ` patch 'net/e1000/base: fix NVM data type in bit shift' " Xueming Li
2025-02-18 12:35 ` patch 'net/e1000/base: fix reset for 82580' " Xueming Li
2025-02-18 12:35 ` patch 'net/e1000/base: fix unchecked return' " Xueming Li
2025-02-18 12:35 ` patch 'net/e1000/base: skip management check for 82575' " Xueming Li
2025-02-18 12:35 ` patch 'common/idpf: fix void function returning a value' " Xueming Li
2025-02-18 12:35 ` patch 'net/intel: fix void functions " Xueming Li
2025-02-18 12:35 ` patch 'net/intel: fix build with icx' " Xueming Li
2025-02-18 12:35 ` patch 'net/hns3: fix copper port initialization' " Xueming Li
2025-02-18 12:35 ` patch 'net/hns3: fix reset timeout' " Xueming Li
2025-02-18 12:35 ` patch 'net/cpfl: fix representor parsing log' " Xueming Li
2025-02-18 12:35 ` patch 'raw/cnxk_gpio: fix file descriptor leak' " Xueming Li
2025-02-18 12:35 ` patch 'eal: fix devargs layers parsing out of bounds' " Xueming Li
2025-02-18 12:35 ` patch 'net/qede: fix debug messages array' " Xueming Li
2025-02-18 12:35 ` patch 'net/hinic: fix flow type bitmask overflow' " Xueming Li
2025-02-18 12:35 ` patch 'crypto/dpaa2_sec: fix bitmask truncation' " Xueming Li
2025-02-18 12:35 ` patch 'crypto/dpaa_sec: " Xueming Li
2025-02-18 12:35 ` patch 'event/dpaa: " Xueming Li
2025-02-18 12:35 ` patch 'net/dpaa: " Xueming Li
2025-02-18 12:35 ` patch 'net/dpaa2: " Xueming Li
2025-02-18 12:35 ` patch 'net/qede: fix nested loops' " Xueming Li
2025-02-18 12:35 ` patch 'examples/l3fwd: fix socket ID check' " Xueming Li
2025-02-18 12:35 ` patch 'common/cnxk: fix null " Xueming Li
2025-02-18 12:35 ` patch 'eal/linux: remove useless assignments' " Xueming Li
2025-02-18 12:35 ` patch 'mempool: fix errno in empty create' " Xueming Li

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250218123523.36836-45-xuemingl@nvidia.com \
    --to=xuemingl@nvidia.com \
    --cc=bingz@nvidia.com \
    --cc=mkashani@nvidia.com \
    --cc=stable@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).