patches for DPDK stable branches
 help / color / mirror / Atom feed
* patch 'examples/kni: add missing trailing newline in log' has been queued to stable release 21.11.1
@ 2022-03-10 12:11 Kevin Traynor
  2022-03-10 12:11 ` patch 'devtools: remove event/dlb exception in ABI check' " Kevin Traynor
                   ` (19 more replies)
  0 siblings, 20 replies; 25+ messages in thread
From: Kevin Traynor @ 2022-03-10 12:11 UTC (permalink / raw)
  To: Tianli Lai; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/14/22. 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/7214354c5293e9ab55669a1775379d8b75114083

Thanks.

Kevin

---
From 7214354c5293e9ab55669a1775379d8b75114083 Mon Sep 17 00:00:00 2001
From: Tianli Lai <laitianli@tom.com>
Date: Mon, 7 Mar 2022 17:05:05 +0800
Subject: [PATCH] examples/kni: add missing trailing newline in log

[ upstream commit 2e7997ce58f95762511568e4b6549fcde9860726 ]

Add CR character at print link state information.

Fixes: db4e81351fb8 ("examples: use new link status print format")

Signed-off-by: Tianli Lai <laitianli@tom.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 examples/kni/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/kni/main.c b/examples/kni/main.c
index f5b20a7b62..e99ef5c38a 100644
--- a/examples/kni/main.c
+++ b/examples/kni/main.c
@@ -720,5 +720,5 @@ log_link_state(struct rte_kni *kni, int prev, struct rte_eth_link *link)
 	rte_eth_link_to_str(link_status_text, sizeof(link_status_text), link);
 	if (prev != link->link_status)
