patches for DPDK stable branches
 help / color / Atom feed
* [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9
@ 2020-05-28 16:21 Kevin Traynor
  2020-05-28 16:21 ` [dpdk-stable] patch 'examples/eventdev: " Kevin Traynor
                   ` (93 more replies)
  0 siblings, 94 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:21 UTC (permalink / raw)
  To: Timothy Redaelli; +Cc: Cristian Dumitrescu, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/101855ea0def0dc98a8464c643885131984a680d

Thanks.

Kevin.

---
From 101855ea0def0dc98a8464c643885131984a680d Mon Sep 17 00:00:00 2001
From: Timothy Redaelli <tredaelli@redhat.com>
Date: Wed, 5 Feb 2020 15:12:20 +0100
Subject: [PATCH] app/pipeline: fix build with gcc 10

[ upstream commit 20c1854f079e0a09f9c0383ccd896aafe6f41b0a ]

GCC 10 defaults to -fno-common, this means a linker error will now be
reported if the same global variable is defined in more than one
compilation unit.

Fixes: 48f31ca50cc4 ("app/pipeline: packet framework benchmark")

Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
---
 test/test-pipeline/config.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/test/test-pipeline/config.c b/test/test-pipeline/config.c
index 28ac9fcc0e..33f3f1c827 100644
--- a/test/test-pipeline/config.c
+++ b/test/test-pipeline/config.c
@@ -43,6 +43,4 @@
 #include "main.h"
 
-struct app_params app;
-
 static const char usage[] = "\n";
 
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:12:59.255154372 +0100
+++ 0001-app-pipeline-fix-build-with-gcc-10.patch	2020-05-28 17:12:59.024558143 +0100
@@ -1 +1 @@
-From 20c1854f079e0a09f9c0383ccd896aafe6f41b0a Mon Sep 17 00:00:00 2001
+From 101855ea0def0dc98a8464c643885131984a680d Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 20c1854f079e0a09f9c0383ccd896aafe6f41b0a ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- app/test-pipeline/config.c | 2 --
+ test/test-pipeline/config.c | 2 --
@@ -19 +20 @@
-diff --git a/app/test-pipeline/config.c b/app/test-pipeline/config.c
+diff --git a/test/test-pipeline/config.c b/test/test-pipeline/config.c
@@ -21,2 +22,2 @@
---- a/app/test-pipeline/config.c
-+++ b/app/test-pipeline/config.c
+--- a/test/test-pipeline/config.c
++++ b/test/test-pipeline/config.c


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

* [dpdk-stable] patch 'examples/eventdev: fix build with gcc 10' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
@ 2020-05-28 16:21 ` " Kevin Traynor
  2020-05-28 16:21 ` [dpdk-stable] patch 'drivers: add crypto as dependency for event drivers' " Kevin Traynor
                   ` (92 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:21 UTC (permalink / raw)
  To: Timothy Redaelli; +Cc: David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/5973c23a8e2c8f59127ee8588a3c081cde5c717d

Thanks.

Kevin.

---
From 5973c23a8e2c8f59127ee8588a3c081cde5c717d Mon Sep 17 00:00:00 2001
From: Timothy Redaelli <tredaelli@redhat.com>
Date: Wed, 5 Feb 2020 18:05:45 +0100
Subject: [PATCH] examples/eventdev: fix build with gcc 10

[ upstream commit 78de15bb586ac3d8938512db1977d83815c494f8 ]

GCC 10 defaults to -fno-common, this means a linker error will now be
reported if the same global variable is defined in more than one
compilation unit.

Fixes: 3d1b33e44ae2 ("examples/eventdev: move common data into pipeline common")

Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
Acked-by: David Marchand <david.marchand@redhat.com>
---
 examples/eventdev_pipeline/main.c            | 2 ++
 examples/eventdev_pipeline/pipeline_common.h | 4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/examples/eventdev_pipeline/main.c b/examples/eventdev_pipeline/main.c
index 92e08bc0c8..04b30cf6ea 100644
--- a/examples/eventdev_pipeline/main.c
+++ b/examples/eventdev_pipeline/main.c
@@ -11,4 +11,6 @@
 #include "pipeline_common.h"
 
+struct fastpath_data *fdata;
+
 struct config_data cdata = {
 	.num_packets = (1L << 25), /* do ~32M packets */
diff --git a/examples/eventdev_pipeline/pipeline_common.h b/examples/eventdev_pipeline/pipeline_common.h
index a6cc912fbb..016a3f702b 100644
--- a/examples/eventdev_pipeline/pipeline_common.h
+++ b/examples/eventdev_pipeline/pipeline_common.h
@@ -94,6 +94,6 @@ struct port_link {
 };
 
-struct fastpath_data *fdata;
-struct config_data cdata;
+extern struct fastpath_data *fdata;
+extern struct config_data cdata;
 
 static __rte_always_inline void
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:12:59.302660191 +0100
+++ 0002-examples-eventdev-fix-build-with-gcc-10.patch	2020-05-28 17:12:59.025558120 +0100
@@ -1 +1 @@
-From 78de15bb586ac3d8938512db1977d83815c494f8 Mon Sep 17 00:00:00 2001
+From 5973c23a8e2c8f59127ee8588a3c081cde5c717d Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 78de15bb586ac3d8938512db1977d83815c494f8 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index d3ff1bbe4f..d0da51b1c9 100644
+index 92e08bc0c8..04b30cf6ea 100644
@@ -32 +33 @@
-index 8e30393d09..c7245f7f0f 100644
+index a6cc912fbb..016a3f702b 100644


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

* [dpdk-stable] patch 'drivers: add crypto as dependency for event drivers' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
  2020-05-28 16:21 ` [dpdk-stable] patch 'examples/eventdev: " Kevin Traynor
@ 2020-05-28 16:21 ` " Kevin Traynor
  2020-05-28 16:21 ` [dpdk-stable] patch 'eal: fix log message print for regex' " Kevin Traynor
                   ` (91 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:21 UTC (permalink / raw)
  To: Hemant Agrawal; +Cc: David Marchand, Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/b7541c8e31d1bf3b8898ea9b77d539966827e8de

Thanks.

Kevin.

---
From b7541c8e31d1bf3b8898ea9b77d539966827e8de Mon Sep 17 00:00:00 2001
From: Hemant Agrawal <hemant.agrawal@nxp.com>
Date: Thu, 5 Mar 2020 17:34:12 +0530
Subject: [PATCH] drivers: add crypto as dependency for event drivers

[ upstream commit f3dd46b8603fcd2ed43be38fec8add255c06b026 ]

Since the introduction of crypto event adapters, event drivers
have dependencies on crypto drivers.

/usr/bin/ld: cannot find -lrte_pmd_dpaa_sec
collect2: error: ld returned 1 exit status
make[9]: *** [.../mk/rte.lib.mk:100:
	librte_pmd_dpaa_event.so.20.0.2] Error 1

Fixes: b0f66a68ca74 ("event/dpaa: support crypto adapter")
Fixes: 3721c39f405a ("event/dpaa2: support crypto adapter")

Reported-by: David Marchand <david.marchand@redhat.com>
Suggested-by: Ferruh Yigit <ferruh.yigit@intel.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: David Marchand <david.marchand@redhat.com>
---
 drivers/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/Makefile b/drivers/Makefile
index 7d5da5d9f5..cfc24b2d0b 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -20,5 +20,5 @@ DIRS-$(CONFIG_RTE_LIBRTE_COMPRESSDEV) += compress
 DEPDIRS-compress := bus mempool
 DIRS-$(CONFIG_RTE_LIBRTE_EVENTDEV) += event
-DEPDIRS-event := common bus mempool net
+DEPDIRS-event := common bus mempool net crypto
 DIRS-$(CONFIG_RTE_LIBRTE_RAWDEV) += raw
 DEPDIRS-raw := common bus mempool net event
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:12:59.349131876 +0100
+++ 0003-drivers-add-crypto-as-dependency-for-event-drivers.patch	2020-05-28 17:12:59.026558097 +0100
@@ -1 +1 @@
-From f3dd46b8603fcd2ed43be38fec8add255c06b026 Mon Sep 17 00:00:00 2001
+From b7541c8e31d1bf3b8898ea9b77d539966827e8de Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit f3dd46b8603fcd2ed43be38fec8add255c06b026 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -27 +28 @@
-index 46374ca699..c70bdf9ccf 100644
+index 7d5da5d9f5..cfc24b2d0b 100644
@@ -30,2 +31,2 @@
-@@ -22,5 +22,5 @@ DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += vdpa
- DEPDIRS-vdpa := common bus mempool
+@@ -20,5 +20,5 @@ DIRS-$(CONFIG_RTE_LIBRTE_COMPRESSDEV) += compress
+ DEPDIRS-compress := bus mempool


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

* [dpdk-stable] patch 'eal: fix log message print for regex' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
  2020-05-28 16:21 ` [dpdk-stable] patch 'examples/eventdev: " Kevin Traynor
  2020-05-28 16:21 ` [dpdk-stable] patch 'drivers: add crypto as dependency for event drivers' " Kevin Traynor
@ 2020-05-28 16:21 ` " Kevin Traynor
  2020-05-28 16:21 ` [dpdk-stable] patch 'eal/arm64: fix precise TSC' " Kevin Traynor
                   ` (90 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:21 UTC (permalink / raw)
  To: Sunil Kumar Kori; +Cc: David Marchand, Jerin Jacob, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/2f498474f00939ebe9827eaebb6278df709fc7c8

Thanks.

Kevin.

---
From 2f498474f00939ebe9827eaebb6278df709fc7c8 Mon Sep 17 00:00:00 2001
From: Sunil Kumar Kori <skori@marvell.com>
Date: Mon, 9 Mar 2020 11:47:23 +0530
Subject: [PATCH] eal: fix log message print for regex
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit 2299c8d8e7319035819904e4ba99ca6e279018a6 ]

If user passes log-level eal parameter to enable log level based on regex
then in case of error message is being printed for pattern match instead of
regex. Following is the warning message thrown:

Compiling C object 'lib/76b5a35@@rte_eal@sta/librte_eal_common_eal_common_options.c.o'.
In function ‘eal_parse_log_level’,
   inlined from ‘eal_parse_common_option’ at ../lib/librte_eal/common/eal_common_options.c:1418:7:
../lib/librte_eal/common/eal_common_options.c:1053:4: warning: ‘%s’ directive argument is null [-Wformat-overflow=]
 1053 |    fprintf(stderr, "cannot set log level %s,%d\n",
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1054 |     pattern, priority);
      |     ~~~~~~~~~~~~~~~~~~

Fixes: 7f0bb634a140 ("log: add ability to match log type with globbing")

Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
Acked-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Jerin Jacob <jerinj@marvell.com>
---
 lib/librte_eal/common/eal_common_options.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index f742d4d384..f38888edf3 100644
--- a/lib/librte_eal/common/eal_common_options.c
+++ b/lib/librte_eal/common/eal_common_options.c
@@ -1037,5 +1037,5 @@ eal_parse_log_level(const char *arg)
 		if (rte_log_set_level_regexp(regex, priority) < 0) {
 			fprintf(stderr, "cannot set log level %s,%d\n",
-				pattern, priority);
+				regex, priority);
 			goto fail;
 		}
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:12:59.395636094 +0100
+++ 0004-eal-fix-log-message-print-for-regex.patch	2020-05-28 17:12:59.028558052 +0100
@@ -1 +1 @@
-From 2299c8d8e7319035819904e4ba99ca6e279018a6 Mon Sep 17 00:00:00 2001
+From 2f498474f00939ebe9827eaebb6278df709fc7c8 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 2299c8d8e7319035819904e4ba99ca6e279018a6 ]
+
@@ -23 +24,0 @@
-Cc: stable@dpdk.org
@@ -33 +34 @@
-index 75974dd5ba..525e51e7de 100644
+index f742d4d384..f38888edf3 100644
@@ -36 +37 @@
-@@ -1047,5 +1047,5 @@ eal_parse_log_level(const char *arg)
+@@ -1037,5 +1037,5 @@ eal_parse_log_level(const char *arg)


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

* [dpdk-stable] patch 'eal/arm64: fix precise TSC' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (2 preceding siblings ...)
  2020-05-28 16:21 ` [dpdk-stable] patch 'eal: fix log message print for regex' " Kevin Traynor
@ 2020-05-28 16:21 ` " Kevin Traynor
  2020-05-28 16:21 ` [dpdk-stable] patch 'mem: mark pages as not accessed when reserving VA' " Kevin Traynor
                   ` (89 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:21 UTC (permalink / raw)
  To: Haifeng Lin; +Cc: Gavin Hu, Jerin Jacob, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/19a69e5c42a3284a9f923561284fd7e5ac316a9e

Thanks.

Kevin.

---
From 19a69e5c42a3284a9f923561284fd7e5ac316a9e Mon Sep 17 00:00:00 2001
From: Haifeng Lin <haifeng.lin@huawei.com>
Date: Thu, 12 Mar 2020 01:08:33 +0000
Subject: [PATCH] eal/arm64: fix precise TSC

[ upstream commit 754b6166f522f3fab2c6dd7949c9d1180aa1c7a9 ]

In order to get more accurate the cntvct_el0 reading,
SW must invoke isb.

Fixes: ccad39ea0712 ("eal/arm: add cpu cycle operations for ARMv8")

Reviewed-by: Gavin Hu <gavin.hu@arm.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Signed-off-by: Haifeng Lin <haifeng.lin@huawei.com>
---
 lib/librte_eal/common/include/arch/arm/rte_cycles_64.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_eal/common/include/arch/arm/rte_cycles_64.h b/lib/librte_eal/common/include/arch/arm/rte_cycles_64.h
index 68e7c73384..da557b6a10 100644
--- a/lib/librte_eal/common/include/arch/arm/rte_cycles_64.h
+++ b/lib/librte_eal/common/include/arch/arm/rte_cycles_64.h
@@ -63,5 +63,5 @@ static inline uint64_t
 rte_rdtsc_precise(void)
 {
-	rte_mb();
+	asm volatile("isb" : : : "memory");
 	return rte_rdtsc();
 }
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:12:59.445056472 +0100
+++ 0005-eal-arm64-fix-precise-TSC.patch	2020-05-28 17:12:59.029558029 +0100
@@ -1 +1 @@
-From 754b6166f522f3fab2c6dd7949c9d1180aa1c7a9 Mon Sep 17 00:00:00 2001
+From 19a69e5c42a3284a9f923561284fd7e5ac316a9e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 754b6166f522f3fab2c6dd7949c9d1180aa1c7a9 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org


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

* [dpdk-stable] patch 'mem: mark pages as not accessed when reserving VA' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (3 preceding siblings ...)
  2020-05-28 16:21 ` [dpdk-stable] patch 'eal/arm64: fix precise TSC' " Kevin Traynor
@ 2020-05-28 16:21 ` " Kevin Traynor
  2020-05-28 16:21 ` [dpdk-stable] patch 'service: fix crash on exit' " Kevin Traynor
                   ` (88 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:21 UTC (permalink / raw)
  To: David Marchand
  Cc: Andrea Arcangeli, Maxime Coquelin, Aaron Conole, Anatoly Burakov,
	dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/444b6438813fe82fb850748455b100ad11907bdc

Thanks.

Kevin.

---
From 444b6438813fe82fb850748455b100ad11907bdc Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Mon, 9 Mar 2020 15:54:42 +0100
Subject: [PATCH] mem: mark pages as not accessed when reserving VA

[ upstream commit 8a4baf06c17a806696fb10aba36fce7471983028 ]

When the memory allocator reserves virtual addresses, it still does not
know what they will be used for.
Besides, huge areas are reserved for memory hotplug in multiprocess
setups. But most of the pages are unused in the whole life of the
processes.

Change protection mode to PROT_NONE when only reserving VA.
The memory allocator already switches to the right mode when making use
of it.

It also has the nice effect of getting those pages skipped by the kernel
when calling mlockall() or when a coredump gets generated.

Suggested-by: Andrea Arcangeli <aarcange@redhat.com>
Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Aaron Conole <aconole@redhat.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 lib/librte_eal/common/eal_common_memory.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_eal/common/eal_common_memory.c b/lib/librte_eal/common/eal_common_memory.c
index 9a14698aae..030f1b261c 100644
--- a/lib/librte_eal/common/eal_common_memory.c
+++ b/lib/librte_eal/common/eal_common_memory.c
@@ -113,5 +113,5 @@ eal_get_virtual_area(void *requested_addr, size_t *size,
 		}
 
-		mapped_addr = mmap(requested_addr, (size_t)map_sz, PROT_READ,
+		mapped_addr = mmap(requested_addr, (size_t)map_sz, PROT_NONE,
 				mmap_flags, -1, 0);
 		if (mapped_addr == MAP_FAILED && allow_shrink)
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:12:59.491937520 +0100
+++ 0006-mem-mark-pages-as-not-accessed-when-reserving-VA.patch	2020-05-28 17:12:59.030558007 +0100
@@ -1 +1 @@
-From 8a4baf06c17a806696fb10aba36fce7471983028 Mon Sep 17 00:00:00 2001
+From 444b6438813fe82fb850748455b100ad11907bdc Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 8a4baf06c17a806696fb10aba36fce7471983028 ]
+
@@ -19,2 +20,0 @@
-Cc: stable@dpdk.org
-
@@ -31 +31 @@
-index 4a9cc1f19a..cc7d54e0c7 100644
+index 9a14698aae..030f1b261c 100644
@@ -34 +34 @@
-@@ -98,5 +98,5 @@ eal_get_virtual_area(void *requested_addr, size_t *size,
+@@ -113,5 +113,5 @@ eal_get_virtual_area(void *requested_addr, size_t *size,


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

* [dpdk-stable] patch 'service: fix crash on exit' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (4 preceding siblings ...)
  2020-05-28 16:21 ` [dpdk-stable] patch 'mem: mark pages as not accessed when reserving VA' " Kevin Traynor
@ 2020-05-28 16:21 ` " Kevin Traynor
  2020-05-28 16:21 ` [dpdk-stable] patch 'pci: fix build on ppc' " Kevin Traynor
                   ` (87 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:21 UTC (permalink / raw)
  To: Harry van Haaren; +Cc: David Marchand, Aaron Conole, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/a65c71f595a69de7371f5abc991458ccce9ad9cc

Thanks.

Kevin.

---
From a65c71f595a69de7371f5abc991458ccce9ad9cc Mon Sep 17 00:00:00 2001
From: Harry van Haaren <harry.van.haaren@intel.com>
Date: Wed, 11 Mar 2020 14:39:27 +0000
Subject: [PATCH] service: fix crash on exit

[ upstream commit 33666b448f15687ceaf61eac405d945391fe7066 ]

This commit releases all service cores from their role,
returning them to ROLE_RTE on rte_service_finalize().

This fixes an issue relating to the service cores causing
a race-condition on rte_eal_cleanup(), where the service core
could still be executing while the main thread has already
free-d the service memory, leading to a segfault.

Fixes: da23f0aa87d8 ("service: fix memory leak with new function")

Reported-by: David Marchand <david.marchand@redhat.com>
Reported-by: Aaron Conole <aconole@redhat.com>
Signed-off-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Aaron Conole <aconole@redhat.com>
---
 lib/librte_eal/common/rte_service.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/librte_eal/common/rte_service.c b/lib/librte_eal/common/rte_service.c
index 53dd6a7bbf..5e757fbd19 100644
--- a/lib/librte_eal/common/rte_service.c
+++ b/lib/librte_eal/common/rte_service.c
@@ -122,4 +122,7 @@ rte_service_finalize(void)
 		return;
 
+	rte_service_lcore_reset_all();
+	rte_eal_mp_wait_lcore();
+
 	rte_free(rte_services);
 	rte_free(lcore_states);
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:12:59.542387726 +0100
+++ 0007-service-fix-crash-on-exit.patch	2020-05-28 17:12:59.031557984 +0100
@@ -1 +1 @@
-From 33666b448f15687ceaf61eac405d945391fe7066 Mon Sep 17 00:00:00 2001
+From a65c71f595a69de7371f5abc991458ccce9ad9cc Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 33666b448f15687ceaf61eac405d945391fe7066 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -27 +28 @@
-index 7e537b8cd2..b0b78baabd 100644
+index 53dd6a7bbf..5e757fbd19 100644
@@ -30 +31 @@
-@@ -123,4 +123,7 @@ rte_service_finalize(void)
+@@ -122,4 +122,7 @@ rte_service_finalize(void)


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

* [dpdk-stable] patch 'pci: fix build on ppc' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (5 preceding siblings ...)
  2020-05-28 16:21 ` [dpdk-stable] patch 'service: fix crash on exit' " Kevin Traynor
@ 2020-05-28 16:21 ` " Kevin Traynor
  2020-05-28 16:21 ` [dpdk-stable] patch 'net/i40e: fix X722 performance' " Kevin Traynor
                   ` (86 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:21 UTC (permalink / raw)
  To: David Christensen; +Cc: David Wilder, David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/4422fd3200bbcdda4ab27afb39d5d410391bbf2a

Thanks.

Kevin.

---
From 4422fd3200bbcdda4ab27afb39d5d410391bbf2a Mon Sep 17 00:00:00 2001
From: David Christensen <drc@linux.vnet.ibm.com>
Date: Mon, 16 Mar 2020 13:47:49 -0700
Subject: [PATCH] pci: fix build on ppc

[ upstream commit 61669ecb921fff821db11d81557fa0449a7eb79c ]

The include file rte_debug.h is pulled into x86 builds through the
following callchain:

lib/librte_eal/common/include/generic/rte_cycles.h:17,
lib/librte_eal/common/include/arch/x86/rte_cycles.h:13,
lib/librte_eal/common/include/arch/x86/rte_spinlock.h:18,
lib/librte_eal/common/include/arch/x86/rte_rwlock.h:13,

The PPC specific version of the same callchain does not include
rte_debug.h.  Add rte_debug.h back into the C files that require it.

Fixes: 0dcba5256287 ("pci: remove unneeded includes in public header file")

Signed-off-by: David Christensen <drc@linux.vnet.ibm.com>
Tested-by: David Wilder <dwilder@us.ibm.com>
Acked-by: David Marchand <david.marchand@redhat.com>
---
 drivers/bus/ifpga/ifpga_bus.c | 1 +
 lib/librte_pci/rte_pci.c      | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/bus/ifpga/ifpga_bus.c b/drivers/bus/ifpga/ifpga_bus.c
index 55d3abf9fe..1fddde60a5 100644
--- a/drivers/bus/ifpga/ifpga_bus.c
+++ b/drivers/bus/ifpga/ifpga_bus.c
@@ -25,4 +25,5 @@
 #include <rte_alarm.h>
 #include <rte_string_fns.h>
+#include <rte_debug.h>
 
 #include "rte_rawdev.h"
diff --git a/lib/librte_pci/rte_pci.c b/lib/librte_pci/rte_pci.c
index f400178bb6..a13aed9856 100644
--- a/lib/librte_pci/rte_pci.c
+++ b/lib/librte_pci/rte_pci.c
@@ -21,4 +21,5 @@
 #include <rte_string_fns.h>
 #include <rte_common.h>
+#include <rte_debug.h>
 
 #include "rte_pci.h"
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:12:59.591505883 +0100
+++ 0008-pci-fix-build-on-ppc.patch	2020-05-28 17:12:59.032557962 +0100
@@ -1 +1 @@
-From 61669ecb921fff821db11d81557fa0449a7eb79c Mon Sep 17 00:00:00 2001
+From 4422fd3200bbcdda4ab27afb39d5d410391bbf2a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 61669ecb921fff821db11d81557fa0449a7eb79c ]
+
@@ -18 +19,0 @@
-Cc: stable@dpdk.org
@@ -29 +30 @@
-index dfd6b1fba9..addbc3e86b 100644
+index 55d3abf9fe..1fddde60a5 100644
@@ -39 +40 @@
-index a753cf3eca..d1ab6b414d 100644
+index f400178bb6..a13aed9856 100644


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

* [dpdk-stable] patch 'net/i40e: fix X722 performance' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (6 preceding siblings ...)
  2020-05-28 16:21 ` [dpdk-stable] patch 'pci: fix build on ppc' " Kevin Traynor
@ 2020-05-28 16:21 ` " Kevin Traynor
  2020-05-28 16:21 ` [dpdk-stable] patch 'doc: fix number of failsafe sub-devices' " Kevin Traynor
                   ` (85 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:21 UTC (permalink / raw)
  To: Qiming Yang; +Cc: Xiaolong Ye, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/fdda793ae917cc74796239401676d5f673456fda

Thanks.

Kevin.

---
From fdda793ae917cc74796239401676d5f673456fda Mon Sep 17 00:00:00 2001
From: Qiming Yang <qiming.yang@intel.com>
Date: Tue, 3 Mar 2020 13:45:00 +0800
Subject: [PATCH] net/i40e: fix X722 performance

[ upstream commit b4668579286c56fded2816602e104abbcf0b5adb ]

Lack of GL_SWR_PM_UP_THR value for mac type 4x10G X722 caused it can't
reach line rate in one queue one core forwarding case. It's about 1%
performance drop.  This patch adds value as:

 Device-ID  Value        Comments
 0x37D0    0x03030303   4x10G FPK

This value is hardware specific.

Fixes: 3320d4a240da ("net/i40e: workaround performance degradation")

Signed-off-by: Qiming Yang <qiming.yang@intel.com>
Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
---
 drivers/net/i40e/i40e_ethdev.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 040bedfad9..f312abed27 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -10277,4 +10277,5 @@ i40e_get_swr_pm_cfg(struct i40e_hw *hw, uint32_t *value)
 		{ I40E_GL_SWR_PM_EF_DEVICE(I40E_DEV_ID_10G_BASE_T) },
 		{ I40E_GL_SWR_PM_EF_DEVICE(I40E_DEV_ID_10G_BASE_T4) },
+		{ I40E_GL_SWR_PM_EF_DEVICE(I40E_DEV_ID_SFP_X722) },
 
 		{ I40E_GL_SWR_PM_SF_DEVICE(I40E_DEV_ID_KX_B) },
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:12:59.641465378 +0100
+++ 0009-net-i40e-fix-X722-performance.patch	2020-05-28 17:12:59.046557645 +0100
@@ -1 +1 @@
-From b4668579286c56fded2816602e104abbcf0b5adb Mon Sep 17 00:00:00 2001
+From fdda793ae917cc74796239401676d5f673456fda Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b4668579286c56fded2816602e104abbcf0b5adb ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index 9fbda1c34c..c09b9b990c 100644
+index 040bedfad9..f312abed27 100644
@@ -28 +29 @@
-@@ -10505,4 +10505,5 @@ i40e_get_swr_pm_cfg(struct i40e_hw *hw, uint32_t *value)
+@@ -10277,4 +10277,5 @@ i40e_get_swr_pm_cfg(struct i40e_hw *hw, uint32_t *value)


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

* [dpdk-stable] patch 'doc: fix number of failsafe sub-devices' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (7 preceding siblings ...)
  2020-05-28 16:21 ` [dpdk-stable] patch 'net/i40e: fix X722 performance' " Kevin Traynor
@ 2020-05-28 16:21 ` " Kevin Traynor
  2020-05-28 16:21 ` [dpdk-stable] patch 'net/sfc: fix reported promiscuous/multicast mode' " Kevin Traynor
                   ` (84 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:21 UTC (permalink / raw)
  To: Gaetan Rivet; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/8d329ee587cb2820d75de20babc039fa94e02729

Thanks.

Kevin.

---
From 8d329ee587cb2820d75de20babc039fa94e02729 Mon Sep 17 00:00:00 2001
From: Gaetan Rivet <grive@u256.net>
Date: Sat, 22 Feb 2020 01:14:40 +0100
Subject: [PATCH] doc: fix number of failsafe sub-devices

[ upstream commit c4169faf9dab18d164557e2b52f7ba1e9d6b768f ]

Supporting more than 2 sub-device is a remnant from earlier fail-safe
design, that was never actually published.

Fixes: a46f8d584eb8 ("net/failsafe: add fail-safe PMD")

Signed-off-by: Gaetan Rivet <grive@u256.net>
---
 doc/guides/nics/fail_safe.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/guides/nics/fail_safe.rst b/doc/guides/nics/fail_safe.rst
index 6c02d7ef6d..60bbf40f7f 100644
--- a/doc/guides/nics/fail_safe.rst
+++ b/doc/guides/nics/fail_safe.rst
@@ -50,5 +50,5 @@ The Fail-safe PMD can be used like most other DPDK virtual devices, by passing a
 must start with the *net_failsafe* prefix, followed by numbers or letters. This
 name must be unique for each device. Each fail-safe instance must have at least one
-sub-device, up to ``RTE_MAX_ETHPORTS-1``.
+sub-device, and at most two.
 
 A sub-device can be any legal DPDK device, including possibly another fail-safe
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:12:59.703710665 +0100
+++ 0010-doc-fix-number-of-failsafe-sub-devices.patch	2020-05-28 17:12:59.047557622 +0100
@@ -1 +1 @@
-From c4169faf9dab18d164557e2b52f7ba1e9d6b768f Mon Sep 17 00:00:00 2001
+From 8d329ee587cb2820d75de20babc039fa94e02729 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c4169faf9dab18d164557e2b52f7ba1e9d6b768f ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index 3ce2f8bee3..b4a92f663b 100644
+index 6c02d7ef6d..60bbf40f7f 100644
@@ -27 +28 @@
- A sub-device can be any DPDK device, including possibly another fail-safe device.
+ A sub-device can be any legal DPDK device, including possibly another fail-safe


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

* [dpdk-stable] patch 'net/sfc: fix reported promiscuous/multicast mode' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (8 preceding siblings ...)
  2020-05-28 16:21 ` [dpdk-stable] patch 'doc: fix number of failsafe sub-devices' " Kevin Traynor
@ 2020-05-28 16:21 ` " Kevin Traynor
  2020-05-28 16:21 ` [dpdk-stable] patch 'net/sfc: fix initialization error path' " Kevin Traynor
                   ` (83 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:21 UTC (permalink / raw)
  To: Andrew Rybchenko; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/1ce3cca4f6b5095d15d69e2c9632365bab0851e6

Thanks.

Kevin.

---
From 1ce3cca4f6b5095d15d69e2c9632365bab0851e6 Mon Sep 17 00:00:00 2001
From: Andrew Rybchenko <arybchenko@solarflare.com>
Date: Wed, 4 Mar 2020 15:01:04 +0000
Subject: [PATCH] net/sfc: fix reported promiscuous/multicast mode

[ upstream commit 9d28d6b0b0bf4e7d9386c2ab56893d5cc95e78e5 ]

Requested promiscuous or all-multicast mode may be dropped on port
start if FW denies to enable it (e.g. because of no permission
in the case of VF). Return applied value on get.

Fixes: f5258439ee5d ("net/sfc: avoid failure on port start if Rx mode is rejected")

Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
 drivers/net/sfc/sfc_rx.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/sfc/sfc_rx.c b/drivers/net/sfc/sfc_rx.c
index 960ab62c19..984914b4e1 100644
--- a/drivers/net/sfc/sfc_rx.c
+++ b/drivers/net/sfc/sfc_rx.c
@@ -647,4 +647,5 @@ retry:
 
 		port->promisc = B_FALSE;
+		sa->eth_dev->data->promiscuous = 0;
 		rc = sfc_set_rx_mode(sa);
 		if (rc != 0)
@@ -660,4 +661,5 @@ retry:
 
 		port->allmulti = B_FALSE;
+		sa->eth_dev->data->all_multicast = 0;
 		rc = sfc_set_rx_mode(sa);
 		if (rc != 0)
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:12:59.752325414 +0100
+++ 0011-net-sfc-fix-reported-promiscuous-multicast-mode.patch	2020-05-28 17:12:59.049557577 +0100
@@ -1 +1 @@
-From 9d28d6b0b0bf4e7d9386c2ab56893d5cc95e78e5 Mon Sep 17 00:00:00 2001
+From 1ce3cca4f6b5095d15d69e2c9632365bab0851e6 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 9d28d6b0b0bf4e7d9386c2ab56893d5cc95e78e5 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 7afd2c8b33..f589ece757 100644
+index 960ab62c19..984914b4e1 100644
@@ -22 +23 @@
-@@ -720,4 +720,5 @@ retry:
+@@ -647,4 +647,5 @@ retry:
@@ -28 +29 @@
-@@ -733,4 +734,5 @@ retry:
+@@ -660,4 +661,5 @@ retry:


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

* [dpdk-stable] patch 'net/sfc: fix initialization error path' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (9 preceding siblings ...)
  2020-05-28 16:21 ` [dpdk-stable] patch 'net/sfc: fix reported promiscuous/multicast mode' " Kevin Traynor
@ 2020-05-28 16:21 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/sfc: fix Rx queue start failure " Kevin Traynor
                   ` (82 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:21 UTC (permalink / raw)
  To: Igor Romanov; +Cc: Andrew Rybchenko, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/3dc55d5fd25b239cf88a4396d58c430d627a7b4e

Thanks.

Kevin.

---
From 3dc55d5fd25b239cf88a4396d58c430d627a7b4e Mon Sep 17 00:00:00 2001
From: Igor Romanov <igor.romanov@oktetlabs.ru>
Date: Thu, 5 Mar 2020 10:38:36 +0000
Subject: [PATCH] net/sfc: fix initialization error path

[ upstream commit ba77f3e171733b49d7c991f03b97f0df6c85c4d1 ]

NIC deinitialization should not happen after a failed NIC
initialization.

Fixes: 91831d4068c8 ("net/sfc: estimate available resources")

Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
 drivers/net/sfc/sfc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/sfc/sfc.c b/drivers/net/sfc/sfc.c
index d056d12164..48d95845d6 100644
--- a/drivers/net/sfc/sfc.c
+++ b/drivers/net/sfc/sfc.c
@@ -241,6 +241,6 @@ sfc_estimate_resource_limits(struct sfc_adapter *sa)
 
 fail_get_vi_pool:
-fail_nic_init:
 	efx_nic_fini(sa->nic);
+fail_nic_init:
 	return rc;
 }
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:12:59.801447468 +0100
+++ 0012-net-sfc-fix-initialization-error-path.patch	2020-05-28 17:12:59.050557554 +0100
@@ -1 +1 @@
-From ba77f3e171733b49d7c991f03b97f0df6c85c4d1 Mon Sep 17 00:00:00 2001
+From 3dc55d5fd25b239cf88a4396d58c430d627a7b4e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit ba77f3e171733b49d7c991f03b97f0df6c85c4d1 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index c6b514ac2f..3f5cd7758b 100644
+index d056d12164..48d95845d6 100644
@@ -22 +23 @@
-@@ -242,6 +242,6 @@ sfc_estimate_resource_limits(struct sfc_adapter *sa)
+@@ -241,6 +241,6 @@ sfc_estimate_resource_limits(struct sfc_adapter *sa)


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

* [dpdk-stable] patch 'net/sfc: fix Rx queue start failure path' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (10 preceding siblings ...)
  2020-05-28 16:21 ` [dpdk-stable] patch 'net/sfc: fix initialization error path' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/mlx5: fix mask used for IPv6 item validation' " Kevin Traynor
                   ` (81 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Igor Romanov; +Cc: Andrew Rybchenko, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/bc2e943cd0832eff0c43e37a7119b978c408f952

Thanks.

Kevin.

---
From bc2e943cd0832eff0c43e37a7119b978c408f952 Mon Sep 17 00:00:00 2001
From: Igor Romanov <igor.romanov@oktetlabs.ru>
Date: Thu, 5 Mar 2020 15:48:55 +0000
Subject: [PATCH] net/sfc: fix Rx queue start failure path

[ upstream commit a8bcd99de4a2cf5d52ea24506dbca20a26d5ba0b ]

Call correct cleanup operations on failure in Rx queue start function.

Fixes: df1bfde4ff0d ("net/sfc: factor out libefx-based Rx datapath")
Fixes: 28944ac098aa ("net/sfc: implement Rx queue start and stop operations")

Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
 drivers/net/sfc/sfc_rx.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/sfc/sfc_rx.c b/drivers/net/sfc/sfc_rx.c
index 984914b4e1..2d506c3860 100644
--- a/drivers/net/sfc/sfc_rx.c
+++ b/drivers/net/sfc/sfc_rx.c
@@ -751,8 +751,10 @@ sfc_rx_qstart(struct sfc_adapter *sa, unsigned int sw_index)
 
 fail_mac_filter_default_rxq_set:
+	sfc_rx_qflush(sa, sw_index);
 	sa->dp_rx->qstop(rxq->dp, &rxq->evq->read_ptr);
+	rxq->state = SFC_RXQ_INITIALIZED;
 
 fail_dp_qstart:
-	sfc_rx_qflush(sa, sw_index);
+	efx_rx_qdestroy(rxq->common);
 
 fail_rx_qcreate:
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:12:59.849699186 +0100
+++ 0013-net-sfc-fix-Rx-queue-start-failure-path.patch	2020-05-28 17:12:59.052557509 +0100
@@ -1 +1 @@
-From a8bcd99de4a2cf5d52ea24506dbca20a26d5ba0b Mon Sep 17 00:00:00 2001
+From bc2e943cd0832eff0c43e37a7119b978c408f952 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a8bcd99de4a2cf5d52ea24506dbca20a26d5ba0b ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index f589ece757..891709fd04 100644
+index 984914b4e1..2d506c3860 100644
@@ -22 +23 @@
-@@ -823,8 +823,10 @@ sfc_rx_qstart(struct sfc_adapter *sa, unsigned int sw_index)
+@@ -751,8 +751,10 @@ sfc_rx_qstart(struct sfc_adapter *sa, unsigned int sw_index)
@@ -26,2 +27,2 @@
- 	sa->priv.dp_rx->qstop(rxq_info->dp, &rxq->evq->read_ptr);
-+	rxq_info->state = SFC_RXQ_INITIALIZED;
+ 	sa->dp_rx->qstop(rxq->dp, &rxq->evq->read_ptr);
++	rxq->state = SFC_RXQ_INITIALIZED;


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

* [dpdk-stable] patch 'net/mlx5: fix mask used for IPv6 item validation' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (11 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/sfc: fix Rx queue start failure " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'ethdev: fix spelling' " Kevin Traynor
                   ` (80 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Dekel Peled; +Cc: Matan Azrad, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/a7e766dd7824d50489820192298700e67150cd93

Thanks.

Kevin.

---
From a7e766dd7824d50489820192298700e67150cd93 Mon Sep 17 00:00:00 2001
From: Dekel Peled <dekelp@mellanox.com>
Date: Tue, 3 Mar 2020 14:37:30 +0200
Subject: [PATCH] net/mlx5: fix mask used for IPv6 item validation

[ upstream commit 6bd5efb23db9e419dec51fbea7f71c2fd3703d75 ]

The nic_mask struct in function mlx5_flow_validate_item_ipv6()
includes hop_limits field.
This is redundant since matching on this item is not supported using
Verbs flow engine (dv_flow_en=0).

(Separate patch will be sent to handle this issue for DV flow engine.)

Setting a rule including match on this field will fail:
testpmd> flow create 0 ingress pattern eth / ipv6 hop is 1 / end actions
drop / end
port_flow_complain(): Caught PMD error type 1 (cause unspecified):
hardware refuses to create flow: Operation not supported

This patch removes the redundant field from nic_mask, to ensure that
such flow rules will be rejected by PMD validation:
testpmd> flow create 0 ingress pattern eth / ipv6 hop is 1 / end actions
drop / end
port_flow_complain(): Caught PMD error type 13 (specific pattern item):
cause: 0x7fffffffa2c8, mask enables non supported bits: Operation not
supported

The related lines in function flow_verbs_translate_item_ipv6() are
removed as well, since they are redundant.

Fixes: 23c1d42c7138 ("net/mlx5: split flow validation to dedicated function")
Fixes: 84c406e74524 ("net/mlx5: add flow translate function")

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
---
 drivers/net/mlx5/mlx5_flow.c       | 1 -
 drivers/net/mlx5/mlx5_flow_verbs.c | 3 ---
 2 files changed, 4 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 7f518fcd26..362fae56c4 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -1267,5 +1267,4 @@ mlx5_flow_validate_item_ipv6(const struct rte_flow_item *item,
 			.vtc_flow = RTE_BE32(0xffffffff),
 			.proto = 0xff,
-			.hop_limits = 0xff,
 		},
 	};
diff --git a/drivers/net/mlx5/mlx5_flow_verbs.c b/drivers/net/mlx5/mlx5_flow_verbs.c
index 1a8a9e63ca..05a3db501f 100644
--- a/drivers/net/mlx5/mlx5_flow_verbs.c
+++ b/drivers/net/mlx5/mlx5_flow_verbs.c
@@ -480,5 +480,4 @@ flow_verbs_translate_item_ipv6(struct mlx5_flow *dev_flow,
 					 IPV6_HDR_TC_SHIFT;
 		ipv6.val.next_hdr = spec->hdr.proto;
-		ipv6.val.hop_limit = spec->hdr.hop_limits;
 		ipv6.mask.flow_label =
 			rte_cpu_to_be_32((vtc_flow_mask & IPV6_HDR_FL_MASK) >>
@@ -487,5 +486,4 @@ flow_verbs_translate_item_ipv6(struct mlx5_flow *dev_flow,
 					  IPV6_HDR_TC_SHIFT;
 		ipv6.mask.next_hdr = mask->hdr.proto;
-		ipv6.mask.hop_limit = mask->hdr.hop_limits;
 		/* Remove unwanted bits from values. */
 		for (i = 0; i < RTE_DIM(ipv6.val.src_ip); ++i) {
@@ -496,5 +494,4 @@ flow_verbs_translate_item_ipv6(struct mlx5_flow *dev_flow,
 		ipv6.val.traffic_class &= ipv6.mask.traffic_class;
 		ipv6.val.next_hdr &= ipv6.mask.next_hdr;
-		ipv6.val.hop_limit &= ipv6.mask.hop_limit;
 	}
 	flow_verbs_spec_add(&dev_flow->verbs, &ipv6, size);
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:12:59.897711990 +0100
+++ 0014-net-mlx5-fix-mask-used-for-IPv6-item-validation.patch	2020-05-28 17:12:59.056557419 +0100
@@ -1 +1 @@
-From 6bd5efb23db9e419dec51fbea7f71c2fd3703d75 Mon Sep 17 00:00:00 2001
+From a7e766dd7824d50489820192298700e67150cd93 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 6bd5efb23db9e419dec51fbea7f71c2fd3703d75 ]
+
@@ -32 +33,0 @@
-Cc: stable@dpdk.org
@@ -42 +43 @@
-index 16c1ef3532..41072da6df 100644
+index 7f518fcd26..362fae56c4 100644
@@ -45 +46 @@
-@@ -1641,5 +1641,4 @@ mlx5_flow_validate_item_ipv6(const struct rte_flow_item *item,
+@@ -1267,5 +1267,4 @@ mlx5_flow_validate_item_ipv6(const struct rte_flow_item *item,
@@ -52 +53 @@
-index 04845f8f4c..459e7b6483 100644
+index 1a8a9e63ca..05a3db501f 100644
@@ -55,2 +56,2 @@
-@@ -495,5 +495,4 @@ flow_verbs_translate_item_ipv6(struct mlx5_flow *dev_flow,
- 					 RTE_IPV6_HDR_TC_SHIFT;
+@@ -480,5 +480,4 @@ flow_verbs_translate_item_ipv6(struct mlx5_flow *dev_flow,
+ 					 IPV6_HDR_TC_SHIFT;
@@ -60,3 +61,3 @@
- 			rte_cpu_to_be_32((vtc_flow_mask & RTE_IPV6_HDR_FL_MASK) >>
-@@ -502,5 +501,4 @@ flow_verbs_translate_item_ipv6(struct mlx5_flow *dev_flow,
- 					  RTE_IPV6_HDR_TC_SHIFT;
+ 			rte_cpu_to_be_32((vtc_flow_mask & IPV6_HDR_FL_MASK) >>
+@@ -487,5 +486,4 @@ flow_verbs_translate_item_ipv6(struct mlx5_flow *dev_flow,
+ 					  IPV6_HDR_TC_SHIFT;
@@ -67 +68 @@
-@@ -511,5 +509,4 @@ flow_verbs_translate_item_ipv6(struct mlx5_flow *dev_flow,
+@@ -496,5 +494,4 @@ flow_verbs_translate_item_ipv6(struct mlx5_flow *dev_flow,


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

* [dpdk-stable] patch 'ethdev: fix spelling' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (12 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/mlx5: fix mask used for IPv6 item validation' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/sfc/base: reduce filter priorities to implemented only' " Kevin Traynor
                   ` (79 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/599771af0bb607f6bf0a8f41f004d058cf3c4345

Thanks.

Kevin.

---
From 599771af0bb607f6bf0a8f41f004d058cf3c4345 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 10 Mar 2020 09:24:05 -0700
Subject: [PATCH] ethdev: fix spelling

[ upstream commit 897358cc1e61e950b8e6a1755c6b998f697b0ab9 ]

Minor spelling errors found by aspell and codespell

Fixes: 1daa33805824 ("ethdev: validate offloads set by PMD")
Fixes: 81f9db8ecc2c ("ethdev: add vlan offload support")
Fixes: c8231c63ddcb ("ethdev: insert Rx callback as head of list")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 lib/librte_ethdev/rte_ethdev.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
index 13866150ef..2929d10c22 100644
--- a/lib/librte_ethdev/rte_ethdev.c
+++ b/lib/librte_ethdev/rte_ethdev.c
@@ -2706,5 +2706,5 @@ rte_eth_dev_set_vlan_offload(uint16_t port_id, int offload_mask)
 	orig_offloads = dev->data->dev_conf.rxmode.offloads;
 
-	/*check which option changed by application*/
+	/* check which option changed by application */
 	cur = !!(offload_mask & ETH_VLAN_STRIP_OFFLOAD);
 	org = !!(dev->data->dev_conf.rxmode.offloads &
@@ -3862,5 +3862,5 @@ rte_eth_add_first_rx_callback(uint16_t port_id, uint16_t queue_id,
 
 	rte_spinlock_lock(&rte_eth_rx_cb_lock);
-	/* Add the callbacks at fisrt position*/
+	/* Add the callbacks at first position */
 	cb->next = rte_eth_devices[port_id].post_rx_burst_cbs[queue_id];
 	rte_smp_wmb();
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:12:59.956386151 +0100
+++ 0015-ethdev-fix-spelling.patch	2020-05-28 17:12:59.060557328 +0100
@@ -1 +1 @@
-From 897358cc1e61e950b8e6a1755c6b998f697b0ab9 Mon Sep 17 00:00:00 2001
+From 599771af0bb607f6bf0a8f41f004d058cf3c4345 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 897358cc1e61e950b8e6a1755c6b998f697b0ab9 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -16,2 +17,2 @@
- lib/librte_ethdev/rte_ethdev.c | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
+ lib/librte_ethdev/rte_ethdev.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
@@ -20 +21 @@
-index 774c721b34..0854ef8832 100644
+index 13866150ef..2929d10c22 100644
@@ -23,23 +24,2 @@
-@@ -1165,5 +1165,5 @@ check_lro_pkt_size(uint16_t port_id, uint32_t config_size,
- /*
-  * Validate offloads that are requested through rte_eth_dev_configure against
-- * the offloads successfuly set by the ethernet device.
-+ * the offloads successfully set by the ethernet device.
-  *
-  * @param port_id
-@@ -1172,5 +1172,5 @@ check_lro_pkt_size(uint16_t port_id, uint32_t config_size,
-  *   The offloads that have been requested through `rte_eth_dev_configure`.
-  * @param set_offloads
-- *   The offloads successfuly set by the ethernet device.
-+ *   The offloads successfully set by the ethernet device.
-  * @param offload_type
-  *   The offload type i.e. Rx/Tx string.
-@@ -1201,5 +1201,5 @@ validate_offloads(uint16_t port_id, uint64_t req_offloads,
- 		}
- 
--		/* Chech if offload couldn't be disabled. */
-+		/* Check if offload couldn't be disabled. */
- 		if (offload & set_offloads) {
- 			RTE_ETHDEV_LOG(DEBUG,
-@@ -3262,5 +3262,5 @@ rte_eth_dev_set_vlan_offload(uint16_t port_id, int offload_mask)
- 	dev_offloads = orig_offloads;
+@@ -2706,5 +2706,5 @@ rte_eth_dev_set_vlan_offload(uint16_t port_id, int offload_mask)
+ 	orig_offloads = dev->data->dev_conf.rxmode.offloads;
@@ -50,2 +30,2 @@
- 	org = !!(dev_offloads & DEV_RX_OFFLOAD_VLAN_STRIP);
-@@ -4453,5 +4453,5 @@ rte_eth_add_first_rx_callback(uint16_t port_id, uint16_t queue_id,
+ 	org = !!(dev->data->dev_conf.rxmode.offloads &
+@@ -3862,5 +3862,5 @@ rte_eth_add_first_rx_callback(uint16_t port_id, uint16_t queue_id,


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

* [dpdk-stable] patch 'net/sfc/base: reduce filter priorities to implemented only' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (13 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'ethdev: fix spelling' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/sfc/base: reject automatic filter creation by users' " Kevin Traynor
                   ` (78 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Igor Romanov; +Cc: Andrew Rybchenko, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/e2bba83304c0cecfa7ef8c675eb46a6a3de49b30

Thanks.

Kevin.

---
From e2bba83304c0cecfa7ef8c675eb46a6a3de49b30 Mon Sep 17 00:00:00 2001
From: Igor Romanov <igor.romanov@oktetlabs.ru>
Date: Tue, 10 Mar 2020 09:48:36 +0000
Subject: [PATCH] net/sfc/base: reduce filter priorities to implemented only

[ upstream commit 5b1dd95e270bfc4a824aad8fd560ce97f06679d1 ]

Only implemented filter priorities are manual and auto. Remove
unused priorities since exposing unimplemented functionality
is of no benefit.

Tx filter specification default priority is changed to manual,
since required priority does not differ from it in the implementation.

Fixes: f9565517ff4f ("net/sfc/base: import filters support")

Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
 drivers/net/sfc/base/efx.h        | 6 +-----
 drivers/net/sfc/base/efx_filter.c | 2 +-
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/net/sfc/base/efx.h b/drivers/net/sfc/base/efx.h
index 444f6d1db3..93d8580d04 100644
--- a/drivers/net/sfc/base/efx.h
+++ b/drivers/net/sfc/base/efx.h
@@ -2869,6 +2869,5 @@ typedef uint32_t efx_filter_match_flags_t;
 
 typedef enum efx_filter_priority_s {
-	EFX_FILTER_PRI_HINT = 0,	/* Performance hint */
-	EFX_FILTER_PRI_AUTO,		/* Automatic filter based on device
+	EFX_FILTER_PRI_AUTO = 0,	/* Automatic filter based on device
 					 * address list or hardware
 					 * requirements. This may only be used
@@ -2876,7 +2875,4 @@ typedef enum efx_filter_priority_s {
 					 * each NIC type. */
 	EFX_FILTER_PRI_MANUAL,		/* Manually configured filter */
-	EFX_FILTER_PRI_REQUIRED,	/* Required for correct behaviour of the
-					 * client (e.g. SR-IOV, HyperV VMQ etc.)
-					 */
 } efx_filter_priority_t;
 
diff --git a/drivers/net/sfc/base/efx_filter.c b/drivers/net/sfc/base/efx_filter.c
index a7523b38b6..c55b1c7761 100644
--- a/drivers/net/sfc/base/efx_filter.c
+++ b/drivers/net/sfc/base/efx_filter.c
@@ -315,5 +315,5 @@ efx_filter_spec_init_tx(
 
 	memset(spec, 0, sizeof (*spec));
-	spec->efs_priority = EFX_FILTER_PRI_REQUIRED;
+	spec->efs_priority = EFX_FILTER_PRI_MANUAL;
 	spec->efs_flags = EFX_FILTER_FLAG_TX;
 	spec->efs_dmaq_id = (uint16_t)etp->et_index;
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:00.006760740 +0100
+++ 0016-net-sfc-base-reduce-filter-priorities-to-implemented.patch	2020-05-28 17:12:59.065557215 +0100
@@ -1 +1 @@
-From 5b1dd95e270bfc4a824aad8fd560ce97f06679d1 Mon Sep 17 00:00:00 2001
+From e2bba83304c0cecfa7ef8c675eb46a6a3de49b30 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 5b1dd95e270bfc4a824aad8fd560ce97f06679d1 ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index 53ddaa987c..c609c700fa 100644
+index 444f6d1db3..93d8580d04 100644
@@ -27 +28 @@
-@@ -2951,6 +2951,5 @@ typedef uint32_t efx_filter_match_flags_t;
+@@ -2869,6 +2869,5 @@ typedef uint32_t efx_filter_match_flags_t;
@@ -35 +36 @@
-@@ -2958,7 +2957,4 @@ typedef enum efx_filter_priority_s {
+@@ -2876,7 +2875,4 @@ typedef enum efx_filter_priority_s {
@@ -44 +45 @@
-index 7efb380641..575f6228be 100644
+index a7523b38b6..c55b1c7761 100644


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

* [dpdk-stable] patch 'net/sfc/base: reject automatic filter creation by users' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (14 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/sfc/base: reduce filter priorities to implemented only' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/sfc/base: refactor filter lookup loop in EF10' " Kevin Traynor
                   ` (77 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Igor Romanov; +Cc: Andrew Rybchenko, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/86786f06fb1e97ababd0b0778b404eba3673a8fa

Thanks.

Kevin.

---
From 86786f06fb1e97ababd0b0778b404eba3673a8fa Mon Sep 17 00:00:00 2001
From: Igor Romanov <igor.romanov@oktetlabs.ru>
Date: Tue, 10 Mar 2020 09:48:37 +0000
Subject: [PATCH] net/sfc/base: reject automatic filter creation by users

[ upstream commit fbf423bbf2d298e4fc0e3f3a0d498ddb8bada94b ]

The automatic filter priority may only be used by filter implementation,
so reject the attempts to create such filters by client drivers.

Fixes: f9565517ff4f ("net/sfc/base: import filters support")

Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
 drivers/net/sfc/base/efx_filter.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/net/sfc/base/efx_filter.c b/drivers/net/sfc/base/efx_filter.c
index c55b1c7761..9e53af7538 100644
--- a/drivers/net/sfc/base/efx_filter.c
+++ b/drivers/net/sfc/base/efx_filter.c
@@ -94,6 +94,13 @@ efx_filter_insert(
 	}
 
+	if (spec->efs_priority == EFX_FILTER_PRI_AUTO) {
+		rc = EINVAL;
+		goto fail3;
+	}
+
 	return (efop->efo_add(enp, spec, B_FALSE));
 
+fail3:
+	EFSYS_PROBE(fail3);
 fail2:
 	EFSYS_PROBE(fail2);
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:00.057764112 +0100
+++ 0017-net-sfc-base-reject-automatic-filter-creation-by-use.patch	2020-05-28 17:12:59.067557170 +0100
@@ -1 +1 @@
-From fbf423bbf2d298e4fc0e3f3a0d498ddb8bada94b Mon Sep 17 00:00:00 2001
+From 86786f06fb1e97ababd0b0778b404eba3673a8fa Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit fbf423bbf2d298e4fc0e3f3a0d498ddb8bada94b ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 575f6228be..36332a2801 100644
+index c55b1c7761..9e53af7538 100644


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

* [dpdk-stable] patch 'net/sfc/base: refactor filter lookup loop in EF10' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (15 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/sfc/base: reject automatic filter creation by users' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/sfc/base: handle manual and auto filter clashes " Kevin Traynor
                   ` (76 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Igor Romanov; +Cc: Andrew Rybchenko, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/51e10ec173ad406b6f1e4a110f8e1de0eb169b36

Thanks.

Kevin.

---
From 51e10ec173ad406b6f1e4a110f8e1de0eb169b36 Mon Sep 17 00:00:00 2001
From: Igor Romanov <igor.romanov@oktetlabs.ru>
Date: Tue, 10 Mar 2020 09:48:38 +0000
Subject: [PATCH] net/sfc/base: refactor filter lookup loop in EF10

[ upstream commit ad3727f71f2aa75c8a102ad0e0a1c9e99840f45b ]

The code is refactored to make it more clear and allow for
more convenient further changes.

Fixes: e7cd430c864f ("net/sfc/base: import SFN7xxx family support")

Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
 drivers/net/sfc/base/ef10_filter.c | 80 ++++++++++++++----------------
 1 file changed, 38 insertions(+), 42 deletions(-)

diff --git a/drivers/net/sfc/base/ef10_filter.c b/drivers/net/sfc/base/ef10_filter.c
index afe4064d9f..7c8721a381 100644
--- a/drivers/net/sfc/base/ef10_filter.c
+++ b/drivers/net/sfc/base/ef10_filter.c
@@ -638,54 +638,50 @@ ef10_filter_add_internal(
 	 * we have to wait and retry.
 	 */
-	for (;;) {
-		ins_index = -1;
-		depth = 1;
-		EFSYS_LOCK(enp->en_eslp, state);
-		locked = B_TRUE;
+retry:
+	EFSYS_LOCK(enp->en_eslp, state);
+	locked = B_TRUE;
 
-		for (;;) {
-			i = (hash + depth) & (EFX_EF10_FILTER_TBL_ROWS - 1);
-			saved_spec = ef10_filter_entry_spec(eftp, i);
+	ins_index = -1;
 
-			if (!saved_spec) {
-				if (ins_index < 0) {
-					ins_index = i;
-				}
-			} else if (ef10_filter_equal(spec, saved_spec)) {
-				if (ef10_filter_entry_is_busy(eftp, i))
-					break;
-				if (saved_spec->efs_priority
-					    == EFX_FILTER_PRI_AUTO) {
-					ins_index = i;
-					goto found;
-				} else if (ef10_filter_is_exclusive(spec)) {
-					if (may_replace) {
-						ins_index = i;
-						goto found;
-					} else {
-						rc = EEXIST;
-						goto fail1;
-					}
-				}
+	for (depth = 1; depth <= EF10_FILTER_SEARCH_LIMIT; depth++) {
+		i = (hash + depth) & (EFX_EF10_FILTER_TBL_ROWS - 1);
+		saved_spec = ef10_filter_entry_spec(eftp, i);
 
-				/* Leave existing */
+		if (saved_spec == NULL) {
+			if (ins_index < 0)
+				ins_index = i;
+		} else if (ef10_filter_equal(spec, saved_spec)) {
+			if (ef10_filter_entry_is_busy(eftp, i)) {
+				EFSYS_UNLOCK(enp->en_eslp, state);
+				locked = B_FALSE;
+				goto retry;
 			}
 
-			/*
-			 * Once we reach the maximum search depth, use
-			 * the first suitable slot or return EBUSY if
-			 * there was none.
-			 */
-			if (depth == EF10_FILTER_SEARCH_LIMIT) {
-				if (ins_index < 0) {
-					rc = EBUSY;
-					goto fail2;
-				}
+			if (saved_spec->efs_priority == EFX_FILTER_PRI_AUTO) {
+				ins_index = i;
 				goto found;
 			}
-			depth++;
+
+			if (ef10_filter_is_exclusive(spec)) {
+				if (may_replace) {
+					ins_index = i;
+					goto found;
+				} else {
+					rc = EEXIST;
+					goto fail1;
+				}
+			}
+
+			/* Leave existing */
 		}
-		EFSYS_UNLOCK(enp->en_eslp, state);
-		locked = B_FALSE;
+	}
+
+	/*
+	 * Once we reach the maximum search depth, use the first suitable slot
+	 * or return EBUSY if there was none.
+	 */
+	if (ins_index < 0) {
+		rc = EBUSY;
+		goto fail2;
 	}
 
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:00.106602585 +0100
+++ 0018-net-sfc-base-refactor-filter-lookup-loop-in-EF10.patch	2020-05-28 17:12:59.069557124 +0100
@@ -1 +1 @@
-From ad3727f71f2aa75c8a102ad0e0a1c9e99840f45b Mon Sep 17 00:00:00 2001
+From 51e10ec173ad406b6f1e4a110f8e1de0eb169b36 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit ad3727f71f2aa75c8a102ad0e0a1c9e99840f45b ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index e4f8de51c0..5578765ab3 100644
+index afe4064d9f..7c8721a381 100644
@@ -22 +23 @@
-@@ -629,54 +629,50 @@ ef10_filter_add_internal(
+@@ -638,54 +638,50 @@ ef10_filter_add_internal(


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

* [dpdk-stable] patch 'net/sfc/base: handle manual and auto filter clashes in EF10' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (16 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/sfc/base: refactor filter lookup loop in EF10' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/mlx5: fix CVLAN tag set in IP item translation' " Kevin Traynor
                   ` (75 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Igor Romanov; +Cc: Andrew Rybchenko, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/55239b558d3af3efb2c2a81ed1e170a591961bd0

Thanks.

Kevin.

---
From 55239b558d3af3efb2c2a81ed1e170a591961bd0 Mon Sep 17 00:00:00 2001
From: Igor Romanov <igor.romanov@oktetlabs.ru>
Date: Tue, 10 Mar 2020 09:48:39 +0000
Subject: [PATCH] net/sfc/base: handle manual and auto filter clashes in EF10

[ upstream commit 585c22edb29cc3cfdb3628c41effd8ff3b75f224 ]

Make user filters a priority in EF10 datapath. When a manual
filter with a specification that is equal to an existing auto
filter is inserted, the manual filter:
- replaces auto filter if the specification is exclusive;
- is inserted along existing auto filter otherwise;

In the first case the auto filter that was replaced is saved.
This saved filter can be updated on filter reconfiguration and
is restored on the manual filter removal.

Fixes: e7cd430c864f ("net/sfc/base: import SFN7xxx family support")

Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
 drivers/net/sfc/base/ef10_filter.c | 519 ++++++++++++++++++++++-------
 drivers/net/sfc/base/ef10_impl.h   |   4 +-
 drivers/net/sfc/base/efx.h         |   7 +
 drivers/net/sfc/base/efx_filter.c  |  17 +-
 drivers/net/sfc/base/efx_impl.h    |  21 +-
 5 files changed, 437 insertions(+), 131 deletions(-)

diff --git a/drivers/net/sfc/base/ef10_filter.c b/drivers/net/sfc/base/ef10_filter.c
index 7c8721a381..38843207f6 100644
--- a/drivers/net/sfc/base/ef10_filter.c
+++ b/drivers/net/sfc/base/ef10_filter.c
@@ -598,4 +598,229 @@ fail1:
 }
 
+enum ef10_filter_add_action_e {
+	/* Insert a new filter */
+	EF10_FILTER_ADD_NEW,
+	/*
+	 * Replace old filter with a new, overriding the old one
+	 * if it has lower priority.
+	 */
+	EF10_FILTER_ADD_REPLACE,
+	/* Store new, lower priority filter as overridden by old filter */
+	EF10_FILTER_ADD_STORE,
+	/* Special case for AUTO filters, remove AUTO_OLD flag */
+	EF10_FILTER_ADD_REFRESH,
+};
+
+static	__checkReturn	efx_rc_t
+ef10_filter_add_lookup_equal_spec(
+	__in		efx_filter_spec_t *spec,
+	__in		efx_filter_spec_t *probe_spec,
+	__in		efx_filter_replacement_policy_t policy,
+	__out		boolean_t *found)
+{
+	efx_rc_t rc;
+
+	/* Refreshing AUTO filter */
+	if (spec->efs_priority == EFX_FILTER_PRI_AUTO &&
+	    probe_spec->efs_priority == EFX_FILTER_PRI_AUTO) {
+		*found = B_TRUE;
+		return (0);
+	}
+
+	/*
+	 * With exclusive filters, higher priority ones
+	 * override lower priority ones, and lower priority
+	 * ones are stored in case the higher priority one
+	 * is removed.
+	 */
+	if (ef10_filter_is_exclusive(spec)) {
+		switch (policy) {
+		case EFX_FILTER_REPLACEMENT_HIGHER_OR_EQUAL_PRIORITY:
+			if (spec->efs_priority == probe_spec->efs_priority) {
+				*found = B_TRUE;
+				break;
+			}
+			/* Fall-through */
+		case EFX_FILTER_REPLACEMENT_HIGHER_PRIORITY:
+			if (spec->efs_priority > probe_spec->efs_priority) {
+				*found = B_TRUE;
+				break;
+			}
+			/* Fall-through */
+		case EFX_FILTER_REPLACEMENT_NEVER:
+			/*
+			 * Lower priority filter needs to be
+			 * stored. It does *not* replace the
+			 * old one. That is why EEXIST is not
+			 * returned in that case.
+			 */
+			if (spec->efs_priority < probe_spec->efs_priority) {
+				*found = B_TRUE;
+				break;
+			} else {
+				rc = EEXIST;
+				goto fail1;
+			}
+		default:
+			EFSYS_ASSERT(0);
+			rc = EEXIST;
+			goto fail2;
+		}
+	} else {
+		*found = B_FALSE;
+	}
+
+	return (0);
+
+fail2:
+	EFSYS_PROBE(fail2);
+
+fail1:
+	EFSYS_PROBE1(fail1, efx_rc_t, rc);
+
+	return (rc);
+}
+
+
+static			void
+ef10_filter_add_select_action(
+	__in		efx_filter_spec_t *saved_spec,
+	__in		efx_filter_spec_t *spec,
+	__out		enum ef10_filter_add_action_e *action,
+	__out		efx_filter_spec_t **overridden_spec)
+{
+	efx_filter_spec_t *overridden = NULL;
+
+	if (saved_spec == NULL) {
+		*action = EF10_FILTER_ADD_NEW;
+	} else if (ef10_filter_is_exclusive(spec) == B_FALSE) {
+		/*
+		 * Non-exclusive filters are always stored in separate entries
+		 * in the table. The only case involving a saved spec is
+		 * refreshing an AUTO filter.
+		 */
+		EFSYS_ASSERT(saved_spec->efs_overridden_spec == NULL);
+		EFSYS_ASSERT(spec->efs_priority == EFX_FILTER_PRI_AUTO);
+		EFSYS_ASSERT(saved_spec->efs_priority == EFX_FILTER_PRI_AUTO);
+		*action = EF10_FILTER_ADD_REFRESH;
+	} else {
+		/* Exclusive filters stored in the same entry */
+		if (spec->efs_priority > saved_spec->efs_priority) {
+			/*
+			 * Insert a high priority filter over a lower priority
+			 * one. Only two priority levels are implemented, so
+			 * there must not already be an overridden filter.
+			 */
+			EFX_STATIC_ASSERT(EFX_FILTER_NPRI == 2);
+			EFSYS_ASSERT(saved_spec->efs_overridden_spec == NULL);
+			overridden = saved_spec;
+			*action = EF10_FILTER_ADD_REPLACE;
+		} else if (spec->efs_priority == saved_spec->efs_priority) {
+			/* Replace in-place or refresh an existing filter */
+			if (spec->efs_priority == EFX_FILTER_PRI_AUTO)
+				*action = EF10_FILTER_ADD_REFRESH;
+			else
+				*action = EF10_FILTER_ADD_REPLACE;
+		} else {
+			/*
+			 * Insert a lower priority filter, storing it in case
+			 * the higher priority filter is removed.
+			 *
+			 * Currently there are only two priority levels, so this
+			 * must be an AUTO filter.
+			 */
+			EFX_STATIC_ASSERT(EFX_FILTER_NPRI == 2);
+			EFSYS_ASSERT(spec->efs_priority == EFX_FILTER_PRI_AUTO);
+			if (saved_spec->efs_overridden_spec != NULL) {
+				*action = EF10_FILTER_ADD_REFRESH;
+			} else {
+				overridden = spec;
+				*action = EF10_FILTER_ADD_STORE;
+			}
+		}
+	}
+
+	*overridden_spec = overridden;
+}
+
+static	__checkReturn	efx_rc_t
+ef10_filter_add_execute_action(
+	__in		efx_nic_t *enp,
+	__in		efx_filter_spec_t *saved_spec,
+	__in		efx_filter_spec_t *spec,
+	__in		efx_filter_spec_t *overridden_spec,
+	__in		enum ef10_filter_add_action_e action,
+	__in		int ins_index)
+{
+	ef10_filter_table_t *eftp = enp->en_filter.ef_ef10_filter_table;
+	efsys_lock_state_t state;
+	efx_rc_t rc;
+
+	EFSYS_LOCK(enp->en_eslp, state);
+
+	if (action == EF10_FILTER_ADD_REFRESH) {
+		ef10_filter_set_entry_not_auto_old(eftp, ins_index);
+		goto out_unlock;
+	} else if (action == EF10_FILTER_ADD_STORE) {
+		EFSYS_ASSERT(overridden_spec != NULL);
+		saved_spec->efs_overridden_spec = overridden_spec;
+		goto out_unlock;
+	}
+
+	EFSYS_UNLOCK(enp->en_eslp, state);
+
+	switch (action) {
+	case EF10_FILTER_ADD_REPLACE:
+		/*
+		 * On replacing the filter handle may change after a
+		 * successful replace operation.
+		 */
+		rc = efx_mcdi_filter_op_add(enp, spec,
+		    MC_CMD_FILTER_OP_IN_OP_REPLACE,
+		    &eftp->eft_entry[ins_index].efe_handle);
+		break;
+	case EF10_FILTER_ADD_NEW:
+		if (ef10_filter_is_exclusive(spec)) {
+			rc = efx_mcdi_filter_op_add(enp, spec,
+			    MC_CMD_FILTER_OP_IN_OP_INSERT,
+			    &eftp->eft_entry[ins_index].efe_handle);
+		} else {
+			rc = efx_mcdi_filter_op_add(enp, spec,
+			    MC_CMD_FILTER_OP_IN_OP_SUBSCRIBE,
+			    &eftp->eft_entry[ins_index].efe_handle);
+		}
+		break;
+	default:
+		rc = EINVAL;
+		EFSYS_ASSERT(0);
+		break;
+	}
+	if (rc != 0)
+		goto fail1;
+
+	EFSYS_LOCK(enp->en_eslp, state);
+
+	if (action == EF10_FILTER_ADD_REPLACE) {
+		/* Update the fields that may differ */
+		saved_spec->efs_priority = spec->efs_priority;
+		saved_spec->efs_flags = spec->efs_flags;
+		saved_spec->efs_rss_context = spec->efs_rss_context;
+		saved_spec->efs_dmaq_id = spec->efs_dmaq_id;
+
+		if (overridden_spec != NULL)
+			saved_spec->efs_overridden_spec = overridden_spec;
+	}
+
+out_unlock:
+	EFSYS_UNLOCK(enp->en_eslp, state);
+
+	return (0);
+
+fail1:
+	EFSYS_PROBE1(fail1, efx_rc_t, rc);
+
+	return (rc);
+}
+
 /*
  * An arbitrary search limit for the software hash table. As per the linux net
@@ -608,15 +833,15 @@ ef10_filter_add_internal(
 	__in		efx_nic_t *enp,
 	__inout		efx_filter_spec_t *spec,
-	__in		boolean_t may_replace,
+	__in		efx_filter_replacement_policy_t policy,
 	__out_opt	uint32_t *filter_id)
 {
 	efx_rc_t rc;
 	ef10_filter_table_t *eftp = enp->en_filter.ef_ef10_filter_table;
+	enum ef10_filter_add_action_e action;
+	efx_filter_spec_t *overridden_spec = NULL;
 	efx_filter_spec_t *saved_spec;
 	uint32_t hash;
 	unsigned int depth;
 	int ins_index;
-	boolean_t replacing = B_FALSE;
-	unsigned int i;
 	efsys_lock_state_t state;
 	boolean_t locked = B_FALSE;
@@ -626,4 +851,6 @@ ef10_filter_add_internal(
 	    enp->en_family == EFX_FAMILY_MEDFORD2);
 
+	EFSYS_ASSERT(spec->efs_overridden_spec == NULL);
+
 	hash = ef10_filter_hash(spec);
 
@@ -645,12 +872,17 @@ retry:
 
 	for (depth = 1; depth <= EF10_FILTER_SEARCH_LIMIT; depth++) {
-		i = (hash + depth) & (EFX_EF10_FILTER_TBL_ROWS - 1);
-		saved_spec = ef10_filter_entry_spec(eftp, i);
+		unsigned int probe_index;
+		efx_filter_spec_t *probe_spec;
 
-		if (saved_spec == NULL) {
+		probe_index = (hash + depth) & (EFX_EF10_FILTER_TBL_ROWS - 1);
+		probe_spec = ef10_filter_entry_spec(eftp, probe_index);
+
+		if (probe_spec == NULL) {
 			if (ins_index < 0)
-				ins_index = i;
-		} else if (ef10_filter_equal(spec, saved_spec)) {
-			if (ef10_filter_entry_is_busy(eftp, i)) {
+				ins_index = probe_index;
+		} else if (ef10_filter_equal(spec, probe_spec)) {
+			boolean_t found;
+
+			if (ef10_filter_entry_is_busy(eftp, probe_index)) {
 				EFSYS_UNLOCK(enp->en_eslp, state);
 				locked = B_FALSE;
@@ -658,20 +890,13 @@ retry:
 			}
 
-			if (saved_spec->efs_priority == EFX_FILTER_PRI_AUTO) {
-				ins_index = i;
-				goto found;
-			}
+			rc = ef10_filter_add_lookup_equal_spec(spec,
+			    probe_spec, policy, &found);
+			if (rc != 0)
+				goto fail1;
 
-			if (ef10_filter_is_exclusive(spec)) {
-				if (may_replace) {
-					ins_index = i;
-					goto found;
-				} else {
-					rc = EEXIST;
-					goto fail1;
-				}
+			if (found != B_FALSE) {
+				ins_index = probe_index;
+				break;
 			}
-
-			/* Leave existing */
 		}
 	}
@@ -686,76 +911,59 @@ retry:
 	}
 
-found:
 	/*
-	 * Create a software table entry if necessary, and mark it
-	 * busy.  We might yet fail to insert, but any attempt to
-	 * insert a conflicting filter while we're waiting for the
-	 * firmware must find the busy entry.
+	 * Mark software table entry busy. We might yet fail to insert,
+	 * but any attempt to insert a conflicting filter while we're
+	 * waiting for the firmware must find the busy entry.
 	 */
+	ef10_filter_set_entry_busy(eftp, ins_index);
+
 	saved_spec = ef10_filter_entry_spec(eftp, ins_index);
-	if (saved_spec) {
-		if (saved_spec->efs_priority == EFX_FILTER_PRI_AUTO) {
-			/* This is a filter we are refreshing */
-			ef10_filter_set_entry_not_auto_old(eftp, ins_index);
-			goto out_unlock;
+	ef10_filter_add_select_action(saved_spec, spec, &action,
+	    &overridden_spec);
 
-		}
-		replacing = B_TRUE;
-	} else {
-		EFSYS_KMEM_ALLOC(enp->en_esip, sizeof (*spec), saved_spec);
-		if (!saved_spec) {
+	/*
+	 * Allocate a new filter if found entry is empty or
+	 * a filter should be overridden.
+	 */
+	if (overridden_spec != NULL || saved_spec == NULL) {
+		efx_filter_spec_t *new_spec;
+
+		EFSYS_UNLOCK(enp->en_eslp, state);
+		locked = B_FALSE;
+
+		EFSYS_KMEM_ALLOC(enp->en_esip, sizeof (*new_spec), new_spec);
+		if (new_spec == NULL) {
 			rc = ENOMEM;
+			overridden_spec = NULL;
 			goto fail3;
 		}
-		*saved_spec = *spec;
-		ef10_filter_set_entry(eftp, ins_index, saved_spec);
+
+		EFSYS_LOCK(enp->en_eslp, state);
+		locked = B_TRUE;
+
+		if (saved_spec == NULL) {
+			*new_spec = *spec;
+			ef10_filter_set_entry(eftp, ins_index, new_spec);
+		} else {
+			*new_spec = *overridden_spec;
+			overridden_spec = new_spec;
+		}
 	}
-	ef10_filter_set_entry_busy(eftp, ins_index);
 
 	EFSYS_UNLOCK(enp->en_eslp, state);
 	locked = B_FALSE;
 
-	/*
-	 * On replacing the filter handle may change after after a successful
-	 * replace operation.
-	 */
-	if (replacing) {
-		rc = efx_mcdi_filter_op_add(enp, spec,
-		    MC_CMD_FILTER_OP_IN_OP_REPLACE,
-		    &eftp->eft_entry[ins_index].efe_handle);
-	} else if (ef10_filter_is_exclusive(spec)) {
-		rc = efx_mcdi_filter_op_add(enp, spec,
-		    MC_CMD_FILTER_OP_IN_OP_INSERT,
-		    &eftp->eft_entry[ins_index].efe_handle);
-	} else {
-		rc = efx_mcdi_filter_op_add(enp, spec,
-		    MC_CMD_FILTER_OP_IN_OP_SUBSCRIBE,
-		    &eftp->eft_entry[ins_index].efe_handle);
-	}
-
+	rc = ef10_filter_add_execute_action(enp, saved_spec, spec,
+	    overridden_spec, action, ins_index);
 	if (rc != 0)
 		goto fail4;
 
-	EFSYS_LOCK(enp->en_eslp, state);
-	locked = B_TRUE;
-
-	if (replacing) {
-		/* Update the fields that may differ */
-		saved_spec->efs_priority = spec->efs_priority;
-		saved_spec->efs_flags = spec->efs_flags;
-		saved_spec->efs_rss_context = spec->efs_rss_context;
-		saved_spec->efs_dmaq_id = spec->efs_dmaq_id;
-	}
-
-	ef10_filter_set_entry_not_busy(eftp, ins_index);
-
-out_unlock:
-
-	EFSYS_UNLOCK(enp->en_eslp, state);
-	locked = B_FALSE;
-
 	if (filter_id)
 		*filter_id = ins_index;
 
+	EFSYS_LOCK(enp->en_eslp, state);
+	ef10_filter_set_entry_not_busy(eftp, ins_index);
+	EFSYS_UNLOCK(enp->en_eslp, state);
+
 	return (0);
 
@@ -763,14 +971,28 @@ fail4:
 	EFSYS_PROBE(fail4);
 
-	if (!replacing) {
-		EFSYS_KMEM_FREE(enp->en_esip, sizeof (*spec), saved_spec);
-		saved_spec = NULL;
+	EFSYS_ASSERT(locked == B_FALSE);
+	EFSYS_LOCK(enp->en_eslp, state);
+
+	if (action == EF10_FILTER_ADD_NEW) {
+		EFSYS_KMEM_FREE(enp->en_esip, sizeof (*spec),
+		    ef10_filter_entry_spec(eftp, ins_index));
+		ef10_filter_set_entry(eftp, ins_index, NULL);
 	}
-	ef10_filter_set_entry_not_busy(eftp, ins_index);
-	ef10_filter_set_entry(eftp, ins_index, NULL);
+
+	EFSYS_UNLOCK(enp->en_eslp, state);
+
+	if (overridden_spec != NULL)
+		EFSYS_KMEM_FREE(enp->en_esip, sizeof (*spec), overridden_spec);
 
 fail3:
 	EFSYS_PROBE(fail3);
 
+	EFSYS_ASSERT(locked == B_FALSE);
+	EFSYS_LOCK(enp->en_eslp, state);
+
+	ef10_filter_set_entry_not_busy(eftp, ins_index);
+
+	EFSYS_UNLOCK(enp->en_eslp, state);
+
 fail2:
 	EFSYS_PROBE(fail2);
@@ -789,9 +1011,9 @@ ef10_filter_add(
 	__in		efx_nic_t *enp,
 	__inout		efx_filter_spec_t *spec,
-	__in		boolean_t may_replace)
+	__in		enum efx_filter_replacement_policy_e policy)
 {
 	efx_rc_t rc;
 
-	rc = ef10_filter_add_internal(enp, spec, may_replace, NULL);
+	rc = ef10_filter_add_internal(enp, spec, policy, NULL);
 	if (rc != 0)
 		goto fail1;
@@ -805,9 +1027,13 @@ fail1:
 }
 
-
+/*
+ * Delete a filter by index from the filter table with priority
+ * that is not higher than specified.
+ */
 static	__checkReturn	efx_rc_t
 ef10_filter_delete_internal(
 	__in		efx_nic_t *enp,
-	__in		uint32_t filter_id)
+	__in		uint32_t filter_id,
+	__in		efx_filter_priority_t priority)
 {
 	efx_rc_t rc;
@@ -831,5 +1057,6 @@ ef10_filter_delete_internal(
 	}
 	if ((spec = ef10_filter_entry_spec(table, filter_idx)) != NULL) {
-		ef10_filter_set_entry_busy(table, filter_idx);
+		if (spec->efs_priority <= priority)
+			ef10_filter_set_entry_busy(table, filter_idx);
 	}
 	EFSYS_UNLOCK(enp->en_eslp, state);
@@ -840,30 +1067,52 @@ ef10_filter_delete_internal(
 	}
 
-	/*
-	 * Try to remove the hardware filter. This may fail if the MC has
-	 * rebooted (which frees all hardware filter resources).
-	 */
-	if (ef10_filter_is_exclusive(spec)) {
-		rc = efx_mcdi_filter_op_delete(enp,
-		    MC_CMD_FILTER_OP_IN_OP_REMOVE,
-		    &table->eft_entry[filter_idx].efe_handle);
+	if (spec->efs_priority > priority) {
+		/*
+		 * Applied filter stays, but overridden filter is removed since
+		 * next user request to delete the applied filter should not
+		 * restore outdated filter.
+		 */
+		if (spec->efs_overridden_spec != NULL) {
+			EFSYS_ASSERT(spec->efs_overridden_spec->efs_overridden_spec ==
+			    NULL);
+			EFSYS_KMEM_FREE(enp->en_esip, sizeof (*spec),
+			    spec->efs_overridden_spec);
+			spec->efs_overridden_spec = NULL;
+		}
 	} else {
-		rc = efx_mcdi_filter_op_delete(enp,
-		    MC_CMD_FILTER_OP_IN_OP_UNSUBSCRIBE,
-		    &table->eft_entry[filter_idx].efe_handle);
+		/*
+		 * Try to remove the hardware filter or replace it with the
+		 * saved automatic filter. This may fail if the MC has
+		 * rebooted (which frees all hardware filter resources).
+		 */
+		if (spec->efs_overridden_spec != NULL) {
+			rc = efx_mcdi_filter_op_add(enp,
+			    spec->efs_overridden_spec,
+			    MC_CMD_FILTER_OP_IN_OP_REPLACE,
+			    &table->eft_entry[filter_idx].efe_handle);
+		} else if (ef10_filter_is_exclusive(spec)) {
+			rc = efx_mcdi_filter_op_delete(enp,
+			    MC_CMD_FILTER_OP_IN_OP_REMOVE,
+			    &table->eft_entry[filter_idx].efe_handle);
+		} else {
+			rc = efx_mcdi_filter_op_delete(enp,
+			    MC_CMD_FILTER_OP_IN_OP_UNSUBSCRIBE,
+			    &table->eft_entry[filter_idx].efe_handle);
+		}
+
+		/* Free the software table entry */
+		EFSYS_LOCK(enp->en_eslp, state);
+		ef10_filter_set_entry_not_busy(table, filter_idx);
+		ef10_filter_set_entry(table, filter_idx,
+		    spec->efs_overridden_spec);
+		EFSYS_UNLOCK(enp->en_eslp, state);
+
+		EFSYS_KMEM_FREE(enp->en_esip, sizeof (*spec), spec);
+
+		/* Check result of hardware filter removal */
+		if (rc != 0)
+			goto fail2;
 	}
 
-	/* Free the software table entry */
-	EFSYS_LOCK(enp->en_eslp, state);
-	ef10_filter_set_entry_not_busy(table, filter_idx);
-	ef10_filter_set_entry(table, filter_idx, NULL);
-	EFSYS_UNLOCK(enp->en_eslp, state);
-
-	EFSYS_KMEM_FREE(enp->en_esip, sizeof (*spec), spec);
-
-	/* Check result of hardware filter removal */
-	if (rc != 0)
-		goto fail2;
-
 	return (0);
 
@@ -877,4 +1126,23 @@ fail1:
 }
 
+static			void
+ef10_filter_delete_auto(
+	__in		efx_nic_t *enp,
+	__in		uint32_t filter_id)
+{
+	ef10_filter_table_t *table = enp->en_filter.ef_ef10_filter_table;
+	uint32_t filter_idx = filter_id % EFX_EF10_FILTER_TBL_ROWS;
+
+	/*
+	 * AUTO_OLD flag is cleared since the auto filter that is to be removed
+	 * may not be the filter at the specified index itself, but the filter
+	 * that is overridden by it.
+	 */
+	ef10_filter_set_entry_not_auto_old(table, filter_idx);
+
+	(void) ef10_filter_delete_internal(enp, filter_idx,
+	    EFX_FILTER_PRI_AUTO);
+}
+
 	__checkReturn	efx_rc_t
 ef10_filter_delete(
@@ -918,5 +1186,5 @@ ef10_filter_delete(
 	locked = B_FALSE;
 
-	rc = ef10_filter_delete_internal(enp, i);
+	rc = ef10_filter_delete_internal(enp, i, EFX_FILTER_PRI_MANUAL);
 	if (rc != 0)
 		goto fail2;
@@ -1143,5 +1411,5 @@ ef10_filter_insert_unicast(
 		goto fail1;
 
-	rc = ef10_filter_add_internal(enp, &spec, B_TRUE,
+	rc = ef10_filter_add_internal(enp, &spec, EFX_FILTER_REPLACEMENT_NEVER,
 	    &eftp->eft_unicst_filter_indexes[eftp->eft_unicst_filter_count]);
 	if (rc != 0)
@@ -1177,5 +1445,5 @@ ef10_filter_insert_all_unicast(
 	if (rc != 0)
 		goto fail1;
-	rc = ef10_filter_add_internal(enp, &spec, B_TRUE,
+	rc = ef10_filter_add_internal(enp, &spec, EFX_FILTER_REPLACEMENT_NEVER,
 	    &eftp->eft_unicst_filter_indexes[eftp->eft_unicst_filter_count]);
 	if (rc != 0)
@@ -1247,6 +1515,6 @@ ef10_filter_insert_multicast_list(
 		}
 
-		rc = ef10_filter_add_internal(enp, &spec, B_TRUE,
-					    &filter_index);
+		rc = ef10_filter_add_internal(enp, &spec,
+		    EFX_FILTER_REPLACEMENT_NEVER, &filter_index);
 
 		if (rc == 0) {
@@ -1275,6 +1543,6 @@ ef10_filter_insert_multicast_list(
 		}
 
-		rc = ef10_filter_add_internal(enp, &spec, B_TRUE,
-					    &filter_index);
+		rc = ef10_filter_add_internal(enp, &spec,
+		    EFX_FILTER_REPLACEMENT_NEVER, &filter_index);
 
 		if (rc == 0) {
@@ -1297,5 +1565,5 @@ rollback:
 	i = filter_count;
 	while (i--) {
-		(void) ef10_filter_delete_internal(enp,
+		ef10_filter_delete_auto(enp,
 		    eftp->eft_mulcst_filter_indexes[i]);
 	}
@@ -1325,5 +1593,5 @@ ef10_filter_insert_all_multicast(
 		goto fail1;
 
-	rc = ef10_filter_add_internal(enp, &spec, B_TRUE,
+	rc = ef10_filter_add_internal(enp, &spec, EFX_FILTER_REPLACEMENT_NEVER,
 	    &eftp->eft_mulcst_filter_indexes[0]);
 	if (rc != 0)
@@ -1428,6 +1696,7 @@ ef10_filter_insert_encap_filters(
 			goto fail1;
 
-		rc = ef10_filter_add_internal(enp, &spec, B_TRUE,
-			    &table->eft_encap_filter_indexes[
+		rc = ef10_filter_add_internal(enp, &spec,
+		    EFX_FILTER_REPLACEMENT_NEVER,
+		    &table->eft_encap_filter_indexes[
 				    table->eft_encap_filter_count]);
 		if (rc != 0) {
@@ -1458,5 +1727,5 @@ ef10_filter_remove_old(
 	for (i = 0; i < EFX_ARRAY_SIZE(table->eft_entry); i++) {
 		if (ef10_filter_entry_is_auto_old(table, i)) {
-			(void) ef10_filter_delete_internal(enp, i);
+			ef10_filter_delete_auto(enp, i);
 		}
 	}
@@ -1533,5 +1802,5 @@ ef10_filter_reconfigure(
 		 */
 		for (i = 0; i < table->eft_unicst_filter_count; i++) {
-			(void) ef10_filter_delete_internal(enp,
+			ef10_filter_delete_auto(enp,
 					table->eft_unicst_filter_indexes[i]);
 		}
@@ -1539,5 +1808,5 @@ ef10_filter_reconfigure(
 
 		for (i = 0; i < table->eft_mulcst_filter_count; i++) {
-			(void) ef10_filter_delete_internal(enp,
+			ef10_filter_delete_auto(enp,
 					table->eft_mulcst_filter_indexes[i]);
 		}
@@ -1545,5 +1814,5 @@ ef10_filter_reconfigure(
 
 		for (i = 0; i < table->eft_encap_filter_count; i++) {
-			(void) ef10_filter_delete_internal(enp,
+			ef10_filter_delete_auto(enp,
 					table->eft_encap_filter_indexes[i]);
 		}
diff --git a/drivers/net/sfc/base/ef10_impl.h b/drivers/net/sfc/base/ef10_impl.h
index 6f5d0f9aae..4183325c0f 100644
--- a/drivers/net/sfc/base/ef10_impl.h
+++ b/drivers/net/sfc/base/ef10_impl.h
@@ -1031,4 +1031,6 @@ ef10_rx_fini(
 #if EFSYS_OPT_FILTER
 
+enum efx_filter_replacement_policy_e;
+
 typedef struct ef10_filter_handle_s {
 	uint32_t	efh_lo;
@@ -1100,5 +1102,5 @@ ef10_filter_add(
 	__in		efx_nic_t *enp,
 	__inout		efx_filter_spec_t *spec,
-	__in		boolean_t may_replace);
+	__in		enum efx_filter_replacement_policy_e policy);
 
 	__checkReturn	efx_rc_t
diff --git a/drivers/net/sfc/base/efx.h b/drivers/net/sfc/base/efx.h
index 93d8580d04..9babf8d40b 100644
--- a/drivers/net/sfc/base/efx.h
+++ b/drivers/net/sfc/base/efx.h
@@ -2868,4 +2868,5 @@ typedef uint8_t efx_filter_flags_t;
 typedef uint32_t efx_filter_match_flags_t;
 
+/* Filter priority from lowest to highest */
 typedef enum efx_filter_priority_s {
 	EFX_FILTER_PRI_AUTO = 0,	/* Automatic filter based on device
@@ -2875,4 +2876,5 @@ typedef enum efx_filter_priority_s {
 					 * each NIC type. */
 	EFX_FILTER_PRI_MANUAL,		/* Manually configured filter */
+	EFX_FILTER_NPRI,
 } efx_filter_priority_t;
 
@@ -2889,4 +2891,9 @@ typedef struct efx_filter_spec_s {
 	uint32_t			efs_rss_context;
 	uint32_t			efs_mark;
+	/*
+	 * Saved lower-priority filter. If it is set, it is restored on
+	 * filter delete operation.
+	 */
+	struct efx_filter_spec_s	*efs_overridden_spec;
 	/* Fields below here are hashed for software filter lookup */
 	uint16_t			efs_outer_vid;
diff --git a/drivers/net/sfc/base/efx_filter.c b/drivers/net/sfc/base/efx_filter.c
index 9e53af7538..f70717cbc2 100644
--- a/drivers/net/sfc/base/efx_filter.c
+++ b/drivers/net/sfc/base/efx_filter.c
@@ -29,5 +29,5 @@ siena_filter_add(
 	__in		efx_nic_t *enp,
 	__inout		efx_filter_spec_t *spec,
-	__in		boolean_t may_replace);
+	__in		efx_filter_replacement_policy_t policy);
 
 static	__checkReturn	efx_rc_t
@@ -99,5 +99,6 @@ efx_filter_insert(
 	}
 
-	return (efop->efo_add(enp, spec, B_FALSE));
+	return (efop->efo_add(enp, spec,
+	    EFX_FILTER_REPLACEMENT_HIGHER_PRIORITY));
 
 fail3:
@@ -1445,5 +1446,5 @@ siena_filter_add(
 	__in		efx_nic_t *enp,
 	__inout		efx_filter_spec_t *spec,
-	__in		boolean_t may_replace)
+	__in		efx_filter_replacement_policy_t policy)
 {
 	efx_rc_t rc;
@@ -1486,7 +1487,15 @@ siena_filter_add(
 
 	if (siena_filter_test_used(sftp, filter_idx)) {
-		if (may_replace == B_FALSE) {
+		/* All Siena filter are considered the same priority */
+		switch (policy) {
+		case EFX_FILTER_REPLACEMENT_NEVER:
+		case EFX_FILTER_REPLACEMENT_HIGHER_PRIORITY:
 			rc = EEXIST;
 			goto fail4;
+		case EFX_FILTER_REPLACEMENT_HIGHER_OR_EQUAL_PRIORITY:
+			break;
+		default:
+			EFSYS_ASSERT(0);
+			break;
 		}
 	}
diff --git a/drivers/net/sfc/base/efx_impl.h b/drivers/net/sfc/base/efx_impl.h
index bad23f8198..a61b9460f0 100644
--- a/drivers/net/sfc/base/efx_impl.h
+++ b/drivers/net/sfc/base/efx_impl.h
@@ -241,4 +241,23 @@ typedef struct efx_phy_ops_s {
 
 #if EFSYS_OPT_FILTER
+
+/*
+ * Policy for replacing existing filter when inserting a new one.
+ * Note that all policies allow for storing the new lower priority
+ * filters as overridden by existing higher priority ones. It is needed
+ * to restore the lower priority filters on higher priority ones removal.
+ */
+typedef enum efx_filter_replacement_policy_e {
+	/* Cannot replace existing filter */
+	EFX_FILTER_REPLACEMENT_NEVER,
+	/* Higher priority filters can replace lower priotiry ones */
+	EFX_FILTER_REPLACEMENT_HIGHER_PRIORITY,
+	/*
+	 * Higher priority filters can replace lower priority ones and
+	 * equal priority filters can replace each other.
+	 */
+	EFX_FILTER_REPLACEMENT_HIGHER_OR_EQUAL_PRIORITY,
+} efx_filter_replacement_policy_t;
+
 typedef struct efx_filter_ops_s {
 	efx_rc_t	(*efo_init)(efx_nic_t *);
@@ -246,5 +265,5 @@ typedef struct efx_filter_ops_s {
 	efx_rc_t	(*efo_restore)(efx_nic_t *);
 	efx_rc_t	(*efo_add)(efx_nic_t *, efx_filter_spec_t *,
-				   boolean_t may_replace);
+				   efx_filter_replacement_policy_t policy);
 	efx_rc_t	(*efo_delete)(efx_nic_t *, efx_filter_spec_t *);
 	efx_rc_t	(*efo_supported_filters)(efx_nic_t *, uint32_t *,
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:00.157128670 +0100
+++ 0019-net-sfc-base-handle-manual-and-auto-filter-clashes-i.patch	2020-05-28 17:12:59.077556943 +0100
@@ -1 +1 @@
-From 585c22edb29cc3cfdb3628c41effd8ff3b75f224 Mon Sep 17 00:00:00 2001
+From 55239b558d3af3efb2c2a81ed1e170a591961bd0 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 585c22edb29cc3cfdb3628c41effd8ff3b75f224 ]
+
@@ -17 +18,0 @@
-Cc: stable@dpdk.org
@@ -30 +31 @@
-index 5578765ab3..12802a3d13 100644
+index 7c8721a381..38843207f6 100644
@@ -33 +34 @@
-@@ -591,4 +591,229 @@ fail1:
+@@ -598,4 +598,229 @@ fail1:
@@ -263 +264 @@
-@@ -601,15 +826,15 @@ ef10_filter_add_internal(
+@@ -608,15 +833,15 @@ ef10_filter_add_internal(
@@ -282,2 +283,2 @@
-@@ -617,4 +842,6 @@ ef10_filter_add_internal(
- 	EFSYS_ASSERT(EFX_FAMILY_IS_EF10(enp));
+@@ -626,4 +851,6 @@ ef10_filter_add_internal(
+ 	    enp->en_family == EFX_FAMILY_MEDFORD2);
@@ -289 +290 @@
-@@ -636,12 +863,17 @@ retry:
+@@ -645,12 +872,17 @@ retry:
@@ -313 +314 @@
-@@ -649,20 +881,13 @@ retry:
+@@ -658,20 +890,13 @@ retry:
@@ -341 +342 @@
-@@ -677,76 +902,59 @@ retry:
+@@ -686,76 +911,59 @@ retry:
@@ -455 +456 @@
-@@ -754,14 +962,28 @@ fail4:
+@@ -763,14 +971,28 @@ fail4:
@@ -489 +490 @@
-@@ -780,9 +1002,9 @@ ef10_filter_add(
+@@ -789,9 +1011,9 @@ ef10_filter_add(
@@ -501 +502 @@
-@@ -796,9 +1018,13 @@ fail1:
+@@ -805,9 +1027,13 @@ fail1:
@@ -517 +518 @@
-@@ -822,5 +1048,6 @@ ef10_filter_delete_internal(
+@@ -831,5 +1057,6 @@ ef10_filter_delete_internal(
@@ -525 +526 @@
-@@ -831,30 +1058,52 @@ ef10_filter_delete_internal(
+@@ -840,30 +1067,52 @@ ef10_filter_delete_internal(
@@ -601 +602 @@
-@@ -868,4 +1117,23 @@ fail1:
+@@ -877,4 +1126,23 @@ fail1:
@@ -625 +626 @@
-@@ -907,5 +1175,5 @@ ef10_filter_delete(
+@@ -918,5 +1186,5 @@ ef10_filter_delete(
@@ -632 +633 @@
-@@ -1132,5 +1400,5 @@ ef10_filter_insert_unicast(
+@@ -1143,5 +1411,5 @@ ef10_filter_insert_unicast(
@@ -639 +640 @@
-@@ -1166,5 +1434,5 @@ ef10_filter_insert_all_unicast(
+@@ -1177,5 +1445,5 @@ ef10_filter_insert_all_unicast(
@@ -646 +647 @@
-@@ -1236,6 +1504,6 @@ ef10_filter_insert_multicast_list(
+@@ -1247,6 +1515,6 @@ ef10_filter_insert_multicast_list(
@@ -655 +656 @@
-@@ -1264,6 +1532,6 @@ ef10_filter_insert_multicast_list(
+@@ -1275,6 +1543,6 @@ ef10_filter_insert_multicast_list(
@@ -664 +665 @@
-@@ -1286,5 +1554,5 @@ rollback:
+@@ -1297,5 +1565,5 @@ rollback:
@@ -671 +672 @@
-@@ -1314,5 +1582,5 @@ ef10_filter_insert_all_multicast(
+@@ -1325,5 +1593,5 @@ ef10_filter_insert_all_multicast(
@@ -678 +679 @@
-@@ -1417,6 +1685,7 @@ ef10_filter_insert_encap_filters(
+@@ -1428,6 +1696,7 @@ ef10_filter_insert_encap_filters(
@@ -688 +689 @@
-@@ -1447,5 +1716,5 @@ ef10_filter_remove_old(
+@@ -1458,5 +1727,5 @@ ef10_filter_remove_old(
@@ -695 +696 @@
-@@ -1522,5 +1791,5 @@ ef10_filter_reconfigure(
+@@ -1533,5 +1802,5 @@ ef10_filter_reconfigure(
@@ -702 +703 @@
-@@ -1528,5 +1797,5 @@ ef10_filter_reconfigure(
+@@ -1539,5 +1808,5 @@ ef10_filter_reconfigure(
@@ -709 +710 @@
-@@ -1534,5 +1803,5 @@ ef10_filter_reconfigure(
+@@ -1545,5 +1814,5 @@ ef10_filter_reconfigure(
@@ -717 +718 @@
-index 7a00047829..67abf3b853 100644
+index 6f5d0f9aae..4183325c0f 100644
@@ -720 +721 @@
-@@ -1080,4 +1080,6 @@ ef10_rx_fini(
+@@ -1031,4 +1031,6 @@ ef10_rx_fini(
@@ -727 +728 @@
-@@ -1149,5 +1151,5 @@ ef10_filter_add(
+@@ -1100,5 +1102,5 @@ ef10_filter_add(
@@ -735 +736 @@
-index c609c700fa..d94d3c02f7 100644
+index 93d8580d04..9babf8d40b 100644
@@ -738 +739 @@
-@@ -2950,4 +2950,5 @@ typedef uint8_t efx_filter_flags_t;
+@@ -2868,4 +2868,5 @@ typedef uint8_t efx_filter_flags_t;
@@ -744 +745 @@
-@@ -2957,4 +2958,5 @@ typedef enum efx_filter_priority_s {
+@@ -2875,4 +2876,5 @@ typedef enum efx_filter_priority_s {
@@ -750 +751 @@
-@@ -2971,4 +2973,9 @@ typedef struct efx_filter_spec_s {
+@@ -2889,4 +2891,9 @@ typedef struct efx_filter_spec_s {
@@ -761 +762 @@
-index 36332a2801..9949d05bb3 100644
+index 9e53af7538..f70717cbc2 100644
@@ -804 +805 @@
-index 85d984f651..9755f4dfd2 100644
+index bad23f8198..a61b9460f0 100644
@@ -807 +808 @@
-@@ -247,4 +247,23 @@ typedef struct efx_phy_ops_s {
+@@ -241,4 +241,23 @@ typedef struct efx_phy_ops_s {
@@ -831 +832 @@
-@@ -252,5 +271,5 @@ typedef struct efx_filter_ops_s {
+@@ -246,5 +265,5 @@ typedef struct efx_filter_ops_s {


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

* [dpdk-stable] patch 'net/mlx5: fix CVLAN tag set in IP item translation' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (17 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/sfc/base: handle manual and auto filter clashes " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'contigmem: cleanup properly when load fails' " Kevin Traynor
                   ` (74 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Dekel Peled; +Cc: Matan Azrad, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/87bfc24e13a80da6b40cd44c2d080f534f53a0dd

Thanks.

Kevin.

---
From 87bfc24e13a80da6b40cd44c2d080f534f53a0dd Mon Sep 17 00:00:00 2001
From: Dekel Peled <dekelp@mellanox.com>
Date: Mon, 16 Mar 2020 10:57:39 +0200
Subject: [PATCH] net/mlx5: fix CVLAN tag set in IP item translation

[ upstream commit 1908cab425e4206321fb3f62688f9e1f92b36f6a ]

Previous fix added, at the end of functions
flow_dv_translate_item_ipv4() and flow_dv_translate_item_ipv6(), the
setting of cvlan_tag mask.
In the case of unspecified item (item->spec == null) these functions
return, and the new code section is not reached.

This patch moves the setting of cvlan_tag mask to be done before the
check of item->spec, to make sure it is always executed.

Fixes: 797329d6c4a1 ("net/mlx5: fix match on ethertype and CVLAN tag")

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
---
 drivers/net/mlx5/mlx5_flow_dv.c | 26 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
index 54b8770ffc..2586728afa 100644
--- a/drivers/net/mlx5/mlx5_flow_dv.c
+++ b/drivers/net/mlx5/mlx5_flow_dv.c
@@ -1308,4 +1308,11 @@ flow_dv_translate_item_ipv4(void *matcher, void *key,
 	MLX5_SET(fte_match_set_lyr_2_4, headers_m, ip_version, 0xf);
 	MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_version, 4);
+	/*
+	 * On outer header (which must contains L2), or inner header with L2,
+	 * set cvlan_tag mask bit to mark this packet as untagged.
+	 * This should be done even if item->spec is empty.
+	 */
+	if (!inner || item_flags & MLX5_FLOW_LAYER_INNER_L2)
+		MLX5_SET(fte_match_set_lyr_2_4, headers_m, cvlan_tag, 1);
 	if (!ipv4_v)
 		return;
@@ -1335,10 +1342,4 @@ flow_dv_translate_item_ipv4(void *matcher, void *key,
 	MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_protocol,
 		 ipv4_v->hdr.next_proto_id & ipv4_m->hdr.next_proto_id);
-	/*
-	 * On outer header (which must contains L2), or inner header with L2,
-	 * set cvlan_tag mask bit to mark this packet as untagged.
-	 */
-	if (!inner || item_flags & MLX5_FLOW_LAYER_INNER_L2)
-		MLX5_SET(fte_match_set_lyr_2_4, headers_m, cvlan_tag, 1);
 }
 
@@ -1400,4 +1401,11 @@ flow_dv_translate_item_ipv6(void *matcher, void *key,
 	MLX5_SET(fte_match_set_lyr_2_4, headers_m, ip_version, 0xf);
 	MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_version, 6);
+	/*
+	 * On outer header (which must contains L2), or inner header with L2,
+	 * set cvlan_tag mask bit to mark this packet as untagged.
+	 * This should be done even if item->spec is empty.
+	 */
+	if (!inner || item_flags & MLX5_FLOW_LAYER_INNER_L2)
+		MLX5_SET(fte_match_set_lyr_2_4, headers_m, cvlan_tag, 1);
 	if (!ipv6_v)
 		return;
@@ -1443,10 +1451,4 @@ flow_dv_translate_item_ipv6(void *matcher, void *key,
 	MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_protocol,
 		 ipv6_v->hdr.proto & ipv6_m->hdr.proto);
-	/*
-	 * On outer header (which must contains L2), or inner header with L2,
-	 * set cvlan_tag mask bit to mark this packet as untagged.
-	 */
-	if (!inner || item_flags & MLX5_FLOW_LAYER_INNER_L2)
-		MLX5_SET(fte_match_set_lyr_2_4, headers_m, cvlan_tag, 1);
 }
 
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:00.214273729 +0100
+++ 0020-net-mlx5-fix-CVLAN-tag-set-in-IP-item-translation.patch	2020-05-28 17:12:59.080556875 +0100
@@ -1 +1 @@
-From 1908cab425e4206321fb3f62688f9e1f92b36f6a Mon Sep 17 00:00:00 2001
+From 87bfc24e13a80da6b40cd44c2d080f534f53a0dd Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 1908cab425e4206321fb3f62688f9e1f92b36f6a ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index e2d6690fa8..20906318ee 100644
+index 54b8770ffc..2586728afa 100644
@@ -28,2 +29,2 @@
-@@ -5465,4 +5465,11 @@ flow_dv_translate_item_ipv4(void *matcher, void *key,
- 		MLX5_SET(fte_match_set_lyr_2_4, headers_m, ip_version, 0x4);
+@@ -1308,4 +1308,11 @@ flow_dv_translate_item_ipv4(void *matcher, void *key,
+ 	MLX5_SET(fte_match_set_lyr_2_4, headers_m, ip_version, 0xf);
@@ -40,3 +41,3 @@
-@@ -5496,10 +5503,4 @@ flow_dv_translate_item_ipv4(void *matcher, void *key,
- 	MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_ttl_hoplimit,
- 		 ipv4_v->hdr.time_to_live & ipv4_m->hdr.time_to_live);
+@@ -1335,10 +1342,4 @@ flow_dv_translate_item_ipv4(void *matcher, void *key,
+ 	MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_protocol,
+ 		 ipv4_v->hdr.next_proto_id & ipv4_m->hdr.next_proto_id);
@@ -51,2 +52,2 @@
-@@ -5566,4 +5567,11 @@ flow_dv_translate_item_ipv6(void *matcher, void *key,
- 		MLX5_SET(fte_match_set_lyr_2_4, headers_m, ip_version, 0x6);
+@@ -1400,4 +1401,11 @@ flow_dv_translate_item_ipv6(void *matcher, void *key,
+ 	MLX5_SET(fte_match_set_lyr_2_4, headers_m, ip_version, 0xf);
@@ -63,3 +64,3 @@
-@@ -5614,10 +5622,4 @@ flow_dv_translate_item_ipv6(void *matcher, void *key,
- 	MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_ttl_hoplimit,
- 		 ipv6_v->hdr.hop_limits & ipv6_m->hdr.hop_limits);
+@@ -1443,10 +1451,4 @@ flow_dv_translate_item_ipv6(void *matcher, void *key,
+ 	MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_protocol,
+ 		 ipv6_v->hdr.proto & ipv6_m->hdr.proto);


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

* [dpdk-stable] patch 'contigmem: cleanup properly when load fails' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (18 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/mlx5: fix CVLAN tag set in IP item translation' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'devtools: fix symbol map change check' " Kevin Traynor
                   ` (73 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Jim Harris; +Cc: Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/98eab96f8f905f4c5dbf9c5fde058d06cb805835

Thanks.

Kevin.

---
From 98eab96f8f905f4c5dbf9c5fde058d06cb805835 Mon Sep 17 00:00:00 2001
From: Jim Harris <james.r.harris@intel.com>
Date: Mon, 9 Mar 2020 03:00:25 -0700
Subject: [PATCH] contigmem: cleanup properly when load fails

[ upstream commit 3df951337441cc6b7bb99996e0acf185d4aa52c5 ]

If contigmem is not able to allocate all of the
requested buffers, it frees whatever buffers were
able to be allocated up until that point.

But the pointers are not set to NULL in that case.
After the load fails, the FreeBSD kernel will
immediately call the contigmem unload handler, which
tries to free the buffers again since the pointers
were not set to NULL.

It's not clear that we should just rely on the unload
handler getting called after load failure. So let's
keep the existing cleanup code in the load handler,
but explicitly set the pointers to NULL after freeing
them.

Fixes: 5f51eca22489 ("contigmem: free allocated memory on error")

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 kernel/freebsd/contigmem/contigmem.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/kernel/freebsd/contigmem/contigmem.c b/kernel/freebsd/contigmem/contigmem.c
index 64e0a7fecd..abb76f241e 100644
--- a/kernel/freebsd/contigmem/contigmem.c
+++ b/kernel/freebsd/contigmem/contigmem.c
@@ -166,7 +166,9 @@ contigmem_load()
 error:
 	for (i = 0; i < contigmem_num_buffers; i++) {
-		if (contigmem_buffers[i].addr != NULL)
+		if (contigmem_buffers[i].addr != NULL) {
 			contigfree(contigmem_buffers[i].addr,
 				contigmem_buffer_size, M_CONTIGMEM);
+			contigmem_buffers[i].addr = NULL;
+		}
 		if (mtx_initialized(&contigmem_buffers[i].mtx))
 			mtx_destroy(&contigmem_buffers[i].mtx);
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:00.269224835 +0100
+++ 0021-contigmem-cleanup-properly-when-load-fails.patch	2020-05-28 17:12:59.080556875 +0100
@@ -1 +1 @@
-From 3df951337441cc6b7bb99996e0acf185d4aa52c5 Mon Sep 17 00:00:00 2001
+From 98eab96f8f905f4c5dbf9c5fde058d06cb805835 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3df951337441cc6b7bb99996e0acf185d4aa52c5 ]
+
@@ -23 +24,0 @@
-Cc: stable@dpdk.org
@@ -32 +33 @@
-index 7ea0bc6177..bd72f4d620 100644
+index 64e0a7fecd..abb76f241e 100644


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

* [dpdk-stable] patch 'devtools: fix symbol map change check' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (19 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'contigmem: cleanup properly when load fails' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'test: skip some subtests in no-huge mode' " Kevin Traynor
                   ` (72 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Nithin Dabilpuram; +Cc: David Marchand, Neil Horman, Jerin Jacob, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/58dfa26fe2aaf88f7fb5429ee1f21e4230e61922

Thanks.

Kevin.

---
From 58dfa26fe2aaf88f7fb5429ee1f21e4230e61922 Mon Sep 17 00:00:00 2001
From: Nithin Dabilpuram <ndabilpuram@marvell.com>
Date: Mon, 23 Mar 2020 17:26:13 +0530
Subject: [PATCH] devtools: fix symbol map change check

[ upstream commit f08885494f241b115ad66763b585fbfb486d5160 ]

Fix check symbol change script to detect new diff file when
it is in between  "--- /dev/null" to "b/lib/...".
Current awk line expects line to start with "a/..."
which is not always true for all diffs.
As a result if in_map was '1' earlier, it will not be changed
to '0' and we get check patch errors which are not true.

Fixes: 4bec48184e33 ("devtools: add checks for ABI symbol addition")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Tested-by: Jerin Jacob <jerinj@marvell.com>
---
 devtools/check-symbol-change.sh | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/devtools/check-symbol-change.sh b/devtools/check-symbol-change.sh
index f6f79a883b..2d4f05fdd2 100755
--- a/devtools/check-symbol-change.sh
+++ b/devtools/check-symbol-change.sh
@@ -18,11 +18,9 @@ build_map_changes()
 		# appearing between a triggering of this rule and the
 		# next trigger of this rule are associated with this file
-		/[-+] a\/.*\.map/ {map=$2; in_map=1}
+		/[-+] [ab]\/.*\.map/ {map=$2; in_map=1; next}
 
-		# Same pattern as above, only it matches on anything that
-		# does not end in 'map', indicating we have left the map chunk.
-		# When we hit this, turn off the in_map variable, which
-		# supresses the subordonate rules below
-		/[-+] a\/.*\.[^map]/ {in_map=0}
+		# The previous rule catches all .map files, anything else
+		# indicates we left the map chunk.
+		/[-+] [ab]\// {in_map=0}
 
 		# Triggering this rule, which starts a line and ends it
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:00.320678360 +0100
+++ 0022-devtools-fix-symbol-map-change-check.patch	2020-05-28 17:12:59.081556853 +0100
@@ -1 +1 @@
-From f08885494f241b115ad66763b585fbfb486d5160 Mon Sep 17 00:00:00 2001
+From 58dfa26fe2aaf88f7fb5429ee1f21e4230e61922 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit f08885494f241b115ad66763b585fbfb486d5160 ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index c5434f3bb0..ed2178e36e 100755
+index f6f79a883b..2d4f05fdd2 100755


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

* [dpdk-stable] patch 'test: skip some subtests in no-huge mode' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (20 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'devtools: fix symbol map change check' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'test/kvargs: fix to consider empty elements as valid' " Kevin Traynor
                   ` (71 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Ruifeng Wang; +Cc: Gavin Hu, Aaron Conole, Yipeng Wang, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/17ee228d0a1f677a92b86c39cccf4a19d7e75c21

Thanks.

Kevin.

---
From 17ee228d0a1f677a92b86c39cccf4a19d7e75c21 Mon Sep 17 00:00:00 2001
From: Ruifeng Wang <ruifeng.wang@arm.com>
Date: Mon, 23 Mar 2020 20:59:23 +0100
Subject: [PATCH] test: skip some subtests in no-huge mode

[ upstream commit 27fb5dd2850c60b46660b93c2fe14da6841b142c ]

When running with '--no-huge' flag, tests failed with messages as:
    ACL context creation with invalid NUMA should have failed!
    fbk hash creation should have failed
    test_table_pipeline: Check pipeline invalid params failed.

These cases test against invalid socket ID as input parameter, and
expect error return. But function calls return success because
invalid sock ID is overwritten to SOCKET_ID_ANY when in no-huge mode.

The tests against invalid socket ID are skipped in no-huge mode.

Fixes: 5640171c528a ("malloc: fix external heap allocation in no-huge mode")

Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
Acked-by: Aaron Conole <aconole@redhat.com>
Acked-by: Yipeng Wang <yipeng1.wang@intel.com>
---
 test/test/test_acl.c            | 20 +++++++++++---------
 test/test/test_hash.c           |  7 +++++--
 test/test/test_table_pipeline.c | 12 +++++++-----
 3 files changed, 23 insertions(+), 16 deletions(-)

diff --git a/test/test/test_acl.c b/test/test/test_acl.c
index b1f75d1bc7..4fedcf446f 100644
--- a/test/test/test_acl.c
+++ b/test/test/test_acl.c
@@ -1395,14 +1395,16 @@ test_invalid_parameters(void)
 		rte_acl_free(acx);
 
-	/* invalid NUMA node */
-	memcpy(&param, &acl_param, sizeof(param));
-	param.socket_id = RTE_MAX_NUMA_NODES + 1;
+	if (rte_eal_has_hugepages()) {
+		/* invalid NUMA node */
+		memcpy(&param, &acl_param, sizeof(param));
+		param.socket_id = RTE_MAX_NUMA_NODES + 1;
 
-	acx = rte_acl_create(&param);
-	if (acx != NULL) {
-		printf("Line %i: ACL context creation with invalid NUMA "
-				"should have failed!\n", __LINE__);
-		rte_acl_free(acx);
-		return -1;
+		acx = rte_acl_create(&param);
+		if (acx != NULL) {
+			printf("Line %i: ACL context creation with invalid "
+					"NUMA should have failed!\n", __LINE__);
+			rte_acl_free(acx);
+			return -1;
+		}
 	}
 
diff --git a/test/test/test_hash.c b/test/test/test_hash.c
index fe607fadf2..ea711b1f10 100644
--- a/test/test/test_hash.c
+++ b/test/test/test_hash.c
@@ -1047,6 +1047,9 @@ fbk_hash_unit_test(void)
 	RETURN_IF_ERROR_FBK(handle != NULL, "fbk hash creation should have failed");
 
-	handle = rte_fbk_hash_create(&invalid_params_8);
-	RETURN_IF_ERROR_FBK(handle != NULL, "fbk hash creation should have failed");
+	if (rte_eal_has_hugepages()) {
+		handle = rte_fbk_hash_create(&invalid_params_8);
+		RETURN_IF_ERROR_FBK(handle != NULL,
+					"fbk hash creation should have failed");
+	}
 
 	handle = rte_fbk_hash_create(&invalid_params_same_name_1);
diff --git a/test/test/test_table_pipeline.c b/test/test/test_table_pipeline.c
index 441338ac01..bc412c3081 100644
--- a/test/test/test_table_pipeline.c
+++ b/test/test/test_table_pipeline.c
@@ -191,9 +191,11 @@ check_pipeline_invalid_params(void)
 	}
 
-	p = rte_pipeline_create(&pipeline_params_3);
-	if (p != NULL) {
-		RTE_LOG(INFO, PIPELINE, "%s: Configure pipeline with invalid "
-			"socket\n", __func__);
-		goto fail;
+	if (rte_eal_has_hugepages()) {
+		p = rte_pipeline_create(&pipeline_params_3);
+		if (p != NULL) {
+			RTE_LOG(INFO, PIPELINE, "%s: Configure pipeline with "
+				"invalid socket\n", __func__);
+			goto fail;
+		}
 	}
 
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:00.374401684 +0100
+++ 0023-test-skip-some-subtests-in-no-huge-mode.patch	2020-05-28 17:12:59.084556785 +0100
@@ -1 +1 @@
-From 27fb5dd2850c60b46660b93c2fe14da6841b142c Mon Sep 17 00:00:00 2001
+From 17ee228d0a1f677a92b86c39cccf4a19d7e75c21 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 27fb5dd2850c60b46660b93c2fe14da6841b142c ]
+
@@ -18 +19,0 @@
-Cc: stable@dpdk.org
@@ -25,3 +26,3 @@
- app/test/test_acl.c            | 20 +++++++++++---------
- app/test/test_hash.c           |  7 +++++--
- app/test/test_table_pipeline.c | 12 +++++++-----
+ test/test/test_acl.c            | 20 +++++++++++---------
+ test/test/test_hash.c           |  7 +++++--
+ test/test/test_table_pipeline.c | 12 +++++++-----
@@ -30,5 +31,5 @@
-diff --git a/app/test/test_acl.c b/app/test/test_acl.c
-index 501de35da1..316bf4d065 100644
---- a/app/test/test_acl.c
-+++ b/app/test/test_acl.c
-@@ -1398,14 +1398,16 @@ test_invalid_parameters(void)
+diff --git a/test/test/test_acl.c b/test/test/test_acl.c
+index b1f75d1bc7..4fedcf446f 100644
+--- a/test/test/test_acl.c
++++ b/test/test/test_acl.c
+@@ -1395,14 +1395,16 @@ test_invalid_parameters(void)
@@ -60,5 +61,5 @@
-diff --git a/app/test/test_hash.c b/app/test/test_hash.c
-index fbd5725c68..ab978ea689 100644
---- a/app/test/test_hash.c
-+++ b/app/test/test_hash.c
-@@ -1137,6 +1137,9 @@ fbk_hash_unit_test(void)
+diff --git a/test/test/test_hash.c b/test/test/test_hash.c
+index fe607fadf2..ea711b1f10 100644
+--- a/test/test/test_hash.c
++++ b/test/test/test_hash.c
+@@ -1047,6 +1047,9 @@ fbk_hash_unit_test(void)
@@ -76 +77 @@
-diff --git a/app/test/test_table_pipeline.c b/app/test/test_table_pipeline.c
+diff --git a/test/test/test_table_pipeline.c b/test/test/test_table_pipeline.c
@@ -78,2 +79,2 @@
---- a/app/test/test_table_pipeline.c
-+++ b/app/test/test_table_pipeline.c
+--- a/test/test/test_table_pipeline.c
++++ b/test/test/test_table_pipeline.c


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

* [dpdk-stable] patch 'test/kvargs: fix to consider empty elements as valid' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (21 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'test: skip some subtests in no-huge mode' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'test/kvargs: fix invalid cases check' " Kevin Traynor
                   ` (70 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Olivier Matz; +Cc: David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/407553773e75f41dd89c82091e6458c98856bfaa

Thanks.

Kevin.

---
From 407553773e75f41dd89c82091e6458c98856bfaa Mon Sep 17 00:00:00 2001
From: Olivier Matz <olivier.matz@6wind.com>
Date: Fri, 27 Mar 2020 09:09:53 +0100
Subject: [PATCH] test/kvargs: fix to consider empty elements as valid

[ upstream commit 55fa01f7edfc9d2fa5af57ffb8991750fbdb1528 ]

Empty elements passed to the kvargs parser are silently
ignored. Examples of valid strings:
  ""
  ","
  ",,,,,,key=val,,,,"

Fix the unit tests to conform to this behavior.

Note: the test_invalid_kvargs() function is currently broken, which
explain why the tests were not failing. It is fixed in the next commit.

Fixes: e495f5435524 ("kvargs: add test case in app/test")

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
---
 test/test/test_kvargs.c | 37 +++++++++++++++++++++++++++++++++++--
 1 file changed, 35 insertions(+), 2 deletions(-)

diff --git a/test/test/test_kvargs.c b/test/test/test_kvargs.c
index a42056f361..d3db88a57a 100644
--- a/test/test/test_kvargs.c
+++ b/test/test/test_kvargs.c
@@ -143,5 +143,5 @@ static int test_valid_kvargs(void)
 	kvlist = rte_kvargs_parse(args, valid_keys);
 	if (kvlist == NULL) {
-		printf("rte_kvargs_parse() error");
+		printf("rte_kvargs_parse() error\n");
 		goto fail;
 	}
@@ -158,4 +158,38 @@ static int test_valid_kvargs(void)
 	rte_kvargs_free(kvlist);
 
+	/* test using empty string (it is valid) */
+	args = "";
+	kvlist = rte_kvargs_parse(args, NULL);
+	if (kvlist == NULL) {
+		printf("rte_kvargs_parse() error\n");
+		goto fail;
+	}
+	if (rte_kvargs_count(kvlist, NULL) != 0) {
+		printf("invalid count value\n");
+		goto fail;
+	}
+	rte_kvargs_free(kvlist);
+
+	/* test using empty elements (it is valid) */
+	args = "foo=1,,check=value2,,";
+	kvlist = rte_kvargs_parse(args, NULL);
+	if (kvlist == NULL) {
+		printf("rte_kvargs_parse() error\n");
+		goto fail;
+	}
+	if (rte_kvargs_count(kvlist, NULL) != 2) {
+		printf("invalid count value\n");
+		goto fail;
+	}
+	if (rte_kvargs_count(kvlist, "foo") != 1) {
+		printf("invalid count value for 'foo'\n");
+		goto fail;
+	}
+	if (rte_kvargs_count(kvlist, "check") != 1) {
+		printf("invalid count value for 'check'\n");
+		goto fail;
+	}
+	rte_kvargs_free(kvlist);
+
 	return 0;
 
@@ -180,5 +214,4 @@ static int test_invalid_kvargs(void)
 		"wrong-key=x",     /* key not in valid_keys_list */
 		"foo=1,foo=",      /* empty value */
-		"foo=1,,foo=2",    /* empty key/value */
 		"foo=1,foo",       /* no value */
 		"foo=1,=2",        /* no key */
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:00.425816248 +0100
+++ 0024-test-kvargs-fix-to-consider-empty-elements-as-valid.patch	2020-05-28 17:12:59.085556762 +0100
@@ -1 +1 @@
-From 55fa01f7edfc9d2fa5af57ffb8991750fbdb1528 Mon Sep 17 00:00:00 2001
+From 407553773e75f41dd89c82091e6458c98856bfaa Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 55fa01f7edfc9d2fa5af57ffb8991750fbdb1528 ]
+
@@ -18 +19,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
- app/test/test_kvargs.c | 37 +++++++++++++++++++++++++++++++++++--
+ test/test/test_kvargs.c | 37 +++++++++++++++++++++++++++++++++++--
@@ -26 +27 @@
-diff --git a/app/test/test_kvargs.c b/app/test/test_kvargs.c
+diff --git a/test/test/test_kvargs.c b/test/test/test_kvargs.c
@@ -28,2 +29,2 @@
---- a/app/test/test_kvargs.c
-+++ b/app/test/test_kvargs.c
+--- a/test/test/test_kvargs.c
++++ b/test/test/test_kvargs.c


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

* [dpdk-stable] patch 'test/kvargs: fix invalid cases check' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (22 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'test/kvargs: fix to consider empty elements as valid' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'kvargs: fix buffer overflow when parsing list' " Kevin Traynor
                   ` (69 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Olivier Matz; +Cc: David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/aef236bd6c59d4d279711a021a38eaa423c12b95

Thanks.

Kevin.

---
From aef236bd6c59d4d279711a021a38eaa423c12b95 Mon Sep 17 00:00:00 2001
From: Olivier Matz <olivier.matz@6wind.com>
Date: Fri, 27 Mar 2020 09:09:54 +0100
Subject: [PATCH] test/kvargs: fix invalid cases check

[ upstream commit 4bf2b36fd14da74f5dd5c111501698a5b7cb0f6d ]

The return was not properly placed, and only the first test case
was validated.

Fixes: e495f5435524 ("kvargs: add test case in app/test")

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
---
 test/test/test_kvargs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/test/test/test_kvargs.c b/test/test/test_kvargs.c
index d3db88a57a..f823b771fb 100644
--- a/test/test/test_kvargs.c
+++ b/test/test/test_kvargs.c
@@ -231,6 +231,6 @@ static int test_invalid_kvargs(void)
 			goto fail;
 		}
-		return 0;
 	}
+	return 0;
 
  fail:
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:00.474272327 +0100
+++ 0025-test-kvargs-fix-invalid-cases-check.patch	2020-05-28 17:12:59.085556762 +0100
@@ -1 +1 @@
-From 4bf2b36fd14da74f5dd5c111501698a5b7cb0f6d Mon Sep 17 00:00:00 2001
+From aef236bd6c59d4d279711a021a38eaa423c12b95 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4bf2b36fd14da74f5dd5c111501698a5b7cb0f6d ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -15 +16 @@
- app/test/test_kvargs.c | 2 +-
+ test/test/test_kvargs.c | 2 +-
@@ -18 +19 @@
-diff --git a/app/test/test_kvargs.c b/app/test/test_kvargs.c
+diff --git a/test/test/test_kvargs.c b/test/test/test_kvargs.c
@@ -20,2 +21,2 @@
---- a/app/test/test_kvargs.c
-+++ b/app/test/test_kvargs.c
+--- a/test/test/test_kvargs.c
++++ b/test/test/test_kvargs.c


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

* [dpdk-stable] patch 'kvargs: fix buffer overflow when parsing list' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (23 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'test/kvargs: fix invalid cases check' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'bus/pci: fix devargs on probing again' " Kevin Traynor
                   ` (68 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Yunjian Wang; +Cc: Olivier Matz, David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/a27225ff8f76afc7a2ee1b3710eb8fef5189efe5

Thanks.

Kevin.

---
From a27225ff8f76afc7a2ee1b3710eb8fef5189efe5 Mon Sep 17 00:00:00 2001
From: Yunjian Wang <wangyunjian@huawei.com>
Date: Fri, 27 Mar 2020 09:09:55 +0100
Subject: [PATCH] kvargs: fix buffer overflow when parsing list

[ upstream commit ffcf831454a93c1da54299d4066dd03de6712a9b ]

When the input string is "key=[", the ending '\0' is replaced
by a ',', leading to a heap buffer overflow.

Check the content of ctx1 to avoid this problem.

Fixes: cc0579f2339a ("kvargs: support list value")

Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
---
 lib/librte_kvargs/rte_kvargs.c | 2 ++
 test/test/test_kvargs.c        | 1 +
 2 files changed, 3 insertions(+)

diff --git a/lib/librte_kvargs/rte_kvargs.c b/lib/librte_kvargs/rte_kvargs.c
index f7030c63b7..a8a5cb50b9 100644
--- a/lib/librte_kvargs/rte_kvargs.c
+++ b/lib/librte_kvargs/rte_kvargs.c
@@ -51,4 +51,6 @@ rte_kvargs_tokenize(struct rte_kvargs *kvlist, const char *params)
 			while (str[strlen(str) - 1] != ']') {
 				/* Restore the comma erased by strtok_r(). */
+				if (ctx1[0] == '\0')
+					return -1; /* no closing bracket */
 				str[strlen(str)] = ',';
 				/* Parse until next comma. */
diff --git a/test/test/test_kvargs.c b/test/test/test_kvargs.c
index f823b771fb..2a2dae43a0 100644
--- a/test/test/test_kvargs.c
+++ b/test/test/test_kvargs.c
@@ -218,4 +218,5 @@ static int test_invalid_kvargs(void)
 		"foo=[1,2",        /* no closing bracket in value */
 		",=",              /* also test with a smiley */
+		"foo=[",           /* no value in list and no closing bracket */
 		NULL };
 	const char **args;
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:00.521662253 +0100
+++ 0026-kvargs-fix-buffer-overflow-when-parsing-list.patch	2020-05-28 17:12:59.086556740 +0100
@@ -1 +1 @@
-From ffcf831454a93c1da54299d4066dd03de6712a9b Mon Sep 17 00:00:00 2001
+From a27225ff8f76afc7a2ee1b3710eb8fef5189efe5 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit ffcf831454a93c1da54299d4066dd03de6712a9b ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -18 +18,0 @@
- app/test/test_kvargs.c         | 1 +
@@ -19,0 +20 @@
+ test/test/test_kvargs.c        | 1 +
@@ -22,10 +22,0 @@
-diff --git a/app/test/test_kvargs.c b/app/test/test_kvargs.c
-index f823b771fb..2a2dae43a0 100644
---- a/app/test/test_kvargs.c
-+++ b/app/test/test_kvargs.c
-@@ -218,4 +218,5 @@ static int test_invalid_kvargs(void)
- 		"foo=[1,2",        /* no closing bracket in value */
- 		",=",              /* also test with a smiley */
-+		"foo=[",           /* no value in list and no closing bracket */
- 		NULL };
- 	const char **args;
@@ -33 +24 @@
-index d39332999e..1d815dcd96 100644
+index f7030c63b7..a8a5cb50b9 100644
@@ -42,0 +34,10 @@
+diff --git a/test/test/test_kvargs.c b/test/test/test_kvargs.c
+index f823b771fb..2a2dae43a0 100644
+--- a/test/test/test_kvargs.c
++++ b/test/test/test_kvargs.c
+@@ -218,4 +218,5 @@ static int test_invalid_kvargs(void)
+ 		"foo=[1,2",        /* no closing bracket in value */
+ 		",=",              /* also test with a smiley */
++		"foo=[",           /* no value in list and no closing bracket */
+ 		NULL };
+ 	const char **args;


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

* [dpdk-stable] patch 'bus/pci: fix devargs on probing again' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (24 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'kvargs: fix buffer overflow when parsing list' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'common/qat: fix GEN3 marketing name' " Kevin Traynor
                   ` (67 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Somnath Kotur; +Cc: Gaetan Rivet, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/f1fdd2a09fa964765c58c681a63bd1af4a58b920

Thanks.

Kevin.

---
From f1fdd2a09fa964765c58c681a63bd1af4a58b920 Mon Sep 17 00:00:00 2001
From: Somnath Kotur <somnath.kotur@broadcom.com>
Date: Fri, 14 Feb 2020 12:13:53 +0530
Subject: [PATCH] bus/pci: fix devargs on probing again

[ upstream commit fc67ae91ebae7c48fc27a1d24e0843c50c192459 ]

As per the comments in this code section, since there is a matching device,
it is now its responsibility to manage the devargs we've just inserted.
But the matching device ptr's devargs is still uninitialized or not pointing
to the newest dev_args that were passed as a parameter to local_dev_probe().
This is needed particularly in the case when *probe is called again* on an
already probed device as part of adding a representor port to OVS-DPDK.

Fixes: 7e8b26650146 ("eal: fix hotplug add / remove")

Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
Acked-by: Gaetan Rivet <grive@u256.net>
---
 drivers/bus/pci/linux/pci.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/bus/pci/linux/pci.c b/drivers/bus/pci/linux/pci.c
index 9b1c7c839a..280e779155 100644
--- a/drivers/bus/pci/linux/pci.c
+++ b/drivers/bus/pci/linux/pci.c
@@ -379,4 +379,9 @@ pci_scan_one(const char *dirname, const struct rte_pci_addr *addr)
 						RTE_LOG(ERR, EAL, "Unexpected device scan at %s!\n",
 							filename);
+					else if (dev2->device.devargs !=
+						 dev->device.devargs) {
+						rte_devargs_remove(dev2->device.devargs);
+						pci_name_set(dev2);
+					}
 				}
 				free(dev);
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:00.572130671 +0100
+++ 0027-bus-pci-fix-devargs-on-probing-again.patch	2020-05-28 17:12:59.087556717 +0100
@@ -1 +1 @@
-From fc67ae91ebae7c48fc27a1d24e0843c50c192459 Mon Sep 17 00:00:00 2001
+From f1fdd2a09fa964765c58c681a63bd1af4a58b920 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit fc67ae91ebae7c48fc27a1d24e0843c50c192459 ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index 740a2cdad4..71b0a3053d 100644
+index 9b1c7c839a..280e779155 100644
@@ -26 +27 @@
-@@ -378,4 +378,9 @@ pci_scan_one(const char *dirname, const struct rte_pci_addr *addr)
+@@ -379,4 +379,9 @@ pci_scan_one(const char *dirname, const struct rte_pci_addr *addr)


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

* [dpdk-stable] patch 'common/qat: fix GEN3 marketing name' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (25 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'bus/pci: fix devargs on probing again' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-06-04 16:29   ` Trahe, Fiona
  2020-05-28 16:22 ` [dpdk-stable] patch 'event/dsw: remove redundant control ring poll' " Kevin Traynor
                   ` (66 subsequent siblings)
  93 siblings, 1 reply; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Adam Dybkowski; +Cc: Fiona Trahe, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/6528f3ccc454ceb125b3ebcedda931f8fe9b38f3

Thanks.

Kevin.

---
From 6528f3ccc454ceb125b3ebcedda931f8fe9b38f3 Mon Sep 17 00:00:00 2001
From: Adam Dybkowski <adamx.dybkowski@intel.com>
Date: Wed, 4 Mar 2020 14:18:35 +0100
Subject: [PATCH] common/qat: fix GEN3 marketing name

[ upstream commit 9cd9d3e702fba4700539c1a2eddac13dd14ecf70 ]

This patch fixes the marketing name of the QAT GEN3 to P5xxx.
Updates this name mentioned in the compression PMD as well as
in the documentation.

Fixes: aa983f03ad2e ("crypto/qat: handle Single Pass Crypto Requests on GEN3")
Fixes: a124830a6f00 ("compress/qat: enable dynamic huffman encoding")
Fixes: 1f5e4053f9b4 ("common/qat: support GEN3 devices")

Signed-off-by: Adam Dybkowski <adamx.dybkowski@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
---
 doc/guides/cryptodevs/qat.rst       | 2 +-
 drivers/compress/qat/qat_comp_pmd.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/doc/guides/cryptodevs/qat.rst b/doc/guides/cryptodevs/qat.rst
index 837ed280e6..28cfd82f1c 100644
--- a/doc/guides/cryptodevs/qat.rst
+++ b/doc/guides/cryptodevs/qat.rst
@@ -24,5 +24,5 @@ hardware accelerator devices:
 * ``Intel QuickAssist Technology C3xxx``
 * ``Intel QuickAssist Technology D15xx``
-* ``Intel QuickAssist Technology C4xxx``
+* ``Intel QuickAssist Technology P5xxx``
 
 
diff --git a/drivers/compress/qat/qat_comp_pmd.c b/drivers/compress/qat/qat_comp_pmd.c
index 139298efe3..eec5f61bb3 100644
--- a/drivers/compress/qat/qat_comp_pmd.c
+++ b/drivers/compress/qat/qat_comp_pmd.c
@@ -491,5 +491,5 @@ qat_comp_dev_create(struct qat_pci_device *qat_pci_dev)
 	}
 	if (qat_pci_dev->qat_dev_gen == QAT_GEN3) {
-		QAT_LOG(ERR, "Compression PMD not supported on QAT c4xxx");
+		QAT_LOG(ERR, "Compression PMD not supported on QAT P5xxx");
 		return 0;
 	}
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:00.621270780 +0100
+++ 0028-common-qat-fix-GEN3-marketing-name.patch	2020-05-28 17:12:59.089556672 +0100
@@ -1 +1 @@
-From 9cd9d3e702fba4700539c1a2eddac13dd14ecf70 Mon Sep 17 00:00:00 2001
+From 6528f3ccc454ceb125b3ebcedda931f8fe9b38f3 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 9cd9d3e702fba4700539c1a2eddac13dd14ecf70 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -18,4 +19,3 @@
- doc/guides/cryptodevs/qat.rst          | 6 +++---
- doc/guides/rel_notes/release_19_11.rst | 2 +-
- drivers/compress/qat/qat_comp_pmd.c    | 2 +-
- 3 files changed, 5 insertions(+), 5 deletions(-)
+ doc/guides/cryptodevs/qat.rst       | 2 +-
+ drivers/compress/qat/qat_comp_pmd.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
@@ -24 +24 @@
-index 06985e3193..1e83ed6267 100644
+index 837ed280e6..28cfd82f1c 100644
@@ -27,8 +27 @@
-@@ -24,5 +24,5 @@ poll mode crypto driver support for the following hardware accelerator devices:
- * ``Intel QuickAssist Technology C3xxx``
- * ``Intel QuickAssist Technology D15xx``
--* ``Intel QuickAssist Technology C4xxx``
-+* ``Intel QuickAssist Technology P5xxx``
- 
- 
-@@ -150,5 +150,5 @@ poll mode crypto driver support for the following hardware accelerator devices:
+@@ -24,5 +24,5 @@ hardware accelerator devices:
@@ -40,13 +32,0 @@
- The QAT ASYM PMD has support for:
-@@ -377,5 +377,5 @@ to see the full table)
-    | Yes | No  | No  | 2   | D15xx    | p             | qat_d15xx     | d15xx      | 6f54   | 1    | 6f55   | 16     |
-    +-----+-----+-----+-----+----------+---------------+---------------+------------+--------+------+--------+--------+
--   | Yes | No  | No  | 3   | C4xxx    | p             | qat_c4xxx     | c4xxx      | 18a0   | 1    | 18a1   | 128    |
-+   | Yes | No  | No  | 3   | P5xxx    | p             | qat_p5xxx     | p5xxx      | 18a0   | 1    | 18a1   | 128    |
-    +-----+-----+-----+-----+----------+---------------+---------------+------------+--------+------+--------+--------+
- 
-diff --git a/doc/guides/rel_notes/release_19_11.rst b/doc/guides/rel_notes/release_19_11.rst
-index eb05149f8f..0261d28431 100644
---- a/doc/guides/rel_notes/release_19_11.rst
-+++ b/doc/guides/rel_notes/release_19_11.rst
-@@ -261,5 +261,5 @@ New Features
@@ -54,5 +33,0 @@
-   Added support for Single Pass GCM, available on QAT GEN3 only (Intel
--  QuickAssist Technology C4xxx). It is automatically chosen instead of the
-+  QuickAssist Technology P5xxx). It is automatically chosen instead of the
-   classic 2-pass mode when running on QAT GEN3, significantly improving
-   the performance of AES GCM operations.
@@ -60 +35 @@
-index 7d4fdf10c2..9a7ed19d76 100644
+index 139298efe3..eec5f61bb3 100644
@@ -63,2 +38,2 @@
-@@ -667,5 +667,5 @@ qat_comp_dev_create(struct qat_pci_device *qat_pci_dev,
- 	int i = 0;
+@@ -491,5 +491,5 @@ qat_comp_dev_create(struct qat_pci_device *qat_pci_dev)
+ 	}


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

* [dpdk-stable] patch 'event/dsw: remove redundant control ring poll' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (26 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'common/qat: fix GEN3 marketing name' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'event/dsw: remove unnecessary read barrier' " Kevin Traynor
                   ` (65 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Mattias Rönnblom; +Cc: Ola Liljedahl, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/ed679552842e40ea4975bfddcaa0fc9a2c10d965

Thanks.

Kevin.

---
From ed679552842e40ea4975bfddcaa0fc9a2c10d965 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mattias=20R=C3=B6nnblom?= <mattias.ronnblom@ericsson.com>
Date: Mon, 9 Mar 2020 07:51:04 +0100
Subject: [PATCH] event/dsw: remove redundant control ring poll
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit 65388325f123c9e9a6ef2211804b7d259dc2dfab ]

On dequeue, polling the control ring once is enough.

Fixes: f6257b22e767 ("event/dsw: add load balancing")

Suggested-by: Ola Liljedahl <ola.liljedahl@arm.com>
Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
 drivers/event/dsw/dsw_event.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/event/dsw/dsw_event.c b/drivers/event/dsw/dsw_event.c
index eae53b2404..8ea68cd966 100644
--- a/drivers/event/dsw/dsw_event.c
+++ b/drivers/event/dsw/dsw_event.c
@@ -1195,9 +1195,4 @@ dsw_port_dequeue_burst(struct dsw_port *port, struct rte_event *events,
 		       uint16_t num)
 {
-	struct dsw_port *source_port = port;
-	struct dsw_evdev *dsw = source_port->dsw;
-
-	dsw_port_ctl_process(dsw, source_port);
-
 	if (unlikely(port->in_buffer_len > 0)) {
 		uint16_t dequeued = RTE_MIN(num, port->in_buffer_len);
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:00.672423758 +0100
+++ 0029-event-dsw-remove-redundant-control-ring-poll.patch	2020-05-28 17:12:59.090556649 +0100
@@ -1 +1 @@
-From 65388325f123c9e9a6ef2211804b7d259dc2dfab Mon Sep 17 00:00:00 2001
+From ed679552842e40ea4975bfddcaa0fc9a2c10d965 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 65388325f123c9e9a6ef2211804b7d259dc2dfab ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 04f0e9cab6..c31a4c492f 100644
+index eae53b2404..8ea68cd966 100644
@@ -24 +25 @@
-@@ -1329,9 +1329,4 @@ dsw_port_dequeue_burst(struct dsw_port *port, struct rte_event *events,
+@@ -1195,9 +1195,4 @@ dsw_port_dequeue_burst(struct dsw_port *port, struct rte_event *events,


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

* [dpdk-stable] patch 'event/dsw: remove unnecessary read barrier' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (27 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'event/dsw: remove redundant control ring poll' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'doc: fix sphinx compatibility' " Kevin Traynor
                   ` (64 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Mattias Rönnblom; +Cc: Ola Liljedahl, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/5d54a4d7f3bca433243f5eb0a00659d1f0c1a276

Thanks.

Kevin.

---
From 5d54a4d7f3bca433243f5eb0a00659d1f0c1a276 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mattias=20R=C3=B6nnblom?= <mattias.ronnblom@ericsson.com>
Date: Mon, 9 Mar 2020 07:51:05 +0100
Subject: [PATCH] event/dsw: remove unnecessary read barrier
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit cea7bc671311e8cf5fbc21dceb15f5f8af8ee36b ]

Remove unnecessary read barrier (and misleading comment) on control
message dequeue.

Fixes: f6257b22e767 ("event/dsw: add load balancing")

Suggested-by: Ola Liljedahl <ola.liljedahl@arm.com>
Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
 drivers/event/dsw/dsw_event.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/event/dsw/dsw_event.c b/drivers/event/dsw/dsw_event.c
index 8ea68cd966..10e44fd497 100644
--- a/drivers/event/dsw/dsw_event.c
+++ b/drivers/event/dsw/dsw_event.c
@@ -931,9 +931,4 @@ dsw_port_ctl_process(struct dsw_evdev *dsw, struct dsw_port *port)
 	struct dsw_ctl_msg msg;
 
-	/* So any table loads happens before the ring dequeue, in the
-	 * case of a 'paus' message.
-	 */
-	rte_smp_rmb();
-
 	if (dsw_port_ctl_dequeue(port, &msg) == 0) {
 		switch (msg.type) {
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:00.720379181 +0100
+++ 0030-event-dsw-remove-unnecessary-read-barrier.patch	2020-05-28 17:12:59.090556649 +0100
@@ -1 +1 @@
-From cea7bc671311e8cf5fbc21dceb15f5f8af8ee36b Mon Sep 17 00:00:00 2001
+From 5d54a4d7f3bca433243f5eb0a00659d1f0c1a276 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit cea7bc671311e8cf5fbc21dceb15f5f8af8ee36b ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index c31a4c492f..94c8efdbcf 100644
+index 8ea68cd966..10e44fd497 100644
@@ -25 +26 @@
-@@ -1066,9 +1066,4 @@ dsw_port_ctl_process(struct dsw_evdev *dsw, struct dsw_port *port)
+@@ -931,9 +931,4 @@ dsw_port_ctl_process(struct dsw_evdev *dsw, struct dsw_port *port)


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

* [dpdk-stable] patch 'doc: fix sphinx compatibility' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (28 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'event/dsw: remove unnecessary read barrier' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'log: fix level picked with globbing on type register' " Kevin Traynor
                   ` (63 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/2f5fe24636a8cab5034ec80bc34e00676bcd30f7

Thanks.

Kevin.

---
From 2f5fe24636a8cab5034ec80bc34e00676bcd30f7 Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas@monjalon.net>
Date: Wed, 8 Apr 2020 10:09:23 +0200
Subject: [PATCH] doc: fix sphinx compatibility

[ upstream commit 10d34aa3dee8daf0a07ae152de8377942f63503b ]

The function add_stylesheet() is deprecated since sphinx 1.8.
It will be removed in sphinx 4.0.
It is replaced by add_css_file().

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 doc/guides/conf.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/doc/guides/conf.py b/doc/guides/conf.py
index 2ebbf50c60..91b2f1153e 100644
--- a/doc/guides/conf.py
+++ b/doc/guides/conf.py
@@ -415,3 +415,7 @@ def setup(app):
         app.connect('doctree-resolved', process_numref)
 
-    app.add_stylesheet('css/custom.css')
+    try:
+        # New function in sphinx 1.8
+        app.add_css_file('css/custom.css')
+    except:
+        app.add_stylesheet('css/custom.css')
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:00.768805638 +0100
+++ 0031-doc-fix-sphinx-compatibility.patch	2020-05-28 17:12:59.091556627 +0100
@@ -1 +1 @@
-From 10d34aa3dee8daf0a07ae152de8377942f63503b Mon Sep 17 00:00:00 2001
+From 2f5fe24636a8cab5034ec80bc34e00676bcd30f7 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 10d34aa3dee8daf0a07ae152de8377942f63503b ]
+
@@ -10,2 +11,0 @@
-Cc: stable@dpdk.org
-
@@ -18 +18 @@
-index c368fa51d4..08dcfcff54 100644
+index 2ebbf50c60..91b2f1153e 100644
@@ -21 +21 @@
-@@ -416,3 +416,7 @@ def setup(app):
+@@ -415,3 +415,7 @@ def setup(app):


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

* [dpdk-stable] patch 'log: fix level picked with globbing on type register' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (29 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'doc: fix sphinx compatibility' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'doc: fix matrix CSS for recent sphinx' " Kevin Traynor
                   ` (62 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/df1c0724ff3d2e6d65fe93df5e80db73882557e8

Thanks.

Kevin.

---
From df1c0724ff3d2e6d65fe93df5e80db73882557e8 Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas@monjalon.net>
Date: Wed, 8 Apr 2020 00:47:58 +0200
Subject: [PATCH] log: fix level picked with globbing on type register

[ upstream commit b2a6d7e0484b8460374b2f058ac78bd4536b3e83 ]

When a log type is registered, the level can be picked
by matching saved options.
The check of fnmatch globbing result was reversed.

The same bug was already fixed in a similar function.
This one is acting in log type register function.

Note: this function rte_log_register_type_and_pick_level()
is not used a lot and could be merged with rte_log_register().

Fixes: 6ff0f81d0ef7 ("log: fix pattern matching")

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 lib/librte_eal/common/eal_common_log.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_eal/common/eal_common_log.c b/lib/librte_eal/common/eal_common_log.c
index 2c1200310d..9453fa3e9a 100644
--- a/lib/librte_eal/common/eal_common_log.c
+++ b/lib/librte_eal/common/eal_common_log.c
@@ -285,5 +285,5 @@ rte_log_register_type_and_pick_level(const char *name, uint32_t level_def)
 
 		if (opt_ll->pattern) {
-			if (fnmatch(opt_ll->pattern, name, 0))
+			if (fnmatch(opt_ll->pattern, name, 0) == 0)
 				level = opt_ll->level;
 		} else {
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:00.815670365 +0100
+++ 0032-log-fix-level-picked-with-globbing-on-type-register.patch	2020-05-28 17:12:59.092556604 +0100
@@ -1 +1 @@
-From b2a6d7e0484b8460374b2f058ac78bd4536b3e83 Mon Sep 17 00:00:00 2001
+From df1c0724ff3d2e6d65fe93df5e80db73882557e8 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b2a6d7e0484b8460374b2f058ac78bd4536b3e83 ]
+
@@ -17 +18,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index 7647a916ef..d7a5f9b641 100644
+index 2c1200310d..9453fa3e9a 100644
@@ -28 +29 @@
-@@ -321,5 +321,5 @@ rte_log_register_type_and_pick_level(const char *name, uint32_t level_def)
+@@ -285,5 +285,5 @@ rte_log_register_type_and_pick_level(const char *name, uint32_t level_def)


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

* [dpdk-stable] patch 'doc: fix matrix CSS for recent sphinx' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (30 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'log: fix level picked with globbing on type register' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'vfio: fix race condition with sysfs' " Kevin Traynor
                   ` (61 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/4d3460a1f56b987ae0ad0ecb171f039d5fd9f4ff

Thanks.

Kevin.

---
From 4d3460a1f56b987ae0ad0ecb171f039d5fd9f4ff Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas@monjalon.net>
Date: Thu, 12 Mar 2020 00:01:34 +0100
Subject: [PATCH] doc: fix matrix CSS for recent sphinx

[ upstream commit cc64c593a7785fc810e2f762e12c8b29b418ac5d ]

It seems sphinx >= 2.0 is inserting a <p> tag in each table cell.
The feature table (matrix) style needs to be updated to avoid
cells being too big.

The margin, padding and line height are overridden.
The font size in percentage is replaced with an equivalent pixel size.
The border is explicit because it disappeared for th.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 doc/guides/conf.py | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/doc/guides/conf.py b/doc/guides/conf.py
index 91b2f1153e..5fc597cbe7 100644
--- a/doc/guides/conf.py
+++ b/doc/guides/conf.py
@@ -319,14 +319,20 @@ def print_table_css(outfile, table_id):
          overflow: hidden;
       }
+      table#idx p {
+         margin: 0;
+         line-height: inherit;
+      }
       table#idx th, table#idx td {
          text-align: center;
+         border: solid 1px #ddd;
       }
       table#idx th {
-         font-size: 72%;
+         padding: 0.5em 0;
+      }
+      table#idx th, table#idx th p {
+         font-size: 11px;
          white-space: pre-wrap;
          vertical-align: top;
-         padding: 0.5em 0;
          min-width: 0.9em;
-         width: 2em;
       }
       table#idx col:first-child {
@@ -337,7 +343,9 @@ def print_table_css(outfile, table_id):
       }
       table#idx td {
-         font-size: 70%;
          padding: 1px;
       }
+      table#idx td, table#idx td p {
+         font-size: 11px;
+      }
       table#idx td:first-child {
          padding-left: 1em;
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:00.866310748 +0100
+++ 0033-doc-fix-matrix-CSS-for-recent-sphinx.patch	2020-05-28 17:12:59.093556581 +0100
@@ -1 +1 @@
-From cc64c593a7785fc810e2f762e12c8b29b418ac5d Mon Sep 17 00:00:00 2001
+From 4d3460a1f56b987ae0ad0ecb171f039d5fd9f4ff Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit cc64c593a7785fc810e2f762e12c8b29b418ac5d ]
+
@@ -20 +22 @@
-index 08dcfcff54..9093ad31a0 100644
+index 91b2f1153e..5fc597cbe7 100644
@@ -23 +25 @@
-@@ -315,14 +315,20 @@ def print_table_css(outfile, table_id):
+@@ -319,14 +319,20 @@ def print_table_css(outfile, table_id):
@@ -47 +49 @@
-@@ -333,7 +339,9 @@ def print_table_css(outfile, table_id):
+@@ -337,7 +343,9 @@ def print_table_css(outfile, table_id):


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

* [dpdk-stable] patch 'vfio: fix race condition with sysfs' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (31 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'doc: fix matrix CSS for recent sphinx' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'vfio: fix use after free with multiprocess' " Kevin Traynor
                   ` (60 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Michael Haeuptle; +Cc: Darek Stojaczyk, Anatoly Burakov, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/7deb7d41ace0b9cb9122ade23d5846340a042257

Thanks.

Kevin.

---
From 7deb7d41ace0b9cb9122ade23d5846340a042257 Mon Sep 17 00:00:00 2001
From: Michael Haeuptle <michael.haeuptle@hpe.com>
Date: Mon, 6 Apr 2020 22:23:23 +0000
Subject: [PATCH] vfio: fix race condition with sysfs

[ upstream commit b758423bc4fe412941a289f3181849669c02b904 ]

This fix treats a 0 return value from vfio_open_group_fd
in vfio_get_group_fd as the intended error condition instead
of putting an incorrect 0 file descriptor in the vfio_group table.

Sometimes, the creation of device files in sysfs is not
instantaneously causing vfio_open_groupfd to return 0.
This has been observed when hot removing/adding multiple
NVMe devices (>=4).

Fixes: 340b7bb8d583 ("vfio: extend data structure for multi container")

Signed-off-by: Michael Haeuptle <michael.haeuptle@hpe.com>
Acked-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 lib/librte_eal/linuxapp/eal/eal_vfio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_eal/linuxapp/eal/eal_vfio.c b/lib/librte_eal/linuxapp/eal/eal_vfio.c
index 48d2abafaa..4a995e11b3 100644
--- a/lib/librte_eal/linuxapp/eal/eal_vfio.c
+++ b/lib/librte_eal/linuxapp/eal/eal_vfio.c
@@ -379,5 +379,5 @@ vfio_get_group_fd(struct vfio_config *vfio_cfg,
 
 	vfio_group_fd = vfio_open_group_fd(iommu_group_num);
-	if (vfio_group_fd < 0) {
+	if (vfio_group_fd <= 0) {
 		RTE_LOG(ERR, EAL, "Failed to open group %d\n", iommu_group_num);
 		return -1;
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:00.915360883 +0100
+++ 0034-vfio-fix-race-condition-with-sysfs.patch	2020-05-28 17:12:59.094556559 +0100
@@ -1 +1 @@
-From b758423bc4fe412941a289f3181849669c02b904 Mon Sep 17 00:00:00 2001
+From 7deb7d41ace0b9cb9122ade23d5846340a042257 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b758423bc4fe412941a289f3181849669c02b904 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
- lib/librte_eal/linux/eal_vfio.c | 2 +-
+ lib/librte_eal/linuxapp/eal/eal_vfio.c | 2 +-
@@ -25,5 +26,5 @@
-diff --git a/lib/librte_eal/linux/eal_vfio.c b/lib/librte_eal/linux/eal_vfio.c
-index 4502aefed3..1979f6fdd8 100644
---- a/lib/librte_eal/linux/eal_vfio.c
-+++ b/lib/librte_eal/linux/eal_vfio.c
-@@ -380,5 +380,5 @@ vfio_get_group_fd(struct vfio_config *vfio_cfg,
+diff --git a/lib/librte_eal/linuxapp/eal/eal_vfio.c b/lib/librte_eal/linuxapp/eal/eal_vfio.c
+index 48d2abafaa..4a995e11b3 100644
+--- a/lib/librte_eal/linuxapp/eal/eal_vfio.c
++++ b/lib/librte_eal/linuxapp/eal/eal_vfio.c
+@@ -379,5 +379,5 @@ vfio_get_group_fd(struct vfio_config *vfio_cfg,


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

* [dpdk-stable] patch 'vfio: fix use after free with multiprocess' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (32 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'vfio: fix race condition with sysfs' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'drivers: fix log type variables for -fno-common' " Kevin Traynor
                   ` (59 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Wei Hu (Xavier); +Cc: Chengwen Feng, Anatoly Burakov, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/8163def682be7bf3a26f705f413e38b2bf045015

Thanks.

Kevin.

---
From 8163def682be7bf3a26f705f413e38b2bf045015 Mon Sep 17 00:00:00 2001
From: "Wei Hu (Xavier)" <xavier.huwei@huawei.com>
Date: Tue, 21 Apr 2020 11:29:57 +0800
Subject: [PATCH] vfio: fix use after free with multiprocess

[ upstream commit d6298844da7e3e83034f1af196bdfddf388f979e ]

This patch fixes the heap-use-after-free bug which was found by ASAN
(Address-Sanitizer) in the vfio_get_default_container_fd function.

Fixes: 6bcb7c95fe14 ("vfio: share default container in multi-process")

Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 lib/librte_eal/linuxapp/eal/eal_vfio.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/librte_eal/linuxapp/eal/eal_vfio.c b/lib/librte_eal/linuxapp/eal/eal_vfio.c
index 4a995e11b3..b4619c2117 100644
--- a/lib/librte_eal/linuxapp/eal/eal_vfio.c
+++ b/lib/librte_eal/linuxapp/eal/eal_vfio.c
@@ -1026,4 +1026,5 @@ vfio_get_default_container_fd(void)
 	struct timespec ts = {.tv_sec = 5, .tv_nsec = 0};
 	struct vfio_mp_param *p = (struct vfio_mp_param *)mp_req.param;
+	int container_fd;
 
 	if (default_vfio_cfg->vfio_enabled)
@@ -1048,6 +1049,7 @@ vfio_get_default_container_fd(void)
 		p = (struct vfio_mp_param *)mp_rep->param;
 		if (p->result == SOCKET_OK && mp_rep->num_fds == 1) {
+			container_fd = mp_rep->fds[0];
 			free(mp_reply.msgs);
-			return mp_rep->fds[0];
+			return container_fd;
 		}
 	}
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:00.964607806 +0100
+++ 0035-vfio-fix-use-after-free-with-multiprocess.patch	2020-05-28 17:12:59.096556514 +0100
@@ -1 +1 @@
-From d6298844da7e3e83034f1af196bdfddf388f979e Mon Sep 17 00:00:00 2001
+From 8163def682be7bf3a26f705f413e38b2bf045015 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d6298844da7e3e83034f1af196bdfddf388f979e ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- lib/librte_eal/linux/eal_vfio.c | 4 +++-
+ lib/librte_eal/linuxapp/eal/eal_vfio.c | 4 +++-
@@ -19,5 +20,5 @@
-diff --git a/lib/librte_eal/linux/eal_vfio.c b/lib/librte_eal/linux/eal_vfio.c
-index 1979f6fdd8..d26e1649a5 100644
---- a/lib/librte_eal/linux/eal_vfio.c
-+++ b/lib/librte_eal/linux/eal_vfio.c
-@@ -1093,4 +1093,5 @@ vfio_get_default_container_fd(void)
+diff --git a/lib/librte_eal/linuxapp/eal/eal_vfio.c b/lib/librte_eal/linuxapp/eal/eal_vfio.c
+index 4a995e11b3..b4619c2117 100644
+--- a/lib/librte_eal/linuxapp/eal/eal_vfio.c
++++ b/lib/librte_eal/linuxapp/eal/eal_vfio.c
+@@ -1026,4 +1026,5 @@ vfio_get_default_container_fd(void)
@@ -29 +30 @@
-@@ -1115,6 +1116,7 @@ vfio_get_default_container_fd(void)
+@@ -1048,6 +1049,7 @@ vfio_get_default_container_fd(void)


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

* [dpdk-stable] patch 'drivers: fix log type variables for -fno-common' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (33 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'vfio: fix use after free with multiprocess' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'drivers/crypto: " Kevin Traynor
                   ` (58 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Lukasz Wojciechowski, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/aa50bd5cf2eb1aa4916a03361128a12a8f0ee03c

Thanks.

Kevin.

---
From aa50bd5cf2eb1aa4916a03361128a12a8f0ee03c Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Fri, 10 Apr 2020 18:27:56 +0100
Subject: [PATCH] drivers: fix log type variables for -fno-common

[ upstream commit 3071d471525443978a2ae7e0d068bc3ffcede80c ]

The zlib compression driver, as well as the aesni-gcm, aesni-mb and openssl
crypto drivers all defined the logtype variable in the header file
directly. This gives errors with gcc 10, due to -fno-common being the
default, so we need to apply the same fix in all cases:
* move the variable definition to a suitable .c file
* mark the forward declaration of the variable in the header as "extern"

Fixes: 0c4e4c16b004 ("compress/zlib: introduce zlib PMD")
Fixes: 90c8a2d02a31 ("crypto/aesni_gcm: add dynamic logging")
Fixes: 276624ae2ef6 ("crypto/aesni_mb: add dynamic logging")
Fixes: 094b2386f461 ("crypto/openssl: add dynamic logging")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
---
 drivers/compress/zlib/zlib_pmd.c                   | 2 ++
 drivers/compress/zlib/zlib_pmd_private.h           | 2 +-
 drivers/crypto/aesni_gcm/aesni_gcm_pmd.c           | 2 ++
 drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h   | 2 +-
 drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c         | 2 ++
 drivers/crypto/aesni_mb/rte_aesni_mb_pmd_private.h | 2 +-
 drivers/crypto/openssl/rte_openssl_pmd.c           | 1 +
 drivers/crypto/openssl/rte_openssl_pmd_private.h   | 2 +-
 8 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/drivers/compress/zlib/zlib_pmd.c b/drivers/compress/zlib/zlib_pmd.c
index 19f9200c22..e39be2ed86 100644
--- a/drivers/compress/zlib/zlib_pmd.c
+++ b/drivers/compress/zlib/zlib_pmd.c
@@ -8,4 +8,6 @@
 #include "zlib_pmd_private.h"
 
+int zlib_logtype_driver;
+
 /** Compute next mbuf in the list, assign data buffer and length,
  *  returns 0 if mbuf is NULL
diff --git a/drivers/compress/zlib/zlib_pmd_private.h b/drivers/compress/zlib/zlib_pmd_private.h
index 2c6e83d45c..05e80d94ef 100644
--- a/drivers/compress/zlib/zlib_pmd_private.h
+++ b/drivers/compress/zlib/zlib_pmd_private.h
@@ -15,5 +15,5 @@
 #define DEF_MEM_LEVEL			8
 
-int zlib_logtype_driver;
+extern int zlib_logtype_driver;
 #define ZLIB_PMD_LOG(level, fmt, args...) \
 	rte_log(RTE_LOG_ ## level, zlib_logtype_driver, "%s(): "fmt "\n", \
diff --git a/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c b/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c
index ebdf7c35a8..1975ad09d2 100644
--- a/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c
+++ b/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c
@@ -14,4 +14,6 @@
 #include "aesni_gcm_pmd_private.h"
 
+int aesni_gcm_logtype_driver;
+
 static uint8_t cryptodev_driver_id;
 
diff --git a/drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h b/drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h
index 92b0413547..20a619f1a9 100644
--- a/drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h
+++ b/drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h
@@ -21,5 +21,5 @@
 
 /** AES-NI GCM PMD  LOGTYPE DRIVER */
-int aesni_gcm_logtype_driver;
+extern int aesni_gcm_logtype_driver;
 #define AESNI_GCM_LOG(level, fmt, ...) \
 	rte_log(RTE_LOG_ ## level, aesni_gcm_logtype_driver,	\
diff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
index 45dd86a756..19652469e7 100644
--- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
+++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
@@ -15,4 +15,6 @@
 #include "rte_aesni_mb_pmd_private.h"
 
+int aesni_mb_logtype_driver;
+
 #define AES_CCM_DIGEST_MIN_LEN 4
 #define AES_CCM_DIGEST_MAX_LEN 16
diff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_private.h b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_private.h
index d8021cdaa2..a7a417b6b5 100644
--- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_private.h
+++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_private.h
@@ -12,5 +12,5 @@
 
 /** AESNI_MB PMD LOGTYPE DRIVER */
-int aesni_mb_logtype_driver;
+extern int aesni_mb_logtype_driver;
 
 #define AESNI_MB_LOG(level, fmt, ...)  \
diff --git a/drivers/crypto/openssl/rte_openssl_pmd.c b/drivers/crypto/openssl/rte_openssl_pmd.c
index 36122a43ce..7a922f5d2a 100644
--- a/drivers/crypto/openssl/rte_openssl_pmd.c
+++ b/drivers/crypto/openssl/rte_openssl_pmd.c
@@ -19,4 +19,5 @@
 #define DES_BLOCK_SIZE 8
 
+int openssl_logtype_driver;
 static uint8_t cryptodev_driver_id;
 
diff --git a/drivers/crypto/openssl/rte_openssl_pmd_private.h b/drivers/crypto/openssl/rte_openssl_pmd_private.h
index a8f2c8482b..2a9302bc19 100644
--- a/drivers/crypto/openssl/rte_openssl_pmd_private.h
+++ b/drivers/crypto/openssl/rte_openssl_pmd_private.h
@@ -17,5 +17,5 @@
 
 /** OPENSSL PMD LOGTYPE DRIVER */
-int openssl_logtype_driver;
+extern int openssl_logtype_driver;
 #define OPENSSL_LOG(level, fmt, ...)  \
 	rte_log(RTE_LOG_ ## level, openssl_logtype_driver,  \
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:01.013618789 +0100
+++ 0036-drivers-fix-log-type-variables-for-fno-common.patch	2020-05-28 17:12:59.101556400 +0100
@@ -1 +1 @@
-From 3071d471525443978a2ae7e0d068bc3ffcede80c Mon Sep 17 00:00:00 2001
+From aa50bd5cf2eb1aa4916a03361128a12a8f0ee03c Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3071d471525443978a2ae7e0d068bc3ffcede80c ]
+
@@ -17 +18,0 @@
-Cc: stable@dpdk.org
@@ -22,8 +23,8 @@
- drivers/compress/zlib/zlib_pmd.c                 | 2 ++
- drivers/compress/zlib/zlib_pmd_private.h         | 2 +-
- drivers/crypto/aesni_gcm/aesni_gcm_pmd.c         | 2 ++
- drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h | 2 +-
- drivers/crypto/aesni_mb/aesni_mb_pmd_private.h   | 2 +-
- drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c       | 2 ++
- drivers/crypto/openssl/openssl_pmd_private.h     | 2 +-
- drivers/crypto/openssl/rte_openssl_pmd.c         | 1 +
+ drivers/compress/zlib/zlib_pmd.c                   | 2 ++
+ drivers/compress/zlib/zlib_pmd_private.h           | 2 +-
+ drivers/crypto/aesni_gcm/aesni_gcm_pmd.c           | 2 ++
+ drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h   | 2 +-
+ drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c         | 2 ++
+ drivers/crypto/aesni_mb/rte_aesni_mb_pmd_private.h | 2 +-
+ drivers/crypto/openssl/rte_openssl_pmd.c           | 1 +
+ drivers/crypto/openssl/rte_openssl_pmd_private.h   | 2 +-
@@ -44 +45 @@
-index bda49759dc..e36c5dc615 100644
+index 2c6e83d45c..05e80d94ef 100644
@@ -55 +56 @@
-index a1caab9939..475d523ae1 100644
+index ebdf7c35a8..1975ad09d2 100644
@@ -66 +67 @@
-index 080d4f7e49..2763d1c492 100644
+index 92b0413547..20a619f1a9 100644
@@ -76,11 +76,0 @@
-diff --git a/drivers/crypto/aesni_mb/aesni_mb_pmd_private.h b/drivers/crypto/aesni_mb/aesni_mb_pmd_private.h
-index 3456693c25..b3cb2f1cf9 100644
---- a/drivers/crypto/aesni_mb/aesni_mb_pmd_private.h
-+++ b/drivers/crypto/aesni_mb/aesni_mb_pmd_private.h
-@@ -20,5 +20,5 @@ enum aesni_mb_vector_mode {
- 
- /** AESNI_MB PMD LOGTYPE DRIVER */
--int aesni_mb_logtype_driver;
-+extern int aesni_mb_logtype_driver;
- 
- #define AESNI_MB_LOG(level, fmt, ...)  \
@@ -88 +78 @@
-index 33f4167452..40feae3c62 100644
+index 45dd86a756..19652469e7 100644
@@ -92 +82 @@
- #include "aesni_mb_pmd_private.h"
+ #include "rte_aesni_mb_pmd_private.h"
@@ -98,5 +88,5 @@
-diff --git a/drivers/crypto/openssl/openssl_pmd_private.h b/drivers/crypto/openssl/openssl_pmd_private.h
-index 43ac3813df..b2054b3754 100644
---- a/drivers/crypto/openssl/openssl_pmd_private.h
-+++ b/drivers/crypto/openssl/openssl_pmd_private.h
-@@ -17,5 +17,5 @@
+diff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_private.h b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_private.h
+index d8021cdaa2..a7a417b6b5 100644
+--- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_private.h
++++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_private.h
+@@ -12,5 +12,5 @@
@@ -104,5 +94,5 @@
- /** OPENSSL PMD LOGTYPE DRIVER */
--int openssl_logtype_driver;
-+extern int openssl_logtype_driver;
- #define OPENSSL_LOG(level, fmt, ...)  \
- 	rte_log(RTE_LOG_ ## level, openssl_logtype_driver,  \
+ /** AESNI_MB PMD LOGTYPE DRIVER */
+-int aesni_mb_logtype_driver;
++extern int aesni_mb_logtype_driver;
+ 
+ #define AESNI_MB_LOG(level, fmt, ...)  \
@@ -110 +100 @@
-index 199097bf8c..b820f6171d 100644
+index 36122a43ce..7a922f5d2a 100644
@@ -118,0 +109,11 @@
+diff --git a/drivers/crypto/openssl/rte_openssl_pmd_private.h b/drivers/crypto/openssl/rte_openssl_pmd_private.h
+index a8f2c8482b..2a9302bc19 100644
+--- a/drivers/crypto/openssl/rte_openssl_pmd_private.h
++++ b/drivers/crypto/openssl/rte_openssl_pmd_private.h
+@@ -17,5 +17,5 @@
+ 
+ /** OPENSSL PMD LOGTYPE DRIVER */
+-int openssl_logtype_driver;
++extern int openssl_logtype_driver;
+ #define OPENSSL_LOG(level, fmt, ...)  \
+ 	rte_log(RTE_LOG_ ## level, openssl_logtype_driver,  \


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

* [dpdk-stable] patch 'drivers/crypto: fix log type variables for -fno-common' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (34 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'drivers: fix log type variables for -fno-common' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'test/crypto: fix flag check' " Kevin Traynor
                   ` (57 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Lukasz Wojciechowski; +Cc: Pablo de Lara, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/24219cd4b64cc7944c016ff1c98b883bc9c7f371

Thanks.

Kevin.

---
From 24219cd4b64cc7944c016ff1c98b883bc9c7f371 Mon Sep 17 00:00:00 2001
From: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Date: Wed, 15 Apr 2020 08:22:16 +0200
Subject: [PATCH] drivers/crypto: fix log type variables for -fno-common

[ upstream commit 6da6baf7631b53dd53d3a4c4c7d62d39da4921b6 ]

The four crypto drivers: kasumi, mvsam, snow3g and zuc define logtype
variables in their header file. As the header files are included
in more than one compilation unit, it might cause appearance
of multiple instances of the variable and a linker error.
Such situation can occur, when no common section is allowed
by the compiler settings and tentative definitions are placed
in BSS section.

Fixes: 2cba3814932e ("crypto/kasumi: add dynamic logging")
Fixes: a05a450f42fd ("crypto/mvsam: add dynamic logging")
Fixes: f3af5f9d1325 ("crypto/zuc: add dynamic logging")
Fixes: a3277ad47feb ("cryptodev: remove crypto device driver name")

Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 drivers/crypto/kasumi/rte_kasumi_pmd.c         | 1 +
 drivers/crypto/kasumi/rte_kasumi_pmd_private.h | 2 +-
 drivers/crypto/mvsam/rte_mrvl_pmd.c            | 1 +
 drivers/crypto/mvsam/rte_mrvl_pmd_private.h    | 2 +-
 drivers/crypto/snow3g/rte_snow3g_pmd.c         | 1 +
 drivers/crypto/snow3g/rte_snow3g_pmd_private.h | 2 +-
 drivers/crypto/zuc/rte_zuc_pmd.c               | 1 +
 drivers/crypto/zuc/rte_zuc_pmd_private.h       | 4 ++--
 8 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/drivers/crypto/kasumi/rte_kasumi_pmd.c b/drivers/crypto/kasumi/rte_kasumi_pmd.c
index 239a1cf441..2d33f14e76 100644
--- a/drivers/crypto/kasumi/rte_kasumi_pmd.c
+++ b/drivers/crypto/kasumi/rte_kasumi_pmd.c
@@ -18,4 +18,5 @@
 #define BYTE_LEN 8
 
+int kasumi_logtype_driver;
 static uint8_t cryptodev_driver_id;
 
diff --git a/drivers/crypto/kasumi/rte_kasumi_pmd_private.h b/drivers/crypto/kasumi/rte_kasumi_pmd_private.h
index 488777ca87..bb34a16f7c 100644
--- a/drivers/crypto/kasumi/rte_kasumi_pmd_private.h
+++ b/drivers/crypto/kasumi/rte_kasumi_pmd_private.h
@@ -12,5 +12,5 @@
 
 /** KASUMI PMD LOGTYPE DRIVER */
-int kasumi_logtype_driver;
+extern int kasumi_logtype_driver;
 
 #define KASUMI_LOG(level, fmt, ...)  \
diff --git a/drivers/crypto/mvsam/rte_mrvl_pmd.c b/drivers/crypto/mvsam/rte_mrvl_pmd.c
index 41301d7ec0..661e187e37 100644
--- a/drivers/crypto/mvsam/rte_mrvl_pmd.c
+++ b/drivers/crypto/mvsam/rte_mrvl_pmd.c
@@ -20,4 +20,5 @@
 #define MRVL_PMD_DEFAULT_MAX_NB_SESSIONS	2048
 
+int mrvl_logtype_driver;
 static uint8_t cryptodev_driver_id;
 
diff --git a/drivers/crypto/mvsam/rte_mrvl_pmd_private.h b/drivers/crypto/mvsam/rte_mrvl_pmd_private.h
index 6f8cf56248..200254cca6 100644
--- a/drivers/crypto/mvsam/rte_mrvl_pmd_private.h
+++ b/drivers/crypto/mvsam/rte_mrvl_pmd_private.h
@@ -14,5 +14,5 @@
 
 /** MRVL PMD LOGTYPE DRIVER */
-int mrvl_logtype_driver;
+extern int mrvl_logtype_driver;
 
 #define MRVL_LOG(level, fmt, ...) \
diff --git a/drivers/crypto/snow3g/rte_snow3g_pmd.c b/drivers/crypto/snow3g/rte_snow3g_pmd.c
index a17536b777..aa3277ff57 100644
--- a/drivers/crypto/snow3g/rte_snow3g_pmd.c
+++ b/drivers/crypto/snow3g/rte_snow3g_pmd.c
@@ -17,4 +17,5 @@
 #define BYTE_LEN 8
 
+int snow3g_logtype_driver;
 static uint8_t cryptodev_driver_id;
 
diff --git a/drivers/crypto/snow3g/rte_snow3g_pmd_private.h b/drivers/crypto/snow3g/rte_snow3g_pmd_private.h
index b7807b6216..debe0516b0 100644
--- a/drivers/crypto/snow3g/rte_snow3g_pmd_private.h
+++ b/drivers/crypto/snow3g/rte_snow3g_pmd_private.h
@@ -12,5 +12,5 @@
 
 /** SNOW 3G PMD LOGTYPE DRIVER */
-int snow3g_logtype_driver;
+extern int snow3g_logtype_driver;
 
 #define SNOW3G_LOG(level, fmt, ...)  \
diff --git a/drivers/crypto/zuc/rte_zuc_pmd.c b/drivers/crypto/zuc/rte_zuc_pmd.c
index 313f4590bf..64a0d7a812 100644
--- a/drivers/crypto/zuc/rte_zuc_pmd.c
+++ b/drivers/crypto/zuc/rte_zuc_pmd.c
@@ -15,4 +15,5 @@
 #define BYTE_LEN 8
 
+int zuc_logtype_driver;
 static uint8_t cryptodev_driver_id;
 
diff --git a/drivers/crypto/zuc/rte_zuc_pmd_private.h b/drivers/crypto/zuc/rte_zuc_pmd_private.h
index 5e5906ddb5..3d827052a5 100644
--- a/drivers/crypto/zuc/rte_zuc_pmd_private.h
+++ b/drivers/crypto/zuc/rte_zuc_pmd_private.h
@@ -9,8 +9,8 @@
 
 #define CRYPTODEV_NAME_ZUC_PMD		crypto_zuc
-/**< KASUMI PMD device name */
+/**< ZUC PMD device name */
 
 /** ZUC PMD LOGTYPE DRIVER */
-int zuc_logtype_driver;
+extern int zuc_logtype_driver;
 #define ZUC_LOG(level, fmt, ...)  \
 	rte_log(RTE_LOG_ ## level, zuc_logtype_driver,  \
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:01.066758625 +0100
+++ 0037-drivers-crypto-fix-log-type-variables-for-fno-common.patch	2020-05-28 17:12:59.105556310 +0100
@@ -1 +1 @@
-From 6da6baf7631b53dd53d3a4c4c7d62d39da4921b6 Mon Sep 17 00:00:00 2001
+From 24219cd4b64cc7944c016ff1c98b883bc9c7f371 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 6da6baf7631b53dd53d3a4c4c7d62d39da4921b6 ]
+
@@ -18 +19,0 @@
-Cc: stable@dpdk.org
@@ -23,8 +24,8 @@
- drivers/crypto/kasumi/kasumi_pmd_private.h | 2 +-
- drivers/crypto/kasumi/rte_kasumi_pmd.c     | 1 +
- drivers/crypto/mvsam/mrvl_pmd_private.h    | 2 +-
- drivers/crypto/mvsam/rte_mrvl_pmd.c        | 1 +
- drivers/crypto/snow3g/rte_snow3g_pmd.c     | 1 +
- drivers/crypto/snow3g/snow3g_pmd_private.h | 2 +-
- drivers/crypto/zuc/rte_zuc_pmd.c           | 1 +
- drivers/crypto/zuc/zuc_pmd_private.h       | 4 ++--
+ drivers/crypto/kasumi/rte_kasumi_pmd.c         | 1 +
+ drivers/crypto/kasumi/rte_kasumi_pmd_private.h | 2 +-
+ drivers/crypto/mvsam/rte_mrvl_pmd.c            | 1 +
+ drivers/crypto/mvsam/rte_mrvl_pmd_private.h    | 2 +-
+ drivers/crypto/snow3g/rte_snow3g_pmd.c         | 1 +
+ drivers/crypto/snow3g/rte_snow3g_pmd_private.h | 2 +-
+ drivers/crypto/zuc/rte_zuc_pmd.c               | 1 +
+ drivers/crypto/zuc/rte_zuc_pmd_private.h       | 4 ++--
@@ -33,11 +33,0 @@
-diff --git a/drivers/crypto/kasumi/kasumi_pmd_private.h b/drivers/crypto/kasumi/kasumi_pmd_private.h
-index 3b3a6958fd..b7f1c428b4 100644
---- a/drivers/crypto/kasumi/kasumi_pmd_private.h
-+++ b/drivers/crypto/kasumi/kasumi_pmd_private.h
-@@ -12,5 +12,5 @@
- 
- /** KASUMI PMD LOGTYPE DRIVER */
--int kasumi_logtype_driver;
-+extern int kasumi_logtype_driver;
- 
- #define KASUMI_LOG(level, fmt, ...)  \
@@ -45 +35 @@
-index baad5b4e77..d672648420 100644
+index 239a1cf441..2d33f14e76 100644
@@ -54,5 +44,5 @@
-diff --git a/drivers/crypto/mvsam/mrvl_pmd_private.h b/drivers/crypto/mvsam/mrvl_pmd_private.h
-index 09702b9e3e..e575330ef5 100644
---- a/drivers/crypto/mvsam/mrvl_pmd_private.h
-+++ b/drivers/crypto/mvsam/mrvl_pmd_private.h
-@@ -14,5 +14,5 @@
+diff --git a/drivers/crypto/kasumi/rte_kasumi_pmd_private.h b/drivers/crypto/kasumi/rte_kasumi_pmd_private.h
+index 488777ca87..bb34a16f7c 100644
+--- a/drivers/crypto/kasumi/rte_kasumi_pmd_private.h
++++ b/drivers/crypto/kasumi/rte_kasumi_pmd_private.h
+@@ -12,5 +12,5 @@
@@ -60,3 +50,3 @@
- /** MRVL PMD LOGTYPE DRIVER */
--int mrvl_logtype_driver;
-+extern int mrvl_logtype_driver;
+ /** KASUMI PMD LOGTYPE DRIVER */
+-int kasumi_logtype_driver;
++extern int kasumi_logtype_driver;
@@ -64 +54 @@
- #define MRVL_LOG(level, fmt, ...) \
+ #define KASUMI_LOG(level, fmt, ...)  \
@@ -66 +56 @@
-index 3c0fe216f0..63782ce974 100644
+index 41301d7ec0..661e187e37 100644
@@ -74,0 +65,11 @@
+diff --git a/drivers/crypto/mvsam/rte_mrvl_pmd_private.h b/drivers/crypto/mvsam/rte_mrvl_pmd_private.h
+index 6f8cf56248..200254cca6 100644
+--- a/drivers/crypto/mvsam/rte_mrvl_pmd_private.h
++++ b/drivers/crypto/mvsam/rte_mrvl_pmd_private.h
+@@ -14,5 +14,5 @@
+ 
+ /** MRVL PMD LOGTYPE DRIVER */
+-int mrvl_logtype_driver;
++extern int mrvl_logtype_driver;
+ 
+ #define MRVL_LOG(level, fmt, ...) \
@@ -76 +77 @@
-index d72112b5f4..8101eaaada 100644
+index a17536b777..aa3277ff57 100644
@@ -85,4 +86,4 @@
-diff --git a/drivers/crypto/snow3g/snow3g_pmd_private.h b/drivers/crypto/snow3g/snow3g_pmd_private.h
-index 2074f3d172..23cf078a9c 100644
---- a/drivers/crypto/snow3g/snow3g_pmd_private.h
-+++ b/drivers/crypto/snow3g/snow3g_pmd_private.h
+diff --git a/drivers/crypto/snow3g/rte_snow3g_pmd_private.h b/drivers/crypto/snow3g/rte_snow3g_pmd_private.h
+index b7807b6216..debe0516b0 100644
+--- a/drivers/crypto/snow3g/rte_snow3g_pmd_private.h
++++ b/drivers/crypto/snow3g/rte_snow3g_pmd_private.h
@@ -97 +98 @@
-index 9e06ab7c95..f47a7880de 100644
+index 313f4590bf..64a0d7a812 100644
@@ -106,4 +107,4 @@
-diff --git a/drivers/crypto/zuc/zuc_pmd_private.h b/drivers/crypto/zuc/zuc_pmd_private.h
-index 47a8b08dd7..d8684891ee 100644
---- a/drivers/crypto/zuc/zuc_pmd_private.h
-+++ b/drivers/crypto/zuc/zuc_pmd_private.h
+diff --git a/drivers/crypto/zuc/rte_zuc_pmd_private.h b/drivers/crypto/zuc/rte_zuc_pmd_private.h
+index 5e5906ddb5..3d827052a5 100644
+--- a/drivers/crypto/zuc/rte_zuc_pmd_private.h
++++ b/drivers/crypto/zuc/rte_zuc_pmd_private.h


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

* [dpdk-stable] patch 'test/crypto: fix flag check' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (35 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'drivers/crypto: " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'crypto/openssl: fix out-of-place encryption' " Kevin Traynor
                   ` (56 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Pablo de Lara; +Cc: Fiona Trahe, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/d76d109d743b6f68511c3ec51e43ed024bb64127

Thanks.

Kevin.

---
From d76d109d743b6f68511c3ec51e43ed024bb64127 Mon Sep 17 00:00:00 2001
From: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Date: Thu, 16 Apr 2020 18:12:46 +0100
Subject: [PATCH] test/crypto: fix flag check

[ upstream commit 042bb5654404643afcebef194d23f559606665ef ]

An incorrect flag check was done, using "&&" instead of "&".

Fixes: 2717246ecd7d ("cryptodev: replace mbuf scatter gather flag")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
---
 test/test/test_cryptodev_blockcipher.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/test/test/test_cryptodev_blockcipher.c b/test/test/test_cryptodev_blockcipher.c
index 4f1298ea21..660d5a7682 100644
--- a/test/test/test_cryptodev_blockcipher.c
+++ b/test/test/test_cryptodev_blockcipher.c
@@ -86,5 +86,5 @@ test_blockcipher_one_case(const struct blockcipher_test_case *t,
 		uint64_t oop_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT;
 
-		if (t->feature_mask && BLOCKCIPHER_TEST_FEATURE_OOP) {
+		if (t->feature_mask & BLOCKCIPHER_TEST_FEATURE_OOP) {
 			if (!(feat_flags & oop_flag)) {
 				printf("Device doesn't support out-of-place "
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:01.119621534 +0100
+++ 0038-test-crypto-fix-flag-check.patch	2020-05-28 17:12:59.106556287 +0100
@@ -1 +1 @@
-From 042bb5654404643afcebef194d23f559606665ef Mon Sep 17 00:00:00 2001
+From d76d109d743b6f68511c3ec51e43ed024bb64127 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 042bb5654404643afcebef194d23f559606665ef ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -14 +15 @@
- app/test/test_cryptodev_blockcipher.c | 2 +-
+ test/test/test_cryptodev_blockcipher.c | 2 +-
@@ -17,5 +18,5 @@
-diff --git a/app/test/test_cryptodev_blockcipher.c b/app/test/test_cryptodev_blockcipher.c
-index 2ff7fc91ba..4973c74a92 100644
---- a/app/test/test_cryptodev_blockcipher.c
-+++ b/app/test/test_cryptodev_blockcipher.c
-@@ -94,5 +94,5 @@ test_blockcipher_one_case(const struct blockcipher_test_case *t,
+diff --git a/test/test/test_cryptodev_blockcipher.c b/test/test/test_cryptodev_blockcipher.c
+index 4f1298ea21..660d5a7682 100644
+--- a/test/test/test_cryptodev_blockcipher.c
++++ b/test/test/test_cryptodev_blockcipher.c
+@@ -86,5 +86,5 @@ test_blockcipher_one_case(const struct blockcipher_test_case *t,


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

* [dpdk-stable] patch 'crypto/openssl: fix out-of-place encryption' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (36 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'test/crypto: fix flag check' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'security: fix verification of parameters' " Kevin Traynor
                   ` (55 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Pablo de Lara; +Cc: Akhil Goyal, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/f9127b70ba81b91bcb20aae28cef6b82a8597735

Thanks.

Kevin.

---
From f9127b70ba81b91bcb20aae28cef6b82a8597735 Mon Sep 17 00:00:00 2001
From: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Date: Tue, 14 Apr 2020 18:25:55 +0100
Subject: [PATCH] crypto/openssl: fix out-of-place encryption

[ upstream commit 1fa538faeb962ec7f54a1cdf8cba5271de15e17d ]

When authenticating after encrypting, if the operation
is out-of-place, the destination buffer is the one
that will get authenticated.
If the cipher offset is higher than the authentication
offset, it means that part of the text to authenticate
will be plaintext, so this needs to get copied to the
destination buffer, or the result will be incorrect.

Fixes: d61f70b4c918 ("crypto/libcrypto: add driver for OpenSSL library")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
---
 drivers/crypto/openssl/rte_openssl_pmd.c | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/drivers/crypto/openssl/rte_openssl_pmd.c b/drivers/crypto/openssl/rte_openssl_pmd.c
index 7a922f5d2a..a73c92ffd3 100644
--- a/drivers/crypto/openssl/rte_openssl_pmd.c
+++ b/drivers/crypto/openssl/rte_openssl_pmd.c
@@ -1999,4 +1999,24 @@ process_asym_op(struct openssl_qp *qp, struct rte_crypto_op *op,
 }
 
+static void
+copy_plaintext(struct rte_mbuf *m_src, struct rte_mbuf *m_dst,
+		struct rte_crypto_op *op)
+{
+	uint8_t *p_src, *p_dst;
+
+	p_src = rte_pktmbuf_mtod(m_src, uint8_t *);
+	p_dst = rte_pktmbuf_mtod(m_dst, uint8_t *);
+
+	/**
+	 * Copy the content between cipher offset and auth offset
+	 * for generating correct digest.
+	 */
+	if (op->sym->cipher.data.offset > op->sym->auth.data.offset)
+		memcpy(p_dst + op->sym->auth.data.offset,
+				p_src + op->sym->auth.data.offset,
+				op->sym->cipher.data.offset -
+				op->sym->auth.data.offset);
+}
+
 /** Process crypto operation for mbuf */
 static int
@@ -2021,4 +2041,7 @@ process_op(struct openssl_qp *qp, struct rte_crypto_op *op,
 	case OPENSSL_CHAIN_CIPHER_AUTH:
 		process_openssl_cipher_op(op, sess, msrc, mdst);
+		/* OOP */
+		if (msrc != mdst)
+			copy_plaintext(msrc, mdst, op);
 		process_openssl_auth_op(qp, op, sess, mdst, mdst);
 		break;
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:01.168641197 +0100
+++ 0039-crypto-openssl-fix-out-of-place-encryption.patch	2020-05-28 17:12:59.108556242 +0100
@@ -1 +1 @@
-From 1fa538faeb962ec7f54a1cdf8cba5271de15e17d Mon Sep 17 00:00:00 2001
+From f9127b70ba81b91bcb20aae28cef6b82a8597735 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 1fa538faeb962ec7f54a1cdf8cba5271de15e17d ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index b820f6171d..c294f60b7d 100644
+index 7a922f5d2a..a73c92ffd3 100644
@@ -27 +28 @@
-@@ -2039,4 +2039,24 @@ process_asym_op(struct openssl_qp *qp, struct rte_crypto_op *op,
+@@ -1999,4 +1999,24 @@ process_asym_op(struct openssl_qp *qp, struct rte_crypto_op *op,
@@ -52 +53 @@
-@@ -2061,4 +2081,7 @@ process_op(struct openssl_qp *qp, struct rte_crypto_op *op,
+@@ -2021,4 +2041,7 @@ process_op(struct openssl_qp *qp, struct rte_crypto_op *op,


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

* [dpdk-stable] patch 'security: fix verification of parameters' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (37 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'crypto/openssl: fix out-of-place encryption' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'security: fix return types in documentation' " Kevin Traynor
                   ` (54 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Lukasz Wojciechowski; +Cc: Anoob Joseph, Akhil Goyal, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/a50fdf67e881349037cc68db43874582cfa6d550

Thanks.

Kevin.

---
From a50fdf67e881349037cc68db43874582cfa6d550 Mon Sep 17 00:00:00 2001
From: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Date: Thu, 9 Apr 2020 19:24:50 +0200
Subject: [PATCH] security: fix verification of parameters

[ upstream commit b6ee98547847e64b527484ab453a9f81ff3ce067 ]

This patch adds verification of the parameters to the ret_security API
functions. All required parameters are checked if they are not NULL.

Checks verify full chain of pointers, e.g. in case of verification of
"instance->ops->session_XXX", they check also "instance"
and "instance->ops".

Fixes: c261d1431bd8 ("security: introduce security API and framework")
Fixes: 1a08c379b9b5 ("security: support user data retrieval")

Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Acked-by: Anoob Joseph <anoobj@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
---
 lib/librte_security/rte_security.c | 59 +++++++++++++++++++++++-------
 1 file changed, 46 insertions(+), 13 deletions(-)

diff --git a/lib/librte_security/rte_security.c b/lib/librte_security/rte_security.c
index a222b33cec..4f9639d693 100644
--- a/lib/librte_security/rte_security.c
+++ b/lib/librte_security/rte_security.c
@@ -2,4 +2,5 @@
  * Copyright 2017 NXP.
  * Copyright(c) 2017 Intel Corporation.
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
  */
 
@@ -10,4 +11,17 @@
 #include "rte_security_driver.h"
 
+/* Macro to check for invalid pointers */
+#define RTE_PTR_OR_ERR_RET(ptr, retval) do {	\
+	if ((ptr) == NULL)			\
+		return retval;			\
+} while (0)
+
+/* Macro to check for invalid pointers chains */
+#define RTE_PTR_CHAIN3_OR_ERR_RET(p1, p2, p3, retval, last_retval) do {	\
+	RTE_PTR_OR_ERR_RET(p1, retval);					\
+	RTE_PTR_OR_ERR_RET(p1->p2, retval);				\
+	RTE_PTR_OR_ERR_RET(p1->p2->p3, last_retval);			\
+} while (0)
+
 struct rte_security_session *
 rte_security_session_create(struct rte_security_ctx *instance,
@@ -17,8 +31,7 @@ rte_security_session_create(struct rte_security_ctx *instance,
 	struct rte_security_session *sess = NULL;
 
-	if (conf == NULL)
-		return NULL;
-
-	RTE_FUNC_PTR_OR_ERR_RET(*instance->ops->session_create, NULL);
+	RTE_PTR_CHAIN3_OR_ERR_RET(instance, ops, session_create, NULL, NULL);
+	RTE_PTR_OR_ERR_RET(conf, NULL);
+	RTE_PTR_OR_ERR_RET(mp, NULL);
 
 	if (rte_mempool_get(mp, (void **)&sess))
@@ -39,5 +52,9 @@ rte_security_session_update(struct rte_security_ctx *instance,
 			    struct rte_security_session_conf *conf)
 {
-	RTE_FUNC_PTR_OR_ERR_RET(*instance->ops->session_update, -ENOTSUP);
+	RTE_PTR_CHAIN3_OR_ERR_RET(instance, ops, session_update, -EINVAL,
+			-ENOTSUP);
+	RTE_PTR_OR_ERR_RET(sess, -EINVAL);
+	RTE_PTR_OR_ERR_RET(conf, -EINVAL);
+
 	return instance->ops->session_update(instance->device, sess, conf);
 }
@@ -46,5 +63,6 @@ unsigned int
 rte_security_session_get_size(struct rte_security_ctx *instance)
 {
-	RTE_FUNC_PTR_OR_ERR_RET(*instance->ops->session_get_size, 0);
+	RTE_PTR_CHAIN3_OR_ERR_RET(instance, ops, session_get_size, 0, 0);
+
 	return instance->ops->session_get_size(instance->device);
 }
@@ -55,5 +73,9 @@ rte_security_session_stats_get(struct rte_security_ctx *instance,
 			       struct rte_security_stats *stats)
 {
-	RTE_FUNC_PTR_OR_ERR_RET(*instance->ops->session_stats_get, -ENOTSUP);
+	RTE_PTR_CHAIN3_OR_ERR_RET(instance, ops, session_stats_get, -EINVAL,
+			-ENOTSUP);
+	/* Parameter sess can be NULL in case of getting global statistics. */
+	RTE_PTR_OR_ERR_RET(stats, -EINVAL);
+
 	return instance->ops->session_stats_get(instance->device, sess, stats);
 }
@@ -65,5 +87,7 @@ rte_security_session_destroy(struct rte_security_ctx *instance,
 	int ret;
 
-	RTE_FUNC_PTR_OR_ERR_RET(*instance->ops->session_destroy, -ENOTSUP);
+	RTE_PTR_CHAIN3_OR_ERR_RET(instance, ops, session_destroy, -EINVAL,
+			-ENOTSUP);
+	RTE_PTR_OR_ERR_RET(sess, -EINVAL);
 
 	if (instance->sess_cnt)
@@ -82,5 +106,9 @@ rte_security_set_pkt_metadata(struct rte_security_ctx *instance,
 			      struct rte_mbuf *m, void *params)
 {
-	RTE_FUNC_PTR_OR_ERR_RET(*instance->ops->set_pkt_metadata, -ENOTSUP);
+#ifdef RTE_DEBUG
+	RTE_PTR_CHAIN3_OR_ERR_RET(instance, ops, set_pkt_metadata, -EINVAL,
+			-ENOTSUP);
+	RTE_PTR_OR_ERR_RET(sess, -EINVAL);
+#endif
 	return instance->ops->set_pkt_metadata(instance->device,
 					       sess, m, params);
@@ -92,5 +120,7 @@ rte_security_get_userdata(struct rte_security_ctx *instance, uint64_t md)
 	void *userdata = NULL;
 
-	RTE_FUNC_PTR_OR_ERR_RET(*instance->ops->get_userdata, NULL);
+#ifdef RTE_DEBUG
+	RTE_PTR_CHAIN3_OR_ERR_RET(instance, ops, get_userdata, NULL, NULL);
+#endif
 	if (instance->ops->get_userdata(instance->device, md, &userdata))
 		return NULL;
@@ -102,5 +132,6 @@ const struct rte_security_capability *
 rte_security_capabilities_get(struct rte_security_ctx *instance)
 {
-	RTE_FUNC_PTR_OR_ERR_RET(*instance->ops->capabilities_get, NULL);
+	RTE_PTR_CHAIN3_OR_ERR_RET(instance, ops, capabilities_get, NULL, NULL);
+
 	return instance->ops->capabilities_get(instance->device);
 }
@@ -114,5 +145,7 @@ rte_security_capability_get(struct rte_security_ctx *instance,
 	uint16_t i = 0;
 
-	RTE_FUNC_PTR_OR_ERR_RET(*instance->ops->capabilities_get, NULL);
+	RTE_PTR_CHAIN3_OR_ERR_RET(instance, ops, capabilities_get, NULL, NULL);
+	RTE_PTR_OR_ERR_RET(idx, NULL);
+
 	capabilities = instance->ops->capabilities_get(instance->device);
 
@@ -122,5 +155,5 @@ rte_security_capability_get(struct rte_security_ctx *instance,
 	while ((capability = &capabilities[i++])->action
 			!= RTE_SECURITY_ACTION_TYPE_NONE) {
-		if (capability->action  == idx->action &&
+		if (capability->action == idx->action &&
 				capability->protocol == idx->protocol) {
 			if (idx->protocol == RTE_SECURITY_PROTOCOL_IPSEC) {
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:01.218668789 +0100
+++ 0040-security-fix-verification-of-parameters.patch	2020-05-28 17:12:59.108556242 +0100
@@ -1 +1 @@
-From b6ee98547847e64b527484ab453a9f81ff3ce067 Mon Sep 17 00:00:00 2001
+From a50fdf67e881349037cc68db43874582cfa6d550 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b6ee98547847e64b527484ab453a9f81ff3ce067 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index bc81ce15d1..38ccc2ea9c 100644
+index a222b33cec..4f9639d693 100644


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

* [dpdk-stable] patch 'security: fix return types in documentation' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (38 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'security: fix verification of parameters' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'security: fix session counter' " Kevin Traynor
                   ` (53 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Lukasz Wojciechowski; +Cc: Anoob Joseph, Akhil Goyal, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/d0819d07c086c827b8a2ffba6a106e746f7c58e4

Thanks.

Kevin.

---
From d0819d07c086c827b8a2ffba6a106e746f7c58e4 Mon Sep 17 00:00:00 2001
From: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Date: Thu, 9 Apr 2020 19:24:51 +0200
Subject: [PATCH] security: fix return types in documentation

[ upstream commit 3139b9568bf0889c76da7b7d728f17502d6ff5a9 ]

Enhance returned values description for rte_security_session_destroy
and some other minor description changes.

Fixes: c261d1431bd8 ("security: introduce security API and framework")

Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Acked-by: Anoob Joseph <anoobj@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
---
 lib/librte_security/rte_security.h | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/lib/librte_security/rte_security.h b/lib/librte_security/rte_security.h
index ad7898c72b..133ce9481c 100644
--- a/lib/librte_security/rte_security.h
+++ b/lib/librte_security/rte_security.h
@@ -343,5 +343,5 @@ rte_security_session_create(struct rte_security_ctx *instance,
  * @return
  *  - On success returns 0
- *  - On failure return errno
+ *  - On failure returns a negative errno value.
  */
 int __rte_experimental
@@ -367,10 +367,12 @@ rte_security_session_get_size(struct rte_security_ctx *instance);
  *
  * @param   instance	security instance
- * @param   sess	security session to freed
+ * @param   sess	security session to be freed
  *
  * @return
  *  - 0 if successful.
- *  - -EINVAL if session is NULL.
+ *  - -EINVAL if session or context instance is NULL.
  *  - -EBUSY if not all device private data has been freed.
+ *  - -ENOTSUP if destroying private data is not supported.
+ *  - other negative values in case of freeing private data errors.
  */
 int
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:01.265693809 +0100
+++ 0041-security-fix-return-types-in-documentation.patch	2020-05-28 17:12:59.109556219 +0100
@@ -1 +1 @@
-From 3139b9568bf0889c76da7b7d728f17502d6ff5a9 Mon Sep 17 00:00:00 2001
+From d0819d07c086c827b8a2ffba6a106e746f7c58e4 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3139b9568bf0889c76da7b7d728f17502d6ff5a9 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index ef47118fa7..747830d679 100644
+index ad7898c72b..133ce9481c 100644
@@ -23 +24 @@
-@@ -379,5 +379,5 @@ rte_security_session_create(struct rte_security_ctx *instance,
+@@ -343,5 +343,5 @@ rte_security_session_create(struct rte_security_ctx *instance,
@@ -29,2 +30,2 @@
- __rte_experimental
-@@ -404,10 +404,12 @@ rte_security_session_get_size(struct rte_security_ctx *instance);
+ int __rte_experimental
+@@ -367,10 +367,12 @@ rte_security_session_get_size(struct rte_security_ctx *instance);


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

* [dpdk-stable] patch 'security: fix session counter' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (39 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'security: fix return types in documentation' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'test: remove redundant macro' " Kevin Traynor
                   ` (52 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Lukasz Wojciechowski; +Cc: Anoob Joseph, Akhil Goyal, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/55e69e8b801281a3a6b568e5df12700c2bab3ade

Thanks.

Kevin.

---
From 55e69e8b801281a3a6b568e5df12700c2bab3ade Mon Sep 17 00:00:00 2001
From: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Date: Thu, 9 Apr 2020 19:24:52 +0200
Subject: [PATCH] security: fix session counter

[ upstream commit e36b5a87d6d0e1e209d85dc22419924cbe02056c ]

Fix session counter to be decreased in rte_security_session_destroy
only when session was successfully destroyed.

Formerly session counter was decreased prior session destroying
and returning session object to mempool. It remained decreased even
if session was not destroyed and mempool object released making counter
invalid.

Fixes: c261d1431bd8 ("security: introduce security API and framework")

Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Acked-by: Anoob Joseph <anoobj@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
---
 lib/librte_security/rte_security.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/lib/librte_security/rte_security.c b/lib/librte_security/rte_security.c
index 4f9639d693..56f30c88ba 100644
--- a/lib/librte_security/rte_security.c
+++ b/lib/librte_security/rte_security.c
@@ -91,12 +91,14 @@ rte_security_session_destroy(struct rte_security_ctx *instance,
 	RTE_PTR_OR_ERR_RET(sess, -EINVAL);
 
+	ret = instance->ops->session_destroy(instance->device, sess);
+	if (ret != 0)
+		return ret;
+
+	rte_mempool_put(rte_mempool_from_obj(sess), (void *)sess);
+
 	if (instance->sess_cnt)
 		instance->sess_cnt--;
 
-	ret = instance->ops->session_destroy(instance->device, sess);
-	if (!ret)
-		rte_mempool_put(rte_mempool_from_obj(sess), (void *)sess);
-
-	return ret;
+	return 0;
 }
 
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:01.314421212 +0100
+++ 0042-security-fix-session-counter.patch	2020-05-28 17:12:59.109556219 +0100
@@ -1 +1 @@
-From e36b5a87d6d0e1e209d85dc22419924cbe02056c Mon Sep 17 00:00:00 2001
+From 55e69e8b801281a3a6b568e5df12700c2bab3ade Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e36b5a87d6d0e1e209d85dc22419924cbe02056c ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index 38ccc2ea9c..d475b09771 100644
+index 4f9639d693..56f30c88ba 100644


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

* [dpdk-stable] patch 'test: remove redundant macro' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (40 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'security: fix session counter' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/mlx5: fix validation of VXLAN/VXLAN-GPE specs' " Kevin Traynor
                   ` (51 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Lukasz Wojciechowski; +Cc: Akhil Goyal, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/0b837f27950b59b60463f8cdcc56eb313a83a080

Thanks.

Kevin.

---
From 0b837f27950b59b60463f8cdcc56eb313a83a080 Mon Sep 17 00:00:00 2001
From: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Date: Thu, 9 Apr 2020 19:24:53 +0200
Subject: [PATCH] test: remove redundant macro

[ upstream commit 27ea35b743aa3c735d04848b5c795ae0b8cd311b ]

Remove RTE_TEST_TRACE_FAILURE macro definition from app/test/test.h
as it might be already defined and cause build problems.

Also it is good to leave the decision of additional logs to the final
user of test.h and rte_test.h

Fixes: 5afc521eac6a ("eal: add test assert macros")

Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
---
 test/test/test.h | 2 --
 1 file changed, 2 deletions(-)

diff --git a/test/test/test.h b/test/test/test.h
index 7c24432303..705a311068 100644
--- a/test/test/test.h
+++ b/test/test/test.h
@@ -23,6 +23,4 @@
 #endif
 
-#define RTE_TEST_TRACE_FAILURE TEST_TRACE_FAILURE
-
 #include <rte_test.h>
 
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:01.363263742 +0100
+++ 0043-test-remove-redundant-macro.patch	2020-05-28 17:12:59.110556197 +0100
@@ -1 +1 @@
-From 27ea35b743aa3c735d04848b5c795ae0b8cd311b Mon Sep 17 00:00:00 2001
+From 0b837f27950b59b60463f8cdcc56eb313a83a080 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 27ea35b743aa3c735d04848b5c795ae0b8cd311b ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
- app/test/test.h | 2 --
+ test/test/test.h | 2 --
@@ -21,4 +22,4 @@
-diff --git a/app/test/test.h b/app/test/test.h
-index ac0c50616c..b07f6c1ef0 100644
---- a/app/test/test.h
-+++ b/app/test/test.h
+diff --git a/test/test/test.h b/test/test/test.h
+index 7c24432303..705a311068 100644
+--- a/test/test/test.h
++++ b/test/test/test.h


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

* [dpdk-stable] patch 'net/mlx5: fix validation of VXLAN/VXLAN-GPE specs' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (41 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'test: remove redundant macro' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'examples/vmdq: fix output of pools/queues' " Kevin Traynor
                   ` (50 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Raslan Darawsheh; +Cc: Matan Azrad, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/e77da2c0c603d03afa91ae4c1b0eb3126dc08e6a

Thanks.

Kevin.

---
From e77da2c0c603d03afa91ae4c1b0eb3126dc08e6a Mon Sep 17 00:00:00 2001
From: Raslan Darawsheh <rasland@mellanox.com>
Date: Mon, 23 Mar 2020 16:21:33 +0200
Subject: [PATCH] net/mlx5: fix validation of VXLAN/VXLAN-GPE specs

[ upstream commit c79ab350a8976718d477d616f06678872a29b1b2 ]

Trying to create zero spec for vni wasn't allowed, to
avoid matching all packets from previous layer (udp).
This behavior is incorrect, since VXLAN is being identified
through the outer UDP destination port.

Currently, if the user didn't specify outer UDP destination
port the PMD will automatically match only on  outer
UDP port of 4798, and if the user want to match on some none
standard port he need to specify it explicitly in the rule.

This removes the limitation of vni spec to be able to match any
vni.

Fixes: 23c1d42c7138 ("net/mlx5: split flow validation to dedicated function")

Signed-off-by: Raslan Darawsheh <rasland@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
---
 drivers/net/mlx5/mlx5_flow.c | 31 -------------------------------
 1 file changed, 31 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 362fae56c4..0a0cd1be53 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -1441,5 +1441,4 @@ mlx5_flow_validate_item_vxlan(const struct rte_flow_item *item,
 		uint8_t vni[4];
 	} id = { .vlan_id = 0, };
-	uint32_t vlan_id = 0;
 
 
@@ -1468,21 +1467,6 @@ mlx5_flow_validate_item_vxlan(const struct rte_flow_item *item,
 	if (spec) {
 		memcpy(&id.vni[1], spec->vni, 3);
-		vlan_id = id.vlan_id;
 		memcpy(&id.vni[1], mask->vni, 3);
-		vlan_id &= id.vlan_id;
 	}
-	/*
-	 * Tunnel id 0 is equivalent as not adding a VXLAN layer, if
-	 * only this layer is defined in the Verbs specification it is
-	 * interpreted as wildcard and all packets will match this
-	 * rule, if it follows a full stack layer (ex: eth / ipv4 /
-	 * udp), all packets matching the layers before will also
-	 * match this rule.  To avoid such situation, VNI 0 is
-	 * currently refused.
-	 */
-	if (!vlan_id)
-		return rte_flow_error_set(error, ENOTSUP,
-					  RTE_FLOW_ERROR_TYPE_ITEM, item,
-					  "VXLAN vni cannot be 0");
 	if (!(item_flags & MLX5_FLOW_LAYER_OUTER))
 		return rte_flow_error_set(error, ENOTSUP,
@@ -1523,5 +1507,4 @@ mlx5_flow_validate_item_vxlan_gpe(const struct rte_flow_item *item,
 		uint8_t vni[4];
 	} id = { .vlan_id = 0, };
-	uint32_t vlan_id = 0;
 
 	if (!priv->config.l3_vxlan_en)
@@ -1561,20 +1544,6 @@ mlx5_flow_validate_item_vxlan_gpe(const struct rte_flow_item *item,
 						  " not supported");
 		memcpy(&id.vni[1], spec->vni, 3);
-		vlan_id = id.vlan_id;
 		memcpy(&id.vni[1], mask->vni, 3);
-		vlan_id &= id.vlan_id;
 	}
-	/*
-	 * Tunnel id 0 is equivalent as not adding a VXLAN layer, if only this
-	 * layer is defined in the Verbs specification it is interpreted as
-	 * wildcard and all packets will match this rule, if it follows a full
-	 * stack layer (ex: eth / ipv4 / udp), all packets matching the layers
-	 * before will also match this rule.  To avoid such situation, VNI 0
-	 * is currently refused.
-	 */
-	if (!vlan_id)
-		return rte_flow_error_set(error, ENOTSUP,
-					  RTE_FLOW_ERROR_TYPE_ITEM, item,
-					  "VXLAN-GPE vni cannot be 0");
 	if (!(item_flags & MLX5_FLOW_LAYER_OUTER))
 		return rte_flow_error_set(error, ENOTSUP,
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:01.412417524 +0100
+++ 0044-net-mlx5-fix-validation-of-VXLAN-VXLAN-GPE-specs.patch	2020-05-28 17:12:59.112556151 +0100
@@ -1 +1 @@
-From c79ab350a8976718d477d616f06678872a29b1b2 Mon Sep 17 00:00:00 2001
+From e77da2c0c603d03afa91ae4c1b0eb3126dc08e6a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c79ab350a8976718d477d616f06678872a29b1b2 ]
+
@@ -20 +21,0 @@
-Cc: stable@dpdk.org
@@ -29 +30 @@
-index 41072da6df..2ef6558495 100644
+index 362fae56c4..0a0cd1be53 100644
@@ -32 +33 @@
-@@ -1837,5 +1837,4 @@ mlx5_flow_validate_item_vxlan(const struct rte_flow_item *item,
+@@ -1441,5 +1441,4 @@ mlx5_flow_validate_item_vxlan(const struct rte_flow_item *item,
@@ -38 +39 @@
-@@ -1864,21 +1863,6 @@ mlx5_flow_validate_item_vxlan(const struct rte_flow_item *item,
+@@ -1468,21 +1467,6 @@ mlx5_flow_validate_item_vxlan(const struct rte_flow_item *item,
@@ -60 +61 @@
-@@ -1919,5 +1903,4 @@ mlx5_flow_validate_item_vxlan_gpe(const struct rte_flow_item *item,
+@@ -1523,5 +1507,4 @@ mlx5_flow_validate_item_vxlan_gpe(const struct rte_flow_item *item,
@@ -66 +67 @@
-@@ -1957,20 +1940,6 @@ mlx5_flow_validate_item_vxlan_gpe(const struct rte_flow_item *item,
+@@ -1561,20 +1544,6 @@ mlx5_flow_validate_item_vxlan_gpe(const struct rte_flow_item *item,


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

* [dpdk-stable] patch 'examples/vmdq: fix output of pools/queues' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (42 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/mlx5: fix validation of VXLAN/VXLAN-GPE specs' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/mvneta: do not use PMD log type' " Kevin Traynor
                   ` (49 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Junyu Jiang; +Cc: Xiaoyun Li, Yingya Han, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/626b59eba5e6f9d2f035bc8d7d79ac888490f273

Thanks.

Kevin.

---
From 626b59eba5e6f9d2f035bc8d7d79ac888490f273 Mon Sep 17 00:00:00 2001
From: Junyu Jiang <junyux.jiang@intel.com>
Date: Mon, 2 Mar 2020 06:41:21 +0000
Subject: [PATCH] examples/vmdq: fix output of pools/queues

[ upstream commit 70c37e32083468e0496e5b12dbdd99d7a95d8b15 ]

To match the pools/queues configuration, the pools/queues output
should start from VMDQ base queue. This patch fixed the issue.

Fixes: 6bb97df521aa ("examples/vmdq: new app")

Signed-off-by: Junyu Jiang <junyux.jiang@intel.com>
Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
Tested-by: Yingya Han <yingyax.han@intel.com>
---
 examples/vmdq/main.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/examples/vmdq/main.c b/examples/vmdq/main.c
index 627a5da485..7e0e1a8bc3 100644
--- a/examples/vmdq/main.c
+++ b/examples/vmdq/main.c
@@ -425,8 +425,9 @@ static void
 sighup_handler(int signum)
 {
-	unsigned q;
-	for (q = 0; q < num_queues; q++) {
-		if (q % (num_queues/num_pools) == 0)
-			printf("\nPool %u: ", q/(num_queues/num_pools));
+	unsigned int q = vmdq_queue_base;
+	for (; q < num_queues; q++) {
+		if ((q - vmdq_queue_base) % (num_vmdq_queues / num_pools) == 0)
+			printf("\nPool %u: ", (q - vmdq_queue_base) /
+			       (num_vmdq_queues / num_pools));
 		printf("%lu ", rxPackets[q]);
 	}
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:01.468277978 +0100
+++ 0045-examples-vmdq-fix-output-of-pools-queues.patch	2020-05-28 17:12:59.113556129 +0100
@@ -1 +1 @@
-From 70c37e32083468e0496e5b12dbdd99d7a95d8b15 Mon Sep 17 00:00:00 2001
+From 626b59eba5e6f9d2f035bc8d7d79ac888490f273 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 70c37e32083468e0496e5b12dbdd99d7a95d8b15 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 67aa558887..a66dd533c8 100644
+index 627a5da485..7e0e1a8bc3 100644
@@ -23 +24 @@
-@@ -442,8 +442,9 @@ static void
+@@ -425,8 +425,9 @@ static void


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

* [dpdk-stable] patch 'net/mvneta: do not use PMD log type' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (43 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'examples/vmdq: fix output of pools/queues' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/virtio: " Kevin Traynor
                   ` (48 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/a5510debff8494fdf70aeb7633104cdce48cf4c3

Thanks.

Kevin.

---
From a5510debff8494fdf70aeb7633104cdce48cf4c3 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Mon, 30 Mar 2020 21:41:50 -0700
Subject: [PATCH] net/mvneta: do not use PMD log type

[ upstream commit cb0205ce0a5440d68f5e320aa52cb737193857ac ]

The PMD logtype is legacy and should not be used.

Fixes: 3378383dceab ("net/mvneta: support statistics reset")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/mvneta/mvneta_ethdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/mvneta/mvneta_ethdev.c b/drivers/net/mvneta/mvneta_ethdev.c
index 919856885a..950a4be75b 100644
--- a/drivers/net/mvneta/mvneta_ethdev.c
+++ b/drivers/net/mvneta/mvneta_ethdev.c
@@ -731,5 +731,5 @@ mvneta_stats_reset(struct rte_eth_dev *dev)
 	ret = mvneta_stats_get(dev, &priv->prev_stats);
 	if (unlikely(ret))
-		RTE_LOG(ERR, PMD, "Failed to reset port statistics");
+		MVNETA_LOG(ERR, "Failed to reset port statistics");
 }
 
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:01.515708523 +0100
+++ 0046-net-mvneta-do-not-use-PMD-log-type.patch	2020-05-28 17:12:59.114556106 +0100
@@ -1 +1 @@
-From cb0205ce0a5440d68f5e320aa52cb737193857ac Mon Sep 17 00:00:00 2001
+From a5510debff8494fdf70aeb7633104cdce48cf4c3 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit cb0205ce0a5440d68f5e320aa52cb737193857ac ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index 865ad61aed..4aea876488 100644
+index 919856885a..950a4be75b 100644
@@ -21 +22 @@
-@@ -752,5 +752,5 @@ mvneta_stats_reset(struct rte_eth_dev *dev)
+@@ -731,5 +731,5 @@ mvneta_stats_reset(struct rte_eth_dev *dev)
@@ -25,0 +27 @@
+ }
@@ -27 +28,0 @@
- 	return ret;


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

* [dpdk-stable] patch 'net/virtio: do not use PMD log type' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (44 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/mvneta: do not use PMD log type' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/tap: " Kevin Traynor
                   ` (47 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/38aef4ba560e3107affaf98a9918e71a142454f4

Thanks.

Kevin.

---
From 38aef4ba560e3107affaf98a9918e71a142454f4 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Mon, 30 Mar 2020 21:41:51 -0700
Subject: [PATCH] net/virtio: do not use PMD log type

[ upstream commit 88fa5bb6b9807d55a3fbd34e5537fcf1ee7efb80 ]

Virtio driver has its own logtype and should not use legacy
PMD logtype.

Fixes: 32c118fd0059 ("virtio: free mbuf's with threshold")
Fixes: e5f456a98d3c ("net/virtio: support in-order Rx and Tx")
Fixes: 1c8489da561b ("net/virtio-user: fix multi-process support")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/virtio/virtio_rxtx.c        | 6 +++---
 drivers/net/virtio/virtio_user_ethdev.c | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c
index db2d1f1c1e..8ce5c33940 100644
--- a/drivers/net/virtio/virtio_rxtx.c
+++ b/drivers/net/virtio/virtio_rxtx.c
@@ -709,5 +709,5 @@ virtio_dev_tx_queue_setup(struct rte_eth_dev *dev,
 
 	if (tx_free_thresh >= (vq->vq_nentries - 3)) {
-		RTE_LOG(ERR, PMD, "tx_free_thresh must be less than the "
+		PMD_DRV_LOG(ERR, "tx_free_thresh must be less than the "
 			"number of TX entries minus 3 (%u)."
 			" (tx_free_thresh=%u port=%u queue=%u)\n",
@@ -752,5 +752,5 @@ virtio_discard_rxbuf(struct virtqueue *vq, struct rte_mbuf *m)
 
 	if (unlikely(error)) {
-		RTE_LOG(ERR, PMD, "cannot requeue discarded mbuf");
+		PMD_DRV_LOG(ERR, "cannot requeue discarded mbuf");
 		rte_pktmbuf_free(m);
 	}
@@ -764,5 +764,5 @@ virtio_discard_rxbuf_inorder(struct virtqueue *vq, struct rte_mbuf *m)
 	error = virtqueue_enqueue_refill_inorder(vq, &m, 1);
 	if (unlikely(error)) {
-		RTE_LOG(ERR, PMD, "cannot requeue discarded mbuf");
+		PMD_DRV_LOG(ERR, "cannot requeue discarded mbuf");
 		rte_pktmbuf_free(m);
 	}
diff --git a/drivers/net/virtio/virtio_user_ethdev.c b/drivers/net/virtio/virtio_user_ethdev.c
index 63b647dc52..7a2de2ac1a 100644
--- a/drivers/net/virtio/virtio_user_ethdev.c
+++ b/drivers/net/virtio/virtio_user_ethdev.c
@@ -472,5 +472,5 @@ virtio_user_pmd_probe(struct rte_vdev_device *dev)
 		eth_dev = rte_eth_dev_attach_secondary(name);
 		if (!eth_dev) {
-			RTE_LOG(ERR, PMD, "Failed to probe %s\n", name);
+			PMD_INIT_LOG(ERR, "Failed to probe %s", name);
 			return -1;
 		}
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:01.564718440 +0100
+++ 0047-net-virtio-do-not-use-PMD-log-type.patch	2020-05-28 17:12:59.116556061 +0100
@@ -1 +1 @@
-From 88fa5bb6b9807d55a3fbd34e5537fcf1ee7efb80 Mon Sep 17 00:00:00 2001
+From 38aef4ba560e3107affaf98a9918e71a142454f4 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 88fa5bb6b9807d55a3fbd34e5537fcf1ee7efb80 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 752faa0f6e..060410577a 100644
+index db2d1f1c1e..8ce5c33940 100644
@@ -25 +26 @@
-@@ -1086,5 +1086,5 @@ virtio_dev_tx_queue_setup(struct rte_eth_dev *dev,
+@@ -709,5 +709,5 @@ virtio_dev_tx_queue_setup(struct rte_eth_dev *dev,
@@ -32 +33 @@
-@@ -1134,5 +1134,5 @@ virtio_discard_rxbuf(struct virtqueue *vq, struct rte_mbuf *m)
+@@ -752,5 +752,5 @@ virtio_discard_rxbuf(struct virtqueue *vq, struct rte_mbuf *m)
@@ -39 +40 @@
-@@ -1146,5 +1146,5 @@ virtio_discard_rxbuf_inorder(struct virtqueue *vq, struct rte_mbuf *m)
+@@ -764,5 +764,5 @@ virtio_discard_rxbuf_inorder(struct virtqueue *vq, struct rte_mbuf *m)
@@ -47 +48 @@
-index e61af40683..5637001dfc 100644
+index 63b647dc52..7a2de2ac1a 100644
@@ -50 +51 @@
-@@ -562,5 +562,5 @@ virtio_user_pmd_probe(struct rte_vdev_device *dev)
+@@ -472,5 +472,5 @@ virtio_user_pmd_probe(struct rte_vdev_device *dev)


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

* [dpdk-stable] patch 'net/tap: do not use PMD log type' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (45 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/virtio: " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/bnxt: " Kevin Traynor
                   ` (46 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/e66682dac7aac575666c04841d57f980f9692198

Thanks.

Kevin.

---
From e66682dac7aac575666c04841d57f980f9692198 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Mon, 30 Mar 2020 21:41:52 -0700
Subject: [PATCH] net/tap: do not use PMD log type

[ upstream commit bd3b90d53a62c2147f747dfaf863117f39099a32 ]

The PMD logtype is legacy and drivers should use their own logtype.

Fixes: 050316a88313 ("net/tap: support TSO (TCP Segment Offload)")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/tap/rte_eth_tap.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
index 3a8aa44a73..9964f39db5 100644
--- a/drivers/net/tap/rte_eth_tap.c
+++ b/drivers/net/tap/rte_eth_tap.c
@@ -781,5 +781,5 @@ apply:
 		break;
 	default:
-		RTE_LOG(WARNING, PMD, "%s: ioctl() called with wrong arg\n",
+		TAP_LOG(WARNING, "%s: ioctl() called with wrong arg",
 			pmd->name);
 		return -EINVAL;
@@ -1233,5 +1233,7 @@ tap_gso_ctx_setup(struct rte_gso_ctx *gso_ctx, struct rte_eth_dev *dev)
 		if (!mp) {
 			struct pmd_internals *pmd = dev->data->dev_private;
-			RTE_LOG(DEBUG, PMD, "%s: failed to create mbuf pool for device %s\n",
+
+			TAP_LOG(ERR,
+				"%s: failed to create mbuf pool for device %s\n",
 				pmd->name, dev->device->name);
 			return -1;
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:01.619751792 +0100
+++ 0048-net-tap-do-not-use-PMD-log-type.patch	2020-05-28 17:12:59.119555993 +0100
@@ -1 +1 @@
-From bd3b90d53a62c2147f747dfaf863117f39099a32 Mon Sep 17 00:00:00 2001
+From e66682dac7aac575666c04841d57f980f9692198 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit bd3b90d53a62c2147f747dfaf863117f39099a32 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index 05470a2115..2c9fb76b63 100644
+index 3a8aa44a73..9964f39db5 100644
@@ -21 +22 @@
-@@ -779,5 +779,5 @@ apply:
+@@ -781,5 +781,5 @@ apply:
@@ -28 +29 @@
-@@ -1302,5 +1302,7 @@ tap_gso_ctx_setup(struct rte_gso_ctx *gso_ctx, struct rte_eth_dev *dev)
+@@ -1233,5 +1233,7 @@ tap_gso_ctx_setup(struct rte_gso_ctx *gso_ctx, struct rte_eth_dev *dev)


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

* [dpdk-stable] patch 'net/bnxt: do not use PMD log type' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (46 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/tap: " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/dpaa: use dynamic " Kevin Traynor
                   ` (45 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Somnath Kotur, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/beb011f22efece074ea9ae350157550def3ec665

Thanks.

Kevin.

---
From beb011f22efece074ea9ae350157550def3ec665 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Mon, 30 Mar 2020 21:41:54 -0700
Subject: [PATCH] net/bnxt: do not use PMD log type

[ upstream commit 9122478fe88d272223d1eb8f612b96ca05bf9c81 ]

Accidental use of PMD logtype rather than per-driver logtype.

Fixes: 14255b351537 ("net/bnxt: fix queue start/stop operations")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Somnath Kotur <somnath.kotur@broadcom.com>
---
 drivers/net/bnxt/bnxt_ring.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/bnxt/bnxt_ring.c b/drivers/net/bnxt/bnxt_ring.c
index 85bb7a623d..40edfe52df 100644
--- a/drivers/net/bnxt/bnxt_ring.c
+++ b/drivers/net/bnxt/bnxt_ring.c
@@ -332,5 +332,5 @@ int bnxt_alloc_hwrm_rx_ring(struct bnxt *bp, int queue_index)
 	if (rxq->rx_started) {
 		if (bnxt_init_one_rx_ring(rxq)) {
-			RTE_LOG(ERR, PMD,
+			PMD_DRV_LOG(ERR,
 				"bnxt_init_one_rx_ring failed!\n");
 			bnxt_rx_queue_release_op(rxq);
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:01.670373904 +0100
+++ 0049-net-bnxt-do-not-use-PMD-log-type.patch	2020-05-28 17:12:59.119555993 +0100
@@ -1 +1 @@
-From 9122478fe88d272223d1eb8f612b96ca05bf9c81 Mon Sep 17 00:00:00 2001
+From beb011f22efece074ea9ae350157550def3ec665 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 9122478fe88d272223d1eb8f612b96ca05bf9c81 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index d6e4e8a281..1999cd7861 100644
+index 85bb7a623d..40edfe52df 100644
@@ -21 +22 @@
-@@ -599,5 +599,5 @@ int bnxt_alloc_hwrm_rx_ring(struct bnxt *bp, int queue_index)
+@@ -332,5 +332,5 @@ int bnxt_alloc_hwrm_rx_ring(struct bnxt *bp, int queue_index)


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

* [dpdk-stable] patch 'net/dpaa: use dynamic log type' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (47 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/bnxt: " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/thunderx: " Kevin Traynor
                   ` (44 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/84c30c50224735a4b52e6284e8369c126cf048a9

Thanks.

Kevin.

---
From 84c30c50224735a4b52e6284e8369c126cf048a9 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Mon, 30 Mar 2020 21:41:55 -0700
Subject: [PATCH] net/dpaa: use dynamic log type

[ upstream commit b7c7ff6e3b34ac088237f85cf4ac5cc30c859a18 ]

The static PMD logtype should not be used by drivers.
Instead, use existing log macros in this driver.

Also use standard rte_ether routine to format ether address.

Fixes: 37f9b54bd3cf ("net/dpaa: support Tx and Rx queue setup")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/dpaa/dpaa_ethdev.c | 23 ++++++++---------------
 1 file changed, 8 insertions(+), 15 deletions(-)

diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c
index f41a01e113..adbf5f6074 100644
--- a/drivers/net/dpaa/dpaa_ethdev.c
+++ b/drivers/net/dpaa/dpaa_ethdev.c
@@ -828,6 +828,6 @@ dpaa_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id)
 
 	if (qman_query_fq_frm_cnt(rxq, &frm_cnt) == 0) {
-		RTE_LOG(DEBUG, PMD, "RX frame count for q(%d) is %u\n",
-			rx_queue_id, frm_cnt);
+		DPAA_PMD_DEBUG("RX frame count for q(%d) is %u",
+			       rx_queue_id, frm_cnt);
 	}
 	return frm_cnt;
@@ -943,6 +943,5 @@ dpaa_dev_add_mac_addr(struct rte_eth_dev *dev,
 
 	if (ret)
-		RTE_LOG(ERR, PMD, "error: Adding the MAC ADDR failed:"
-			" err = %d", ret);
+		DPAA_PMD_ERR("Adding the MAC ADDR failed: err = %d", ret);
 	return 0;
 }
@@ -970,5 +969,5 @@ dpaa_dev_set_mac_addr(struct rte_eth_dev *dev,
 	ret = fman_if_add_mac_addr(dpaa_intf->fif, addr->addr_bytes, 0);
 	if (ret)
-		RTE_LOG(ERR, PMD, "error: Setting the MAC ADDR failed %d", ret);
+		DPAA_PMD_ERR("Setting the MAC ADDR failed %d", ret);
 
 	return ret;
@@ -1220,4 +1219,5 @@ dpaa_dev_init(struct rte_eth_dev *eth_dev)
 	struct fman_if_bpool *bp, *tmp_bp;
 	uint32_t cgrid[DPAA_MAX_NUM_PCD_QUEUES];
+	char eth_buf[ETHER_ADDR_FMT_SIZE];
 
 	PMD_INIT_FUNC_TRACE();
@@ -1366,13 +1366,7 @@ dpaa_dev_init(struct rte_eth_dev *eth_dev)
 	/* copy the primary mac address */
 	ether_addr_copy(&fman_intf->mac_addr, &eth_dev->data->mac_addrs[0]);
+	ether_format_addr(eth_buf, sizeof(eth_buf), &fman_intf->mac_addr);
 
-	RTE_LOG(INFO, PMD, "net: dpaa: %s: %02x:%02x:%02x:%02x:%02x:%02x\n",
-		dpaa_device->name,
-		fman_intf->mac_addr.addr_bytes[0],
-		fman_intf->mac_addr.addr_bytes[1],
-		fman_intf->mac_addr.addr_bytes[2],
-		fman_intf->mac_addr.addr_bytes[3],
-		fman_intf->mac_addr.addr_bytes[4],
-		fman_intf->mac_addr.addr_bytes[5]);
+	DPAA_PMD_INFO("net: dpaa: %s: %s", dpaa_device->name, eth_buf);
 
 	/* Disable RX mode */
@@ -1501,6 +1495,5 @@ rte_dpaa_probe(struct rte_dpaa_driver *dpaa_drv __rte_unused,
 
 		if (access("/tmp/fmc.bin", F_OK) == -1) {
-			RTE_LOG(INFO, PMD,
-				"* FMC not configured.Enabling default mode\n");
+			DPAA_PMD_INFO("* FMC not configured.Enabling default mode");
 			default_q = 1;
 		}
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:01.718576186 +0100
+++ 0050-net-dpaa-use-dynamic-log-type.patch	2020-05-28 17:12:59.121555948 +0100
@@ -1 +1 @@
-From b7c7ff6e3b34ac088237f85cf4ac5cc30c859a18 Mon Sep 17 00:00:00 2001
+From 84c30c50224735a4b52e6284e8369c126cf048a9 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b7c7ff6e3b34ac088237f85cf4ac5cc30c859a18 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index fce9ce2feb..5f81968d80 100644
+index f41a01e113..adbf5f6074 100644
@@ -24 +25 @@
-@@ -882,6 +882,6 @@ dpaa_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id)
+@@ -828,6 +828,6 @@ dpaa_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id)
@@ -33 +34 @@
-@@ -997,6 +997,5 @@ dpaa_dev_add_mac_addr(struct rte_eth_dev *dev,
+@@ -943,6 +943,5 @@ dpaa_dev_add_mac_addr(struct rte_eth_dev *dev,
@@ -41 +42 @@
-@@ -1024,5 +1023,5 @@ dpaa_dev_set_mac_addr(struct rte_eth_dev *dev,
+@@ -970,5 +969,5 @@ dpaa_dev_set_mac_addr(struct rte_eth_dev *dev,
@@ -48 +49 @@
-@@ -1307,4 +1306,5 @@ dpaa_dev_init(struct rte_eth_dev *eth_dev)
+@@ -1220,4 +1219,5 @@ dpaa_dev_init(struct rte_eth_dev *eth_dev)
@@ -51 +52 @@
-+	char eth_buf[RTE_ETHER_ADDR_FMT_SIZE];
++	char eth_buf[ETHER_ADDR_FMT_SIZE];
@@ -54 +55 @@
-@@ -1458,13 +1458,7 @@ dpaa_dev_init(struct rte_eth_dev *eth_dev)
+@@ -1366,13 +1366,7 @@ dpaa_dev_init(struct rte_eth_dev *eth_dev)
@@ -56,2 +57,2 @@
- 	rte_ether_addr_copy(&fman_intf->mac_addr, &eth_dev->data->mac_addrs[0]);
-+	rte_ether_format_addr(eth_buf, sizeof(eth_buf), &fman_intf->mac_addr);
+ 	ether_addr_copy(&fman_intf->mac_addr, &eth_dev->data->mac_addrs[0]);
++	ether_format_addr(eth_buf, sizeof(eth_buf), &fman_intf->mac_addr);
@@ -70,2 +71,2 @@
-@@ -1579,6 +1573,5 @@ rte_dpaa_probe(struct rte_dpaa_driver *dpaa_drv __rte_unused,
- 	if (!is_global_init && (rte_eal_process_type() == RTE_PROC_PRIMARY)) {
+@@ -1501,6 +1495,5 @@ rte_dpaa_probe(struct rte_dpaa_driver *dpaa_drv __rte_unused,
+ 


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

* [dpdk-stable] patch 'net/thunderx: use dynamic log type' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (48 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/dpaa: use dynamic " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/tap: remove unused assert' " Kevin Traynor
                   ` (43 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/989e1816ae51560bb07f60d42adb86cca98db845

Thanks.

Kevin.

---
From 989e1816ae51560bb07f60d42adb86cca98db845 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Mon, 30 Mar 2020 21:41:56 -0700
Subject: [PATCH] net/thunderx: use dynamic log type

[ upstream commit d801c39559b346f26e3d3a8e16a92bb19e0165b9 ]

The PMD static logtype is original DPDK legacy and should not be used.

Fixes: 43362c6a7647 ("net/thunderx: support RSS and RETA query and update")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/thunderx/nicvf_ethdev.c | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c
index ae5a33e3a1..d627a3bb70 100644
--- a/drivers/net/thunderx/nicvf_ethdev.c
+++ b/drivers/net/thunderx/nicvf_ethdev.c
@@ -489,7 +489,8 @@ nicvf_dev_reta_query(struct rte_eth_dev *dev,
 
 	if (reta_size != NIC_MAX_RSS_IDR_TBL_SIZE) {
-		RTE_LOG(ERR, PMD, "The size of hash lookup table configured "
-			"(%d) doesn't match the number hardware can supported "
-			"(%d)", reta_size, NIC_MAX_RSS_IDR_TBL_SIZE);
+		PMD_DRV_LOG(ERR,
+			    "The size of hash lookup table configured "
+			    "(%u) doesn't match the number hardware can supported "
+			    "(%u)", reta_size, NIC_MAX_RSS_IDR_TBL_SIZE);
 		return -EINVAL;
 	}
@@ -519,7 +520,7 @@ nicvf_dev_reta_update(struct rte_eth_dev *dev,
 
 	if (reta_size != NIC_MAX_RSS_IDR_TBL_SIZE) {
-		RTE_LOG(ERR, PMD, "The size of hash lookup table configured "
-			"(%d) doesn't match the number hardware can supported "
-			"(%d)", reta_size, NIC_MAX_RSS_IDR_TBL_SIZE);
+		PMD_DRV_LOG(ERR, "The size of hash lookup table configured "
+			"(%u) doesn't match the number hardware can supported "
+			"(%u)", reta_size, NIC_MAX_RSS_IDR_TBL_SIZE);
 		return -EINVAL;
 	}
@@ -562,6 +563,6 @@ nicvf_dev_rss_hash_update(struct rte_eth_dev *dev,
 	if (rss_conf->rss_key &&
 		rss_conf->rss_key_len != RSS_HASH_KEY_BYTE_SIZE) {
-		RTE_LOG(ERR, PMD, "Hash key size mismatch %d",
-				rss_conf->rss_key_len);
+		PMD_DRV_LOG(ERR, "Hash key size mismatch %u",
+			    rss_conf->rss_key_len);
 		return -EINVAL;
 	}
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:01.767252438 +0100
+++ 0051-net-thunderx-use-dynamic-log-type.patch	2020-05-28 17:12:59.123555903 +0100
@@ -1 +1 @@
-From d801c39559b346f26e3d3a8e16a92bb19e0165b9 Mon Sep 17 00:00:00 2001
+From 989e1816ae51560bb07f60d42adb86cca98db845 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d801c39559b346f26e3d3a8e16a92bb19e0165b9 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index 6f43541a5d..bfda0ab0ed 100644
+index ae5a33e3a1..d627a3bb70 100644
@@ -21 +22 @@
-@@ -497,7 +497,8 @@ nicvf_dev_reta_query(struct rte_eth_dev *dev,
+@@ -489,7 +489,8 @@ nicvf_dev_reta_query(struct rte_eth_dev *dev,
@@ -33 +34 @@
-@@ -527,7 +528,7 @@ nicvf_dev_reta_update(struct rte_eth_dev *dev,
+@@ -519,7 +520,7 @@ nicvf_dev_reta_update(struct rte_eth_dev *dev,
@@ -44 +45 @@
-@@ -570,6 +571,6 @@ nicvf_dev_rss_hash_update(struct rte_eth_dev *dev,
+@@ -562,6 +563,6 @@ nicvf_dev_rss_hash_update(struct rte_eth_dev *dev,


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

* [dpdk-stable] patch 'net/tap: remove unused assert' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (49 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/thunderx: " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/octeontx: fix meson build for disabled drivers' " Kevin Traynor
                   ` (42 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Yunjian Wang; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/206b15059a696044d796e430bfe010209d55c10d

Thanks.

Kevin.

---
From 206b15059a696044d796e430bfe010209d55c10d Mon Sep 17 00:00:00 2001
From: Yunjian Wang <wangyunjian@huawei.com>
Date: Wed, 25 Mar 2020 11:04:56 +0800
Subject: [PATCH] net/tap: remove unused assert

[ upstream commit 252566dab58820ccdae67865646160c07af18e76 ]

The assert checks is not necessary, the gso_ctx is always non-NULL.

Fixes: 050316a88313 ("net/tap: support TSO (TCP Segment Offload)")

Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/tap/rte_eth_tap.c | 3 ---
 drivers/net/tap/tap_intr.c    | 1 -
 2 files changed, 4 deletions(-)

diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
index 9964f39db5..7b3954621e 100644
--- a/drivers/net/tap/rte_eth_tap.c
+++ b/drivers/net/tap/rte_eth_tap.c
@@ -20,5 +20,4 @@
 #include <rte_errno.h>
 
-#include <assert.h>
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -674,6 +673,4 @@ pmd_tx_burst(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
 			struct rte_gso_ctx *gso_ctx = &txq->gso_ctx;
 
-			assert(gso_ctx != NULL);
-
 			/* TCP segmentation implies TCP checksum offload */
 			mbuf_in->ol_flags |= PKT_TX_TCP_CKSUM;
diff --git a/drivers/net/tap/tap_intr.c b/drivers/net/tap/tap_intr.c
index 7af0010e37..58f36d3ccb 100644
--- a/drivers/net/tap/tap_intr.c
+++ b/drivers/net/tap/tap_intr.c
@@ -8,5 +8,4 @@
  */
 
-#include <assert.h>
 #include <errno.h>
 #include <fcntl.h>
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:01.818379086 +0100
+++ 0052-net-tap-remove-unused-assert.patch	2020-05-28 17:12:59.125555857 +0100
@@ -1 +1 @@
-From 252566dab58820ccdae67865646160c07af18e76 Mon Sep 17 00:00:00 2001
+From 206b15059a696044d796e430bfe010209d55c10d Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 252566dab58820ccdae67865646160c07af18e76 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 2c9fb76b63..4b2168e440 100644
+index 9964f39db5..7b3954621e 100644
@@ -28 +29 @@
-@@ -672,6 +671,4 @@ pmd_tx_burst(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
+@@ -674,6 +673,4 @@ pmd_tx_burst(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)


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

* [dpdk-stable] patch 'net/octeontx: fix meson build for disabled drivers' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (50 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/tap: remove unused assert' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/netvsc: propagate descriptor limits from VF' " Kevin Traynor
                   ` (41 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Amit Gupta; +Cc: Bruce Richardson, Harman Kalra, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/7610bf2a8240a892461a4b9f3c6a112436696aa1

Thanks.

Kevin.

---
From 7610bf2a8240a892461a4b9f3c6a112436696aa1 Mon Sep 17 00:00:00 2001
From: Amit Gupta <agupta3@marvell.com>
Date: Wed, 4 Mar 2020 11:17:04 +0530
Subject: [PATCH] net/octeontx: fix meson build for disabled drivers

[ upstream commit be284df0829254f5b84bb965acbecef0aa2ae043 ]

Add a condition to check if octeontx drivers are disabled.
octeontx drivers are built only if dependent drivers i.e.
ethdev, mempool and common/octeontx are enabled.

Bugzilla ID: 387
Fixes: 7f615033d64f ("drivers/net: build Cavium NIC PMDs with meson")

Signed-off-by: Amit Gupta <agupta3@marvell.com>
Reviewed-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Harman Kalra <hkalra@marvell.com>
---
 drivers/net/octeontx/base/meson.build | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/octeontx/base/meson.build b/drivers/net/octeontx/base/meson.build
index a06a2c89c9..e1060fc4ec 100644
--- a/drivers/net/octeontx/base/meson.build
+++ b/drivers/net/octeontx/base/meson.build
@@ -11,5 +11,8 @@ depends = ['ethdev', 'mempool_octeontx']
 static_objs = []
 foreach d: depends
-	static_objs += [get_variable('static_rte_' + d)]
+	if not is_variable('shared_rte_' + d)
+		subdir_done()
+	endif
+	static_objs += get_variable('static_rte_' + d)
 endforeach
 
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:01.870722255 +0100
+++ 0053-net-octeontx-fix-meson-build-for-disabled-drivers.patch	2020-05-28 17:12:59.126555835 +0100
@@ -1 +1 @@
-From be284df0829254f5b84bb965acbecef0aa2ae043 Mon Sep 17 00:00:00 2001
+From 7610bf2a8240a892461a4b9f3c6a112436696aa1 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit be284df0829254f5b84bb965acbecef0aa2ae043 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index b72104170e..b8fe4b3013 100644
+index a06a2c89c9..e1060fc4ec 100644


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

* [dpdk-stable] patch 'net/netvsc: propagate descriptor limits from VF' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (51 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/octeontx: fix meson build for disabled drivers' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/netvsc: handle Rx packets during multi-channel setup' " Kevin Traynor
                   ` (40 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/b3f55241fbbe62c6a6b5c76a5725d4e6ce627f07

Thanks.

Kevin.

---
From b3f55241fbbe62c6a6b5c76a5725d4e6ce627f07 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 31 Mar 2020 10:13:57 -0700
Subject: [PATCH] net/netvsc: propagate descriptor limits from VF

[ upstream commit 4bc7dc1110ac9284b07150a13436e2b0ca5a62d0 ]

If application cares about descriptor limits, the netvsc device
values should reflect those of the VF as well.

Fixes: dc7680e8597c ("net/netvsc: support integrated VF")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/net/netvsc/hn_vf.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/drivers/net/netvsc/hn_vf.c b/drivers/net/netvsc/hn_vf.c
index 50f92a00ae..86485235ae 100644
--- a/drivers/net/netvsc/hn_vf.c
+++ b/drivers/net/netvsc/hn_vf.c
@@ -171,4 +171,15 @@ hn_nvs_handle_vfassoc(struct rte_eth_dev *dev,
 }
 
+static void
+hn_vf_merge_desc_lim(struct rte_eth_desc_lim *lim,
+		     const struct rte_eth_desc_lim *vf_lim)
+{
+	lim->nb_max = RTE_MIN(vf_lim->nb_max, lim->nb_max);
+	lim->nb_min = RTE_MAX(vf_lim->nb_min, lim->nb_min);
+	lim->nb_align = RTE_MAX(vf_lim->nb_align, lim->nb_align);
+	lim->nb_seg_max = RTE_MIN(vf_lim->nb_seg_max, lim->nb_seg_max);
+	lim->nb_mtu_seg_max = RTE_MIN(vf_lim->nb_seg_max, lim->nb_seg_max);
+}
+
 /*
  * Merge the info from the VF and synthetic path.
@@ -197,4 +208,5 @@ static void hn_vf_info_merge(struct rte_eth_dev *vf_dev,
 	info->tx_offload_capa &= vf_info.tx_offload_capa;
 	info->tx_queue_offload_capa &= vf_info.tx_queue_offload_capa;
+	hn_vf_merge_desc_lim(&info->tx_desc_lim, &vf_info.tx_desc_lim);
 
 	info->min_rx_bufsize = RTE_MAX(vf_info.min_rx_bufsize,
@@ -202,4 +214,5 @@ static void hn_vf_info_merge(struct rte_eth_dev *vf_dev,
 	info->max_rx_pktlen  = RTE_MAX(vf_info.max_rx_pktlen,
 				       info->max_rx_pktlen);
+	hn_vf_merge_desc_lim(&info->rx_desc_lim, &vf_info.rx_desc_lim);
 }
 
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:01.919447647 +0100
+++ 0054-net-netvsc-propagate-descriptor-limits-from-VF.patch	2020-05-28 17:12:59.126555835 +0100
@@ -1 +1 @@
-From 4bc7dc1110ac9284b07150a13436e2b0ca5a62d0 Mon Sep 17 00:00:00 2001
+From b3f55241fbbe62c6a6b5c76a5725d4e6ce627f07 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4bc7dc1110ac9284b07150a13436e2b0ca5a62d0 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index 7a3734cadf..1261b2e2ef 100644
+index 50f92a00ae..86485235ae 100644
@@ -21 +22 @@
-@@ -168,4 +168,15 @@ hn_nvs_handle_vfassoc(struct rte_eth_dev *dev,
+@@ -171,4 +171,15 @@ hn_nvs_handle_vfassoc(struct rte_eth_dev *dev,
@@ -37 +38 @@
-@@ -197,4 +208,5 @@ static int hn_vf_info_merge(struct rte_eth_dev *vf_dev,
+@@ -197,4 +208,5 @@ static void hn_vf_info_merge(struct rte_eth_dev *vf_dev,
@@ -43 +44 @@
-@@ -202,4 +214,5 @@ static int hn_vf_info_merge(struct rte_eth_dev *vf_dev,
+@@ -202,4 +214,5 @@ static void hn_vf_info_merge(struct rte_eth_dev *vf_dev,
@@ -46,0 +48 @@
+ }
@@ -48 +49,0 @@
- 	return 0;


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

* [dpdk-stable] patch 'net/netvsc: handle Rx packets during multi-channel setup' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (52 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/netvsc: propagate descriptor limits from VF' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/netvsc: split send buffers from Tx descriptors' " Kevin Traynor
                   ` (39 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/67a8ca9cf19175b044dc22ce97aace035b6ee134

Thanks.

Kevin.

---
From 67a8ca9cf19175b044dc22ce97aace035b6ee134 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 31 Mar 2020 10:13:58 -0700
Subject: [PATCH] net/netvsc: handle Rx packets during multi-channel setup

[ upstream commit 107f3cf31047e09a146e8ebc3d232f3de9d55466 ]

It is possible for a packet to arrive during the configuration
process when setting up multiple queue mode. This would cause
configure to fail; fix by just ignoring receive packets while
waiting for control commands.

Use the receive ring lock to avoid possible races between
oddly behaved applications doing rx_burst and control operations
concurrently.

Fixes: 4e9c73e96e83 ("net/netvsc: add Hyper-V network device")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/net/netvsc/hn_nvs.c | 41 +++++++++++++++++++++++++++++++++++--
 1 file changed, 39 insertions(+), 2 deletions(-)

diff --git a/drivers/net/netvsc/hn_nvs.c b/drivers/net/netvsc/hn_nvs.c
index d58770e045..76a7281f1b 100644
--- a/drivers/net/netvsc/hn_nvs.c
+++ b/drivers/net/netvsc/hn_nvs.c
@@ -55,5 +55,5 @@ static int hn_nvs_req_send(struct hn_data *hv,
 
 static int
-hn_nvs_execute(struct hn_data *hv,
+__hn_nvs_execute(struct hn_data *hv,
 	       void *req, uint32_t reqlen,
 	       void *resp, uint32_t resplen,
@@ -63,4 +63,5 @@ hn_nvs_execute(struct hn_data *hv,
 	char buffer[NVS_RESPSIZE_MAX];
 	const struct hn_nvs_hdr *hdr;
+	uint64_t xactid;
 	uint32_t len;
 	int ret;
@@ -78,5 +79,5 @@ hn_nvs_execute(struct hn_data *hv,
  retry:
 	len = sizeof(buffer);
-	ret = rte_vmbus_chan_recv(chan, buffer, &len, NULL);
+	ret = rte_vmbus_chan_recv(chan, buffer, &len, &xactid);
 	if (ret == -EAGAIN) {
 		rte_delay_us(HN_CHAN_INTERVAL_US);
@@ -89,5 +90,18 @@ hn_nvs_execute(struct hn_data *hv,
 	}
 
+	if (len < sizeof(*hdr)) {
+		PMD_DRV_LOG(ERR, "response missing NVS header");
+		return -EINVAL;
+	}
+
 	hdr = (struct hn_nvs_hdr *)buffer;
+
+	/* Silently drop received packets while waiting for response */
+	if (hdr->type == NVS_TYPE_RNDIS) {
+		hn_nvs_ack_rxbuf(chan, xactid);
+		--hv->rxbuf_outstanding;
+		goto retry;
+	}
+
 	if (hdr->type != type) {
 		PMD_DRV_LOG(ERR, "unexpected NVS resp %#x, expect %#x",
@@ -109,4 +123,27 @@ hn_nvs_execute(struct hn_data *hv,
 }
 
+
+/*
+ * Execute one control command and get the response.
+ * Only one command can be active on a channel at once
+ * Unlike BSD, DPDK does not have an interrupt context
+ * so the polling is required to wait for response.
+ */
+static int
+hn_nvs_execute(struct hn_data *hv,
+	       void *req, uint32_t reqlen,
+	       void *resp, uint32_t resplen,
+	       uint32_t type)
+{
+	struct hn_rx_queue *rxq = hv->primary;
+	int ret;
+
+	rte_spinlock_lock(&rxq->ring_lock);
+	ret = __hn_nvs_execute(hv, req, reqlen, resp, resplen, type);
+	rte_spinlock_unlock(&rxq->ring_lock);
+
+	return ret;
+}
+
 static int
 hn_nvs_doinit(struct hn_data *hv, uint32_t nvs_ver)
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:01.967374747 +0100
+++ 0055-net-netvsc-handle-Rx-packets-during-multi-channel-se.patch	2020-05-28 17:12:59.127555812 +0100
@@ -1 +1 @@
-From 107f3cf31047e09a146e8ebc3d232f3de9d55466 Mon Sep 17 00:00:00 2001
+From 67a8ca9cf19175b044dc22ce97aace035b6ee134 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 107f3cf31047e09a146e8ebc3d232f3de9d55466 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index 6b518685ab..477202b2a0 100644
+index d58770e045..76a7281f1b 100644


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

* [dpdk-stable] patch 'net/netvsc: split send buffers from Tx descriptors' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (53 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/netvsc: handle Rx packets during multi-channel setup' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/netvsc: fix memory free on device close' " Kevin Traynor
                   ` (38 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/570ceb4cce401850005b7590a4e669533da73173

Thanks.

Kevin.

---
From 570ceb4cce401850005b7590a4e669533da73173 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 31 Mar 2020 10:13:59 -0700
Subject: [PATCH] net/netvsc: split send buffers from Tx descriptors

[ upstream commit cc0251813277fcf43b930b43ab4a423ed7536120 ]

The VMBus has reserved transmit area (per device) and transmit
descriptors (per queue). The previous code was always having a 1:1
mapping between send buffers and descriptors.
This can lead to one queue starving another and also buffer bloat.

Change to working more like FreeBSD where there is a pool of transmit
descriptors per queue. If send buffer is not available then no
aggregation happens but the queue can still drain.

Fixes: 4e9c73e96e83 ("net/netvsc: add Hyper-V network device")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/net/netvsc/hn_ethdev.c |   9 +-
 drivers/net/netvsc/hn_rxtx.c   | 269 ++++++++++++++++++++-------------
 drivers/net/netvsc/hn_var.h    |  10 +-
 3 files changed, 179 insertions(+), 109 deletions(-)

diff --git a/drivers/net/netvsc/hn_ethdev.c b/drivers/net/netvsc/hn_ethdev.c
index 04efd092ec..d452bb4f7e 100644
--- a/drivers/net/netvsc/hn_ethdev.c
+++ b/drivers/net/netvsc/hn_ethdev.c
@@ -241,4 +241,7 @@ static void hn_dev_info_get(struct rte_eth_dev *dev,
 	dev_info->max_tx_queues = hv->max_queues;
 
+	dev_info->tx_desc_lim.nb_min = 1;
+	dev_info->tx_desc_lim.nb_max = 4096;
+
 	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
 		return;
@@ -777,5 +780,5 @@ eth_hn_dev_init(struct rte_eth_dev *eth_dev)
 		goto failed;
 
-	err = hn_tx_pool_init(eth_dev);
+	err = hn_chim_init(eth_dev);
 	if (err)
 		goto failed;
@@ -813,5 +816,5 @@ failed:
 	PMD_INIT_LOG(NOTICE, "device init failed");
 
-	hn_tx_pool_uninit(eth_dev);
+	hn_chim_uninit(eth_dev);
 	hn_detach(hv);
 	return err;
@@ -836,5 +839,5 @@ eth_hn_dev_uninit(struct rte_eth_dev *eth_dev)
 
 	hn_detach(hv);
-	hn_tx_pool_uninit(eth_dev);
+	hn_chim_uninit(eth_dev);
 	rte_vmbus_chan_close(hv->primary->chan);
 	rte_free(hv->primary);
diff --git a/drivers/net/netvsc/hn_rxtx.c b/drivers/net/netvsc/hn_rxtx.c
index 5ffc0ee145..06408250a8 100644
--- a/drivers/net/netvsc/hn_rxtx.c
+++ b/drivers/net/netvsc/hn_rxtx.c
@@ -19,4 +19,5 @@
 #include <rte_malloc.h>
 #include <rte_atomic.h>
+#include <rte_bitmap.h>
 #include <rte_branch_prediction.h>
 #include <rte_ether.h>
@@ -84,5 +85,5 @@ struct hn_txdesc {
 
 	uint16_t	queue_id;
-	uint16_t	chim_index;
+	uint32_t	chim_index;
 	uint32_t	chim_size;
 	uint32_t	data_size;
@@ -99,9 +100,11 @@ struct hn_txdesc {
 	 RNDIS_PKTINFO_SIZE(NDIS_TXCSUM_INFO_SIZE))
 
+#define HN_RNDIS_PKT_ALIGNED	RTE_ALIGN(HN_RNDIS_PKT_LEN, RTE_CACHE_LINE_SIZE)
+
 /* Minimum space required for a packet */
 #define HN_PKTSIZE_MIN(align) \
 	RTE_ALIGN(ETHER_MIN_LEN + HN_RNDIS_PKT_LEN, align)
 
-#define DEFAULT_TX_FREE_THRESH 32U
+#define DEFAULT_TX_FREE_THRESH 32
 
 static void
@@ -151,61 +154,75 @@ static void hn_txd_init(struct rte_mempool *mp __rte_unused,
 			void *opaque, void *obj, unsigned int idx)
 {
+	struct hn_tx_queue *txq = opaque;
 	struct hn_txdesc *txd = obj;
-	struct rte_eth_dev *dev = opaque;
-	struct rndis_packet_msg *pkt;
 
 	memset(txd, 0, sizeof(*txd));
-	txd->chim_index = idx;
 
-	pkt = rte_malloc_socket("RNDIS_TX", HN_RNDIS_PKT_LEN,
-				rte_align32pow2(HN_RNDIS_PKT_LEN),
-				dev->device->numa_node);
-	if (!pkt)
-		rte_exit(EXIT_FAILURE, "can not allocate RNDIS header");
-
-	txd->rndis_pkt = pkt;
+	txd->queue_id = txq->queue_id;
+	txd->chim_index = NVS_CHIM_IDX_INVALID;
+	txd->rndis_pkt = (struct rndis_packet_msg *)(char *)txq->tx_rndis
+		+ idx * HN_RNDIS_PKT_ALIGNED;
 }
 
-/*
- * Unlike Linux and FreeBSD, this driver uses a mempool
- * to limit outstanding transmits and reserve buffers
- */
 int
-hn_tx_pool_init(struct rte_eth_dev *dev)
+hn_chim_init(struct rte_eth_dev *dev)
 {
 	struct hn_data *hv = dev->data->dev_private;
-	char name[RTE_MEMPOOL_NAMESIZE];
-	struct rte_mempool *mp;
+	uint32_t i, chim_bmp_size;
 
-	snprintf(name, sizeof(name),
-		 "hn_txd_%u", dev->data->port_id);
-
-	PMD_INIT_LOG(DEBUG, "create a TX send pool %s n=%u size=%zu socket=%d",
-		     name, hv->chim_cnt, sizeof(struct hn_txdesc),
-		     dev->device->numa_node);
+	rte_spinlock_init(&hv->chim_lock);
+	chim_bmp_size = rte_bitmap_get_memory_footprint(hv->chim_cnt);
+	hv->chim_bmem = rte_zmalloc("hn_chim_bitmap", chim_bmp_size,
+				    RTE_CACHE_LINE_SIZE);
+	if (hv->chim_bmem == NULL) {
+		PMD_INIT_LOG(ERR, "failed to allocate bitmap size %u",
+			     chim_bmp_size);
+		return -1;
+	}
 
-	mp = rte_mempool_create(name, hv->chim_cnt, sizeof(struct hn_txdesc),
-				HN_TXD_CACHE_SIZE, 0,
-				NULL, NULL,
-				hn_txd_init, dev,
-				dev->device->numa_node, 0);
-	if (!mp) {
-		PMD_DRV_LOG(ERR,
-			    "mempool %s create failed: %d", name, rte_errno);
-		return -rte_errno;
+	hv->chim_bmap = rte_bitmap_init(hv->chim_cnt,
+					hv->chim_bmem, chim_bmp_size);
+	if (hv->chim_bmap == NULL) {
+		PMD_INIT_LOG(ERR, "failed to init chim bitmap");
+		return -1;
 	}
 
-	hv->tx_pool = mp;
+	for (i = 0; i < hv->chim_cnt; i++)
+		rte_bitmap_set(hv->chim_bmap, i);
+
 	return 0;
 }
 
 void
-hn_tx_pool_uninit(struct rte_eth_dev *dev)
+hn_chim_uninit(struct rte_eth_dev *dev)
 {
 	struct hn_data *hv = dev->data->dev_private;
 
-	if (hv->tx_pool) {
-		rte_mempool_free(hv->tx_pool);
-		hv->tx_pool = NULL;
+	rte_bitmap_free(hv->chim_bmap);
+	rte_free(hv->chim_bmem);
+	hv->chim_bmem = NULL;
+}
+
+static uint32_t hn_chim_alloc(struct hn_data *hv)
+{
+	uint32_t index = NVS_CHIM_IDX_INVALID;
+	uint64_t slab;
+
+	rte_spinlock_lock(&hv->chim_lock);
+	if (rte_bitmap_scan(hv->chim_bmap, &index, &slab))
+		rte_bitmap_clear(hv->chim_bmap, index);
+	rte_spinlock_unlock(&hv->chim_lock);
+
+	return index;
+}
+
+static void hn_chim_free(struct hn_data *hv, uint32_t chim_idx)
+{
+	if (chim_idx >= hv->chim_cnt) {
+		PMD_DRV_LOG(ERR, "Invalid chimney index %u", chim_idx);
+	} else {
+		rte_spinlock_lock(&hv->chim_lock);
+		rte_bitmap_set(hv->chim_bmap, chim_idx);
+		rte_spinlock_unlock(&hv->chim_lock);
 	}
 }
@@ -221,5 +238,5 @@ static void hn_reset_txagg(struct hn_tx_queue *txq)
 int
 hn_dev_tx_queue_setup(struct rte_eth_dev *dev,
-		      uint16_t queue_idx, uint16_t nb_desc __rte_unused,
+		      uint16_t queue_idx, uint16_t nb_desc,
 		      unsigned int socket_id,
 		      const struct rte_eth_txconf *tx_conf)
@@ -228,6 +245,7 @@ hn_dev_tx_queue_setup(struct rte_eth_dev *dev,
 	struct hn_data *hv = dev->data->dev_private;
 	struct hn_tx_queue *txq;
+	char name[RTE_MEMPOOL_NAMESIZE];
 	uint32_t tx_free_thresh;
-	int err;
+	int err = -ENOMEM;
 
 	PMD_INIT_FUNC_TRACE();
@@ -245,12 +263,40 @@ hn_dev_tx_queue_setup(struct rte_eth_dev *dev,
 	tx_free_thresh = tx_conf->tx_free_thresh;
 	if (tx_free_thresh == 0)
-		tx_free_thresh = RTE_MIN(hv->chim_cnt / 4,
+		tx_free_thresh = RTE_MIN(nb_desc / 4,
 					 DEFAULT_TX_FREE_THRESH);
 
-	if (tx_free_thresh >= hv->chim_cnt - 3)
-		tx_free_thresh = hv->chim_cnt - 3;
+	if (tx_free_thresh + 3 >= nb_desc) {
+		PMD_INIT_LOG(ERR,
+			     "tx_free_thresh must be less than the number of TX entries minus 3(%u)."
+			     " (tx_free_thresh=%u port=%u queue=%u)\n",
+			     nb_desc - 3,
+			     tx_free_thresh, dev->data->port_id, queue_idx);
+		return -EINVAL;
+	}
 
 	txq->free_thresh = tx_free_thresh;
 
+	snprintf(name, sizeof(name),
+		 "hn_txd_%u_%u", dev->data->port_id, queue_idx);
+
+	PMD_INIT_LOG(DEBUG, "TX descriptor pool %s n=%u size=%zu",
+		     name, nb_desc, sizeof(struct hn_txdesc));
+
+	txq->tx_rndis = rte_calloc("hn_txq_rndis", nb_desc,
+				   HN_RNDIS_PKT_ALIGNED, RTE_CACHE_LINE_SIZE);
+	if (txq->tx_rndis == NULL)
+		goto error;
+
+	txq->txdesc_pool = rte_mempool_create(name, nb_desc,
+					      sizeof(struct hn_txdesc),
+					      0, 0, NULL, NULL,
+					      hn_txd_init, txq,
+					      dev->device->numa_node, 0);
+	if (txq->txdesc_pool == NULL) {
+		PMD_DRV_LOG(ERR,
+			    "mempool %s create failed: %d", name, rte_errno);
+		goto error;
+	}
+
 	txq->agg_szmax  = RTE_MIN(hv->chim_szmax, hv->rndis_agg_size);
 	txq->agg_pktmax = hv->rndis_agg_pkts;
@@ -261,11 +307,39 @@ hn_dev_tx_queue_setup(struct rte_eth_dev *dev,
 	err = hn_vf_tx_queue_setup(dev, queue_idx, nb_desc,
 				     socket_id, tx_conf);
-	if (err) {
-		rte_free(txq);
-		return err;
+	if (err == 0) {
+		dev->data->tx_queues[queue_idx] = txq;
+		return 0;
 	}
 
-	dev->data->tx_queues[queue_idx] = txq;
-	return 0;
+error:
+	if (txq->txdesc_pool)
+		rte_mempool_free(txq->txdesc_pool);
+	rte_free(txq->tx_rndis);
+	rte_free(txq);
+	return err;
+}
+
+
+static struct hn_txdesc *hn_txd_get(struct hn_tx_queue *txq)
+{
+	struct hn_txdesc *txd;
+
+	if (rte_mempool_get(txq->txdesc_pool, (void **)&txd)) {
+		++txq->stats.ring_full;
+		PMD_TX_LOG(DEBUG, "tx pool exhausted!");
+		return NULL;
+	}
+
+	txd->m = NULL;
+	txd->packets = 0;
+	txd->data_size = 0;
+	txd->chim_size = 0;
+
+	return txd;
+}
+
+static void hn_txd_put(struct hn_tx_queue *txq, struct hn_txdesc *txd)
+{
+	rte_mempool_put(txq->txdesc_pool, txd);
 }
 
@@ -274,5 +348,4 @@ hn_dev_tx_queue_release(void *arg)
 {
 	struct hn_tx_queue *txq = arg;
-	struct hn_txdesc *txd;
 
 	PMD_INIT_FUNC_TRACE();
@@ -281,9 +354,8 @@ hn_dev_tx_queue_release(void *arg)
 		return;
 
-	/* If any pending data is still present just drop it */
-	txd = txq->agg_txd;
-	if (txd)
-		rte_mempool_put(txq->hv->tx_pool, txd);
+	if (txq->txdesc_pool)
+		rte_mempool_free(txq->txdesc_pool);
 
+	rte_free(txq->tx_rndis);
 	rte_free(txq);
 }
@@ -293,4 +365,5 @@ hn_nvs_send_completed(struct rte_eth_dev *dev, uint16_t queue_id,
 		      unsigned long xactid, const struct hn_nvs_rndis_ack *ack)
 {
+	struct hn_data *hv = dev->data->dev_private;
 	struct hn_txdesc *txd = (struct hn_txdesc *)xactid;
 	struct hn_tx_queue *txq;
@@ -313,7 +386,9 @@ hn_nvs_send_completed(struct rte_eth_dev *dev, uint16_t queue_id,
 	}
 
+	if (txd->chim_index != NVS_CHIM_IDX_INVALID)
+		hn_chim_free(hv, txd->chim_index);
+
 	rte_pktmbuf_free(txd->m);
-
-	rte_mempool_put(txq->hv->tx_pool, txd);
+	hn_txd_put(txq, txd);
 }
 
@@ -1021,26 +1096,13 @@ static int hn_flush_txagg(struct hn_tx_queue *txq, bool *need_sig)
 }
 
-static struct hn_txdesc *hn_new_txd(struct hn_data *hv,
-				    struct hn_tx_queue *txq)
-{
-	struct hn_txdesc *txd;
-
-	if (rte_mempool_get(hv->tx_pool, (void **)&txd)) {
-		++txq->stats.ring_full;
-		PMD_TX_LOG(DEBUG, "tx pool exhausted!");
-		return NULL;
-	}
-
-	txd->m = NULL;
-	txd->queue_id = txq->queue_id;
-	txd->packets = 0;
-	txd->data_size = 0;
-	txd->chim_size = 0;
-
-	return txd;
-}
-
+/*
+ * Try and find a place in a send chimney buffer to put
+ * the small packet. If space is available, this routine
+ * returns a pointer of where to place the data.
+ * If no space, caller should try direct transmit.
+ */
 static void *
-hn_try_txagg(struct hn_data *hv, struct hn_tx_queue *txq, uint32_t pktsize)
+hn_try_txagg(struct hn_data *hv, struct hn_tx_queue *txq,
+	     struct hn_txdesc *txd, uint32_t pktsize)
 {
 	struct hn_txdesc *agg_txd = txq->agg_txd;
@@ -1070,5 +1132,5 @@ hn_try_txagg(struct hn_data *hv, struct hn_tx_queue *txq, uint32_t pktsize)
 
 		chim = (uint8_t *)pkt + pkt->len;
-
+		txq->agg_prevpkt = chim;
 		txq->agg_pktleft--;
 		txq->agg_szleft -= pktsize;
@@ -1080,16 +1142,19 @@ hn_try_txagg(struct hn_data *hv, struct hn_tx_queue *txq, uint32_t pktsize)
 			txq->agg_pktleft = 0;
 		}
-	} else {
-		agg_txd = hn_new_txd(hv, txq);
-		if (!agg_txd)
-			return NULL;
 
-		chim = (uint8_t *)hv->chim_res->addr
-			+ agg_txd->chim_index * hv->chim_szmax;
-
-		txq->agg_txd = agg_txd;
-		txq->agg_pktleft = txq->agg_pktmax - 1;
-		txq->agg_szleft = txq->agg_szmax - pktsize;
+		hn_txd_put(txq, txd);
+		return chim;
 	}
+
+	txd->chim_index = hn_chim_alloc(hv);
+	if (txd->chim_index == NVS_CHIM_IDX_INVALID)
+		return NULL;
+
+	chim = (uint8_t *)hv->chim_res->addr
+			+ txd->chim_index * hv->chim_szmax;
+
+	txq->agg_txd = txd;
+	txq->agg_pktleft = txq->agg_pktmax - 1;
+	txq->agg_szleft = txq->agg_szmax - pktsize;
 	txq->agg_prevpkt = chim;
 
@@ -1314,5 +1379,5 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 	}
 
-	if (rte_mempool_avail_count(hv->tx_pool) <= txq->free_thresh)
+	if (rte_mempool_avail_count(txq->txdesc_pool) <= txq->free_thresh)
 		hn_process_events(hv, txq->queue_id, 0);
 
@@ -1321,4 +1386,9 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 		uint32_t pkt_size = m->pkt_len + HN_RNDIS_PKT_LEN;
 		struct rndis_packet_msg *pkt;
+		struct hn_txdesc *txd;
+
+		txd = hn_txd_get(txq);
+		if (txd == NULL)
+			break;
 
 		/* For small packets aggregate them in chimney buffer */
@@ -1331,5 +1401,6 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 			}
 
-			pkt = hn_try_txagg(hv, txq, pkt_size);
+
+			pkt = hn_try_txagg(hv, txq, txd, pkt_size);
 			if (unlikely(!pkt))
 				break;
@@ -1345,19 +1416,11 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 				goto fail;
 		} else {
-			struct hn_txdesc *txd;
-
-			/* can send chimney data and large packet at once */
-			txd = txq->agg_txd;
-			if (txd) {
-				hn_reset_txagg(txq);
-			} else {
-				txd = hn_new_txd(hv, txq);
-				if (unlikely(!txd))
-					break;
-			}
+			/* Send any outstanding packets in buffer */
+			if (txq->agg_txd && hn_flush_txagg(txq, &need_sig))
+				goto fail;
 
 			pkt = txd->rndis_pkt;
 			txd->m = m;
-			txd->data_size += m->pkt_len;
+			txd->data_size = m->pkt_len;
 			++txd->packets;
 
@@ -1368,5 +1431,5 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 				PMD_TX_LOG(NOTICE, "sg send failed: %d", ret);
 				++txq->stats.errors;
-				rte_mempool_put(hv->tx_pool, txd);
+				hn_txd_put(txq, txd);
 				goto fail;
 			}
diff --git a/drivers/net/netvsc/hn_var.h b/drivers/net/netvsc/hn_var.h
index d10e164e68..ed0387cd4a 100644
--- a/drivers/net/netvsc/hn_var.h
+++ b/drivers/net/netvsc/hn_var.h
@@ -53,4 +53,6 @@ struct hn_tx_queue {
 	uint16_t	queue_id;
 	uint32_t	free_thresh;
+	struct rte_mempool *txdesc_pool;
+	void		*tx_rndis;
 
 	/* Applied packet transmission aggregation limits. */
@@ -115,6 +117,8 @@ struct hn_data {
 	uint64_t	rss_offloads;
 
+	rte_spinlock_t	chim_lock;
 	struct rte_mem_resource *chim_res;	/* UIO resource for Tx */
-	struct rte_mempool *tx_pool;		/* Tx descriptors */
+	struct rte_bitmap *chim_bmap;		/* Send buffer map */
+	void		*chim_bmem;
 	uint32_t	chim_szmax;		/* Max size per buffer */
 	uint32_t	chim_cnt;		/* Max packets per buffer */
@@ -153,6 +157,6 @@ uint16_t hn_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
 		      uint16_t nb_pkts);
 
-int	hn_tx_pool_init(struct rte_eth_dev *dev);
-void	hn_tx_pool_uninit(struct rte_eth_dev *dev);
+int	hn_chim_init(struct rte_eth_dev *dev);
+void	hn_chim_uninit(struct rte_eth_dev *dev);
 int	hn_dev_link_update(struct rte_eth_dev *dev, int wait);
 int	hn_dev_tx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:02.016680288 +0100
+++ 0056-net-netvsc-split-send-buffers-from-Tx-descriptors.patch	2020-05-28 17:12:59.130555744 +0100
@@ -1 +1 @@
-From cc0251813277fcf43b930b43ab4a423ed7536120 Mon Sep 17 00:00:00 2001
+From 570ceb4cce401850005b7590a4e669533da73173 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit cc0251813277fcf43b930b43ab4a423ed7536120 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -26 +27 @@
-index 564620748d..ac66108380 100644
+index 04efd092ec..d452bb4f7e 100644
@@ -29 +30 @@
-@@ -258,4 +258,7 @@ static int hn_dev_info_get(struct rte_eth_dev *dev,
+@@ -241,4 +241,7 @@ static void hn_dev_info_get(struct rte_eth_dev *dev,
@@ -36,2 +37,2 @@
- 		return 0;
-@@ -983,5 +986,5 @@ eth_hn_dev_init(struct rte_eth_dev *eth_dev)
+ 		return;
+@@ -777,5 +780,5 @@ eth_hn_dev_init(struct rte_eth_dev *eth_dev)
@@ -44 +45 @@
-@@ -1019,5 +1022,5 @@ failed:
+@@ -813,5 +816,5 @@ failed:
@@ -51 +52 @@
-@@ -1043,5 +1046,5 @@ eth_hn_dev_uninit(struct rte_eth_dev *eth_dev)
+@@ -836,5 +839,5 @@ eth_hn_dev_uninit(struct rte_eth_dev *eth_dev)
@@ -59 +60 @@
-index 7212780c15..32c03e3da0 100644
+index 5ffc0ee145..06408250a8 100644
@@ -82 +83 @@
- 	RTE_ALIGN(RTE_ETHER_MIN_LEN + HN_RNDIS_PKT_LEN, align)
+ 	RTE_ALIGN(ETHER_MIN_LEN + HN_RNDIS_PKT_LEN, align)
@@ -343 +344 @@
-@@ -1037,26 +1112,13 @@ static int hn_flush_txagg(struct hn_tx_queue *txq, bool *need_sig)
+@@ -1021,26 +1096,13 @@ static int hn_flush_txagg(struct hn_tx_queue *txq, bool *need_sig)
@@ -378 +379 @@
-@@ -1086,5 +1148,5 @@ hn_try_txagg(struct hn_data *hv, struct hn_tx_queue *txq, uint32_t pktsize)
+@@ -1070,5 +1132,5 @@ hn_try_txagg(struct hn_data *hv, struct hn_tx_queue *txq, uint32_t pktsize)
@@ -385 +386 @@
-@@ -1096,16 +1158,19 @@ hn_try_txagg(struct hn_data *hv, struct hn_tx_queue *txq, uint32_t pktsize)
+@@ -1080,16 +1142,19 @@ hn_try_txagg(struct hn_data *hv, struct hn_tx_queue *txq, uint32_t pktsize)
@@ -415 +416 @@
-@@ -1330,5 +1395,5 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
+@@ -1314,5 +1379,5 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
@@ -422 +423 @@
-@@ -1337,4 +1402,9 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
+@@ -1321,4 +1386,9 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
@@ -432 +433 @@
-@@ -1347,5 +1417,6 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
+@@ -1331,5 +1401,6 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
@@ -440 +441 @@
-@@ -1361,19 +1432,11 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
+@@ -1345,19 +1416,11 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
@@ -464 +465 @@
-@@ -1384,5 +1447,5 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
+@@ -1368,5 +1431,5 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
@@ -472 +473 @@
-index 05bc492511..822d737bd3 100644
+index d10e164e68..ed0387cd4a 100644
@@ -482 +483 @@
-@@ -116,6 +118,8 @@ struct hn_data {
+@@ -115,6 +117,8 @@ struct hn_data {
@@ -492 +493 @@
-@@ -158,6 +162,6 @@ uint16_t hn_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
+@@ -153,6 +157,6 @@ uint16_t hn_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,


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

* [dpdk-stable] patch 'net/netvsc: fix memory free on device close' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (54 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/netvsc: split send buffers from Tx descriptors' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/netvsc: remove process event optimization' " Kevin Traynor
                   ` (37 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/b622d8c04eac87376d0d2b366404517e7cc90f5f

Thanks.

Kevin.

---
From b622d8c04eac87376d0d2b366404517e7cc90f5f Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 31 Mar 2020 10:14:00 -0700
Subject: [PATCH] net/netvsc: fix memory free on device close

[ upstream commit 30408aab2d4e0fd9a5d2b4e2ef2a3a7b9e6c95bf ]

The netvsc PMD was putting the mac address in private data but the
core rte_ethdev doesn't allow that it. It has to be in rte_malloc'd
memory or a message will be printed on shutdown/close.
 EAL: Invalid memory

Fixes: f8279f47dd89 ("net/netvsc: fix crash in secondary process")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/net/netvsc/hn_ethdev.c | 16 ++++++++++------
 drivers/net/netvsc/hn_var.h    |  2 --
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/drivers/net/netvsc/hn_ethdev.c b/drivers/net/netvsc/hn_ethdev.c
index d452bb4f7e..55382907a4 100644
--- a/drivers/net/netvsc/hn_ethdev.c
+++ b/drivers/net/netvsc/hn_ethdev.c
@@ -119,6 +119,4 @@ static void
 eth_dev_vmbus_release(struct rte_eth_dev *eth_dev)
 {
-	/* mac_addrs must not be freed alone because part of dev_private */
-	eth_dev->data->mac_addrs = NULL;
 	/* free ether device */
 	rte_eth_dev_release_port(eth_dev);
@@ -732,7 +730,4 @@ eth_hn_dev_init(struct rte_eth_dev *eth_dev)
 	eth_dev->rx_pkt_burst = &hn_recv_pkts;
 
-	/* Since Hyper-V only supports one MAC address, just use local data */
-	eth_dev->data->mac_addrs = &hv->mac_addr;
-
 	/*
 	 * for secondary processes, we don't initialize any further as primary
@@ -742,4 +737,13 @@ eth_hn_dev_init(struct rte_eth_dev *eth_dev)
 		return 0;
 
+	/* Since Hyper-V only supports one MAC address */
+	eth_dev->data->mac_addrs = rte_calloc("hv_mac", HN_MAX_MAC_ADDRS,
+					      sizeof(struct ether_addr), 0);
+	if (eth_dev->data->mac_addrs == NULL) {
+		PMD_INIT_LOG(ERR,
+			     "Failed to allocate memory store MAC addresses");
+		return -ENOMEM;
+	}
+
 	hv->vmbus = vmbus;
 	hv->rxbuf_res = &vmbus->resource[HV_RECV_BUF_MAP];
@@ -784,5 +788,5 @@ eth_hn_dev_init(struct rte_eth_dev *eth_dev)
 		goto failed;
 
-	err = hn_rndis_get_eaddr(hv, hv->mac_addr.addr_bytes);
+	err = hn_rndis_get_eaddr(hv, eth_dev->data->mac_addrs->addr_bytes);
 	if (err)
 		goto failed;
diff --git a/drivers/net/netvsc/hn_var.h b/drivers/net/netvsc/hn_var.h
index ed0387cd4a..5dcd53638a 100644
--- a/drivers/net/netvsc/hn_var.h
+++ b/drivers/net/netvsc/hn_var.h
@@ -135,6 +135,4 @@ struct hn_data {
 	uint8_t		rndis_resp[256];
 
-	struct ether_addr mac_addr;
-
 	struct rte_eth_dev_owner owner;
 	struct rte_intr_handle vf_intr;
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:02.068553695 +0100
+++ 0057-net-netvsc-fix-memory-free-on-device-close.patch	2020-05-28 17:12:59.131555722 +0100
@@ -1 +1 @@
-From 30408aab2d4e0fd9a5d2b4e2ef2a3a7b9e6c95bf Mon Sep 17 00:00:00 2001
+From b622d8c04eac87376d0d2b366404517e7cc90f5f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 30408aab2d4e0fd9a5d2b4e2ef2a3a7b9e6c95bf ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index ac66108380..05f1a25a1a 100644
+index d452bb4f7e..55382907a4 100644
@@ -23 +24 @@
-@@ -135,6 +135,4 @@ static void
+@@ -119,6 +119,4 @@ static void
@@ -30 +31 @@
-@@ -938,7 +936,4 @@ eth_hn_dev_init(struct rte_eth_dev *eth_dev)
+@@ -732,7 +730,4 @@ eth_hn_dev_init(struct rte_eth_dev *eth_dev)
@@ -38 +39 @@
-@@ -948,4 +943,13 @@ eth_hn_dev_init(struct rte_eth_dev *eth_dev)
+@@ -742,4 +737,13 @@ eth_hn_dev_init(struct rte_eth_dev *eth_dev)
@@ -43 +44 @@
-+					      sizeof(struct rte_ether_addr), 0);
++					      sizeof(struct ether_addr), 0);
@@ -52 +53 @@
-@@ -990,5 +994,5 @@ eth_hn_dev_init(struct rte_eth_dev *eth_dev)
+@@ -784,5 +788,5 @@ eth_hn_dev_init(struct rte_eth_dev *eth_dev)
@@ -60 +61 @@
-index 822d737bd3..b4c6171737 100644
+index ed0387cd4a..5dcd53638a 100644
@@ -63,2 +64,2 @@
-@@ -140,6 +140,4 @@ struct hn_data {
- 	uint16_t	rss_ind[128];
+@@ -135,6 +135,4 @@ struct hn_data {
+ 	uint8_t		rndis_resp[256];
@@ -66 +67 @@
--	struct rte_ether_addr mac_addr;
+-	struct ether_addr mac_addr;


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

* [dpdk-stable] patch 'net/netvsc: remove process event optimization' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (55 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/netvsc: fix memory free on device close' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/netvsc: handle Tx completions based on burst size' " Kevin Traynor
                   ` (36 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/30779c9fd3d5e7052fd60d5829c052fa1d1b0b40

Thanks.

Kevin.

---
From 30779c9fd3d5e7052fd60d5829c052fa1d1b0b40 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 31 Mar 2020 10:14:01 -0700
Subject: [PATCH] net/netvsc: remove process event optimization

[ upstream commit dfd3f0fce8bd64182b984b4a9226f2d23c44b2d5 ]

Remove unlocked check for data in receive ring.
This check is not safe because of missing barriers etc.

Fixes: 4e9c73e96e83 ("net/netvsc: add Hyper-V network device")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/net/netvsc/hn_rxtx.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/net/netvsc/hn_rxtx.c b/drivers/net/netvsc/hn_rxtx.c
index 06408250a8..1fb8dec9a9 100644
--- a/drivers/net/netvsc/hn_rxtx.c
+++ b/drivers/net/netvsc/hn_rxtx.c
@@ -954,8 +954,4 @@ uint32_t hn_process_events(struct hn_data *hv, uint16_t queue_id,
 	rxq = queue_id == 0 ? hv->primary : dev->data->rx_queues[queue_id];
 
-	/* If no pending data then nothing to do */
-	if (rte_vmbus_chan_rx_empty(rxq->chan))
-		return 0;
-
 	/*
 	 * Since channel is shared between Rx and TX queue need to have a lock
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:02.119726431 +0100
+++ 0058-net-netvsc-remove-process-event-optimization.patch	2020-05-28 17:12:59.133555676 +0100
@@ -1 +1 @@
-From dfd3f0fce8bd64182b984b4a9226f2d23c44b2d5 Mon Sep 17 00:00:00 2001
+From 30779c9fd3d5e7052fd60d5829c052fa1d1b0b40 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit dfd3f0fce8bd64182b984b4a9226f2d23c44b2d5 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index 32c03e3da0..e8df846042 100644
+index 06408250a8..1fb8dec9a9 100644
@@ -21 +22 @@
-@@ -970,8 +970,4 @@ uint32_t hn_process_events(struct hn_data *hv, uint16_t queue_id,
+@@ -954,8 +954,4 @@ uint32_t hn_process_events(struct hn_data *hv, uint16_t queue_id,


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

* [dpdk-stable] patch 'net/netvsc: handle Tx completions based on burst size' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (56 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/netvsc: remove process event optimization' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/netvsc: avoid possible live lock' " Kevin Traynor
                   ` (35 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/cfb7a60c72554d777412a5bf5320848b205f951f

Thanks.

Kevin.

---
From cfb7a60c72554d777412a5bf5320848b205f951f Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 31 Mar 2020 10:14:02 -0700
Subject: [PATCH] net/netvsc: handle Tx completions based on burst size

[ upstream commit 56edef9906558c69a1440173a5a3aac8f8f8710f ]

If tx_free_thresh is quite low, it is possible that we need to
cleanup based on burst size.

Fixes: fc30efe3a22e ("net/netvsc: change Rx descriptor setup and sizing")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/net/netvsc/hn_rxtx.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/netvsc/hn_rxtx.c b/drivers/net/netvsc/hn_rxtx.c
index 1fb8dec9a9..caed452540 100644
--- a/drivers/net/netvsc/hn_rxtx.c
+++ b/drivers/net/netvsc/hn_rxtx.c
@@ -1360,5 +1360,5 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 	struct rte_eth_dev *vf_dev;
 	bool need_sig = false;
-	uint16_t nb_tx;
+	uint16_t nb_tx, avail;
 	int ret;
 
@@ -1375,5 +1375,6 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 	}
 
-	if (rte_mempool_avail_count(txq->txdesc_pool) <= txq->free_thresh)
+	avail = rte_mempool_avail_count(txq->txdesc_pool);
+	if (nb_pkts > avail || avail <= txq->free_thresh)
 		hn_process_events(hv, txq->queue_id, 0);
 
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:02.168253104 +0100
+++ 0059-net-netvsc-handle-Tx-completions-based-on-burst-size.patch	2020-05-28 17:12:59.135555631 +0100
@@ -1 +1 @@
-From 56edef9906558c69a1440173a5a3aac8f8f8710f Mon Sep 17 00:00:00 2001
+From cfb7a60c72554d777412a5bf5320848b205f951f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 56edef9906558c69a1440173a5a3aac8f8f8710f ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index e8df846042..cbdfcc628b 100644
+index 1fb8dec9a9..caed452540 100644
@@ -21 +22 @@
-@@ -1376,5 +1376,5 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
+@@ -1360,5 +1360,5 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
@@ -28 +29 @@
-@@ -1391,5 +1391,6 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
+@@ -1375,5 +1375,6 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)


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

* [dpdk-stable] patch 'net/netvsc: avoid possible live lock' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (57 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/netvsc: handle Tx completions based on burst size' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'ethdev: fix build when vtune profiling is on' " Kevin Traynor
                   ` (34 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/f6a58bb9a8c7bc2ce1ebf9c9ef6ad615eb8861b0

Thanks.

Kevin.

---
From f6a58bb9a8c7bc2ce1ebf9c9ef6ad615eb8861b0 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 31 Mar 2020 10:14:04 -0700
Subject: [PATCH] net/netvsc: avoid possible live lock

[ upstream commit 36274f287103d2f4a372a99dff2c4f47eeb75633 ]

Since the ring buffer with host is shared for both transmit
completions and receive packets, it is possible that transmitter
could get starved if receive ring gets full.

Better to process all outstanding events which frees up transmit
buffer slots, even if means dropping some packets.

Fixes: 7e6c82430702 ("net/netvsc: avoid over filling Rx descriptor ring")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/net/netvsc/hn_rxtx.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/net/netvsc/hn_rxtx.c b/drivers/net/netvsc/hn_rxtx.c
index caed452540..b526b490b2 100644
--- a/drivers/net/netvsc/hn_rxtx.c
+++ b/drivers/net/netvsc/hn_rxtx.c
@@ -1017,7 +1017,4 @@ retry:
 		if (tx_limit && tx_done >= tx_limit)
 			break;
-
-		if (rxq->rx_ring && rte_ring_full(rxq->rx_ring))
-			break;
 	}
 
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:02.217419207 +0100
+++ 0060-net-netvsc-avoid-possible-live-lock.patch	2020-05-28 17:12:59.136555608 +0100
@@ -1 +1 @@
-From 36274f287103d2f4a372a99dff2c4f47eeb75633 Mon Sep 17 00:00:00 2001
+From f6a58bb9a8c7bc2ce1ebf9c9ef6ad615eb8861b0 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 36274f287103d2f4a372a99dff2c4f47eeb75633 ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index cbdfcc628b..19f00a0528 100644
+index caed452540..b526b490b2 100644
@@ -25 +26 @@
-@@ -1033,7 +1033,4 @@ retry:
+@@ -1017,7 +1017,4 @@ retry:


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

* [dpdk-stable] patch 'ethdev: fix build when vtune profiling is on' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (58 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/netvsc: avoid possible live lock' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'examples/vmdq: fix RSS configuration' " Kevin Traynor
                   ` (33 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Eugeny Parshutin; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/2b7035bc6ee3b6500fe779add9efd9f1af894f73

Thanks.

Kevin.

---
From 2b7035bc6ee3b6500fe779add9efd9f1af894f73 Mon Sep 17 00:00:00 2001
From: Eugeny Parshutin <eugeny.parshutin@linux.intel.com>
Date: Mon, 6 Apr 2020 21:27:05 +0300
Subject: [PATCH] ethdev: fix build when vtune profiling is on

[ upstream commit 5dd45467b4ba915e8009dc2cf10bf75d8dab39ea ]

Add the previous prototype for the 'profile_hook_rx_burst_cb' function
to fix the compiler warning when the DPDK is built with
'RTE_ETHDEV_PROFILE_WITH_VTUNE' config option enabled:
/home/dpdk/lib/librte_ethdev/ethdev_profile.c:17:1: warning:
no previous prototype for profile_hook_rx_burst_cb [-Wmissing-prototypes]

Fixes: 2c1bbab7f09d ("ethdev: change vtune profiling approach")

Signed-off-by: Eugeny Parshutin <eugeny.parshutin@linux.intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 lib/librte_ethdev/ethdev_profile.h | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/lib/librte_ethdev/ethdev_profile.h b/lib/librte_ethdev/ethdev_profile.h
index 65031e6f3f..e5ee4df824 100644
--- a/lib/librte_ethdev/ethdev_profile.h
+++ b/lib/librte_ethdev/ethdev_profile.h
@@ -25,3 +25,12 @@ int
 __rte_eth_dev_profile_init(uint16_t port_id, struct rte_eth_dev *dev);
 
+#ifdef RTE_ETHDEV_PROFILE_WITH_VTUNE
+
+uint16_t
+profile_hook_rx_burst_cb(uint16_t port_id, uint16_t queue_id,
+	struct rte_mbuf *pkts[], uint16_t nb_pkts,
+	uint16_t max_pkts, void *user_param);
+
+#endif /* RTE_ETHDEV_PROFILE_WITH_VTUNE */
+
 #endif
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:02.266695555 +0100
+++ 0061-ethdev-fix-build-when-vtune-profiling-is-on.patch	2020-05-28 17:12:59.136555608 +0100
@@ -1 +1 @@
-From 5dd45467b4ba915e8009dc2cf10bf75d8dab39ea Mon Sep 17 00:00:00 2001
+From 2b7035bc6ee3b6500fe779add9efd9f1af894f73 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 5dd45467b4ba915e8009dc2cf10bf75d8dab39ea ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org


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

* [dpdk-stable] patch 'examples/vmdq: fix RSS configuration' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (59 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'ethdev: fix build when vtune profiling is on' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/ena/base: make allocation macros thread-safe' " Kevin Traynor
                   ` (32 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Junyu Jiang; +Cc: Xiaoyun Li, Yingya Han, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/140a1096df2a7603248e6fd3b9eace6402b79854

Thanks.

Kevin.

---
From 140a1096df2a7603248e6fd3b9eace6402b79854 Mon Sep 17 00:00:00 2001
From: Junyu Jiang <junyux.jiang@intel.com>
Date: Wed, 25 Mar 2020 06:32:48 +0000
Subject: [PATCH] examples/vmdq: fix RSS configuration

[ upstream commit 8f5b4af736a9ffb2e2a2d3b4c2a75055a23c2a95 ]

In order that all queues of pools can receive packets,
add enable-rss argument to change RSS configuration.

Fixes: 6bb97df521aa ("examples/vmdq: new app")

Signed-off-by: Junyu Jiang <junyux.jiang@intel.com>
Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
Tested-by: Yingya Han <yingyax.han@intel.com>
---
 examples/vmdq/main.c | 39 ++++++++++++++++++++++++++++++++++-----
 1 file changed, 34 insertions(+), 5 deletions(-)

diff --git a/examples/vmdq/main.c b/examples/vmdq/main.c
index 7e0e1a8bc3..2c0e8a596c 100644
--- a/examples/vmdq/main.c
+++ b/examples/vmdq/main.c
@@ -60,4 +60,5 @@ static uint32_t enabled_port_mask;
 static uint32_t num_queues = 8;
 static uint32_t num_pools = 8;
+static uint8_t rss_enable;
 
 /* empty vmdq configuration structure. Filled in programatically */
@@ -144,4 +145,11 @@ get_eth_conf(struct rte_eth_conf *eth_conf, uint32_t num_pools)
 	(void)(rte_memcpy(&eth_conf->rx_adv_conf.vmdq_rx_conf, &conf,
 		   sizeof(eth_conf->rx_adv_conf.vmdq_rx_conf)));
+	if (rss_enable) {
+		eth_conf->rxmode.mq_mode = ETH_MQ_RX_VMDQ_RSS;
+		eth_conf->rx_adv_conf.rss_conf.rss_hf = ETH_RSS_IP |
+							ETH_RSS_UDP |
+							ETH_RSS_TCP |
+							ETH_RSS_SCTP;
+	}
 	return 0;
 }
@@ -165,4 +173,5 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)
 	uint16_t queues_per_pool;
 	uint32_t max_nb_pools;
+	uint64_t rss_hf_tmp;
 
 	/*
@@ -204,4 +213,15 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)
 		return -1;
 
+	rss_hf_tmp = port_conf.rx_adv_conf.rss_conf.rss_hf;
+	port_conf.rx_adv_conf.rss_conf.rss_hf &=
+		dev_info.flow_type_rss_offloads;
+	if (port_conf.rx_adv_conf.rss_conf.rss_hf != rss_hf_tmp) {
+		printf("Port %u modified RSS hash function based on hardware support,"
+			"requested:%#"PRIx64" configured:%#"PRIx64"\n",
+			port,
+			rss_hf_tmp,
+			port_conf.rx_adv_conf.rss_conf.rss_hf);
+	}
+
 	/*
 	 * Though in this example, we only receive packets from the first queue
@@ -347,5 +367,6 @@ vmdq_usage(const char *prgname)
 {
 	printf("%s [EAL options] -- -p PORTMASK]\n"
-	"  --nb-pools NP: number of pools\n",
+	"  --nb-pools NP: number of pools\n"
+	"  --enable-rss: enable RSS (disabled by default)\n",
 	       prgname);
 }
@@ -361,4 +382,5 @@ vmdq_parse_args(int argc, char **argv)
 	static struct option long_option[] = {
 		{"nb-pools", required_argument, NULL, 0},
+		{"enable-rss", 0, NULL, 0},
 		{NULL, 0, 0, 0}
 	};
@@ -378,9 +400,16 @@ vmdq_parse_args(int argc, char **argv)
 			break;
 		case 0:
-			if (vmdq_parse_num_pools(optarg) == -1) {
-				printf("invalid number of pools\n");
-				vmdq_usage(prgname);
-				return -1;
+			if (!strcmp(long_option[option_index].name,
+			    "nb-pools")) {
+				if (vmdq_parse_num_pools(optarg) == -1) {
+					printf("invalid number of pools\n");
+					vmdq_usage(prgname);
+					return -1;
+				}
 			}
+
+			if (!strcmp(long_option[option_index].name,
+			    "enable-rss"))
+				rss_enable = 1;
 			break;
 
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:02.314661380 +0100
+++ 0062-examples-vmdq-fix-RSS-configuration.patch	2020-05-28 17:12:59.137555586 +0100
@@ -1 +1 @@
-From 8f5b4af736a9ffb2e2a2d3b4c2a75055a23c2a95 Mon Sep 17 00:00:00 2001
+From 140a1096df2a7603248e6fd3b9eace6402b79854 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 8f5b4af736a9ffb2e2a2d3b4c2a75055a23c2a95 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16,3 +17,2 @@
- doc/guides/sample_app_ug/vmdq_forwarding.rst |  6 +--
- examples/vmdq/main.c                         | 39 +++++++++++++++++---
- 2 files changed, 37 insertions(+), 8 deletions(-)
+ examples/vmdq/main.c | 39 ++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 34 insertions(+), 5 deletions(-)
@@ -20,19 +19,0 @@
-diff --git a/doc/guides/sample_app_ug/vmdq_forwarding.rst b/doc/guides/sample_app_ug/vmdq_forwarding.rst
-index d2585687bb..c3a3439e51 100644
---- a/doc/guides/sample_app_ug/vmdq_forwarding.rst
-+++ b/doc/guides/sample_app_ug/vmdq_forwarding.rst
-@@ -27,11 +27,11 @@ While the Intel® X710 or XL710 Ethernet Controller NICs support many configurat
- And queues numbers for each VMDq pool can be changed by setting CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VM
- in config/common_* file.
--The nb-pools parameter can be passed on the command line, after the EAL parameters:
-+The nb-pools and enable-rss parameters can be passed on the command line, after the EAL parameters:
- 
- .. code-block:: console
- 
--    ./build/vmdq_app [EAL options] -- -p PORTMASK --nb-pools NP
-+    ./build/vmdq_app [EAL options] -- -p PORTMASK --nb-pools NP --enable-rss
- 
--where, NP can be 8, 16 or 32.
-+where, NP can be 8, 16 or 32, rss is disabled by default.
- 
- In Linux* user space, the application can display statistics with the number of packets received on each queue.
@@ -40 +21 @@
-index a66dd533c8..d08826c868 100644
+index 7e0e1a8bc3..2c0e8a596c 100644
@@ -67 +48 @@
-@@ -210,4 +219,15 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)
+@@ -204,4 +213,15 @@ port_init(uint16_t port, struct rte_mempool *mbuf_pool)
@@ -83 +64 @@
-@@ -364,5 +384,6 @@ vmdq_usage(const char *prgname)
+@@ -347,5 +367,6 @@ vmdq_usage(const char *prgname)
@@ -91 +72 @@
-@@ -378,4 +399,5 @@ vmdq_parse_args(int argc, char **argv)
+@@ -361,4 +382,5 @@ vmdq_parse_args(int argc, char **argv)
@@ -97 +78 @@
-@@ -395,9 +417,16 @@ vmdq_parse_args(int argc, char **argv)
+@@ -378,9 +400,16 @@ vmdq_parse_args(int argc, char **argv)


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

* [dpdk-stable] patch 'net/ena/base: make allocation macros thread-safe' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (60 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'examples/vmdq: fix RSS configuration' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/ena/base: prevent allocation of zero sized memory' " Kevin Traynor
                   ` (31 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Igor Chauskin; +Cc: Michal Krawczyk, Guy Tzalik, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/36e9c3f51fc36b1573c26f4a5094e8bd8eb41025

Thanks.

Kevin.

---
From 36e9c3f51fc36b1573c26f4a5094e8bd8eb41025 Mon Sep 17 00:00:00 2001
From: Igor Chauskin <igorch@amazon.com>
Date: Wed, 8 Apr 2020 10:28:53 +0200
Subject: [PATCH] net/ena/base: make allocation macros thread-safe

[ upstream commit b14fcac035fd8514851c9140a4e26d765b61c532 ]

Memory allocation region id could possibly be non-unique
due to non-atomic increment, causing allocation failure.

Fixes: 9ba7981ec992 ("ena: add communication layer for DPDK")

Signed-off-by: Igor Chauskin <igorch@amazon.com>
Reviewed-by: Michal Krawczyk <mk@semihalf.com>
Reviewed-by: Guy Tzalik <gtzalik@amazon.com>
---
 drivers/net/ena/base/ena_plat_dpdk.h | 44 ++++++----------------------
 drivers/net/ena/ena_ethdev.c         |  2 +-
 2 files changed, 10 insertions(+), 36 deletions(-)

diff --git a/drivers/net/ena/base/ena_plat_dpdk.h b/drivers/net/ena/base/ena_plat_dpdk.h
index 900ba1a6b0..1d30dbe2c6 100644
--- a/drivers/net/ena/base/ena_plat_dpdk.h
+++ b/drivers/net/ena/base/ena_plat_dpdk.h
@@ -1,34 +1,6 @@
-/*-
-* BSD LICENSE
-*
-* Copyright (c) 2015-2016 Amazon.com, Inc. or its affiliates.
-* All rights reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in
-* the documentation and/or other materials provided with the
-* distribution.
-* * Neither the name of copyright holder nor the names of its
-* contributors may be used to endorse or promote products derived
-* from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright (c) 2015-2020 Amazon.com, Inc. or its affiliates.
+ * All rights reserved.
+ */
 
 #ifndef DPDK_ENA_COM_ENA_PLAT_DPDK_H_
@@ -202,5 +174,5 @@ do {                                                                   \
  * To satisfy it, count number of allocations and add it to name.
  */
-extern uint32_t ena_alloc_cnt;
+extern rte_atomic32_t ena_alloc_cnt;
 
 #define ENA_MEM_ALLOC_COHERENT(dmadev, size, virt, phys, handle)	\
@@ -210,5 +182,6 @@ extern uint32_t ena_alloc_cnt;
 		ENA_TOUCH(dmadev); ENA_TOUCH(handle);			\
 		snprintf(z_name, sizeof(z_name),			\
-				"ena_alloc_%d", ena_alloc_cnt++);	\
+			 "ena_alloc_%d",				\
+			 rte_atomic32_add_return(&ena_alloc_cnt, 1));	\
 		mz = rte_memzone_reserve(z_name, size, SOCKET_ID_ANY,	\
 				RTE_MEMZONE_IOVA_CONTIG);		\
@@ -235,5 +208,6 @@ extern uint32_t ena_alloc_cnt;
 		ENA_TOUCH(dmadev); ENA_TOUCH(dev_node);			\
 		snprintf(z_name, sizeof(z_name),			\
-				"ena_alloc_%d", ena_alloc_cnt++);	\
+			 "ena_alloc_%d",				\
+			 rte_atomic32_add_return(&ena_alloc_cnt, 1));	\
 		mz = rte_memzone_reserve(z_name, size, node,		\
 				RTE_MEMZONE_IOVA_CONTIG);		\
diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index 0779bb7713..493111a2a0 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -121,5 +121,5 @@ struct ena_stats {
  * To satisfy it, count number of allocation and add it to name.
  */
-uint32_t ena_alloc_cnt;
+rte_atomic32_t ena_alloc_cnt;
 
 static const struct ena_stats ena_stats_global_strings[] = {
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:02.365503625 +0100
+++ 0063-net-ena-base-make-allocation-macros-thread-safe.patch	2020-05-28 17:12:59.140555518 +0100
@@ -1 +1 @@
-From b14fcac035fd8514851c9140a4e26d765b61c532 Mon Sep 17 00:00:00 2001
+From 36e9c3f51fc36b1573c26f4a5094e8bd8eb41025 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b14fcac035fd8514851c9140a4e26d765b61c532 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- drivers/net/ena/base/ena_plat_dpdk.h | 10 ++++++----
+ drivers/net/ena/base/ena_plat_dpdk.h | 44 ++++++----------------------
@@ -18 +19 @@
- 2 files changed, 7 insertions(+), 5 deletions(-)
+ 2 files changed, 10 insertions(+), 36 deletions(-)
@@ -21 +22 @@
-index b611fb204b..70261bdbc6 100644
+index 900ba1a6b0..1d30dbe2c6 100644
@@ -24,3 +25,34 @@
-@@ -1,4 +1,4 @@
- /* SPDX-License-Identifier: BSD-3-Clause
-- * Copyright (c) 2015-2019 Amazon.com, Inc. or its affiliates.
+@@ -1,34 +1,6 @@
+-/*-
+-* BSD LICENSE
+-*
+-* Copyright (c) 2015-2016 Amazon.com, Inc. or its affiliates.
+-* All rights reserved.
+-*
+-* Redistribution and use in source and binary forms, with or without
+-* modification, are permitted provided that the following conditions
+-* are met:
+-*
+-* * Redistributions of source code must retain the above copyright
+-* notice, this list of conditions and the following disclaimer.
+-* * Redistributions in binary form must reproduce the above copyright
+-* notice, this list of conditions and the following disclaimer in
+-* the documentation and/or other materials provided with the
+-* distribution.
+-* * Neither the name of copyright holder nor the names of its
+-* contributors may be used to endorse or promote products derived
+-* from this software without specific prior written permission.
+-*
+-* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+-* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+-* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+-* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+-* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+-* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+-* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+-* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+-* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+-* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-*/
++/* SPDX-License-Identifier: BSD-3-Clause
@@ -28,3 +60,5 @@
-  * All rights reserved.
-  */
-@@ -181,5 +181,5 @@ do {                                                                   \
++ * All rights reserved.
++ */
+ 
+ #ifndef DPDK_ENA_COM_ENA_PLAT_DPDK_H_
+@@ -202,5 +174,5 @@ do {                                                                   \
@@ -37 +71 @@
-@@ -189,5 +189,6 @@ extern uint32_t ena_alloc_cnt;
+@@ -210,5 +182,6 @@ extern uint32_t ena_alloc_cnt;
@@ -45 +79 @@
-@@ -214,5 +215,6 @@ extern uint32_t ena_alloc_cnt;
+@@ -235,5 +208,6 @@ extern uint32_t ena_alloc_cnt;
@@ -54 +88 @@
-index 64aabbbb19..e0ed28419c 100644
+index 0779bb7713..493111a2a0 100644
@@ -57 +91 @@
-@@ -90,5 +90,5 @@ struct ena_stats {
+@@ -121,5 +121,5 @@ struct ena_stats {


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

* [dpdk-stable] patch 'net/ena/base: prevent allocation of zero sized memory' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (61 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/ena/base: make allocation macros thread-safe' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/ena/base: fix testing for supported hash function' " Kevin Traynor
                   ` (30 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Igor Chauskin; +Cc: Michal Krawczyk, Guy Tzalik, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/5ae6a9d1da8a8082fcb30e942deb91b347650313

Thanks.

Kevin.

---
From 5ae6a9d1da8a8082fcb30e942deb91b347650313 Mon Sep 17 00:00:00 2001
From: Igor Chauskin <igorch@amazon.com>
Date: Wed, 8 Apr 2020 10:28:54 +0200
Subject: [PATCH] net/ena/base: prevent allocation of zero sized memory

[ upstream commit 29dc10d9424ccf26a346387b0a707185e2432400 ]

rte_memzone_reserve() will reserve the biggest contiguous memzone
available if received 0 as size param.

Fixes: 9ba7981ec992 ("ena: add communication layer for DPDK")

Signed-off-by: Igor Chauskin <igorch@amazon.com>
Reviewed-by: Michal Krawczyk <mk@semihalf.com>
Reviewed-by: Guy Tzalik <gtzalik@amazon.com>
---
 drivers/net/ena/base/ena_plat_dpdk.h | 29 ++++++++++++++++------------
 1 file changed, 17 insertions(+), 12 deletions(-)

diff --git a/drivers/net/ena/base/ena_plat_dpdk.h b/drivers/net/ena/base/ena_plat_dpdk.h
index 1d30dbe2c6..5cc559b4f4 100644
--- a/drivers/net/ena/base/ena_plat_dpdk.h
+++ b/drivers/net/ena/base/ena_plat_dpdk.h
@@ -178,13 +178,16 @@ extern rte_atomic32_t ena_alloc_cnt;
 #define ENA_MEM_ALLOC_COHERENT(dmadev, size, virt, phys, handle)	\
 	do {								\
-		const struct rte_memzone *mz;				\
-		char z_name[RTE_MEMZONE_NAMESIZE];			\
+		const struct rte_memzone *mz = NULL;			\
 		ENA_TOUCH(dmadev); ENA_TOUCH(handle);			\
-		snprintf(z_name, sizeof(z_name),			\
+		if (size > 0) {						\
+			char z_name[RTE_MEMZONE_NAMESIZE];		\
+			snprintf(z_name, sizeof(z_name),		\
 			 "ena_alloc_%d",				\
 			 rte_atomic32_add_return(&ena_alloc_cnt, 1));	\
-		mz = rte_memzone_reserve(z_name, size, SOCKET_ID_ANY,	\
-				RTE_MEMZONE_IOVA_CONTIG);		\
-		handle = mz;						\
+			mz = rte_memzone_reserve(z_name, size,		\
+					SOCKET_ID_ANY,			\
+					RTE_MEMZONE_IOVA_CONTIG);	\
+			handle = mz;					\
+		}							\
 		if (mz == NULL) {					\
 			virt = NULL;					\
@@ -204,13 +207,15 @@ extern rte_atomic32_t ena_alloc_cnt;
 	dmadev, size, virt, phys, mem_handle, node, dev_node)		\
 	do {								\
-		const struct rte_memzone *mz;				\
-		char z_name[RTE_MEMZONE_NAMESIZE];			\
+		const struct rte_memzone *mz = NULL;			\
 		ENA_TOUCH(dmadev); ENA_TOUCH(dev_node);			\
-		snprintf(z_name, sizeof(z_name),			\
+		if (size > 0) {						\
+			char z_name[RTE_MEMZONE_NAMESIZE];		\
+			snprintf(z_name, sizeof(z_name),		\
 			 "ena_alloc_%d",				\
-			 rte_atomic32_add_return(&ena_alloc_cnt, 1));	\
-		mz = rte_memzone_reserve(z_name, size, node,		\
+			 rte_atomic32_add_return(&ena_alloc_cnt, 1));   \
+			mz = rte_memzone_reserve(z_name, size, node,	\
 				RTE_MEMZONE_IOVA_CONTIG);		\
-		mem_handle = mz;					\
+			mem_handle = mz;				\
+		}							\
 		if (mz == NULL) {					\
 			virt = NULL;					\
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:02.416466637 +0100
+++ 0064-net-ena-base-prevent-allocation-of-zero-sized-memory.patch	2020-05-28 17:12:59.140555518 +0100
@@ -1 +1 @@
-From 29dc10d9424ccf26a346387b0a707185e2432400 Mon Sep 17 00:00:00 2001
+From 5ae6a9d1da8a8082fcb30e942deb91b347650313 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 29dc10d9424ccf26a346387b0a707185e2432400 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 70261bdbc6..4b8fe017dd 100644
+index 1d30dbe2c6..5cc559b4f4 100644
@@ -23 +24 @@
-@@ -185,13 +185,16 @@ extern rte_atomic32_t ena_alloc_cnt;
+@@ -178,13 +178,16 @@ extern rte_atomic32_t ena_alloc_cnt;
@@ -46 +47 @@
-@@ -211,13 +214,15 @@ extern rte_atomic32_t ena_alloc_cnt;
+@@ -204,13 +207,15 @@ extern rte_atomic32_t ena_alloc_cnt;


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

* [dpdk-stable] patch 'net/ena/base: fix testing for supported hash function' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (62 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/ena/base: prevent allocation of zero sized memory' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/ena/base: fix documentation of functions' " Kevin Traynor
                   ` (29 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Michal Krawczyk; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/99f5693c1f9d7fbeaed6519ff79c5c59c8a4ead2

Thanks.

Kevin.

---
From 99f5693c1f9d7fbeaed6519ff79c5c59c8a4ead2 Mon Sep 17 00:00:00 2001
From: Michal Krawczyk <mk@semihalf.com>
Date: Wed, 8 Apr 2020 10:28:56 +0200
Subject: [PATCH] net/ena/base: fix testing for supported hash function

[ upstream commit 6e585db68903b9ef8e0a547efc8f3e71af424397 ]

There was a bug in ena_com_fill_hash_function(), which was causing bit to
be shifted left one bit too much.

To fix that, the ENA_FFS macro is being used (returning the location of
the first bit set), hash_function value is being subtracted by 1 if any
hash function is supported by the device and BIT macro is used for
shifting for better verbosity.

Fixes: 99ecfbf845b3 ("ena: import communication layer")

Signed-off-by: Michal Krawczyk <mk@semihalf.com>
---
 drivers/net/ena/base/ena_com.c       | 19 +++++++++++++------
 drivers/net/ena/base/ena_plat_dpdk.h |  2 ++
 2 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ena/base/ena_com.c b/drivers/net/ena/base/ena_com.c
index f22d67cd4d..4a6bc5e179 100644
--- a/drivers/net/ena/base/ena_com.c
+++ b/drivers/net/ena/base/ena_com.c
@@ -2099,10 +2099,12 @@ int ena_com_fill_hash_function(struct ena_com_dev *ena_dev,
 			       const u8 *key, u16 key_len, u32 init_val)
 {
-	struct ena_rss *rss = &ena_dev->rss;
+	struct ena_admin_feature_rss_flow_hash_control *hash_key;
 	struct ena_admin_get_feat_resp get_resp;
-	struct ena_admin_feature_rss_flow_hash_control *hash_key =
-		rss->hash_key;
+	enum ena_admin_hash_functions old_func;
+	struct ena_rss *rss = &ena_dev->rss;
 	int rc;
 
+	hash_key = rss->hash_key;
+
 	/* Make sure size is a mult of DWs */
 	if (unlikely(key_len & 0x3))
@@ -2116,5 +2118,5 @@ int ena_com_fill_hash_function(struct ena_com_dev *ena_dev,
 		return rc;
 
-	if (!((1 << func) & get_resp.u.flow_hash_func.supported_func)) {
+	if (!(BIT(func) & get_resp.u.flow_hash_func.supported_func)) {
 		ena_trc_err("Flow hash function %d isn't supported\n", func);
 		return ENA_COM_UNSUPPORTED;
@@ -2141,9 +2143,10 @@ int ena_com_fill_hash_function(struct ena_com_dev *ena_dev,
 	}
 
+	old_func = rss->hash_func;
 	rc = ena_com_set_hash_function(ena_dev);
 
 	/* Restore the old function */
 	if (unlikely(rc))
-		ena_com_get_hash_function(ena_dev, NULL, NULL);
+		rss->hash_func = old_func;
 
 	return rc;
@@ -2167,5 +2170,9 @@ int ena_com_get_hash_function(struct ena_com_dev *ena_dev,
 		return rc;
 
-	rss->hash_func = get_resp.u.flow_hash_func.selected_func;
+	/* ENA_FFS returns 1 in case the lsb is set */
+	rss->hash_func = ENA_FFS(get_resp.u.flow_hash_func.selected_func);
+	if (rss->hash_func)
+		rss->hash_func--;
+
 	if (func)
 		*func = rss->hash_func;
diff --git a/drivers/net/ena/base/ena_plat_dpdk.h b/drivers/net/ena/base/ena_plat_dpdk.h
index 5cc559b4f4..03ea2cd0dd 100644
--- a/drivers/net/ena/base/ena_plat_dpdk.h
+++ b/drivers/net/ena/base/ena_plat_dpdk.h
@@ -263,3 +263,5 @@ extern rte_atomic32_t ena_alloc_cnt;
 #endif
 
+#define ENA_FFS(x) ffs(x)
+
 #endif /* DPDK_ENA_COM_ENA_PLAT_DPDK_H_ */
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:02.465397349 +0100
+++ 0065-net-ena-base-fix-testing-for-supported-hash-function.patch	2020-05-28 17:12:59.143555450 +0100
@@ -1 +1 @@
-From 6e585db68903b9ef8e0a547efc8f3e71af424397 Mon Sep 17 00:00:00 2001
+From 99f5693c1f9d7fbeaed6519ff79c5c59c8a4ead2 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 6e585db68903b9ef8e0a547efc8f3e71af424397 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index 38a474b1bd..04f5d21d6f 100644
+index f22d67cd4d..4a6bc5e179 100644
@@ -27 +28 @@
-@@ -2395,10 +2395,12 @@ int ena_com_fill_hash_function(struct ena_com_dev *ena_dev,
+@@ -2099,10 +2099,12 @@ int ena_com_fill_hash_function(struct ena_com_dev *ena_dev,
@@ -43 +44 @@
-@@ -2412,5 +2414,5 @@ int ena_com_fill_hash_function(struct ena_com_dev *ena_dev,
+@@ -2116,5 +2118,5 @@ int ena_com_fill_hash_function(struct ena_com_dev *ena_dev,
@@ -50 +51 @@
-@@ -2438,4 +2440,5 @@ int ena_com_fill_hash_function(struct ena_com_dev *ena_dev,
+@@ -2141,9 +2143,10 @@ int ena_com_fill_hash_function(struct ena_com_dev *ena_dev,
@@ -54 +54,0 @@
- 	rss->hash_func = func;
@@ -56 +56 @@
-@@ -2443,5 +2446,5 @@ int ena_com_fill_hash_function(struct ena_com_dev *ena_dev,
+ 
@@ -63 +63 @@
-@@ -2465,5 +2468,9 @@ int ena_com_get_hash_function(struct ena_com_dev *ena_dev,
+@@ -2167,5 +2170,9 @@ int ena_com_get_hash_function(struct ena_com_dev *ena_dev,
@@ -75 +75 @@
-index e9b33bc36c..e9b3c02270 100644
+index 5cc559b4f4..03ea2cd0dd 100644
@@ -78,2 +78,2 @@
-@@ -302,4 +302,6 @@ extern rte_atomic32_t ena_alloc_cnt;
- #define DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
+@@ -263,3 +263,5 @@ extern rte_atomic32_t ena_alloc_cnt;
+ #endif
@@ -83,2 +83 @@
- void ena_rss_key_fill(void *key, size_t size);
- 
+ #endif /* DPDK_ENA_COM_ENA_PLAT_DPDK_H_ */


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

* [dpdk-stable] patch 'net/ena/base: fix documentation of functions' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (63 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/ena/base: fix testing for supported hash function' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/ena/base: fix indentation in CQ polling' " Kevin Traynor
                   ` (28 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Michal Krawczyk; +Cc: Igor Chauskin, Guy Tzalik, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/a1c41ac2eba79d42bba4c52f33126b2a45b91cc2

Thanks.

Kevin.

---
From a1c41ac2eba79d42bba4c52f33126b2a45b91cc2 Mon Sep 17 00:00:00 2001
From: Michal Krawczyk <mk@semihalf.com>
Date: Wed, 8 Apr 2020 10:29:01 +0200
Subject: [PATCH] net/ena/base: fix documentation of functions

[ upstream commit b118993abd4cae7af3f8a66e0ad4fda1bee84c09 ]

The documentation format was aligned and few typos were fixed.

Fixes: 99ecfbf845b3 ("ena: import communication layer")

Signed-off-by: Michal Krawczyk <mk@semihalf.com>
Reviewed-by: Igor Chauskin <igorch@amazon.com>
Reviewed-by: Guy Tzalik <gtzalik@amazon.com>
---
 drivers/net/ena/base/ena_com.h | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/drivers/net/ena/base/ena_com.h b/drivers/net/ena/base/ena_com.h
index f58cd86a87..2e80ad563f 100644
--- a/drivers/net/ena/base/ena_com.h
+++ b/drivers/net/ena/base/ena_com.h
@@ -381,5 +381,5 @@ extern "C" {
 int ena_com_mmio_reg_read_request_init(struct ena_com_dev *ena_dev);
 
-/* ena_com_set_mmio_read_mode - Enable/disable the mmio reg read mechanism
+/* ena_com_set_mmio_read_mode - Enable/disable the indirect mmio reg read mechanism
  * @ena_dev: ENA communication layer struct
  * @readless_supported: readless mode (enable/disable)
@@ -507,5 +507,5 @@ bool ena_com_get_ena_admin_polling_mode(struct ena_com_dev *ena_dev);
  * @ena_dev: ENA communication layer struct
  *
- * This method go over the admin completion queue and wake up all the pending
+ * This method goes over the admin completion queue and wakes up all the pending
  * threads that wait on the commands wait event.
  *
@@ -517,5 +517,5 @@ void ena_com_admin_q_comp_intr_handler(struct ena_com_dev *ena_dev);
  * @ena_dev: ENA communication layer struct
  *
- * This method go over the async event notification queue and call the proper
+ * This method goes over the async event notification queue and calls the proper
  * aenq handler.
  */
@@ -534,5 +534,5 @@ void ena_com_abort_admin_commands(struct ena_com_dev *ena_dev);
  * @ena_dev: ENA communication layer struct
  *
- * This method wait until all the outstanding admin commands will be completed.
+ * This method waits until all the outstanding admin commands are completed.
  */
 void ena_com_wait_for_abort_completion(struct ena_com_dev *ena_dev);
@@ -541,5 +541,5 @@ void ena_com_wait_for_abort_completion(struct ena_com_dev *ena_dev);
  * @ena_dev: ENA communication layer struct
  *
- * This method validate the device parameters are the same as the saved
+ * This method verifies the device parameters are the same as the saved
  * parameters in ena_dev.
  * This method is useful after device reset, to validate the device mac address
@@ -718,5 +718,5 @@ int ena_com_set_hash_ctrl(struct ena_com_dev *ena_dev);
  * Retrieve the hash control from the device.
  *
- * @note, If the caller called ena_com_fill_hash_ctrl but didn't flash
+ * @note: If the caller called ena_com_fill_hash_ctrl but didn't flash
  * it to the device, the new configuration will be lost.
  *
@@ -770,5 +770,5 @@ int ena_com_indirect_table_set(struct ena_com_dev *ena_dev);
  * Retrieve the RSS indirection table from the device.
  *
- * @note: If the caller called ena_com_indirect_table_fill_entry but didn't flash
+ * @note: If the caller called ena_com_indirect_table_fill_entry but didn't flush
  * it to the device, the new configuration will be lost.
  *
@@ -796,5 +796,5 @@ int ena_com_allocate_debug_area(struct ena_com_dev *ena_dev,
  * @ena_dev: ENA communication layer struct
  *
- * Free the allocate debug area.
+ * Free the allocated debug area.
  */
 void ena_com_delete_debug_area(struct ena_com_dev *ena_dev);
@@ -803,5 +803,5 @@ void ena_com_delete_debug_area(struct ena_com_dev *ena_dev);
  * @ena_dev: ENA communication layer struct
  *
- * Free the allocate host info.
+ * Free the allocated host info.
  */
 void ena_com_delete_host_info(struct ena_com_dev *ena_dev);
@@ -844,7 +844,7 @@ int ena_com_destroy_io_cq(struct ena_com_dev *ena_dev,
  * @cmd_comp_size: command completion size.
 
- * Submit an admin command and then wait until the device will return a
+ * Submit an admin command and then wait until the device returns a
  * completion.
- * The completion will be copyed into cmd_comp.
+ * The completion will be copied into cmd_comp.
  *
  * @return - 0 on success, negative value on failure.
@@ -1028,5 +1028,5 @@ static inline void ena_com_calculate_interrupt_delay(struct ena_com_dev *ena_dev
  * @rx_delay_interval: Rx interval in usecs
  * @tx_delay_interval: Tx interval in usecs
- * @unmask: unask enable/disable
+ * @unmask: unmask enable/disable
  *
  * Prepare interrupt update register with the supplied parameters.
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:02.515704682 +0100
+++ 0066-net-ena-base-fix-documentation-of-functions.patch	2020-05-28 17:12:59.144555427 +0100
@@ -1 +1 @@
-From b118993abd4cae7af3f8a66e0ad4fda1bee84c09 Mon Sep 17 00:00:00 2001
+From a1c41ac2eba79d42bba4c52f33126b2a45b91cc2 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b118993abd4cae7af3f8a66e0ad4fda1bee84c09 ]
+
@@ -18 +20 @@
-index 07f63f44af..6c9943df79 100644
+index f58cd86a87..2e80ad563f 100644
@@ -21 +23 @@
-@@ -371,5 +371,5 @@ extern "C" {
+@@ -381,5 +381,5 @@ extern "C" {
@@ -28 +30 @@
-@@ -505,5 +505,5 @@ void ena_com_set_admin_auto_polling_mode(struct ena_com_dev *ena_dev,
+@@ -507,5 +507,5 @@ bool ena_com_get_ena_admin_polling_mode(struct ena_com_dev *ena_dev);
@@ -35 +37 @@
-@@ -515,5 +515,5 @@ void ena_com_admin_q_comp_intr_handler(struct ena_com_dev *ena_dev);
+@@ -517,5 +517,5 @@ void ena_com_admin_q_comp_intr_handler(struct ena_com_dev *ena_dev);
@@ -42 +44 @@
-@@ -532,5 +532,5 @@ void ena_com_abort_admin_commands(struct ena_com_dev *ena_dev);
+@@ -534,5 +534,5 @@ void ena_com_abort_admin_commands(struct ena_com_dev *ena_dev);
@@ -49 +51 @@
-@@ -539,5 +539,5 @@ void ena_com_wait_for_abort_completion(struct ena_com_dev *ena_dev);
+@@ -541,5 +541,5 @@ void ena_com_wait_for_abort_completion(struct ena_com_dev *ena_dev);
@@ -56 +58 @@
-@@ -716,5 +716,5 @@ int ena_com_set_hash_ctrl(struct ena_com_dev *ena_dev);
+@@ -718,5 +718,5 @@ int ena_com_set_hash_ctrl(struct ena_com_dev *ena_dev);
@@ -63 +65 @@
-@@ -768,5 +768,5 @@ int ena_com_indirect_table_set(struct ena_com_dev *ena_dev);
+@@ -770,5 +770,5 @@ int ena_com_indirect_table_set(struct ena_com_dev *ena_dev);
@@ -70 +72 @@
-@@ -794,5 +794,5 @@ int ena_com_allocate_debug_area(struct ena_com_dev *ena_dev,
+@@ -796,5 +796,5 @@ int ena_com_allocate_debug_area(struct ena_com_dev *ena_dev,
@@ -77 +79 @@
-@@ -801,5 +801,5 @@ void ena_com_delete_debug_area(struct ena_com_dev *ena_dev);
+@@ -803,5 +803,5 @@ void ena_com_delete_debug_area(struct ena_com_dev *ena_dev);
@@ -84 +86 @@
-@@ -842,7 +842,7 @@ int ena_com_destroy_io_cq(struct ena_com_dev *ena_dev,
+@@ -844,7 +844,7 @@ int ena_com_destroy_io_cq(struct ena_com_dev *ena_dev,
@@ -94 +96 @@
-@@ -933,5 +933,5 @@ static inline void ena_com_disable_adaptive_moderation(struct ena_com_dev *ena_d
+@@ -1028,5 +1028,5 @@ static inline void ena_com_calculate_interrupt_delay(struct ena_com_dev *ena_dev


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

* [dpdk-stable] patch 'net/ena/base: fix indentation in CQ polling' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (64 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/ena/base: fix documentation of functions' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/ena/base: fix indentation of multiple defines' " Kevin Traynor
                   ` (27 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Michal Krawczyk; +Cc: Igor Chauskin, Guy Tzalik, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/17d3b48eed1688cf48e2054136efcb616459b2cf

Thanks.

Kevin.

---
From 17d3b48eed1688cf48e2054136efcb616459b2cf Mon Sep 17 00:00:00 2001
From: Michal Krawczyk <mk@semihalf.com>
Date: Wed, 8 Apr 2020 10:29:02 +0200
Subject: [PATCH] net/ena/base: fix indentation in CQ polling

[ upstream commit 6a5283bbad7a17fa5556c55e00e4fe1828039285 ]

The spaces instead of tabs were used for the indent.

Fixes: 3adcba9a8987 ("net/ena: update HAL to the newer version")

Signed-off-by: Michal Krawczyk <mk@semihalf.com>
Reviewed-by: Igor Chauskin <igorch@amazon.com>
Reviewed-by: Guy Tzalik <gtzalik@amazon.com>
---
 drivers/net/ena/base/ena_com.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ena/base/ena_com.c b/drivers/net/ena/base/ena_com.c
index 4a6bc5e179..19eec493ed 100644
--- a/drivers/net/ena/base/ena_com.c
+++ b/drivers/net/ena/base/ena_com.c
@@ -533,9 +533,9 @@ static int ena_com_wait_and_process_admin_cq_polling(struct ena_comp_ctx *comp_c
 
 	while (1) {
-                ENA_SPINLOCK_LOCK(admin_queue->q_lock, flags);
-                ena_com_handle_admin_completion(admin_queue);
-                ENA_SPINLOCK_UNLOCK(admin_queue->q_lock, flags);
+		ENA_SPINLOCK_LOCK(admin_queue->q_lock, flags);
+		ena_com_handle_admin_completion(admin_queue);
+		ENA_SPINLOCK_UNLOCK(admin_queue->q_lock, flags);
 
-                if (comp_ctx->status != ENA_CMD_SUBMITTED)
+		if (comp_ctx->status != ENA_CMD_SUBMITTED)
 			break;
 
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:02.563629939 +0100
+++ 0067-net-ena-base-fix-indentation-in-CQ-polling.patch	2020-05-28 17:12:59.147555359 +0100
@@ -1 +1 @@
-From 6a5283bbad7a17fa5556c55e00e4fe1828039285 Mon Sep 17 00:00:00 2001
+From 17d3b48eed1688cf48e2054136efcb616459b2cf Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 6a5283bbad7a17fa5556c55e00e4fe1828039285 ]
+
@@ -18 +20 @@
-index 962baf6024..f128d3c4f3 100644
+index 4a6bc5e179..19eec493ed 100644


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

* [dpdk-stable] patch 'net/ena/base: fix indentation of multiple defines' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (65 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/ena/base: fix indentation in CQ polling' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/ena: set IO ring size to valid value' " Kevin Traynor
                   ` (26 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Michal Krawczyk; +Cc: Igor Chauskin, Guy Tzalik, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/c0e2971258ad31f13b64abdfaae20e456c319fdf

Thanks.

Kevin.

---
From c0e2971258ad31f13b64abdfaae20e456c319fdf Mon Sep 17 00:00:00 2001
From: Michal Krawczyk <mk@semihalf.com>
Date: Wed, 8 Apr 2020 10:29:06 +0200
Subject: [PATCH] net/ena/base: fix indentation of multiple defines

[ upstream commit 5dcdfbfaaf5c4223cdcbb2d08995236bfdb7e3c8 ]

As the alignment of the defines wasn't valid, it was removed at all, so
instead of using multiple spaces or tabs, the single space after define
name is being used.

Fixes: 99ecfbf845b3 ("ena: import communication layer")

Signed-off-by: Michal Krawczyk <mk@semihalf.com>
Reviewed-by: Igor Chauskin <igorch@amazon.com>
Reviewed-by: Guy Tzalik <gtzalik@amazon.com>
---
 drivers/net/ena/base/ena_com.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ena/base/ena_com.h b/drivers/net/ena/base/ena_com.h
index 2e80ad563f..f373d50c50 100644
--- a/drivers/net/ena/base/ena_com.h
+++ b/drivers/net/ena/base/ena_com.h
@@ -38,7 +38,7 @@
 #include "ena_includes.h"
 
-#define ENA_MAX_NUM_IO_QUEUES		128U
+#define ENA_MAX_NUM_IO_QUEUES 128U
 /* We need to queues for each IO (on for Tx and one for Rx) */
-#define ENA_TOTAL_NUM_QUEUES		(2 * (ENA_MAX_NUM_IO_QUEUES))
+#define ENA_TOTAL_NUM_QUEUES (2 * (ENA_MAX_NUM_IO_QUEUES))
 
 #define ENA_MAX_HANDLERS 256
@@ -85,5 +85,5 @@
 #define ENA_INTR_BYTE_COUNT_NOT_SUPPORTED		0xFFFFFF
 
-#define ENA_HW_HINTS_NO_TIMEOUT				0xFFFF
+#define ENA_HW_HINTS_NO_TIMEOUT 0xFFFF
 
 enum ena_intr_moder_level {
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:02.616356350 +0100
+++ 0068-net-ena-base-fix-indentation-of-multiple-defines.patch	2020-05-28 17:12:59.148555337 +0100
@@ -1 +1 @@
-From 5dcdfbfaaf5c4223cdcbb2d08995236bfdb7e3c8 Mon Sep 17 00:00:00 2001
+From c0e2971258ad31f13b64abdfaae20e456c319fdf Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 5dcdfbfaaf5c4223cdcbb2d08995236bfdb7e3c8 ]
+
@@ -16,2 +18,2 @@
- drivers/net/ena/base/ena_com.h | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
+ drivers/net/ena/base/ena_com.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
@@ -20 +22 @@
-index 6c9943df79..61074eaf63 100644
+index 2e80ad563f..f373d50c50 100644
@@ -23,2 +25,2 @@
-@@ -9,7 +9,7 @@
- #include "ena_plat.h"
+@@ -38,7 +38,7 @@
+ #include "ena_includes.h"
@@ -33,2 +35,2 @@
-@@ -34,7 +34,7 @@
- #define ENA_HASH_KEY_SIZE				40
+@@ -85,5 +85,5 @@
+ #define ENA_INTR_BYTE_COUNT_NOT_SUPPORTED		0xFFFFFF
@@ -39,4 +41 @@
--#define ENA_FEATURE_MAX_QUEUE_EXT_VER	1
-+#define ENA_FEATURE_MAX_QUEUE_EXT_VER 1
- 
- struct ena_llq_configurations {
+ enum ena_intr_moder_level {


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

* [dpdk-stable] patch 'net/ena: set IO ring size to valid value' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (66 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/ena/base: fix indentation of multiple defines' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/null: fix secondary burst function selection' " Kevin Traynor
                   ` (25 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Michal Krawczyk; +Cc: Igor Chauskin, Guy Tzalik, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/f21655156b911dbbeb703cfd68e94fc14f712003

Thanks.

Kevin.

---
From f21655156b911dbbeb703cfd68e94fc14f712003 Mon Sep 17 00:00:00 2001
From: Michal Krawczyk <mk@semihalf.com>
Date: Wed, 8 Apr 2020 10:29:08 +0200
Subject: [PATCH] net/ena: set IO ring size to valid value

[ upstream commit badc3a6aa133a886a61b9e3ad666e5675f7ec3d3 ]

IO rings were configured with the maximum allowed size for the Tx/Rx
rings. However, the application could decide to create smaller rings.

This patch is using value stored in the ring instead of the value from
the adapter which is indicating the maximum allowed value.

Fixes: df238f84c0a2 ("net/ena: recreate HW IO rings on start and stop")

Signed-off-by: Michal Krawczyk <mk@semihalf.com>
Reviewed-by: Igor Chauskin <igorch@amazon.com>
Reviewed-by: Guy Tzalik <gtzalik@amazon.com>
---
 drivers/net/ena/ena_ethdev.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index 493111a2a0..8afd82bc87 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -1044,5 +1044,4 @@ static int ena_create_io_queue(struct ena_ring *ring)
 		ctx.direction = ENA_COM_IO_QUEUE_DIRECTION_TX;
 		ctx.mem_queue_type = ena_dev->tx_mem_queue_type;
-		ctx.queue_size = adapter->tx_ring_size;
 		for (i = 0; i < ring->ring_size; i++)
 			ring->empty_tx_reqs[i] = i;
@@ -1050,8 +1049,8 @@ static int ena_create_io_queue(struct ena_ring *ring)
 		ena_qid = ENA_IO_RXQ_IDX(ring->id);
 		ctx.direction = ENA_COM_IO_QUEUE_DIRECTION_RX;
-		ctx.queue_size = adapter->rx_ring_size;
 		for (i = 0; i < ring->ring_size; i++)
 			ring->empty_rx_reqs[i] = i;
 	}
+	ctx.queue_size = ring->ring_size;
 	ctx.qid = ena_qid;
 	ctx.msix_vector = -1; /* interrupts not used */
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:02.665427793 +0100
+++ 0069-net-ena-set-IO-ring-size-to-valid-value.patch	2020-05-28 17:12:59.150555292 +0100
@@ -1 +1 @@
-From badc3a6aa133a886a61b9e3ad666e5675f7ec3d3 Mon Sep 17 00:00:00 2001
+From f21655156b911dbbeb703cfd68e94fc14f712003 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit badc3a6aa133a886a61b9e3ad666e5675f7ec3d3 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index f1202d99f2..62e26a2a16 100644
+index 493111a2a0..8afd82bc87 100644
@@ -26 +27 @@
-@@ -1100,5 +1100,4 @@ static int ena_create_io_queue(struct ena_ring *ring)
+@@ -1044,5 +1044,4 @@ static int ena_create_io_queue(struct ena_ring *ring)
@@ -32 +33 @@
-@@ -1106,8 +1105,8 @@ static int ena_create_io_queue(struct ena_ring *ring)
+@@ -1050,8 +1049,8 @@ static int ena_create_io_queue(struct ena_ring *ring)


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

* [dpdk-stable] patch 'net/null: fix secondary burst function selection' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (67 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/ena: set IO ring size to valid value' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/null: remove redundant check' " Kevin Traynor
                   ` (24 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/1142c2f79991f12183278ddc81c71a2ce418b01e

Thanks.

Kevin.

---
From 1142c2f79991f12183278ddc81c71a2ce418b01e Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Mon, 2 Mar 2020 17:36:40 +0000
Subject: [PATCH] net/null: fix secondary burst function selection

[ upstream commit e2f4b25063d7d06f004d0809c30bb616f5bca61b ]

Secondary process uses the primary process device and while setting the
Rx/Tx functions it uses the device arguments from the secondary process
instead of the primary ones.

This may cause primary and secondary process use different Rx/Tx
functions unintentionally.

Fixes: bccc77a6a74a ("net/null: fix multi-process Rx and Tx")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/null/rte_eth_null.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/null/rte_eth_null.c b/drivers/net/null/rte_eth_null.c
index 1067e6e4ea..95314982c3 100644
--- a/drivers/net/null/rte_eth_null.c
+++ b/drivers/net/null/rte_eth_null.c
@@ -614,4 +614,5 @@ rte_pmd_null_probe(struct rte_vdev_device *dev)
 
 	if (rte_eal_process_type() == RTE_PROC_SECONDARY) {
+		struct pmd_internals *internals;
 		eth_dev = rte_eth_dev_attach_secondary(name);
 		if (!eth_dev) {
@@ -622,5 +623,6 @@ rte_pmd_null_probe(struct rte_vdev_device *dev)
 		eth_dev->dev_ops = &ops;
 		eth_dev->device = &dev->device;
-		if (packet_copy) {
+		internals = eth_dev->data->dev_private;
+		if (internals->packet_copy) {
 			eth_dev->rx_pkt_burst = eth_null_copy_rx;
 			eth_dev->tx_pkt_burst = eth_null_copy_tx;
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:02.716767324 +0100
+++ 0070-net-null-fix-secondary-burst-function-selection.patch	2020-05-28 17:12:59.151555269 +0100
@@ -1 +1 @@
-From e2f4b25063d7d06f004d0809c30bb616f5bca61b Mon Sep 17 00:00:00 2001
+From 1142c2f79991f12183278ddc81c71a2ce418b01e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e2f4b25063d7d06f004d0809c30bb616f5bca61b ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 025b73acb3..87a29b8535 100644
+index 1067e6e4ea..95314982c3 100644
@@ -25 +26 @@
-@@ -585,4 +585,5 @@ rte_pmd_null_probe(struct rte_vdev_device *dev)
+@@ -614,4 +614,5 @@ rte_pmd_null_probe(struct rte_vdev_device *dev)
@@ -31 +32 @@
-@@ -593,5 +594,6 @@ rte_pmd_null_probe(struct rte_vdev_device *dev)
+@@ -622,5 +623,6 @@ rte_pmd_null_probe(struct rte_vdev_device *dev)


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

* [dpdk-stable] patch 'net/null: remove redundant check' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (68 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/null: fix secondary burst function selection' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:22 ` [dpdk-stable] patch 'vhost/crypto: add missing user protocol flag' " Kevin Traynor
                   ` (23 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/4fcd7720f7e126eb36ee1367956e184f5f44cac2

Thanks.

Kevin.

---
From 4fcd7720f7e126eb36ee1367956e184f5f44cac2 Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Mon, 2 Mar 2020 17:36:42 +0000
Subject: [PATCH] net/null: remove redundant check

[ upstream commit c21a276bd8f3d4c5210ccd2074f7a87a7d00b3e4 ]

There is no need to check if the argument exist or not,
`rte_kvargs_process` returns success if the argument is not provided at
all.

Fixes: c743e50c475f ("null: new poll mode driver")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/null/rte_eth_null.c | 25 ++++++++++---------------
 1 file changed, 10 insertions(+), 15 deletions(-)

diff --git a/drivers/net/null/rte_eth_null.c b/drivers/net/null/rte_eth_null.c
index 95314982c3..1de26b0f69 100644
--- a/drivers/net/null/rte_eth_null.c
+++ b/drivers/net/null/rte_eth_null.c
@@ -640,21 +640,16 @@ rte_pmd_null_probe(struct rte_vdev_device *dev)
 			return -1;
 
-		if (rte_kvargs_count(kvlist, ETH_NULL_PACKET_SIZE_ARG) == 1) {
+		ret = rte_kvargs_process(kvlist,
+				ETH_NULL_PACKET_SIZE_ARG,
+				&get_packet_size_arg, &packet_size);
+		if (ret < 0)
+			goto free_kvlist;
 
-			ret = rte_kvargs_process(kvlist,
-					ETH_NULL_PACKET_SIZE_ARG,
-					&get_packet_size_arg, &packet_size);
-			if (ret < 0)
-				goto free_kvlist;
-		}
 
-		if (rte_kvargs_count(kvlist, ETH_NULL_PACKET_COPY_ARG) == 1) {
-
-			ret = rte_kvargs_process(kvlist,
-					ETH_NULL_PACKET_COPY_ARG,
-					&get_packet_copy_arg, &packet_copy);
-			if (ret < 0)
-				goto free_kvlist;
-		}
+		ret = rte_kvargs_process(kvlist,
+				ETH_NULL_PACKET_COPY_ARG,
+				&get_packet_copy_arg, &packet_copy);
+		if (ret < 0)
+			goto free_kvlist;
 	}
 
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:02.768601162 +0100
+++ 0071-net-null-remove-redundant-check.patch	2020-05-28 17:12:59.152555246 +0100
@@ -1 +1 @@
-From c21a276bd8f3d4c5210ccd2074f7a87a7d00b3e4 Mon Sep 17 00:00:00 2001
+From 4fcd7720f7e126eb36ee1367956e184f5f44cac2 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c21a276bd8f3d4c5210ccd2074f7a87a7d00b3e4 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 87a29b8535..beedd5f4b2 100644
+index 95314982c3..1de26b0f69 100644
@@ -22 +23 @@
-@@ -611,21 +611,16 @@ rte_pmd_null_probe(struct rte_vdev_device *dev)
+@@ -640,21 +640,16 @@ rte_pmd_null_probe(struct rte_vdev_device *dev)


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

* [dpdk-stable] patch 'vhost/crypto: add missing user protocol flag' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (69 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'net/null: remove redundant check' " Kevin Traynor
@ 2020-05-28 16:22 ` " Kevin Traynor
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/vhost: fix potential memory leak on close' " Kevin Traynor
                   ` (22 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:22 UTC (permalink / raw)
  To: Fan Zhang; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/7ca9dd0fe5dfbbe32293f75f745e4d4cd8132949

Thanks.

Kevin.

---
From 7ca9dd0fe5dfbbe32293f75f745e4d4cd8132949 Mon Sep 17 00:00:00 2001
From: Fan Zhang <roy.fan.zhang@intel.com>
Date: Wed, 29 Jan 2020 10:19:37 +0000
Subject: [PATCH] vhost/crypto: add missing user protocol flag

[ upstream commit 699a225b3861bd1a02872ed389a317f2d18c8f3a ]

This patch fixes the vhost crypto missed
"VHOST_USER_PROTOCOL_F_CONFIG" flag problem during initialization.
Newer Qemu version requires this feature enabled.

Fixes: 939066d96563 ("vhost/crypto: add public function implementation")

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 lib/librte_vhost/rte_vhost.h    | 5 +++++
 lib/librte_vhost/vhost_crypto.c | 3 ++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/lib/librte_vhost/rte_vhost.h b/lib/librte_vhost/rte_vhost.h
index ce1f12e1d5..6f1b4eabeb 100644
--- a/lib/librte_vhost/rte_vhost.h
+++ b/lib/librte_vhost/rte_vhost.h
@@ -65,4 +65,8 @@ extern "C" {
 #endif
 
+#ifndef VHOST_USER_PROTOCOL_F_CONFIG
+#define VHOST_USER_PROTOCOL_F_CONFIG 9
+#endif
+
 #ifndef VHOST_USER_PROTOCOL_F_SLAVE_SEND_FD
 #define VHOST_USER_PROTOCOL_F_SLAVE_SEND_FD 10
@@ -78,4 +82,5 @@ extern "C" {
 #endif
 
+
 /**
  * Information relating to memory regions including offsets to
diff --git a/lib/librte_vhost/vhost_crypto.c b/lib/librte_vhost/vhost_crypto.c
index 8934365f2f..dfbac66f05 100644
--- a/lib/librte_vhost/vhost_crypto.c
+++ b/lib/librte_vhost/vhost_crypto.c
@@ -41,5 +41,6 @@
 		(1 << VIRTIO_CRYPTO_SERVICE_CIPHER) |			\
 		(1 << VIRTIO_CRYPTO_SERVICE_MAC) |			\
-		(1 << VIRTIO_NET_F_CTRL_VQ))
+		(1 << VIRTIO_NET_F_CTRL_VQ) |				\
+		(1 << VHOST_USER_PROTOCOL_F_CONFIG))
 
 #define IOVA_TO_VVA(t, r, a, l, p)					\
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:02.835854193 +0100
+++ 0072-vhost-crypto-add-missing-user-protocol-flag.patch	2020-05-28 17:12:59.154555201 +0100
@@ -1 +1 @@
-From 699a225b3861bd1a02872ed389a317f2d18c8f3a Mon Sep 17 00:00:00 2001
+From 7ca9dd0fe5dfbbe32293f75f745e4d4cd8132949 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 699a225b3861bd1a02872ed389a317f2d18c8f3a ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index c7b619ae0d..5c72fba797 100644
+index ce1f12e1d5..6f1b4eabeb 100644
@@ -24 +25 @@
-@@ -70,4 +70,8 @@ extern "C" {
+@@ -65,4 +65,8 @@ extern "C" {
@@ -33 +34 @@
-@@ -87,4 +91,5 @@ extern "C" {
+@@ -78,4 +82,5 @@ extern "C" {
@@ -40 +41 @@
-index 68911972b6..2e52ecae87 100644
+index 8934365f2f..dfbac66f05 100644


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

* [dpdk-stable] patch 'net/vhost: fix potential memory leak on close' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (70 preceding siblings ...)
  2020-05-28 16:22 ` [dpdk-stable] patch 'vhost/crypto: add missing user protocol flag' " Kevin Traynor
@ 2020-05-28 16:23 ` " Kevin Traynor
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/virtio: fix outdated comment' " Kevin Traynor
                   ` (21 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:23 UTC (permalink / raw)
  To: Itsuro Oda; +Cc: Xiaolong Ye, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/a99aae61bec83b99d3fc8423c5246dd3514fb052

Thanks.

Kevin.

---
From a99aae61bec83b99d3fc8423c5246dd3514fb052 Mon Sep 17 00:00:00 2001
From: Itsuro Oda <oda@valinux.co.jp>
Date: Thu, 5 Mar 2020 11:54:50 +0900
Subject: [PATCH] net/vhost: fix potential memory leak on close

[ upstream commit 770fabcd36ec11d64544e86ed7d2dda9f5c64daf ]

If a vhost device is closed before eth_dev_configure is done
to the device, internal resources allocated to the device
would not be freed. This patch fixes it.

Fixes: 3d01b759d267 ("net/vhost: delay driver setup")

Signed-off-by: Itsuro Oda <oda@valinux.co.jp>
Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>
---
 drivers/net/vhost/rte_eth_vhost.c | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c
index 52b9e0c102..93ca8ebe4b 100644
--- a/drivers/net/vhost/rte_eth_vhost.c
+++ b/drivers/net/vhost/rte_eth_vhost.c
@@ -986,14 +986,12 @@ eth_dev_close(struct rte_eth_dev *dev)
 	eth_dev_stop(dev);
 
-	rte_vhost_driver_unregister(internal->iface_name);
-
 	list = find_internal_resource(internal->iface_name);
-	if (!list)
-		return;
-
-	pthread_mutex_lock(&internal_list_lock);
-	TAILQ_REMOVE(&internal_list, list, next);
-	pthread_mutex_unlock(&internal_list_lock);
-	rte_free(list);
+	if (list) {
+		rte_vhost_driver_unregister(internal->iface_name);
+		pthread_mutex_lock(&internal_list_lock);
+		TAILQ_REMOVE(&internal_list, list, next);
+		pthread_mutex_unlock(&internal_list_lock);
+		rte_free(list);
+	}
 
 	if (dev->data->rx_queues)
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:02.897922825 +0100
+++ 0073-net-vhost-fix-potential-memory-leak-on-close.patch	2020-05-28 17:12:59.155555179 +0100
@@ -1 +1 @@
-From 770fabcd36ec11d64544e86ed7d2dda9f5c64daf Mon Sep 17 00:00:00 2001
+From a99aae61bec83b99d3fc8423c5246dd3514fb052 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 770fabcd36ec11d64544e86ed7d2dda9f5c64daf ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index f44e6bbebe..808e670f13 100644
+index 52b9e0c102..93ca8ebe4b 100644
@@ -23 +24 @@
-@@ -1070,14 +1070,12 @@ eth_dev_close(struct rte_eth_dev *dev)
+@@ -986,14 +986,12 @@ eth_dev_close(struct rte_eth_dev *dev)


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

* [dpdk-stable] patch 'net/virtio: fix outdated comment' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (71 preceding siblings ...)
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/vhost: fix potential memory leak on close' " Kevin Traynor
@ 2020-05-28 16:23 ` " Kevin Traynor
  2020-05-28 16:23 ` [dpdk-stable] patch 'vhost: remove unused variable' " Kevin Traynor
                   ` (20 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:23 UTC (permalink / raw)
  To: Xiaolong Ye; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/84edbc742b21efa742ee0f97fe4230b3f1d6c0ca

Thanks.

Kevin.

---
From 84edbc742b21efa742ee0f97fe4230b3f1d6c0ca Mon Sep 17 00:00:00 2001
From: Xiaolong Ye <xiaolong.ye@intel.com>
Date: Sat, 7 Mar 2020 21:22:34 +0800
Subject: [PATCH] net/virtio: fix outdated comment

[ upstream commit f6ac14f13b040fb44db6ed4ab392865fb6648201 ]

Fix comment that is no more correct as the code evolved.

Fixes: 9470427c88e1 ("net/virtio: do not store PCI device pointer at shared memory")

Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 drivers/net/virtio/virtio_ethdev.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index 2d4c6c7fa9..be24677093 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -350,5 +350,5 @@ virtio_init_queue(struct rte_eth_dev *dev, uint16_t vtpci_queue_idx)
 
 	if (!rte_is_power_of_2(vq_size)) {
-		PMD_INIT_LOG(ERR, "virtqueue size is not powerof 2");
+		PMD_INIT_LOG(ERR, "virtqueue size is not power of 2");
 		return -EINVAL;
 	}
@@ -465,6 +465,6 @@ virtio_init_queue(struct rte_eth_dev *dev, uint16_t vtpci_queue_idx)
 	}
 
-	/* For virtio_user case (that is when hw->dev is NULL), we use
-	 * virtual address. And we need properly set _offset_, please see
+	/* For virtio_user case (that is when hw->virtio_user_dev is not NULL),
+	 * we use virtual address. And we need properly set _offset_, please see
 	 * VIRTIO_MBUF_DATA_DMA_ADDR in virtqueue.h for more information.
 	 */
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:02.950121217 +0100
+++ 0074-net-virtio-fix-outdated-comment.patch	2020-05-28 17:12:59.157555133 +0100
@@ -1 +1 @@
-From f6ac14f13b040fb44db6ed4ab392865fb6648201 Mon Sep 17 00:00:00 2001
+From 84edbc742b21efa742ee0f97fe4230b3f1d6c0ca Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit f6ac14f13b040fb44db6ed4ab392865fb6648201 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index f9d0ea70db..35203940a7 100644
+index 2d4c6c7fa9..be24677093 100644
@@ -21 +22 @@
-@@ -467,5 +467,5 @@ virtio_init_queue(struct rte_eth_dev *dev, uint16_t vtpci_queue_idx)
+@@ -350,5 +350,5 @@ virtio_init_queue(struct rte_eth_dev *dev, uint16_t vtpci_queue_idx)
@@ -23,3 +24,3 @@
- 	if (!vtpci_packed_queue(hw) && !rte_is_power_of_2(vq_size)) {
--		PMD_INIT_LOG(ERR, "split virtqueue size is not powerof 2");
-+		PMD_INIT_LOG(ERR, "split virtqueue size is not power of 2");
+ 	if (!rte_is_power_of_2(vq_size)) {
+-		PMD_INIT_LOG(ERR, "virtqueue size is not powerof 2");
++		PMD_INIT_LOG(ERR, "virtqueue size is not power of 2");
@@ -28 +29 @@
-@@ -589,6 +589,6 @@ virtio_init_queue(struct rte_eth_dev *dev, uint16_t vtpci_queue_idx)
+@@ -465,6 +465,6 @@ virtio_init_queue(struct rte_eth_dev *dev, uint16_t vtpci_queue_idx)


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

* [dpdk-stable] patch 'vhost: remove unused variable' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (72 preceding siblings ...)
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/virtio: fix outdated comment' " Kevin Traynor
@ 2020-05-28 16:23 ` " Kevin Traynor
  2020-05-28 16:23 ` [dpdk-stable] patch 'vhost: make IOTLB cache name unique among processes' " Kevin Traynor
                   ` (19 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:23 UTC (permalink / raw)
  To: Xiaolong Ye; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/a4bbabe0190da998012c65ca3d832c2cb18bf0fa

Thanks.

Kevin.

---
From a4bbabe0190da998012c65ca3d832c2cb18bf0fa Mon Sep 17 00:00:00 2001
From: Xiaolong Ye <xiaolong.ye@intel.com>
Date: Sat, 7 Mar 2020 21:22:35 +0800
Subject: [PATCH] vhost: remove unused variable

[ upstream commit 96ddd23ae4e2aed9f79203a8ffbf2de86fbdeecb ]

VHOST_FEATURES has been removed in previous refactoring.

Fixes: 0917f9d1f059 ("vhost: use new APIs to handle features")

Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 lib/librte_vhost/vhost.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h
index 535591927f..e75afcce20 100644
--- a/lib/librte_vhost/vhost.h
+++ b/lib/librte_vhost/vhost.h
@@ -513,5 +513,4 @@ vhost_log_write_iova(struct virtio_net *dev, struct vhost_virtqueue *vq,
 #endif
 
-extern uint64_t VHOST_FEATURES;
 #define MAX_VHOST_DEVICE	1024
 extern struct virtio_net *vhost_devices[MAX_VHOST_DEVICE];
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:03.000390710 +0100
+++ 0075-vhost-remove-unused-variable.patch	2020-05-28 17:12:59.158555111 +0100
@@ -1 +1 @@
-From 96ddd23ae4e2aed9f79203a8ffbf2de86fbdeecb Mon Sep 17 00:00:00 2001
+From a4bbabe0190da998012c65ca3d832c2cb18bf0fa Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 96ddd23ae4e2aed9f79203a8ffbf2de86fbdeecb ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index 2087d1400e..507dbf2147 100644
+index 535591927f..e75afcce20 100644
@@ -21 +22 @@
-@@ -544,5 +544,4 @@ extern int vhost_data_log_level;
+@@ -513,5 +513,4 @@ vhost_log_write_iova(struct virtio_net *dev, struct vhost_virtqueue *vq,


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

* [dpdk-stable] patch 'vhost: make IOTLB cache name unique among processes' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (73 preceding siblings ...)
  2020-05-28 16:23 ` [dpdk-stable] patch 'vhost: remove unused variable' " Kevin Traynor
@ 2020-05-28 16:23 ` " Kevin Traynor
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/mlx4: fix build with -fno-common' " Kevin Traynor
                   ` (18 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:23 UTC (permalink / raw)
  To: Itsuro Oda; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/15b8c1bb8f7bae668d3053eb76d81bf0ee0be458

Thanks.

Kevin.

---
From 15b8c1bb8f7bae668d3053eb76d81bf0ee0be458 Mon Sep 17 00:00:00 2001
From: Itsuro Oda <oda@valinux.co.jp>
Date: Thu, 12 Mar 2020 08:19:18 +0900
Subject: [PATCH] vhost: make IOTLB cache name unique among processes

[ upstream commit 7470f845c17ac27ce08b22f3c024169e51ade990 ]

Currently, iotlb cache name is comprised of vid and virtqueue
index. For example, "iotlb_cache_0_0". Because vid is assigned
per process, iotlb cache name is not unique among multi processes.
For example a secondary process uses a vhost
(ex. eth_vhost0,iface=/tmp/sock0) and another secondary process
uses a vhost (ex. eth_vhost1,iface=/tmp/sock1), iotlb cache
name of both vhost ("iotlb_cache_0_0") are same and as a result
iotlb cache is broken.

This patch makes iotlb cache name unique among milti processes
by adding process id to the iotlb cache name.

The prefix of the name is shortened to "iotlb_" since the maximum
length of pool name is 25 bytes (RTE_MEMPOOL_NAMESIZE is 26).
Note that it is just 25 characters in maximum at the moment.
Here,
* pid_t == int: max 10 digits.
* vid < MAX_VHOST_DECICE(1024): max 4 digits.
* vq_index < VHOST_MAX_VRING(256): max 3 digits.

Fixes: d012d1f293f4 ("vhost: add IOTLB helper functions")

Signed-off-by: Itsuro Oda <oda@valinux.co.jp>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 lib/librte_vhost/iotlb.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/librte_vhost/iotlb.c b/lib/librte_vhost/iotlb.c
index c6354fef7e..3dfde94e80 100644
--- a/lib/librte_vhost/iotlb.c
+++ b/lib/librte_vhost/iotlb.c
@@ -337,6 +337,7 @@ vhost_user_iotlb_init(struct virtio_net *dev, int vq_index)
 	TAILQ_INIT(&vq->iotlb_pending_list);
 
-	snprintf(pool_name, sizeof(pool_name), "iotlb_cache_%d_%d",
-			dev->vid, vq_index);
+	snprintf(pool_name, sizeof(pool_name), "iotlb_%u_%d_%d",
+			getpid(), dev->vid, vq_index);
+	RTE_LOG(DEBUG, VHOST_CONFIG, "IOTLB cache name: %s\n", pool_name);
 
 	/* If already created, free it and recreate */
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:03.048819691 +0100
+++ 0076-vhost-make-IOTLB-cache-name-unique-among-processes.patch	2020-05-28 17:12:59.159555088 +0100
@@ -1 +1 @@
-From 7470f845c17ac27ce08b22f3c024169e51ade990 Mon Sep 17 00:00:00 2001
+From 15b8c1bb8f7bae668d3053eb76d81bf0ee0be458 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 7470f845c17ac27ce08b22f3c024169e51ade990 ]
+
@@ -27 +28,0 @@
-Cc: stable@dpdk.org
@@ -36 +37 @@
-index bc17585288..5b3a0c090c 100644
+index c6354fef7e..3dfde94e80 100644
@@ -39 +40 @@
-@@ -309,6 +309,7 @@ vhost_user_iotlb_init(struct virtio_net *dev, int vq_index)
+@@ -337,6 +337,7 @@ vhost_user_iotlb_init(struct virtio_net *dev, int vq_index)
@@ -46 +47 @@
-+	VHOST_LOG_CONFIG(DEBUG, "IOTLB cache name: %s\n", pool_name);
++	RTE_LOG(DEBUG, VHOST_CONFIG, "IOTLB cache name: %s\n", pool_name);


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

* [dpdk-stable] patch 'net/mlx4: fix build with -fno-common' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (74 preceding siblings ...)
  2020-05-28 16:23 ` [dpdk-stable] patch 'vhost: make IOTLB cache name unique among processes' " Kevin Traynor
@ 2020-05-28 16:23 ` " Kevin Traynor
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/i40e: relax barrier in Tx for NEON' " Kevin Traynor
                   ` (17 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:23 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: Matan Azrad, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/f808ec01666ecaad192730349ebb5080bdac5967

Thanks.

Kevin.

---
From f808ec01666ecaad192730349ebb5080bdac5967 Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas@monjalon.net>
Date: Wed, 8 Apr 2020 02:09:00 +0200
Subject: [PATCH] net/mlx4: fix build with -fno-common

[ upstream commit a5e5af7f20b4106b68eeedf83daada0371b83918 ]

The variable storages of the same name are merged together
if compiled with -fcommon. This is the default.
This default behaviour allows to declare a variable in a header file and
share the variable in every .o binaries thanks to merge at link-time.

In the case of dlopen linking of the glue library, the pointer mlx4_glue
is referencing the glue functions struct and is set after calling
dlopen.

If compiling with -fno-common (default in GCC 10), the variables must be
declared as extern to avoid multiple re-definitions.
In case the glue layer is split in glue library, the variable mlx4_glue
needs to have its own storage for the rest of the PMD.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Matan Azrad <matan@mellanox.com>
---
 drivers/net/mlx4/mlx4.c      | 4 ++++
 drivers/net/mlx4/mlx4_glue.h | 2 +-
 drivers/net/mlx4/mlx4_rxtx.h | 2 +-
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c
index 4428edf108..975df9b747 100644
--- a/drivers/net/mlx4/mlx4.c
+++ b/drivers/net/mlx4/mlx4.c
@@ -49,4 +49,8 @@
 #include "mlx4_utils.h"
 
+#ifdef MLX4_GLUE
+const struct mlx4_glue *mlx4_glue;
+#endif
+
 struct mlx4_dev_list mlx4_mem_event_cb_list =
 	LIST_HEAD_INITIALIZER(mlx4_mem_event_cb_list);
diff --git a/drivers/net/mlx4/mlx4_glue.h b/drivers/net/mlx4/mlx4_glue.h
index 668ca86700..5d9e985495 100644
--- a/drivers/net/mlx4/mlx4_glue.h
+++ b/drivers/net/mlx4/mlx4_glue.h
@@ -85,5 +85,5 @@ struct mlx4_glue {
 };
 
-const struct mlx4_glue *mlx4_glue;
+extern const struct mlx4_glue *mlx4_glue;
 
 #endif /* MLX4_GLUE_H_ */
diff --git a/drivers/net/mlx4/mlx4_rxtx.h b/drivers/net/mlx4/mlx4_rxtx.h
index 29389f1ea7..baf0cd73a8 100644
--- a/drivers/net/mlx4/mlx4_rxtx.h
+++ b/drivers/net/mlx4/mlx4_rxtx.h
@@ -121,5 +121,5 @@ struct txq {
 /* mlx4_rxq.c */
 
-uint8_t mlx4_rss_hash_key_default[MLX4_RSS_HASH_KEY_SIZE];
+extern uint8_t mlx4_rss_hash_key_default[MLX4_RSS_HASH_KEY_SIZE];
 int mlx4_rss_init(struct mlx4_priv *priv);
 void mlx4_rss_deinit(struct mlx4_priv *priv);
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:03.096657826 +0100
+++ 0077-net-mlx4-fix-build-with-fno-common.patch	2020-05-28 17:12:59.161555043 +0100
@@ -1 +1 @@
-From a5e5af7f20b4106b68eeedf83daada0371b83918 Mon Sep 17 00:00:00 2001
+From f808ec01666ecaad192730349ebb5080bdac5967 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a5e5af7f20b4106b68eeedf83daada0371b83918 ]
+
@@ -20,2 +21,0 @@
-Cc: stable@dpdk.org
-
@@ -31 +31 @@
-index 8e298788af..5d7202720b 100644
+index 4428edf108..975df9b747 100644
@@ -34 +34 @@
-@@ -50,4 +50,8 @@
+@@ -49,4 +49,8 @@
@@ -41,2 +41,2 @@
- static const char *MZ_MLX4_PMD_SHARED_DATA = "mlx4_pmd_shared_data";
- 
+ struct mlx4_dev_list mlx4_mem_event_cb_list =
+ 	LIST_HEAD_INITIALIZER(mlx4_mem_event_cb_list);
@@ -55 +55 @@
-index 8baf33fa94..9de6c59411 100644
+index 29389f1ea7..baf0cd73a8 100644
@@ -58 +58 @@
-@@ -125,5 +125,5 @@ struct txq {
+@@ -121,5 +121,5 @@ struct txq {


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

* [dpdk-stable] patch 'net/i40e: relax barrier in Tx for NEON' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (75 preceding siblings ...)
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/mlx4: fix build with -fno-common' " Kevin Traynor
@ 2020-05-28 16:23 ` " Kevin Traynor
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/tap: fix mbuf and mem leak during queue release' " Kevin Traynor
                   ` (16 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:23 UTC (permalink / raw)
  To: Gavin Hu; +Cc: Jerin Jacob, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/25c139043a4cc1e3beb4735242b3764fe65f292e

Thanks.

Kevin.

---
From 25c139043a4cc1e3beb4735242b3764fe65f292e Mon Sep 17 00:00:00 2001
From: Gavin Hu <gavin.hu@arm.com>
Date: Tue, 14 Apr 2020 00:40:24 +0800
Subject: [PATCH] net/i40e: relax barrier in Tx for NEON

[ upstream commit 6b50c489a3bb1d82e2549ae2f1e2c46961572c27 ]

To keep ordering of mixed accesses, 'DMB OSH' is sufficient.
'DSB' inside the I40E_PCI_REG_WRITE is overkill.[1]

This patch fixes by replacing with just sufficient barriers in the
normal PMD and vPMD.

It showed 7% performance uplift on ThunderX2 and 4% on Arm N1SDP.
The test case is the RFC2544 zero-loss test running testpmd.

[1] http://inbox.dpdk.org/dev/CALBAE1M-ezVWCjqCZDBw+MMDEC4O9
qf0Kpn89EMdGDajepKoZQ@mail.gmail.com

Fixes: ae0eb310f253 ("net/i40e: implement vector PMD for ARM")

Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
---
 drivers/net/i40e/i40e_rxtx_vec_neon.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/i40e/i40e_rxtx_vec_neon.c b/drivers/net/i40e/i40e_rxtx_vec_neon.c
index deb185fe2f..4376d8911c 100644
--- a/drivers/net/i40e/i40e_rxtx_vec_neon.c
+++ b/drivers/net/i40e/i40e_rxtx_vec_neon.c
@@ -73,6 +73,7 @@ i40e_rxq_rearm(struct i40e_rx_queue *rxq)
 			     (rxq->nb_rx_desc - 1) : (rxq->rxrearm_start - 1));
 
+	rte_cio_wmb();
 	/* Update the tail pointer on the NIC */
-	I40E_PCI_REG_WRITE(rxq->qrx_tail, rx_id);
+	I40E_PCI_REG_WRITE_RELAXED(rxq->qrx_tail, rx_id);
 }
 
@@ -565,5 +566,6 @@ i40e_xmit_fixed_burst_vec(void *tx_queue, struct rte_mbuf **tx_pkts,
 	txq->tx_tail = tx_id;
 
-	I40E_PCI_REG_WRITE(txq->qtx_tail, txq->tx_tail);
+	rte_cio_wmb();
+	I40E_PCI_REG_WRITE_RELAXED(txq->qtx_tail, tx_id);
 
 	return nb_pkts;
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:03.146539953 +0100
+++ 0078-net-i40e-relax-barrier-in-Tx-for-NEON.patch	2020-05-28 17:12:59.161555043 +0100
@@ -1 +1 @@
-From 6b50c489a3bb1d82e2549ae2f1e2c46961572c27 Mon Sep 17 00:00:00 2001
+From 25c139043a4cc1e3beb4735242b3764fe65f292e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 6b50c489a3bb1d82e2549ae2f1e2c46961572c27 ]
+
@@ -19 +20,0 @@
-Cc: stable@dpdk.org
@@ -28 +29 @@
-index d7d6decafd..8b99354a5f 100644
+index deb185fe2f..4376d8911c 100644


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

* [dpdk-stable] patch 'net/tap: fix mbuf and mem leak during queue release' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (76 preceding siblings ...)
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/i40e: relax barrier in Tx for NEON' " Kevin Traynor
@ 2020-05-28 16:23 ` " Kevin Traynor
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/tap: fix check for mbuf number of segment' " Kevin Traynor
                   ` (15 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:23 UTC (permalink / raw)
  To: Yunjian Wang; +Cc: Ferruh Yigit, Stephen Hemminger, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/19bab2b4d6b9be326eb04f84eebd09de4d5ebdc3

Thanks.

Kevin.

---
From 19bab2b4d6b9be326eb04f84eebd09de4d5ebdc3 Mon Sep 17 00:00:00 2001
From: Yunjian Wang <wangyunjian@huawei.com>
Date: Thu, 16 Apr 2020 11:04:25 +0800
Subject: [PATCH] net/tap: fix mbuf and mem leak during queue release

[ upstream commit 710aa4279097e9ee5a131b7e0732e5a8ef8bcfc1 ]

For the tap PMD, we should release mbufs and iovecs from the Rx queue
when closing device. In order to remove duplicated code,
rte_pmd_tap_remove() calls tap_dev_close().

Fixes: 0781f5762cfe ("net/tap: support segmented mbufs")

Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/net/tap/rte_eth_tap.c | 36 ++++++++++++++---------------------
 1 file changed, 14 insertions(+), 22 deletions(-)

diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
index 7b3954621e..c6cfb4c683 100644
--- a/drivers/net/tap/rte_eth_tap.c
+++ b/drivers/net/tap/rte_eth_tap.c
@@ -1008,13 +1008,23 @@ tap_dev_close(struct rte_eth_dev *dev)
 	struct pmd_internals *internals = dev->data->dev_private;
 	struct pmd_process_private *process_private = dev->process_private;
+	struct rx_queue *rxq;
 
 	tap_link_set_down(dev);
-	tap_flow_flush(dev, NULL);
-	tap_flow_implicit_flush(internals, NULL);
+	if (internals->nlsk_fd != -1) {
+		tap_flow_flush(dev, NULL);
+		tap_flow_implicit_flush(internals, NULL);
+		tap_nl_final(internals->nlsk_fd);
+		internals->nlsk_fd = -1;
+	}
 
 	for (i = 0; i < RTE_PMD_TAP_MAX_QUEUES; i++) {
 		if (process_private->rxq_fds[i] != -1) {
+			rxq = &internals->rxq[i];
 			close(process_private->rxq_fds[i]);
 			process_private->rxq_fds[i] = -1;
+			rte_pktmbuf_free(rxq->pool);
+			rte_free(rxq->iovecs);
+			rxq->pool = NULL;
+			rxq->iovecs = NULL;
 		}
 		if (process_private->txq_fds[i] != -1) {
@@ -2291,6 +2301,4 @@ rte_pmd_tap_remove(struct rte_vdev_device *dev)
 	struct rte_eth_dev *eth_dev = NULL;
 	struct pmd_internals *internals;
-	struct pmd_process_private *process_private;
-	int i;
 
 	/* find the ethdev entry */
@@ -2305,27 +2313,11 @@ rte_pmd_tap_remove(struct rte_vdev_device *dev)
 		return rte_eth_dev_release_port(eth_dev);
 
+	tap_dev_close(eth_dev);
+
 	internals = eth_dev->data->dev_private;
-	process_private = eth_dev->process_private;
-
 	TAP_LOG(DEBUG, "Closing %s Ethernet device on numa %u",
 		(internals->type == ETH_TUNTAP_TYPE_TAP) ? "TAP" : "TUN",
 		rte_socket_id());
 
-	if (internals->nlsk_fd) {
-		tap_flow_flush(eth_dev, NULL);
-		tap_flow_implicit_flush(internals, NULL);
-		tap_nl_final(internals->nlsk_fd);
-	}
-	for (i = 0; i < RTE_PMD_TAP_MAX_QUEUES; i++) {
-		if (process_private->rxq_fds[i] != -1) {
-			close(process_private->rxq_fds[i]);
-			process_private->rxq_fds[i] = -1;
-		}
-		if (process_private->txq_fds[i] != -1) {
-			close(process_private->txq_fds[i]);
-			process_private->txq_fds[i] = -1;
-		}
-	}
-
 	close(internals->ioctl_sock);
 	rte_free(eth_dev->process_private);
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:03.194480912 +0100
+++ 0079-net-tap-fix-mbuf-and-mem-leak-during-queue-release.patch	2020-05-28 17:12:59.164554975 +0100
@@ -1 +1 @@
-From 710aa4279097e9ee5a131b7e0732e5a8ef8bcfc1 Mon Sep 17 00:00:00 2001
+From 19bab2b4d6b9be326eb04f84eebd09de4d5ebdc3 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 710aa4279097e9ee5a131b7e0732e5a8ef8bcfc1 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 6d54c254d7..9c88b9268e 100644
+index 7b3954621e..c6cfb4c683 100644
@@ -24 +25 @@
-@@ -1021,13 +1021,23 @@ tap_dev_close(struct rte_eth_dev *dev)
+@@ -1008,13 +1008,23 @@ tap_dev_close(struct rte_eth_dev *dev)
@@ -50 +51 @@
-@@ -2399,6 +2409,4 @@ rte_pmd_tap_remove(struct rte_vdev_device *dev)
+@@ -2291,6 +2301,4 @@ rte_pmd_tap_remove(struct rte_vdev_device *dev)
@@ -57 +58 @@
-@@ -2413,26 +2421,10 @@ rte_pmd_tap_remove(struct rte_vdev_device *dev)
+@@ -2305,27 +2313,11 @@ rte_pmd_tap_remove(struct rte_vdev_device *dev)
@@ -66 +67,2 @@
- 		tuntap_types[internals->type], rte_socket_id());
+ 		(internals->type == ETH_TUNTAP_TYPE_TAP) ? "TAP" : "TUN",
+ 		rte_socket_id());


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

* [dpdk-stable] patch 'net/tap: fix check for mbuf number of segment' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (77 preceding siblings ...)
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/tap: fix mbuf and mem leak during queue release' " Kevin Traynor
@ 2020-05-28 16:23 ` " Kevin Traynor
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/tap: fix file close on remove' " Kevin Traynor
                   ` (14 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:23 UTC (permalink / raw)
  To: Yunjian Wang; +Cc: Ferruh Yigit, Stephen Hemminger, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/782d5424188706c305cc9ebb838b341a9aba811f

Thanks.

Kevin.

---
From 782d5424188706c305cc9ebb838b341a9aba811f Mon Sep 17 00:00:00 2001
From: Yunjian Wang <wangyunjian@huawei.com>
Date: Thu, 16 Apr 2020 11:04:35 +0800
Subject: [PATCH] net/tap: fix check for mbuf number of segment

[ upstream commit cc6cf04f59ec20757990b3e8586b7c3a7f497720 ]

Now the rxq->pool is mbuf concatenation, but its nb_segs is 1. When
conducting some sanity checks on the mbuf with debug enabled, it fails.

Fixes: 0781f5762cfe ("net/tap: support segmented mbufs")

Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/net/tap/rte_eth_tap.c | 25 +++++++++++++++++++++----
 1 file changed, 21 insertions(+), 4 deletions(-)

diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
index c6cfb4c683..5b486dacfc 100644
--- a/drivers/net/tap/rte_eth_tap.c
+++ b/drivers/net/tap/rte_eth_tap.c
@@ -341,4 +341,21 @@ tap_rx_offload_get_queue_capa(void)
 }
 
+static void
+tap_rxq_pool_free(struct rte_mbuf *pool)
+{
+	struct rte_mbuf *mbuf = pool;
+	uint16_t nb_segs = 1;
+
+	if (mbuf == NULL)
+		return;
+
+	while (mbuf->next) {
+		mbuf = mbuf->next;
+		nb_segs++;
+	}
+	pool->nb_segs = nb_segs;
+	rte_pktmbuf_free(pool);
+}
+
 /* Callback to handle the rx burst of packets to the correct interface and
  * file descriptor(s) in a multi-queue setup.
@@ -391,5 +408,5 @@ pmd_rx_burst(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
 
 				seg->next = NULL;
-				rte_pktmbuf_free(mbuf);
+				tap_rxq_pool_free(mbuf);
 
 				goto end;
@@ -1023,5 +1040,5 @@ tap_dev_close(struct rte_eth_dev *dev)
 			close(process_private->rxq_fds[i]);
 			process_private->rxq_fds[i] = -1;
-			rte_pktmbuf_free(rxq->pool);
+			tap_rxq_pool_free(rxq->pool);
 			rte_free(rxq->iovecs);
 			rxq->pool = NULL;
@@ -1062,5 +1079,5 @@ tap_rx_queue_release(void *queue)
 		close(process_private->rxq_fds[rxq->queue_id]);
 		process_private->rxq_fds[rxq->queue_id] = -1;
-		rte_pktmbuf_free(rxq->pool);
+		tap_rxq_pool_free(rxq->pool);
 		rte_free(rxq->iovecs);
 		rxq->pool = NULL;
@@ -1406,5 +1423,5 @@ tap_rx_queue_setup(struct rte_eth_dev *dev,
 
 error:
-	rte_pktmbuf_free(rxq->pool);
+	tap_rxq_pool_free(rxq->pool);
 	rxq->pool = NULL;
 	rte_free(rxq->iovecs);
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:03.247254392 +0100
+++ 0080-net-tap-fix-check-for-mbuf-number-of-segment.patch	2020-05-28 17:12:59.166554929 +0100
@@ -1 +1 @@
-From cc6cf04f59ec20757990b3e8586b7c3a7f497720 Mon Sep 17 00:00:00 2001
+From 782d5424188706c305cc9ebb838b341a9aba811f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit cc6cf04f59ec20757990b3e8586b7c3a7f497720 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 9c88b9268e..2846ce0d3e 100644
+index c6cfb4c683..5b486dacfc 100644
@@ -23 +24 @@
-@@ -339,4 +339,21 @@ tap_rx_offload_get_queue_capa(void)
+@@ -341,4 +341,21 @@ tap_rx_offload_get_queue_capa(void)
@@ -45 +46 @@
-@@ -389,5 +406,5 @@ pmd_rx_burst(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
+@@ -391,5 +408,5 @@ pmd_rx_burst(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
@@ -52 +53 @@
-@@ -1036,5 +1053,5 @@ tap_dev_close(struct rte_eth_dev *dev)
+@@ -1023,5 +1040,5 @@ tap_dev_close(struct rte_eth_dev *dev)
@@ -59 +60 @@
-@@ -1075,5 +1092,5 @@ tap_rx_queue_release(void *queue)
+@@ -1062,5 +1079,5 @@ tap_rx_queue_release(void *queue)
@@ -66 +67 @@
-@@ -1485,5 +1502,5 @@ tap_rx_queue_setup(struct rte_eth_dev *dev,
+@@ -1406,5 +1423,5 @@ tap_rx_queue_setup(struct rte_eth_dev *dev,


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

* [dpdk-stable] patch 'net/tap: fix file close on remove' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (78 preceding siblings ...)
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/tap: fix check for mbuf number of segment' " Kevin Traynor
@ 2020-05-28 16:23 ` " Kevin Traynor
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/tap: fix fd leak on creation failure' " Kevin Traynor
                   ` (13 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:23 UTC (permalink / raw)
  To: Yunjian Wang; +Cc: Ferruh Yigit, Stephen Hemminger, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/15b5f477f3178079673afe4ed34719b0096d15ab

Thanks.

Kevin.

---
From 15b5f477f3178079673afe4ed34719b0096d15ab Mon Sep 17 00:00:00 2001
From: Yunjian Wang <wangyunjian@huawei.com>
Date: Thu, 16 Apr 2020 11:04:45 +0800
Subject: [PATCH] net/tap: fix file close on remove

[ upstream commit f9d5da4ab686b331c55bb98f43237d64ab820d0b ]

The internal structure is freed and set to NULL in the
rte_eth_dev_release_port() and zero is a valid fd. Ultimately
leads to a valid fd was closed by mistake.

Fixes: 3101191c63ab ("net/tap: fix device removal when no queue exist")

Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/net/tap/rte_eth_tap.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
index 5b486dacfc..5e627bbdd8 100644
--- a/drivers/net/tap/rte_eth_tap.c
+++ b/drivers/net/tap/rte_eth_tap.c
@@ -2344,8 +2344,4 @@ rte_pmd_tap_remove(struct rte_vdev_device *dev)
 	rte_eth_dev_release_port(eth_dev);
 
-	if (internals->ka_fd != -1) {
-		close(internals->ka_fd);
-		internals->ka_fd = -1;
-	}
 	return 0;
 }
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:03.297394757 +0100
+++ 0081-net-tap-fix-file-close-on-remove.patch	2020-05-28 17:12:59.168554884 +0100
@@ -1 +1 @@
-From f9d5da4ab686b331c55bb98f43237d64ab820d0b Mon Sep 17 00:00:00 2001
+From 15b5f477f3178079673afe4ed34719b0096d15ab Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit f9d5da4ab686b331c55bb98f43237d64ab820d0b ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 2846ce0d3e..41ea54888e 100644
+index 5b486dacfc..5e627bbdd8 100644
@@ -24 +25 @@
-@@ -2451,8 +2451,4 @@ rte_pmd_tap_remove(struct rte_vdev_device *dev)
+@@ -2344,8 +2344,4 @@ rte_pmd_tap_remove(struct rte_vdev_device *dev)


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

* [dpdk-stable] patch 'net/tap: fix fd leak on creation failure' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (79 preceding siblings ...)
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/tap: fix file close on remove' " Kevin Traynor
@ 2020-05-28 16:23 ` " Kevin Traynor
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/tap: fix unexpected link handler' " Kevin Traynor
                   ` (12 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:23 UTC (permalink / raw)
  To: Yunjian Wang; +Cc: Ferruh Yigit, Stephen Hemminger, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/78d8e9128ea4c081f9ee27d56265f249e1aebbe7

Thanks.

Kevin.

---
From 78d8e9128ea4c081f9ee27d56265f249e1aebbe7 Mon Sep 17 00:00:00 2001
From: Yunjian Wang <wangyunjian@huawei.com>
Date: Thu, 16 Apr 2020 11:04:56 +0800
Subject: [PATCH] net/tap: fix fd leak on creation failure

[ upstream commit cbf8909b3aa16c2b1807bd980aad56d8d1e9362e ]

When eth_dev_tap_create() is failed, nlsk_fd and ka_fd won't be closed
thus leading fds leak. Zero is a valid fd. Ultimately leads to a valid
fd was closed by mistake.

Fixes: bf7b7f437b49 ("net/tap: create netdevice during probing")
Fixes: cb7e68da630a ("net/tap: fix cleanup on allocation failure")

Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/net/tap/rte_eth_tap.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
index 5e627bbdd8..a1e7eb2bde 100644
--- a/drivers/net/tap/rte_eth_tap.c
+++ b/drivers/net/tap/rte_eth_tap.c
@@ -1741,4 +1741,6 @@ eth_dev_tap_create(struct rte_vdev_device *vdev, char *tap_name,
 	snprintf(pmd->name, sizeof(pmd->name), "%s", tap_name);
 	pmd->type = type;
+	pmd->ka_fd = -1;
+	pmd->nlsk_fd = -1;
 
 	pmd->ioctl_sock = socket(AF_INET, SOCK_DGRAM, 0);
@@ -1771,5 +1773,4 @@ eth_dev_tap_create(struct rte_vdev_device *vdev, char *tap_name,
 
 	/* Presetup the fds to -1 as being not valid */
-	pmd->ka_fd = -1;
 	for (i = 0; i < RTE_PMD_TAP_MAX_QUEUES; i++) {
 		process_private->rxq_fds[i] = -1;
@@ -1912,5 +1913,9 @@ error_remote:
 
 error_exit:
-	if (pmd->ioctl_sock > 0)
+	if (pmd->nlsk_fd != -1)
+		close(pmd->nlsk_fd);
+	if (pmd->ka_fd != -1)
+		close(pmd->ka_fd);
+	if (pmd->ioctl_sock != -1)
 		close(pmd->ioctl_sock);
 	/* mac_addrs must not be freed alone because part of dev_private */
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:03.348292673 +0100
+++ 0082-net-tap-fix-fd-leak-on-creation-failure.patch	2020-05-28 17:12:59.170554839 +0100
@@ -1 +1 @@
-From cbf8909b3aa16c2b1807bd980aad56d8d1e9362e Mon Sep 17 00:00:00 2001
+From 78d8e9128ea4c081f9ee27d56265f249e1aebbe7 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit cbf8909b3aa16c2b1807bd980aad56d8d1e9362e ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 41ea54888e..fea464c3d2 100644
+index 5e627bbdd8..a1e7eb2bde 100644
@@ -25,2 +26,2 @@
-@@ -1824,4 +1824,6 @@ eth_dev_tap_create(struct rte_vdev_device *vdev, const char *tap_name,
- 	strlcpy(pmd->name, tap_name, sizeof(pmd->name));
+@@ -1741,4 +1741,6 @@ eth_dev_tap_create(struct rte_vdev_device *vdev, char *tap_name,
+ 	snprintf(pmd->name, sizeof(pmd->name), "%s", tap_name);
@@ -32 +33 @@
-@@ -1854,5 +1856,4 @@ eth_dev_tap_create(struct rte_vdev_device *vdev, const char *tap_name,
+@@ -1771,5 +1773,4 @@ eth_dev_tap_create(struct rte_vdev_device *vdev, char *tap_name,
@@ -38 +39 @@
-@@ -1994,5 +1995,9 @@ error_remote:
+@@ -1912,5 +1913,9 @@ error_remote:


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

* [dpdk-stable] patch 'net/tap: fix unexpected link handler' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (80 preceding siblings ...)
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/tap: fix fd leak on creation failure' " Kevin Traynor
@ 2020-05-28 16:23 ` " Kevin Traynor
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/virtio-user: fix devargs parsing' " Kevin Traynor
                   ` (11 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:23 UTC (permalink / raw)
  To: Yunjian Wang; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/6b0addc2243b55f7aa7c07dd9a3cd08f11e798fe

Thanks.

Kevin.

---
From 6b0addc2243b55f7aa7c07dd9a3cd08f11e798fe Mon Sep 17 00:00:00 2001
From: Yunjian Wang <wangyunjian@huawei.com>
Date: Thu, 16 Apr 2020 21:50:52 +0800
Subject: [PATCH] net/tap: fix unexpected link handler

[ upstream commit dc1a4d86c63732e57e9593919504e8c81f46fcdf ]

The nic's interrupt source has some active handler, which maybe call
tap_dev_intr_handler() to set link handler. We should cancel the link
handler before close fd to prevent executing the link handler. It
triggers segfault.

Call Trace:
   0x00007f15e08dad99 in __rte_panic (Error adding fd %d epoll_ctl, %s\n")
   0x00007f15e08e9b87 in eal_intr_thread_main ()
   0x00007f15e249be15 in start_thread ()
   0x00007f15d5322f9d in clone ()

Fixes: c0bddd3a057f ("net/tap: add link status notification")

Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/tap/rte_eth_tap.c | 27 ++++++++++++++++++++++-----
 1 file changed, 22 insertions(+), 5 deletions(-)

diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
index a1e7eb2bde..d3adde8eb5 100644
--- a/drivers/net/tap/rte_eth_tap.c
+++ b/drivers/net/tap/rte_eth_tap.c
@@ -19,4 +19,5 @@
 #include <rte_ethdev.h>
 #include <rte_errno.h>
+#include <rte_cycles.h>
 
 #include <sys/types.h>
@@ -1521,11 +1522,10 @@ tap_lsc_intr_handle_set(struct rte_eth_dev *dev, int set)
 {
 	struct pmd_internals *pmd = dev->data->dev_private;
+	int ret;
 
 	/* In any case, disable interrupt if the conf is no longer there. */
 	if (!dev->data->dev_conf.intr_conf.lsc) {
 		if (pmd->intr_handle.fd != -1) {
-			tap_nl_final(pmd->intr_handle.fd);
-			rte_intr_callback_unregister(&pmd->intr_handle,
-				tap_dev_intr_handler, dev);
+			goto clean;
 		}
 		return 0;
@@ -1538,7 +1538,24 @@ tap_lsc_intr_handle_set(struct rte_eth_dev *dev, int set)
 			&pmd->intr_handle, tap_dev_intr_handler, dev);
 	}
+
+clean:
+	do {
+		ret = rte_intr_callback_unregister(&pmd->intr_handle,
+			tap_dev_intr_handler, dev);
+		if (ret >= 0) {
+			break;
+		} else if (ret == -EAGAIN) {
+			rte_delay_ms(100);
+		} else {
+			TAP_LOG(ERR, "intr callback unregister failed: %d",
+				     ret);
+			break;
+		}
+	} while (true);
+
 	tap_nl_final(pmd->intr_handle.fd);
-	return rte_intr_callback_unregister(&pmd->intr_handle,
-					    tap_dev_intr_handler, dev);
+	pmd->intr_handle.fd = -1;
+
+	return 0;
 }
 
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:03.398943289 +0100
+++ 0083-net-tap-fix-unexpected-link-handler.patch	2020-05-28 17:12:59.173554771 +0100
@@ -1 +1 @@
-From dc1a4d86c63732e57e9593919504e8c81f46fcdf Mon Sep 17 00:00:00 2001
+From 6b0addc2243b55f7aa7c07dd9a3cd08f11e798fe Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit dc1a4d86c63732e57e9593919504e8c81f46fcdf ]
+
@@ -18 +19,0 @@
-Cc: stable@dpdk.org
@@ -27 +28 @@
-index fea464c3d2..e644f8875b 100644
+index a1e7eb2bde..d3adde8eb5 100644
@@ -36 +37 @@
-@@ -1600,11 +1601,10 @@ tap_lsc_intr_handle_set(struct rte_eth_dev *dev, int set)
+@@ -1521,11 +1522,10 @@ tap_lsc_intr_handle_set(struct rte_eth_dev *dev, int set)
@@ -50 +51 @@
-@@ -1617,7 +1617,24 @@ tap_lsc_intr_handle_set(struct rte_eth_dev *dev, int set)
+@@ -1538,7 +1538,24 @@ tap_lsc_intr_handle_set(struct rte_eth_dev *dev, int set)


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

* [dpdk-stable] patch 'net/virtio-user: fix devargs parsing' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (81 preceding siblings ...)
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/tap: fix unexpected link handler' " Kevin Traynor
@ 2020-05-28 16:23 ` " Kevin Traynor
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/tap: fix queues fd check before close' " Kevin Traynor
                   ` (10 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:23 UTC (permalink / raw)
  To: Ivan Dyukov; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/faf078d72936943caed3c99b0658c08ede859568

Thanks.

Kevin.

---
From faf078d72936943caed3c99b0658c08ede859568 Mon Sep 17 00:00:00 2001
From: Ivan Dyukov <i.dyukov@samsung.com>
Date: Mon, 30 Mar 2020 10:58:00 +0300
Subject: [PATCH] net/virtio-user: fix devargs parsing

[ upstream commit bc5b6c11bd81ada50345db5919dc6c7850f91de1 ]

strtoull returns 0 if it fails to parse input string. It's ignored
in get_integer_arg.

This patch handles error cases for strtoull function.

Fixes: ce2eabdd43ec ("net/virtio-user: add virtual device")

Signed-off-by: Ivan Dyukov <i.dyukov@samsung.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 drivers/net/virtio/virtio_user_ethdev.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/drivers/net/virtio/virtio_user_ethdev.c b/drivers/net/virtio/virtio_user_ethdev.c
index 7a2de2ac1a..6c184075dd 100644
--- a/drivers/net/virtio/virtio_user_ethdev.c
+++ b/drivers/net/virtio/virtio_user_ethdev.c
@@ -389,10 +389,15 @@ get_integer_arg(const char *key __rte_unused,
 		const char *value, void *extra_args)
 {
+	uint64_t integer = 0;
 	if (!value || !extra_args)
 		return -EINVAL;
-
-	*(uint64_t *)extra_args = strtoull(value, NULL, 0);
-
-	return 0;
+	errno = 0;
+	integer = strtoull(value, NULL, 0);
+	/* extra_args keeps default value, it should be replaced
+	 * only in case of successful parsing of the 'value' arg
+	 */
+	if (errno == 0)
+		*(uint64_t *)extra_args = integer;
+	return -errno;
 }
 
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:03.459402707 +0100
+++ 0084-net-virtio-user-fix-devargs-parsing.patch	2020-05-28 17:12:59.174554748 +0100
@@ -1 +1 @@
-From bc5b6c11bd81ada50345db5919dc6c7850f91de1 Mon Sep 17 00:00:00 2001
+From faf078d72936943caed3c99b0658c08ede859568 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit bc5b6c11bd81ada50345db5919dc6c7850f91de1 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 5637001dfc..741b3b0d60 100644
+index 7a2de2ac1a..6c184075dd 100644
@@ -24 +25 @@
-@@ -478,10 +478,15 @@ get_integer_arg(const char *key __rte_unused,
+@@ -389,10 +389,15 @@ get_integer_arg(const char *key __rte_unused,


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

* [dpdk-stable] patch 'net/tap: fix queues fd check before close' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (82 preceding siblings ...)
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/virtio-user: fix devargs parsing' " Kevin Traynor
@ 2020-05-28 16:23 ` " Kevin Traynor
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/iavf: fix stats query error code' " Kevin Traynor
                   ` (9 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:23 UTC (permalink / raw)
  To: Yunjian Wang; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/b60cfb01821d469beefd622b09c9446fe140f42a

Thanks.

Kevin.

---
From b60cfb01821d469beefd622b09c9446fe140f42a Mon Sep 17 00:00:00 2001
From: Yunjian Wang <wangyunjian@huawei.com>
Date: Fri, 17 Apr 2020 20:03:57 +0800
Subject: [PATCH] net/tap: fix queues fd check before close

[ upstream commit 13b698d11feca4ab12237303d553dc4e89d8a8d6 ]

The fd is possibly a negative value while it is passed as an
argument to function "close". Fix the check to the fd.

Fixes: ed8132e7c912 ("net/tap: move fds of queues to be in process private")

Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/tap/rte_eth_tap.c | 4 ++--
 drivers/net/tap/tap_intr.c    | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
index d3adde8eb5..b0c3c8c703 100644
--- a/drivers/net/tap/rte_eth_tap.c
+++ b/drivers/net/tap/rte_eth_tap.c
@@ -1077,5 +1077,5 @@ tap_rx_queue_release(void *queue)
 		return;
 	process_private = rte_eth_devices[rxq->in_port].process_private;
-	if (process_private->rxq_fds[rxq->queue_id] > 0) {
+	if (process_private->rxq_fds[rxq->queue_id] != -1) {
 		close(process_private->rxq_fds[rxq->queue_id]);
 		process_private->rxq_fds[rxq->queue_id] = -1;
@@ -1097,5 +1097,5 @@ tap_tx_queue_release(void *queue)
 	process_private = rte_eth_devices[txq->out_port].process_private;
 
-	if (process_private->txq_fds[txq->queue_id] > 0) {
+	if (process_private->txq_fds[txq->queue_id] != -1) {
 		close(process_private->txq_fds[txq->queue_id]);
 		process_private->txq_fds[txq->queue_id] = -1;
diff --git a/drivers/net/tap/tap_intr.c b/drivers/net/tap/tap_intr.c
index 58f36d3ccb..5cf4f173a0 100644
--- a/drivers/net/tap/tap_intr.c
+++ b/drivers/net/tap/tap_intr.c
@@ -72,5 +72,5 @@ tap_rx_intr_vec_install(struct rte_eth_dev *dev)
 
 		/* Skip queues that cannot request interrupts. */
-		if (!rxq || process_private->rxq_fds[i] <= 0) {
+		if (!rxq || process_private->rxq_fds[i] == -1) {
 			/* Use invalid intr_vec[] index to disable entry. */
 			intr_handle->intr_vec[i] =
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:03.512690859 +0100
+++ 0085-net-tap-fix-queues-fd-check-before-close.patch	2020-05-28 17:12:59.176554703 +0100
@@ -1 +1 @@
-From 13b698d11feca4ab12237303d553dc4e89d8a8d6 Mon Sep 17 00:00:00 2001
+From b60cfb01821d469beefd622b09c9446fe140f42a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 13b698d11feca4ab12237303d553dc4e89d8a8d6 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index e644f8875b..7081ae23e9 100644
+index d3adde8eb5..b0c3c8c703 100644
@@ -23 +24 @@
-@@ -1090,5 +1090,5 @@ tap_rx_queue_release(void *queue)
+@@ -1077,5 +1077,5 @@ tap_rx_queue_release(void *queue)
@@ -30 +31 @@
-@@ -1110,5 +1110,5 @@ tap_tx_queue_release(void *queue)
+@@ -1097,5 +1097,5 @@ tap_tx_queue_release(void *queue)


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

* [dpdk-stable] patch 'net/iavf: fix stats query error code' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (83 preceding siblings ...)
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/tap: fix queues fd check before close' " Kevin Traynor
@ 2020-05-28 16:23 ` " Kevin Traynor
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/bnxt: fix VLAN add when port is stopped' " Kevin Traynor
                   ` (8 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:23 UTC (permalink / raw)
  To: Cheng Peng; +Cc: Xiaolong Ye, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/7f774a6ad8829e5a0addd7d59ec53c36c7be0eff

Thanks.

Kevin.

---
From 7f774a6ad8829e5a0addd7d59ec53c36c7be0eff Mon Sep 17 00:00:00 2001
From: Cheng Peng <cheng.peng5@zte.com.cn>
Date: Tue, 14 Apr 2020 09:56:57 +0800
Subject: [PATCH] net/iavf: fix stats query error code

[ upstream commit fdfbfe7085934f3b84c5c8d89f4ab7d7016cb458 ]

The iavf_dev_stats_get function should return ret instead of -eio.

Fixes: f4a41a6953af ("net/avf: support stats")

Signed-off-by: Cheng Peng <cheng.peng5@zte.com.cn>
Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
---
 drivers/net/avf/avf_ethdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/avf/avf_ethdev.c b/drivers/net/avf/avf_ethdev.c
index e67621e4a9..8000e9c70d 100644
--- a/drivers/net/avf/avf_ethdev.c
+++ b/drivers/net/avf/avf_ethdev.c
@@ -999,5 +999,5 @@ avf_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
 		PMD_DRV_LOG(ERR, "Get statistics failed");
 	}
-	return -EIO;
+	return ret;
 }
 
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:03.563586053 +0100
+++ 0086-net-iavf-fix-stats-query-error-code.patch	2020-05-28 17:12:59.177554681 +0100
@@ -1 +1 @@
-From fdfbfe7085934f3b84c5c8d89f4ab7d7016cb458 Mon Sep 17 00:00:00 2001
+From 7f774a6ad8829e5a0addd7d59ec53c36c7be0eff Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit fdfbfe7085934f3b84c5c8d89f4ab7d7016cb458 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -14 +15 @@
- drivers/net/iavf/iavf_ethdev.c | 2 +-
+ drivers/net/avf/avf_ethdev.c | 2 +-
@@ -17,5 +18,5 @@
-diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
-index 4280a92bb1..117fbc5f73 100644
---- a/drivers/net/iavf/iavf_ethdev.c
-+++ b/drivers/net/iavf/iavf_ethdev.c
-@@ -1084,5 +1084,5 @@ iavf_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
+diff --git a/drivers/net/avf/avf_ethdev.c b/drivers/net/avf/avf_ethdev.c
+index e67621e4a9..8000e9c70d 100644
+--- a/drivers/net/avf/avf_ethdev.c
++++ b/drivers/net/avf/avf_ethdev.c
+@@ -999,5 +999,5 @@ avf_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)


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

* [dpdk-stable] patch 'net/bnxt: fix VLAN add when port is stopped' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (84 preceding siblings ...)
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/iavf: fix stats query error code' " Kevin Traynor
@ 2020-05-28 16:23 ` " Kevin Traynor
  2020-05-28 16:23 ` [dpdk-stable] patch 'security: fix crash at accessing non-implemented ops' " Kevin Traynor
                   ` (7 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:23 UTC (permalink / raw)
  To: Kalesh AP; +Cc: Venkat Duvvuru, Ajit Khaparde, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/56090ed8eab43f2a4319d098aa89baec60f60817

Thanks.

Kevin.

---
From 56090ed8eab43f2a4319d098aa89baec60f60817 Mon Sep 17 00:00:00 2001
From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Date: Tue, 21 Apr 2020 14:33:49 -0700
Subject: [PATCH] net/bnxt: fix VLAN add when port is stopped

[ upstream commit 8b60154d4b8a413eec43aafce1b4341dd575d4c3 ]

Driver destroys the vnic when the port is brought down.
When user tries to add a vlan when port is stopped, driver
issues HWRM command to FW with invalid vnic_id and it fails.

Fixed to return an error while setting vlan when port is
not started.

Fixes: b4e190d55c25 ("net/bnxt: fix MAC/VLAN filter allocation")

Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
 drivers/net/bnxt/bnxt_ethdev.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 90139bc837..2dbfd11cd7 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -1419,4 +1419,9 @@ static int bnxt_vlan_filter_set_op(struct rte_eth_dev *eth_dev,
 	struct bnxt *bp = eth_dev->data->dev_private;
 
+	if (!eth_dev->data->dev_started) {
+		PMD_DRV_LOG(ERR, "port must be started before setting vlan\n");
+		return -EINVAL;
+	}
+
 	/* These operations apply to ALL existing MAC/VLAN filters */
 	if (on)
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:03.615603625 +0100
+++ 0087-net-bnxt-fix-VLAN-add-when-port-is-stopped.patch	2020-05-28 17:12:59.181554590 +0100
@@ -1 +1 @@
-From 8b60154d4b8a413eec43aafce1b4341dd575d4c3 Mon Sep 17 00:00:00 2001
+From 56090ed8eab43f2a4319d098aa89baec60f60817 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 8b60154d4b8a413eec43aafce1b4341dd575d4c3 ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index 206111db5b..589190b372 100644
+index 90139bc837..2dbfd11cd7 100644
@@ -27,2 +28,2 @@
-@@ -2083,4 +2083,9 @@ static int bnxt_vlan_filter_set_op(struct rte_eth_dev *eth_dev,
- 		return rc;
+@@ -1419,4 +1419,9 @@ static int bnxt_vlan_filter_set_op(struct rte_eth_dev *eth_dev,
+ 	struct bnxt *bp = eth_dev->data->dev_private;


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

* [dpdk-stable] patch 'security: fix crash at accessing non-implemented ops' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (85 preceding siblings ...)
  2020-05-28 16:23 ` [dpdk-stable] patch 'net/bnxt: fix VLAN add when port is stopped' " Kevin Traynor
@ 2020-05-28 16:23 ` " Kevin Traynor
  2020-05-28 16:23 ` [dpdk-stable] patch 'lpm6: fix size of tbl8 group' " Kevin Traynor
                   ` (6 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:23 UTC (permalink / raw)
  To: Konstantin Ananyev; +Cc: Akhil Goyal, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/ce2659e1c2ea294658762f9322447989fe107a6f

Thanks.

Kevin.

---
From ce2659e1c2ea294658762f9322447989fe107a6f Mon Sep 17 00:00:00 2001
From: Konstantin Ananyev <konstantin.ananyev@intel.com>
Date: Thu, 23 Apr 2020 16:10:42 +0100
Subject: [PATCH] security: fix crash at accessing non-implemented ops

[ upstream commit 34dff8bacc7b95cc288c24894443bd356e453b64 ]

Valid checks for optional function pointers inside dev-ops
were disabled by undefined macro.

Fixes: b6ee98547847 ("security: fix verification of parameters")

Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
---
 lib/librte_security/rte_security.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/lib/librte_security/rte_security.c b/lib/librte_security/rte_security.c
index 56f30c88ba..6ff7a9e69b 100644
--- a/lib/librte_security/rte_security.c
+++ b/lib/librte_security/rte_security.c
@@ -109,8 +109,9 @@ rte_security_set_pkt_metadata(struct rte_security_ctx *instance,
 {
 #ifdef RTE_DEBUG
-	RTE_PTR_CHAIN3_OR_ERR_RET(instance, ops, set_pkt_metadata, -EINVAL,
-			-ENOTSUP);
 	RTE_PTR_OR_ERR_RET(sess, -EINVAL);
+	RTE_PTR_OR_ERR_RET(instance, -EINVAL);
+	RTE_PTR_OR_ERR_RET(instance->ops, -EINVAL);
 #endif
+	RTE_FUNC_PTR_OR_ERR_RET(*instance->ops->set_pkt_metadata, -ENOTSUP);
 	return instance->ops->set_pkt_metadata(instance->device,
 					       sess, m, params);
@@ -123,6 +124,8 @@ rte_security_get_userdata(struct rte_security_ctx *instance, uint64_t md)
 
 #ifdef RTE_DEBUG
-	RTE_PTR_CHAIN3_OR_ERR_RET(instance, ops, get_userdata, NULL, NULL);
+	RTE_PTR_OR_ERR_RET(instance, NULL);
+	RTE_PTR_OR_ERR_RET(instance->ops, NULL);
 #endif
+	RTE_FUNC_PTR_OR_ERR_RET(*instance->ops->get_userdata, NULL);
 	if (instance->ops->get_userdata(instance->device, md, &userdata))
 		return NULL;
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:03.669500197 +0100
+++ 0088-security-fix-crash-at-accessing-non-implemented-ops.patch	2020-05-28 17:12:59.181554590 +0100
@@ -1 +1 @@
-From 34dff8bacc7b95cc288c24894443bd356e453b64 Mon Sep 17 00:00:00 2001
+From ce2659e1c2ea294658762f9322447989fe107a6f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 34dff8bacc7b95cc288c24894443bd356e453b64 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index d475b09771..dc9a3e89cd 100644
+index 56f30c88ba..6ff7a9e69b 100644


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

* [dpdk-stable] patch 'lpm6: fix size of tbl8 group' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (86 preceding siblings ...)
  2020-05-28 16:23 ` [dpdk-stable] patch 'security: fix crash at accessing non-implemented ops' " Kevin Traynor
@ 2020-05-28 16:23 ` " Kevin Traynor
  2020-05-28 16:23 ` [dpdk-stable] patch 'lpm6: fix comments spelling' " Kevin Traynor
                   ` (5 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:23 UTC (permalink / raw)
  To: Alex Kiselev; +Cc: Andrzej Ostruszka, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/460ab46f99543df4ca4a5a107f7eb1f2770e02b4

Thanks.

Kevin.

---
From 460ab46f99543df4ca4a5a107f7eb1f2770e02b4 Mon Sep 17 00:00:00 2001
From: Alex Kiselev <alex@therouter.net>
Date: Wed, 8 Apr 2020 15:07:30 +0200
Subject: [PATCH] lpm6: fix size of tbl8 group

[ upstream commit 64c46bacf48550f09ef758a15cee9d3b6f443f59 ]

Fixes: e480688dce6d ("lpm6: add incremental update on delete")

Signed-off-by: Alex Kiselev <alex@therouter.net>
Acked-by: Andrzej Ostruszka <aostruszka@marvell.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 lib/librte_lpm/rte_lpm6.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/librte_lpm/rte_lpm6.c b/lib/librte_lpm/rte_lpm6.c
index 6212003f4c..a71e63fa6f 100644
--- a/lib/librte_lpm/rte_lpm6.c
+++ b/lib/librte_lpm/rte_lpm6.c
@@ -726,5 +726,6 @@ add_step(struct rte_lpm6 *lpm, struct rte_lpm6_tbl_entry *tbl,
 					RTE_LPM6_TBL8_GROUP_NUM_ENTRIES;
 			memset(&lpm->tbl8[tbl8_group_start], 0,
-					  RTE_LPM6_TBL8_GROUP_NUM_ENTRIES);
+					RTE_LPM6_TBL8_GROUP_NUM_ENTRIES *
+					sizeof(struct rte_lpm6_tbl_entry));
 
 			/* init the new table's header:
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:03.717765447 +0100
+++ 0089-lpm6-fix-size-of-tbl8-group.patch	2020-05-28 17:12:59.183554545 +0100
@@ -1 +1 @@
-From 64c46bacf48550f09ef758a15cee9d3b6f443f59 Mon Sep 17 00:00:00 2001
+From 460ab46f99543df4ca4a5a107f7eb1f2770e02b4 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 64c46bacf48550f09ef758a15cee9d3b6f443f59 ]
+
@@ -7 +8,0 @@
-Cc: stable@dpdk.org
@@ -17 +18 @@
-index 1047efa8a5..f5979fb159 100644
+index 6212003f4c..a71e63fa6f 100644
@@ -20 +21 @@
-@@ -727,5 +727,6 @@ add_step(struct rte_lpm6 *lpm, struct rte_lpm6_tbl_entry *tbl,
+@@ -726,5 +726,6 @@ add_step(struct rte_lpm6 *lpm, struct rte_lpm6_tbl_entry *tbl,


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

* [dpdk-stable] patch 'lpm6: fix comments spelling' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (87 preceding siblings ...)
  2020-05-28 16:23 ` [dpdk-stable] patch 'lpm6: fix size of tbl8 group' " Kevin Traynor
@ 2020-05-28 16:23 ` " Kevin Traynor
  2020-05-28 16:23 ` [dpdk-stable] patch 'eal: " Kevin Traynor
                   ` (4 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:23 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/3f9b2fc930b59e884a7f91750adf4a15188b847c

Thanks.

Kevin.

---
From 3f9b2fc930b59e884a7f91750adf4a15188b847c Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 10 Mar 2020 09:26:22 -0700
Subject: [PATCH] lpm6: fix comments spelling

[ upstream commit e2635408a0e3e190c22362e8dd4f8226f6e73308 ]

Fix spelling errors in comments.

Fixes: e480688dce6d ("lpm6: add incremental update on delete")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 lib/librte_lpm/rte_lpm6.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/librte_lpm/rte_lpm6.c b/lib/librte_lpm/rte_lpm6.c
index a71e63fa6f..5b0db3b549 100644
--- a/lib/librte_lpm/rte_lpm6.c
+++ b/lib/librte_lpm/rte_lpm6.c
@@ -826,5 +826,5 @@ VERSION_SYMBOL(rte_lpm6_add, _v20, 2.0);
  *	Returns:
  *    0 on success
- *    -ENOSPC not enought tbl8 left
+ *    -ENOSPC not enough tbl8 left
  */
 static int
@@ -856,5 +856,5 @@ simulate_add(struct rte_lpm6 *lpm, const uint8_t *masked_ip, uint8_t depth)
 
 	if (tbl8_available(lpm) < total_need_tbl_nb)
-		/* not enought tbl8 to add a rule */
+		/* not enough tbl8 to add a rule */
 		return -ENOSPC;
 
@@ -1316,5 +1316,5 @@ rule_find_range(struct rte_lpm6 *lpm, const uint8_t *ip, uint8_t depth,
 		depth -= 24;
 
-		/* interate through levels (tbl8s)
+		/* iterate through levels (tbl8s)
 		 * until we reach the last one
 		 */
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:03.766842442 +0100
+++ 0090-lpm6-fix-comments-spelling.patch	2020-05-28 17:12:59.184554522 +0100
@@ -1 +1 @@
-From e2635408a0e3e190c22362e8dd4f8226f6e73308 Mon Sep 17 00:00:00 2001
+From 3f9b2fc930b59e884a7f91750adf4a15188b847c Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e2635408a0e3e190c22362e8dd4f8226f6e73308 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -17 +18 @@
-index f5979fb159..37baabb26d 100644
+index a71e63fa6f..5b0db3b549 100644
@@ -20 +21 @@
-@@ -815,5 +815,5 @@ add_step(struct rte_lpm6 *lpm, struct rte_lpm6_tbl_entry *tbl,
+@@ -826,5 +826,5 @@ VERSION_SYMBOL(rte_lpm6_add, _v20, 2.0);
@@ -27 +28 @@
-@@ -845,5 +845,5 @@ simulate_add(struct rte_lpm6 *lpm, const uint8_t *masked_ip, uint8_t depth)
+@@ -856,5 +856,5 @@ simulate_add(struct rte_lpm6 *lpm, const uint8_t *masked_ip, uint8_t depth)
@@ -34 +35 @@
-@@ -1213,5 +1213,5 @@ rule_find_range(struct rte_lpm6 *lpm, const uint8_t *ip, uint8_t depth,
+@@ -1316,5 +1316,5 @@ rule_find_range(struct rte_lpm6 *lpm, const uint8_t *ip, uint8_t depth,


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

* [dpdk-stable] patch 'eal: fix comments spelling' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (88 preceding siblings ...)
  2020-05-28 16:23 ` [dpdk-stable] patch 'lpm6: fix comments spelling' " Kevin Traynor
@ 2020-05-28 16:23 ` " Kevin Traynor
  2020-05-28 16:23 ` [dpdk-stable] patch 'fix various typos found by Lintian' " Kevin Traynor
                   ` (3 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:23 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/b1f89a7d56b25797b12586c8e352bf93dff59272

Thanks.

Kevin.

---
From b1f89a7d56b25797b12586c8e352bf93dff59272 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 10 Mar 2020 09:35:20 -0700
Subject: [PATCH] eal: fix comments spelling

[ upstream commit a9aa14d9aa755472ab4e2aae62524feed7e8731f ]

Fix spelling errors in comments (found with codespell).

Note that "inbetween" is not correct in English and should
either be two words or better yet, the in can be dropped.
https://www.grammarly.com/blog/in-between-or-inbetween/

Fixes: 12f45fa7e29b ("eal/arm: read timer from PMU if enabled")
Fixes: 096ffd811fe2 ("eal/x86: use lock-prefixed instructions for SMP barrier")
Fixes: 1d406458db47 ("mem: make segment preallocation OS-specific")
Fixes: bb372060dad4 ("malloc: make heap a doubly-linked list")
Fixes: 7353ee7344b4 ("fbarray: add API to find biggest used or free chunks")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 lib/librte_eal/bsdapp/eal/eal_memory.c                 | 2 +-
 lib/librte_eal/common/include/arch/arm/rte_cycles_32.h | 2 +-
 lib/librte_eal/common/include/arch/x86/rte_atomic.h    | 2 +-
 lib/librte_eal/common/malloc_elem.c                    | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/lib/librte_eal/bsdapp/eal/eal_memory.c b/lib/librte_eal/bsdapp/eal/eal_memory.c
index 4b092e1f21..418c4bb0aa 100644
--- a/lib/librte_eal/bsdapp/eal/eal_memory.c
+++ b/lib/librte_eal/bsdapp/eal/eal_memory.c
@@ -436,5 +436,5 @@ memseg_primary_init(void)
 		 * we need (N*2)-1 segments because we cannot guarantee that
 		 * each segment will be IOVA-contiguous with the previous one,
-		 * so we will allocate more and put spaces inbetween segments
+		 * so we will allocate more and put spaces between segments
 		 * that are non-contiguous.
 		 */
diff --git a/lib/librte_eal/common/include/arch/arm/rte_cycles_32.h b/lib/librte_eal/common/include/arch/arm/rte_cycles_32.h
index 859b09748c..f79718ce8c 100644
--- a/lib/librte_eal/common/include/arch/arm/rte_cycles_32.h
+++ b/lib/librte_eal/common/include/arch/arm/rte_cycles_32.h
@@ -58,5 +58,5 @@ __rte_rdtsc_syscall(void)
  *      asm volatile("mcr p15, 0, %0, c9, c12, 1" : : "r"(0x8000000f));
  *
- * which is possible only from the priviledged mode (kernel space).
+ * which is possible only from the privileged mode (kernel space).
  */
 static inline uint64_t
diff --git a/lib/librte_eal/common/include/arch/x86/rte_atomic.h b/lib/librte_eal/common/include/arch/x86/rte_atomic.h
index 148398f50a..b9dcd30aba 100644
--- a/lib/librte_eal/common/include/arch/x86/rte_atomic.h
+++ b/lib/librte_eal/common/include/arch/x86/rte_atomic.h
@@ -56,5 +56,5 @@ extern "C" {
  * As pointed by Java guys, that makes possible to use lock-prefixed
  * instructions to get the same effect as mfence and on most modern HW
- * that gives a better perfomance then using mfence:
+ * that gives a better performance then using mfence:
  * https://shipilev.net/blog/2014/on-the-fence-with-dependencies/
  * Basic idea is to use lock prefixed add with some dummy memory location
diff --git a/lib/librte_eal/common/malloc_elem.c b/lib/librte_eal/common/malloc_elem.c
index 24e1eb55f3..69ff063883 100644
--- a/lib/librte_eal/common/malloc_elem.c
+++ b/lib/librte_eal/common/malloc_elem.c
@@ -158,5 +158,5 @@ malloc_elem_insert(struct malloc_elem *elem)
 		heap->last = elem;
 	} else {
-		/* the new memory is somewhere inbetween start and end */
+		/* the new memory is somewhere between start and end */
 		uint64_t dist_from_start, dist_from_end;
 
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:03.815722601 +0100
+++ 0091-eal-fix-comments-spelling.patch	2020-05-28 17:12:59.187554454 +0100
@@ -1 +1 @@
-From a9aa14d9aa755472ab4e2aae62524feed7e8731f Mon Sep 17 00:00:00 2001
+From b1f89a7d56b25797b12586c8e352bf93dff59272 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a9aa14d9aa755472ab4e2aae62524feed7e8731f ]
+
@@ -17 +18,0 @@
-Cc: stable@dpdk.org
@@ -21,6 +22,5 @@
- lib/librte_eal/arm/include/rte_cycles_32.h | 2 +-
- lib/librte_eal/common/eal_common_fbarray.c | 2 +-
- lib/librte_eal/common/malloc_elem.c        | 2 +-
- lib/librte_eal/freebsd/eal_memory.c        | 2 +-
- lib/librte_eal/x86/include/rte_atomic.h    | 2 +-
- 5 files changed, 5 insertions(+), 5 deletions(-)
+ lib/librte_eal/bsdapp/eal/eal_memory.c                 | 2 +-
+ lib/librte_eal/common/include/arch/arm/rte_cycles_32.h | 2 +-
+ lib/librte_eal/common/include/arch/x86/rte_atomic.h    | 2 +-
+ lib/librte_eal/common/malloc_elem.c                    | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
@@ -28 +28,12 @@
-diff --git a/lib/librte_eal/arm/include/rte_cycles_32.h b/lib/librte_eal/arm/include/rte_cycles_32.h
+diff --git a/lib/librte_eal/bsdapp/eal/eal_memory.c b/lib/librte_eal/bsdapp/eal/eal_memory.c
+index 4b092e1f21..418c4bb0aa 100644
+--- a/lib/librte_eal/bsdapp/eal/eal_memory.c
++++ b/lib/librte_eal/bsdapp/eal/eal_memory.c
+@@ -436,5 +436,5 @@ memseg_primary_init(void)
+ 		 * we need (N*2)-1 segments because we cannot guarantee that
+ 		 * each segment will be IOVA-contiguous with the previous one,
+-		 * so we will allocate more and put spaces inbetween segments
++		 * so we will allocate more and put spaces between segments
+ 		 * that are non-contiguous.
+ 		 */
+diff --git a/lib/librte_eal/common/include/arch/arm/rte_cycles_32.h b/lib/librte_eal/common/include/arch/arm/rte_cycles_32.h
@@ -30,2 +41,2 @@
---- a/lib/librte_eal/arm/include/rte_cycles_32.h
-+++ b/lib/librte_eal/arm/include/rte_cycles_32.h
+--- a/lib/librte_eal/common/include/arch/arm/rte_cycles_32.h
++++ b/lib/librte_eal/common/include/arch/arm/rte_cycles_32.h
@@ -39,11 +50,11 @@
-diff --git a/lib/librte_eal/common/eal_common_fbarray.c b/lib/librte_eal/common/eal_common_fbarray.c
-index 1312f936b8..4f8f1af73c 100644
---- a/lib/librte_eal/common/eal_common_fbarray.c
-+++ b/lib/librte_eal/common/eal_common_fbarray.c
-@@ -1338,5 +1338,5 @@ fbarray_find_biggest(struct rte_fbarray *arr, unsigned int start, bool used,
- 
- 	/* the API's called are thread-safe, but something may still happen
--	 * inbetween the API calls, so lock the fbarray. all other API's are
-+	 * between the API calls, so lock the fbarray. all other API's are
- 	 * read-locking the fbarray, so read lock here is OK.
- 	 */
+diff --git a/lib/librte_eal/common/include/arch/x86/rte_atomic.h b/lib/librte_eal/common/include/arch/x86/rte_atomic.h
+index 148398f50a..b9dcd30aba 100644
+--- a/lib/librte_eal/common/include/arch/x86/rte_atomic.h
++++ b/lib/librte_eal/common/include/arch/x86/rte_atomic.h
+@@ -56,5 +56,5 @@ extern "C" {
+  * As pointed by Java guys, that makes possible to use lock-prefixed
+  * instructions to get the same effect as mfence and on most modern HW
+- * that gives a better perfomance then using mfence:
++ * that gives a better performance then using mfence:
+  * https://shipilev.net/blog/2014/on-the-fence-with-dependencies/
+  * Basic idea is to use lock prefixed add with some dummy memory location
@@ -51 +62 @@
-index 885d00424b..51cdfc5d59 100644
+index 24e1eb55f3..69ff063883 100644
@@ -54 +65 @@
-@@ -172,5 +172,5 @@ malloc_elem_insert(struct malloc_elem *elem)
+@@ -158,5 +158,5 @@ malloc_elem_insert(struct malloc_elem *elem)
@@ -61,22 +71,0 @@
-diff --git a/lib/librte_eal/freebsd/eal_memory.c b/lib/librte_eal/freebsd/eal_memory.c
-index a97d8f0f0c..5bc2da160c 100644
---- a/lib/librte_eal/freebsd/eal_memory.c
-+++ b/lib/librte_eal/freebsd/eal_memory.c
-@@ -450,5 +450,5 @@ memseg_primary_init(void)
- 		 * we need (N*2)-1 segments because we cannot guarantee that
- 		 * each segment will be IOVA-contiguous with the previous one,
--		 * so we will allocate more and put spaces inbetween segments
-+		 * so we will allocate more and put spaces between segments
- 		 * that are non-contiguous.
- 		 */
-diff --git a/lib/librte_eal/x86/include/rte_atomic.h b/lib/librte_eal/x86/include/rte_atomic.h
-index 148398f50a..b9dcd30aba 100644
---- a/lib/librte_eal/x86/include/rte_atomic.h
-+++ b/lib/librte_eal/x86/include/rte_atomic.h
-@@ -56,5 +56,5 @@ extern "C" {
-  * As pointed by Java guys, that makes possible to use lock-prefixed
-  * instructions to get the same effect as mfence and on most modern HW
-- * that gives a better perfomance then using mfence:
-+ * that gives a better performance then using mfence:
-  * https://shipilev.net/blog/2014/on-the-fence-with-dependencies/
-  * Basic idea is to use lock prefixed add with some dummy memory location


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

* [dpdk-stable] patch 'fix various typos found by Lintian' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (89 preceding siblings ...)
  2020-05-28 16:23 ` [dpdk-stable] patch 'eal: " Kevin Traynor
@ 2020-05-28 16:23 ` " Kevin Traynor
  2020-05-28 16:23 ` [dpdk-stable] patch 'app: fix usage help of options separated by dashes' " Kevin Traynor
                   ` (2 subsequent siblings)
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:23 UTC (permalink / raw)
  To: Luca Boccassi; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/b54911b0bda95bd879e9231ee60bfb76038f4867

Thanks.

Kevin.

---
From b54911b0bda95bd879e9231ee60bfb76038f4867 Mon Sep 17 00:00:00 2001
From: Luca Boccassi <bluca@debian.org>
Date: Sat, 29 Feb 2020 16:37:06 +0000
Subject: [PATCH] fix various typos found by Lintian

[ upstream commit 611faa5f46cc67449f272e14450fc6a0a275767d ]

Signed-off-by: Luca Boccassi <bluca@debian.org>
---
 app/test-pmd/cmdline.c                  | 4 ++--
 drivers/compress/octeontx/otx_zip_pmd.c | 2 +-
 drivers/event/dpaa2/dpaa2_eventdev.c    | 2 +-
 drivers/net/bnxt/bnxt_ethdev.c          | 2 +-
 drivers/net/cxgbe/cxgbe_flow.c          | 2 +-
 drivers/net/qede/qede_ethdev.c          | 2 +-
 6 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 26295130c5..2913de68f4 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -102,5 +102,5 @@ static void cmd_help_brief_parsed(__attribute__((unused)) void *parsed_result,
 		"    help registers                  : Reading and setting port registers.\n"
 		"    help filters                    : Filters configuration help.\n"
-		"    help traffic_management         : Traffic Management commmands.\n"
+		"    help traffic_management         : Traffic Management commands.\n"
 		"    help all                        : All of the above sections.\n\n"
 	);
@@ -4933,5 +4933,5 @@ cmd_gso_size_parsed(void *parsed_result,
 	if (test_done == 0) {
 		printf("Before setting GSO segsz, please first"
-				" stop fowarding\n");
+				" stop forwarding\n");
 		return;
 	}
diff --git a/drivers/compress/octeontx/otx_zip_pmd.c b/drivers/compress/octeontx/otx_zip_pmd.c
index 9e00c86630..bff8ef035e 100644
--- a/drivers/compress/octeontx/otx_zip_pmd.c
+++ b/drivers/compress/octeontx/otx_zip_pmd.c
@@ -407,5 +407,5 @@ zip_pmd_qp_setup(struct rte_compressdev *dev, uint16_t qp_id,
 	qp->name = name;
 
-	/* Create completion queue upto max_inflight_ops */
+	/* Create completion queue up to max_inflight_ops */
 	qp->processed_pkts = zip_pmd_qp_create_processed_pkts_ring(qp,
 						max_inflight_ops, socket_id);
diff --git a/drivers/event/dpaa2/dpaa2_eventdev.c b/drivers/event/dpaa2/dpaa2_eventdev.c
index b8cb437a0c..270ebbe850 100644
--- a/drivers/event/dpaa2/dpaa2_eventdev.c
+++ b/drivers/event/dpaa2/dpaa2_eventdev.c
@@ -380,5 +380,5 @@ dpaa2_eventdev_info_get(struct rte_eventdev *dev,
 		DPAA2_EVENT_MAX_EVENT_PRIORITY_LEVELS;
 	dev_info->max_event_ports = rte_fslmc_get_device_count(DPAA2_IO);
-	/* we only support dpio upto number of cores*/
+	/* we only support dpio up to number of cores */
 	if (dev_info->max_event_ports > rte_lcore_count())
 		dev_info->max_event_ports = rte_lcore_count();
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 2dbfd11cd7..219d836d91 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -1112,5 +1112,5 @@ static int bnxt_rss_hash_conf_get_op(struct rte_eth_dev *eth_dev,
 		if (hash_types) {
 			PMD_DRV_LOG(ERR,
-				"Unknwon RSS config from firmware (%08x), RSS disabled",
+				"Unknown RSS config from firmware (%08x), RSS disabled",
 				vnic->hash_type);
 			return -ENOTSUP;
diff --git a/drivers/net/cxgbe/cxgbe_flow.c b/drivers/net/cxgbe/cxgbe_flow.c
index b6250a2a90..d2466f29e4 100644
--- a/drivers/net/cxgbe/cxgbe_flow.c
+++ b/drivers/net/cxgbe/cxgbe_flow.c
@@ -157,5 +157,5 @@ ch_rte_parsetype_port(const void *dmask, const struct rte_flow_item *item,
 		return rte_flow_error_set(e, EINVAL, RTE_FLOW_ERROR_TYPE_ITEM,
 					  item,
-					  "port index upto 0x7 is supported");
+					  "port index up to 0x7 is supported");
 
 	CXGBE_FILL_FS(val->index, mask->index, iport);
diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
index 49f7b32056..791556dc52 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -1047,5 +1047,5 @@ static int qede_dev_start(struct rte_eth_dev *eth_dev)
 
 	/* Newer SR-IOV PF driver expects RX/TX queues to be started before
-	 * enabling RSS. Hence RSS configuration is deferred upto this point.
+	 * enabling RSS. Hence RSS configuration is deferred up to this point.
 	 * Also, we would like to retain similar behavior in PF case, so we
 	 * don't do PF/VF specific check here.
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:03.869089799 +0100
+++ 0092-fix-various-typos-found-by-Lintian.patch	2020-05-28 17:12:59.212553889 +0100
@@ -1 +1 @@
-From 611faa5f46cc67449f272e14450fc6a0a275767d Mon Sep 17 00:00:00 2001
+From b54911b0bda95bd879e9231ee60bfb76038f4867 Mon Sep 17 00:00:00 2001
@@ -6 +6 @@
-Cc: stable@dpdk.org
+[ upstream commit 611faa5f46cc67449f272e14450fc6a0a275767d ]
@@ -11,2 +10,0 @@
- app/test/test_mbuf.c                    | 2 +-
- drivers/common/octeontx2/hw/otx2_npc.h  | 4 ++--
@@ -17,5 +14,0 @@
- drivers/net/dpaa2/dpaa2_flow.c          | 4 ++--
- drivers/net/dpaa2/dpaa2_mux.c           | 2 +-
- drivers/net/hinic/base/hinic_pmd_mbox.c | 2 +-
- drivers/net/mlx5/mlx5_rxtx.c            | 2 +-
- drivers/net/pfe/pfe_ethdev.c            | 2 +-
@@ -23,3 +16 @@
- lib/librte_eal/linux/eal.c              | 2 +-
- lib/librte_ipsec/sa.h                   | 2 +-
- 15 files changed, 18 insertions(+), 18 deletions(-)
+ 6 files changed, 7 insertions(+), 7 deletions(-)
@@ -28 +19 @@
-index 22fb23a92d..1375f223eb 100644
+index 26295130c5..2913de68f4 100644
@@ -31 +22 @@
-@@ -96,5 +96,5 @@ static void cmd_help_brief_parsed(__rte_unused void *parsed_result,
+@@ -102,5 +102,5 @@ static void cmd_help_brief_parsed(__attribute__((unused)) void *parsed_result,
@@ -36 +26,0 @@
- 		"    help devices                    : Device related cmds.\n"
@@ -38 +28,2 @@
-@@ -5151,5 +5151,5 @@ cmd_gso_size_parsed(void *parsed_result,
+ 	);
+@@ -4933,5 +4933,5 @@ cmd_gso_size_parsed(void *parsed_result,
@@ -45,29 +35,0 @@
-diff --git a/app/test/test_mbuf.c b/app/test/test_mbuf.c
-index 8200b4f71e..71bdab6917 100644
---- a/app/test/test_mbuf.c
-+++ b/app/test/test_mbuf.c
-@@ -1158,5 +1158,5 @@ test_refcnt_mbuf(void)
- 
- 	if (tref != refcnt_lcore[master])
--		rte_panic("refernced mbufs: %u, freed mbufs: %u\n",
-+		rte_panic("referenced mbufs: %u, freed mbufs: %u\n",
- 		          tref, refcnt_lcore[master]);
- 
-diff --git a/drivers/common/octeontx2/hw/otx2_npc.h b/drivers/common/octeontx2/hw/otx2_npc.h
-index 8083c780e1..efde1e214a 100644
---- a/drivers/common/octeontx2/hw/otx2_npc.h
-+++ b/drivers/common/octeontx2/hw/otx2_npc.h
-@@ -216,5 +216,5 @@ enum npc_kpu_lc_ltype {
- };
- 
--/* Don't modify Ltypes upto SCTP, otherwise it will
-+/* Don't modify Ltypes up to SCTP, otherwise it will
-  * effect flow tag calculation and thus RSS.
-  */
-@@ -263,5 +263,5 @@ enum npc_kpu_lg_ltype {
- };
- 
--/* Don't modify Ltypes upto SCTP, otherwise it will
-+/* Don't modify Ltypes up to SCTP, otherwise it will
-  * effect flow tag calculation and thus RSS.
-  */
@@ -86 +48 @@
-index 1833d659d8..2be6e12f66 100644
+index b8cb437a0c..270ebbe850 100644
@@ -89 +51 @@
-@@ -392,5 +392,5 @@ dpaa2_eventdev_info_get(struct rte_eventdev *dev,
+@@ -380,5 +380,5 @@ dpaa2_eventdev_info_get(struct rte_eventdev *dev,
@@ -97 +59 @@
-index 1a3c7e6098..6d42e3f85f 100644
+index 2dbfd11cd7..219d836d91 100644
@@ -100 +62 @@
-@@ -1753,5 +1753,5 @@ static int bnxt_rss_hash_conf_get_op(struct rte_eth_dev *eth_dev,
+@@ -1112,5 +1112,5 @@ static int bnxt_rss_hash_conf_get_op(struct rte_eth_dev *eth_dev,
@@ -108 +70 @@
-index a46515d3b6..166c39ba55 100644
+index b6250a2a90..d2466f29e4 100644
@@ -111 +73 @@
-@@ -234,5 +234,5 @@ ch_rte_parsetype_port(const void *dmask, const struct rte_flow_item *item,
+@@ -157,5 +157,5 @@ ch_rte_parsetype_port(const void *dmask, const struct rte_flow_item *item,
@@ -118,62 +79,0 @@
-diff --git a/drivers/net/dpaa2/dpaa2_flow.c b/drivers/net/dpaa2/dpaa2_flow.c
-index 2212650320..8aa65db305 100644
---- a/drivers/net/dpaa2/dpaa2_flow.c
-+++ b/drivers/net/dpaa2/dpaa2_flow.c
-@@ -1851,5 +1851,5 @@ struct rte_flow *dpaa2_flow_create(struct rte_eth_dev *dev,
- 	if (!key_iova) {
- 		DPAA2_PMD_ERR(
--			"Memory allocation failure for rule configration\n");
-+			"Memory allocation failure for rule configuration\n");
- 		goto mem_failure;
- 	}
-@@ -1857,5 +1857,5 @@ struct rte_flow *dpaa2_flow_create(struct rte_eth_dev *dev,
- 	if (!mask_iova) {
- 		DPAA2_PMD_ERR(
--			"Memory allocation failure for rule configration\n");
-+			"Memory allocation failure for rule configuration\n");
- 		goto mem_failure;
- 	}
-diff --git a/drivers/net/dpaa2/dpaa2_mux.c b/drivers/net/dpaa2/dpaa2_mux.c
-index 1910cc4184..af90adb828 100644
---- a/drivers/net/dpaa2/dpaa2_mux.c
-+++ b/drivers/net/dpaa2/dpaa2_mux.c
-@@ -85,5 +85,5 @@ rte_pmd_dpaa2_mux_flow_create(uint32_t dpdmux_id,
- 	if (!flow) {
- 		DPAA2_PMD_ERR(
--			"Memory allocation failure for rule configration\n");
-+			"Memory allocation failure for rule configuration\n");
- 		goto creation_error;
- 	}
-diff --git a/drivers/net/hinic/base/hinic_pmd_mbox.c b/drivers/net/hinic/base/hinic_pmd_mbox.c
-index bf83fbd7ef..ab1106a37d 100644
---- a/drivers/net/hinic/base/hinic_pmd_mbox.c
-+++ b/drivers/net/hinic/base/hinic_pmd_mbox.c
-@@ -870,5 +870,5 @@ static int hinic_func_to_func_init(struct hinic_hwdev *hwdev)
- 	err = alloc_mbox_info(func_to_func->mbox_resp);
- 	if (err) {
--		PMD_DRV_LOG(ERR, "Allocating memory for mailbox responsing failed");
-+		PMD_DRV_LOG(ERR, "Allocating memory for mailbox responding failed");
- 		goto alloc_mbox_for_resp_err;
- 	}
-diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c
-index 0010b423df..a21201038c 100644
---- a/drivers/net/mlx5/mlx5_rxtx.c
-+++ b/drivers/net/mlx5/mlx5_rxtx.c
-@@ -4851,5 +4851,5 @@ send_loop:
- 	 * Calculate the number of available resources - elts and WQEs.
- 	 * There are two possible different scenarios:
--	 * - no data inlining into WQEs, one WQEBB may contains upto
-+	 * - no data inlining into WQEs, one WQEBB may contains up to
- 	 *   four packets, in this case elts become scarce resource
- 	 * - data inlining into WQEs, one packet may require multiple
-diff --git a/drivers/net/pfe/pfe_ethdev.c b/drivers/net/pfe/pfe_ethdev.c
-index bdf2a7c76a..b1de866d34 100644
---- a/drivers/net/pfe/pfe_ethdev.c
-+++ b/drivers/net/pfe/pfe_ethdev.c
-@@ -14,5 +14,5 @@
- #include "pfe_mod.h"
- 
--#define PFE_MAX_MACS 1 /*we can support upto 4 MACs per IF*/
-+#define PFE_MAX_MACS 1 /* we can support up to 4 MACs per IF */
- #define PFE_VDEV_GEM_ID_ARG	"intf"
- 
@@ -181 +81 @@
-index 74dfe895ad..1542073a27 100644
+index 49f7b32056..791556dc52 100644
@@ -184 +84 @@
-@@ -1101,5 +1101,5 @@ static int qede_dev_start(struct rte_eth_dev *eth_dev)
+@@ -1047,5 +1047,5 @@ static int qede_dev_start(struct rte_eth_dev *eth_dev)
@@ -191,22 +90,0 @@
-diff --git a/lib/librte_eal/linux/eal.c b/lib/librte_eal/linux/eal.c
-index 937d867aa6..aa72d36509 100644
---- a/lib/librte_eal/linux/eal.c
-+++ b/lib/librte_eal/linux/eal.c
-@@ -1085,5 +1085,5 @@ rte_eal_init(int argc, char **argv)
- 			} else if (rte_eal_check_module("rte_kni") == 1) {
- 				iova_mode = RTE_IOVA_PA;
--				RTE_LOG(DEBUG, EAL, "KNI is loaded, selecting IOVA as PA mode for better KNI perfomance.\n");
-+				RTE_LOG(DEBUG, EAL, "KNI is loaded, selecting IOVA as PA mode for better KNI performance.\n");
- #endif
- 			} else if (is_iommu_enabled()) {
-diff --git a/lib/librte_ipsec/sa.h b/lib/librte_ipsec/sa.h
-index d22451b38a..29cfe7279a 100644
---- a/lib/librte_ipsec/sa.h
-+++ b/lib/librte_ipsec/sa.h
-@@ -116,5 +116,5 @@ struct rte_ipsec_sa {
- 	 * In case of SA handled by multiple threads *sqn* cacheline
- 	 * could be shared by multiple cores.
--	 * To minimise perfomance impact, we try to locate in a separate
-+	 * To minimise performance impact, we try to locate in a separate
- 	 * place from other frequently accesed data.
- 	 */


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

* [dpdk-stable] patch 'app: fix usage help of options separated by dashes' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (90 preceding siblings ...)
  2020-05-28 16:23 ` [dpdk-stable] patch 'fix various typos found by Lintian' " Kevin Traynor
@ 2020-05-28 16:23 ` " Kevin Traynor
  2020-05-28 16:23 ` [dpdk-stable] patch 'usertools: check for pci.ids in /usr/share/misc' " Kevin Traynor
  2020-05-28 16:23 ` [dpdk-stable] patch 'bus/pci: fix UIO resource access from secondary process' " Kevin Traynor
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:23 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/eb70a612f4fc54e7e3e85fc4d1e64d6e042176eb

Thanks.

Kevin.

---
From eb70a612f4fc54e7e3e85fc4d1e64d6e042176eb Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas@monjalon.net>
Date: Tue, 21 Apr 2020 01:25:31 +0200
Subject: [PATCH] app: fix usage help of options separated by dashes

[ upstream commit a658775c57947a50847c1ca01d39de0b81400678 ]

The EAL options and app-specific options are separated
with double dashes.

The help of testpmd, test-acl and pdump were missing
the dashes after EAL options.
Note: testpmd was completely missing the EAL options.

Fixes: af75078fece3 ("first public release")
Fixes: 26c057ab6c45 ("acl: new test-acl application")
Fixes: b2854d5317e8 ("app/pdump: support multi-core capture")

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 app/test-pmd/parameters.c | 2 +-
 test/test-acl/main.c      | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/app/test-pmd/parameters.c b/app/test-pmd/parameters.c
index 4d5e28970c..57028c313f 100644
--- a/app/test-pmd/parameters.c
+++ b/app/test-pmd/parameters.c
@@ -53,5 +53,5 @@ static void
 usage(char* progname)
 {
-	printf("usage: %s "
+	printf("usage: %s [EAL options] -- "
 #ifdef RTE_LIBRTE_CMDLINE
 	       "[--interactive|-i] "
diff --git a/test/test-acl/main.c b/test/test-acl/main.c
index 648525af56..420a2c9b99 100644
--- a/test/test-acl/main.c
+++ b/test/test-acl/main.c
@@ -12,5 +12,5 @@
 #include <rte_ip.h>
 
-#define	PRINT_USAGE_START	"%s [EAL options]\n"
+#define	PRINT_USAGE_START	"%s [EAL options] --\n"
 
 #define	RTE_LOGTYPE_TESTACL	RTE_LOGTYPE_USER1
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:03.957434436 +0100
+++ 0093-app-fix-usage-help-of-options-separated-by-dashes.patch	2020-05-28 17:12:59.215553821 +0100
@@ -1 +1 @@
-From a658775c57947a50847c1ca01d39de0b81400678 Mon Sep 17 00:00:00 2001
+From eb70a612f4fc54e7e3e85fc4d1e64d6e042176eb Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a658775c57947a50847c1ca01d39de0b81400678 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -21,2 +21,0 @@
- app/pdump/main.c          | 2 +-
- app/test-acl/main.c       | 2 +-
@@ -24 +23,2 @@
- 3 files changed, 3 insertions(+), 3 deletions(-)
+ test/test-acl/main.c      | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
@@ -26,22 +25,0 @@
-diff --git a/app/pdump/main.c b/app/pdump/main.c
-index d05a023667..c38c53719e 100644
---- a/app/pdump/main.c
-+++ b/app/pdump/main.c
-@@ -152,5 +152,5 @@ static void
- pdump_usage(const char *prgname)
- {
--	printf("usage: %s [EAL options]"
-+	printf("usage: %s [EAL options] --"
- 			" --["CMD_LINE_OPT_MULTI"]\n"
- 			" --"CMD_LINE_OPT_PDUMP" "
-diff --git a/app/test-acl/main.c b/app/test-acl/main.c
-index 4bc00272f4..0a5dfb621d 100644
---- a/app/test-acl/main.c
-+++ b/app/test-acl/main.c
-@@ -13,5 +13,5 @@
- #include <rte_ip.h>
- 
--#define	PRINT_USAGE_START	"%s [EAL options]\n"
-+#define	PRINT_USAGE_START	"%s [EAL options] --\n"
- 
- #define	RTE_LOGTYPE_TESTACL	RTE_LOGTYPE_USER1
@@ -49 +27 @@
-index 404dba2b20..30c1753c32 100644
+index 4d5e28970c..57028c313f 100644
@@ -52 +30 @@
-@@ -50,5 +50,5 @@ static void
+@@ -53,5 +53,5 @@ static void
@@ -58,0 +37,11 @@
+diff --git a/test/test-acl/main.c b/test/test-acl/main.c
+index 648525af56..420a2c9b99 100644
+--- a/test/test-acl/main.c
++++ b/test/test-acl/main.c
+@@ -12,5 +12,5 @@
+ #include <rte_ip.h>
+ 
+-#define	PRINT_USAGE_START	"%s [EAL options]\n"
++#define	PRINT_USAGE_START	"%s [EAL options] --\n"
+ 
+ #define	RTE_LOGTYPE_TESTACL	RTE_LOGTYPE_USER1


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

* [dpdk-stable] patch 'usertools: check for pci.ids in /usr/share/misc' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (91 preceding siblings ...)
  2020-05-28 16:23 ` [dpdk-stable] patch 'app: fix usage help of options separated by dashes' " Kevin Traynor
@ 2020-05-28 16:23 ` " Kevin Traynor
  2020-05-28 16:23 ` [dpdk-stable] patch 'bus/pci: fix UIO resource access from secondary process' " Kevin Traynor
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:23 UTC (permalink / raw)
  To: Luca Boccassi; +Cc: David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/2d4d0ff26a13eee7c43f1a5bf45d3b517fd6fd06

Thanks.

Kevin.

---
From 2d4d0ff26a13eee7c43f1a5bf45d3b517fd6fd06 Mon Sep 17 00:00:00 2001
From: Luca Boccassi <luca.boccassi@microsoft.com>
Date: Thu, 12 Mar 2020 16:30:27 +0000
Subject: [PATCH] usertools: check for pci.ids in /usr/share/misc

[ upstream commit 2ad9f1fab883dd4e5ebad7a912f9258cc9f3fbb9 ]

Debian and Ubuntu switched years ago from /usr/share/hwdata to
/usr/share/misc, and the former is just a compat symlink now.
We are starting to get bug reports to nudge us into changing.
So check the new path first, and the old one as a fallback.

Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
Acked-by: David Marchand <david.marchand@redhat.com>
---
 usertools/dpdk-pmdinfo.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/usertools/dpdk-pmdinfo.py b/usertools/dpdk-pmdinfo.py
index 9d5c6369a0..12f20735e0 100755
--- a/usertools/dpdk-pmdinfo.py
+++ b/usertools/dpdk-pmdinfo.py
@@ -562,5 +562,8 @@ def main(stream=None):
     pcifile_default = "./pci.ids"  # For unknown OS's assume local file
     if platform.system() == 'Linux':
-        pcifile_default = "/usr/share/hwdata/pci.ids"
+        # hwdata is the legacy location, misc is supported going forward
+        pcifile_default = "/usr/share/misc/pci.ids"
+        if not os.path.exists(pcifile_default):
+            pcifile_default = "/usr/share/hwdata/pci.ids"
     elif platform.system() == 'FreeBSD':
         pcifile_default = "/usr/local/share/pciids/pci.ids"
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:04.007676685 +0100
+++ 0094-usertools-check-for-pci.ids-in-usr-share-misc.patch	2020-05-28 17:12:59.215553821 +0100
@@ -1 +1 @@
-From 2ad9f1fab883dd4e5ebad7a912f9258cc9f3fbb9 Mon Sep 17 00:00:00 2001
+From 2d4d0ff26a13eee7c43f1a5bf45d3b517fd6fd06 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 2ad9f1fab883dd4e5ebad7a912f9258cc9f3fbb9 ]
+
@@ -10,2 +11,0 @@
-
-Cc: stable@dpdk.org


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

* [dpdk-stable] patch 'bus/pci: fix UIO resource access from secondary process' has been queued to LTS release 18.11.9
  2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
                   ` (92 preceding siblings ...)
  2020-05-28 16:23 ` [dpdk-stable] patch 'usertools: check for pci.ids in /usr/share/misc' " Kevin Traynor
@ 2020-05-28 16:23 ` " Kevin Traynor
  93 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-05-28 16:23 UTC (permalink / raw)
  To: Vijaya Mohan Guvva; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.9

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/2fb03c63e8138348d1f7de9f88976db943b4c78c

Thanks.

Kevin.

---
From 2fb03c63e8138348d1f7de9f88976db943b4c78c Mon Sep 17 00:00:00 2001
From: Vijaya Mohan Guvva <vijay1054@gmail.com>
Date: Fri, 24 Apr 2020 13:08:28 -0400
Subject: [PATCH] bus/pci: fix UIO resource access from secondary process

[ upstream commit e6cf7bee1c77a0f321cea3494a106bfa5de6f53c ]

For PCI devices presented through igb_uio, pcidev->mem_resource[] is
not populated when the device is initialized for secondary process.

Initialize pcidev->mem_resource[] with pci-bar mapped addresses.

Fixes: eee16c964cd6 ("pci: support multiple PCI regions per device")

Signed-off-by: Vijaya Mohan Guvva <vijay1054@gmail.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/bus/pci/pci_common_uio.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/bus/pci/pci_common_uio.c b/drivers/bus/pci/pci_common_uio.c
index 7ea73dbc5b..f4dca9da91 100644
--- a/drivers/bus/pci/pci_common_uio.c
+++ b/drivers/bus/pci/pci_common_uio.c
@@ -71,4 +71,5 @@ pci_uio_map_secondary(struct rte_pci_device *dev)
 				return -1;
 			}
+			dev->mem_resource[i].addr = mapaddr;
 		}
 		return 0;
-- 
2.21.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-28 17:13:04.055567581 +0100
+++ 0095-bus-pci-fix-UIO-resource-access-from-secondary-proce.patch	2020-05-28 17:12:59.216553798 +0100
@@ -1 +1 @@
-From e6cf7bee1c77a0f321cea3494a106bfa5de6f53c Mon Sep 17 00:00:00 2001
+From 2fb03c63e8138348d1f7de9f88976db943b4c78c Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e6cf7bee1c77a0f321cea3494a106bfa5de6f53c ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org


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

* Re: [dpdk-stable] patch 'common/qat: fix GEN3 marketing name' has been queued to LTS release 18.11.9
  2020-05-28 16:22 ` [dpdk-stable] patch 'common/qat: fix GEN3 marketing name' " Kevin Traynor
@ 2020-06-04 16:29   ` Trahe, Fiona
  2020-06-04 16:36     ` Kevin Traynor
  0 siblings, 1 reply; 97+ messages in thread
From: Trahe, Fiona @ 2020-06-04 16:29 UTC (permalink / raw)
  To: Kevin Traynor, Dybkowski, AdamX; +Cc: dpdk stable, Trahe, Fiona

HI Kevin,

Sorry about the delay in responding to this - but I just found out that Intel don't want to do this after all.
We need to revert it in 20.08.
So please also don't apply on 18.11.9.
Sorry again if this has caused you wasted effort.

Fiona


> -----Original Message-----
> From: Kevin Traynor <ktraynor@redhat.com>
> Sent: Thursday, May 28, 2020 5:22 PM
> To: Dybkowski, AdamX <adamx.dybkowski@intel.com>
> Cc: Trahe, Fiona <fiona.trahe@intel.com>; dpdk stable <stable@dpdk.org>
> Subject: patch 'common/qat: fix GEN3 marketing name' has been queued to LTS release 18.11.9
> 
> Hi,
> 
> FYI, your patch has been queued to LTS release 18.11.9
> 
> Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
> It will be pushed if I get no objections before 06/03/20. 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-queue
> 
> This queued commit can be viewed at:
> https://github.com/kevintraynor/dpdk-stable-
> queue/commit/6528f3ccc454ceb125b3ebcedda931f8fe9b38f3
> 
> Thanks.
> 
> Kevin.
> 
> ---
> From 6528f3ccc454ceb125b3ebcedda931f8fe9b38f3 Mon Sep 17 00:00:00 2001
> From: Adam Dybkowski <adamx.dybkowski@intel.com>
> Date: Wed, 4 Mar 2020 14:18:35 +0100
> Subject: [PATCH] common/qat: fix GEN3 marketing name
> 
> [ upstream commit 9cd9d3e702fba4700539c1a2eddac13dd14ecf70 ]
> 
> This patch fixes the marketing name of the QAT GEN3 to P5xxx.
> Updates this name mentioned in the compression PMD as well as
> in the documentation.
> 
> Fixes: aa983f03ad2e ("crypto/qat: handle Single Pass Crypto Requests on GEN3")
> Fixes: a124830a6f00 ("compress/qat: enable dynamic huffman encoding")
> Fixes: 1f5e4053f9b4 ("common/qat: support GEN3 devices")
> 
> Signed-off-by: Adam Dybkowski <adamx.dybkowski@intel.com>
> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
> ---
>  doc/guides/cryptodevs/qat.rst       | 2 +-
>  drivers/compress/qat/qat_comp_pmd.c | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/doc/guides/cryptodevs/qat.rst b/doc/guides/cryptodevs/qat.rst
> index 837ed280e6..28cfd82f1c 100644
> --- a/doc/guides/cryptodevs/qat.rst
> +++ b/doc/guides/cryptodevs/qat.rst
> @@ -24,5 +24,5 @@ hardware accelerator devices:
>  * ``Intel QuickAssist Technology C3xxx``
>  * ``Intel QuickAssist Technology D15xx``
> -* ``Intel QuickAssist Technology C4xxx``
> +* ``Intel QuickAssist Technology P5xxx``
> 
> 
> diff --git a/drivers/compress/qat/qat_comp_pmd.c b/drivers/compress/qat/qat_comp_pmd.c
> index 139298efe3..eec5f61bb3 100644
> --- a/drivers/compress/qat/qat_comp_pmd.c
> +++ b/drivers/compress/qat/qat_comp_pmd.c
> @@ -491,5 +491,5 @@ qat_comp_dev_create(struct qat_pci_device *qat_pci_dev)
>  	}
>  	if (qat_pci_dev->qat_dev_gen == QAT_GEN3) {
> -		QAT_LOG(ERR, "Compression PMD not supported on QAT c4xxx");
> +		QAT_LOG(ERR, "Compression PMD not supported on QAT P5xxx");
>  		return 0;
>  	}
> --
> 2.21.3
> 
> ---
>   Diff of the applied patch vs upstream commit (please double-check if non-empty:
> ---
> --- -	2020-05-28 17:13:00.621270780 +0100
> +++ 0028-common-qat-fix-GEN3-marketing-name.patch	2020-05-28 17:12:59.089556672
> +0100
> @@ -1 +1 @@
> -From 9cd9d3e702fba4700539c1a2eddac13dd14ecf70 Mon Sep 17 00:00:00 2001
> +From 6528f3ccc454ceb125b3ebcedda931f8fe9b38f3 Mon Sep 17 00:00:00 2001
> @@ -5,0 +6,2 @@
> +[ upstream commit 9cd9d3e702fba4700539c1a2eddac13dd14ecf70 ]
> +
> @@ -13 +14,0 @@
> -Cc: stable@dpdk.org
> @@ -18,4 +19,3 @@
> - doc/guides/cryptodevs/qat.rst          | 6 +++---
> - doc/guides/rel_notes/release_19_11.rst | 2 +-
> - drivers/compress/qat/qat_comp_pmd.c    | 2 +-
> - 3 files changed, 5 insertions(+), 5 deletions(-)
> + doc/guides/cryptodevs/qat.rst       | 2 +-
> + drivers/compress/qat/qat_comp_pmd.c | 2 +-
> + 2 files changed, 2 insertions(+), 2 deletions(-)
> @@ -24 +24 @@
> -index 06985e3193..1e83ed6267 100644
> +index 837ed280e6..28cfd82f1c 100644
> @@ -27,8 +27 @@
> -@@ -24,5 +24,5 @@ poll mode crypto driver support for the following hardware accelerator
> devices:
> - * ``Intel QuickAssist Technology C3xxx``
> - * ``Intel QuickAssist Technology D15xx``
> --* ``Intel QuickAssist Technology C4xxx``
> -+* ``Intel QuickAssist Technology P5xxx``
> -
> -
> -@@ -150,5 +150,5 @@ poll mode crypto driver support for the following hardware accelerator
> devices:
> +@@ -24,5 +24,5 @@ hardware accelerator devices:
> @@ -40,13 +32,0 @@
> - The QAT ASYM PMD has support for:
> -@@ -377,5 +377,5 @@ to see the full table)
> -    | Yes | No  | No  | 2   | D15xx    | p             | qat_d15xx     | d15xx      | 6f54   | 1    | 6f55   | 16     |
> -    +-----+-----+-----+-----+----------+---------------+---------------+------------+--------+------+--------+--------
> +
> --   | Yes | No  | No  | 3   | C4xxx    | p             | qat_c4xxx     | c4xxx      | 18a0   | 1    | 18a1   | 128    |
> -+   | Yes | No  | No  | 3   | P5xxx    | p             | qat_p5xxx     | p5xxx      | 18a0   | 1    | 18a1   | 128    |
> -    +-----+-----+-----+-----+----------+---------------+---------------+------------+--------+------+--------+--------
> +
> -
> -diff --git a/doc/guides/rel_notes/release_19_11.rst b/doc/guides/rel_notes/release_19_11.rst
> -index eb05149f8f..0261d28431 100644
> ---- a/doc/guides/rel_notes/release_19_11.rst
> -+++ b/doc/guides/rel_notes/release_19_11.rst
> -@@ -261,5 +261,5 @@ New Features
> @@ -54,5 +33,0 @@
> -   Added support for Single Pass GCM, available on QAT GEN3 only (Intel
> --  QuickAssist Technology C4xxx). It is automatically chosen instead of the
> -+  QuickAssist Technology P5xxx). It is automatically chosen instead of the
> -   classic 2-pass mode when running on QAT GEN3, significantly improving
> -   the performance of AES GCM operations.
> @@ -60 +35 @@
> -index 7d4fdf10c2..9a7ed19d76 100644
> +index 139298efe3..eec5f61bb3 100644
> @@ -63,2 +38,2 @@
> -@@ -667,5 +667,5 @@ qat_comp_dev_create(struct qat_pci_device *qat_pci_dev,
> - 	int i = 0;
> +@@ -491,5 +491,5 @@ qat_comp_dev_create(struct qat_pci_device *qat_pci_dev)
> + 	}


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

* Re: [dpdk-stable] patch 'common/qat: fix GEN3 marketing name' has been queued to LTS release 18.11.9
  2020-06-04 16:29   ` Trahe, Fiona
@ 2020-06-04 16:36     ` Kevin Traynor
  0 siblings, 0 replies; 97+ messages in thread
From: Kevin Traynor @ 2020-06-04 16:36 UTC (permalink / raw)
  To: Trahe, Fiona, Dybkowski, AdamX; +Cc: dpdk stable

On 04/06/2020 17:29, Trahe, Fiona wrote:
> HI Kevin,
> 

Hi Fiona,

> Sorry about the delay in responding to this - but I just found out that Intel don't want to do this after all.
> We need to revert it in 20.08.
> So please also don't apply on 18.11.9.
> Sorry again if this has caused you wasted effort.
> 

No problem, I haven't pushed this batch yet, so I can just drop it. If I
had pushed, we could have reverted - so no big deal :-)

Thanks for following up about it.

Kevin.

> Fiona
> 
> 
>> -----Original Message-----
>> From: Kevin Traynor <ktraynor@redhat.com>
>> Sent: Thursday, May 28, 2020 5:22 PM
>> To: Dybkowski, AdamX <adamx.dybkowski@intel.com>
>> Cc: Trahe, Fiona <fiona.trahe@intel.com>; dpdk stable <stable@dpdk.org>
>> Subject: patch 'common/qat: fix GEN3 marketing name' has been queued to LTS release 18.11.9
>>
>> Hi,
>>
>> FYI, your patch has been queued to LTS release 18.11.9
>>
>> Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
>> It will be pushed if I get no objections before 06/03/20. 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-queue
>>
>> This queued commit can be viewed at:
>> https://github.com/kevintraynor/dpdk-stable-
>> queue/commit/6528f3ccc454ceb125b3ebcedda931f8fe9b38f3
>>
>> Thanks.
>>
>> Kevin.
>>
>> ---
>> From 6528f3ccc454ceb125b3ebcedda931f8fe9b38f3 Mon Sep 17 00:00:00 2001
>> From: Adam Dybkowski <adamx.dybkowski@intel.com>
>> Date: Wed, 4 Mar 2020 14:18:35 +0100
>> Subject: [PATCH] common/qat: fix GEN3 marketing name
>>
>> [ upstream commit 9cd9d3e702fba4700539c1a2eddac13dd14ecf70 ]
>>
>> This patch fixes the marketing name of the QAT GEN3 to P5xxx.
>> Updates this name mentioned in the compression PMD as well as
>> in the documentation.
>>
>> Fixes: aa983f03ad2e ("crypto/qat: handle Single Pass Crypto Requests on GEN3")
>> Fixes: a124830a6f00 ("compress/qat: enable dynamic huffman encoding")
>> Fixes: 1f5e4053f9b4 ("common/qat: support GEN3 devices")
>>
>> Signed-off-by: Adam Dybkowski <adamx.dybkowski@intel.com>
>> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
>> ---
>>  doc/guides/cryptodevs/qat.rst       | 2 +-
>>  drivers/compress/qat/qat_comp_pmd.c | 2 +-
>>  2 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/doc/guides/cryptodevs/qat.rst b/doc/guides/cryptodevs/qat.rst
>> index 837ed280e6..28cfd82f1c 100644
>> --- a/doc/guides/cryptodevs/qat.rst
>> +++ b/doc/guides/cryptodevs/qat.rst
>> @@ -24,5 +24,5 @@ hardware accelerator devices:
>>  * ``Intel QuickAssist Technology C3xxx``
>>  * ``Intel QuickAssist Technology D15xx``
>> -* ``Intel QuickAssist Technology C4xxx``
>> +* ``Intel QuickAssist Technology P5xxx``
>>
>>
>> diff --git a/drivers/compress/qat/qat_comp_pmd.c b/drivers/compress/qat/qat_comp_pmd.c
>> index 139298efe3..eec5f61bb3 100644
>> --- a/drivers/compress/qat/qat_comp_pmd.c
>> +++ b/drivers/compress/qat/qat_comp_pmd.c
>> @@ -491,5 +491,5 @@ qat_comp_dev_create(struct qat_pci_device *qat_pci_dev)
>>  	}
>>  	if (qat_pci_dev->qat_dev_gen == QAT_GEN3) {
>> -		QAT_LOG(ERR, "Compression PMD not supported on QAT c4xxx");
>> +		QAT_LOG(ERR, "Compression PMD not supported on QAT P5xxx");
>>  		return 0;
>>  	}
>> --
>> 2.21.3
>>
>> ---
>>   Diff of the applied patch vs upstream commit (please double-check if non-empty:
>> ---
>> --- -	2020-05-28 17:13:00.621270780 +0100
>> +++ 0028-common-qat-fix-GEN3-marketing-name.patch	2020-05-28 17:12:59.089556672
>> +0100
>> @@ -1 +1 @@
>> -From 9cd9d3e702fba4700539c1a2eddac13dd14ecf70 Mon Sep 17 00:00:00 2001
>> +From 6528f3ccc454ceb125b3ebcedda931f8fe9b38f3 Mon Sep 17 00:00:00 2001
>> @@ -5,0 +6,2 @@
>> +[ upstream commit 9cd9d3e702fba4700539c1a2eddac13dd14ecf70 ]
>> +
>> @@ -13 +14,0 @@
>> -Cc: stable@dpdk.org
>> @@ -18,4 +19,3 @@
>> - doc/guides/cryptodevs/qat.rst          | 6 +++---
>> - doc/guides/rel_notes/release_19_11.rst | 2 +-
>> - drivers/compress/qat/qat_comp_pmd.c    | 2 +-
>> - 3 files changed, 5 insertions(+), 5 deletions(-)
>> + doc/guides/cryptodevs/qat.rst       | 2 +-
>> + drivers/compress/qat/qat_comp_pmd.c | 2 +-
>> + 2 files changed, 2 insertions(+), 2 deletions(-)
>> @@ -24 +24 @@
>> -index 06985e3193..1e83ed6267 100644
>> +index 837ed280e6..28cfd82f1c 100644
>> @@ -27,8 +27 @@
>> -@@ -24,5 +24,5 @@ poll mode crypto driver support for the following hardware accelerator
>> devices:
>> - * ``Intel QuickAssist Technology C3xxx``
>> - * ``Intel QuickAssist Technology D15xx``
>> --* ``Intel QuickAssist Technology C4xxx``
>> -+* ``Intel QuickAssist Technology P5xxx``
>> -
>> -
>> -@@ -150,5 +150,5 @@ poll mode crypto driver support for the following hardware accelerator
>> devices:
>> +@@ -24,5 +24,5 @@ hardware accelerator devices:
>> @@ -40,13 +32,0 @@
>> - The QAT ASYM PMD has support for:
>> -@@ -377,5 +377,5 @@ to see the full table)
>> -    | Yes | No  | No  | 2   | D15xx    | p             | qat_d15xx     | d15xx      | 6f54   | 1    | 6f55   | 16     |
>> -    +-----+-----+-----+-----+----------+---------------+---------------+------------+--------+------+--------+--------
>> +
>> --   | Yes | No  | No  | 3   | C4xxx    | p             | qat_c4xxx     | c4xxx      | 18a0   | 1    | 18a1   | 128    |
>> -+   | Yes | No  | No  | 3   | P5xxx    | p             | qat_p5xxx     | p5xxx      | 18a0   | 1    | 18a1   | 128    |
>> -    +-----+-----+-----+-----+----------+---------------+---------------+------------+--------+------+--------+--------
>> +
>> -
>> -diff --git a/doc/guides/rel_notes/release_19_11.rst b/doc/guides/rel_notes/release_19_11.rst
>> -index eb05149f8f..0261d28431 100644
>> ---- a/doc/guides/rel_notes/release_19_11.rst
>> -+++ b/doc/guides/rel_notes/release_19_11.rst
>> -@@ -261,5 +261,5 @@ New Features
>> @@ -54,5 +33,0 @@
>> -   Added support for Single Pass GCM, available on QAT GEN3 only (Intel
>> --  QuickAssist Technology C4xxx). It is automatically chosen instead of the
>> -+  QuickAssist Technology P5xxx). It is automatically chosen instead of the
>> -   classic 2-pass mode when running on QAT GEN3, significantly improving
>> -   the performance of AES GCM operations.
>> @@ -60 +35 @@
>> -index 7d4fdf10c2..9a7ed19d76 100644
>> +index 139298efe3..eec5f61bb3 100644
>> @@ -63,2 +38,2 @@
>> -@@ -667,5 +667,5 @@ qat_comp_dev_create(struct qat_pci_device *qat_pci_dev,
>> - 	int i = 0;
>> +@@ -491,5 +491,5 @@ qat_comp_dev_create(struct qat_pci_device *qat_pci_dev)
>> + 	}
> 


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

end of thread, back to index

Thread overview: 97+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-28 16:21 [dpdk-stable] patch 'app/pipeline: fix build with gcc 10' has been queued to LTS release 18.11.9 Kevin Traynor
2020-05-28 16:21 ` [dpdk-stable] patch 'examples/eventdev: " Kevin Traynor
2020-05-28 16:21 ` [dpdk-stable] patch 'drivers: add crypto as dependency for event drivers' " Kevin Traynor
2020-05-28 16:21 ` [dpdk-stable] patch 'eal: fix log message print for regex' " Kevin Traynor
2020-05-28 16:21 ` [dpdk-stable] patch 'eal/arm64: fix precise TSC' " Kevin Traynor
2020-05-28 16:21 ` [dpdk-stable] patch 'mem: mark pages as not accessed when reserving VA' " Kevin Traynor
2020-05-28 16:21 ` [dpdk-stable] patch 'service: fix crash on exit' " Kevin Traynor
2020-05-28 16:21 ` [dpdk-stable] patch 'pci: fix build on ppc' " Kevin Traynor
2020-05-28 16:21 ` [dpdk-stable] patch 'net/i40e: fix X722 performance' " Kevin Traynor
2020-05-28 16:21 ` [dpdk-stable] patch 'doc: fix number of failsafe sub-devices' " Kevin Traynor
2020-05-28 16:21 ` [dpdk-stable] patch 'net/sfc: fix reported promiscuous/multicast mode' " Kevin Traynor
2020-05-28 16:21 ` [dpdk-stable] patch 'net/sfc: fix initialization error path' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/sfc: fix Rx queue start failure " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/mlx5: fix mask used for IPv6 item validation' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'ethdev: fix spelling' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/sfc/base: reduce filter priorities to implemented only' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/sfc/base: reject automatic filter creation by users' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/sfc/base: refactor filter lookup loop in EF10' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/sfc/base: handle manual and auto filter clashes " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/mlx5: fix CVLAN tag set in IP item translation' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'contigmem: cleanup properly when load fails' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'devtools: fix symbol map change check' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'test: skip some subtests in no-huge mode' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'test/kvargs: fix to consider empty elements as valid' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'test/kvargs: fix invalid cases check' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'kvargs: fix buffer overflow when parsing list' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'bus/pci: fix devargs on probing again' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'common/qat: fix GEN3 marketing name' " Kevin Traynor
2020-06-04 16:29   ` Trahe, Fiona
2020-06-04 16:36     ` Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'event/dsw: remove redundant control ring poll' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'event/dsw: remove unnecessary read barrier' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'doc: fix sphinx compatibility' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'log: fix level picked with globbing on type register' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'doc: fix matrix CSS for recent sphinx' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'vfio: fix race condition with sysfs' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'vfio: fix use after free with multiprocess' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'drivers: fix log type variables for -fno-common' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'drivers/crypto: " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'test/crypto: fix flag check' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'crypto/openssl: fix out-of-place encryption' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'security: fix verification of parameters' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'security: fix return types in documentation' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'security: fix session counter' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'test: remove redundant macro' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/mlx5: fix validation of VXLAN/VXLAN-GPE specs' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'examples/vmdq: fix output of pools/queues' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/mvneta: do not use PMD log type' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/virtio: " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/tap: " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/bnxt: " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/dpaa: use dynamic " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/thunderx: " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/tap: remove unused assert' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/octeontx: fix meson build for disabled drivers' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/netvsc: propagate descriptor limits from VF' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/netvsc: handle Rx packets during multi-channel setup' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/netvsc: split send buffers from Tx descriptors' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/netvsc: fix memory free on device close' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/netvsc: remove process event optimization' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/netvsc: handle Tx completions based on burst size' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/netvsc: avoid possible live lock' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'ethdev: fix build when vtune profiling is on' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'examples/vmdq: fix RSS configuration' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/ena/base: make allocation macros thread-safe' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/ena/base: prevent allocation of zero sized memory' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/ena/base: fix testing for supported hash function' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/ena/base: fix documentation of functions' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/ena/base: fix indentation in CQ polling' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/ena/base: fix indentation of multiple defines' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/ena: set IO ring size to valid value' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/null: fix secondary burst function selection' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'net/null: remove redundant check' " Kevin Traynor
2020-05-28 16:22 ` [dpdk-stable] patch 'vhost/crypto: add missing user protocol flag' " Kevin Traynor
2020-05-28 16:23 ` [dpdk-stable] patch 'net/vhost: fix potential memory leak on close' " Kevin Traynor
2020-05-28 16:23 ` [dpdk-stable] patch 'net/virtio: fix outdated comment' " Kevin Traynor
2020-05-28 16:23 ` [dpdk-stable] patch 'vhost: remove unused variable' " Kevin Traynor
2020-05-28 16:23 ` [dpdk-stable] patch 'vhost: make IOTLB cache name unique among processes' " Kevin Traynor
2020-05-28 16:23 ` [dpdk-stable] patch 'net/mlx4: fix build with -fno-common' " Kevin Traynor
2020-05-28 16:23 ` [dpdk-stable] patch 'net/i40e: relax barrier in Tx for NEON' " Kevin Traynor
2020-05-28 16:23 ` [dpdk-stable] patch 'net/tap: fix mbuf and mem leak during queue release' " Kevin Traynor
2020-05-28 16:23 ` [dpdk-stable] patch 'net/tap: fix check for mbuf number of segment' " Kevin Traynor
2020-05-28 16:23 ` [dpdk-stable] patch 'net/tap: fix file close on remove' " Kevin Traynor
2020-05-28 16:23 ` [dpdk-stable] patch 'net/tap: fix fd leak on creation failure' " Kevin Traynor
2020-05-28 16:23 ` [dpdk-stable] patch 'net/tap: fix unexpected link handler' " Kevin Traynor
2020-05-28 16:23 ` [dpdk-stable] patch 'net/virtio-user: fix devargs parsing' " Kevin Traynor
2020-05-28 16:23 ` [dpdk-stable] patch 'net/tap: fix queues fd check before close' " Kevin Traynor
2020-05-28 16:23 ` [dpdk-stable] patch 'net/iavf: fix stats query error code' " Kevin Traynor
2020-05-28 16:23 ` [dpdk-stable] patch 'net/bnxt: fix VLAN add when port is stopped' " Kevin Traynor
2020-05-28 16:23 ` [dpdk-stable] patch 'security: fix crash at accessing non-implemented ops' " Kevin Traynor
2020-05-28 16:23 ` [dpdk-stable] patch 'lpm6: fix size of tbl8 group' " Kevin Traynor
2020-05-28 16:23 ` [dpdk-stable] patch 'lpm6: fix comments spelling' " Kevin Traynor
2020-05-28 16:23 ` [dpdk-stable] patch 'eal: " Kevin Traynor
2020-05-28 16:23 ` [dpdk-stable] patch 'fix various typos found by Lintian' " Kevin Traynor
2020-05-28 16:23 ` [dpdk-stable] patch 'app: fix usage help of options separated by dashes' " Kevin Traynor
2020-05-28 16:23 ` [dpdk-stable] patch 'usertools: check for pci.ids in /usr/share/misc' " Kevin Traynor
2020-05-28 16:23 ` [dpdk-stable] patch 'bus/pci: fix UIO resource access from secondary process' " Kevin Traynor

patches for DPDK stable branches

Archives are clonable:
	git clone --mirror http://inbox.dpdk.org/stable/0 stable/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 stable stable/ http://inbox.dpdk.org/stable \
		stable@dpdk.org
	public-inbox-index stable


Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.stable


AGPL code for this site: git clone https://public-inbox.org/ public-inbox