-		RTE_LOG(INFO, APP, "%s NIC %s",
+		RTE_LOG(INFO, APP, "%s NIC %s\n",
 			rte_kni_get_name(kni),
 			link_status_text);
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-03-10 12:05:31.381963353 +0000
+++ 0003-examples-kni-add-missing-trailing-newline-in-log.patch	2022-03-10 12:05:31.216630644 +0000
@@ -1 +1 @@
-From 2e7997ce58f95762511568e4b6549fcde9860726 Mon Sep 17 00:00:00 2001
+From 7214354c5293e9ab55669a1775379d8b75114083 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 2e7997ce58f95762511568e4b6549fcde9860726 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org


^ permalink raw reply	[flat|nested] 25+ messages in thread

* patch 'devtools: remove event/dlb exception in ABI check' has been queued to stable release 21.11.1
  2022-03-10 12:11 patch 'examples/kni: add missing trailing newline in log' has been queued to stable release 21.11.1 Kevin Traynor
@ 2022-03-10 12:11 ` Kevin Traynor
  2022-03-10 12:11 ` patch 'build: fix build on FreeBSD with Meson 0.61.1' " Kevin Traynor
                   ` (18 subsequent siblings)
  19 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2022-03-10 12:11 UTC (permalink / raw)
  To: David Marchand; +Cc: Ray Kinsella, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/14/22. 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/dab4a96be259f2eb291ab2feb61d531a53103648

Thanks.

Kevin

---
From dab4a96be259f2eb291ab2feb61d531a53103648 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Tue, 1 Mar 2022 17:54:03 +0100
Subject: [PATCH] devtools: remove event/dlb exception in ABI check

[ upstream commit d58e0d5d653e5675f00bc4c0c3b973fccfdd9628 ]

The event/dlb driver exception can be removed, as this rule made sense
for changes in DPDK_21 ABI and is obsolete for DPDK_22.

Fixes: fdab8f2e1749 ("version: 21.11-rc0")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
---
 devtools/check-abi.sh | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/devtools/check-abi.sh b/devtools/check-abi.sh
index ca523eb94c..9835e346da 100755
--- a/devtools/check-abi.sh
+++ b/devtools/check-abi.sh
@@ -45,8 +45,4 @@ for dump in $(find $refdir -name "*.dump"); do
 		continue
 	fi
-	if grep -qE "\<soname='librte_event_dlb\.so" $dump; then
-		echo "Skipped removed driver $name."
-		continue
-	fi
 	dump2=$(find $newdir -name $name)
 	if [ -z "$dump2" ] || [ ! -e "$dump2" ]; then
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-03-10 12:05:31.511877113 +0000
+++ 0009-devtools-remove-event-dlb-exception-in-ABI-check.patch	2022-03-10 12:05:31.243630712 +0000
@@ -1 +1 @@
-From d58e0d5d653e5675f00bc4c0c3b973fccfdd9628 Mon Sep 17 00:00:00 2001
+From dab4a96be259f2eb291ab2feb61d531a53103648 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d58e0d5d653e5675f00bc4c0c3b973fccfdd9628 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 675f10142e..033f6252d0 100755
+index ca523eb94c..9835e346da 100755
@@ -29,2 +30,2 @@
- 	if grep -qE "\<librte_*.*_octeontx2" $dump; then
- 		echo "Skipped removed driver $name."
+ 	dump2=$(find $newdir -name $name)
+ 	if [ -z "$dump2" ] || [ ! -e "$dump2" ]; then


^ permalink raw reply	[flat|nested] 25+ messages in thread

* patch 'build: fix build on FreeBSD with Meson 0.61.1' has been queued to stable release 21.11.1
  2022-03-10 12:11 patch 'examples/kni: add missing trailing newline in log' has been queued to stable release 21.11.1 Kevin Traynor
  2022-03-10 12:11 ` patch 'devtools: remove event/dlb exception in ABI check' " Kevin Traynor
@ 2022-03-10 12:11 ` Kevin Traynor
  2022-03-10 12:11 ` patch 'ethdev: fix doxygen comments for device info struct' " Kevin Traynor
                   ` (17 subsequent siblings)
  19 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2022-03-10 12:11 UTC (permalink / raw)
  To: Karl Bonde Torp; +Cc: Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/14/22. 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/0c7cbe52f76963a6d8f6466fc077a9c0cb695b37

Thanks.

Kevin

---
From 0c7cbe52f76963a6d8f6466fc077a9c0cb695b37 Mon Sep 17 00:00:00 2001
From: Karl Bonde Torp <k.torp@samsung.com>
Date: Mon, 14 Feb 2022 12:43:13 +0100
Subject: [PATCH] build: fix build on FreeBSD with Meson 0.61.1

[ upstream commit 4bab7ea60c25332e53ded18b7b101d37442b21b3 ]

When building with Meson 0.61.1 on FreeBSD some archives become
corrupted. This can be avoided by using 'llvm-ar' instead of 'ar'.

Signed-off-by: Karl Bonde Torp <k.torp@samsung.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 buildtools/meson.build | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/buildtools/meson.build b/buildtools/meson.build
index 400b88f251..e1c600e40f 100644
--- a/buildtools/meson.build
+++ b/buildtools/meson.build
@@ -32,4 +32,7 @@ if host_machine.system() == 'windows'
     endif
     pmdinfogen += 'coff'
+elif host_machine.system() == 'freebsd'
+    pmdinfo += 'llvm-ar'
+    pmdinfogen += 'elf'
 else
     pmdinfo += 'ar'
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-03-10 12:05:31.530643533 +0000
+++ 0010-build-fix-build-on-FreeBSD-with-Meson-0.61.1.patch	2022-03-10 12:05:31.244630715 +0000
@@ -1 +1 @@
-From 4bab7ea60c25332e53ded18b7b101d37442b21b3 Mon Sep 17 00:00:00 2001
+From 0c7cbe52f76963a6d8f6466fc077a9c0cb695b37 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4bab7ea60c25332e53ded18b7b101d37442b21b3 ]
+
@@ -8,2 +9,0 @@
-
-Cc: stable@dpdk.org


^ permalink raw reply	[flat|nested] 25+ messages in thread

* patch 'ethdev: fix doxygen comments for device info struct' has been queued to stable release 21.11.1
  2022-03-10 12:11 patch 'examples/kni: add missing trailing newline in log' has been queued to stable release 21.11.1 Kevin Traynor
  2022-03-10 12:11 ` patch 'devtools: remove event/dlb exception in ABI check' " Kevin Traynor
  2022-03-10 12:11 ` patch 'build: fix build on FreeBSD with Meson 0.61.1' " Kevin Traynor
@ 2022-03-10 12:11 ` Kevin Traynor
  2022-03-10 12:11 ` patch 'net/bnxt: fix null dereference in session cleanup' " Kevin Traynor
                   ` (16 subsequent siblings)
  19 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2022-03-10 12:11 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Bruce Merry, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/14/22. 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/4aadf56c66d71102e0486b2bc7dd5dc0dbd8f669

Thanks.

Kevin

---
From 4aadf56c66d71102e0486b2bc7dd5dc0dbd8f669 Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Tue, 8 Mar 2022 09:47:00 +0000
Subject: [PATCH] ethdev: fix doxygen comments for device info struct

[ upstream commit 3b358e330153bc792c688d6da60c80c40eaacb22 ]

API documentation for "struct rte_eth_dev_info" was missing some fields
'device' & 'max_hash_mac_addrs',
because of syntax error in doxygen comment, fixing it.

Bugzilla ID: 954
Fixes: 88ac4396ad29 ("ethdev: add VMDq support")
Fixes: cd8c7c7ce241 ("ethdev: replace bus specific struct with generic dev")

Reported-by: Bruce Merry <bmerry@sarao.ac.za>
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 lib/ethdev/rte_ethdev.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h
index fa299c8ad7..1d11a002d5 100644
--- a/lib/ethdev/rte_ethdev.h
+++ b/lib/ethdev/rte_ethdev.h
@@ -1788,5 +1788,5 @@ enum rte_eth_representor_type {
  */
 struct rte_eth_dev_info {
-	struct rte_device *device; /** Generic device information */
+	struct rte_device *device; /**< Generic device information */
 	const char *driver_name; /**< Device Driver name. */
 	unsigned int if_index; /**< Index to bound host interface, or 0 if none.
@@ -1802,6 +1802,6 @@ struct rte_eth_dev_info {
 	uint16_t max_tx_queues; /**< Maximum number of Tx queues. */
 	uint32_t max_mac_addrs; /**< Maximum number of MAC addresses. */
-	uint32_t max_hash_mac_addrs;
 	/** Maximum number of hash MAC addresses for MTA and UTA. */
+	uint32_t max_hash_mac_addrs;
 	uint16_t max_vfs; /**< Maximum number of VFs. */
 	uint16_t max_vmdq_pools; /**< Maximum number of VMDq pools. */
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-03-10 12:05:31.549141840 +0000
+++ 0011-ethdev-fix-doxygen-comments-for-device-info-struct.patch	2022-03-10 12:05:31.248630725 +0000
@@ -1 +1 @@
-From 3b358e330153bc792c688d6da60c80c40eaacb22 Mon Sep 17 00:00:00 2001
+From 4aadf56c66d71102e0486b2bc7dd5dc0dbd8f669 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3b358e330153bc792c688d6da60c80c40eaacb22 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index c2d1f9a972..04cff8ee10 100644
+index fa299c8ad7..1d11a002d5 100644
@@ -25 +26 @@
-@@ -1856,5 +1856,5 @@ enum rte_eth_representor_type {
+@@ -1788,5 +1788,5 @@ enum rte_eth_representor_type {
@@ -32 +33 @@
-@@ -1870,6 +1870,6 @@ struct rte_eth_dev_info {
+@@ -1802,6 +1802,6 @@ struct rte_eth_dev_info {


^ permalink raw reply	[flat|nested] 25+ messages in thread

* patch 'net/bnxt: fix null dereference in session cleanup' has been queued to stable release 21.11.1
  2022-03-10 12:11 patch 'examples/kni: add missing trailing newline in log' has been queued to stable release 21.11.1 Kevin Traynor
                   ` (2 preceding siblings ...)
  2022-03-10 12:11 ` patch 'ethdev: fix doxygen comments for device info struct' " Kevin Traynor
@ 2022-03-10 12:11 ` Kevin Traynor
  2022-03-10 12:11 ` patch 'net/mlx5: fix inet IPIP protocol type' " Kevin Traynor
                   ` (15 subsequent siblings)
  19 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2022-03-10 12:11 UTC (permalink / raw)
  To: Weiguo Li; +Cc: Ajit Khaparde, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/14/22. 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/9bdcba122b7652766ebce143dcc8a1717ded183b

Thanks.

Kevin

---
From 9bdcba122b7652766ebce143dcc8a1717ded183b Mon Sep 17 00:00:00 2001
From: Weiguo Li <liwg06@foxmail.com>
Date: Thu, 24 Feb 2022 23:53:59 +0800
Subject: [PATCH] net/bnxt: fix null dereference in session cleanup

[ upstream commit a2dfcd1ff609f5a4fd3b65774618a35c5c9f73c6 ]

In tf_session_create(), there is a case that with 'tfp->session' still
be NULL and run 'goto cleanup', which will leads to a null dereference
by 'tfp_free(tfp->session->core_data)' in the cleanup.

Fixes: a46bbb57605b ("net/bnxt: update multi device design")

Signed-off-by: Weiguo Li <liwg06@foxmail.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
 drivers/net/bnxt/tf_core/tf_session.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/net/bnxt/tf_core/tf_session.c b/drivers/net/bnxt/tf_core/tf_session.c
index 9f849a0a76..c30c0e7029 100644
--- a/drivers/net/bnxt/tf_core/tf_session.c
+++ b/drivers/net/bnxt/tf_core/tf_session.c
@@ -231,8 +231,10 @@ tf_session_create(struct tf *tfp,
 			    strerror(-rc));
 	}
+	if (tfp->session) {
+		tfp_free(tfp->session->core_data);
+		tfp_free(tfp->session);
+		tfp->session = NULL;
+	}
 
-	tfp_free(tfp->session->core_data);
-	tfp_free(tfp->session);
-	tfp->session = NULL;
 	return rc;
 }
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-03-10 12:05:31.573255510 +0000
+++ 0012-net-bnxt-fix-null-dereference-in-session-cleanup.patch	2022-03-10 12:05:31.249630727 +0000
@@ -1 +1 @@
-From a2dfcd1ff609f5a4fd3b65774618a35c5c9f73c6 Mon Sep 17 00:00:00 2001
+From 9bdcba122b7652766ebce143dcc8a1717ded183b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a2dfcd1ff609f5a4fd3b65774618a35c5c9f73c6 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org


^ permalink raw reply	[flat|nested] 25+ messages in thread

* patch 'net/mlx5: fix inet IPIP protocol type' has been queued to stable release 21.11.1
  2022-03-10 12:11 patch 'examples/kni: add missing trailing newline in log' has been queued to stable release 21.11.1 Kevin Traynor
                   ` (3 preceding siblings ...)
  2022-03-10 12:11 ` patch 'net/bnxt: fix null dereference in session cleanup' " Kevin Traynor
@ 2022-03-10 12:11 ` Kevin Traynor
  2022-03-10 12:11 ` patch 'net/mlx5: fix next protocol RSS expansion' " Kevin Traynor
                   ` (14 subsequent siblings)
  19 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2022-03-10 12:11 UTC (permalink / raw)
  To: Gregory Etelson; +Cc: Matan Azrad, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/14/22. 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/4500ec704f801ef3b46389a4ed754be8d1b753ef

Thanks.

Kevin

---
From 4500ec704f801ef3b46389a4ed754be8d1b753ef Mon Sep 17 00:00:00 2001
From: Gregory Etelson <getelson@nvidia.com>
Date: Tue, 1 Mar 2022 17:18:56 +0200
Subject: [PATCH] net/mlx5: fix inet IPIP protocol type

[ upstream commit d16ec6841b5e2e8ee7e224d4456aaf4d5e02e13b ]

Fix typo in INET IPIP protocol macro.

Fixes: f3f1f576f438 ("net/mlx5: fix RSS expansion with explicit next protocol")

Signed-off-by: Gregory Etelson <getelson@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
---
 drivers/net/mlx5/mlx5_flow.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 5d56ce96ea..7b53b8413d 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -202,5 +202,5 @@ mlx5_inet_proto_to_item_type(uint8_t proto_spec, uint8_t proto_mask)
 		type = RTE_FLOW_ITEM_TYPE_TCP;
 		break;
-	case IPPROTO_IP:
+	case IPPROTO_IPIP:
 		type = RTE_FLOW_ITEM_TYPE_IPV4;
 		break;
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-03-10 12:05:31.592275641 +0000
+++ 0013-net-mlx5-fix-inet-IPIP-protocol-type.patch	2022-03-10 12:05:31.257630747 +0000
@@ -1 +1 @@
-From d16ec6841b5e2e8ee7e224d4456aaf4d5e02e13b Mon Sep 17 00:00:00 2001
+From 4500ec704f801ef3b46389a4ed754be8d1b753ef Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d16ec6841b5e2e8ee7e224d4456aaf4d5e02e13b ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index a690e2d337..9bb4ce26f7 100644
+index 5d56ce96ea..7b53b8413d 100644
@@ -21 +22 @@
-@@ -203,5 +203,5 @@ mlx5_inet_proto_to_item_type(uint8_t proto_spec, uint8_t proto_mask)
+@@ -202,5 +202,5 @@ mlx5_inet_proto_to_item_type(uint8_t proto_spec, uint8_t proto_mask)


^ permalink raw reply	[flat|nested] 25+ messages in thread

* patch 'net/mlx5: fix next protocol RSS expansion' has been queued to stable release 21.11.1
  2022-03-10 12:11 patch 'examples/kni: add missing trailing newline in log' has been queued to stable release 21.11.1 Kevin Traynor
                   ` (4 preceding siblings ...)
  2022-03-10 12:11 ` patch 'net/mlx5: fix inet IPIP protocol type' " Kevin Traynor
@ 2022-03-10 12:11 ` Kevin Traynor
  2022-03-10 12:11 ` patch 'net/mlx5: fix shared RSS destroy' " Kevin Traynor
                   ` (13 subsequent siblings)
  19 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2022-03-10 12:11 UTC (permalink / raw)
  To: Gregory Etelson; +Cc: Matan Azrad, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/14/22. 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/5d3ade99bd40fcc4cc0b495bf00c11fe65ae4bac

Thanks.

Kevin

---
From 5d3ade99bd40fcc4cc0b495bf00c11fe65ae4bac Mon Sep 17 00:00:00 2001
From: Gregory Etelson <getelson@nvidia.com>
Date: Tue, 1 Mar 2022 17:18:55 +0200
Subject: [PATCH] net/mlx5: fix next protocol RSS expansion
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit 6ae5c238371aeb86359c5a6c1eb1330e1cc25fca ]

RSS expansion scheme has 2 operational modes: default and specific.
The default mode expands into all valid options for a given network
layer. For example, Ethernet expands by default into VLAN, IPv4 and
IPv6, L3 expands into TCP and UDP, etc.
The specific mode expands according to flow item next protocol
configuration provided by the item spec and mask parameters.
There are 3 outcomes for the specific expansion:
1. Back to default – that is the case when result of (spec & mask)
   allows all possibilities.
   For example: eth type mask 0 type spec 0
2. No results – in that case item configuration has no valid expansion.
   For example: eth type mask 0xffff type spec 101
3. Direct - In that case flow item mask and spec configuration return
   valid expansion  option.
   Example: eth type mask 0x0fff type spec 0x0800.

Current PMD expands flow items with explicit spec and mask
configuration into the Direct(3) or No results (2). Default expansions
were handled as No results.

Fixes: f3f1f576f438 ("net/mlx5: fix RSS expansion with explicit next protocol")

Signed-off-by: Gregory Etelson <getelson@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
---
 drivers/net/mlx5/mlx5_flow.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 7b53b8413d..cee8f00413 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -175,4 +175,7 @@ mlx5_nsh_proto_to_item_type(uint8_t proto_spec, uint8_t proto_mask)
 
 	switch (proto_mask & proto_spec) {
+	case 0:
+		type = RTE_FLOW_ITEM_TYPE_VOID;
+		break;
 	case RTE_VXLAN_GPE_TYPE_IPV4:
 		type = RTE_FLOW_ITEM_TYPE_IPV4;
@@ -196,4 +199,7 @@ mlx5_inet_proto_to_item_type(uint8_t proto_spec, uint8_t proto_mask)
 
 	switch (proto_mask & proto_spec) {
+	case 0:
+		type = RTE_FLOW_ITEM_TYPE_VOID;
+		break;
 	case IPPROTO_UDP:
 		type = RTE_FLOW_ITEM_TYPE_UDP;
@@ -221,4 +227,7 @@ mlx5_ethertype_to_item_type(rte_be16_t type_spec,
 
 	switch (rte_be_to_cpu_16(type_spec & type_mask)) {
+	case 0:
+		type = RTE_FLOW_ITEM_TYPE_VOID;
+		break;
 	case RTE_ETHER_TYPE_TEB:
 		type = is_tunnel ?
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-03-10 12:05:31.655817491 +0000
+++ 0014-net-mlx5-fix-next-protocol-RSS-expansion.patch	2022-03-10 12:05:31.264630765 +0000
@@ -1 +1 @@
-From 6ae5c238371aeb86359c5a6c1eb1330e1cc25fca Mon Sep 17 00:00:00 2001
+From 5d3ade99bd40fcc4cc0b495bf00c11fe65ae4bac Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 6ae5c238371aeb86359c5a6c1eb1330e1cc25fca ]
+
@@ -30 +31,0 @@
-Cc: stable@dpdk.org
@@ -39 +40 @@
-index 9bb4ce26f7..efb988a9bb 100644
+index 7b53b8413d..cee8f00413 100644
@@ -42 +43 @@
-@@ -176,4 +176,7 @@ mlx5_nsh_proto_to_item_type(uint8_t proto_spec, uint8_t proto_mask)
+@@ -175,4 +175,7 @@ mlx5_nsh_proto_to_item_type(uint8_t proto_spec, uint8_t proto_mask)
@@ -50 +51 @@
-@@ -197,4 +200,7 @@ mlx5_inet_proto_to_item_type(uint8_t proto_spec, uint8_t proto_mask)
+@@ -196,4 +199,7 @@ mlx5_inet_proto_to_item_type(uint8_t proto_spec, uint8_t proto_mask)
@@ -58 +59 @@
-@@ -222,4 +228,7 @@ mlx5_ethertype_to_item_type(rte_be16_t type_spec,
+@@ -221,4 +227,7 @@ mlx5_ethertype_to_item_type(rte_be16_t type_spec,


^ permalink raw reply	[flat|nested] 25+ messages in thread

* patch 'net/mlx5: fix shared RSS destroy' has been queued to stable release 21.11.1
  2022-03-10 12:11 patch 'examples/kni: add missing trailing newline in log' has been queued to stable release 21.11.1 Kevin Traynor
                   ` (5 preceding siblings ...)
  2022-03-10 12:11 ` patch 'net/mlx5: fix next protocol RSS expansion' " Kevin Traynor
@ 2022-03-10 12:11 ` Kevin Traynor
  2022-03-10 13:12   ` Kevin Traynor
  2022-03-10 12:11 ` patch 'net/mlx5: fix modify port action validation' " Kevin Traynor
                   ` (12 subsequent siblings)
  19 siblings, 1 reply; 25+ messages in thread
From: Kevin Traynor @ 2022-03-10 12:11 UTC (permalink / raw)
  To: Rongwei Liu; +Cc: Viacheslav Ovsiienko, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/14/22. 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/eebfb74c5155c08ff2a0e1b9a01f76f62e3b7382

Thanks.

Kevin

---
From eebfb74c5155c08ff2a0e1b9a01f76f62e3b7382 Mon Sep 17 00:00:00 2001
From: Rongwei Liu <rongweil@nvidia.com>
Date: Wed, 2 Mar 2022 13:19:38 +0200
Subject: [PATCH] net/mlx5: fix shared RSS destroy

[ upstream commit e1786fd53d7e5631c9ffb9b2fba0fd402bc8cf74 ]

When both shared and non-shared RSS actions are present in single
flow rule shared RSS index is unset by mistake.

For example:
1. flow indirect_action 0 create action_id 3 ingress action RSS ...
2. set sample_actions 0 mark id 43690 / queue index 0 / end
3. flow create 0 ingress group 107 pattern eth / sample ratio 2
   index 0  / indirect 3 / end

PMD translates the indirect action to a shared RSS description at first.
In the split prefix flow, RSS->shared_RSS is unset when translating
sample queue action, the subfix flow will treat the RSS as non-shared.

Fixes: 8e61555657b2 ("net/mlx5: fix shared RSS and mark actions combination")

Signed-off-by: Rongwei Liu <rongweil@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
 drivers/net/mlx5/mlx5_flow_dv.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
index 7a5f17a8b7..a35fb3de4e 100644
--- a/drivers/net/mlx5/mlx5_flow_dv.c
+++ b/drivers/net/mlx5/mlx5_flow_dv.c
@@ -11103,4 +11103,5 @@ flow_dv_hrxq_prepare(struct rte_eth_dev *dev,
 	struct mlx5_priv *priv = dev->data->dev_private;
 	struct mlx5_flow_handle *dh = dev_flow->handle;
+	uint32_t shared_rss = rss_desc->shared_rss;
 	struct mlx5_hrxq *hrxq;
 
@@ -11117,4 +11118,5 @@ flow_dv_hrxq_prepare(struct rte_eth_dev *dev,
 	hrxq = mlx5_ipool_get(priv->sh->ipool[MLX5_IPOOL_HRXQ],
 			      *hrxq_idx);
+	rss_desc->shared_rss = shared_rss;
 	return hrxq;
 }
@@ -18325,3 +18327,2 @@ const struct mlx5_flow_driver_ops mlx5_flow_dv_drv_ops = {
 
 #endif /* HAVE_IBV_FLOW_DV_SUPPORT */
-
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-03-10 12:05:31.704141933 +0000
+++ 0015-net-mlx5-fix-shared-RSS-destroy.patch	2022-03-10 12:05:31.278630800 +0000
@@ -1 +1 @@
-From e1786fd53d7e5631c9ffb9b2fba0fd402bc8cf74 Mon Sep 17 00:00:00 2001
+From eebfb74c5155c08ff2a0e1b9a01f76f62e3b7382 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e1786fd53d7e5631c9ffb9b2fba0fd402bc8cf74 ]
+
@@ -20 +21,0 @@
-Cc: stable@dpdk.org
@@ -25,2 +26,2 @@
- drivers/net/mlx5/mlx5_flow_dv.c | 2 ++
- 1 file changed, 2 insertions(+)
+ drivers/net/mlx5/mlx5_flow_dv.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
@@ -29 +30 @@
-index 7a7591144a..ebd0a427f3 100644
+index 7a5f17a8b7..a35fb3de4e 100644
@@ -32,2 +33,2 @@
-@@ -11207,4 +11207,5 @@ flow_dv_hrxq_prepare(struct rte_eth_dev *dev,
- {
+@@ -11103,4 +11103,5 @@ flow_dv_hrxq_prepare(struct rte_eth_dev *dev,
+ 	struct mlx5_priv *priv = dev->data->dev_private;
@@ -38,3 +39,3 @@
-@@ -11218,4 +11219,5 @@ flow_dv_hrxq_prepare(struct rte_eth_dev *dev,
- 	hrxq = mlx5_hrxq_get(dev, rss_desc);
- 	*hrxq_idx = hrxq ? hrxq->idx : 0;
+@@ -11117,4 +11118,5 @@ flow_dv_hrxq_prepare(struct rte_eth_dev *dev,
+ 	hrxq = mlx5_ipool_get(priv->sh->ipool[MLX5_IPOOL_HRXQ],
+ 			      *hrxq_idx);
@@ -43,0 +45,4 @@
+@@ -18325,3 +18327,2 @@ const struct mlx5_flow_driver_ops mlx5_flow_dv_drv_ops = {
+ 
+ #endif /* HAVE_IBV_FLOW_DV_SUPPORT */
+-


^ permalink raw reply	[flat|nested] 25+ messages in thread

* patch 'net/mlx5: fix modify port action validation' has been queued to stable release 21.11.1
  2022-03-10 12:11 patch 'examples/kni: add missing trailing newline in log' has been queued to stable release 21.11.1 Kevin Traynor
                   ` (6 preceding siblings ...)
  2022-03-10 12:11 ` patch 'net/mlx5: fix shared RSS destroy' " Kevin Traynor
@ 2022-03-10 12:11 ` Kevin Traynor
  2022-03-10 12:11 ` patch 'net/mlx5: remove unused reference counter' " Kevin Traynor
                   ` (11 subsequent siblings)
  19 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2022-03-10 12:11 UTC (permalink / raw)
  To: Dmitry Kozlyuk; +Cc: Matan Azrad, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/14/22. 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/0036f3941e4f82b8848cc4dc8d9c951f8b38b681

Thanks.

Kevin

---
From 0036f3941e4f82b8848cc4dc8d9c951f8b38b681 Mon Sep 17 00:00:00 2001
From: Dmitry Kozlyuk <dkozlyuk@nvidia.com>
Date: Wed, 2 Mar 2022 03:34:29 +0200
Subject: [PATCH] net/mlx5: fix modify port action validation

[ upstream commit ea7cc15ab97a3f73ae4f6c0a9d9c89f5ca0374f3 ]

Certain flow rules containing a modify header action for an L4 port
could be erroneously rejected as invalid, because this action
was counted as consuming two HW actions, while it only requires one.

Fixes: 72a944dba163 ("net/mlx5: fix header modify action validation")

Signed-off-by: Dmitry Kozlyuk <dkozlyuk@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
---
 drivers/net/mlx5/mlx5_flow.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_flow.h b/drivers/net/mlx5/mlx5_flow.h
index f8bce92e9f..64335b8670 100644
--- a/drivers/net/mlx5/mlx5_flow.h
+++ b/drivers/net/mlx5/mlx5_flow.h
@@ -427,5 +427,5 @@ enum mlx5_feature_name {
 #define MLX5_ACT_NUM_MDF_MAC		2
 #define MLX5_ACT_NUM_MDF_VID		1
-#define MLX5_ACT_NUM_MDF_PORT		2
+#define MLX5_ACT_NUM_MDF_PORT		1
 #define MLX5_ACT_NUM_MDF_TTL		1
 #define MLX5_ACT_NUM_DEC_TTL		MLX5_ACT_NUM_MDF_TTL
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-03-10 12:05:31.737846771 +0000
+++ 0016-net-mlx5-fix-modify-port-action-validation.patch	2022-03-10 12:05:31.280630805 +0000
@@ -1 +1 @@
-From ea7cc15ab97a3f73ae4f6c0a9d9c89f5ca0374f3 Mon Sep 17 00:00:00 2001
+From 0036f3941e4f82b8848cc4dc8d9c951f8b38b681 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit ea7cc15ab97a3f73ae4f6c0a9d9c89f5ca0374f3 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 484ce5791e..f56115dd11 100644
+index f8bce92e9f..64335b8670 100644
@@ -23 +24 @@
-@@ -428,5 +428,5 @@ enum mlx5_feature_name {
+@@ -427,5 +427,5 @@ enum mlx5_feature_name {


^ permalink raw reply	[flat|nested] 25+ messages in thread

* patch 'net/mlx5: remove unused reference counter' has been queued to stable release 21.11.1
  2022-03-10 12:11 patch 'examples/kni: add missing trailing newline in log' has been queued to stable release 21.11.1 Kevin Traynor
                   ` (7 preceding siblings ...)
  2022-03-10 12:11 ` patch 'net/mlx5: fix modify port action validation' " Kevin Traynor
@ 2022-03-10 12:11 ` Kevin Traynor
  2022-03-10 12:11 ` patch 'net/mlx5: fix meter policy creation assert' " Kevin Traynor
                   ` (10 subsequent siblings)
  19 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2022-03-10 12:11 UTC (permalink / raw)
  To: Bing Zhao; +Cc: Matan Azrad, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/14/22. 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/c77572d2a1f816360cd92b6738821e81ec7c3d18

Thanks.

Kevin

---
From c77572d2a1f816360cd92b6738821e81ec7c3d18 Mon Sep 17 00:00:00 2001
From: Bing Zhao <bingz@nvidia.com>
Date: Wed, 2 Mar 2022 09:57:35 +0200
Subject: [PATCH] net/mlx5: remove unused reference counter

[ upstream commit cff6aad7af61da8d31e146610f9b4a4875301ef4 ]

In the previous implementation, a count was used to record the number
of the references to a table resource, including the creation of the
table, the jumping to the table and the matchers created on the
table. Before releasing the table resource via the driver, it needed
to ensure that there is no reference to this table.

After the optimization of the resources management, the reference
count now is in the hash list entry as a unified solution for all the
resources management.

There is no need to keep the "refcnt" in the table resource
structure. It is removed in case that there is some unnecessary
memory overhead.

Fixes: afd7a62514ad ("net/mlx5: make flow table cache thread safe")

Signed-off-by: Bing Zhao <bingz@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
---
 drivers/net/mlx5/mlx5.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h
index da9c8f5086..2d682e1e81 100644
--- a/drivers/net/mlx5/mlx5.h
+++ b/drivers/net/mlx5/mlx5.h
@@ -962,5 +962,4 @@ union mlx5_flow_tbl_key {
 struct mlx5_flow_tbl_resource {
 	void *obj; /**< Pointer to DR table object. */
-	uint32_t refcnt; /**< Reference counter. */
 };
 
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-03-10 12:05:31.759337144 +0000
+++ 0017-net-mlx5-remove-unused-reference-counter.patch	2022-03-10 12:05:31.282630810 +0000
@@ -1 +1 @@
-From cff6aad7af61da8d31e146610f9b4a4875301ef4 Mon Sep 17 00:00:00 2001
+From c77572d2a1f816360cd92b6738821e81ec7c3d18 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit cff6aad7af61da8d31e146610f9b4a4875301ef4 ]
+
@@ -21 +22,0 @@
-Cc: stable@dpdk.org
@@ -30 +31 @@
-index 0f0045a2b5..dd5cd9209f 100644
+index da9c8f5086..2d682e1e81 100644
@@ -33 +34 @@
-@@ -994,5 +994,4 @@ union mlx5_flow_tbl_key {
+@@ -962,5 +962,4 @@ union mlx5_flow_tbl_key {


^ permalink raw reply	[flat|nested] 25+ messages in thread

* patch 'net/mlx5: fix meter policy creation assert' has been queued to stable release 21.11.1
  2022-03-10 12:11 patch 'examples/kni: add missing trailing newline in log' has been queued to stable release 21.11.1 Kevin Traynor
                   ` (8 preceding siblings ...)
  2022-03-10 12:11 ` patch 'net/mlx5: remove unused reference counter' " Kevin Traynor
@ 2022-03-10 12:11 ` Kevin Traynor
  2022-03-10 12:11 ` patch 'net/mlx5: fix flex item availability' " Kevin Traynor
                   ` (9 subsequent siblings)
  19 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2022-03-10 12:11 UTC (permalink / raw)
  To: Shun Hao; +Cc: Matan Azrad, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/14/22. 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/3bd5cf393d0ab0152596bf2d0d8a8c2270a047d5

Thanks.

Kevin

---
From 3bd5cf393d0ab0152596bf2d0d8a8c2270a047d5 Mon Sep 17 00:00:00 2001
From: Shun Hao <shunh@nvidia.com>
Date: Wed, 2 Mar 2022 12:33:01 +0200
Subject: [PATCH] net/mlx5: fix meter policy creation assert

[ upstream commit 9267617bb0a6918ee049b1a16062bf0185e2e843 ]

The meter policy creation doesn't belong to flow rule creation
process, so thread workspace was not initialized and there will be
assert error when using it.

This patch removes the incorrect using of thread workspace in meter
policy creation, and adds a flag in policy instead. When creating
flow rule, can use the flag to set the mark flag in thread workspace.

Fixes: 082becbf1f35 ("net/mlx5: fix mark enabling for Rx")

Signed-off-by: Shun Hao <shunh@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
---
 drivers/net/mlx5/mlx5.h         | 2 ++
 drivers/net/mlx5/mlx5_flow.c    | 2 ++
 drivers/net/mlx5/mlx5_flow_dv.c | 6 +++---
 3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h
index 2d682e1e81..128ebd6937 100644
--- a/drivers/net/mlx5/mlx5.h
+++ b/drivers/net/mlx5/mlx5.h
@@ -748,4 +748,6 @@ struct mlx5_flow_meter_policy {
 	uint32_t skip_g:1;
 	/* If green color policy is skipped. */
+	uint32_t mark:1;
+	/* If policy contains mark action. */
 	rte_spinlock_t sl;
 	uint32_t ref_cnt;
diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index cee8f00413..5b36cfa042 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -6070,4 +6070,6 @@ flow_create_split_meter(struct rte_eth_dev *dev,
 								  NULL);
 			MLX5_ASSERT(wks->policy);
+			if (wks->policy->mark)
+				wks->mark = 1;
 			if (wks->policy->is_hierarchy) {
 				wks->final_policy =
diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
index a35fb3de4e..1ed0ebb3d9 100644
--- a/drivers/net/mlx5/mlx5_flow_dv.c
+++ b/drivers/net/mlx5/mlx5_flow_dv.c
@@ -15449,7 +15449,5 @@ __flow_dv_create_domain_policy_acts(struct rte_eth_dev *dev,
 	} mhdr_dummy;
 	struct mlx5_flow_dv_modify_hdr_resource *mhdr_res = &mhdr_dummy.res;
-	struct mlx5_flow_workspace *wks = mlx5_flow_get_thread_workspace();
 
-	MLX5_ASSERT(wks);
 	egress = (domain == MLX5_MTR_DOMAIN_EGRESS) ? 1 : 0;
 	transfer = (domain == MLX5_MTR_DOMAIN_TRANSFER) ? 1 : 0;
@@ -15489,5 +15487,4 @@ __flow_dv_create_domain_policy_acts(struct rte_eth_dev *dev,
 					  "cannot create policy "
 					  "mark action for this color");
-				wks->mark = 1;
 				if (flow_dv_tag_resource_register(dev, tag_be,
 						  &dev_flow, &flow_err))
@@ -15501,4 +15498,5 @@ __flow_dv_create_domain_policy_acts(struct rte_eth_dev *dev,
 					dev_flow.handle->dvh.rix_tag;
 				action_flags |= MLX5_FLOW_ACTION_MARK;
+				mtr_policy->mark = 1;
 				break;
 			}
@@ -15784,4 +15782,6 @@ __flow_dv_create_domain_policy_acts(struct rte_eth_dev *dev,
 				mtr_policy->is_hierarchy = 1;
 				mtr_policy->dev = next_policy->dev;
+				if (next_policy->mark)
+					mtr_policy->mark = 1;
 				action_flags |=
 				MLX5_FLOW_ACTION_METER_WITH_TERMINATED_POLICY;
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-03-10 12:05:31.780278514 +0000
+++ 0018-net-mlx5-fix-meter-policy-creation-assert.patch	2022-03-10 12:05:31.305630868 +0000
@@ -1 +1 @@
-From 9267617bb0a6918ee049b1a16062bf0185e2e843 Mon Sep 17 00:00:00 2001
+From 3bd5cf393d0ab0152596bf2d0d8a8c2270a047d5 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 9267617bb0a6918ee049b1a16062bf0185e2e843 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -26 +27 @@
-index dd5cd9209f..23a28f6e52 100644
+index 2d682e1e81..128ebd6937 100644
@@ -29 +30 @@
-@@ -780,4 +780,6 @@ struct mlx5_flow_meter_policy {
+@@ -748,4 +748,6 @@ struct mlx5_flow_meter_policy {
@@ -37 +38 @@
-index efb988a9bb..15a4a8cd98 100644
+index cee8f00413..5b36cfa042 100644
@@ -40 +41 @@
-@@ -6297,4 +6297,6 @@ flow_create_split_meter(struct rte_eth_dev *dev,
+@@ -6070,4 +6070,6 @@ flow_create_split_meter(struct rte_eth_dev *dev,
@@ -48 +49 @@
-index 34d2c7a99f..29751e7eda 100644
+index a35fb3de4e..1ed0ebb3d9 100644
@@ -51 +52 @@
-@@ -15567,7 +15567,5 @@ __flow_dv_create_domain_policy_acts(struct rte_eth_dev *dev,
+@@ -15449,7 +15449,5 @@ __flow_dv_create_domain_policy_acts(struct rte_eth_dev *dev,
@@ -59 +60 @@
-@@ -15607,5 +15605,4 @@ __flow_dv_create_domain_policy_acts(struct rte_eth_dev *dev,
+@@ -15489,5 +15487,4 @@ __flow_dv_create_domain_policy_acts(struct rte_eth_dev *dev,
@@ -65 +66 @@
-@@ -15619,4 +15616,5 @@ __flow_dv_create_domain_policy_acts(struct rte_eth_dev *dev,
+@@ -15501,4 +15498,5 @@ __flow_dv_create_domain_policy_acts(struct rte_eth_dev *dev,
@@ -71 +72 @@
-@@ -15902,4 +15900,6 @@ __flow_dv_create_domain_policy_acts(struct rte_eth_dev *dev,
+@@ -15784,4 +15782,6 @@ __flow_dv_create_domain_policy_acts(struct rte_eth_dev *dev,


^ permalink raw reply	[flat|nested] 25+ messages in thread

* patch 'net/mlx5: fix flex item availability' has been queued to stable release 21.11.1
  2022-03-10 12:11 patch 'examples/kni: add missing trailing newline in log' has been queued to stable release 21.11.1 Kevin Traynor
                   ` (9 preceding siblings ...)
  2022-03-10 12:11 ` patch 'net/mlx5: fix meter policy creation assert' " Kevin Traynor
@ 2022-03-10 12:11 ` Kevin Traynor
  2022-03-21 17:02   ` Kevin Traynor
  2022-03-10 12:11 ` patch 'net/mlx5: fix MPLS/GRE Verbs spec ordering' " Kevin Traynor
                   ` (8 subsequent siblings)
  19 siblings, 1 reply; 25+ messages in thread
From: Kevin Traynor @ 2022-03-10 12:11 UTC (permalink / raw)
  To: Gregory Etelson; +Cc: Viacheslav Ovsiienko, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/14/22. 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/48fe9efaf2fb974e3f805eb7c54440ec3818a4b6

Thanks.

Kevin

---
From 48fe9efaf2fb974e3f805eb7c54440ec3818a4b6 Mon Sep 17 00:00:00 2001
From: Gregory Etelson <getelson@nvidia.com>
Date: Wed, 2 Mar 2022 13:06:42 +0200
Subject: [PATCH] net/mlx5: fix flex item availability

[ upstream commit 71adf25dbfb3a60731bd922342cc0f171714db81 ]

Flex item availability is restricted to BlueField-2 and BlueField-3
PF ports.

The patch validates port type compliance before proceeding to
flex item creation.

Fixes: db25cadc0887 ("net/mlx5: add flex item operations")

Signed-off-by: Gregory Etelson <getelson@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
 drivers/common/mlx5/linux/mlx5_common_os.h |  1 +
 drivers/net/mlx5/mlx5_flow.c               | 17 +++++++++++++++++
 2 files changed, 18 insertions(+)

diff --git a/drivers/common/mlx5/linux/mlx5_common_os.h b/drivers/common/mlx5/linux/mlx5_common_os.h
index 83066e752d..2e4ac09bbf 100644
--- a/drivers/common/mlx5/linux/mlx5_common_os.h
+++ b/drivers/common/mlx5/linux/mlx5_common_os.h
@@ -10,4 +10,5 @@
 
 #include <rte_pci.h>
+#include <rte_bus_pci.h>
 #include <rte_debug.h>
 #include <rte_atomic.h>
diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 5b36cfa042..41a648ff3f 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -9854,8 +9854,25 @@ mlx5_flow_flex_item_create(struct rte_eth_dev *dev,
 {
 	static const char err_msg[] = "flex item creation unsupported";
+	struct mlx5_priv *priv = dev->data->dev_private;
 	struct rte_flow_attr attr = { .transfer = 0 };
 	const struct mlx5_flow_driver_ops *fops =
 			flow_get_drv_ops(flow_get_drv_type(dev, &attr));
 
+	if (!priv->pci_dev) {
+		rte_flow_error_set(error, ENOTSUP,
+				   RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL,
+				   "create flex item on PF only");
+		return NULL;
+	}
+	switch (priv->pci_dev->id.device_id) {
+	case PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF:
+	case PCI_DEVICE_ID_MELLANOX_CONNECTX7BF:
+		break;
+	default:
+		rte_flow_error_set(error, ENOTSUP,
+				   RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL,
+				   "flex item available on BlueField ports only");
+		return NULL;
+	}
 	if (!fops->item_create) {
 		DRV_LOG(ERR, "port %u %s.", dev->data->port_id, err_msg);
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-03-10 12:05:31.815513907 +0000
+++ 0019-net-mlx5-fix-flex-item-availability.patch	2022-03-10 12:05:31.314630891 +0000
@@ -1 +1 @@
-From 71adf25dbfb3a60731bd922342cc0f171714db81 Mon Sep 17 00:00:00 2001
+From 48fe9efaf2fb974e3f805eb7c54440ec3818a4b6 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 71adf25dbfb3a60731bd922342cc0f171714db81 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index a85f3b5f3c..27f1192205 100644
+index 83066e752d..2e4ac09bbf 100644
@@ -33 +34 @@
-index 15a4a8cd98..ffcaef0baa 100644
+index 5b36cfa042..41a648ff3f 100644
@@ -36 +37 @@
-@@ -10631,8 +10631,25 @@ mlx5_flow_flex_item_create(struct rte_eth_dev *dev,
+@@ -9854,8 +9854,25 @@ mlx5_flow_flex_item_create(struct rte_eth_dev *dev,


^ permalink raw reply	[flat|nested] 25+ messages in thread

* patch 'net/mlx5: fix MPLS/GRE Verbs spec ordering' has been queued to stable release 21.11.1
  2022-03-10 12:11 patch 'examples/kni: add missing trailing newline in log' has been queued to stable release 21.11.1 Kevin Traynor
                   ` (10 preceding siblings ...)
  2022-03-10 12:11 ` patch 'net/mlx5: fix flex item availability' " Kevin Traynor
@ 2022-03-10 12:11 ` Kevin Traynor
  2022-03-10 12:11 ` patch 'net/mlx5: fix configuration without Rx queue' " Kevin Traynor
                   ` (7 subsequent siblings)
  19 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2022-03-10 12:11 UTC (permalink / raw)
  To: Dariusz Sosnowski; +Cc: Viacheslav Ovsiienko, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/14/22. 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/d31463e0b2e89a5b3a072ef6d983405b9774dacc

Thanks.

Kevin

---
From d31463e0b2e89a5b3a072ef6d983405b9774dacc Mon Sep 17 00:00:00 2001
From: Dariusz Sosnowski <dsosnowski@nvidia.com>
Date: Wed, 2 Mar 2022 17:06:59 +0000
Subject: [PATCH] net/mlx5: fix MPLS/GRE Verbs spec ordering

[ upstream commit 98008ce6ec2f31c2e94c0eb39740c8178aeb8392 ]

When using Verbs flow engine to create flows, GRE Verbs spec was put at
the end of specs list. This created problems for flows matching MPLSoGRE
packets. In generated specs list MPLS spec was put before GRE spec, but
Verbs API requires that MPLS spec must be put in its exact location in
protocol stack.

This patch fixes this behavior. Space for GRE Verbs spec is reserved at
its exact location. MPLS Verbs is inserted at its exact location as
well. GRE spec is filled after all flow items are parsed.

Fixes: 985b479267aa ("net/mlx5: fix GRE protocol type translation for Verbs")

Signed-off-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
 drivers/net/mlx5/mlx5_flow_verbs.c | 49 +++++++++++++++++++++++++++---
 1 file changed, 44 insertions(+), 5 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_flow_verbs.c b/drivers/net/mlx5/mlx5_flow_verbs.c
index 66a2711e8b..165786f864 100644
--- a/drivers/net/mlx5/mlx5_flow_verbs.c
+++ b/drivers/net/mlx5/mlx5_flow_verbs.c
@@ -883,11 +883,46 @@ flow_verbs_item_gre_ip_protocol_update(struct ibv_flow_attr *attr,
 }
 
+/**
+ * Reserve space for GRE spec in spec buffer.
+ *
+ * @param[in,out] dev_flow
+ *   Pointer to dev_flow structure.
+ *
+ * @return
+ *   Pointer to reserved space in spec buffer.
+ */
+static uint8_t *
+flow_verbs_reserve_gre(struct mlx5_flow *dev_flow)
+{
+	uint8_t *buffer;
+	struct mlx5_flow_verbs_workspace *verbs = &dev_flow->verbs;
+#ifndef HAVE_IBV_DEVICE_MPLS_SUPPORT
+	unsigned int size = sizeof(struct ibv_flow_spec_tunnel);
+	struct ibv_flow_spec_tunnel tunnel = {
+		.type = IBV_FLOW_SPEC_VXLAN_TUNNEL,
+		.size = size,
+	};
+#else
+	unsigned int size = sizeof(struct ibv_flow_spec_gre);
+	struct ibv_flow_spec_gre tunnel = {
+		.type = IBV_FLOW_SPEC_GRE,
+		.size = size,
+	};
+#endif
+
+	buffer = verbs->specs + verbs->size;
+	flow_verbs_spec_add(verbs, &tunnel, size);
+	return buffer;
+}
+
 /**
  * Convert the @p item into a Verbs specification. This function assumes that
- * the input is valid and that there is space to insert the requested item
- * into the flow.
+ * the input is valid and that Verbs specification will be placed in
+ * the pre-reserved space.
  *
  * @param[in, out] dev_flow
  *   Pointer to dev_flow structure.
+ * @param[in, out] gre_spec
+ *   Pointer to space reserved for GRE spec.
  * @param[in] item
  *   Item specification.
@@ -897,4 +932,5 @@ flow_verbs_item_gre_ip_protocol_update(struct ibv_flow_attr *attr,
 static void
 flow_verbs_translate_item_gre(struct mlx5_flow *dev_flow,
+			      uint8_t *gre_spec,
 			      const struct rte_flow_item *item __rte_unused,
 			      uint64_t item_flags)
@@ -950,5 +986,6 @@ flow_verbs_translate_item_gre(struct mlx5_flow *dev_flow,
 						       IBV_FLOW_SPEC_IPV6,
 						       IPPROTO_GRE);
-	flow_verbs_spec_add(verbs, &tunnel, size);
+	MLX5_ASSERT(gre_spec);
+	memcpy(gre_spec, &tunnel, size);
 }
 
@@ -1681,4 +1718,5 @@ flow_verbs_translate(struct rte_eth_dev *dev,
 	struct mlx5_flow_rss_desc *rss_desc;
 	const struct rte_flow_item *tunnel_item = NULL;
+	uint8_t *gre_spec = NULL;
 
 	MLX5_ASSERT(wks);
@@ -1818,4 +1856,5 @@ flow_verbs_translate(struct rte_eth_dev *dev,
 			break;
 		case RTE_FLOW_ITEM_TYPE_GRE:
+			gre_spec = flow_verbs_reserve_gre(dev_flow);
 			subpriority = MLX5_TUNNEL_PRIO_GET(rss_desc);
 			item_flags |= MLX5_FLOW_LAYER_GRE;
@@ -1835,6 +1874,6 @@ flow_verbs_translate(struct rte_eth_dev *dev,
 	}
 	if (item_flags & MLX5_FLOW_LAYER_GRE)
-		flow_verbs_translate_item_gre(dev_flow, tunnel_item,
-					      item_flags);
+		flow_verbs_translate_item_gre(dev_flow, gre_spec,
+					      tunnel_item, item_flags);
 	dev_flow->handle->layers = item_flags;
 	/* Other members of attr will be ignored. */
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-03-10 12:05:31.841480501 +0000
+++ 0020-net-mlx5-fix-MPLS-GRE-Verbs-spec-ordering.patch	2022-03-10 12:05:31.315630894 +0000
@@ -1 +1 @@
-From 98008ce6ec2f31c2e94c0eb39740c8178aeb8392 Mon Sep 17 00:00:00 2001
+From d31463e0b2e89a5b3a072ef6d983405b9774dacc Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 98008ce6ec2f31c2e94c0eb39740c8178aeb8392 ]
+
@@ -17 +18,0 @@
-Cc: stable@dpdk.org
@@ -26 +27 @@
-index 85f0788222..fd902078f8 100644
+index 66a2711e8b..165786f864 100644


^ permalink raw reply	[flat|nested] 25+ messages in thread

* patch 'net/mlx5: fix configuration without Rx queue' has been queued to stable release 21.11.1
  2022-03-10 12:11 patch 'examples/kni: add missing trailing newline in log' has been queued to stable release 21.11.1 Kevin Traynor
                   ` (11 preceding siblings ...)
  2022-03-10 12:11 ` patch 'net/mlx5: fix MPLS/GRE Verbs spec ordering' " Kevin Traynor
@ 2022-03-10 12:11 ` Kevin Traynor
  2022-03-10 12:11 ` patch 'net/mlx5: fix meter creation default state' " Kevin Traynor
                   ` (6 subsequent siblings)
  19 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2022-03-10 12:11 UTC (permalink / raw)
  To: Bing Zhao; +Cc: Viacheslav Ovsiienko, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/14/22. 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/a17cea76b791059e9489a7892349fdce89c48bd8

Thanks.

Kevin

---
From a17cea76b791059e9489a7892349fdce89c48bd8 Mon Sep 17 00:00:00 2001
From: Bing Zhao <bingz@nvidia.com>
Date: Thu, 3 Mar 2022 17:26:58 +0200
Subject: [PATCH] net/mlx5: fix configuration without Rx queue

[ upstream commit 3ef18940ef13fe8cb307aba0dba2bc316fb873a2 ]

None Rx queue configured in a DPDK application should be supported.
In this mode, the NIC can be used to generate packets without
receiving any ingress traffic.

In the current implementation, once there is no Rx queue specified,
the array to store the queues' pointers is NULL after allocation.
Then the checking of the array allocation prevents the application
from starting up.

By adding another condition checking of the Rx queue number, the
application with none Rx queue can start up successfully.

Fixes: 4cda06c3c35e ("net/mlx5: split Rx queue into shareable and private")

Signed-off-by: Bing Zhao <bingz@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
 drivers/net/mlx5/mlx5_ethdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c
index dc647d5580..9c44471c42 100644
--- a/drivers/net/mlx5/mlx5_ethdev.c
+++ b/drivers/net/mlx5/mlx5_ethdev.c
@@ -110,5 +110,5 @@ mlx5_dev_configure(struct rte_eth_dev *dev)
 				       sizeof(void *) * rxqs_n, 0,
 				       SOCKET_ID_ANY);
-	if (priv->rxq_privs == NULL) {
+	if (rxqs_n && priv->rxq_privs == NULL) {
 		DRV_LOG(ERR, "port %u cannot allocate rxq private data",
 			dev->data->port_id);
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-03-10 12:05:31.861525946 +0000
+++ 0021-net-mlx5-fix-configuration-without-Rx-queue.patch	2022-03-10 12:05:31.316630896 +0000
@@ -1 +1 @@
-From 3ef18940ef13fe8cb307aba0dba2bc316fb873a2 Mon Sep 17 00:00:00 2001
+From a17cea76b791059e9489a7892349fdce89c48bd8 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3ef18940ef13fe8cb307aba0dba2bc316fb873a2 ]
+
@@ -19 +20,0 @@
-Cc: stable@dpdk.org
@@ -28 +29 @@
-index de0ba2b1ff..05c919ed39 100644
+index dc647d5580..9c44471c42 100644
@@ -31 +32 @@
-@@ -112,5 +112,5 @@ mlx5_dev_configure(struct rte_eth_dev *dev)
+@@ -110,5 +110,5 @@ mlx5_dev_configure(struct rte_eth_dev *dev)


^ permalink raw reply	[flat|nested] 25+ messages in thread

* patch 'net/mlx5: fix meter creation default state' has been queued to stable release 21.11.1
  2022-03-10 12:11 patch 'examples/kni: add missing trailing newline in log' has been queued to stable release 21.11.1 Kevin Traynor
                   ` (12 preceding siblings ...)
  2022-03-10 12:11 ` patch 'net/mlx5: fix configuration without Rx queue' " Kevin Traynor
@ 2022-03-10 12:11 ` Kevin Traynor
  2022-03-10 12:11 ` patch 'net/sfc: reduce log level of tunnel restore info error' " Kevin Traynor
                   ` (5 subsequent siblings)
  19 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2022-03-10 12:11 UTC (permalink / raw)
  To: Rongwei Liu; +Cc: Matan Azrad, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/14/22. 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/ee836190a112912e101a8b754c500c87ae3ed3cd

Thanks.

Kevin

---
From ee836190a112912e101a8b754c500c87ae3ed3cd Mon Sep 17 00:00:00 2001
From: Rongwei Liu <rongweil@nvidia.com>
Date: Mon, 7 Mar 2022 10:00:35 +0200
Subject: [PATCH] net/mlx5: fix meter creation default state

[ upstream commit c3130c78e87864d5139d6672e48df807b1c0e2db ]

Disable means there is no packet drop in the meter. Meter is
active always but programmed with another CIR/CBS value.

If the user wants to disable the meter in creation, PMD calls
the disable() API manually after meter initialized.

Fixes: 444320186393 ("net/mlx5: support meter creation with policy")

Signed-off-by: Rongwei Liu <rongweil@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
---
 drivers/net/mlx5/mlx5_flow_meter.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_flow_meter.c b/drivers/net/mlx5/mlx5_flow_meter.c
index 4f5de5e422..a58e30dc83 100644
--- a/drivers/net/mlx5/mlx5_flow_meter.c
+++ b/drivers/net/mlx5/mlx5_flow_meter.c
@@ -16,4 +16,7 @@
 #include "mlx5_flow.h"
 
+static int mlx5_flow_meter_disable(struct rte_eth_dev *dev,
+		uint32_t meter_id, struct rte_mtr_error *error);
+
 /**
  * Create the meter action.
@@ -1289,5 +1292,5 @@ mlx5_flow_meter_create(struct rte_eth_dev *dev, uint32_t meter_id,
 	/* Add to the flow meter list. */
 	fm->active_state = 1; /* Config meter starts as active. */
-	fm->is_enable = 1;
+	fm->is_enable = params->meter_enable;
 	fm->shared = !!shared;
 	__atomic_add_fetch(&fm->profile->ref_cnt, 1, __ATOMIC_RELAXED);
@@ -1314,5 +1317,8 @@ mlx5_flow_meter_create(struct rte_eth_dev *dev, uint32_t meter_id,
 		if (mlx5_l3t_set_entry(priv->mtr_idx_tbl, meter_id, &data))
 			goto error;
+	} else if (!params->meter_enable && mlx5_flow_meter_disable(dev, meter_id, error)) {
+		goto error;
 	}
+	fm->active_state = params->meter_enable;
 	if (mtr_policy)
 		__atomic_add_fetch(&mtr_policy->ref_cnt, 1, __ATOMIC_RELAXED);
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-03-10 12:05:31.882320931 +0000
+++ 0022-net-mlx5-fix-meter-creation-default-state.patch	2022-03-10 12:05:31.317630899 +0000
@@ -1 +1 @@
-From c3130c78e87864d5139d6672e48df807b1c0e2db Mon Sep 17 00:00:00 2001
+From ee836190a112912e101a8b754c500c87ae3ed3cd Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c3130c78e87864d5139d6672e48df807b1c0e2db ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 06ab7c4a88..a3d1f2c08d 100644
+index 4f5de5e422..a58e30dc83 100644


^ permalink raw reply	[flat|nested] 25+ messages in thread

* patch 'net/sfc: reduce log level of tunnel restore info error' has been queued to stable release 21.11.1
  2022-03-10 12:11 patch 'examples/kni: add missing trailing newline in log' has been queued to stable release 21.11.1 Kevin Traynor
                   ` (13 preceding siblings ...)
  2022-03-10 12:11 ` patch 'net/mlx5: fix meter creation default state' " Kevin Traynor
@ 2022-03-10 12:11 ` Kevin Traynor
  2022-03-10 12:11 ` patch 'net/iavf: fix potential out-of-bounds access' " Kevin Traynor
                   ` (4 subsequent siblings)
  19 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2022-03-10 12:11 UTC (permalink / raw)
  To: Ivan Malov; +Cc: Andrew Rybchenko, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/14/22. 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/67191a9cb38f08ff0445ea946e50d61e5002e520

Thanks.

Kevin

---
From 67191a9cb38f08ff0445ea946e50d61e5002e520 Mon Sep 17 00:00:00 2001
From: Ivan Malov <ivan.malov@oktetlabs.ru>
Date: Sun, 6 Mar 2022 19:12:06 +0300
Subject: [PATCH] net/sfc: reduce log level of tunnel restore info error

[ upstream commit 31c23acc08e9efdab0be3d659add7c65e308fc5e ]

OvS might invoke this API on its data path, out of sync
with its control plane. If the control path has already
deactivated the tunnel context entry, these invocations
will produce quite a few error printouts. Suppress that.

Fixes: 7e5b479803c3 ("net/sfc: implement control path operations in tunnel offload")

Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
---
 drivers/net/sfc/sfc_flow_tunnel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/sfc/sfc_flow_tunnel.c b/drivers/net/sfc/sfc_flow_tunnel.c
index e9eca90012..af5941c1ba 100644
--- a/drivers/net/sfc/sfc_flow_tunnel.c
+++ b/drivers/net/sfc/sfc_flow_tunnel.c
@@ -434,5 +434,5 @@ sfc_flow_tunnel_get_restore_info(struct rte_eth_dev *dev,
 
 	if (ft->refcnt == 0) {
-		sfc_err(sa, "tunnel offload: get_restore_info: tunnel=%u does not exist",
+		sfc_dbg(sa, "tunnel offload: get_restore_info: tunnel=%u does not exist",
 			ft_id);
 		rc = ENOENT;
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-03-10 12:05:31.902500366 +0000
+++ 0023-net-sfc-reduce-log-level-of-tunnel-restore-info-erro.patch	2022-03-10 12:05:31.318630901 +0000
@@ -1 +1 @@
-From 31c23acc08e9efdab0be3d659add7c65e308fc5e Mon Sep 17 00:00:00 2001
+From 67191a9cb38f08ff0445ea946e50d61e5002e520 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 31c23acc08e9efdab0be3d659add7c65e308fc5e ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org


^ permalink raw reply	[flat|nested] 25+ messages in thread

* patch 'net/iavf: fix potential out-of-bounds access' has been queued to stable release 21.11.1
  2022-03-10 12:11 patch 'examples/kni: add missing trailing newline in log' has been queued to stable release 21.11.1 Kevin Traynor
                   ` (14 preceding siblings ...)
  2022-03-10 12:11 ` patch 'net/sfc: reduce log level of tunnel restore info error' " Kevin Traynor
@ 2022-03-10 12:11 ` Kevin Traynor
  2022-03-10 12:11 ` patch 'regexdev: fix section attribute of symbols' " Kevin Traynor
                   ` (3 subsequent siblings)
  19 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2022-03-10 12:11 UTC (permalink / raw)
  To: Leyi Rong; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/14/22. 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/6472c2d476777054abdf9986ba0d6ac1f5cab0dc

Thanks.

Kevin

---
From 6472c2d476777054abdf9986ba0d6ac1f5cab0dc Mon Sep 17 00:00:00 2001
From: Leyi Rong <leyi.rong@intel.com>
Date: Tue, 8 Mar 2022 13:56:17 +0800
Subject: [PATCH] net/iavf: fix potential out-of-bounds access

[ upstream commit d78d21b983f215d1425422f955cbd934e48360d3 ]

Fix potential out-of-bounds access as overrunning callee's array of
size 26 by passing argument rxq->rxdid(which evaluates to 63) in call
to iavf_rx_scan_hw_ring_flex_rxd.

Coverity issue: 376616
Fixes: 0ed16e01313e ("net/iavf: fix function pointer in multi-process")

Signed-off-by: Leyi Rong <leyi.rong@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/iavf/iavf_rxtx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c
index 60d6b20004..ede6c21668 100644
--- a/drivers/net/iavf/iavf_rxtx.c
+++ b/drivers/net/iavf/iavf_rxtx.c
@@ -478,5 +478,5 @@ iavf_rxd_to_pkt_fields_by_comms_aux_v2(struct iavf_rx_queue *rxq,
 
 static const
-iavf_rxd_to_pkt_fields_t rxd_to_pkt_fields_ops[] = {
+iavf_rxd_to_pkt_fields_t rxd_to_pkt_fields_ops[IAVF_RXDID_LAST + 1] = {
 	[IAVF_RXDID_COMMS_AUX_VLAN] = iavf_rxd_to_pkt_fields_by_comms_aux_v1,
 	[IAVF_RXDID_COMMS_AUX_IPV4] = iavf_rxd_to_pkt_fields_by_comms_aux_v1,
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-03-10 12:05:31.921998821 +0000
+++ 0024-net-iavf-fix-potential-out-of-bounds-access.patch	2022-03-10 12:05:31.320630906 +0000
@@ -1 +1 @@
-From d78d21b983f215d1425422f955cbd934e48360d3 Mon Sep 17 00:00:00 2001
+From 6472c2d476777054abdf9986ba0d6ac1f5cab0dc Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d78d21b983f215d1425422f955cbd934e48360d3 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index cb779879cb..16e8d021f9 100644
+index 60d6b20004..ede6c21668 100644
@@ -24 +25 @@
-@@ -477,5 +477,5 @@ iavf_rxd_to_pkt_fields_by_comms_aux_v2(struct iavf_rx_queue *rxq,
+@@ -478,5 +478,5 @@ iavf_rxd_to_pkt_fields_by_comms_aux_v2(struct iavf_rx_queue *rxq,


^ permalink raw reply	[flat|nested] 25+ messages in thread

* patch 'regexdev: fix section attribute of symbols' has been queued to stable release 21.11.1
  2022-03-10 12:11 patch 'examples/kni: add missing trailing newline in log' has been queued to stable release 21.11.1 Kevin Traynor
                   ` (15 preceding siblings ...)
  2022-03-10 12:11 ` patch 'net/iavf: fix potential out-of-bounds access' " Kevin Traynor
@ 2022-03-10 12:11 ` Kevin Traynor
  2022-03-10 12:11 ` patch 'common/mlx5: consider local functions as internal' " Kevin Traynor
                   ` (2 subsequent siblings)
  19 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2022-03-10 12:11 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: Ori Kam, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/14/22. 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/6e7f8939f23c2c8ed80602bc0d62990eebe52013

Thanks.

Kevin

---
From 6e7f8939f23c2c8ed80602bc0d62990eebe52013 Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas@monjalon.net>
Date: Sun, 6 Mar 2022 10:20:22 +0100
Subject: [PATCH] regexdev: fix section attribute of symbols

[ upstream commit 89e290eb8ca99af9f7cfc3292d93860f8e672708 ]

The functions used by the drivers must be internal,
while the function and variables used in inline functions
must be experimental.

These are the changes done in the shared library:
- DF .text  Base          rte_regexdev_get_device_by_name
+ DF .text  INTERNAL      rte_regexdev_get_device_by_name
- DF .text  Base          rte_regexdev_register
+ DF .text  INTERNAL      rte_regexdev_register
- DF .text  Base          rte_regexdev_unregister
+ DF .text  INTERNAL      rte_regexdev_unregister
- DF .text  Base          rte_regexdev_is_valid_dev
+ DF .text  EXPERIMENTAL  rte_regexdev_is_valid_dev
- DO .bss   Base          rte_regex_devices
+ DO .bss   EXPERIMENTAL  rte_regex_devices
- DO .bss   Base          rte_regexdev_logtype
+ DO .bss   EXPERIMENTAL  rte_regexdev_logtype

Because these symbols were exported in the default section in DPDK 21.11,
any change in these functions would be seen as incompatible
by the ABI compatibility check.
An exception rule is added for this experimental library,
so the ABI check will skip it until the next ABI version.

Fixes: bab9497ef78b ("regexdev: introduce API")

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Ori Kam <orika@nvidia.com>
---
 devtools/libabigail.abignore       | 4 ++++
 lib/regexdev/rte_regexdev.h        | 4 ++++
 lib/regexdev/rte_regexdev_driver.h | 3 +++
 lib/regexdev/version.map           | 9 +++++++++
 4 files changed, 20 insertions(+)

diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore
index 4b676f317d..e2724cb375 100644
--- a/devtools/libabigail.abignore
+++ b/devtools/libabigail.abignore
@@ -12,2 +12,6 @@
 [suppress_variable]
         name_regexp = _pmd_info$
+
+; Ignore section attribute fixes in experimental regexdev library
+[suppress_file]
+        soname_regexp = ^librte_regexdev\.
diff --git a/lib/regexdev/rte_regexdev.h b/lib/regexdev/rte_regexdev.h
index 0bac46cda9..513ce5b67c 100644
--- a/lib/regexdev/rte_regexdev.h
+++ b/lib/regexdev/rte_regexdev.h
@@ -229,4 +229,7 @@ extern int rte_regexdev_logtype;
 
 /**
+ * @warning
+ * @b EXPERIMENTAL: this API may change without prior notice.
+ *
  * Check if dev_id is ready.
  *
@@ -238,4 +241,5 @@ extern int rte_regexdev_logtype;
  *   - 1 if device state is ready state.
  */
+__rte_experimental
 int rte_regexdev_is_valid_dev(uint16_t dev_id);
 
diff --git a/lib/regexdev/rte_regexdev_driver.h b/lib/regexdev/rte_regexdev_driver.h
index 64742016c0..6246b144a6 100644
--- a/lib/regexdev/rte_regexdev_driver.h
+++ b/lib/regexdev/rte_regexdev_driver.h
@@ -33,4 +33,5 @@ extern "C" {
  *   NULL otherwise.
  */
+__rte_internal
 struct rte_regexdev *rte_regexdev_register(const char *name);
 
@@ -42,4 +43,5 @@ struct rte_regexdev *rte_regexdev_register(const char *name);
  *   Device to be released.
  */
+__rte_internal
 void rte_regexdev_unregister(struct rte_regexdev *dev);
 
@@ -51,4 +53,5 @@ void rte_regexdev_unregister(struct rte_regexdev *dev);
  *   The device name.
  */
+__rte_internal
 struct rte_regexdev *rte_regexdev_get_device_by_name(const char *name);
 
diff --git a/lib/regexdev/version.map b/lib/regexdev/version.map
index 8db9b17018..988b909638 100644
--- a/lib/regexdev/version.map
+++ b/lib/regexdev/version.map
@@ -2,4 +2,5 @@ EXPERIMENTAL {
 	global:
 
+	rte_regex_devices;
 	rte_regexdev_attr_get;
 	rte_regexdev_attr_set;
@@ -12,4 +13,6 @@ EXPERIMENTAL {
 	rte_regexdev_get_dev_id;
 	rte_regexdev_info_get;
+	rte_regexdev_is_valid_dev;
+	rte_regexdev_logtype;
 	rte_regexdev_queue_pair_setup;
 	rte_regexdev_rule_db_compile_activate;
@@ -25,2 +28,8 @@ EXPERIMENTAL {
 	rte_regexdev_xstats_reset;
 };
+
+INTERNAL {
+	rte_regexdev_get_device_by_name;
+	rte_regexdev_register;
+	rte_regexdev_unregister;
+};
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-03-10 12:05:31.943208581 +0000
+++ 0025-regexdev-fix-section-attribute-of-symbols.patch	2022-03-10 12:05:31.322630911 +0000
@@ -1 +1 @@
-From 89e290eb8ca99af9f7cfc3292d93860f8e672708 Mon Sep 17 00:00:00 2001
+From 6e7f8939f23c2c8ed80602bc0d62990eebe52013 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 89e290eb8ca99af9f7cfc3292d93860f8e672708 ]
+
@@ -31 +32,0 @@
-Cc: stable@dpdk.org
@@ -43 +44 @@
-index 9c921c47d4..18c11c80c6 100644
+index 4b676f317d..e2724cb375 100644
@@ -46,3 +47,4 @@
-@@ -26,4 +26,8 @@
-         name = rte_crypto_asym_op
- 
+@@ -12,2 +12,6 @@
+ [suppress_variable]
+         name_regexp = _pmd_info$
++
@@ -52,3 +53,0 @@
-+
- ; Ignore changes in common mlx5 driver, should be all internal
- [suppress_file]
@@ -56 +55 @@
-index 4ba67b0c25..3bce8090f6 100644
+index 0bac46cda9..513ce5b67c 100644
@@ -59 +58 @@
-@@ -226,4 +226,7 @@ extern int rte_regexdev_logtype;
+@@ -229,4 +229,7 @@ extern int rte_regexdev_logtype;
@@ -67 +66 @@
-@@ -235,4 +238,5 @@ extern int rte_regexdev_logtype;
+@@ -238,4 +241,5 @@ extern int rte_regexdev_logtype;


^ permalink raw reply	[flat|nested] 25+ messages in thread

* patch 'common/mlx5: consider local functions as internal' has been queued to stable release 21.11.1
  2022-03-10 12:11 patch 'examples/kni: add missing trailing newline in log' has been queued to stable release 21.11.1 Kevin Traynor
                   ` (16 preceding siblings ...)
  2022-03-10 12:11 ` patch 'regexdev: fix section attribute of symbols' " Kevin Traynor
@ 2022-03-10 12:11 ` Kevin Traynor
  2022-03-10 12:11 ` patch 'build: hide local symbols in shared libraries' " Kevin Traynor
  2022-03-10 12:11 ` patch 'devtools: fix symbols check' " Kevin Traynor
  19 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2022-03-10 12:11 UTC (permalink / raw)
  To: Michael Baum; +Cc: Matan Azrad, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/14/22. 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/89f14be5641f798f21fdfd3a7ab6bdfdcbd6bb7a

Thanks.

Kevin

---
From 89f14be5641f798f21fdfd3a7ab6bdfdcbd6bb7a Mon Sep 17 00:00:00 2001
From: Michael Baum <michaelba@nvidia.com>
Date: Fri, 25 Feb 2022 01:25:06 +0200
Subject: [PATCH] common/mlx5: consider local functions as internal

[ upstream commit c2e3059a10f2389b791d5d485fe71e666984c193 ]

The functions which are not explicitly marked as internal
were exported because the local catch-all rule was missing in the
version script.
After adding the missing rule, all local functions are hidden.
The function mlx5_get_device_guid is used in another library,
so it needs to be exported (as internal).

Because the local functions were exported as non-internal
in DPDK 21.11, any change in these functions would break the ABI.
An ABI exception is added for this library, considering that all
functions are either local or internal.

Signed-off-by: Michael Baum <michaelba@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
---
 devtools/libabigail.abignore               | 4 ++++
 drivers/common/mlx5/linux/mlx5_common_os.h | 1 +
 drivers/common/mlx5/version.map            | 3 +++
 3 files changed, 8 insertions(+)

diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore
index e2724cb375..1bdf533228 100644
--- a/devtools/libabigail.abignore
+++ b/devtools/libabigail.abignore
@@ -16,2 +16,6 @@
 [suppress_file]
         soname_regexp = ^librte_regexdev\.
+
+; Ignore changes in common mlx5 driver, should be all internal
+[suppress_file]
+        soname_regexp = ^librte_common_mlx5\.
diff --git a/drivers/common/mlx5/linux/mlx5_common_os.h b/drivers/common/mlx5/linux/mlx5_common_os.h
index 2e4ac09bbf..a6190a34e6 100644
--- a/drivers/common/mlx5/linux/mlx5_common_os.h
+++ b/drivers/common/mlx5/linux/mlx5_common_os.h
@@ -302,4 +302,5 @@ mlx5_set_context_attr(struct rte_device *dev, struct ibv_context *ctx);
  *  >0 if success.
  */
+__rte_internal
 int
 mlx5_get_device_guid(const struct rte_pci_addr *dev, uint8_t *guid, size_t len);
diff --git a/drivers/common/mlx5/version.map b/drivers/common/mlx5/version.map
index 618c1bf27a..130d47ad8c 100644
--- a/drivers/common/mlx5/version.map
+++ b/drivers/common/mlx5/version.map
@@ -80,4 +80,5 @@ INTERNAL {
 	mlx5_free;
 
+	mlx5_get_device_guid; # WINDOWS_NO_EXPORT
 	mlx5_get_ifname_sysfs; # WINDOWS_NO_EXPORT
 	mlx5_get_pci_addr; # WINDOWS_NO_EXPORT
@@ -149,3 +150,5 @@ INTERNAL {
 	mlx5_mr_mempool2mr_bh;
 	mlx5_mr_mempool_populate_cache;
+
+	local: *;
 };
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-03-10 12:05:31.964834791 +0000
+++ 0026-common-mlx5-consider-local-functions-as-internal.patch	2022-03-10 12:05:31.323630914 +0000
@@ -1 +1 @@
-From c2e3059a10f2389b791d5d485fe71e666984c193 Mon Sep 17 00:00:00 2001
+From 89f14be5641f798f21fdfd3a7ab6bdfdcbd6bb7a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c2e3059a10f2389b791d5d485fe71e666984c193 ]
+
@@ -27 +29 @@
-index ef0602975a..301b3dacb8 100644
+index e2724cb375..1bdf533228 100644
@@ -30,3 +32,3 @@
-@@ -21,2 +21,6 @@
- [suppress_type]
-         name = rte_crypto_asym_op
+@@ -16,2 +16,6 @@
+ [suppress_file]
+         soname_regexp = ^librte_regexdev\.
@@ -38 +40 @@
-index 83066e752d..edf356a30a 100644
+index 2e4ac09bbf..a6190a34e6 100644
@@ -41 +43 @@
-@@ -301,4 +301,5 @@ mlx5_set_context_attr(struct rte_device *dev, struct ibv_context *ctx);
+@@ -302,4 +302,5 @@ mlx5_set_context_attr(struct rte_device *dev, struct ibv_context *ctx);
@@ -48 +50 @@
-index 1c6153c576..cb20a7d893 100644
+index 618c1bf27a..130d47ad8c 100644
@@ -51 +53 @@
-@@ -81,4 +81,5 @@ INTERNAL {
+@@ -80,4 +80,5 @@ INTERNAL {
@@ -57 +59 @@
-@@ -150,3 +151,5 @@ INTERNAL {
+@@ -149,3 +150,5 @@ INTERNAL {


^ permalink raw reply	[flat|nested] 25+ messages in thread

* patch 'build: hide local symbols in shared libraries' has been queued to stable release 21.11.1
  2022-03-10 12:11 patch 'examples/kni: add missing trailing newline in log' has been queued to stable release 21.11.1 Kevin Traynor
                   ` (17 preceding siblings ...)
  2022-03-10 12:11 ` patch 'common/mlx5: consider local functions as internal' " Kevin Traynor
@ 2022-03-10 12:11 ` Kevin Traynor
  2022-03-10 12:11 ` patch 'devtools: fix symbols check' " Kevin Traynor
  19 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2022-03-10 12:11 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/14/22. 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/026470bafaa02cba0d46ed7b7e835262399a009a

Thanks.

Kevin

---
From 026470bafaa02cba0d46ed7b7e835262399a009a Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas@monjalon.net>
Date: Sun, 6 Mar 2022 10:20:23 +0100
Subject: [PATCH] build: hide local symbols in shared libraries

[ upstream commit b403498e14229ee903c8fff9baefcb72894062f3 ]

The symbols which are not listed in the version script
are exported by default.
Adding a local section with a wildcard make non-listed functions
and variables as hidden, as it should be in all version.map files.

These are the changes done in the shared libraries:
- DF .text  Base          auxiliary_add_device
- DF .text  Base          auxiliary_dev_exists
- DF .text  Base          auxiliary_dev_iterate
- DF .text  Base          auxiliary_insert_device
- DF .text  Base          auxiliary_is_ignored_device
- DF .text  Base          auxiliary_match
- DF .text  Base          auxiliary_on_scan
- DF .text  Base          auxiliary_scan
- DO .bss   Base          auxiliary_bus_logtype
- DO .data  Base          auxiliary_bus
- DO .bss   Base          gpu_logtype

There is no impact on regexdev library.

Because these local symbols were exported as non-internal
in DPDK 21.11, any change in these functions would break the ABI.
Exception rules are added for these experimental libraries,
so the ABI check will skip them until the next ABI version.

A check is added to avoid such miss in future.

Fixes: 1afce3086cf4 ("bus/auxiliary: introduce auxiliary bus")
Fixes: 8b8036a66e3d ("gpudev: introduce GPU device class library")

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 devtools/check-symbol-maps.sh     | 7 +++++++
 devtools/libabigail.abignore      | 8 ++++++++
 drivers/bus/auxiliary/version.map | 2 ++
 lib/gpudev/version.map            | 2 ++
 lib/regexdev/version.map          | 2 ++
 5 files changed, 21 insertions(+)

diff --git a/devtools/check-symbol-maps.sh b/devtools/check-symbol-maps.sh
index 5bd290ac97..8266fdf9ea 100755
--- a/devtools/check-symbol-maps.sh
+++ b/devtools/check-symbol-maps.sh
@@ -54,3 +54,10 @@ if [ -n "$duplicate_symbols" ] ; then
 fi
 
+local_miss_maps=$(grep -L 'local: \*;' $@)
+if [ -n "$local_miss_maps" ] ; then
+    echo "Found maps without local catch-all:"
+    echo "$local_miss_maps"
+    ret=1
+fi
+
 exit $ret
diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore
index 1bdf533228..004fd53180 100644
--- a/devtools/libabigail.abignore
+++ b/devtools/libabigail.abignore
@@ -20,2 +20,10 @@
 [suppress_file]
         soname_regexp = ^librte_common_mlx5\.
+
+; Ignore visibility fix of local functions in experimental auxiliary driver
+[suppress_file]
+        soname_regexp = ^librte_bus_auxiliary\.
+
+; Ignore visibility fix of local functions in experimental gpudev library
+[suppress_file]
+        soname_regexp = ^librte_gpudev\.
diff --git a/drivers/bus/auxiliary/version.map b/drivers/bus/auxiliary/version.map
index a52260657c..dc993e84ff 100644
--- a/drivers/bus/auxiliary/version.map
+++ b/drivers/bus/auxiliary/version.map
@@ -5,3 +5,5 @@ EXPERIMENTAL {
 	rte_auxiliary_register;
 	rte_auxiliary_unregister;
+
+	local: *;
 };
diff --git a/lib/gpudev/version.map b/lib/gpudev/version.map
index 2e414c65cc..34186ab7f1 100644
--- a/lib/gpudev/version.map
+++ b/lib/gpudev/version.map
@@ -36,3 +36,5 @@ INTERNAL {
 	rte_gpu_notify;
 	rte_gpu_release;
+
+	local: *;
 };
diff --git a/lib/regexdev/version.map b/lib/regexdev/version.map
index 988b909638..3c6e9fffa1 100644
--- a/lib/regexdev/version.map
+++ b/lib/regexdev/version.map
@@ -27,4 +27,6 @@ EXPERIMENTAL {
 	rte_regexdev_xstats_names_get;
 	rte_regexdev_xstats_reset;
+
+	local: *;
 };
 
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-03-10 12:05:31.983846663 +0000
+++ 0027-build-hide-local-symbols-in-shared-libraries.patch	2022-03-10 12:05:31.323630914 +0000
@@ -1 +1 @@
-From b403498e14229ee903c8fff9baefcb72894062f3 Mon Sep 17 00:00:00 2001
+From 026470bafaa02cba0d46ed7b7e835262399a009a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b403498e14229ee903c8fff9baefcb72894062f3 ]
+
@@ -35 +36,0 @@
-Cc: stable@dpdk.org
@@ -62 +63 @@
-index 18c11c80c6..c618f20032 100644
+index 1bdf533228..004fd53180 100644
@@ -65 +66 @@
-@@ -33,2 +33,10 @@
+@@ -20,2 +20,10 @@
@@ -87 +88 @@
-index b23e3fd6eb..a2c8ce5759 100644
+index 2e414c65cc..34186ab7f1 100644
@@ -90 +91 @@
-@@ -40,3 +40,5 @@ INTERNAL {
+@@ -36,3 +36,5 @@ INTERNAL {


^ permalink raw reply	[flat|nested] 25+ messages in thread

* patch 'devtools: fix symbols check' has been queued to stable release 21.11.1
  2022-03-10 12:11 patch 'examples/kni: add missing trailing newline in log' has been queued to stable release 21.11.1 Kevin Traynor
                   ` (18 preceding siblings ...)
  2022-03-10 12:11 ` patch 'build: hide local symbols in shared libraries' " Kevin Traynor
@ 2022-03-10 12:11 ` Kevin Traynor
  19 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2022-03-10 12:11 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: Usama Arif, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/14/22. 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/efd091d5417b702cd63845ab99bd66da39dcdd1d

Thanks.

Kevin

---
From efd091d5417b702cd63845ab99bd66da39dcdd1d Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas@monjalon.net>
Date: Tue, 8 Mar 2022 22:02:48 +0100
Subject: [PATCH] devtools: fix symbols check

[ upstream commit 272f94e58b01a904b5d8cf66649512b0d62f1a8c ]

In some environments, the check of local symbols catch-all
was failing. Note: this script is called during the build.

The reason is that grep returns an error if nothing is found.
The option -e of the shell script makes this error fatal.
It is not always fatal because the grep is in a command substitution.

Fixes: b403498e1422 ("build: hide local symbols in shared libraries")

Reported-by: Usama Arif <usama.arif@bytedance.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 devtools/check-symbol-maps.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/devtools/check-symbol-maps.sh b/devtools/check-symbol-maps.sh
index 8266fdf9ea..32e1fa5c8f 100755
--- a/devtools/check-symbol-maps.sh
+++ b/devtools/check-symbol-maps.sh
@@ -54,5 +54,5 @@ if [ -n "$duplicate_symbols" ] ; then
 fi
 
-local_miss_maps=$(grep -L 'local: \*;' $@)
+local_miss_maps=$(grep -L 'local: \*;' $@ || true)
 if [ -n "$local_miss_maps" ] ; then
     echo "Found maps without local catch-all:"
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-03-10 12:05:32.004827182 +0000
+++ 0028-devtools-fix-symbols-check.patch	2022-03-10 12:05:31.323630914 +0000
@@ -1 +1 @@
-From 272f94e58b01a904b5d8cf66649512b0d62f1a8c Mon Sep 17 00:00:00 2001
+From efd091d5417b702cd63845ab99bd66da39dcdd1d Mon Sep 17 00:00:00 2001
@@ -4,0 +5,2 @@
+
+[ upstream commit 272f94e58b01a904b5d8cf66649512b0d62f1a8c ]


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: patch 'net/mlx5: fix shared RSS destroy' has been queued to stable release 21.11.1
  2022-03-10 12:11 ` patch 'net/mlx5: fix shared RSS destroy' " Kevin Traynor
@ 2022-03-10 13:12   ` Kevin Traynor
  0 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2022-03-10 13:12 UTC (permalink / raw)
  To: Rongwei Liu; +Cc: Viacheslav Ovsiienko, dpdk stable

On 10/03/2022 12:11, Kevin Traynor wrote:
> Hi,
> 
> FYI, your patch has been queued to stable release 21.11.1
> 
> Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
> It will be pushed if I get no objections before 03/14/22. 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.
> 
Hi. Please check this rebase carefully, as the assignment may not take 
place now due to possible return before it.

Kevin.

> 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/eebfb74c5155c08ff2a0e1b9a01f76f62e3b7382
> 
> Thanks.
> 
> Kevin
> 
> ---
>  From eebfb74c5155c08ff2a0e1b9a01f76f62e3b7382 Mon Sep 17 00:00:00 2001
> From: Rongwei Liu <rongweil@nvidia.com>
> Date: Wed, 2 Mar 2022 13:19:38 +0200
> Subject: [PATCH] net/mlx5: fix shared RSS destroy
> 
> [ upstream commit e1786fd53d7e5631c9ffb9b2fba0fd402bc8cf74 ]
> 
> When both shared and non-shared RSS actions are present in single
> flow rule shared RSS index is unset by mistake.
> 
> For example:
> 1. flow indirect_action 0 create action_id 3 ingress action RSS ...
> 2. set sample_actions 0 mark id 43690 / queue index 0 / end
> 3. flow create 0 ingress group 107 pattern eth / sample ratio 2
>     index 0  / indirect 3 / end
> 
> PMD translates the indirect action to a shared RSS description at first.
> In the split prefix flow, RSS->shared_RSS is unset when translating
> sample queue action, the subfix flow will treat the RSS as non-shared.
> 
> Fixes: 8e61555657b2 ("net/mlx5: fix shared RSS and mark actions combination")
> 
> Signed-off-by: Rongwei Liu <rongweil@nvidia.com>
> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
> ---
>   drivers/net/mlx5/mlx5_flow_dv.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
> index 7a5f17a8b7..a35fb3de4e 100644
> --- a/drivers/net/mlx5/mlx5_flow_dv.c
> +++ b/drivers/net/mlx5/mlx5_flow_dv.c
> @@ -11103,4 +11103,5 @@ flow_dv_hrxq_prepare(struct rte_eth_dev *dev,
>   	struct mlx5_priv *priv = dev->data->dev_private;
>   	struct mlx5_flow_handle *dh = dev_flow->handle;
> +	uint32_t shared_rss = rss_desc->shared_rss;
>   	struct mlx5_hrxq *hrxq;
>   
> @@ -11117,4 +11118,5 @@ flow_dv_hrxq_prepare(struct rte_eth_dev *dev,
>   	hrxq = mlx5_ipool_get(priv->sh->ipool[MLX5_IPOOL_HRXQ],
>   			      *hrxq_idx);
> +	rss_desc->shared_rss = shared_rss;
>   	return hrxq;
>   }
> @@ -18325,3 +18327,2 @@ const struct mlx5_flow_driver_ops mlx5_flow_dv_drv_ops = {
>   
>   #endif /* HAVE_IBV_FLOW_DV_SUPPORT */
> -


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: patch 'net/mlx5: fix flex item availability' has been queued to stable release 21.11.1
  2022-03-10 12:11 ` patch 'net/mlx5: fix flex item availability' " Kevin Traynor
@ 2022-03-21 17:02   ` Kevin Traynor
  2022-03-23 16:03     ` Kevin Traynor
  0 siblings, 1 reply; 25+ messages in thread
From: Kevin Traynor @ 2022-03-21 17:02 UTC (permalink / raw)
  To: Gregory Etelson; +Cc: Viacheslav Ovsiienko, dpdk stable

Hi,

On 10/03/2022 12:11, Kevin Traynor wrote:
> Hi,
> 
> FYI, your patch has been queued to stable release 21.11.1
> 

This patch seems to be causing a build failure [0] in the CI [1] with 
meson on Windows. Probably there is some piece of a dependent patch that 
is needed.

Can you take a look? thanks.

[0]
[531/617] Compiling C object 
drivers/a715181@@tmp_rte_net_mlx5@sta/net_mlx5_mlx5_flow.c.obj.
FAILED: drivers/a715181@@tmp_rte_net_mlx5@sta/net_mlx5_mlx5_flow.c.obj
clang @drivers/a715181@@tmp_rte_net_mlx5@sta/net_mlx5_mlx5_flow.c.obj.rsp
../drivers/net/mlx5/mlx5_flow.c:9867:23: error: incomplete definition of 
type 'struct rte_pci_device'
         switch (priv->pci_dev->id.device_id) {
                 ~~~~~~~~~~~~~^
..\drivers\net/mlx5/mlx5.h:154:9: note: forward declaration of 'struct 
rte_pci_device'
         struct rte_pci_device *pci_dev; /**< Backend PCI device. */
                ^
1 error generated.

[1] https://lab.dpdk.org/results/dashboard/tarballs/19198/#env-27

> Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
> It will be pushed if I get no objections before 03/14/22. 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/48fe9efaf2fb974e3f805eb7c54440ec3818a4b6
> 
> Thanks.
> 
> Kevin
> 
> ---
>  From 48fe9efaf2fb974e3f805eb7c54440ec3818a4b6 Mon Sep 17 00:00:00 2001
> From: Gregory Etelson <getelson@nvidia.com>
> Date: Wed, 2 Mar 2022 13:06:42 +0200
> Subject: [PATCH] net/mlx5: fix flex item availability
> 
> [ upstream commit 71adf25dbfb3a60731bd922342cc0f171714db81 ]
> 
> Flex item availability is restricted to BlueField-2 and BlueField-3
> PF ports.
> 
> The patch validates port type compliance before proceeding to
> flex item creation.
> 
> Fixes: db25cadc0887 ("net/mlx5: add flex item operations")
> 
> Signed-off-by: Gregory Etelson <getelson@nvidia.com>
> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
> ---
>   drivers/common/mlx5/linux/mlx5_common_os.h |  1 +
>   drivers/net/mlx5/mlx5_flow.c               | 17 +++++++++++++++++
>   2 files changed, 18 insertions(+)
> 
> diff --git a/drivers/common/mlx5/linux/mlx5_common_os.h b/drivers/common/mlx5/linux/mlx5_common_os.h
> index 83066e752d..2e4ac09bbf 100644
> --- a/drivers/common/mlx5/linux/mlx5_common_os.h
> +++ b/drivers/common/mlx5/linux/mlx5_common_os.h
> @@ -10,4 +10,5 @@
>   
>   #include <rte_pci.h>
> +#include <rte_bus_pci.h>
>   #include <rte_debug.h>
>   #include <rte_atomic.h>
> diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
> index 5b36cfa042..41a648ff3f 100644
> --- a/drivers/net/mlx5/mlx5_flow.c
> +++ b/drivers/net/mlx5/mlx5_flow.c
> @@ -9854,8 +9854,25 @@ mlx5_flow_flex_item_create(struct rte_eth_dev *dev,
>   {
>   	static const char err_msg[] = "flex item creation unsupported";
> +	struct mlx5_priv *priv = dev->data->dev_private;
>   	struct rte_flow_attr attr = { .transfer = 0 };
>   	const struct mlx5_flow_driver_ops *fops =
>   			flow_get_drv_ops(flow_get_drv_type(dev, &attr));
>   
> +	if (!priv->pci_dev) {
> +		rte_flow_error_set(error, ENOTSUP,
> +				   RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL,
> +				   "create flex item on PF only");
> +		return NULL;
> +	}
> +	switch (priv->pci_dev->id.device_id) {
> +	case PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF:
> +	case PCI_DEVICE_ID_MELLANOX_CONNECTX7BF:
> +		break;
> +	default:
> +		rte_flow_error_set(error, ENOTSUP,
> +				   RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL,
> +				   "flex item available on BlueField ports only");
> +		return NULL;
> +	}
>   	if (!fops->item_create) {
>   		DRV_LOG(ERR, "port %u %s.", dev->data->port_id, err_msg);


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: patch 'net/mlx5: fix flex item availability' has been queued to stable release 21.11.1
  2022-03-21 17:02   ` Kevin Traynor
@ 2022-03-23 16:03     ` Kevin Traynor
  2022-03-25 17:27       ` Kevin Traynor
  0 siblings, 1 reply; 25+ messages in thread
From: Kevin Traynor @ 2022-03-23 16:03 UTC (permalink / raw)
  To: Gregory Etelson; +Cc: Viacheslav Ovsiienko, dpdk stable, Michael Baum

On 21/03/2022 17:02, Kevin Traynor wrote:
> Hi,
> 
> On 10/03/2022 12:11, Kevin Traynor wrote:
>> Hi,
>>
>> FYI, your patch has been queued to stable release 21.11.1
>>
> 
> This patch seems to be causing a build failure [0] in the CI [1] with
> meson on Windows. Probably there is some piece of a dependent patch that
> is needed.
> 
> Can you take a look? thanks.
> 

Hi. Any progress on this? David mentioned it could be missing

+#include <rte_bus_pci.h>

from:

commit c4c3e8afefa8b7e7bc19073f9a159d50c75c8770
Author: Michael Baum <michaelba@nvidia.com>
Date:   Mon Feb 14 11:35:01 2022 +0200

     common/mlx5: share VF check function

That patch can backport cleanly, but I don't have a windows env to test 
the clang build before it hits the CI. Please advise on path forward.

thanks,
Kevin.

> [0]
> [531/617] Compiling C object
> drivers/a715181@@tmp_rte_net_mlx5@sta/net_mlx5_mlx5_flow.c.obj.
> FAILED: drivers/a715181@@tmp_rte_net_mlx5@sta/net_mlx5_mlx5_flow.c.obj
> clang @drivers/a715181@@tmp_rte_net_mlx5@sta/net_mlx5_mlx5_flow.c.obj.rsp
> ../drivers/net/mlx5/mlx5_flow.c:9867:23: error: incomplete definition of
> type 'struct rte_pci_device'
>           switch (priv->pci_dev->id.device_id) {
>                   ~~~~~~~~~~~~~^
> ..\drivers\net/mlx5/mlx5.h:154:9: note: forward declaration of 'struct
> rte_pci_device'
>           struct rte_pci_device *pci_dev; /**< Backend PCI device. */
>                  ^
> 1 error generated.
> 
> [1] https://lab.dpdk.org/results/dashboard/tarballs/19198/#env-27
> 
>> Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
>> It will be pushed if I get no objections before 03/14/22. 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/48fe9efaf2fb974e3f805eb7c54440ec3818a4b6
>>
>> Thanks.
>>
>> Kevin
>>
>> ---
>>   From 48fe9efaf2fb974e3f805eb7c54440ec3818a4b6 Mon Sep 17 00:00:00 2001
>> From: Gregory Etelson <getelson@nvidia.com>
>> Date: Wed, 2 Mar 2022 13:06:42 +0200
>> Subject: [PATCH] net/mlx5: fix flex item availability
>>
>> [ upstream commit 71adf25dbfb3a60731bd922342cc0f171714db81 ]
>>
>> Flex item availability is restricted to BlueField-2 and BlueField-3
>> PF ports.
>>
>> The patch validates port type compliance before proceeding to
>> flex item creation.
>>
>> Fixes: db25cadc0887 ("net/mlx5: add flex item operations")
>>
>> Signed-off-by: Gregory Etelson <getelson@nvidia.com>
>> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
>> ---
>>    drivers/common/mlx5/linux/mlx5_common_os.h |  1 +
>>    drivers/net/mlx5/mlx5_flow.c               | 17 +++++++++++++++++
>>    2 files changed, 18 insertions(+)
>>
>> diff --git a/drivers/common/mlx5/linux/mlx5_common_os.h b/drivers/common/mlx5/linux/mlx5_common_os.h
>> index 83066e752d..2e4ac09bbf 100644
>> --- a/drivers/common/mlx5/linux/mlx5_common_os.h
>> +++ b/drivers/common/mlx5/linux/mlx5_common_os.h
>> @@ -10,4 +10,5 @@
>>    
>>    #include <rte_pci.h>
>> +#include <rte_bus_pci.h>
>>    #include <rte_debug.h>
>>    #include <rte_atomic.h>
>> diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
>> index 5b36cfa042..41a648ff3f 100644
>> --- a/drivers/net/mlx5/mlx5_flow.c
>> +++ b/drivers/net/mlx5/mlx5_flow.c
>> @@ -9854,8 +9854,25 @@ mlx5_flow_flex_item_create(struct rte_eth_dev *dev,
>>    {
>>    	static const char err_msg[] = "flex item creation unsupported";
>> +	struct mlx5_priv *priv = dev->data->dev_private;
>>    	struct rte_flow_attr attr = { .transfer = 0 };
>>    	const struct mlx5_flow_driver_ops *fops =
>>    			flow_get_drv_ops(flow_get_drv_type(dev, &attr));
>>    
>> +	if (!priv->pci_dev) {
>> +		rte_flow_error_set(error, ENOTSUP,
>> +				   RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL,
>> +				   "create flex item on PF only");
>> +		return NULL;
>> +	}
>> +	switch (priv->pci_dev->id.device_id) {
>> +	case PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF:
>> +	case PCI_DEVICE_ID_MELLANOX_CONNECTX7BF:
>> +		break;
>> +	default:
>> +		rte_flow_error_set(error, ENOTSUP,
>> +				   RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL,
>> +				   "flex item available on BlueField ports only");
>> +		return NULL;
>> +	}
>>    	if (!fops->item_create) {
>>    		DRV_LOG(ERR, "port %u %s.", dev->data->port_id, err_msg);
> 


^ permalink raw reply	[flat|nested] 25+ messages in thread

* Re: patch 'net/mlx5: fix flex item availability' has been queued to stable release 21.11.1
  2022-03-23 16:03     ` Kevin Traynor
@ 2022-03-25 17:27       ` Kevin Traynor
  0 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2022-03-25 17:27 UTC (permalink / raw)
  To: Gregory Etelson; +Cc: Viacheslav Ovsiienko, dpdk stable, Michael Baum

On 23/03/2022 16:03, Kevin Traynor wrote:
> On 21/03/2022 17:02, Kevin Traynor wrote:
>> Hi,
>>
>> On 10/03/2022 12:11, Kevin Traynor wrote:
>>> Hi,
>>>
>>> FYI, your patch has been queued to stable release 21.11.1
>>>
>>
>> This patch seems to be causing a build failure [0] in the CI [1] with
>> meson on Windows. Probably there is some piece of a dependent patch that
>> is needed.
>>
>> Can you take a look? thanks.
>>
> 
> Hi. Any progress on this? David mentioned it could be missing
> 
> +#include <rte_bus_pci.h>
> 
> from:
> 
> commit c4c3e8afefa8b7e7bc19073f9a159d50c75c8770
> Author: Michael Baum <michaelba@nvidia.com>
> Date:   Mon Feb 14 11:35:01 2022 +0200
> 
>       common/mlx5: share VF check function
> 
> That patch can backport cleanly, but I don't have a windows env to test
> the clang build before it hits the CI. Please advise on path forward.
> 

Ping. I would like to resolve this on Monday if possible. Either by 
reverting this patch, or applying a fix. Thanks in advance.

> thanks,
> Kevin.
> 
>> [0]
>> [531/617] Compiling C object
>> drivers/a715181@@tmp_rte_net_mlx5@sta/net_mlx5_mlx5_flow.c.obj.
>> FAILED: drivers/a715181@@tmp_rte_net_mlx5@sta/net_mlx5_mlx5_flow.c.obj
>> clang @drivers/a715181@@tmp_rte_net_mlx5@sta/net_mlx5_mlx5_flow.c.obj.rsp
>> ../drivers/net/mlx5/mlx5_flow.c:9867:23: error: incomplete definition of
>> type 'struct rte_pci_device'
>>            switch (priv->pci_dev->id.device_id) {
>>                    ~~~~~~~~~~~~~^
>> ..\drivers\net/mlx5/mlx5.h:154:9: note: forward declaration of 'struct
>> rte_pci_device'
>>            struct rte_pci_device *pci_dev; /**< Backend PCI device. */
>>                   ^
>> 1 error generated.
>>
>> [1] https://lab.dpdk.org/results/dashboard/tarballs/19198/#env-27
>>
>>> Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
>>> It will be pushed if I get no objections before 03/14/22. 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/48fe9efaf2fb974e3f805eb7c54440ec3818a4b6
>>>
>>> Thanks.
>>>
>>> Kevin
>>>
>>> ---
>>>    From 48fe9efaf2fb974e3f805eb7c54440ec3818a4b6 Mon Sep 17 00:00:00 2001
>>> From: Gregory Etelson <getelson@nvidia.com>
>>> Date: Wed, 2 Mar 2022 13:06:42 +0200
>>> Subject: [PATCH] net/mlx5: fix flex item availability
>>>
>>> [ upstream commit 71adf25dbfb3a60731bd922342cc0f171714db81 ]
>>>
>>> Flex item availability is restricted to BlueField-2 and BlueField-3
>>> PF ports.
>>>
>>> The patch validates port type compliance before proceeding to
>>> flex item creation.
>>>
>>> Fixes: db25cadc0887 ("net/mlx5: add flex item operations")
>>>
>>> Signed-off-by: Gregory Etelson <getelson@nvidia.com>
>>> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
>>> ---
>>>     drivers/common/mlx5/linux/mlx5_common_os.h |  1 +
>>>     drivers/net/mlx5/mlx5_flow.c               | 17 +++++++++++++++++
>>>     2 files changed, 18 insertions(+)
>>>
>>> diff --git a/drivers/common/mlx5/linux/mlx5_common_os.h b/drivers/common/mlx5/linux/mlx5_common_os.h
>>> index 83066e752d..2e4ac09bbf 100644
>>> --- a/drivers/common/mlx5/linux/mlx5_common_os.h
>>> +++ b/drivers/common/mlx5/linux/mlx5_common_os.h
>>> @@ -10,4 +10,5 @@
>>>     
>>>     #include <rte_pci.h>
>>> +#include <rte_bus_pci.h>
>>>     #include <rte_debug.h>
>>>     #include <rte_atomic.h>
>>> diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
>>> index 5b36cfa042..41a648ff3f 100644
>>> --- a/drivers/net/mlx5/mlx5_flow.c
>>> +++ b/drivers/net/mlx5/mlx5_flow.c
>>> @@ -9854,8 +9854,25 @@ mlx5_flow_flex_item_create(struct rte_eth_dev *dev,
>>>     {
>>>     	static const char err_msg[] = "flex item creation unsupported";
>>> +	struct mlx5_priv *priv = dev->data->dev_private;
>>>     	struct rte_flow_attr attr = { .transfer = 0 };
>>>     	const struct mlx5_flow_driver_ops *fops =
>>>     			flow_get_drv_ops(flow_get_drv_type(dev, &attr));
>>>     
>>> +	if (!priv->pci_dev) {
>>> +		rte_flow_error_set(error, ENOTSUP,
>>> +				   RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL,
>>> +				   "create flex item on PF only");
>>> +		return NULL;
>>> +	}
>>> +	switch (priv->pci_dev->id.device_id) {
>>> +	case PCI_DEVICE_ID_MELLANOX_CONNECTX6DXBF:
>>> +	case PCI_DEVICE_ID_MELLANOX_CONNECTX7BF:
>>> +		break;
>>> +	default:
>>> +		rte_flow_error_set(error, ENOTSUP,
>>> +				   RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL,
>>> +				   "flex item available on BlueField ports only");
>>> +		return NULL;
>>> +	}
>>>     	if (!fops->item_create) {
>>>     		DRV_LOG(ERR, "port %u %s.", dev->data->port_id, err_msg);
>>
> 


^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2022-03-25 17:28 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-10 12:11 patch 'examples/kni: add missing trailing newline in log' has been queued to stable release 21.11.1 Kevin Traynor
2022-03-10 12:11 ` patch 'devtools: remove event/dlb exception in ABI check' " Kevin Traynor
2022-03-10 12:11 ` patch 'build: fix build on FreeBSD with Meson 0.61.1' " Kevin Traynor
2022-03-10 12:11 ` patch 'ethdev: fix doxygen comments for device info struct' " Kevin Traynor
2022-03-10 12:11 ` patch 'net/bnxt: fix null dereference in session cleanup' " Kevin Traynor
2022-03-10 12:11 ` patch 'net/mlx5: fix inet IPIP protocol type' " Kevin Traynor
2022-03-10 12:11 ` patch 'net/mlx5: fix next protocol RSS expansion' " Kevin Traynor
2022-03-10 12:11 ` patch 'net/mlx5: fix shared RSS destroy' " Kevin Traynor
2022-03-10 13:12   ` Kevin Traynor
2022-03-10 12:11 ` patch 'net/mlx5: fix modify port action validation' " Kevin Traynor
2022-03-10 12:11 ` patch 'net/mlx5: remove unused reference counter' " Kevin Traynor
2022-03-10 12:11 ` patch 'net/mlx5: fix meter policy creation assert' " Kevin Traynor
2022-03-10 12:11 ` patch 'net/mlx5: fix flex item availability' " Kevin Traynor
2022-03-21 17:02   ` Kevin Traynor
2022-03-23 16:03     ` Kevin Traynor
2022-03-25 17:27       ` Kevin Traynor
2022-03-10 12:11 ` patch 'net/mlx5: fix MPLS/GRE Verbs spec ordering' " Kevin Traynor
2022-03-10 12:11 ` patch 'net/mlx5: fix configuration without Rx queue' " Kevin Traynor
2022-03-10 12:11 ` patch 'net/mlx5: fix meter creation default state' " Kevin Traynor
2022-03-10 12:11 ` patch 'net/sfc: reduce log level of tunnel restore info error' " Kevin Traynor
2022-03-10 12:11 ` patch 'net/iavf: fix potential out-of-bounds access' " Kevin Traynor
2022-03-10 12:11 ` patch 'regexdev: fix section attribute of symbols' " Kevin Traynor
2022-03-10 12:11 ` patch 'common/mlx5: consider local functions as internal' " Kevin Traynor
2022-03-10 12:11 ` patch 'build: hide local symbols in shared libraries' " Kevin Traynor
2022-03-10 12:11 ` patch 'devtools: fix symbols check' " Kevin Traynor

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).