patches for DPDK stable branches
 help / color / mirror / Atom feed
* patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11
@ 2021-11-30 16:33 christian.ehrhardt
  2021-11-30 16:33 ` patch 'test/power: fix CPU frequency when turbo enabled' " christian.ehrhardt
                   ` (159 more replies)
  0 siblings, 160 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Yury Kylulin; +Cc: Ashish Paul, Christian Ehrhardt, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From f81d60e607bb8c13fcb13450e85d74721f1d9c8f Mon Sep 17 00:00:00 2001
From: Yury Kylulin <yury.kylulin@intel.com>
Date: Tue, 13 Apr 2021 18:29:50 +0300
Subject: [PATCH] net/i40e: support 25G AOC/ACC cables

[ upstream commit b1daa3461429e7674206a714c17adca65e9b44b4 ]

Enable additional PHY types (25G-AOC and 25G-ACC) for set PHY config
command.

Ubuntu bug: https://bugs.launchpad.net/ubuntu/+source/dpdk/+bug/1940957
Cc: stable@dpdk.org

Signed-off-by: Yury Kylulin <yury.kylulin@intel.com>
Tested-by: Ashish Paul <apaul@juniper.net>
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
---
 drivers/net/i40e/i40e_ethdev.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 508f90595f..0c896ea915 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -2264,7 +2264,8 @@ i40e_phy_conf_link(struct i40e_hw *hw,
 	phy_conf.phy_type = is_up ? cpu_to_le32(phy_type_mask) : 0;
 	phy_conf.phy_type_ext = is_up ? (I40E_AQ_PHY_TYPE_EXT_25G_KR |
 		I40E_AQ_PHY_TYPE_EXT_25G_CR | I40E_AQ_PHY_TYPE_EXT_25G_SR |
-		I40E_AQ_PHY_TYPE_EXT_25G_LR) : 0;
+		I40E_AQ_PHY_TYPE_EXT_25G_LR | I40E_AQ_PHY_TYPE_EXT_25G_AOC |
+		I40E_AQ_PHY_TYPE_EXT_25G_ACC) : 0;
 	phy_conf.fec_config = phy_ab.fec_cfg_curr_mod_ext_info;
 	phy_conf.eee_capability = phy_ab.eee_capability;
 	phy_conf.eeer = phy_ab.eeer_val;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:06.280423439 +0100
+++ 0001-net-i40e-support-25G-AOC-ACC-cables.patch	2021-11-30 16:50:05.482871270 +0100
@@ -1 +1 @@
-From b1daa3461429e7674206a714c17adca65e9b44b4 Mon Sep 17 00:00:00 2001
+From f81d60e607bb8c13fcb13450e85d74721f1d9c8f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b1daa3461429e7674206a714c17adca65e9b44b4 ]
+
@@ -8,0 +11,3 @@
+Ubuntu bug: https://bugs.launchpad.net/ubuntu/+source/dpdk/+bug/1940957
+Cc: stable@dpdk.org
+
@@ -10,0 +16 @@
+Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
@@ -16 +22 @@
-index ea5d384283..e6206a7e51 100644
+index 508f90595f..0c896ea915 100644
@@ -19 +25 @@
-@@ -2307,7 +2307,8 @@ i40e_phy_conf_link(struct i40e_hw *hw,
+@@ -2264,7 +2264,8 @@ i40e_phy_conf_link(struct i40e_hw *hw,

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

* patch 'test/power: fix CPU frequency when turbo enabled' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'examples/performance-thread: fix build with clang 12.0.1' " christian.ehrhardt
                   ` (158 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: David Hunt; +Cc: Christian Ehrhardt, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/910f2fa408a8f794db74ab215cc3c588e11692ea

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 910f2fa408a8f794db74ab215cc3c588e11692ea Mon Sep 17 00:00:00 2001
From: David Hunt <david.hunt@intel.com>
Date: Fri, 3 Sep 2021 09:37:36 +0100
Subject: [PATCH] test/power: fix CPU frequency when turbo enabled

[ upstream commit 29343b9030e38e8c3519ba01cb66724d45b13dc8 ]

On arm platform, the value in "/sys/.../cpuinfo_cur_freq" may not
be exactly the same as what was set when using CPPC cpufreq driver.
For other cpufreq driver, no need to round it currently, or else
this check will fail with turbo enabled. For example, with acpi_cpufreq,
cpuinfo_cur_freq can be 2401000 which is equal to freqs[0].It should
not be rounded to 2400000.

Backport-Note:
This is a version of the patch for 19.11.9 that fixes this issue
without the dependency of having the CPPC support applied first.

Fixes: 606a234c6d360 ("test/power: round CPU frequency to check")
Cc: stable@dpdk.org

Signed-off-by: David Hunt <david.hunt@intel.com>
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
---
 app/test/test_power_cpufreq.c | 29 ++++++++++++++++++-----------
 1 file changed, 18 insertions(+), 11 deletions(-)

diff --git a/app/test/test_power_cpufreq.c b/app/test/test_power_cpufreq.c
index d0c7e60ca5..51105f35be 100644
--- a/app/test/test_power_cpufreq.c
+++ b/app/test/test_power_cpufreq.c
@@ -55,18 +55,20 @@ check_cur_freq(unsigned int lcore_id, uint32_t idx, bool turbo)
 	FILE *f;
 	char fullpath[PATH_MAX];
 	char buf[BUFSIZ];
+	enum power_management_env env;
 	uint32_t cur_freq;
+	uint32_t freq_conv;
 	int ret = -1;
 	int i;
 
 	if (snprintf(fullpath, sizeof(fullpath),
-		TEST_POWER_SYSFILE_SCALING_FREQ, lcore_id) < 0) {
+		TEST_POWER_SYSFILE_CPUINFO_FREQ, lcore_id) < 0) {
 		return 0;
 	}
 	f = fopen(fullpath, "r");
 	if (f == NULL) {
 		if (snprintf(fullpath, sizeof(fullpath),
-			TEST_POWER_SYSFILE_CPUINFO_FREQ, lcore_id) < 0) {
+			TEST_POWER_SYSFILE_SCALING_FREQ, lcore_id) < 0) {
 			return 0;
 		}
 		f = fopen(fullpath, "r");
@@ -80,15 +82,20 @@ check_cur_freq(unsigned int lcore_id, uint32_t idx, bool turbo)
 			goto fail_all;
 
 		cur_freq = strtoul(buf, NULL, TEST_POWER_CONVERT_TO_DECIMAL);
-
-		/* convert the frequency to nearest 100000 value
-		 * Ex: if cur_freq=1396789 then freq_conv=1400000
-		 * Ex: if cur_freq=800030 then freq_conv=800000
-		 */
-		unsigned int freq_conv = 0;
-		freq_conv = (cur_freq + TEST_FREQ_ROUNDING_DELTA)
-					/ TEST_ROUND_FREQ_TO_N_100000;
-		freq_conv = freq_conv * TEST_ROUND_FREQ_TO_N_100000;
+		freq_conv = cur_freq;
+
+		env = rte_power_get_env();
+
+		if (env == PM_ENV_PSTATE_CPUFREQ) {
+			/* convert the frequency to nearest 100000 value
+			 * Ex: if cur_freq=1396789 then freq_conv=1400000
+			 * Ex: if cur_freq=800030 then freq_conv=800000
+			 */
+			unsigned int freq_conv = 0;
+			freq_conv = (cur_freq + TEST_FREQ_ROUNDING_DELTA)
+						/ TEST_ROUND_FREQ_TO_N_100000;
+			freq_conv = freq_conv * TEST_ROUND_FREQ_TO_N_100000;
+		}
 
 		if (turbo)
 			ret = (freqs[idx] <= freq_conv ? 0 : -1);
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:06.340336560 +0100
+++ 0002-test-power-fix-CPU-frequency-when-turbo-enabled.patch	2021-11-30 16:50:05.482871270 +0100
@@ -1,3 +1,3 @@
-From 29343b9030e38e8c3519ba01cb66724d45b13dc8 Mon Sep 17 00:00:00 2001
-From: Richael Zhuang <richael.zhuang@arm.com>
-Date: Fri, 9 Jul 2021 18:55:48 +0800
+From 910f2fa408a8f794db74ab215cc3c588e11692ea Mon Sep 17 00:00:00 2001
+From: David Hunt <david.hunt@intel.com>
+Date: Fri, 3 Sep 2021 09:37:36 +0100
@@ -5,0 +6,2 @@
+[ upstream commit 29343b9030e38e8c3519ba01cb66724d45b13dc8 ]
+
@@ -12,0 +15,4 @@
+Backport-Note:
+This is a version of the patch for 19.11.9 that fixes this issue
+without the dependency of having the CPPC support applied first.
+
@@ -16,2 +22,2 @@
-Signed-off-by: Richael Zhuang <richael.zhuang@arm.com>
-Acked-by: David Hunt <david.hunt@intel.com>
+Signed-off-by: David Hunt <david.hunt@intel.com>
+Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
@@ -19,2 +25,2 @@
- app/test/test_power_cpufreq.c | 23 ++++++++++++++---------
- 1 file changed, 14 insertions(+), 9 deletions(-)
+ app/test/test_power_cpufreq.c | 29 ++++++++++++++++++-----------
+ 1 file changed, 18 insertions(+), 11 deletions(-)
@@ -23 +29 @@
-index 8516df4ca6..b8fc53925c 100644
+index d0c7e60ca5..51105f35be 100644
@@ -26 +32 @@
-@@ -55,7 +55,9 @@ check_cur_freq(unsigned int lcore_id, uint32_t idx, bool turbo)
+@@ -55,18 +55,20 @@ check_cur_freq(unsigned int lcore_id, uint32_t idx, bool turbo)
@@ -36 +42,14 @@
-@@ -80,15 +82,18 @@ check_cur_freq(unsigned int lcore_id, uint32_t idx, bool turbo)
+ 	if (snprintf(fullpath, sizeof(fullpath),
+-		TEST_POWER_SYSFILE_SCALING_FREQ, lcore_id) < 0) {
++		TEST_POWER_SYSFILE_CPUINFO_FREQ, lcore_id) < 0) {
+ 		return 0;
+ 	}
+ 	f = fopen(fullpath, "r");
+ 	if (f == NULL) {
+ 		if (snprintf(fullpath, sizeof(fullpath),
+-			TEST_POWER_SYSFILE_CPUINFO_FREQ, lcore_id) < 0) {
++			TEST_POWER_SYSFILE_SCALING_FREQ, lcore_id) < 0) {
+ 			return 0;
+ 		}
+ 		f = fopen(fullpath, "r");
+@@ -80,15 +82,20 @@ check_cur_freq(unsigned int lcore_id, uint32_t idx, bool turbo)
@@ -52 +71,2 @@
-+		if (env == PM_ENV_CPPC_CPUFREQ) {
++
++		if (env == PM_ENV_PSTATE_CPUFREQ) {
@@ -56,0 +77 @@
++			unsigned int freq_conv = 0;

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

* patch 'examples/performance-thread: fix build with clang 12.0.1' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
  2021-11-30 16:33 ` patch 'test/power: fix CPU frequency when turbo enabled' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'drivers/net: fix typo in vector Rx comment' " christian.ehrhardt
                   ` (157 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Jerin Jacob; +Cc: Ali Alnubani, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From eec17bcf6b113084bb734b2f2ad32550b2cd302a Mon Sep 17 00:00:00 2001
From: Jerin Jacob <jerinj@marvell.com>
Date: Mon, 16 Aug 2021 18:49:14 +0530
Subject: [PATCH] examples/performance-thread: fix build with clang 12.0.1

[ upstream commit 5e184c4cc7ca5633aaebf15f73882b8456d13fd7 ]

In clang 12.0.1 version, the use of pthread_yield() is deprecated,
use sched_yield() instead.

log:
    examples/performance-thread/pthread_shim/main.c:75:9: warning:
    'pthread_yield' is deprecated: pthread_yield is deprecated,
    use sched_yield instead [-Wdeprecated-declarations]

Bugzilla ID: 745
Fixes: 433ba6228f9a ("examples/performance-thread: add pthread_shim app")

Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Tested-by: Ali Alnubani <alialnu@nvidia.com>
---
 examples/performance-thread/pthread_shim/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/performance-thread/pthread_shim/main.c b/examples/performance-thread/pthread_shim/main.c
index d137c49bb3..f169709137 100644
--- a/examples/performance-thread/pthread_shim/main.c
+++ b/examples/performance-thread/pthread_shim/main.c
@@ -71,7 +71,7 @@ void *helloworld_pthread(void *arg)
 	print_count++;
 
 	/* yield thread to give opportunity for lock contention */
-	pthread_yield();
+	sched_yield();
 
 	/* retrieve arg from TLS */
 	uint64_t thread_no = (uint64_t) pthread_getspecific(key);
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:06.381983795 +0100
+++ 0003-examples-performance-thread-fix-build-with-clang-12..patch	2021-11-30 16:50:05.482871270 +0100
@@ -1 +1 @@
-From 5e184c4cc7ca5633aaebf15f73882b8456d13fd7 Mon Sep 17 00:00:00 2001
+From eec17bcf6b113084bb734b2f2ad32550b2cd302a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 5e184c4cc7ca5633aaebf15f73882b8456d13fd7 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index 257de50692..7ce6cfb0c8 100644
+index d137c49bb3..f169709137 100644
@@ -28 +29 @@
-@@ -72,7 +72,7 @@ void *helloworld_pthread(void *arg)
+@@ -71,7 +71,7 @@ void *helloworld_pthread(void *arg)

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

* patch 'drivers/net: fix typo in vector Rx comment' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
  2021-11-30 16:33 ` patch 'test/power: fix CPU frequency when turbo enabled' " christian.ehrhardt
  2021-11-30 16:33 ` patch 'examples/performance-thread: fix build with clang 12.0.1' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'drivers/net: fix vector Rx comments' " christian.ehrhardt
                   ` (156 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Feifei Wang; +Cc: Ruifeng Wang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From a5aaa4d87b9a4dbabf2978d6e56717be9d05f414 Mon Sep 17 00:00:00 2001
From: Feifei Wang <feifei.wang2@arm.com>
Date: Fri, 23 Jul 2021 11:10:46 +0800
Subject: [PATCH] drivers/net: fix typo in vector Rx comment

[ upstream commit 635a9373fa99158c69b3fb5b19315f7b9d4cdecd ]

In Rx vec path, for extracting and recording EOP bit, comment has
redundant "count" word, removing it.

Fixes: 7092be8437bd ("fm10k: add vector Rx")
Fixes: c3def6a8724c ("net/i40e: implement vector PMD for altivec")
Fixes: ae0eb310f253 ("net/i40e: implement vector PMD for ARM")
Fixes: 9ed94e5bb04e ("i40e: add vector Rx")
Fixes: 319c421f3890 ("net/avf: enable SSE Rx Tx")
Fixes: 1162f5a0ef31 ("net/iavf: support flexible Rx descriptor in SSE path")
Fixes: c68a52b8b38c ("net/ice: support vector SSE in Rx")
Fixes: cf4b4708a88a ("ixgbe: improve slow-path perf with vector scattered Rx")

Signed-off-by: Feifei Wang <feifei.wang2@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
---
 drivers/net/fm10k/fm10k_rxtx_vec.c       | 2 +-
 drivers/net/i40e/i40e_rxtx_vec_altivec.c | 2 +-
 drivers/net/i40e/i40e_rxtx_vec_neon.c    | 2 +-
 drivers/net/i40e/i40e_rxtx_vec_sse.c     | 2 +-
 drivers/net/iavf/iavf_rxtx_vec_sse.c     | 2 +-
 drivers/net/ice/ice_rxtx_vec_sse.c       | 2 +-
 drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c   | 2 +-
 7 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/net/fm10k/fm10k_rxtx_vec.c b/drivers/net/fm10k/fm10k_rxtx_vec.c
index 1194251396..ab7c515e9c 100644
--- a/drivers/net/fm10k/fm10k_rxtx_vec.c
+++ b/drivers/net/fm10k/fm10k_rxtx_vec.c
@@ -544,7 +544,7 @@ fm10k_recv_raw_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts,
 			/* and with mask to extract bits, flipping 1-0 */
 			__m128i eop_bits = _mm_andnot_si128(staterr, eop_check);
 			/* the staterr values are not in order, as the count
-			 * count of dd bits doesn't care. However, for end of
+			 * of dd bits doesn't care. However, for end of
 			 * packet tracking, we do care, so shuffle. This also
 			 * compresses the 32-bit values to 8-bit
 			 */
diff --git a/drivers/net/i40e/i40e_rxtx_vec_altivec.c b/drivers/net/i40e/i40e_rxtx_vec_altivec.c
index 39f4d60ca8..e912ab02bc 100644
--- a/drivers/net/i40e/i40e_rxtx_vec_altivec.c
+++ b/drivers/net/i40e/i40e_rxtx_vec_altivec.c
@@ -398,7 +398,7 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 				(vector unsigned char)vec_nor(staterr, staterr),
 				(vector unsigned char)eop_check);
 			/* the staterr values are not in order, as the count
-			 * count of dd bits doesn't care. However, for end of
+			 * of dd bits doesn't care. However, for end of
 			 * packet tracking, we do care, so shuffle. This also
 			 * compresses the 32-bit values to 8-bit
 			 */
diff --git a/drivers/net/i40e/i40e_rxtx_vec_neon.c b/drivers/net/i40e/i40e_rxtx_vec_neon.c
index 695c5e362e..d279cd3a9b 100644
--- a/drivers/net/i40e/i40e_rxtx_vec_neon.c
+++ b/drivers/net/i40e/i40e_rxtx_vec_neon.c
@@ -386,7 +386,7 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 			eop_bits = vmvnq_u8(vreinterpretq_u8_u16(staterr));
 			eop_bits = vandq_u8(eop_bits, eop_check);
 			/* the staterr values are not in order, as the count
-			 * count of dd bits doesn't care. However, for end of
+			 * of dd bits doesn't care. However, for end of
 			 * packet tracking, we do care, so shuffle. This also
 			 * compresses the 32-bit values to 8-bit
 			 */
diff --git a/drivers/net/i40e/i40e_rxtx_vec_sse.c b/drivers/net/i40e/i40e_rxtx_vec_sse.c
index b5c5fdb0a2..8c17f2d27f 100644
--- a/drivers/net/i40e/i40e_rxtx_vec_sse.c
+++ b/drivers/net/i40e/i40e_rxtx_vec_sse.c
@@ -557,7 +557,7 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 			/* and with mask to extract bits, flipping 1-0 */
 			__m128i eop_bits = _mm_andnot_si128(staterr, eop_check);
 			/* the staterr values are not in order, as the count
-			 * count of dd bits doesn't care. However, for end of
+			 * of dd bits doesn't care. However, for end of
 			 * packet tracking, we do care, so shuffle. This also
 			 * compresses the 32-bit values to 8-bit
 			 */
diff --git a/drivers/net/iavf/iavf_rxtx_vec_sse.c b/drivers/net/iavf/iavf_rxtx_vec_sse.c
index 458730e089..8237a8180a 100644
--- a/drivers/net/iavf/iavf_rxtx_vec_sse.c
+++ b/drivers/net/iavf/iavf_rxtx_vec_sse.c
@@ -437,7 +437,7 @@ _recv_raw_pkts_vec(struct iavf_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 			/* and with mask to extract bits, flipping 1-0 */
 			__m128i eop_bits = _mm_andnot_si128(staterr, eop_check);
 			/* the staterr values are not in order, as the count
-			 * count of dd bits doesn't care. However, for end of
+			 * of dd bits doesn't care. However, for end of
 			 * packet tracking, we do care, so shuffle. This also
 			 * compresses the 32-bit values to 8-bit
 			 */
diff --git a/drivers/net/ice/ice_rxtx_vec_sse.c b/drivers/net/ice/ice_rxtx_vec_sse.c
index 4e6b0a0aa8..b6bcca6d19 100644
--- a/drivers/net/ice/ice_rxtx_vec_sse.c
+++ b/drivers/net/ice/ice_rxtx_vec_sse.c
@@ -439,7 +439,7 @@ _ice_recv_raw_pkts_vec(struct ice_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 			/* and with mask to extract bits, flipping 1-0 */
 			__m128i eop_bits = _mm_andnot_si128(staterr, eop_check);
 			/* the staterr values are not in order, as the count
-			 * count of dd bits doesn't care. However, for end of
+			 * of dd bits doesn't care. However, for end of
 			 * packet tracking, we do care, so shuffle. This also
 			 * compresses the 32-bit values to 8-bit
 			 */
diff --git a/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c b/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c
index 4b658605bf..e9b101a486 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c
@@ -540,7 +540,7 @@ _recv_raw_pkts_vec(struct ixgbe_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 			/* and with mask to extract bits, flipping 1-0 */
 			__m128i eop_bits = _mm_andnot_si128(staterr, eop_check);
 			/* the staterr values are not in order, as the count
-			 * count of dd bits doesn't care. However, for end of
+			 * of dd bits doesn't care. However, for end of
 			 * packet tracking, we do care, so shuffle. This also
 			 * compresses the 32-bit values to 8-bit
 			 */
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:06.430162413 +0100
+++ 0004-drivers-net-fix-typo-in-vector-Rx-comment.patch	2021-11-30 16:50:05.498871387 +0100
@@ -1 +1 @@
-From 635a9373fa99158c69b3fb5b19315f7b9d4cdecd Mon Sep 17 00:00:00 2001
+From a5aaa4d87b9a4dbabf2978d6e56717be9d05f414 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 635a9373fa99158c69b3fb5b19315f7b9d4cdecd ]
+
@@ -17 +18,0 @@
-Cc: stable@dpdk.org
@@ -26 +27 @@
- drivers/net/iavf/iavf_rxtx_vec_sse.c     | 4 ++--
+ drivers/net/iavf/iavf_rxtx_vec_sse.c     | 2 +-
@@ -29 +30 @@
- 7 files changed, 8 insertions(+), 8 deletions(-)
+ 7 files changed, 7 insertions(+), 7 deletions(-)
@@ -32 +33 @@
-index 39e3cdac1f..cae5322d48 100644
+index 1194251396..ab7c515e9c 100644
@@ -45 +46 @@
-index 1ad74646d6..edaa462ac8 100644
+index 39f4d60ca8..e912ab02bc 100644
@@ -58 +59 @@
-index 1f5539bda8..32336fdb80 100644
+index 695c5e362e..d279cd3a9b 100644
@@ -61 +62 @@
-@@ -387,7 +387,7 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *__rte_restrict rxq,
+@@ -386,7 +386,7 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *rxq, struct rte_mbuf **rx_pkts,
@@ -71 +72 @@
-index bfa5aff48d..03a0320353 100644
+index b5c5fdb0a2..8c17f2d27f 100644
@@ -84 +85 @@
-index bf87696fa4..b813d96ef4 100644
+index 458730e089..8237a8180a 100644
@@ -87,10 +88 @@
-@@ -590,7 +590,7 @@ _recv_raw_pkts_vec(struct iavf_rx_queue *rxq, struct rte_mbuf **rx_pkts,
- 			/* and with mask to extract bits, flipping 1-0 */
- 			__m128i eop_bits = _mm_andnot_si128(staterr, eop_check);
- 			/* the staterr values are not in order, as the count
--			 * count of dd bits doesn't care. However, for end of
-+			 * of dd bits doesn't care. However, for end of
- 			 * packet tracking, we do care, so shuffle. This also
- 			 * compresses the 32-bit values to 8-bit
- 			 */
-@@ -884,7 +884,7 @@ _recv_raw_pkts_vec_flex_rxd(struct iavf_rx_queue *rxq,
+@@ -437,7 +437,7 @@ _recv_raw_pkts_vec(struct iavf_rx_queue *rxq, struct rte_mbuf **rx_pkts,
@@ -106 +98 @@
-index 673e44a243..5f7e13ee39 100644
+index 4e6b0a0aa8..b6bcca6d19 100644
@@ -109 +101 @@
-@@ -545,7 +545,7 @@ _ice_recv_raw_pkts_vec(struct ice_rx_queue *rxq, struct rte_mbuf **rx_pkts,
+@@ -439,7 +439,7 @@ _ice_recv_raw_pkts_vec(struct ice_rx_queue *rxq, struct rte_mbuf **rx_pkts,
@@ -119 +111 @@
-index 7610fd93db..3a3ef51172 100644
+index 4b658605bf..e9b101a486 100644

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

* patch 'drivers/net: fix vector Rx comments' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (2 preceding siblings ...)
  2021-11-30 16:33 ` patch 'drivers/net: fix typo in vector Rx comment' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'net/ice/base: fix typo in comment' " christian.ehrhardt
                   ` (155 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Feifei Wang; +Cc: Ruifeng Wang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From b83e5a9c5caa2fd047d6b215ff9e90b2643f274f Mon Sep 17 00:00:00 2001
From: Feifei Wang <feifei.wang2@arm.com>
Date: Fri, 23 Jul 2021 11:10:47 +0800
Subject: [PATCH] drivers/net: fix vector Rx comments

[ upstream commit 4f76ac98b787dbc893d9aaae487f79e69cb962c4 ]

For the loop to process packets in Rx vector path, some notes for the
code are wrong, fix these errors.

Fixes: 7092be8437bd ("fm10k: add vector Rx")
Fixes: c3def6a8724c ("net/i40e: implement vector PMD for altivec")
Fixes: ae0eb310f253 ("net/i40e: implement vector PMD for ARM")
Fixes: 9ed94e5bb04e ("i40e: add vector Rx")
Fixes: 319c421f3890 ("net/avf: enable SSE Rx Tx")
Fixes: 1162f5a0ef31 ("net/iavf: support flexible Rx descriptor in SSE path")
Fixes: c68a52b8b38c ("net/ice: support vector SSE in Rx")
Fixes: cf4b4708a88a ("ixgbe: improve slow-path perf with vector scattered Rx")

Suggested-by: Ruifeng Wang <ruifeng.wang@arm.com>
Signed-off-by: Feifei Wang <feifei.wang2@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
---
 drivers/net/fm10k/fm10k_rxtx_vec.c       | 4 ++--
 drivers/net/i40e/i40e_rxtx_vec_altivec.c | 8 ++++----
 drivers/net/i40e/i40e_rxtx_vec_neon.c    | 8 ++++----
 drivers/net/i40e/i40e_rxtx_vec_sse.c     | 4 ++--
 drivers/net/iavf/iavf_rxtx_vec_sse.c     | 4 ++--
 drivers/net/ice/ice_rxtx_vec_sse.c       | 4 ++--
 drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c   | 4 ++--
 7 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/drivers/net/fm10k/fm10k_rxtx_vec.c b/drivers/net/fm10k/fm10k_rxtx_vec.c
index ab7c515e9c..a441d33980 100644
--- a/drivers/net/fm10k/fm10k_rxtx_vec.c
+++ b/drivers/net/fm10k/fm10k_rxtx_vec.c
@@ -472,7 +472,7 @@ fm10k_recv_raw_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts,
 		mbp1 = _mm_loadu_si128((__m128i *)&mbufp[pos]);
 
 		/* Read desc statuses backwards to avoid race condition */
-		/* A.1 load 4 pkts desc */
+		/* A.1 load desc[3] */
 		descs0[3] = _mm_loadu_si128((__m128i *)(rxdp + 3));
 		rte_compiler_barrier();
 
@@ -484,9 +484,9 @@ fm10k_recv_raw_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts,
 		mbp2 = _mm_loadu_si128((__m128i *)&mbufp[pos+2]);
 #endif
 
+		/* A.1 load desc[2-0] */
 		descs0[2] = _mm_loadu_si128((__m128i *)(rxdp + 2));
 		rte_compiler_barrier();
-		/* B.1 load 2 mbuf point */
 		descs0[1] = _mm_loadu_si128((__m128i *)(rxdp + 1));
 		rte_compiler_barrier();
 		descs0[0] = _mm_loadu_si128((__m128i *)(rxdp));
diff --git a/drivers/net/i40e/i40e_rxtx_vec_altivec.c b/drivers/net/i40e/i40e_rxtx_vec_altivec.c
index e912ab02bc..12dacc31a4 100644
--- a/drivers/net/i40e/i40e_rxtx_vec_altivec.c
+++ b/drivers/net/i40e/i40e_rxtx_vec_altivec.c
@@ -281,22 +281,22 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 						  * in one XMM reg.
 						  */
 
-		/* B.1 load 1 mbuf point */
+		/* B.1 load 2 mbuf point */
 		mbp1 = *(vector unsigned long *)&sw_ring[pos];
 		/* Read desc statuses backwards to avoid race condition */
-		/* A.1 load 4 pkts desc */
+		/* A.1 load desc[3] */
 		descs[3] = *(vector unsigned long *)(rxdp + 3);
 		rte_compiler_barrier();
 
 		/* B.2 copy 2 mbuf point into rx_pkts  */
 		*(vector unsigned long *)&rx_pkts[pos] = mbp1;
 
-		/* B.1 load 1 mbuf point */
+		/* B.1 load 2 mbuf point */
 		mbp2 = *(vector unsigned long *)&sw_ring[pos + 2];
 
+		/* A.1 load desc[2-0] */
 		descs[2] = *(vector unsigned long *)(rxdp + 2);
 		rte_compiler_barrier();
-		/* B.1 load 2 mbuf point */
 		descs[1] = *(vector unsigned long *)(rxdp + 1);
 		rte_compiler_barrier();
 		descs[0] = *(vector unsigned long *)(rxdp);
diff --git a/drivers/net/i40e/i40e_rxtx_vec_neon.c b/drivers/net/i40e/i40e_rxtx_vec_neon.c
index d279cd3a9b..bd1e0490da 100644
--- a/drivers/net/i40e/i40e_rxtx_vec_neon.c
+++ b/drivers/net/i40e/i40e_rxtx_vec_neon.c
@@ -279,20 +279,20 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 
 		int32x4_t len_shl = {0, 0, 0, PKTLEN_SHIFT};
 
-		/* B.1 load 1 mbuf point */
+		/* B.1 load 2 mbuf point */
 		mbp1 = vld1q_u64((uint64_t *)&sw_ring[pos]);
 		/* Read desc statuses backwards to avoid race condition */
-		/* A.1 load 4 pkts desc */
+		/* A.1 load desc[3] */
 		descs[3] =  vld1q_u64((uint64_t *)(rxdp + 3));
 
 		/* B.2 copy 2 mbuf point into rx_pkts  */
 		vst1q_u64((uint64_t *)&rx_pkts[pos], mbp1);
 
-		/* B.1 load 1 mbuf point */
+		/* B.1 load 2 mbuf point */
 		mbp2 = vld1q_u64((uint64_t *)&sw_ring[pos + 2]);
 
+		/* A.1 load desc[2-0] */
 		descs[2] =  vld1q_u64((uint64_t *)(rxdp + 2));
-		/* B.1 load 2 mbuf point */
 		descs[1] =  vld1q_u64((uint64_t *)(rxdp + 1));
 		descs[0] =  vld1q_u64((uint64_t *)(rxdp));
 
diff --git a/drivers/net/i40e/i40e_rxtx_vec_sse.c b/drivers/net/i40e/i40e_rxtx_vec_sse.c
index 8c17f2d27f..65202a5277 100644
--- a/drivers/net/i40e/i40e_rxtx_vec_sse.c
+++ b/drivers/net/i40e/i40e_rxtx_vec_sse.c
@@ -462,7 +462,7 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 		/* B.1 load 2 (64 bit) or 4 (32 bit) mbuf points */
 		mbp1 = _mm_loadu_si128((__m128i *)&sw_ring[pos]);
 		/* Read desc statuses backwards to avoid race condition */
-		/* A.1 load 4 pkts desc */
+		/* A.1 load desc[3] */
 		descs[3] = _mm_loadu_si128((__m128i *)(rxdp + 3));
 		rte_compiler_barrier();
 
@@ -474,9 +474,9 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 		mbp2 = _mm_loadu_si128((__m128i *)&sw_ring[pos+2]);
 #endif
 
+		/* A.1 load desc[2-0] */
 		descs[2] = _mm_loadu_si128((__m128i *)(rxdp + 2));
 		rte_compiler_barrier();
-		/* B.1 load 2 mbuf point */
 		descs[1] = _mm_loadu_si128((__m128i *)(rxdp + 1));
 		rte_compiler_barrier();
 		descs[0] = _mm_loadu_si128((__m128i *)(rxdp));
diff --git a/drivers/net/iavf/iavf_rxtx_vec_sse.c b/drivers/net/iavf/iavf_rxtx_vec_sse.c
index 8237a8180a..aefa81ecd3 100644
--- a/drivers/net/iavf/iavf_rxtx_vec_sse.c
+++ b/drivers/net/iavf/iavf_rxtx_vec_sse.c
@@ -341,7 +341,7 @@ _recv_raw_pkts_vec(struct iavf_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 		/* B.1 load 2 (64 bit) or 4 (32 bit) mbuf points */
 		mbp1 = _mm_loadu_si128((__m128i *)&sw_ring[pos]);
 		/* Read desc statuses backwards to avoid race condition */
-		/* A.1 load 4 pkts desc */
+		/* A.1 load desc[3] */
 		descs[3] = _mm_loadu_si128((__m128i *)(rxdp + 3));
 		rte_compiler_barrier();
 
@@ -353,9 +353,9 @@ _recv_raw_pkts_vec(struct iavf_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 		mbp2 = _mm_loadu_si128((__m128i *)&sw_ring[pos + 2]);
 #endif
 
+		/* A.1 load desc[2-0] */
 		descs[2] = _mm_loadu_si128((__m128i *)(rxdp + 2));
 		rte_compiler_barrier();
-		/* B.1 load 2 mbuf point */
 		descs[1] = _mm_loadu_si128((__m128i *)(rxdp + 1));
 		rte_compiler_barrier();
 		descs[0] = _mm_loadu_si128((__m128i *)(rxdp));
diff --git a/drivers/net/ice/ice_rxtx_vec_sse.c b/drivers/net/ice/ice_rxtx_vec_sse.c
index b6bcca6d19..71320d82aa 100644
--- a/drivers/net/ice/ice_rxtx_vec_sse.c
+++ b/drivers/net/ice/ice_rxtx_vec_sse.c
@@ -366,7 +366,7 @@ _ice_recv_raw_pkts_vec(struct ice_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 		/* B.1 load 2 (64 bit) or 4 (32 bit) mbuf points */
 		mbp1 = _mm_loadu_si128((__m128i *)&sw_ring[pos]);
 		/* Read desc statuses backwards to avoid race condition */
-		/* A.1 load 4 pkts desc */
+		/* A.1 load desc[3] */
 		descs[3] = _mm_loadu_si128((__m128i *)(rxdp + 3));
 		rte_compiler_barrier();
 
@@ -378,9 +378,9 @@ _ice_recv_raw_pkts_vec(struct ice_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 		mbp2 = _mm_loadu_si128((__m128i *)&sw_ring[pos + 2]);
 #endif
 
+		/* A.1 load desc[2-0] */
 		descs[2] = _mm_loadu_si128((__m128i *)(rxdp + 2));
 		rte_compiler_barrier();
-		/* B.1 load 2 mbuf point */
 		descs[1] = _mm_loadu_si128((__m128i *)(rxdp + 1));
 		rte_compiler_barrier();
 		descs[0] = _mm_loadu_si128((__m128i *)(rxdp));
diff --git a/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c b/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c
index e9b101a486..414845f2d7 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c
@@ -454,7 +454,7 @@ _recv_raw_pkts_vec(struct ixgbe_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 		mbp1 = _mm_loadu_si128((__m128i *)&sw_ring[pos]);
 
 		/* Read desc statuses backwards to avoid race condition */
-		/* A.1 load 4 pkts desc */
+		/* A.1 load desc[3] */
 		descs[3] = _mm_loadu_si128((__m128i *)(rxdp + 3));
 		rte_compiler_barrier();
 
@@ -466,9 +466,9 @@ _recv_raw_pkts_vec(struct ixgbe_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 		mbp2 = _mm_loadu_si128((__m128i *)&sw_ring[pos+2]);
 #endif
 
+		/* A.1 load desc[2-0] */
 		descs[2] = _mm_loadu_si128((__m128i *)(rxdp + 2));
 		rte_compiler_barrier();
-		/* B.1 load 2 mbuf point */
 		descs[1] = _mm_loadu_si128((__m128i *)(rxdp + 1));
 		rte_compiler_barrier();
 		descs[0] = _mm_loadu_si128((__m128i *)(rxdp));
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:06.485449708 +0100
+++ 0005-drivers-net-fix-vector-Rx-comments.patch	2021-11-30 16:50:05.506871446 +0100
@@ -1 +1 @@
-From 4f76ac98b787dbc893d9aaae487f79e69cb962c4 Mon Sep 17 00:00:00 2001
+From b83e5a9c5caa2fd047d6b215ff9e90b2643f274f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4f76ac98b787dbc893d9aaae487f79e69cb962c4 ]
+
@@ -17 +18,0 @@
-Cc: stable@dpdk.org
@@ -27 +28 @@
- drivers/net/iavf/iavf_rxtx_vec_sse.c     | 8 ++++----
+ drivers/net/iavf/iavf_rxtx_vec_sse.c     | 4 ++--
@@ -30 +31 @@
- 7 files changed, 20 insertions(+), 20 deletions(-)
+ 7 files changed, 18 insertions(+), 18 deletions(-)
@@ -33 +34 @@
-index cae5322d48..83af01dc2d 100644
+index ab7c515e9c..a441d33980 100644
@@ -57 +58 @@
-index edaa462ac8..b99323992f 100644
+index e912ab02bc..12dacc31a4 100644
@@ -88 +89 @@
-index 32336fdb80..fb624a4882 100644
+index d279cd3a9b..bd1e0490da 100644
@@ -91 +92 @@
-@@ -280,20 +280,20 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *__rte_restrict rxq,
+@@ -279,20 +279,20 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *rxq, struct rte_mbuf **rx_pkts,
@@ -117 +118 @@
-index 03a0320353..b235502db5 100644
+index 8c17f2d27f..65202a5277 100644
@@ -141 +142 @@
-index b813d96ef4..ee1e905525 100644
+index 8237a8180a..aefa81ecd3 100644
@@ -144,21 +145 @@
-@@ -494,7 +494,7 @@ _recv_raw_pkts_vec(struct iavf_rx_queue *rxq, struct rte_mbuf **rx_pkts,
- 		/* B.1 load 2 (64 bit) or 4 (32 bit) mbuf points */
- 		mbp1 = _mm_loadu_si128((__m128i *)&sw_ring[pos]);
- 		/* Read desc statuses backwards to avoid race condition */
--		/* A.1 load 4 pkts desc */
-+		/* A.1 load desc[3] */
- 		descs[3] = _mm_loadu_si128((__m128i *)(rxdp + 3));
- 		rte_compiler_barrier();
- 
-@@ -506,9 +506,9 @@ _recv_raw_pkts_vec(struct iavf_rx_queue *rxq, struct rte_mbuf **rx_pkts,
- 		mbp2 = _mm_loadu_si128((__m128i *)&sw_ring[pos + 2]);
- #endif
- 
-+		/* A.1 load desc[2-0] */
- 		descs[2] = _mm_loadu_si128((__m128i *)(rxdp + 2));
- 		rte_compiler_barrier();
--		/* B.1 load 2 mbuf point */
- 		descs[1] = _mm_loadu_si128((__m128i *)(rxdp + 1));
- 		rte_compiler_barrier();
- 		descs[0] = _mm_loadu_si128((__m128i *)(rxdp));
-@@ -755,7 +755,7 @@ _recv_raw_pkts_vec_flex_rxd(struct iavf_rx_queue *rxq,
+@@ -341,7 +341,7 @@ _recv_raw_pkts_vec(struct iavf_rx_queue *rxq, struct rte_mbuf **rx_pkts,
@@ -173 +154 @@
-@@ -767,9 +767,9 @@ _recv_raw_pkts_vec_flex_rxd(struct iavf_rx_queue *rxq,
+@@ -353,9 +353,9 @@ _recv_raw_pkts_vec(struct iavf_rx_queue *rxq, struct rte_mbuf **rx_pkts,
@@ -185 +166 @@
-index 5f7e13ee39..653bd28b41 100644
+index b6bcca6d19..71320d82aa 100644
@@ -188 +169 @@
-@@ -416,7 +416,7 @@ _ice_recv_raw_pkts_vec(struct ice_rx_queue *rxq, struct rte_mbuf **rx_pkts,
+@@ -366,7 +366,7 @@ _ice_recv_raw_pkts_vec(struct ice_rx_queue *rxq, struct rte_mbuf **rx_pkts,
@@ -197 +178 @@
-@@ -428,9 +428,9 @@ _ice_recv_raw_pkts_vec(struct ice_rx_queue *rxq, struct rte_mbuf **rx_pkts,
+@@ -378,9 +378,9 @@ _ice_recv_raw_pkts_vec(struct ice_rx_queue *rxq, struct rte_mbuf **rx_pkts,
@@ -209 +190 @@
-index 3a3ef51172..1dea95e73b 100644
+index e9b101a486..414845f2d7 100644

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

* patch 'net/ice/base: fix typo in comment' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (3 preceding siblings ...)
  2021-11-30 16:33 ` patch 'drivers/net: fix vector Rx comments' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'app/testpmd: fix Tx retry in flowgen engine' " christian.ehrhardt
                   ` (154 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Qi Zhang; +Cc: Kevin Scott, Junfeng Guo, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/0466fd0ddb1d5beeac1df1ffd2e75d07af2e7d47

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 0466fd0ddb1d5beeac1df1ffd2e75d07af2e7d47 Mon Sep 17 00:00:00 2001
From: Qi Zhang <qi.z.zhang@intel.com>
Date: Tue, 10 Aug 2021 10:51:39 +0800
Subject: [PATCH] net/ice/base: fix typo in comment

[ upstream commit 34be38f024ee650be2ae445c18985641b63d138f ]

Correct spelling of word data instead of date.

Fixes: 453d087ccaff ("net/ice/base: add common functions")

Signed-off-by: Kevin Scott <kevin.c.scott@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Junfeng Guo <junfeng.guo@intel.com>
---
 drivers/net/ice/base/ice_common.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ice/base/ice_common.c b/drivers/net/ice/base/ice_common.c
index 25e30b937b..2926a1d474 100644
--- a/drivers/net/ice/base/ice_common.c
+++ b/drivers/net/ice/base/ice_common.c
@@ -2650,7 +2650,7 @@ ice_phy_caps_equals_cfg(struct ice_aqc_get_phy_caps_data *phy_caps,
 
 /**
  * ice_copy_phy_caps_to_cfg - Copy PHY ability data to configuration data
- * @caps: PHY ability structure to copy date from
+ * @caps: PHY ability structure to copy data from
  * @cfg: PHY configuration structure to copy data to
  *
  * Helper function to copy AQC PHY get ability data to PHY set configuration
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:06.528958536 +0100
+++ 0006-net-ice-base-fix-typo-in-comment.patch	2021-11-30 16:50:05.510871476 +0100
@@ -1 +1 @@
-From 34be38f024ee650be2ae445c18985641b63d138f Mon Sep 17 00:00:00 2001
+From 0466fd0ddb1d5beeac1df1ffd2e75d07af2e7d47 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 34be38f024ee650be2ae445c18985641b63d138f ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 9c6649b6c5..641859f752 100644
+index 25e30b937b..2926a1d474 100644
@@ -22 +23,2 @@
-@@ -3528,7 +3528,7 @@ ice_phy_caps_equals_cfg(struct ice_aqc_get_phy_caps_data *phy_caps,
+@@ -2650,7 +2650,7 @@ ice_phy_caps_equals_cfg(struct ice_aqc_get_phy_caps_data *phy_caps,
+ 
@@ -25 +26,0 @@
-  * @pi: port information structure

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

* patch 'app/testpmd: fix Tx retry in flowgen engine' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (4 preceding siblings ...)
  2021-11-30 16:33 ` patch 'net/ice/base: fix typo in comment' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'app/testpmd: fix check without outer checksum' " christian.ehrhardt
                   ` (153 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Zhihong Wang; +Cc: Xiaoyun Li, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/92f8daa19fbabbdb847b4317db01f6cda791beb1

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 92f8daa19fbabbdb847b4317db01f6cda791beb1 Mon Sep 17 00:00:00 2001
From: Zhihong Wang <wangzhihong.wzh@bytedance.com>
Date: Fri, 13 Aug 2021 16:05:45 +0800
Subject: [PATCH] app/testpmd: fix Tx retry in flowgen engine

[ upstream commit ea275674a0c65dad334c8ab55ddd1d5a7e243af6 ]

Fix tx_pkt number in tx retry logic.

Fixes: bf56fce1fb45 ("app/testpmd: add retry option")

Signed-off-by: Zhihong Wang <wangzhihong.wzh@bytedance.com>
Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
---
 app/test-pmd/flowgen.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/app/test-pmd/flowgen.c b/app/test-pmd/flowgen.c
index 3e1335b627..ac00f61a92 100644
--- a/app/test-pmd/flowgen.c
+++ b/app/test-pmd/flowgen.c
@@ -186,12 +186,12 @@ pkt_burst_flow_gen(struct fwd_stream *fs)
 	/*
 	 * Retry if necessary
 	 */
-	if (unlikely(nb_tx < nb_rx) && fs->retry_enabled) {
+	if (unlikely(nb_tx < nb_pkt) && fs->retry_enabled) {
 		retry = 0;
-		while (nb_tx < nb_rx && retry++ < burst_tx_retry_num) {
+		while (nb_tx < nb_pkt && retry++ < burst_tx_retry_num) {
 			rte_delay_us(burst_tx_delay_time);
 			nb_tx += rte_eth_tx_burst(fs->tx_port, fs->tx_queue,
-					&pkts_burst[nb_tx], nb_rx - nb_tx);
+					&pkts_burst[nb_tx], nb_pkt - nb_tx);
 		}
 	}
 	fs->tx_packets += nb_tx;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:06.575406750 +0100
+++ 0007-app-testpmd-fix-Tx-retry-in-flowgen-engine.patch	2021-11-30 16:50:05.510871476 +0100
@@ -1 +1 @@
-From ea275674a0c65dad334c8ab55ddd1d5a7e243af6 Mon Sep 17 00:00:00 2001
+From 92f8daa19fbabbdb847b4317db01f6cda791beb1 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit ea275674a0c65dad334c8ab55ddd1d5a7e243af6 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index 3bf6e1ce97..f2e6255c36 100644
+index 3e1335b627..ac00f61a92 100644
@@ -21 +22 @@
-@@ -192,12 +192,12 @@ pkt_burst_flow_gen(struct fwd_stream *fs)
+@@ -186,12 +186,12 @@ pkt_burst_flow_gen(struct fwd_stream *fs)

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

* patch 'app/testpmd: fix check without outer checksum' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (5 preceding siblings ...)
  2021-11-30 16:33 ` patch 'app/testpmd: fix Tx retry in flowgen engine' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'app/testpmd: fix dump of Tx offload flags' " christian.ehrhardt
                   ` (152 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Nithin Dabilpuram; +Cc: Xiaoyun Li, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/82785ded07a1503e692bbdbc7a182a4f19d458ec

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 82785ded07a1503e692bbdbc7a182a4f19d458ec Mon Sep 17 00:00:00 2001
From: Nithin Dabilpuram <ndabilpuram@marvell.com>
Date: Mon, 16 Aug 2021 12:39:41 +0530
Subject: [PATCH] app/testpmd: fix check without outer checksum

[ upstream commit 4219d7670e8535e7d4b43233866a587b015e3f43 ]

Donot use outer metadata when neither outer ip checksum nor
outer udp checksum is enabled. PMD's will ignore the
outer_l2_len and outer_l3_len in cases where none of
the outer checksum is enabled and hence only l2_len and
l3_len will be used to calculate the offsets for L2 or L3
header.

Fixes: 3c32113a1aac ("app/testpmd: fix IPv6 tunnel checksum")

Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
---
 app/test-pmd/csumonly.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c
index 29044c4170..ed18843d09 100644
--- a/app/test-pmd/csumonly.c
+++ b/app/test-pmd/csumonly.c
@@ -927,8 +927,7 @@ tunnel_update:
 			    (tx_offloads &
 			     DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM) ||
 			    (tx_offloads &
-			     DEV_TX_OFFLOAD_OUTER_UDP_CKSUM) ||
-			    (tx_ol_flags & PKT_TX_OUTER_IPV6)) {
+			     DEV_TX_OFFLOAD_OUTER_UDP_CKSUM)) {
 				m->outer_l2_len = info.outer_l2_len;
 				m->outer_l3_len = info.outer_l3_len;
 				m->l2_len = info.l2_len;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:06.629280326 +0100
+++ 0008-app-testpmd-fix-check-without-outer-checksum.patch	2021-11-30 16:50:05.514871505 +0100
@@ -1 +1 @@
-From 4219d7670e8535e7d4b43233866a587b015e3f43 Mon Sep 17 00:00:00 2001
+From 82785ded07a1503e692bbdbc7a182a4f19d458ec Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4219d7670e8535e7d4b43233866a587b015e3f43 ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index 607c889359..38cc256533 100644
+index 29044c4170..ed18843d09 100644
@@ -26 +27 @@
-@@ -961,8 +961,7 @@ tunnel_update:
+@@ -927,8 +927,7 @@ tunnel_update:

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

* patch 'app/testpmd: fix dump of Tx offload flags' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (6 preceding siblings ...)
  2021-11-30 16:33 ` patch 'app/testpmd: fix check without outer checksum' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'eal/ppc: ignore GCC 10 stringop-overflow warnings' " christian.ehrhardt
                   ` (151 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Nithin Dabilpuram; +Cc: Xiaoyun Li, Raslan Darawsheh, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From f534d153299040bd4c82a18670dd98c370cf8660 Mon Sep 17 00:00:00 2001
From: Nithin Dabilpuram <ndabilpuram@marvell.com>
Date: Mon, 16 Aug 2021 12:39:42 +0530
Subject: [PATCH] app/testpmd: fix dump of Tx offload flags

[ upstream commit eeedef704c11bd74c367d62838700bdb8e5b573f ]

Fix verbose mode dump for Tx to dump tx offload flags instead of
Rx offload flags.

Fixes: d862c45b5955 ("app/testpmd: move dumping packets to a separate function")

Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
Acked-by: Raslan Darawsheh <rasland@nvidia.com>
---
 app/test-pmd/util.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/app/test-pmd/util.c b/app/test-pmd/util.c
index 487260d59d..416980cb2d 100644
--- a/app/test-pmd/util.c
+++ b/app/test-pmd/util.c
@@ -191,7 +191,11 @@ dump_pkt_burst(uint16_t port_id, uint16_t queue, struct rte_mbuf *pkts[],
 			  " - %s queue=0x%x", is_rx ? "Receive" : "Send",
 			  (unsigned int) queue);
 		MKDUMPSTR(print_buf, buf_size, cur_len, "\n");
-		rte_get_rx_ol_flag_list(mb->ol_flags, buf, sizeof(buf));
+		if (is_rx)
+			rte_get_rx_ol_flag_list(mb->ol_flags, buf, sizeof(buf));
+		else
+			rte_get_tx_ol_flag_list(mb->ol_flags, buf, sizeof(buf));
+
 		MKDUMPSTR(print_buf, buf_size, cur_len,
 			  "  ol_flags: %s\n", buf);
 		if (rte_mbuf_check(mb, 1, &reason) < 0)
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:06.683854689 +0100
+++ 0009-app-testpmd-fix-dump-of-Tx-offload-flags.patch	2021-11-30 16:50:05.514871505 +0100
@@ -1 +1 @@
-From eeedef704c11bd74c367d62838700bdb8e5b573f Mon Sep 17 00:00:00 2001
+From f534d153299040bd4c82a18670dd98c370cf8660 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit eeedef704c11bd74c367d62838700bdb8e5b573f ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 5dd7157947..14a9a251fb 100644
+index 487260d59d..416980cb2d 100644
@@ -23 +24 @@
-@@ -275,7 +275,11 @@ dump_pkt_burst(uint16_t port_id, uint16_t queue, struct rte_mbuf *pkts[],
+@@ -191,7 +191,11 @@ dump_pkt_burst(uint16_t port_id, uint16_t queue, struct rte_mbuf *pkts[],

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

* patch 'eal/ppc: ignore GCC 10 stringop-overflow warnings' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (7 preceding siblings ...)
  2021-11-30 16:33 ` patch 'app/testpmd: fix dump of Tx offload flags' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'config/ppc: ignore GCC 11 psabi " christian.ehrhardt
                   ` (150 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: David Christensen; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/4990929c60fec6666e4b5891d01f5b555e7a443d

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 4990929c60fec6666e4b5891d01f5b555e7a443d Mon Sep 17 00:00:00 2001
From: David Christensen <drc@linux.vnet.ibm.com>
Date: Thu, 2 Sep 2021 15:15:14 -0700
Subject: [PATCH] eal/ppc: ignore GCC 10 stringop-overflow warnings

[ upstream commit c13e6177394365d4db1595ea038bd9c3de04d32f ]

Suppress gcc warning "warning: writing 16 bytes into a region of
size 0" for users of the POWER rte_memcpy() function.  Existing
rte_memcpy() code takes different code paths based on the actual
size of the move so the warning is already addressed. See also
commit b5b3ea803e47 ("eal/x86: ignore gcc 10 stringop-overflow warnings")

Signed-off-by: David Christensen <drc@linux.vnet.ibm.com>
---
 .../common/include/arch/ppc_64/rte_memcpy.h       | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_memcpy.h b/lib/librte_eal/common/include/arch/ppc_64/rte_memcpy.h
index e63a1211a8..10ed5159af 100644
--- a/lib/librte_eal/common/include/arch/ppc_64/rte_memcpy.h
+++ b/lib/librte_eal/common/include/arch/ppc_64/rte_memcpy.h
@@ -1,6 +1,6 @@
 /*
  * SPDX-License-Identifier: BSD-3-Clause
- * Copyright (C) IBM Corporation 2014.
+ * Copyright (C) IBM Corporation 2014,2021
  */
 
 #ifndef _RTE_MEMCPY_PPC_64_H_
@@ -19,11 +19,16 @@ extern "C" {
 
 #include "generic/rte_memcpy.h"
 
-#if (GCC_VERSION >= 90000 && GCC_VERSION < 90400)
+#if defined(RTE_TOOLCHAIN_GCC) && (GCC_VERSION >= 90000)
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Warray-bounds"
 #endif
 
+#if defined(RTE_TOOLCHAIN_GCC) && (GCC_VERSION >= 100000)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wstringop-overflow"
+#endif
+
 static inline void
 rte_mov16(uint8_t *dst, const uint8_t *src)
 {
@@ -199,7 +204,11 @@ rte_memcpy_func(void *dst, const void *src, size_t n)
 	return ret;
 }
 
-#if (GCC_VERSION >= 90000 && GCC_VERSION < 90400)
+#if defined(RTE_TOOLCHAIN_GCC) && (GCC_VERSION >= 100000)
+#pragma GCC diagnostic pop
+#endif
+
+#if defined(RTE_TOOLCHAIN_GCC) && (GCC_VERSION >= 90000)
 #pragma GCC diagnostic pop
 #endif
 
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:06.735658011 +0100
+++ 0010-eal-ppc-ignore-GCC-10-stringop-overflow-warnings.patch	2021-11-30 16:50:05.514871505 +0100
@@ -1 +1 @@
-From c13e6177394365d4db1595ea038bd9c3de04d32f Mon Sep 17 00:00:00 2001
+From 4990929c60fec6666e4b5891d01f5b555e7a443d Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c13e6177394365d4db1595ea038bd9c3de04d32f ]
+
@@ -12,2 +13,0 @@
-Cc: stable@dpdk.org
-
@@ -16 +16 @@
- lib/eal/ppc/include/rte_memcpy.h | 15 ++++++++++++---
+ .../common/include/arch/ppc_64/rte_memcpy.h       | 15 ++++++++++++---
@@ -19,4 +19,4 @@
-diff --git a/lib/eal/ppc/include/rte_memcpy.h b/lib/eal/ppc/include/rte_memcpy.h
-index c2a1f356d5..6f388c0234 100644
---- a/lib/eal/ppc/include/rte_memcpy.h
-+++ b/lib/eal/ppc/include/rte_memcpy.h
+diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_memcpy.h b/lib/librte_eal/common/include/arch/ppc_64/rte_memcpy.h
+index e63a1211a8..10ed5159af 100644
+--- a/lib/librte_eal/common/include/arch/ppc_64/rte_memcpy.h
++++ b/lib/librte_eal/common/include/arch/ppc_64/rte_memcpy.h
@@ -31 +31 @@
-@@ -18,11 +18,16 @@ extern "C" {
+@@ -19,11 +19,16 @@ extern "C" {
@@ -49 +49 @@
-@@ -198,7 +203,11 @@ rte_memcpy_func(void *dst, const void *src, size_t n)
+@@ -199,7 +204,11 @@ rte_memcpy_func(void *dst, const void *src, size_t n)

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

* patch 'config/ppc: ignore GCC 11 psabi warnings' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (8 preceding siblings ...)
  2021-11-30 16:33 ` patch 'eal/ppc: ignore GCC 10 stringop-overflow warnings' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'crypto/openssl: fix CCM processing 0 length source' " christian.ehrhardt
                   ` (149 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: David Christensen; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 55f892fa8e30338df6a79c8c013b07aa952a99e5 Mon Sep 17 00:00:00 2001
From: David Christensen <drc@linux.vnet.ibm.com>
Date: Thu, 2 Sep 2021 16:53:26 -0700
Subject: [PATCH] config/ppc: ignore GCC 11 psabi warnings

[ upstream commit 394407f50c90ca3ce4b882aefb9e26eae4ba6bca ]

Suppress the gcc warning "note: the layout of aggregates containing
vectors with 4-byte alignment has changed in GCC 5" on POWER systems
by setting "-Wno-psabi".  Warning was originally added to gcc in
commit https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=9832651 to warn
of the vector alignment changes introduced in GCC 5.  Older gcc
versions forced vector alignment to 16 bytes due to requirements for
POWER 6 and earlier CPUs, but these restrictions don't apply to CPUs
supported by DPDK.

Bugzilla ID: 739

Signed-off-by: David Christensen <drc@linux.vnet.ibm.com>
---
 config/ppc_64/meson.build | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/config/ppc_64/meson.build b/config/ppc_64/meson.build
index 54a94d6a29..303b249570 100644
--- a/config/ppc_64/meson.build
+++ b/config/ppc_64/meson.build
@@ -1,5 +1,6 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
+# Copyright(c) 2021 IBM Corporation
 
 if not dpdk_conf.get('RTE_ARCH_64')
 	error('Only 64-bit compiles are supported for this platform type')
@@ -17,6 +18,13 @@ if not power9_supported
 	dpdk_conf.set('RTE_MACHINE','power8')
 endif
 
+# Suppress the gcc warning "note: the layout of aggregates containing
+# vectors with 4-byte alignment has changed in GCC 5".
+if cc.get_id() == 'gcc' and cc.version().version_compare('>=10.0') and
+        cc.version().version_compare('<12.0') and cc.has_argument('-Wno-psabi')
+    add_project_arguments('-Wno-psabi', language: 'c')
+endif
+
 # Certain POWER9 systems can scale as high as 1536 LCORES, but setting such a
 # high value can waste memory, cause timeouts in time limited autotests, and is
 # unlikely to be used in many production situations.  Similarly, keeping the
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:06.785492515 +0100
+++ 0011-config-ppc-ignore-GCC-11-psabi-warnings.patch	2021-11-30 16:50:05.514871505 +0100
@@ -1 +1 @@
-From 394407f50c90ca3ce4b882aefb9e26eae4ba6bca Mon Sep 17 00:00:00 2001
+From 55f892fa8e30338df6a79c8c013b07aa952a99e5 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 394407f50c90ca3ce4b882aefb9e26eae4ba6bca ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
- config/ppc/meson.build | 8 ++++++++
+ config/ppc_64/meson.build | 8 ++++++++
@@ -23,4 +24,4 @@
-diff --git a/config/ppc/meson.build b/config/ppc/meson.build
-index adf49e1f42..0b1948fc7c 100644
---- a/config/ppc/meson.build
-+++ b/config/ppc/meson.build
+diff --git a/config/ppc_64/meson.build b/config/ppc_64/meson.build
+index 54a94d6a29..303b249570 100644
+--- a/config/ppc_64/meson.build
++++ b/config/ppc_64/meson.build
@@ -33 +34 @@
-     error('Only 64-bit compiles are supported for this platform type')
+ 	error('Only 64-bit compiles are supported for this platform type')
@@ -35 +36 @@
-     dpdk_conf.set('RTE_MACHINE','power8')
+ 	dpdk_conf.set('RTE_MACHINE','power8')

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

* patch 'crypto/openssl: fix CCM processing 0 length source' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (9 preceding siblings ...)
  2021-11-30 16:33 ` patch 'config/ppc: ignore GCC 11 psabi " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'common/dpaax/caamflib: fix IV for short MAC-I in SNOW3G' " christian.ehrhardt
                   ` (148 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Ciara Power; +Cc: Fan Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From b7bcb4e6a9e3004cdf882989c0d52b4244088205 Mon Sep 17 00:00:00 2001
From: Ciara Power <ciara.power@intel.com>
Date: Mon, 23 Aug 2021 12:47:14 +0000
Subject: [PATCH] crypto/openssl: fix CCM processing 0 length source

[ upstream commit 589f5e033d0d8489e0d4bf2f54332febf483f764 ]

When given a source length 0 for CCM, the encryption and decryption
functions did not call the EVP_ENCRYPTUPDATE/EVP_DECRYPTUPDATE functions
with a src and dst, causing some FIPS validation failures for testcases
with PLen=0:

process_openssl_auth_encryption_ccm() line 1131:
Process openssl auth encryption ccm failed

Fixes: 1a4998dc4d94 ("crypto/openssl: support AES-CCM")

Signed-off-by: Ciara Power <ciara.power@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
---
 drivers/crypto/openssl/rte_openssl_pmd.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/crypto/openssl/rte_openssl_pmd.c b/drivers/crypto/openssl/rte_openssl_pmd.c
index c294f60b7d..3e0afd71a1 100644
--- a/drivers/crypto/openssl/rte_openssl_pmd.c
+++ b/drivers/crypto/openssl/rte_openssl_pmd.c
@@ -1115,7 +1115,7 @@ process_openssl_auth_encryption_ccm(struct rte_mbuf *mbuf_src, int offset,
 		if (EVP_EncryptUpdate(ctx, NULL, &len, aad + 18, aadlen) <= 0)
 			goto process_auth_encryption_ccm_err;
 
-	if (srclen > 0)
+	if (srclen >= 0)
 		if (process_openssl_encryption_update(mbuf_src, offset, &dst,
 				srclen, ctx, 0))
 			goto process_auth_encryption_ccm_err;
@@ -1198,7 +1198,7 @@ process_openssl_auth_decryption_ccm(struct rte_mbuf *mbuf_src, int offset,
 		if (EVP_DecryptUpdate(ctx, NULL, &len, aad + 18, aadlen) <= 0)
 			goto process_auth_decryption_ccm_err;
 
-	if (srclen > 0)
+	if (srclen >= 0)
 		if (process_openssl_decryption_update(mbuf_src, offset, &dst,
 				srclen, ctx, 0))
 			return -EFAULT;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:06.834443970 +0100
+++ 0012-crypto-openssl-fix-CCM-processing-0-length-source.patch	2021-11-30 16:50:05.518871534 +0100
@@ -1 +1 @@
-From 589f5e033d0d8489e0d4bf2f54332febf483f764 Mon Sep 17 00:00:00 2001
+From b7bcb4e6a9e3004cdf882989c0d52b4244088205 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 589f5e033d0d8489e0d4bf2f54332febf483f764 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index 47004337d5..37b969b916 100644
+index c294f60b7d..3e0afd71a1 100644
@@ -27 +28 @@
-@@ -1114,7 +1114,7 @@ process_openssl_auth_encryption_ccm(struct rte_mbuf *mbuf_src, int offset,
+@@ -1115,7 +1115,7 @@ process_openssl_auth_encryption_ccm(struct rte_mbuf *mbuf_src, int offset,
@@ -36 +37 @@
-@@ -1197,7 +1197,7 @@ process_openssl_auth_decryption_ccm(struct rte_mbuf *mbuf_src, int offset,
+@@ -1198,7 +1198,7 @@ process_openssl_auth_decryption_ccm(struct rte_mbuf *mbuf_src, int offset,

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

* patch 'common/dpaax/caamflib: fix IV for short MAC-I in SNOW3G' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (10 preceding siblings ...)
  2021-11-30 16:33 ` patch 'crypto/openssl: fix CCM processing 0 length source' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'net/nfp: fix minimum descriptor sizes' " christian.ehrhardt
                   ` (147 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Gagandeep Singh; +Cc: Akhil Goyal, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From abd1775ebd4ce7ac7e38839b0855020a45eb5ecf Mon Sep 17 00:00:00 2001
From: Gagandeep Singh <g.singh@nxp.com>
Date: Wed, 8 Sep 2021 12:29:51 +0530
Subject: [PATCH] common/dpaax/caamflib: fix IV for short MAC-I in SNOW3G

[ upstream commit c0182d6b752e3fe320f8f8e3db6256cd21234d9a ]

The logic was incorrectly doing conditional swap. It need to
be bit swap always.

Fixes: 73a24060cd70 ("crypto/dpaa2_sec: add sample PDCP descriptor APIs")

Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
Acked-by: Akhil Goyal <gakhil@marvell.com>
---
 drivers/common/dpaax/caamflib/desc/pdcp.h | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/common/dpaax/caamflib/desc/pdcp.h b/drivers/common/dpaax/caamflib/desc/pdcp.h
index 476115323c..bf82bd53c8 100644
--- a/drivers/common/dpaax/caamflib/desc/pdcp.h
+++ b/drivers/common/dpaax/caamflib/desc/pdcp.h
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: BSD-3-Clause or GPL-2.0+
  * Copyright 2008-2013 Freescale Semiconductor, Inc.
- * Copyright 2019-2020 NXP
+ * Copyright 2019-2021 NXP
  */
 
 #ifndef __DESC_PDCP_H__
@@ -3691,9 +3691,10 @@ cnstr_shdsc_pdcp_short_mac(uint32_t *descbuf,
 		break;
 
 	case PDCP_AUTH_TYPE_SNOW:
+		/* IV calculation based on 3GPP specs. 36331, section:5.3.7.4 */
 		iv[0] = 0xFFFFFFFF;
-		iv[1] = swap ? swab32(0x04000000) : 0x04000000;
-		iv[2] = swap ? swab32(0xF8000000) : 0xF8000000;
+		iv[1] = swab32(0x04000000);
+		iv[2] = swab32(0xF8000000);
 
 		KEY(p, KEY2, authdata->key_enc_flags, authdata->key,
 		    authdata->keylen, INLINE_KEY(authdata));
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:06.908497498 +0100
+++ 0013-common-dpaax-caamflib-fix-IV-for-short-MAC-I-in-SNOW.patch	2021-11-30 16:50:05.526871592 +0100
@@ -1 +1 @@
-From c0182d6b752e3fe320f8f8e3db6256cd21234d9a Mon Sep 17 00:00:00 2001
+From abd1775ebd4ce7ac7e38839b0855020a45eb5ecf Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c0182d6b752e3fe320f8f8e3db6256cd21234d9a ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 5b3d846099..8e8daf5ba8 100644
+index 476115323c..bf82bd53c8 100644
@@ -30 +31 @@
-@@ -3715,9 +3715,10 @@ cnstr_shdsc_pdcp_short_mac(uint32_t *descbuf,
+@@ -3691,9 +3691,10 @@ cnstr_shdsc_pdcp_short_mac(uint32_t *descbuf,

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

* patch 'net/nfp: fix minimum descriptor sizes' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (11 preceding siblings ...)
  2021-11-30 16:33 ` patch 'common/dpaax/caamflib: fix IV for short MAC-I in SNOW3G' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'net/iavf: fix overflow in maximum packet length config' " christian.ehrhardt
                   ` (146 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Heinrich Kuhn; +Cc: Simon Horman, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/568ce330c2a25114333fe8c9ca3549517dd867d1

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 568ce330c2a25114333fe8c9ca3549517dd867d1 Mon Sep 17 00:00:00 2001
From: Heinrich Kuhn <heinrich.kuhn@corigine.com>
Date: Mon, 23 Aug 2021 09:59:21 +0200
Subject: [PATCH] net/nfp: fix minimum descriptor sizes

[ upstream commit 96289f2b80e5921a3da54650f382b6944d9b39df ]

The NFP4000/6000 supports a minimum of 256 Tx/Rx descriptors and not 64.
Before this patch when a DPDK application configured < 256 Tx
descriptors the hardware read/write pointers would be unmasked and not
wrapped at the expected size of the ring. The PMD logic to determine the
amount of free space in the Tx ring is incompatible with the unmasked
hwqueue pointers and this will result in the PMD not updating the
read pointer at all.The knock-on effect is that under high load the
PMD will potentially re-use a Tx descriptor before the hw has had a
chance to process that particular descriptor. This issue can manifest as
a DMA error when the hardware tries to perform a DMA with info from a
partially populated descriptor.

Fixes: defb9a5dd156 ("nfp: introduce driver initialization")

Signed-off-by: Heinrich Kuhn <heinrich.kuhn@corigine.com>
Signed-off-by: Simon Horman <simon.horman@corigine.com>
---
 drivers/net/nfp/nfp_net_pmd.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/nfp/nfp_net_pmd.h b/drivers/net/nfp/nfp_net_pmd.h
index 466a11aca2..42ab369cff 100644
--- a/drivers/net/nfp/nfp_net_pmd.h
+++ b/drivers/net/nfp/nfp_net_pmd.h
@@ -28,10 +28,10 @@ struct nfp_net_adapter;
  * DPDK uses uint16_t variables for these values
  */
 #define NFP_NET_MAX_TX_DESC (32 * 1024)
-#define NFP_NET_MIN_TX_DESC 64
+#define NFP_NET_MIN_TX_DESC 256
 
 #define NFP_NET_MAX_RX_DESC (32 * 1024)
-#define NFP_NET_MIN_RX_DESC 64
+#define NFP_NET_MIN_RX_DESC 256
 
 /* Descriptor alignment */
 #define NFP_ALIGN_RING_DESC 128
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:06.966339360 +0100
+++ 0014-net-nfp-fix-minimum-descriptor-sizes.patch	2021-11-30 16:50:05.530871622 +0100
@@ -1 +1 @@
-From 96289f2b80e5921a3da54650f382b6944d9b39df Mon Sep 17 00:00:00 2001
+From 568ce330c2a25114333fe8c9ca3549517dd867d1 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 96289f2b80e5921a3da54650f382b6944d9b39df ]
+
@@ -19 +20,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
- drivers/net/nfp/nfp_rxtx.h | 4 ++--
+ drivers/net/nfp/nfp_net_pmd.h | 4 ++--
@@ -27,5 +28,5 @@
-diff --git a/drivers/net/nfp/nfp_rxtx.h b/drivers/net/nfp/nfp_rxtx.h
-index d2d0f3f175..b0a8bf81b0 100644
---- a/drivers/net/nfp/nfp_rxtx.h
-+++ b/drivers/net/nfp/nfp_rxtx.h
-@@ -30,10 +30,10 @@
+diff --git a/drivers/net/nfp/nfp_net_pmd.h b/drivers/net/nfp/nfp_net_pmd.h
+index 466a11aca2..42ab369cff 100644
+--- a/drivers/net/nfp/nfp_net_pmd.h
++++ b/drivers/net/nfp/nfp_net_pmd.h
+@@ -28,10 +28,10 @@ struct nfp_net_adapter;

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

* patch 'net/iavf: fix overflow in maximum packet length config' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (12 preceding siblings ...)
  2021-11-30 16:33 ` patch 'net/nfp: fix minimum descriptor sizes' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'net/ixgbe: fix Rx multicast statistics after reset' " christian.ehrhardt
                   ` (145 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Tudor Cornea; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/01b2a53e25b9eb73cc86492681c232f81dcedd49

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 01b2a53e25b9eb73cc86492681c232f81dcedd49 Mon Sep 17 00:00:00 2001
From: Tudor Cornea <tudor.cornea@gmail.com>
Date: Thu, 5 Aug 2021 14:35:23 +0300
Subject: [PATCH] net/iavf: fix overflow in maximum packet length config

[ upstream commit 7fe741821337f3cbeecac768b8ef3a16bf21c938 ]

The len variable, used in the computation of max_pkt_len could
overflow, if used to store the result of the following computation:

rxq->rx_buf_len * IAVF_MAX_CHAINED_RX_BUFFERS

Since, we could define the mbuf size to have a large value (i.e 13312),
and IAVF_MAX_CHAINED_RX_BUFFERS is defined as 5, the computation
mentioned above could potentially result in a value which might be
bigger than MAX_USHORT.

The result will be that Jumbo Frames will not work properly

Fixes: 69dd4c3d0898 ("net/avf: enable queue and device")

Signed-off-by: Tudor Cornea <tudor.cornea@gmail.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/iavf_ethdev.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
index 7d4b6b915c..583a8be760 100644
--- a/drivers/net/iavf/iavf_ethdev.c
+++ b/drivers/net/iavf/iavf_ethdev.c
@@ -263,13 +263,14 @@ iavf_init_rxq(struct rte_eth_dev *dev, struct iavf_rx_queue *rxq)
 {
 	struct iavf_hw *hw = IAVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 	struct rte_eth_dev_data *dev_data = dev->data;
-	uint16_t buf_size, max_pkt_len, len;
+	uint16_t buf_size, max_pkt_len;
 
 	buf_size = rte_pktmbuf_data_room_size(rxq->mp) - RTE_PKTMBUF_HEADROOM;
 
 	/* Calculate the maximum packet length allowed */
-	len = rxq->rx_buf_len * IAVF_MAX_CHAINED_RX_BUFFERS;
-	max_pkt_len = RTE_MIN(len, dev->data->dev_conf.rxmode.max_rx_pkt_len);
+	max_pkt_len = RTE_MIN((uint32_t)
+			rxq->rx_buf_len * IAVF_MAX_CHAINED_RX_BUFFERS,
+			dev->data->dev_conf.rxmode.max_rx_pkt_len);
 
 	/* Check if the jumbo frame and maximum packet length are set
 	 * correctly.
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:07.017293357 +0100
+++ 0015-net-iavf-fix-overflow-in-maximum-packet-length-confi.patch	2021-11-30 16:50:05.530871622 +0100
@@ -1 +1 @@
-From 7fe741821337f3cbeecac768b8ef3a16bf21c938 Mon Sep 17 00:00:00 2001
+From 01b2a53e25b9eb73cc86492681c232f81dcedd49 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 7fe741821337f3cbeecac768b8ef3a16bf21c938 ]
+
@@ -19 +20,0 @@
-Cc: stable@dpdk.org
@@ -28 +29 @@
-index 574cfe055e..dc5cbc22f5 100644
+index 7d4b6b915c..583a8be760 100644
@@ -31 +32 @@
-@@ -574,13 +574,14 @@ iavf_init_rxq(struct rte_eth_dev *dev, struct iavf_rx_queue *rxq)
+@@ -263,13 +263,14 @@ iavf_init_rxq(struct rte_eth_dev *dev, struct iavf_rx_queue *rxq)

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

* patch 'net/ixgbe: fix Rx multicast statistics after reset' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (13 preceding siblings ...)
  2021-11-30 16:33 ` patch 'net/iavf: fix overflow in maximum packet length config' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'net/bnxt: fix ring group free' " christian.ehrhardt
                   ` (144 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Qiming Chen; +Cc: Haiyue Wang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/80d02f329d70b2b9be3fcaa8200d0e2b88f12ab1

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 80d02f329d70b2b9be3fcaa8200d0e2b88f12ab1 Mon Sep 17 00:00:00 2001
From: Qiming Chen <chenqiming_huawei@163.com>
Date: Mon, 30 Aug 2021 11:31:57 +0800
Subject: [PATCH] net/ixgbe: fix Rx multicast statistics after reset

[ upstream commit 8908691632a51a81d6ce27d3d12a8781842a7518 ]

In the implementation of the VF driver ixgbevf_update_stats to obtain
statistics, the multicast count hw_stats->vfmprc has been obtained,
but it is not cleared in the corresponding ixgbevf_dev_stats_reset
interface.

Fixes: abf7275bbaa2 ("ixgbe: move to drivers/net/")

Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>
Acked-by: Haiyue Wang <haiyue.wang@intel.com>
---
 drivers/net/ixgbe/ixgbe_ethdev.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index d47b5999fc..8ec0c76351 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -3837,6 +3837,7 @@ ixgbevf_dev_stats_reset(struct rte_eth_dev *dev)
 	hw_stats->vfgorc = 0;
 	hw_stats->vfgptc = 0;
 	hw_stats->vfgotc = 0;
+	hw_stats->vfmprc = 0;
 
 	return 0;
 }
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:07.065303769 +0100
+++ 0016-net-ixgbe-fix-Rx-multicast-statistics-after-reset.patch	2021-11-30 16:50:05.542871710 +0100
@@ -1 +1 @@
-From 8908691632a51a81d6ce27d3d12a8781842a7518 Mon Sep 17 00:00:00 2001
+From 80d02f329d70b2b9be3fcaa8200d0e2b88f12ab1 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 8908691632a51a81d6ce27d3d12a8781842a7518 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index b5371568b5..ccb01ed344 100644
+index d47b5999fc..8ec0c76351 100644
@@ -24 +25 @@
-@@ -3798,6 +3798,7 @@ ixgbevf_dev_stats_reset(struct rte_eth_dev *dev)
+@@ -3837,6 +3837,7 @@ ixgbevf_dev_stats_reset(struct rte_eth_dev *dev)

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

* patch 'net/bnxt: fix ring group free' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (14 preceding siblings ...)
  2021-11-30 16:33 ` patch 'net/ixgbe: fix Rx multicast statistics after reset' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'net/bnxt: fix double allocation of ring groups' " christian.ehrhardt
                   ` (143 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Kalesh AP; +Cc: Ajit Khaparde, Lance Richardson, Somnath Kotur, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/843921a929394883928e5cf4cbbc702100ad6842

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 843921a929394883928e5cf4cbbc702100ad6842 Mon Sep 17 00:00:00 2001
From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Date: Mon, 30 Aug 2021 09:28:11 +0530
Subject: [PATCH] net/bnxt: fix ring group free

[ upstream commit 8269a4e8af5fa7632578fc1f4fa7d44711440e4f ]

Added an invalid fw_grp_id check inside bnxt_hwrm_ring_grp_free().
This will prevent invalid fw_grp_id to be passed to the FW which can
result in an error.
This fixes the following failure in the "port stop" -> "port start"
sequence:

bnxt_hwrm_ring_grp_free(): error 2:0:00000000:0204
bnxt_hwrm_ring_grp_free(): error 2:0:00000000:0204

Fixes: 9b63c6fd70e3 ("net/bnxt: support Rx/Tx queue start/stop")

Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
---
 drivers/net/bnxt/bnxt_hwrm.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index c61e9789b7..9904d5117f 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -1586,6 +1586,9 @@ int bnxt_hwrm_ring_grp_free(struct bnxt *bp, unsigned int idx)
 	struct hwrm_ring_grp_free_input req = {.req_type = 0 };
 	struct hwrm_ring_grp_free_output *resp = bp->hwrm_cmd_resp_addr;
 
+	if (bp->grp_info[idx].fw_grp_id == INVALID_HW_RING_ID)
+		return 0;
+
 	HWRM_PREP(req, RING_GRP_FREE, BNXT_USE_CHIMP_MB);
 
 	req.ring_group_id = rte_cpu_to_le_16(bp->grp_info[idx].fw_grp_id);
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:07.125646774 +0100
+++ 0017-net-bnxt-fix-ring-group-free.patch	2021-11-30 16:50:05.550871769 +0100
@@ -1 +1 @@
-From 8269a4e8af5fa7632578fc1f4fa7d44711440e4f Mon Sep 17 00:00:00 2001
+From 843921a929394883928e5cf4cbbc702100ad6842 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 8269a4e8af5fa7632578fc1f4fa7d44711440e4f ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -27 +28 @@
-index 02613bd00b..0e0e266589 100644
+index c61e9789b7..9904d5117f 100644
@@ -30 +31 @@
-@@ -1897,6 +1897,9 @@ int bnxt_hwrm_ring_grp_free(struct bnxt *bp, unsigned int idx)
+@@ -1586,6 +1586,9 @@ int bnxt_hwrm_ring_grp_free(struct bnxt *bp, unsigned int idx)
@@ -37 +38 @@
- 	HWRM_PREP(&req, HWRM_RING_GRP_FREE, BNXT_USE_CHIMP_MB);
+ 	HWRM_PREP(req, RING_GRP_FREE, BNXT_USE_CHIMP_MB);

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

* patch 'net/bnxt: fix double allocation of ring groups' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (15 preceding siblings ...)
  2021-11-30 16:33 ` patch 'net/bnxt: fix ring group free' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'net/axgbe: fix unreleased lock in I2C transfer' " christian.ehrhardt
                   ` (142 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Kalesh AP; +Cc: Ajit Khaparde, Lance Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/06ccbd73937af4bf0e48e5f5eb463a407198237f

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 06ccbd73937af4bf0e48e5f5eb463a407198237f Mon Sep 17 00:00:00 2001
From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Date: Wed, 1 Sep 2021 09:30:01 +0530
Subject: [PATCH] net/bnxt: fix double allocation of ring groups

[ upstream commit 36a97cd23fc916ac475a0b827074b5645fff0cfe ]

After commit "d68249f88266", driver allocates ring groups in
bnxt_alloc_hwrm_rx_ring(). But during port start, driver invokes
bnxt_alloc_hwrm_rx_ring() followed by bnxt_alloc_all_hwrm_ring_grps().
This will cause the FW command failure in bnxt_alloc_all_hwrm_ring_grps()

To fix this, just don't create the ring group if it is already created.

Fixes: 9b63c6fd70e3 ("net/bnxt: support Rx/Tx queue start/stop")

Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Lance Richardson <lance.richardson@broadcom.com>
---
 drivers/net/bnxt/bnxt_hwrm.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index 9904d5117f..6e7e3117b9 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -1562,6 +1562,10 @@ int bnxt_hwrm_ring_grp_alloc(struct bnxt *bp, unsigned int idx)
 	struct hwrm_ring_grp_alloc_input req = {.req_type = 0 };
 	struct hwrm_ring_grp_alloc_output *resp = bp->hwrm_cmd_resp_addr;
 
+	/* Don't attempt to re-create the ring group if it is already created */
+	if (bp->grp_info[idx].fw_grp_id != INVALID_HW_RING_ID)
+		return 0;
+
 	HWRM_PREP(req, RING_GRP_ALLOC, BNXT_USE_CHIMP_MB);
 
 	req.cr = rte_cpu_to_le_16(bp->grp_info[idx].cp_fw_ring_id);
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:07.180145338 +0100
+++ 0018-net-bnxt-fix-double-allocation-of-ring-groups.patch	2021-11-30 16:50:05.554871798 +0100
@@ -1 +1 @@
-From 36a97cd23fc916ac475a0b827074b5645fff0cfe Mon Sep 17 00:00:00 2001
+From 06ccbd73937af4bf0e48e5f5eb463a407198237f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 36a97cd23fc916ac475a0b827074b5645fff0cfe ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index 0e0e266589..585cdeded8 100644
+index 9904d5117f..6e7e3117b9 100644
@@ -27 +28 @@
-@@ -1873,6 +1873,10 @@ int bnxt_hwrm_ring_grp_alloc(struct bnxt *bp, unsigned int idx)
+@@ -1562,6 +1562,10 @@ int bnxt_hwrm_ring_grp_alloc(struct bnxt *bp, unsigned int idx)
@@ -35 +36 @@
- 	HWRM_PREP(&req, HWRM_RING_GRP_ALLOC, BNXT_USE_CHIMP_MB);
+ 	HWRM_PREP(req, RING_GRP_ALLOC, BNXT_USE_CHIMP_MB);

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

* patch 'net/axgbe: fix unreleased lock in I2C transfer' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (16 preceding siblings ...)
  2021-11-30 16:33 ` patch 'net/bnxt: fix double allocation of ring groups' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'net/pcap: fix resource leakage on port probe' " christian.ehrhardt
                   ` (141 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Chengfeng Ye; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/306226d765c0cba6f065f49761bcf9f0d37e4fc8

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 306226d765c0cba6f065f49761bcf9f0d37e4fc8 Mon Sep 17 00:00:00 2001
From: Chengfeng Ye <cyeaa@connect.ust.hk>
Date: Thu, 26 Aug 2021 11:55:59 -0700
Subject: [PATCH] net/axgbe: fix unreleased lock in I2C transfer

[ upstream commit 30b4d95a29b1bf7e868d799952aa1fa1348d5e25 ]

The lock pdata->i2c_mutex is not released if the function return in
these two patched branches, which may lead to deadlock problem if
this lock is acquired again.

Bugzilla ID: 777
Fixes: 4ac7516b8b39 ("net/axgbe: add phy init and related APIs")

Signed-off-by: Chengfeng Ye <cyeaa@connect.ust.hk>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/axgbe/axgbe_i2c.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/axgbe/axgbe_i2c.c b/drivers/net/axgbe/axgbe_i2c.c
index 204ec36798..1b6094d6f0 100644
--- a/drivers/net/axgbe/axgbe_i2c.c
+++ b/drivers/net/axgbe/axgbe_i2c.c
@@ -227,6 +227,7 @@ static int axgbe_i2c_xfer(struct axgbe_port *pdata, struct axgbe_i2c_op *op)
 	ret = axgbe_i2c_disable(pdata);
 	if (ret) {
 		PMD_DRV_LOG(ERR, "failed to disable i2c master\n");
+		pthread_mutex_unlock(&pdata->i2c_mutex);
 		return ret;
 	}
 
@@ -243,6 +244,7 @@ static int axgbe_i2c_xfer(struct axgbe_port *pdata, struct axgbe_i2c_op *op)
 	ret = axgbe_i2c_enable(pdata);
 	if (ret) {
 		PMD_DRV_LOG(ERR, "failed to enable i2c master\n");
+		pthread_mutex_unlock(&pdata->i2c_mutex);
 		return ret;
 	}
 
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:07.238735447 +0100
+++ 0019-net-axgbe-fix-unreleased-lock-in-I2C-transfer.patch	2021-11-30 16:50:05.558871827 +0100
@@ -1 +1 @@
-From 30b4d95a29b1bf7e868d799952aa1fa1348d5e25 Mon Sep 17 00:00:00 2001
+From 306226d765c0cba6f065f49761bcf9f0d37e4fc8 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 30b4d95a29b1bf7e868d799952aa1fa1348d5e25 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index ab3738a12e..a2798f484e 100644
+index 204ec36798..1b6094d6f0 100644
@@ -24 +25 @@
-@@ -233,6 +233,7 @@ static int axgbe_i2c_xfer(struct axgbe_port *pdata, struct axgbe_i2c_op *op)
+@@ -227,6 +227,7 @@ static int axgbe_i2c_xfer(struct axgbe_port *pdata, struct axgbe_i2c_op *op)
@@ -32 +33 @@
-@@ -249,6 +250,7 @@ static int axgbe_i2c_xfer(struct axgbe_port *pdata, struct axgbe_i2c_op *op)
+@@ -243,6 +244,7 @@ static int axgbe_i2c_xfer(struct axgbe_port *pdata, struct axgbe_i2c_op *op)

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

* patch 'net/pcap: fix resource leakage on port probe' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (17 preceding siblings ...)
  2021-11-30 16:33 ` patch 'net/axgbe: fix unreleased lock in I2C transfer' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'net/ixgbe: fix hash handle leak' " christian.ehrhardt
                   ` (140 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Qiming Chen; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From a9c743e39971b254f27745fbff6892e43e355eee Mon Sep 17 00:00:00 2001
From: Qiming Chen <chenqiming_huawei@163.com>
Date: Mon, 30 Aug 2021 11:01:08 +0800
Subject: [PATCH] net/pcap: fix resource leakage on port probe

[ upstream commit da0280b3a34c6f67f7e558fcc86c3110816fea28 ]

When the port is probed, if the eth_from_pcaps function fails, the
previously opened pcap resources are not released, causing resource
leakage.

The patch solves the problem of resource leakage caused by abnormal
branch exit during the port probe process.

Fixes: 4c173302c307 ("pcap: add new driver")

Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/pcap/rte_eth_pcap.c | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net/pcap/rte_eth_pcap.c
index 9ac0a11ffb..619868c510 100644
--- a/drivers/net/pcap/rte_eth_pcap.c
+++ b/drivers/net/pcap/rte_eth_pcap.c
@@ -1336,6 +1336,33 @@ eth_from_pcaps(struct rte_vdev_device *vdev,
 	return 0;
 }
 
+static void
+eth_release_pcaps(struct pmd_devargs *pcaps,
+		struct pmd_devargs *dumpers,
+		int single_iface)
+{
+	unsigned int i;
+
+	if (single_iface) {
+		if (pcaps->queue[0].pcap)
+			pcap_close(pcaps->queue[0].pcap);
+		return;
+	}
+
+	for (i = 0; i < dumpers->num_of_queue; i++) {
+		if (dumpers->queue[i].dumper)
+			pcap_dump_close(dumpers->queue[i].dumper);
+
+		if (dumpers->queue[i].pcap)
+			pcap_close(dumpers->queue[i].pcap);
+	}
+
+	for (i = 0; i < pcaps->num_of_queue; i++) {
+		if (pcaps->queue[i].pcap)
+			pcap_close(pcaps->queue[i].pcap);
+	}
+}
+
 static int
 pmd_pcap_probe(struct rte_vdev_device *dev)
 {
@@ -1549,6 +1576,9 @@ create_eth:
 free_kvlist:
 	rte_kvargs_free(kvlist);
 
+	if (ret < 0)
+		eth_release_pcaps(&pcaps, &dumpers, devargs_all.single_iface);
+
 	return ret;
 }
 
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:07.285103065 +0100
+++ 0020-net-pcap-fix-resource-leakage-on-port-probe.patch	2021-11-30 16:50:05.558871827 +0100
@@ -1 +1 @@
-From da0280b3a34c6f67f7e558fcc86c3110816fea28 Mon Sep 17 00:00:00 2001
+From a9c743e39971b254f27745fbff6892e43e355eee Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit da0280b3a34c6f67f7e558fcc86c3110816fea28 ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
- drivers/net/pcap/pcap_ethdev.c | 30 ++++++++++++++++++++++++++++++
+ drivers/net/pcap/rte_eth_pcap.c | 30 ++++++++++++++++++++++++++++++
@@ -22,5 +23,5 @@
-diff --git a/drivers/net/pcap/pcap_ethdev.c b/drivers/net/pcap/pcap_ethdev.c
-index a8774b7a43..5c4cdbf873 100644
---- a/drivers/net/pcap/pcap_ethdev.c
-+++ b/drivers/net/pcap/pcap_ethdev.c
-@@ -1362,6 +1362,33 @@ eth_from_pcaps(struct rte_vdev_device *vdev,
+diff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net/pcap/rte_eth_pcap.c
+index 9ac0a11ffb..619868c510 100644
+--- a/drivers/net/pcap/rte_eth_pcap.c
++++ b/drivers/net/pcap/rte_eth_pcap.c
+@@ -1336,6 +1336,33 @@ eth_from_pcaps(struct rte_vdev_device *vdev,
@@ -60 +61 @@
-@@ -1582,6 +1609,9 @@ create_eth:
+@@ -1549,6 +1576,9 @@ create_eth:

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

* patch 'net/ixgbe: fix hash handle leak' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (18 preceding siblings ...)
  2021-11-30 16:33 ` patch 'net/pcap: fix resource leakage on port probe' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'net/ixgbe: fix queue resource " christian.ehrhardt
                   ` (139 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Qiming Chen; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/61e898b734e61a692e2cc7c95d2c80a312308e36

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 61e898b734e61a692e2cc7c95d2c80a312308e36 Mon Sep 17 00:00:00 2001
From: Qiming Chen <chenqiming_huawei@163.com>
Date: Tue, 31 Aug 2021 21:24:07 +0800
Subject: [PATCH] net/ixgbe: fix hash handle leak

[ upstream commit 03f83d6c5c9f9d30ef2cd7c2b0fe5d86935cd372 ]

In the ixgbe_fdir_filter_init and ixgbe_l2_tn_filter_init functions,
after the hash handle is created, the handle is not released in
subsequent abnormal branches.

Fixes: 080e3c0ee989 ("net/ixgbe: store flow director filter")
Fixes: d0c0c416ef1f ("net/ixgbe: store L2 tunnel filter")

Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/ixgbe/ixgbe_ethdev.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 8ec0c76351..0b6a6845a4 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -1439,6 +1439,7 @@ static int ixgbe_fdir_filter_init(struct rte_eth_dev *eth_dev)
 	if (!fdir_info->hash_map) {
 		PMD_INIT_LOG(ERR,
 			     "Failed to allocate memory for fdir hash map!");
+		rte_hash_free(fdir_info->hash_handle);
 		return -ENOMEM;
 	}
 	fdir_info->mask_added = FALSE;
@@ -1475,6 +1476,7 @@ static int ixgbe_l2_tn_filter_init(struct rte_eth_dev *eth_dev)
 	if (!l2_tn_info->hash_map) {
 		PMD_INIT_LOG(ERR,
 			"Failed to allocate memory for L2 TN hash map!");
+		rte_hash_free(l2_tn_info->hash_handle);
 		return -ENOMEM;
 	}
 	l2_tn_info->e_tag_en = FALSE;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:07.340357497 +0100
+++ 0021-net-ixgbe-fix-hash-handle-leak.patch	2021-11-30 16:50:05.574871945 +0100
@@ -1 +1 @@
-From 03f83d6c5c9f9d30ef2cd7c2b0fe5d86935cd372 Mon Sep 17 00:00:00 2001
+From 61e898b734e61a692e2cc7c95d2c80a312308e36 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 03f83d6c5c9f9d30ef2cd7c2b0fe5d86935cd372 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 3cd2a094ae..7b198d95c2 100644
+index 8ec0c76351..0b6a6845a4 100644
@@ -24 +25 @@
-@@ -1393,6 +1393,7 @@ static int ixgbe_fdir_filter_init(struct rte_eth_dev *eth_dev)
+@@ -1439,6 +1439,7 @@ static int ixgbe_fdir_filter_init(struct rte_eth_dev *eth_dev)
@@ -32 +33 @@
-@@ -1429,6 +1430,7 @@ static int ixgbe_l2_tn_filter_init(struct rte_eth_dev *eth_dev)
+@@ -1475,6 +1476,7 @@ static int ixgbe_l2_tn_filter_init(struct rte_eth_dev *eth_dev)

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

* patch 'net/ixgbe: fix queue resource leak' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (19 preceding siblings ...)
  2021-11-30 16:33 ` patch 'net/ixgbe: fix hash handle leak' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'net/ixgbe: fix MAC " christian.ehrhardt
                   ` (138 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Qiming Chen; +Cc: Haiyue Wang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 17aff3d97569802cccc60d973c543e9290e4819f Mon Sep 17 00:00:00 2001
From: Qiming Chen <chenqiming_huawei@163.com>
Date: Tue, 31 Aug 2021 21:40:17 +0800
Subject: [PATCH] net/ixgbe: fix queue resource leak

[ upstream commit 3a732dce93af3355854dbd0fbfbe26d8c8ec8982 ]

In the ixgbevf_dev_start function, after initializing the rxtx queue, if
an exception occurs in the subsequent function, the rxtx queue needs to
be released. The patch solves the problem of queue resource leakage.

Fixes: 0eb609239efd ("ixgbe: enable Rx queue interrupts for PF and VF")

Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>
Acked-by: Haiyue Wang <haiyue.wang@intel.com>
---
 drivers/net/ixgbe/ixgbe_ethdev.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 0b6a6845a4..a938729da7 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -5409,8 +5409,10 @@ ixgbevf_dev_start(struct rte_eth_dev *dev)
 		 * now only one vector is used for Rx queue
 		 */
 		intr_vector = 1;
-		if (rte_intr_efd_enable(intr_handle, intr_vector))
+		if (rte_intr_efd_enable(intr_handle, intr_vector)) {
+			ixgbe_dev_clear_queues(dev);
 			return -1;
+		}
 	}
 
 	if (rte_intr_dp_is_en(intr_handle) && !intr_handle->intr_vec) {
@@ -5420,6 +5422,7 @@ ixgbevf_dev_start(struct rte_eth_dev *dev)
 		if (intr_handle->intr_vec == NULL) {
 			PMD_INIT_LOG(ERR, "Failed to allocate %d rx_queues"
 				     " intr_vec", dev->data->nb_rx_queues);
+			ixgbe_dev_clear_queues(dev);
 			return -ENOMEM;
 		}
 	}
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:07.401756815 +0100
+++ 0022-net-ixgbe-fix-queue-resource-leak.patch	2021-11-30 16:50:05.582872003 +0100
@@ -1 +1 @@
-From 3a732dce93af3355854dbd0fbfbe26d8c8ec8982 Mon Sep 17 00:00:00 2001
+From 17aff3d97569802cccc60d973c543e9290e4819f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3a732dce93af3355854dbd0fbfbe26d8c8ec8982 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 7b198d95c2..3371a7df78 100644
+index 0b6a6845a4..a938729da7 100644
@@ -23 +24 @@
-@@ -5362,8 +5362,10 @@ ixgbevf_dev_start(struct rte_eth_dev *dev)
+@@ -5409,8 +5409,10 @@ ixgbevf_dev_start(struct rte_eth_dev *dev)
@@ -35 +36 @@
-@@ -5373,6 +5375,7 @@ ixgbevf_dev_start(struct rte_eth_dev *dev)
+@@ -5420,6 +5422,7 @@ ixgbevf_dev_start(struct rte_eth_dev *dev)

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

* patch 'net/ixgbe: fix MAC resource leak' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (20 preceding siblings ...)
  2021-11-30 16:33 ` patch 'net/ixgbe: fix queue resource " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'net/ixgbe: fix mbuf " christian.ehrhardt
                   ` (137 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Qiming Chen; +Cc: Haiyue Wang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From eb965c7d46148a2f1fb5fd5006de9717e71a66dd Mon Sep 17 00:00:00 2001
From: Qiming Chen <chenqiming_huawei@163.com>
Date: Wed, 1 Sep 2021 15:12:07 +0800
Subject: [PATCH] net/ixgbe: fix MAC resource leak

[ upstream commit cc8aaa258f31cf28776141e2e2f9c370bbb9ae55 ]

In the eth_ixgbevf_dev_init and eth_ixgbe_dev_init functions, memory is
allocated for the MAC address, and the address is stored in the
eth_dev->data->mac_addrs member variable. If the subsequent function is
abnormal, you need to use the rte_free function to release the MAC
address memory.

Fixes: af75078fece3 ("first public release")

Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>
Acked-by: Haiyue Wang <haiyue.wang@intel.com>
---
 drivers/net/ixgbe/ixgbe_ethdev.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index a938729da7..a9607e7914 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -1259,6 +1259,8 @@ eth_ixgbe_dev_init(struct rte_eth_dev *eth_dev, void *init_params __rte_unused)
 		PMD_INIT_LOG(ERR,
 			     "Failed to allocate %d bytes needed to store MAC addresses",
 			     RTE_ETHER_ADDR_LEN * IXGBE_VMDQ_NUM_UC_MAC);
+		rte_free(eth_dev->data->mac_addrs);
+		eth_dev->data->mac_addrs = NULL;
 		return -ENOMEM;
 	}
 
@@ -1719,6 +1721,8 @@ eth_ixgbevf_dev_init(struct rte_eth_dev *eth_dev)
 
 	default:
 		PMD_INIT_LOG(ERR, "VF Initialization Failure: %d", diag);
+		rte_free(eth_dev->data->mac_addrs);
+		eth_dev->data->mac_addrs = NULL;
 		return -EIO;
 	}
 
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:07.470518905 +0100
+++ 0023-net-ixgbe-fix-MAC-resource-leak.patch	2021-11-30 16:50:05.594872092 +0100
@@ -1 +1 @@
-From cc8aaa258f31cf28776141e2e2f9c370bbb9ae55 Mon Sep 17 00:00:00 2001
+From eb965c7d46148a2f1fb5fd5006de9717e71a66dd Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit cc8aaa258f31cf28776141e2e2f9c370bbb9ae55 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 3371a7df78..47693c0c47 100644
+index a938729da7..a9607e7914 100644
@@ -25 +26 @@
-@@ -1218,6 +1218,8 @@ eth_ixgbe_dev_init(struct rte_eth_dev *eth_dev, void *init_params __rte_unused)
+@@ -1259,6 +1259,8 @@ eth_ixgbe_dev_init(struct rte_eth_dev *eth_dev, void *init_params __rte_unused)
@@ -34 +35 @@
-@@ -1667,6 +1669,8 @@ eth_ixgbevf_dev_init(struct rte_eth_dev *eth_dev)
+@@ -1719,6 +1721,8 @@ eth_ixgbevf_dev_init(struct rte_eth_dev *eth_dev)

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

* patch 'net/ixgbe: fix mbuf leak' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (21 preceding siblings ...)
  2021-11-30 16:33 ` patch 'net/ixgbe: fix MAC " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'net/qede: fix minsize build' " christian.ehrhardt
                   ` (136 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Qiming Chen; +Cc: Haiyue Wang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/6d3cd4152bf4c53dc2972ce16ccec55b29173970

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 6d3cd4152bf4c53dc2972ce16ccec55b29173970 Mon Sep 17 00:00:00 2001
From: Qiming Chen <chenqiming_huawei@163.com>
Date: Wed, 1 Sep 2021 15:22:37 +0800
Subject: [PATCH] net/ixgbe: fix mbuf leak

[ upstream commit d54b51efb6ef12b8cdfc7316316d99e2a762e1cd ]

A local test found that repeated port start and stop operations during
the continuous SSE vector bufflist receiving process will cause the mbuf
resource to run out. The final positioning is when the port is stopped,
the mbuf of the pkt_first_seg pointer is not released. Resources leak.
The patch scheme is to judge whether the pointer is empty when the port
is stopped, and release the corresponding mbuf if it is not empty.

Fixes: af75078fece3 ("first public release")

Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>
Acked-by: Haiyue Wang <haiyue.wang@intel.com>
---
 drivers/net/ixgbe/ixgbe_rxtx.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
index 8b9b009396..ed36a33b5d 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
@@ -2838,6 +2838,10 @@ ixgbe_reset_rx_queue(struct ixgbe_adapter *adapter, struct ixgbe_rx_queue *rxq)
 	rxq->rx_free_trigger = (uint16_t)(rxq->rx_free_thresh - 1);
 	rxq->rx_tail = 0;
 	rxq->nb_rx_hold = 0;
+
+	if (rxq->pkt_first_seg != NULL)
+		rte_pktmbuf_free(rxq->pkt_first_seg);
+
 	rxq->pkt_first_seg = NULL;
 	rxq->pkt_last_seg = NULL;
 
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:07.517362458 +0100
+++ 0024-net-ixgbe-fix-mbuf-leak.patch	2021-11-30 16:50:05.602872150 +0100
@@ -1 +1 @@
-From d54b51efb6ef12b8cdfc7316316d99e2a762e1cd Mon Sep 17 00:00:00 2001
+From 6d3cd4152bf4c53dc2972ce16ccec55b29173970 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d54b51efb6ef12b8cdfc7316316d99e2a762e1cd ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index c814a28cb4..bfdfd5e755 100644
+index 8b9b009396..ed36a33b5d 100644
@@ -26 +27 @@
-@@ -2981,6 +2981,10 @@ ixgbe_reset_rx_queue(struct ixgbe_adapter *adapter, struct ixgbe_rx_queue *rxq)
+@@ -2838,6 +2838,10 @@ ixgbe_reset_rx_queue(struct ixgbe_adapter *adapter, struct ixgbe_rx_queue *rxq)

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

* patch 'net/qede: fix minsize build' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (22 preceding siblings ...)
  2021-11-30 16:33 ` patch 'net/ixgbe: fix mbuf " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'examples/service_cores: fix lcore count check' " christian.ehrhardt
                   ` (135 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: Devendra Singh Rawat, Rasesh Mody, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/72a15cbd51f11c5a20fd4268c4b9637392af192e

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 72a15cbd51f11c5a20fd4268c4b9637392af192e Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas@monjalon.net>
Date: Sun, 8 Aug 2021 14:51:34 +0200
Subject: [PATCH] net/qede: fix minsize build
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit 11c2e4b41c962414e7183222a6504697493d9433 ]

Error occurs when configuring meson with --buildtype=minsize
with GCC 11.1.0:

In function ‘__internal_ram_wr_relaxed’,
    inlined from ‘internal_ram_wr’ at ecore_int_api.h:166:2,
    inlined from ‘qede_update_rx_prod.constprop’ at qede_rxtx.c:736:2:
drivers/net/qede/base/bcm_osal.h:136:9: error:
‘rx_prods’ is used uninitialized [-Werror=uninitialized]
|         rte_write32_relaxed((_val), (_reg_addr))
|         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ecore_int_api.h:151:17: note: in expansion of macro ‘DIRECT_REG_WR_RELAXED’
|                 DIRECT_REG_WR_RELAXED(p_hwfn, &((u32 OSAL_IOMEM *)addr)[i],
|                 ^~~~~~~~~~~~~~~~~~~~~
drivers/net/qede/qede_rxtx.c: In function ‘qede_update_rx_prod.constprop’:
drivers/net/qede/qede_rxtx.c:724:33: note: ‘rx_prods’ declared here
|         struct eth_rx_prod_data rx_prods = { 0 };
|                                 ^~~~~~~~

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Devendra Singh Rawat <dsinghrawat@marvell.com>
Acked-by: Rasesh Mody <rmody@marvell.com>
---
 drivers/net/qede/qede_rxtx.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/qede/qede_rxtx.c b/drivers/net/qede/qede_rxtx.c
index 64e6de4743..d45675af89 100644
--- a/drivers/net/qede/qede_rxtx.c
+++ b/drivers/net/qede/qede_rxtx.c
@@ -717,9 +717,10 @@ qede_update_rx_prod(__rte_unused struct qede_dev *edev,
 {
 	uint16_t bd_prod = ecore_chain_get_prod_idx(&rxq->rx_bd_ring);
 	uint16_t cqe_prod = ecore_chain_get_prod_idx(&rxq->rx_comp_ring);
-	struct eth_rx_prod_data rx_prods = { 0 };
+	struct eth_rx_prod_data rx_prods;
 
 	/* Update producers */
+	memset(&rx_prods, 0, sizeof(rx_prods));
 	rx_prods.bd_prod = rte_cpu_to_le_16(bd_prod);
 	rx_prods.cqe_prod = rte_cpu_to_le_16(cqe_prod);
 
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:07.572544582 +0100
+++ 0025-net-qede-fix-minsize-build.patch	2021-11-30 16:50:05.606872180 +0100
@@ -1 +1 @@
-From 11c2e4b41c962414e7183222a6504697493d9433 Mon Sep 17 00:00:00 2001
+From 72a15cbd51f11c5a20fd4268c4b9637392af192e Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 11c2e4b41c962414e7183222a6504697493d9433 ]
+
@@ -35 +37 @@
-index 298f4e3e42..35cde561ba 100644
+index 64e6de4743..d45675af89 100644
@@ -38 +40 @@
-@@ -721,9 +721,10 @@ qede_update_rx_prod(__rte_unused struct qede_dev *edev,
+@@ -717,9 +717,10 @@ qede_update_rx_prod(__rte_unused struct qede_dev *edev,

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

* patch 'examples/service_cores: fix lcore count check' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (23 preceding siblings ...)
  2021-11-30 16:33 ` patch 'net/qede: fix minsize build' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'net/virtio: fix mbuf count on Rx queue setup' " christian.ehrhardt
                   ` (134 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Ruifeng Wang; +Cc: Harry van Haaren, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From f07a95e2a9ca39b2871312f3577fd3db2d4c6c70 Mon Sep 17 00:00:00 2001
From: Ruifeng Wang <ruifeng.wang@arm.com>
Date: Mon, 30 Aug 2021 16:04:12 +0800
Subject: [PATCH] examples/service_cores: fix lcore count check

[ upstream commit 328720c594f235aa44c78fe360e8e6f31b5e989f ]

The example has various profiles to run services on specified
number of lcores. Due to incorrect boundary condition, service
can be dispatched to a core that does not exist. This puts main
core into endless wait.

Max available number of service cores is all detected lcores
excluding main core.

Fixes: 7f6ee6aee717 ("examples/service_cores: check cores before run")

Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
---
 examples/service_cores/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/service_cores/main.c b/examples/service_cores/main.c
index c5753cc52d..e0cb4f9acb 100644
--- a/examples/service_cores/main.c
+++ b/examples/service_cores/main.c
@@ -118,7 +118,7 @@ apply_profile(int profile_id)
 	struct profile *p = &profiles[profile_id];
 	const uint8_t core_off = 1;
 
-	if (p->num_cores > rte_lcore_count() + 1) {
+	if (p->num_cores > rte_lcore_count() - 1) {
 		printf("insufficent cores to run (%s)",
 			p->name);
 		return;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:07.624678984 +0100
+++ 0026-examples-service_cores-fix-lcore-count-check.patch	2021-11-30 16:50:05.606872180 +0100
@@ -1 +1 @@
-From 328720c594f235aa44c78fe360e8e6f31b5e989f Mon Sep 17 00:00:00 2001
+From f07a95e2a9ca39b2871312f3577fd3db2d4c6c70 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 328720c594f235aa44c78fe360e8e6f31b5e989f ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index 83915b9a53..9f52082254 100644
+index c5753cc52d..e0cb4f9acb 100644

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

* patch 'net/virtio: fix mbuf count on Rx queue setup' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (24 preceding siblings ...)
  2021-11-30 16:33 ` patch 'examples/service_cores: fix lcore count check' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'net/virtio: avoid unneeded link interrupt configuration' " christian.ehrhardt
                   ` (133 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Ivan Ilchenko; +Cc: Andrew Rybchenko, Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/9fa5eea192721c30d506a7a41db30efbbf7176b0

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 9fa5eea192721c30d506a7a41db30efbbf7176b0 Mon Sep 17 00:00:00 2001
From: Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru>
Date: Fri, 20 Aug 2021 15:47:20 +0300
Subject: [PATCH] net/virtio: fix mbuf count on Rx queue setup

[ upstream commit b8d0a27842dc2a90f1bf341d1e5cbf0dfbc7c4e5 ]

Rx queue setup finish function may report wrong number of
allocated mbufs in case of in-order feature. Fix the
function to not ignore allocation error and count only
successfully allocated number of buffers.

Fixes: e5f456a98d3c ("net/virtio: support in-order Rx and Tx")

Signed-off-by: Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 drivers/net/virtio/virtio_rxtx.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c
index 421e4847e7..b6a89d59e7 100644
--- a/drivers/net/virtio/virtio_rxtx.c
+++ b/drivers/net/virtio/virtio_rxtx.c
@@ -1040,10 +1040,11 @@ virtio_dev_rx_queue_setup_finish(struct rte_eth_dev *dev, uint16_t queue_idx)
 				if (unlikely(error)) {
 					for (i = 0; i < free_cnt; i++)
 						rte_pktmbuf_free(pkts[i]);
+				} else {
+					nbufs += free_cnt;
 				}
 			}
 
-			nbufs += free_cnt;
 			vq_update_avail_idx(vq);
 		}
 	} else {
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:07.672013998 +0100
+++ 0027-net-virtio-fix-mbuf-count-on-Rx-queue-setup.patch	2021-11-30 16:50:05.610872209 +0100
@@ -1 +1 @@
-From b8d0a27842dc2a90f1bf341d1e5cbf0dfbc7c4e5 Mon Sep 17 00:00:00 2001
+From 9fa5eea192721c30d506a7a41db30efbbf7176b0 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b8d0a27842dc2a90f1bf341d1e5cbf0dfbc7c4e5 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index d0365ce4bf..8a48fba5cc 100644
+index 421e4847e7..b6a89d59e7 100644
@@ -25 +26 @@
-@@ -768,10 +768,11 @@ virtio_dev_rx_queue_setup_finish(struct rte_eth_dev *dev, uint16_t queue_idx)
+@@ -1040,10 +1040,11 @@ virtio_dev_rx_queue_setup_finish(struct rte_eth_dev *dev, uint16_t queue_idx)

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

* patch 'net/virtio: avoid unneeded link interrupt configuration' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (25 preceding siblings ...)
  2021-11-30 16:33 ` patch 'net/virtio: fix mbuf count on Rx queue setup' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'net/virtio-user: fix Rx interrupts with multi-queue' " christian.ehrhardt
                   ` (132 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: David Marchand; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From d7a91388de0c5282bb4134d592491b148948a211 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Tue, 31 Aug 2021 17:54:10 +0200
Subject: [PATCH] net/virtio: avoid unneeded link interrupt configuration

[ upstream commit 5be2325ecec83ab9dd5e25dde6112aed56f3e4f6 ]

There is no reason to re-register a interrupt handler for LSC if this
feature was not requested in the first place.
A simple use case is when asking for Rx interrupts without LSC interrupt.

Fixes: 26b683b4f7d0 ("net/virtio: setup Rx queue interrupts")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 drivers/net/virtio/virtio_ethdev.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index 0eca488c40..4e615d2b4b 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -1643,13 +1643,15 @@ virtio_configure_intr(struct rte_eth_dev *dev)
 		}
 	}
 
-	/* Re-register callback to update max_intr */
-	rte_intr_callback_unregister(dev->intr_handle,
-				     virtio_interrupt_handler,
-				     dev);
-	rte_intr_callback_register(dev->intr_handle,
-				   virtio_interrupt_handler,
-				   dev);
+	if (dev->data->dev_flags & RTE_ETH_DEV_INTR_LSC) {
+		/* Re-register callback to update max_intr */
+		rte_intr_callback_unregister(dev->intr_handle,
+					     virtio_interrupt_handler,
+					     dev);
+		rte_intr_callback_register(dev->intr_handle,
+					   virtio_interrupt_handler,
+					   dev);
+	}
 
 	/* DO NOT try to remove this! This function will enable msix, or QEMU
 	 * will encounter SIGSEGV when DRIVER_OK is sent.
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:07.724067766 +0100
+++ 0028-net-virtio-avoid-unneeded-link-interrupt-configurati.patch	2021-11-30 16:50:05.614872238 +0100
@@ -1 +1 @@
-From 5be2325ecec83ab9dd5e25dde6112aed56f3e4f6 Mon Sep 17 00:00:00 2001
+From d7a91388de0c5282bb4134d592491b148948a211 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 5be2325ecec83ab9dd5e25dde6112aed56f3e4f6 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 9690eb4fb2..061d02f666 100644
+index 0eca488c40..4e615d2b4b 100644
@@ -23 +24 @@
-@@ -1685,13 +1685,15 @@ virtio_configure_intr(struct rte_eth_dev *dev)
+@@ -1643,13 +1643,15 @@ virtio_configure_intr(struct rte_eth_dev *dev)

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

* patch 'net/virtio-user: fix Rx interrupts with multi-queue' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (26 preceding siblings ...)
  2021-11-30 16:33 ` patch 'net/virtio: avoid unneeded link interrupt configuration' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'vhost: log socket path on adding connection' " christian.ehrhardt
                   ` (131 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: David Marchand; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 7bd82b66f0f765a4de7512000b0caae33cea2a95 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Tue, 31 Aug 2021 17:54:11 +0200
Subject: [PATCH] net/virtio-user: fix Rx interrupts with multi-queue

[ upstream commit 848e93d9001e74fdbcb31b7ac5cdc1991b9e3f03 ]

The callfds[] array stores eventfds sequentially for Rx and Tx vq.

Fixes: 3d4fb6fd2505 ("net/virtio-user: support Rx interrupt")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 drivers/net/virtio/virtio_user/virtio_user_dev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/virtio/virtio_user/virtio_user_dev.c b/drivers/net/virtio/virtio_user/virtio_user_dev.c
index ad5d2f3bf8..72b3dbd265 100644
--- a/drivers/net/virtio/virtio_user/virtio_user_dev.c
+++ b/drivers/net/virtio/virtio_user/virtio_user_dev.c
@@ -299,7 +299,7 @@ virtio_user_fill_intr_handle(struct virtio_user_dev *dev)
 	}
 
 	for (i = 0; i < dev->max_queue_pairs; ++i)
-		eth_dev->intr_handle->efds[i] = dev->callfds[i];
+		eth_dev->intr_handle->efds[i] = dev->callfds[2 * i];
 	eth_dev->intr_handle->nb_efd = dev->max_queue_pairs;
 	eth_dev->intr_handle->max_intr = dev->max_queue_pairs + 1;
 	eth_dev->intr_handle->type = RTE_INTR_HANDLE_VDEV;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:07.777961732 +0100
+++ 0029-net-virtio-user-fix-Rx-interrupts-with-multi-queue.patch	2021-11-30 16:50:05.614872238 +0100
@@ -1 +1 @@
-From 848e93d9001e74fdbcb31b7ac5cdc1991b9e3f03 Mon Sep 17 00:00:00 2001
+From 7bd82b66f0f765a4de7512000b0caae33cea2a95 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 848e93d9001e74fdbcb31b7ac5cdc1991b9e3f03 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index 16c58710d7..89f8b2271f 100644
+index ad5d2f3bf8..72b3dbd265 100644
@@ -21 +22 @@
-@@ -416,7 +416,7 @@ virtio_user_fill_intr_handle(struct virtio_user_dev *dev)
+@@ -299,7 +299,7 @@ virtio_user_fill_intr_handle(struct virtio_user_dev *dev)

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

* patch 'vhost: log socket path on adding connection' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (27 preceding siblings ...)
  2021-11-30 16:33 ` patch 'net/virtio-user: fix Rx interrupts with multi-queue' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'net/octeontx2: fix MTU when PTP is enabled' " christian.ehrhardt
                   ` (130 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Gaoxiang Liu; +Cc: Chenbo Xia, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 8c58b366d1f66a59f9d01307dae1750ff768e5da Mon Sep 17 00:00:00 2001
From: Gaoxiang Liu <liugaoxiang@huawei.com>
Date: Tue, 7 Sep 2021 08:51:27 +0800
Subject: [PATCH] vhost: log socket path on adding connection

[ upstream commit e53084d84b0f2ae67df8d785e8d79df530b21a50 ]

Add log print of socket path in vhost_user_add_connection.
It's useful when adding a mass of socket connections,
because the information of every connection is clearer.

Fixes: 8f972312b8f4 ("vhost: support vhost-user")

Signed-off-by: Gaoxiang Liu <liugaoxiang@huawei.com>
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
---
 lib/librte_vhost/socket.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_vhost/socket.c b/lib/librte_vhost/socket.c
index dc3ee1e99d..dc70ce154f 100644
--- a/lib/librte_vhost/socket.c
+++ b/lib/librte_vhost/socket.c
@@ -241,7 +241,7 @@ vhost_user_add_connection(int fd, struct vhost_user_socket *vsocket)
 	if (vsocket->linearbuf)
 		vhost_enable_linearbuf(vid);
 
-	RTE_LOG(INFO, VHOST_CONFIG, "new device, handle is %d\n", vid);
+	RTE_LOG(INFO, VHOST_CONFIG, "new device, handle is %d, path is %s\n", vid, vsocket->path);
 
 	if (vsocket->notify_ops->new_connection) {
 		ret = vsocket->notify_ops->new_connection(vid);
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:07.829917289 +0100
+++ 0030-vhost-log-socket-path-on-adding-connection.patch	2021-11-30 16:50:05.614872238 +0100
@@ -1 +1 @@
-From e53084d84b0f2ae67df8d785e8d79df530b21a50 Mon Sep 17 00:00:00 2001
+From 8c58b366d1f66a59f9d01307dae1750ff768e5da Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e53084d84b0f2ae67df8d785e8d79df530b21a50 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- lib/vhost/socket.c | 2 +-
+ lib/librte_vhost/socket.c | 2 +-
@@ -19,7 +20,7 @@
-diff --git a/lib/vhost/socket.c b/lib/vhost/socket.c
-index d6f9414c4d..c6548608a3 100644
---- a/lib/vhost/socket.c
-+++ b/lib/vhost/socket.c
-@@ -243,7 +243,7 @@ vhost_user_add_connection(int fd, struct vhost_user_socket *vsocket)
- 			dev->async_copy = 1;
- 	}
+diff --git a/lib/librte_vhost/socket.c b/lib/librte_vhost/socket.c
+index dc3ee1e99d..dc70ce154f 100644
+--- a/lib/librte_vhost/socket.c
++++ b/lib/librte_vhost/socket.c
+@@ -241,7 +241,7 @@ vhost_user_add_connection(int fd, struct vhost_user_socket *vsocket)
+ 	if (vsocket->linearbuf)
+ 		vhost_enable_linearbuf(vid);
@@ -27,2 +28,2 @@
--	VHOST_LOG_CONFIG(INFO, "new device, handle is %d\n", vid);
-+	VHOST_LOG_CONFIG(INFO, "new device, handle is %d, path is %s\n", vid, vsocket->path);
+-	RTE_LOG(INFO, VHOST_CONFIG, "new device, handle is %d\n", vid);
++	RTE_LOG(INFO, VHOST_CONFIG, "new device, handle is %d, path is %s\n", vid, vsocket->path);

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

* patch 'net/octeontx2: fix MTU when PTP is enabled' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (28 preceding siblings ...)
  2021-11-30 16:33 ` patch 'vhost: log socket path on adding connection' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'net/i40e: fix mbuf leak' " christian.ehrhardt
                   ` (129 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Hanumanth Reddy Pothula; +Cc: Jerin Jacob, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 0b0a33dc3a32f5dbfe52cafe15e1907969910dbe Mon Sep 17 00:00:00 2001
From: Hanumanth Reddy Pothula <hpothula@marvell.com>
Date: Tue, 10 Aug 2021 12:51:00 +0530
Subject: [PATCH] net/octeontx2: fix MTU when PTP is enabled

[ upstream commit 07d15d4d84e89a2f7a56bec24225c8ff326a9cf8 ]

Update MTU value based on PTP enable status and reserve eight
bytes in TX path to accommodate VLAN tags.

If PTP is enabled maximum allowed MTU is 9200 otherwise it's 9208.

Fixes: b5dc3140448e ("net/octeontx2: support base PTP")

Signed-off-by: Hanumanth Reddy Pothula <hpothula@marvell.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
---
 drivers/net/octeontx2/otx2_ethdev_ops.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/net/octeontx2/otx2_ethdev_ops.c b/drivers/net/octeontx2/otx2_ethdev_ops.c
index 1f8292589c..0854026706 100644
--- a/drivers/net/octeontx2/otx2_ethdev_ops.c
+++ b/drivers/net/octeontx2/otx2_ethdev_ops.c
@@ -17,7 +17,8 @@ otx2_nix_mtu_set(struct rte_eth_dev *eth_dev, uint16_t mtu)
 	struct nix_frs_cfg *req;
 	int rc;
 
-	frame_size += NIX_TIMESYNC_RX_OFFSET * otx2_ethdev_is_ptp_en(dev);
+	if (dev->configured && otx2_ethdev_is_ptp_en(dev))
+		frame_size += NIX_TIMESYNC_RX_OFFSET;
 
 	/* Check if MTU is within the allowed range */
 	if (frame_size < NIX_MIN_FRS || frame_size > NIX_MAX_FRS)
@@ -560,6 +561,11 @@ otx2_nix_info_get(struct rte_eth_dev *eth_dev, struct rte_eth_dev_info *devinfo)
 	devinfo->max_vfs = pci_dev->max_vfs;
 	devinfo->max_mtu = devinfo->max_rx_pktlen - NIX_L2_OVERHEAD;
 	devinfo->min_mtu = devinfo->min_rx_bufsize - NIX_L2_OVERHEAD;
+	if (dev->configured && otx2_ethdev_is_ptp_en(dev)) {
+		devinfo->max_mtu -=  NIX_TIMESYNC_RX_OFFSET;
+		devinfo->min_mtu -=  NIX_TIMESYNC_RX_OFFSET;
+		devinfo->max_rx_pktlen -= NIX_TIMESYNC_RX_OFFSET;
+	}
 
 	devinfo->rx_offload_capa = dev->rx_offload_capa;
 	devinfo->tx_offload_capa = dev->tx_offload_capa;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:07.896825828 +0100
+++ 0031-net-octeontx2-fix-MTU-when-PTP-is-enabled.patch	2021-11-30 16:50:05.614872238 +0100
@@ -1 +1 @@
-From 07d15d4d84e89a2f7a56bec24225c8ff326a9cf8 Mon Sep 17 00:00:00 2001
+From 0b0a33dc3a32f5dbfe52cafe15e1907969910dbe Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 07d15d4d84e89a2f7a56bec24225c8ff326a9cf8 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 5a4501208e..552e6bd43d 100644
+index 1f8292589c..0854026706 100644
@@ -34 +35 @@
-@@ -547,6 +548,11 @@ otx2_nix_info_get(struct rte_eth_dev *eth_dev, struct rte_eth_dev_info *devinfo)
+@@ -560,6 +561,11 @@ otx2_nix_info_get(struct rte_eth_dev *eth_dev, struct rte_eth_dev_info *devinfo)

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

* patch 'net/i40e: fix mbuf leak' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (29 preceding siblings ...)
  2021-11-30 16:33 ` patch 'net/octeontx2: fix MTU when PTP is enabled' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'net/i40e: fix device startup resource release' " christian.ehrhardt
                   ` (128 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Qiming Chen; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From ba9d67f359f0b92bfb409e0fa4cb33276ca3d395 Mon Sep 17 00:00:00 2001
From: Qiming Chen <chenqiming_huawei@163.com>
Date: Mon, 23 Aug 2021 09:50:34 +0800
Subject: [PATCH] net/i40e: fix mbuf leak

[ upstream commit 4b458675d3df13d1a35db959fe97a04a132788b2 ]

A local test found that repeated port start and stop operations during
the continuous SSE vector bufflist receiving process will cause the mbuf
resource to run out. The final positioning is when the port is stopped,
the mbuf of the pkt_first_seg pointer is not released. Resources leak.
The patch scheme is to judge whether the pointer is empty when the port
is stopped, and release the corresponding mbuf if it is not empty.

Fixes: 4861cde46116 ("i40e: new poll mode driver")

Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/i40e/i40e_rxtx.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
index 6cba729639..0d5c721b52 100644
--- a/drivers/net/i40e/i40e_rxtx.c
+++ b/drivers/net/i40e/i40e_rxtx.c
@@ -2487,6 +2487,10 @@ i40e_reset_rx_queue(struct i40e_rx_queue *rxq)
 #endif /* RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC */
 	rxq->rx_tail = 0;
 	rxq->nb_rx_hold = 0;
+
+	if (rxq->pkt_first_seg != NULL)
+		rte_pktmbuf_free(rxq->pkt_first_seg);
+
 	rxq->pkt_first_seg = NULL;
 	rxq->pkt_last_seg = NULL;
 
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:07.935682225 +0100
+++ 0032-net-i40e-fix-mbuf-leak.patch	2021-11-30 16:50:05.622872298 +0100
@@ -1 +1 @@
-From 4b458675d3df13d1a35db959fe97a04a132788b2 Mon Sep 17 00:00:00 2001
+From ba9d67f359f0b92bfb409e0fa4cb33276ca3d395 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4b458675d3df13d1a35db959fe97a04a132788b2 ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index 8329cbdd4e..3eb82578b0 100644
+index 6cba729639..0d5c721b52 100644
@@ -26 +27 @@
-@@ -2590,6 +2590,10 @@ i40e_reset_rx_queue(struct i40e_rx_queue *rxq)
+@@ -2487,6 +2487,10 @@ i40e_reset_rx_queue(struct i40e_rx_queue *rxq)

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

* patch 'net/i40e: fix device startup resource release' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (30 preceding siblings ...)
  2021-11-30 16:33 ` patch 'net/i40e: fix mbuf leak' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'net/iavf: fix mbuf leak' " christian.ehrhardt
                   ` (127 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Qiming Chen; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 1a6d098383c863a3ee306eb027c9c0c60b8e01a5 Mon Sep 17 00:00:00 2001
From: Qiming Chen <chenqiming_huawei@163.com>
Date: Sat, 21 Aug 2021 17:44:35 +0800
Subject: [PATCH] net/i40e: fix device startup resource release

[ upstream commit daf3332e11ed7ad6cc12e0aa69cbb8b602bc5685 ]

In the eth_i40e_dev_init function, the tunnel and ethertype hash table
resource release interface should be rte_hash_free instead of rte_free,
and the previously registered interrupt handling function also needs to
be removed from the interrupt list. The patch is amended to use the
correct interface to release the hash table resource and release the
interrupt handling function at the same time.

Fixes: 425c3325f0b0 ("net/i40e: store tunnel filter")
Fixes: 5c53c82c8174 ("net/i40e: store flow director filter")

Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/i40e/i40e_ethdev.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 0c896ea915..df9e8ca5c5 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -1721,12 +1721,14 @@ eth_i40e_dev_init(struct rte_eth_dev *dev, void *init_params __rte_unused)
 	return 0;
 
 err_init_fdir_filter_list:
-	rte_free(pf->tunnel.hash_table);
+	rte_hash_free(pf->tunnel.hash_table);
 	rte_free(pf->tunnel.hash_map);
 err_init_tunnel_filter_list:
-	rte_free(pf->ethertype.hash_table);
+	rte_hash_free(pf->ethertype.hash_table);
 	rte_free(pf->ethertype.hash_map);
 err_init_ethtype_filter_list:
+	rte_intr_callback_unregister(intr_handle,
+		i40e_dev_interrupt_handler, dev);
 	rte_free(dev->data->mac_addrs);
 	dev->data->mac_addrs = NULL;
 err_mac_alloc:
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:07.983685462 +0100
+++ 0033-net-i40e-fix-device-startup-resource-release.patch	2021-11-30 16:50:05.638872414 +0100
@@ -1 +1 @@
-From daf3332e11ed7ad6cc12e0aa69cbb8b602bc5685 Mon Sep 17 00:00:00 2001
+From 1a6d098383c863a3ee306eb027c9c0c60b8e01a5 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit daf3332e11ed7ad6cc12e0aa69cbb8b602bc5685 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index 7b230e2ed1..7a2a8281d2 100644
+index 0c896ea915..df9e8ca5c5 100644
@@ -27 +28 @@
-@@ -1760,12 +1760,14 @@ eth_i40e_dev_init(struct rte_eth_dev *dev, void *init_params __rte_unused)
+@@ -1721,12 +1721,14 @@ eth_i40e_dev_init(struct rte_eth_dev *dev, void *init_params __rte_unused)

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

* patch 'net/iavf: fix mbuf leak' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (31 preceding siblings ...)
  2021-11-30 16:33 ` patch 'net/i40e: fix device startup resource release' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:33 ` patch 'net/i40e/base: fix resource leakage' " christian.ehrhardt
                   ` (126 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Qiming Chen; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From a0422d6ce7d4043f4ea30e63e5df38abd7cba7dc Mon Sep 17 00:00:00 2001
From: Qiming Chen <chenqiming_huawei@163.com>
Date: Sat, 11 Sep 2021 09:47:09 +0800
Subject: [PATCH] net/iavf: fix mbuf leak

[ upstream commit a38df1edd6324f922ca46a043e87b2489f7bc17e ]

A local test found that repeated port start and stop operations during
the continuous SSE vector bufflist receiving process will cause the mbuf
resource to run out. The final positioning is when the port is stopped,
the mbuf of the pkt_first_seg pointer is not released. Resources leak.
The patch scheme is to judge whether the pointer is empty when the port
is stopped, and release the corresponding mbuf if it is not empty.

Fixes: 69dd4c3d0898 ("net/avf: enable queue and device")

Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/iavf_rxtx.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c
index 17468e4ca0..167f7e53b4 100644
--- a/drivers/net/iavf/iavf_rxtx.c
+++ b/drivers/net/iavf/iavf_rxtx.c
@@ -165,6 +165,10 @@ reset_rx_queue(struct iavf_rx_queue *rxq)
 
 	rxq->rx_tail = 0;
 	rxq->nb_rx_hold = 0;
+
+	if (rxq->pkt_first_seg != NULL)
+		rte_pktmbuf_free(rxq->pkt_first_seg);
+
 	rxq->pkt_first_seg = NULL;
 	rxq->pkt_last_seg = NULL;
 	rxq->rxrearm_nb = 0;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:08.059686882 +0100
+++ 0034-net-iavf-fix-mbuf-leak.patch	2021-11-30 16:50:05.642872444 +0100
@@ -1 +1 @@
-From a38df1edd6324f922ca46a043e87b2489f7bc17e Mon Sep 17 00:00:00 2001
+From a0422d6ce7d4043f4ea30e63e5df38abd7cba7dc Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a38df1edd6324f922ca46a043e87b2489f7bc17e ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index e33fe4576b..7240e70f9e 100644
+index 17468e4ca0..167f7e53b4 100644
@@ -26 +27 @@
-@@ -225,6 +225,10 @@ reset_rx_queue(struct iavf_rx_queue *rxq)
+@@ -165,6 +165,10 @@ reset_rx_queue(struct iavf_rx_queue *rxq)

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

* patch 'net/i40e/base: fix resource leakage' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (32 preceding siblings ...)
  2021-11-30 16:33 ` patch 'net/iavf: fix mbuf leak' " christian.ehrhardt
@ 2021-11-30 16:33 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'net/iavf: fix Rx queue buffer size alignment' " christian.ehrhardt
                   ` (125 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:33 UTC (permalink / raw)
  To: Qiming Chen; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From c0773b56c2bc757589dd70411f8b118e55f78031 Mon Sep 17 00:00:00 2001
From: Qiming Chen <chenqiming_huawei@163.com>
Date: Sat, 21 Aug 2021 14:30:08 +0800
Subject: [PATCH] net/i40e/base: fix resource leakage

[ upstream commit 071eb26fb53914aafda4aa33356f65d2c7a2e4e0 ]

In the i40e_init_arq function, when the i40e_config_arq_regs function
returns from processing failure, the previously applied arq_bufs resource
is not released, which leads to leakage.
The patch is processed in the same way as the i40e_init_asq function,
maintaining a unified coding style.

Fixes: 49ea51605be4 ("net/i40e/base: gracefully clean the resources")

Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/i40e/base/i40e_adminq.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/net/i40e/base/i40e_adminq.c b/drivers/net/i40e/base/i40e_adminq.c
index 584da0383c..0c07ff0045 100644
--- a/drivers/net/i40e/base/i40e_adminq.c
+++ b/drivers/net/i40e/base/i40e_adminq.c
@@ -468,7 +468,7 @@ enum i40e_status_code i40e_init_arq(struct i40e_hw *hw)
 	/* initialize base registers */
 	ret_code = i40e_config_arq_regs(hw);
 	if (ret_code != I40E_SUCCESS)
-		goto init_adminq_free_rings;
+		goto init_config_regs;
 
 	/* success! */
 	hw->aq.arq.count = hw->aq.num_arq_entries;
@@ -476,6 +476,10 @@ enum i40e_status_code i40e_init_arq(struct i40e_hw *hw)
 
 init_adminq_free_rings:
 	i40e_free_adminq_arq(hw);
+	return ret_code;
+
+init_config_regs:
+	i40e_free_arq_bufs(hw);
 
 init_adminq_exit:
 	return ret_code;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:08.113221633 +0100
+++ 0035-net-i40e-base-fix-resource-leakage.patch	2021-11-30 16:50:05.642872444 +0100
@@ -1 +1 @@
-From 071eb26fb53914aafda4aa33356f65d2c7a2e4e0 Mon Sep 17 00:00:00 2001
+From c0773b56c2bc757589dd70411f8b118e55f78031 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 071eb26fb53914aafda4aa33356f65d2c7a2e4e0 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 0da45f03e4..235667d57a 100644
+index 584da0383c..0c07ff0045 100644

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

* patch 'net/iavf: fix Rx queue buffer size alignment' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (33 preceding siblings ...)
  2021-11-30 16:33 ` patch 'net/i40e/base: fix resource leakage' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'doc: fix numbers power of 2 in LPM6 guide' " christian.ehrhardt
                   ` (124 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Qiming Chen; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From a7be123dcb3561887183b099630beb5c2f63d04f Mon Sep 17 00:00:00 2001
From: Qiming Chen <chenqiming_huawei@163.com>
Date: Sat, 11 Sep 2021 10:07:56 +0800
Subject: [PATCH] net/iavf: fix Rx queue buffer size alignment

[ upstream commit c9c45beb1b97eed3fbf05095e376823fc58c9aa7 ]

The RTE_ALIGN macro is aligned upwards. If the buf_size variable is not
aligned with 1 << I40E_RXQ_CTX_DBUFF_SHIFT, the rx_buf_len is larger than
the actual mbuf memory after the operation. When receiving the packet, if
the packet is larger than the configured buf_size, it will cause a memory
stepping event.

The patch uses the RTE_ALIGN_FLOOR down alignment macro to correct the
problem.

Fixes: 69dd4c3d0898 ("net/avf: enable queue and device")

Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/iavf_rxtx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c
index 167f7e53b4..bc67712d9c 100644
--- a/drivers/net/iavf/iavf_rxtx.c
+++ b/drivers/net/iavf/iavf_rxtx.c
@@ -362,7 +362,7 @@ iavf_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
 	rxq->rx_hdr_len = 0;
 
 	len = rte_pktmbuf_data_room_size(rxq->mp) - RTE_PKTMBUF_HEADROOM;
-	rxq->rx_buf_len = RTE_ALIGN(len, (1 << IAVF_RXQ_CTX_DBUFF_SHIFT));
+	rxq->rx_buf_len = RTE_ALIGN_FLOOR(len, (1 << IAVF_RXQ_CTX_DBUFF_SHIFT));
 
 	/* Allocate the software ring. */
 	len = nb_desc + IAVF_RX_MAX_BURST;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:08.178572470 +0100
+++ 0036-net-iavf-fix-Rx-queue-buffer-size-alignment.patch	2021-11-30 16:50:05.646872473 +0100
@@ -1 +1 @@
-From c9c45beb1b97eed3fbf05095e376823fc58c9aa7 Mon Sep 17 00:00:00 2001
+From a7be123dcb3561887183b099630beb5c2f63d04f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c9c45beb1b97eed3fbf05095e376823fc58c9aa7 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index 7240e70f9e..6de8ad3fe3 100644
+index 167f7e53b4..bc67712d9c 100644
@@ -28,2 +29,2 @@
-@@ -619,7 +619,7 @@ iavf_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
- 		rxq->crc_len = 0;
+@@ -362,7 +362,7 @@ iavf_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
+ 	rxq->rx_hdr_len = 0;

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

* patch 'doc: fix numbers power of 2 in LPM6 guide' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (34 preceding siblings ...)
  2021-11-30 16:34 ` patch 'net/iavf: fix Rx queue buffer size alignment' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'stack: fix reload head when pop fails' " christian.ehrhardt
                   ` (123 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Ben Pfaff; +Cc: David Marchand, Vladimir Medvedkin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From fc80aaf9ffa8dd6747c9b9515303f7a4f3b52a2b Mon Sep 17 00:00:00 2001
From: Ben Pfaff <blp@ovn.org>
Date: Mon, 13 Sep 2021 11:46:43 -0700
Subject: [PATCH] doc: fix numbers power of 2 in LPM6 guide

[ upstream commit e0ad8d2bdafcd74eb960bf96507fed11cc97d58c ]

Fixes: fc1f2750a3ec ("doc: programmers guide")

Signed-off-by: Ben Pfaff <blp@ovn.org>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Acked-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
---
 doc/guides/prog_guide/lpm6_lib.rst | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/doc/guides/prog_guide/lpm6_lib.rst b/doc/guides/prog_guide/lpm6_lib.rst
index d1aea91ca9..8425d14805 100644
--- a/doc/guides/prog_guide/lpm6_lib.rst
+++ b/doc/guides/prog_guide/lpm6_lib.rst
@@ -64,9 +64,9 @@ that are most commonly used in IPv6.
 
 The main data structure is built using the following elements:
 
-*   A table with 224 entries
+*   A table with 2^24 entries
 
-*   A number of tables, configurable by the user through the API, with 28 entries
+*   A number of tables, configurable by the user through the API, with 2^8 entries
 
 The first table, called tbl24, is indexed using the first 24 bits of the IP address be looked up,
 while the rest of the tables, called tbl8s,
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:08.233423151 +0100
+++ 0037-doc-fix-numbers-power-of-2-in-LPM6-guide.patch	2021-11-30 16:50:05.646872473 +0100
@@ -1 +1 @@
-From e0ad8d2bdafcd74eb960bf96507fed11cc97d58c Mon Sep 17 00:00:00 2001
+From fc80aaf9ffa8dd6747c9b9515303f7a4f3b52a2b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e0ad8d2bdafcd74eb960bf96507fed11cc97d58c ]
+
@@ -7 +8,0 @@
-Cc: stable@dpdk.org

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

* patch 'stack: fix reload head when pop fails' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (35 preceding siblings ...)
  2021-11-30 16:34 ` patch 'doc: fix numbers power of 2 in LPM6 guide' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'test/compress: fix buffer overflow' " christian.ehrhardt
                   ` (122 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Julien Meunier; +Cc: Olivier Matz, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From fd91b764200967366d9711219d408ebb6cbb14d1 Mon Sep 17 00:00:00 2001
From: Julien Meunier <julien.meunier@nokia.com>
Date: Tue, 21 Sep 2021 18:17:24 +0200
Subject: [PATCH] stack: fix reload head when pop fails

[ upstream commit 6ded44bce4d3e5f4fce66f00ce0638ebc866911f ]

The previous commit 18effad9cfa7 ("stack: reload head when pop fails")
only changed C11 implementation, not generic implementation.

List head must be loaded right before continue (when failed to find the
new head). Without this, one thread might keep trying and failing to pop
items without ever loading the new correct head.

Fixes: 3340202f5954 ("stack: add lock-free implementation")

Signed-off-by: Julien Meunier <julien.meunier@nokia.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
---
 lib/librte_stack/rte_stack_lf_generic.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/librte_stack/rte_stack_lf_generic.h b/lib/librte_stack/rte_stack_lf_generic.h
index 4850a05ee7..7fa29cedb2 100644
--- a/lib/librte_stack/rte_stack_lf_generic.h
+++ b/lib/librte_stack/rte_stack_lf_generic.h
@@ -128,8 +128,10 @@ __rte_stack_lf_pop_elems(struct rte_stack_lf_list *list,
 		/* If NULL was encountered, the list was modified while
 		 * traversing it. Retry.
 		 */
-		if (i != num)
+		if (i != num) {
+			old_head = list->head;
 			continue;
+		}
 
 		new_head.top = tmp;
 		new_head.cnt = old_head.cnt + 1;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:08.291034836 +0100
+++ 0038-stack-fix-reload-head-when-pop-fails.patch	2021-11-30 16:50:05.646872473 +0100
@@ -1 +1 @@
-From 6ded44bce4d3e5f4fce66f00ce0638ebc866911f Mon Sep 17 00:00:00 2001
+From fd91b764200967366d9711219d408ebb6cbb14d1 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 6ded44bce4d3e5f4fce66f00ce0638ebc866911f ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
- lib/stack/rte_stack_lf_generic.h | 4 +++-
+ lib/librte_stack/rte_stack_lf_generic.h | 4 +++-
@@ -22 +23 @@
-diff --git a/lib/stack/rte_stack_lf_generic.h b/lib/stack/rte_stack_lf_generic.h
+diff --git a/lib/librte_stack/rte_stack_lf_generic.h b/lib/librte_stack/rte_stack_lf_generic.h
@@ -24,2 +25,2 @@
---- a/lib/stack/rte_stack_lf_generic.h
-+++ b/lib/stack/rte_stack_lf_generic.h
+--- a/lib/librte_stack/rte_stack_lf_generic.h
++++ b/lib/librte_stack/rte_stack_lf_generic.h

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

* patch 'test/compress: fix buffer overflow' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (36 preceding siblings ...)
  2021-11-30 16:34 ` patch 'stack: fix reload head when pop fails' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'net/memif: fix chained mbuf determination' " christian.ehrhardt
                   ` (121 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Rebecca Troy; +Cc: Fan Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/9228c06157107faf11dac32d1dba7f268bf73d2e

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 9228c06157107faf11dac32d1dba7f268bf73d2e Mon Sep 17 00:00:00 2001
From: Rebecca Troy <rebecca.troy@intel.com>
Date: Fri, 17 Sep 2021 15:12:07 +0000
Subject: [PATCH] test/compress: fix buffer overflow

[ upstream commit 96fe84f42a361382b89f462873edae7c1236c303 ]

Fixes stack buffer overflow bug in compressdev autotest, which
was caused by the use of buf_idx in the debug logs. Originally, buf_idx
was treated as an array instead of the reference of an integer.
This was fixed by replacing the use of buf_idx[priv_data->orig_idx] with
the variable i.

Fixes: 466a2c4bb5f4 ("test/compress: improve debug logs")
Fixes: 6bbc5a923625 ("test/compress: refactor unit tests")

Signed-off-by: Rebecca Troy <rebecca.troy@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
---
 app/test/test_compressdev.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/app/test/test_compressdev.c b/app/test/test_compressdev.c
index 7549135c25..310f37cfa0 100644
--- a/app/test/test_compressdev.c
+++ b/app/test/test_compressdev.c
@@ -1359,7 +1359,6 @@ test_deflate_comp_finalize(const struct interim_data_params *int_data,
 	/* from int_data: */
 	unsigned int num_xforms = int_data->num_xforms;
 	struct rte_comp_xform **compress_xforms = int_data->compress_xforms;
-	uint16_t *buf_idx = int_data->buf_idx;
 	unsigned int num_bufs = int_data->num_bufs;
 
 	/* from test_priv_data: */
@@ -1390,7 +1389,7 @@ test_deflate_comp_finalize(const struct interim_data_params *int_data,
 
 		RTE_LOG(DEBUG, USER1, "Buffer %u compressed by %s from %u to"
 			" %u bytes (level = %d, huffman = %s)\n",
-			buf_idx[priv_data->orig_idx], engine,
+			i, engine,
 			ops_processed[i]->consumed, ops_processed[i]->produced,
 			compress_xform->level,
 			huffman_type_strings[huffman_type]);
@@ -1681,7 +1680,6 @@ test_deflate_decomp_finalize(const struct interim_data_params *int_data,
 	static unsigned int step;
 
 	/* from int_data: */
-	uint16_t *buf_idx = int_data->buf_idx;
 	unsigned int num_bufs = int_data->num_bufs;
 	const char * const *test_bufs = int_data->test_bufs;
 	struct rte_comp_xform **compress_xforms = int_data->compress_xforms;
@@ -1713,7 +1711,7 @@ test_deflate_decomp_finalize(const struct interim_data_params *int_data,
 			strlcpy(engine, "pmd", sizeof(engine));
 		RTE_LOG(DEBUG, USER1,
 			"Buffer %u decompressed by %s from %u to %u bytes\n",
-			buf_idx[priv_data->orig_idx], engine,
+			i, engine,
 			ops_processed[i]->consumed, ops_processed[i]->produced);
 		ops[i] = NULL;
 	}
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:08.348877905 +0100
+++ 0039-test-compress-fix-buffer-overflow.patch	2021-11-30 16:50:05.650872502 +0100
@@ -1 +1 @@
-From 96fe84f42a361382b89f462873edae7c1236c303 Mon Sep 17 00:00:00 2001
+From 9228c06157107faf11dac32d1dba7f268bf73d2e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 96fe84f42a361382b89f462873edae7c1236c303 ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index 0571c17ecb..a1b9f06250 100644
+index 7549135c25..310f37cfa0 100644
@@ -26 +27 @@
-@@ -1411,7 +1411,6 @@ test_deflate_comp_finalize(const struct interim_data_params *int_data,
+@@ -1359,7 +1359,6 @@ test_deflate_comp_finalize(const struct interim_data_params *int_data,
@@ -34 +35 @@
-@@ -1442,7 +1441,7 @@ test_deflate_comp_finalize(const struct interim_data_params *int_data,
+@@ -1390,7 +1389,7 @@ test_deflate_comp_finalize(const struct interim_data_params *int_data,
@@ -43 +44 @@
-@@ -1734,7 +1733,6 @@ test_deflate_decomp_finalize(const struct interim_data_params *int_data,
+@@ -1681,7 +1680,6 @@ test_deflate_decomp_finalize(const struct interim_data_params *int_data,
@@ -51 +52 @@
-@@ -1766,7 +1764,7 @@ test_deflate_decomp_finalize(const struct interim_data_params *int_data,
+@@ -1713,7 +1711,7 @@ test_deflate_decomp_finalize(const struct interim_data_params *int_data,

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

* patch 'net/memif: fix chained mbuf determination' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (37 preceding siblings ...)
  2021-11-30 16:34 ` patch 'test/compress: fix buffer overflow' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'ring: fix Doxygen comment of internal function' " christian.ehrhardt
                   ` (120 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Junxiao Shi; +Cc: Jakub Grajciar, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/331267709a220bd79e72a8455bad2affb7c05119

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 331267709a220bd79e72a8455bad2affb7c05119 Mon Sep 17 00:00:00 2001
From: Junxiao Shi <git@mail1.yoursunny.com>
Date: Thu, 9 Sep 2021 14:42:06 +0000
Subject: [PATCH] net/memif: fix chained mbuf determination

[ upstream commit 3e3f736e50fba910d1d484b9c763d884dff6688f ]

Previously, TX functions call rte_pktmbuf_is_contiguous to determine
whether an mbuf is chained. However, rte_pktmbuf_is_contiguous is
designed to work on the first mbuf of a packet only. In case a packet
contains three or more segment mbufs in a chain, it may cause truncated
packets or rte_mbuf_sanity_check panics.

This patch updates TX functions to determine chained mbufs using
mbuf_head->nb_segs field, which works in all cases. Moreover, it
maintains that the second cacheline is only accessed when chained mbuf
is actually present.

Fixes: 09c7e63a71f9 ("net/memif: introduce memory interface PMD")
Fixes: 43b815d88188 ("net/memif: support zero-copy slave")

Signed-off-by: Junxiao Shi <git@mail1.yoursunny.com>
Reviewed-by: Jakub Grajciar <jgrajcia@cisco.com>
---
 drivers/net/memif/rte_eth_memif.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/net/memif/rte_eth_memif.c b/drivers/net/memif/rte_eth_memif.c
index e275366720..13758c6d9e 100644
--- a/drivers/net/memif/rte_eth_memif.c
+++ b/drivers/net/memif/rte_eth_memif.c
@@ -190,6 +190,7 @@ memif_dev_info(struct rte_eth_dev *dev __rte_unused, struct rte_eth_dev_info *de
 	dev_info->max_rx_queues = ETH_MEMIF_MAX_NUM_Q_PAIRS;
 	dev_info->max_tx_queues = ETH_MEMIF_MAX_NUM_Q_PAIRS;
 	dev_info->min_rx_bufsize = 0;
+	dev_info->tx_offload_capa = DEV_TX_OFFLOAD_MULTI_SEGS;
 
 	return 0;
 }
@@ -540,7 +541,7 @@ eth_memif_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
 		rte_eth_devices[mq->in_port].process_private;
 	memif_ring_t *ring = memif_get_ring_from_queue(proc_private, mq);
 	uint16_t slot, saved_slot, n_free, ring_size, mask, n_tx_pkts = 0;
-	uint16_t src_len, src_off, dst_len, dst_off, cp_len;
+	uint16_t src_len, src_off, dst_len, dst_off, cp_len, nb_segs;
 	memif_ring_type_t type = mq->type;
 	memif_desc_t *d0;
 	struct rte_mbuf *mbuf;
@@ -588,6 +589,7 @@ eth_memif_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
 
 	while (n_tx_pkts < nb_pkts && n_free) {
 		mbuf_head = *bufs++;
+		nb_segs = mbuf_head->nb_segs;
 		mbuf = mbuf_head;
 
 		saved_slot = slot;
@@ -631,7 +633,7 @@ next_in_chain:
 			d0->length = dst_off;
 		}
 
-		if (rte_pktmbuf_is_contiguous(mbuf) == 0) {
+		if (--nb_segs > 0) {
 			mbuf = mbuf->next;
 			goto next_in_chain;
 		}
@@ -668,6 +670,7 @@ memif_tx_one_zc(struct pmd_process_private *proc_private, struct memif_queue *mq
 		uint16_t slot, uint16_t n_free)
 {
 	memif_desc_t *d0;
+	uint16_t nb_segs = mbuf->nb_segs;
 	int used_slots = 1;
 
 next_in_chain:
@@ -688,7 +691,7 @@ next_in_chain:
 	d0->flags = 0;
 
 	/* check if buffer is chained */
-	if (rte_pktmbuf_is_contiguous(mbuf) == 0) {
+	if (--nb_segs > 0) {
 		if (n_free < 2)
 			return 0;
 		/* mark buffer as chained */
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:08.411404472 +0100
+++ 0040-net-memif-fix-chained-mbuf-determination.patch	2021-11-30 16:50:05.654872532 +0100
@@ -1 +1 @@
-From 3e3f736e50fba910d1d484b9c763d884dff6688f Mon Sep 17 00:00:00 2001
+From 331267709a220bd79e72a8455bad2affb7c05119 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3e3f736e50fba910d1d484b9c763d884dff6688f ]
+
@@ -19 +20,0 @@
-Cc: stable@dpdk.org
@@ -28 +29 @@
-index de6becd45e..fd9e877c3d 100644
+index e275366720..13758c6d9e 100644
@@ -31 +32 @@
-@@ -199,6 +199,7 @@ memif_dev_info(struct rte_eth_dev *dev __rte_unused, struct rte_eth_dev_info *de
+@@ -190,6 +190,7 @@ memif_dev_info(struct rte_eth_dev *dev __rte_unused, struct rte_eth_dev_info *de
@@ -39 +40 @@
-@@ -567,7 +568,7 @@ eth_memif_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
+@@ -540,7 +541,7 @@ eth_memif_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
@@ -48 +49 @@
-@@ -615,6 +616,7 @@ eth_memif_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
+@@ -588,6 +589,7 @@ eth_memif_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
@@ -56 +57 @@
-@@ -659,7 +661,7 @@ next_in_chain:
+@@ -631,7 +633,7 @@ next_in_chain:
@@ -65 +66 @@
-@@ -696,6 +698,7 @@ memif_tx_one_zc(struct pmd_process_private *proc_private, struct memif_queue *mq
+@@ -668,6 +670,7 @@ memif_tx_one_zc(struct pmd_process_private *proc_private, struct memif_queue *mq
@@ -73 +74 @@
-@@ -716,7 +719,7 @@ next_in_chain:
+@@ -688,7 +691,7 @@ next_in_chain:

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

* patch 'ring: fix Doxygen comment of internal function' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (38 preceding siblings ...)
  2021-11-30 16:34 ` patch 'net/memif: fix chained mbuf determination' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'bitrate: fix registration to match API description' " christian.ehrhardt
                   ` (119 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Cian Ferriter; +Cc: Honnappa Nagarahalli, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/701d4730ef56b667c6b89118378b9dfe09a5f8ac

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 701d4730ef56b667c6b89118378b9dfe09a5f8ac Mon Sep 17 00:00:00 2001
From: Cian Ferriter <cian.ferriter@intel.com>
Date: Mon, 23 Aug 2021 18:28:44 +0100
Subject: [PATCH] ring: fix Doxygen comment of internal function

[ upstream commit 0203a14c72da4ae726056a147cb6e51622c9c28e ]

Change "enqueue" to "dequeue" because the __rte_ring_move_cons_head()
function is updating the consumer head for dequeue.

Fixes: 0dfc98c507b1 ("ring: separate out head index manipulation")

Signed-off-by: Cian Ferriter <cian.ferriter@intel.com>
Acked-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
---
 lib/librte_ring/rte_ring_c11_mem.h | 2 +-
 lib/librte_ring/rte_ring_generic.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/librte_ring/rte_ring_c11_mem.h b/lib/librte_ring/rte_ring_c11_mem.h
index 0fb73a3371..ae886532ee 100644
--- a/lib/librte_ring/rte_ring_c11_mem.h
+++ b/lib/librte_ring/rte_ring_c11_mem.h
@@ -111,7 +111,7 @@ __rte_ring_move_prod_head(struct rte_ring *r, unsigned int is_sp,
  * @param is_sc
  *   Indicates whether multi-consumer path is needed or not
  * @param n
- *   The number of elements we will want to enqueue, i.e. how far should the
+ *   The number of elements we will want to dequeue, i.e. how far should the
  *   head be moved
  * @param behavior
  *   RTE_RING_QUEUE_FIXED:    Dequeue a fixed number of items from a ring
diff --git a/lib/librte_ring/rte_ring_generic.h b/lib/librte_ring/rte_ring_generic.h
index 953cdbbd5e..79ae4ecb14 100644
--- a/lib/librte_ring/rte_ring_generic.h
+++ b/lib/librte_ring/rte_ring_generic.h
@@ -107,7 +107,7 @@ __rte_ring_move_prod_head(struct rte_ring *r, unsigned int is_sp,
  * @param is_sc
  *   Indicates whether multi-consumer path is needed or not
  * @param n
- *   The number of elements we will want to enqueue, i.e. how far should the
+ *   The number of elements we will want to dequeue, i.e. how far should the
  *   head be moved
  * @param behavior
  *   RTE_RING_QUEUE_FIXED:    Dequeue a fixed number of items from a ring
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:08.468356792 +0100
+++ 0041-ring-fix-Doxygen-comment-of-internal-function.patch	2021-11-30 16:50:05.654872532 +0100
@@ -1 +1 @@
-From 0203a14c72da4ae726056a147cb6e51622c9c28e Mon Sep 17 00:00:00 2001
+From 701d4730ef56b667c6b89118378b9dfe09a5f8ac Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 0203a14c72da4ae726056a147cb6e51622c9c28e ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -15,2 +16,2 @@
- lib/ring/rte_ring_c11_pvt.h     | 2 +-
- lib/ring/rte_ring_generic_pvt.h | 2 +-
+ lib/librte_ring/rte_ring_c11_mem.h | 2 +-
+ lib/librte_ring/rte_ring_generic.h | 2 +-
@@ -19,4 +20,4 @@
-diff --git a/lib/ring/rte_ring_c11_pvt.h b/lib/ring/rte_ring_c11_pvt.h
-index 37e0b2afd6..f895950df4 100644
---- a/lib/ring/rte_ring_c11_pvt.h
-+++ b/lib/ring/rte_ring_c11_pvt.h
+diff --git a/lib/librte_ring/rte_ring_c11_mem.h b/lib/librte_ring/rte_ring_c11_mem.h
+index 0fb73a3371..ae886532ee 100644
+--- a/lib/librte_ring/rte_ring_c11_mem.h
++++ b/lib/librte_ring/rte_ring_c11_mem.h
@@ -32,5 +33,5 @@
-diff --git a/lib/ring/rte_ring_generic_pvt.h b/lib/ring/rte_ring_generic_pvt.h
-index c95ad7e12c..5acb6e59be 100644
---- a/lib/ring/rte_ring_generic_pvt.h
-+++ b/lib/ring/rte_ring_generic_pvt.h
-@@ -106,7 +106,7 @@ __rte_ring_move_prod_head(struct rte_ring *r, unsigned int is_sp,
+diff --git a/lib/librte_ring/rte_ring_generic.h b/lib/librte_ring/rte_ring_generic.h
+index 953cdbbd5e..79ae4ecb14 100644
+--- a/lib/librte_ring/rte_ring_generic.h
++++ b/lib/librte_ring/rte_ring_generic.h
+@@ -107,7 +107,7 @@ __rte_ring_move_prod_head(struct rte_ring *r, unsigned int is_sp,

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

* patch 'bitrate: fix registration to match API description' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (39 preceding siblings ...)
  2021-11-30 16:34 ` patch 'ring: fix Doxygen comment of internal function' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'bitrate: fix calculation " christian.ehrhardt
                   ` (118 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Kevin Traynor; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/88d15937b14b6a248d570982cb3f81032a0d4183

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 88d15937b14b6a248d570982cb3f81032a0d4183 Mon Sep 17 00:00:00 2001
From: Kevin Traynor <ktraynor@redhat.com>
Date: Fri, 9 Jul 2021 16:19:36 +0100
Subject: [PATCH] bitrate: fix registration to match API description

[ upstream commit 06ae9f0f92cf3bb85549f66dc3dfa11011d7db0f ]

rte_stats_bitrate_reg() API states it returns 'Zero on success'.

However, the implementation directly returns the return of
rte_metrics_reg_names() which may be zero or positive on success,
with a positive value also indicating the index.

The user of rte_stats_bitrate_reg() should not care about the
index as it is stored in the opaque rte_stats_bitrates struct.

Change the implementation of rte_stats_bitrate_reg() to match
the API description by always returning zero on success.

Fixes: 2ad7ba9a6567 ("bitrate: add bitrate statistics library")

Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
---
 lib/librte_bitratestats/rte_bitrate.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/librte_bitratestats/rte_bitrate.c b/lib/librte_bitratestats/rte_bitrate.c
index d18152365e..b2d17c8e11 100644
--- a/lib/librte_bitratestats/rte_bitrate.c
+++ b/lib/librte_bitratestats/rte_bitrate.c
@@ -49,8 +49,10 @@ rte_stats_bitrate_reg(struct rte_stats_bitrates *bitrate_data)
 		return -EINVAL;
 
 	return_value = rte_metrics_reg_names(&names[0], RTE_DIM(names));
-	if (return_value >= 0)
+	if (return_value >= 0) {
 		bitrate_data->id_stats_set = return_value;
+		return 0;
+	}
 	return return_value;
 }
 
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:08.517523848 +0100
+++ 0042-bitrate-fix-registration-to-match-API-description.patch	2021-11-30 16:50:05.654872532 +0100
@@ -1 +1 @@
-From 06ae9f0f92cf3bb85549f66dc3dfa11011d7db0f Mon Sep 17 00:00:00 2001
+From 88d15937b14b6a248d570982cb3f81032a0d4183 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 06ae9f0f92cf3bb85549f66dc3dfa11011d7db0f ]
+
@@ -22 +24 @@
- lib/bitratestats/rte_bitrate.c | 4 +++-
+ lib/librte_bitratestats/rte_bitrate.c | 4 +++-
@@ -25,5 +27,5 @@
-diff --git a/lib/bitratestats/rte_bitrate.c b/lib/bitratestats/rte_bitrate.c
-index 8fd9f47288..e23e38bc94 100644
---- a/lib/bitratestats/rte_bitrate.c
-+++ b/lib/bitratestats/rte_bitrate.c
-@@ -55,8 +55,10 @@ rte_stats_bitrate_reg(struct rte_stats_bitrates *bitrate_data)
+diff --git a/lib/librte_bitratestats/rte_bitrate.c b/lib/librte_bitratestats/rte_bitrate.c
+index d18152365e..b2d17c8e11 100644
+--- a/lib/librte_bitratestats/rte_bitrate.c
++++ b/lib/librte_bitratestats/rte_bitrate.c
+@@ -49,8 +49,10 @@ rte_stats_bitrate_reg(struct rte_stats_bitrates *bitrate_data)

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

* patch 'bitrate: fix calculation to match API description' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (40 preceding siblings ...)
  2021-11-30 16:34 ` patch 'bitrate: fix registration to match API description' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'efd: allow more CPU sockets in table creation' " christian.ehrhardt
                   ` (117 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Kevin Traynor; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/6cd9c8890bf7abd5cf0484b7d2d4f435ca988603

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 6cd9c8890bf7abd5cf0484b7d2d4f435ca988603 Mon Sep 17 00:00:00 2001
From: Kevin Traynor <ktraynor@redhat.com>
Date: Fri, 9 Jul 2021 16:19:37 +0100
Subject: [PATCH] bitrate: fix calculation to match API description

[ upstream commit bdd478eede455611245593edd43dc49a1d821449 ]

rte_stats_bitrate_calc() API states it returns 'Negative value on error'.

However, the implementation will return the error code from
rte_eth_stats_get() which may be non-zero on error.

Change the implementation of rte_stats_bitrate_calc() to match
the API description by always returning a negative value on error.

Fixes: 2ad7ba9a6567 ("bitrate: add bitrate statistics library")

Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
---
 lib/librte_bitratestats/rte_bitrate.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_bitratestats/rte_bitrate.c b/lib/librte_bitratestats/rte_bitrate.c
index b2d17c8e11..e7f5a9aee7 100644
--- a/lib/librte_bitratestats/rte_bitrate.c
+++ b/lib/librte_bitratestats/rte_bitrate.c
@@ -74,7 +74,7 @@ rte_stats_bitrate_calc(struct rte_stats_bitrates *bitrate_data,
 
 	ret_code = rte_eth_stats_get(port_id, &eth_stats);
 	if (ret_code != 0)
-		return ret_code;
+		return ret_code < 0 ? ret_code : -ret_code;
 
 	port_data = &bitrate_data->port_stats[port_id];
 
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:08.572670246 +0100
+++ 0043-bitrate-fix-calculation-to-match-API-description.patch	2021-11-30 16:50:05.654872532 +0100
@@ -1 +1 @@
-From bdd478eede455611245593edd43dc49a1d821449 Mon Sep 17 00:00:00 2001
+From 6cd9c8890bf7abd5cf0484b7d2d4f435ca988603 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit bdd478eede455611245593edd43dc49a1d821449 ]
+
@@ -18 +20 @@
- lib/bitratestats/rte_bitrate.c | 2 +-
+ lib/librte_bitratestats/rte_bitrate.c | 2 +-
@@ -21,5 +23,5 @@
-diff --git a/lib/bitratestats/rte_bitrate.c b/lib/bitratestats/rte_bitrate.c
-index e23e38bc94..1664e4863b 100644
---- a/lib/bitratestats/rte_bitrate.c
-+++ b/lib/bitratestats/rte_bitrate.c
-@@ -80,7 +80,7 @@ rte_stats_bitrate_calc(struct rte_stats_bitrates *bitrate_data,
+diff --git a/lib/librte_bitratestats/rte_bitrate.c b/lib/librte_bitratestats/rte_bitrate.c
+index b2d17c8e11..e7f5a9aee7 100644
+--- a/lib/librte_bitratestats/rte_bitrate.c
++++ b/lib/librte_bitratestats/rte_bitrate.c
+@@ -74,7 +74,7 @@ rte_stats_bitrate_calc(struct rte_stats_bitrates *bitrate_data,

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

* patch 'efd: allow more CPU sockets in table creation' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (41 preceding siblings ...)
  2021-11-30 16:34 ` patch 'bitrate: fix calculation " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'eal/freebsd: lock memory device to prevent conflicts' " christian.ehrhardt
                   ` (116 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Pablo de Lara; +Cc: John McNamara, Yipeng Wang, David Christensen, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/6cf6872c059b56665f44563e30e43eed8f1031f0

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 6cf6872c059b56665f44563e30e43eed8f1031f0 Mon Sep 17 00:00:00 2001
From: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Date: Tue, 28 Sep 2021 13:58:39 +0000
Subject: [PATCH] efd: allow more CPU sockets in table creation

[ upstream commit 8751a7e9832b2908d28aae4f1bac9babe4f9ded1 ]

rte_efd_create() function was using uint8_t for a socket bitmask,
for one of its parameters.
This limits the maximum of NUMA sockets to be 8.
Changing to uint64_t increases it to 64, which should be
more future-proof.

Coverity issue: 366390
Fixes: 56b6ef874f8 ("efd: new Elastic Flow Distributor library")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Yipeng Wang <yipeng1.wang@intel.com>
Tested-by: David Christensen <drc@linux.vnet.ibm.com>
---
 app/test/test_efd.c      | 5 +++--
 app/test/test_efd_perf.c | 4 ++--
 lib/librte_efd/rte_efd.c | 2 +-
 lib/librte_efd/rte_efd.h | 2 +-
 4 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/app/test/test_efd.c b/app/test/test_efd.c
index a779a71f2d..1f443c7d92 100644
--- a/app/test/test_efd.c
+++ b/app/test/test_efd.c
@@ -96,9 +96,9 @@ static struct flow_key keys[5] = {
 /* Array to store the data */
 static efd_value_t data[5];
 
-static inline uint8_t efd_get_all_sockets_bitmask(void)
+static inline uint64_t efd_get_all_sockets_bitmask(void)
 {
-	uint8_t all_cpu_sockets_bitmask = 0;
+	uint64_t all_cpu_sockets_bitmask = 0;
 	unsigned int i;
 	unsigned int next_lcore = rte_get_master_lcore();
 	const int val_true = 1, val_false = 0;
@@ -448,6 +448,7 @@ static int test_efd_creation_with_bad_parameters(void)
 static int
 test_efd(void)
 {
+	test_socket_id = rte_socket_id();
 
 	/* Unit tests */
 	if (test_add_delete() < 0)
diff --git a/app/test/test_efd_perf.c b/app/test/test_efd_perf.c
index d47622d5ca..c7d6e1e426 100644
--- a/app/test/test_efd_perf.c
+++ b/app/test/test_efd_perf.c
@@ -29,9 +29,9 @@
 #endif
 static unsigned int test_socket_id;
 
-static inline uint8_t efd_get_all_sockets_bitmask(void)
+static inline uint64_t efd_get_all_sockets_bitmask(void)
 {
-	uint8_t all_cpu_sockets_bitmask = 0;
+	uint64_t all_cpu_sockets_bitmask = 0;
 	unsigned int i;
 	unsigned int next_lcore = rte_get_master_lcore();
 	const int val_true = 1, val_false = 0;
diff --git a/lib/librte_efd/rte_efd.c b/lib/librte_efd/rte_efd.c
index 3fd1f1c97b..7b72e8572f 100644
--- a/lib/librte_efd/rte_efd.c
+++ b/lib/librte_efd/rte_efd.c
@@ -494,7 +494,7 @@ efd_search_hash(struct rte_efd_table * const table,
 
 struct rte_efd_table *
 rte_efd_create(const char *name, uint32_t max_num_rules, uint32_t key_len,
-		uint8_t online_cpu_socket_bitmask, uint8_t offline_cpu_socket)
+		uint64_t online_cpu_socket_bitmask, uint8_t offline_cpu_socket)
 {
 	struct rte_efd_table *table = NULL;
 	uint8_t *key_array = NULL;
diff --git a/lib/librte_efd/rte_efd.h b/lib/librte_efd/rte_efd.h
index c2be4c09ae..d3d7befd0c 100644
--- a/lib/librte_efd/rte_efd.h
+++ b/lib/librte_efd/rte_efd.h
@@ -139,7 +139,7 @@ typedef uint16_t efd_hashfunc_t;
  */
 struct rte_efd_table *
 rte_efd_create(const char *name, uint32_t max_num_rules, uint32_t key_len,
-	uint8_t online_cpu_socket_bitmask, uint8_t offline_cpu_socket);
+	uint64_t online_cpu_socket_bitmask, uint8_t offline_cpu_socket);
 
 /**
  * Releases the resources from an EFD table
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:08.628977870 +0100
+++ 0044-efd-allow-more-CPU-sockets-in-table-creation.patch	2021-11-30 16:50:05.658872561 +0100
@@ -1 +1 @@
-From 8751a7e9832b2908d28aae4f1bac9babe4f9ded1 Mon Sep 17 00:00:00 2001
+From 6cf6872c059b56665f44563e30e43eed8f1031f0 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 8751a7e9832b2908d28aae4f1bac9babe4f9ded1 ]
+
@@ -22,2 +24,2 @@
- lib/efd/rte_efd.c        | 2 +-
- lib/efd/rte_efd.h        | 2 +-
+ lib/librte_efd/rte_efd.c | 2 +-
+ lib/librte_efd/rte_efd.h | 2 +-
@@ -27 +29 @@
-index 180dc4748e..1b249e0447 100644
+index a779a71f2d..1f443c7d92 100644
@@ -30 +32 @@
-@@ -91,9 +91,9 @@ static struct flow_key keys[5] = {
+@@ -96,9 +96,9 @@ static struct flow_key keys[5] = {
@@ -40 +42 @@
- 	unsigned int next_lcore = rte_get_main_lcore();
+ 	unsigned int next_lcore = rte_get_master_lcore();
@@ -42 +44 @@
-@@ -443,6 +443,7 @@ static int test_efd_creation_with_bad_parameters(void)
+@@ -448,6 +448,7 @@ static int test_efd_creation_with_bad_parameters(void)
@@ -51 +53 @@
-index 1c47704475..f3fe3b1736 100644
+index d47622d5ca..c7d6e1e426 100644
@@ -64 +66 @@
- 	unsigned int next_lcore = rte_get_main_lcore();
+ 	unsigned int next_lcore = rte_get_master_lcore();
@@ -66,5 +68,5 @@
-diff --git a/lib/efd/rte_efd.c b/lib/efd/rte_efd.c
-index 5bf517fee9..86ef46863c 100644
---- a/lib/efd/rte_efd.c
-+++ b/lib/efd/rte_efd.c
-@@ -495,7 +495,7 @@ efd_search_hash(struct rte_efd_table * const table,
+diff --git a/lib/librte_efd/rte_efd.c b/lib/librte_efd/rte_efd.c
+index 3fd1f1c97b..7b72e8572f 100644
+--- a/lib/librte_efd/rte_efd.c
++++ b/lib/librte_efd/rte_efd.c
+@@ -494,7 +494,7 @@ efd_search_hash(struct rte_efd_table * const table,
@@ -79 +81 @@
-diff --git a/lib/efd/rte_efd.h b/lib/efd/rte_efd.h
+diff --git a/lib/librte_efd/rte_efd.h b/lib/librte_efd/rte_efd.h
@@ -81,2 +83,2 @@
---- a/lib/efd/rte_efd.h
-+++ b/lib/efd/rte_efd.h
+--- a/lib/librte_efd/rte_efd.h
++++ b/lib/librte_efd/rte_efd.h

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

* patch 'eal/freebsd: lock memory device to prevent conflicts' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (42 preceding siblings ...)
  2021-11-30 16:34 ` patch 'efd: allow more CPU sockets in table creation' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'test/mem: fix memory autotests on FreeBSD' " christian.ehrhardt
                   ` (115 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Anatoly Burakov, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/33708f0d770a4afad8a65fc507ebc21ff463600a

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 33708f0d770a4afad8a65fc507ebc21ff463600a Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Mon, 13 Sep 2021 15:08:48 +0100
Subject: [PATCH] eal/freebsd: lock memory device to prevent conflicts

[ upstream commit 47a4f2650c71d9197231a95c5df8f89d0f65e882 ]

Only a single DPDK process on the system can be using the /dev/contigmem
mappings at a time, but this was never explicitly enforced, e.g. when
using --in-memory flag on two processes. To prevent possible conflict
issues, we lock the dev node when it's in use, preventing other DPDK
processes from starting up and causing problems for us.

Fixes: 764bf26873b9 ("add FreeBSD support")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 lib/librte_eal/freebsd/eal/eal_hugepage_info.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/librte_eal/freebsd/eal/eal_hugepage_info.c b/lib/librte_eal/freebsd/eal/eal_hugepage_info.c
index 32012e1427..a2327b6edd 100644
--- a/lib/librte_eal/freebsd/eal/eal_hugepage_info.c
+++ b/lib/librte_eal/freebsd/eal/eal_hugepage_info.c
@@ -85,6 +85,10 @@ eal_hugepage_info_init(void)
 		RTE_LOG(ERR, EAL, "could not open "CONTIGMEM_DEV"\n");
 		return -1;
 	}
+	if (flock(fd, LOCK_EX | LOCK_NB) < 0) {
+		RTE_LOG(ERR, EAL, "could not lock memory. Is another DPDK process running?\n");
+		return -1;
+	}
 
 	if (buffer_size >= 1<<30)
 		RTE_LOG(INFO, EAL, "Contigmem driver has %d buffers, each of size %dGB\n",
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:08.684337416 +0100
+++ 0045-eal-freebsd-lock-memory-device-to-prevent-conflicts.patch	2021-11-30 16:50:05.658872561 +0100
@@ -1 +1 @@
-From 47a4f2650c71d9197231a95c5df8f89d0f65e882 Mon Sep 17 00:00:00 2001
+From 33708f0d770a4afad8a65fc507ebc21ff463600a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 47a4f2650c71d9197231a95c5df8f89d0f65e882 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
- lib/eal/freebsd/eal_hugepage_info.c | 4 ++++
+ lib/librte_eal/freebsd/eal/eal_hugepage_info.c | 4 ++++
@@ -21,5 +22,5 @@
-diff --git a/lib/eal/freebsd/eal_hugepage_info.c b/lib/eal/freebsd/eal_hugepage_info.c
-index 408f054f7a..9dbe375bd3 100644
---- a/lib/eal/freebsd/eal_hugepage_info.c
-+++ b/lib/eal/freebsd/eal_hugepage_info.c
-@@ -90,6 +90,10 @@ eal_hugepage_info_init(void)
+diff --git a/lib/librte_eal/freebsd/eal/eal_hugepage_info.c b/lib/librte_eal/freebsd/eal/eal_hugepage_info.c
+index 32012e1427..a2327b6edd 100644
+--- a/lib/librte_eal/freebsd/eal/eal_hugepage_info.c
++++ b/lib/librte_eal/freebsd/eal/eal_hugepage_info.c
+@@ -85,6 +85,10 @@ eal_hugepage_info_init(void)

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

* patch 'test/mem: fix memory autotests on FreeBSD' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (43 preceding siblings ...)
  2021-11-30 16:34 ` patch 'eal/freebsd: lock memory device to prevent conflicts' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'vhost: clean IOTLB cache on vring stop' " christian.ehrhardt
                   ` (114 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Brandon Lo, David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From c1e7394cc9713893ff8520e72eb80ef50b15e230 Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Fri, 17 Sep 2021 16:09:17 +0100
Subject: [PATCH] test/mem: fix memory autotests on FreeBSD

[ upstream commit 086d426406bd3f6fac96a15bbd871c7fe714bc2d ]

The memory autotests were failing on FreeBSD, due to an incorrect errno
variable being checked for ENOTSUP. The test checked "errno" while the
DPDK API sets "rte_errno". Changing to check the right variable makes
the test behave properly.

Fixes: c3e35a0966b8 ("test/mem: check segment fd API")

Reported-by: Brandon Lo <blo@iol.unh.edu>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
---
 app/test/test_memory.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/app/test/test_memory.c b/app/test/test_memory.c
index 7d5ae99bab..dbf6871e71 100644
--- a/app/test/test_memory.c
+++ b/app/test/test_memory.c
@@ -6,6 +6,7 @@
 #include <stdint.h>
 
 #include <rte_eal.h>
+#include <rte_errno.h>
 #include <rte_memory.h>
 #include <rte_common.h>
 #include <rte_memzone.h>
@@ -53,7 +54,7 @@ check_seg_fds(const struct rte_memseg_list *msl, const struct rte_memseg *ms,
 		/* ENOTSUP means segment is valid, but there is not support for
 		 * segment fd API (e.g. on FreeBSD).
 		 */
-		if (errno == ENOTSUP)
+		if (rte_errno == ENOTSUP)
 			return 1;
 		/* all other errors are treated as failures */
 		return -1;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:08.746254255 +0100
+++ 0046-test-mem-fix-memory-autotests-on-FreeBSD.patch	2021-11-30 16:50:05.662872591 +0100
@@ -1 +1 @@
-From 086d426406bd3f6fac96a15bbd871c7fe714bc2d Mon Sep 17 00:00:00 2001
+From c1e7394cc9713893ff8520e72eb80ef50b15e230 Mon Sep 17 00:00:00 2001
@@ -4,0 +5,2 @@
+
+[ upstream commit 086d426406bd3f6fac96a15bbd871c7fe714bc2d ]

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

* patch 'vhost: clean IOTLB cache on vring stop' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (44 preceding siblings ...)
  2021-11-30 16:34 ` patch 'test/mem: fix memory autotests on FreeBSD' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'common/iavf: fix ARQ resource leak' " christian.ehrhardt
                   ` (113 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Eugenio Pérez; +Cc: Pei Zhang, Maxime Coquelin, Chenbo Xia, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/70146f4f241e0af41ab12661adf35c4523ccb144

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 70146f4f241e0af41ab12661adf35c4523ccb144 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Eugenio=20P=C3=A9rez?= <eperezma@redhat.com>
Date: Fri, 27 Aug 2021 18:12:31 +0200
Subject: [PATCH] vhost: clean IOTLB cache on vring stop
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit e7cb7fdf5471d96edd586dd318511d8a892c41ca ]

Old IOVA cache entries are left when there is a change on virtio driver
in VM. In case that all these old entries have iova addresses lesser
than new iova entries, vhost code will need to iterate all the cache to
find the new ones. In case of just a new iova entry needed for the new
translations, this condition will last forever.

This has been observed in virtio-net to testpmd's vfio-pci driver
transition, reducing the performance from more than 10Mpps to less than
0.07Mpps if the hugepage address was higher than the networking
buffers. Since all new buffers are contained in this new gigantic page,
vhost needs to scan IOTLB_CACHE_SIZE - 1 for each translation at worst.

Fixes: 69c90e98f483 ("vhost: enable IOMMU support")

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Reported-by: Pei Zhang <pezhang@redhat.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
---
 lib/librte_vhost/vhost_user.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
index f35b6423d7..7c16d2fc12 100644
--- a/lib/librte_vhost/vhost_user.c
+++ b/lib/librte_vhost/vhost_user.c
@@ -1997,6 +1997,8 @@ vhost_user_get_vring_base(struct virtio_net **pdev,
 	msg->size = sizeof(msg->payload.state);
 	msg->fd_num = 0;
 
+	vhost_user_iotlb_flush_all(vq);
+
 	vring_invalidate(dev, vq);
 
 	return RTE_VHOST_MSG_RESULT_REPLY;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:08.800344244 +0100
+++ 0047-vhost-clean-IOTLB-cache-on-vring-stop.patch	2021-11-30 16:50:05.662872591 +0100
@@ -1 +1 @@
-From e7cb7fdf5471d96edd586dd318511d8a892c41ca Mon Sep 17 00:00:00 2001
+From 70146f4f241e0af41ab12661adf35c4523ccb144 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit e7cb7fdf5471d96edd586dd318511d8a892c41ca ]
+
@@ -22 +23,0 @@
-Cc: stable@dpdk.org
@@ -29 +30 @@
- lib/vhost/vhost_user.c | 2 ++
+ lib/librte_vhost/vhost_user.c | 2 ++
@@ -32,5 +33,5 @@
-diff --git a/lib/vhost/vhost_user.c b/lib/vhost/vhost_user.c
-index 7b9f26b656..5a894ca0cc 100644
---- a/lib/vhost/vhost_user.c
-+++ b/lib/vhost/vhost_user.c
-@@ -2113,6 +2113,8 @@ vhost_user_get_vring_base(struct virtio_net **pdev,
+diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
+index f35b6423d7..7c16d2fc12 100644
+--- a/lib/librte_vhost/vhost_user.c
++++ b/lib/librte_vhost/vhost_user.c
+@@ -1997,6 +1997,8 @@ vhost_user_get_vring_base(struct virtio_net **pdev,

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

* patch 'common/iavf: fix ARQ resource leak' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (45 preceding siblings ...)
  2021-11-30 16:34 ` patch 'vhost: clean IOTLB cache on vring stop' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'net/bnxt: fix function driver register/unregister' " christian.ehrhardt
                   ` (112 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Qiming Chen; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/18d35ae547cab73325b30e1a25ef70717338775e

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 18d35ae547cab73325b30e1a25ef70717338775e Mon Sep 17 00:00:00 2001
From: Qiming Chen <chenqiming_huawei@163.com>
Date: Fri, 10 Sep 2021 11:12:49 +0800
Subject: [PATCH] common/iavf: fix ARQ resource leak

[ upstream commit 395d41fbb1dd2faa21e143865ce12c195ec8194b ]

In the iavf_init_arq function, if an exception occurs in the
iavf_config_arq_regs function, and the previously applied ARQ (Admin
Receive Queue) bufs resource is released. This patch maintains the same
modification as the iavf_init_asq function to roll back resources.

Fixes: 87aca6d8d8a4 ("net/iavf/base: fix command buffer memory leak")

Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/base/iavf_adminq.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/net/iavf/base/iavf_adminq.c b/drivers/net/iavf/base/iavf_adminq.c
index d6943e8260..a41402e04e 100644
--- a/drivers/net/iavf/base/iavf_adminq.c
+++ b/drivers/net/iavf/base/iavf_adminq.c
@@ -431,7 +431,7 @@ enum iavf_status_code iavf_init_arq(struct iavf_hw *hw)
 	/* initialize base registers */
 	ret_code = iavf_config_arq_regs(hw);
 	if (ret_code != IAVF_SUCCESS)
-		goto init_adminq_free_rings;
+		goto init_config_regs;
 
 	/* success! */
 	hw->aq.arq.count = hw->aq.num_arq_entries;
@@ -439,6 +439,10 @@ enum iavf_status_code iavf_init_arq(struct iavf_hw *hw)
 
 init_adminq_free_rings:
 	iavf_free_adminq_arq(hw);
+	return ret_code;
+
+init_config_regs:
+	iavf_free_arq_bufs(hw);
 
 init_adminq_exit:
 	return ret_code;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:08.860702129 +0100
+++ 0048-common-iavf-fix-ARQ-resource-leak.patch	2021-11-30 16:50:05.670872649 +0100
@@ -1 +1 @@
-From 395d41fbb1dd2faa21e143865ce12c195ec8194b Mon Sep 17 00:00:00 2001
+From 18d35ae547cab73325b30e1a25ef70717338775e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 395d41fbb1dd2faa21e143865ce12c195ec8194b ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -17 +18 @@
- drivers/common/iavf/iavf_adminq.c | 6 +++++-
+ drivers/net/iavf/base/iavf_adminq.c | 6 +++++-
@@ -20,5 +21,5 @@
-diff --git a/drivers/common/iavf/iavf_adminq.c b/drivers/common/iavf/iavf_adminq.c
-index 0bf5af0cbe..9c36e8908e 100644
---- a/drivers/common/iavf/iavf_adminq.c
-+++ b/drivers/common/iavf/iavf_adminq.c
-@@ -417,7 +417,7 @@ enum iavf_status iavf_init_arq(struct iavf_hw *hw)
+diff --git a/drivers/net/iavf/base/iavf_adminq.c b/drivers/net/iavf/base/iavf_adminq.c
+index d6943e8260..a41402e04e 100644
+--- a/drivers/net/iavf/base/iavf_adminq.c
++++ b/drivers/net/iavf/base/iavf_adminq.c
+@@ -431,7 +431,7 @@ enum iavf_status_code iavf_init_arq(struct iavf_hw *hw)
@@ -33 +34 @@
-@@ -425,6 +425,10 @@ enum iavf_status iavf_init_arq(struct iavf_hw *hw)
+@@ -439,6 +439,10 @@ enum iavf_status_code iavf_init_arq(struct iavf_hw *hw)

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

* patch 'net/bnxt: fix function driver register/unregister' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (46 preceding siblings ...)
  2021-11-30 16:34 ` patch 'common/iavf: fix ARQ resource leak' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'net/bnxt: fix Tx queue startup state' " christian.ehrhardt
                   ` (111 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Kalesh AP; +Cc: Ajit Khaparde, Lance Richardson, Somnath Kotur, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/9d661128f4efb27c28647153e16627c4bcc6ac84

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 9d661128f4efb27c28647153e16627c4bcc6ac84 Mon Sep 17 00:00:00 2001
From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Date: Wed, 22 Sep 2021 14:00:44 +0530
Subject: [PATCH] net/bnxt: fix function driver register/unregister

[ upstream commit 61ad5c1ac9de245e7d20a67375d56682c70bebde ]

1. Fix to use correct fields in the request structure of
   HWRM_FUNC_DRV_RGTR.
2. Remove the "flags" argument to bnxt_hwrm_func_driver_unregister()
   as it is not needed.

Fixes: beb3087f5056 ("net/bnxt: add driver register/unregister")

Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
---
 drivers/net/bnxt/bnxt_ethdev.c | 2 +-
 drivers/net/bnxt/bnxt_hwrm.c   | 9 ++++-----
 drivers/net/bnxt/bnxt_hwrm.h   | 2 +-
 3 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 6f0796b3c0..2a58496d71 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -5213,7 +5213,7 @@ bnxt_uninit_resources(struct bnxt *bp, bool reconfig_dev)
 	bnxt_free_int(bp);
 	bnxt_free_mem(bp, reconfig_dev);
 	bnxt_hwrm_func_buf_unrgtr(bp);
-	rc = bnxt_hwrm_func_driver_unregister(bp, 0);
+	rc = bnxt_hwrm_func_driver_unregister(bp);
 	bp->flags &= ~BNXT_FLAG_REGISTERED;
 	bnxt_free_ctx_mem(bp);
 	if (!reconfig_dev) {
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index 6e7e3117b9..89f30e1b48 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -836,9 +836,9 @@ int bnxt_hwrm_func_driver_register(struct bnxt *bp)
 	HWRM_PREP(req, FUNC_DRV_RGTR, BNXT_USE_CHIMP_MB);
 	req.enables = rte_cpu_to_le_32(HWRM_FUNC_DRV_RGTR_INPUT_ENABLES_VER |
 			HWRM_FUNC_DRV_RGTR_INPUT_ENABLES_ASYNC_EVENT_FWD);
-	req.ver_maj = RTE_VER_YEAR;
-	req.ver_min = RTE_VER_MONTH;
-	req.ver_upd = RTE_VER_MINOR;
+	req.ver_maj_8b = RTE_VER_YEAR;
+	req.ver_min_8b = RTE_VER_MONTH;
+	req.ver_upd_8b = RTE_VER_MINOR;
 
 	if (BNXT_PF(bp)) {
 		req.enables |= rte_cpu_to_le_32(
@@ -1131,7 +1131,7 @@ error:
 	return rc;
 }
 
-int bnxt_hwrm_func_driver_unregister(struct bnxt *bp, uint32_t flags)
+int bnxt_hwrm_func_driver_unregister(struct bnxt *bp)
 {
 	int rc;
 	struct hwrm_func_drv_unrgtr_input req = {.req_type = 0 };
@@ -1141,7 +1141,6 @@ int bnxt_hwrm_func_driver_unregister(struct bnxt *bp, uint32_t flags)
 		return 0;
 
 	HWRM_PREP(req, FUNC_DRV_UNRGTR, BNXT_USE_CHIMP_MB);
-	req.flags = flags;
 
 	rc = bnxt_hwrm_send_message(bp, &req, sizeof(req), BNXT_USE_CHIMP_MB);
 
diff --git a/drivers/net/bnxt/bnxt_hwrm.h b/drivers/net/bnxt/bnxt_hwrm.h
index 2fb0d97d98..815e61d9b9 100644
--- a/drivers/net/bnxt/bnxt_hwrm.h
+++ b/drivers/net/bnxt/bnxt_hwrm.h
@@ -90,7 +90,7 @@ int bnxt_hwrm_func_driver_register(struct bnxt *bp);
 int bnxt_hwrm_func_qcaps(struct bnxt *bp);
 void bnxt_free_vf_info(struct bnxt *bp);
 int bnxt_hwrm_func_reset(struct bnxt *bp);
-int bnxt_hwrm_func_driver_unregister(struct bnxt *bp, uint32_t flags);
+int bnxt_hwrm_func_driver_unregister(struct bnxt *bp);
 int bnxt_hwrm_func_qstats(struct bnxt *bp, uint16_t fid,
 			  struct rte_eth_stats *stats);
 int bnxt_hwrm_func_qstats_tx_drop(struct bnxt *bp, uint16_t fid,
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:08.922536426 +0100
+++ 0049-net-bnxt-fix-function-driver-register-unregister.patch	2021-11-30 16:50:05.682872738 +0100
@@ -1 +1 @@
-From 61ad5c1ac9de245e7d20a67375d56682c70bebde Mon Sep 17 00:00:00 2001
+From 9d661128f4efb27c28647153e16627c4bcc6ac84 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 61ad5c1ac9de245e7d20a67375d56682c70bebde ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index 097dd10de9..dc7dee1d2a 100644
+index 6f0796b3c0..2a58496d71 100644
@@ -28,4 +29,4 @@
-@@ -6156,7 +6156,7 @@ bnxt_uninit_resources(struct bnxt *bp, bool reconfig_dev)
- 		bp->pf->vf_req_buf = NULL;
- 	}
- 
+@@ -5213,7 +5213,7 @@ bnxt_uninit_resources(struct bnxt *bp, bool reconfig_dev)
+ 	bnxt_free_int(bp);
+ 	bnxt_free_mem(bp, reconfig_dev);
+ 	bnxt_hwrm_func_buf_unrgtr(bp);
@@ -38 +39 @@
-index 585cdeded8..d4d8581af1 100644
+index 6e7e3117b9..89f30e1b48 100644
@@ -41,2 +42,2 @@
-@@ -1059,9 +1059,9 @@ int bnxt_hwrm_func_driver_register(struct bnxt *bp)
- 	HWRM_PREP(&req, HWRM_FUNC_DRV_RGTR, BNXT_USE_CHIMP_MB);
+@@ -836,9 +836,9 @@ int bnxt_hwrm_func_driver_register(struct bnxt *bp)
+ 	HWRM_PREP(req, FUNC_DRV_RGTR, BNXT_USE_CHIMP_MB);
@@ -54 +55 @@
-@@ -1370,7 +1370,7 @@ error:
+@@ -1131,7 +1131,7 @@ error:
@@ -63 +64 @@
-@@ -1380,7 +1380,6 @@ int bnxt_hwrm_func_driver_unregister(struct bnxt *bp, uint32_t flags)
+@@ -1141,7 +1141,6 @@ int bnxt_hwrm_func_driver_unregister(struct bnxt *bp, uint32_t flags)
@@ -66 +67 @@
- 	HWRM_PREP(&req, HWRM_FUNC_DRV_UNRGTR, BNXT_USE_CHIMP_MB);
+ 	HWRM_PREP(req, FUNC_DRV_UNRGTR, BNXT_USE_CHIMP_MB);
@@ -72 +73 @@
-index b311ff59c0..6dc23b93ac 100644
+index 2fb0d97d98..815e61d9b9 100644
@@ -75,2 +76 @@
-@@ -145,7 +145,7 @@ int bnxt_hwrm_func_buf_unrgtr(struct bnxt *bp);
- int bnxt_hwrm_func_driver_register(struct bnxt *bp);
+@@ -90,7 +90,7 @@ int bnxt_hwrm_func_driver_register(struct bnxt *bp);
@@ -77,0 +78 @@
+ void bnxt_free_vf_info(struct bnxt *bp);
@@ -82,2 +83,2 @@
- 			  struct rte_eth_stats *stats,
- 			  struct hwrm_func_qstats_output *func_qstats);
+ 			  struct rte_eth_stats *stats);
+ int bnxt_hwrm_func_qstats_tx_drop(struct bnxt *bp, uint16_t fid,

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

* patch 'net/bnxt: fix Tx queue startup state' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (47 preceding siblings ...)
  2021-11-30 16:34 ` patch 'net/bnxt: fix function driver register/unregister' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'net/bnxt: fix memzone free for Tx and Rx rings' " christian.ehrhardt
                   ` (110 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Ajit Khaparde; +Cc: Lance Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From fdfed7e0ab02c2ea05a036d671845d44015637e0 Mon Sep 17 00:00:00 2001
From: Ajit Khaparde <ajit.khaparde@broadcom.com>
Date: Fri, 17 Sep 2021 13:20:45 -0700
Subject: [PATCH] net/bnxt: fix Tx queue startup state

[ upstream commit 0f22fe124bffcbfa15a8179b9cc835ae64b1a3fe ]

Default queue state of Tx queues on startup is not correct.
Fix this by setting the state when the port is started.

Fixes: 6eb3cc2294fd ("net/bnxt: add initial Tx code")

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Lance Richardson <lance.richardson@broadcom.com>
---
 drivers/net/bnxt/bnxt_ethdev.c | 10 ++++++++++
 drivers/net/bnxt/bnxt_txq.c    |  5 -----
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 2a58496d71..69ecc6d21a 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -444,6 +444,16 @@ skip_cosq_cfg:
 			goto err_out;
 	}
 
+	for (j = 0; j < bp->tx_nr_rings; j++) {
+		struct bnxt_tx_queue *txq = bp->tx_queues[j];
+
+		if (!txq->tx_deferred_start) {
+			bp->eth_dev->data->tx_queue_state[j] =
+				RTE_ETH_QUEUE_STATE_STARTED;
+			txq->tx_started = true;
+		}
+	}
+
 	rc = bnxt_hwrm_cfa_l2_set_rx_mask(bp, &bp->vnic_info[0], 0, NULL);
 	if (rc) {
 		PMD_DRV_LOG(ERR,
diff --git a/drivers/net/bnxt/bnxt_txq.c b/drivers/net/bnxt/bnxt_txq.c
index 8f5ba73c09..129bd5b541 100644
--- a/drivers/net/bnxt/bnxt_txq.c
+++ b/drivers/net/bnxt/bnxt_txq.c
@@ -160,11 +160,6 @@ int bnxt_tx_queue_setup_op(struct rte_eth_dev *eth_dev,
 
 	eth_dev->data->tx_queues[queue_idx] = txq;
 
-	if (txq->tx_deferred_start)
-		txq->tx_started = false;
-	else
-		txq->tx_started = true;
-
 	return 0;
 err:
 	bnxt_tx_queue_release_op(txq);
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:08.996139765 +0100
+++ 0050-net-bnxt-fix-Tx-queue-startup-state.patch	2021-11-30 16:50:05.686872767 +0100
@@ -1 +1 @@
-From 0f22fe124bffcbfa15a8179b9cc835ae64b1a3fe Mon Sep 17 00:00:00 2001
+From fdfed7e0ab02c2ea05a036d671845d44015637e0 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 0f22fe124bffcbfa15a8179b9cc835ae64b1a3fe ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index dc7dee1d2a..08537d8b87 100644
+index 2a58496d71..69ecc6d21a 100644
@@ -23,2 +24,2 @@
-@@ -814,6 +814,16 @@ skip_cosq_cfg:
- 		}
+@@ -444,6 +444,16 @@ skip_cosq_cfg:
+ 			goto err_out;
@@ -41 +42 @@
-index 830416af3d..3ffc334cff 100644
+index 8f5ba73c09..129bd5b541 100644
@@ -44 +45 @@
-@@ -166,11 +166,6 @@ int bnxt_tx_queue_setup_op(struct rte_eth_dev *eth_dev,
+@@ -160,11 +160,6 @@ int bnxt_tx_queue_setup_op(struct rte_eth_dev *eth_dev,

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

* patch 'net/bnxt: fix memzone free for Tx and Rx rings' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (48 preceding siblings ...)
  2021-11-30 16:34 ` patch 'net/bnxt: fix Tx queue startup state' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'net/bnxt: fix tunnel port accounting' " christian.ehrhardt
                   ` (109 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Ajit Khaparde; +Cc: Lance Richardson, Somnath Kotur, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/20c6894eed7561e7830b5e6042407a5d89bede36

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 20c6894eed7561e7830b5e6042407a5d89bede36 Mon Sep 17 00:00:00 2001
From: Ajit Khaparde <ajit.khaparde@broadcom.com>
Date: Mon, 20 Sep 2021 16:11:51 -0700
Subject: [PATCH] net/bnxt: fix memzone free for Tx and Rx rings

[ upstream commit 64a4d59df5d668e18762a80d360a1aa8a9e8d81d ]

The device cleanup logic was freeing most of the ring related memory,
but was not freeing up the memzone associated with the rings.
This patch fixes the issue.

Fixes: 2eb53b134aae ("net/bnxt: add initial Rx code")
Fixes: 6eb3cc2294fd ("net/bnxt: add initial Tx code")

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
---
 drivers/net/bnxt/bnxt_rxr.c | 3 +++
 drivers/net/bnxt/bnxt_txr.c | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c
index f830bb6702..8133889297 100644
--- a/drivers/net/bnxt/bnxt_rxr.c
+++ b/drivers/net/bnxt/bnxt_rxr.c
@@ -849,6 +849,9 @@ void bnxt_free_rx_rings(struct bnxt *bp)
 		rte_free(rxq->cp_ring->cp_ring_struct);
 		rte_free(rxq->cp_ring);
 
+		rte_memzone_free(rxq->mz);
+		rxq->mz = NULL;
+
 		rte_free(rxq);
 		bp->rx_queues[i] = NULL;
 	}
diff --git a/drivers/net/bnxt/bnxt_txr.c b/drivers/net/bnxt/bnxt_txr.c
index 0d6d485ab2..78c3f2918c 100644
--- a/drivers/net/bnxt/bnxt_txr.c
+++ b/drivers/net/bnxt/bnxt_txr.c
@@ -37,6 +37,9 @@ void bnxt_free_tx_rings(struct bnxt *bp)
 		rte_free(txq->cp_ring->cp_ring_struct);
 		rte_free(txq->cp_ring);
 
+		rte_memzone_free(txq->mz);
+		txq->mz = NULL;
+
 		rte_free(txq);
 		bp->tx_queues[i] = NULL;
 	}
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:09.041287523 +0100
+++ 0051-net-bnxt-fix-memzone-free-for-Tx-and-Rx-rings.patch	2021-11-30 16:50:05.690872796 +0100
@@ -1 +1 @@
-From 64a4d59df5d668e18762a80d360a1aa8a9e8d81d Mon Sep 17 00:00:00 2001
+From 20c6894eed7561e7830b5e6042407a5d89bede36 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 64a4d59df5d668e18762a80d360a1aa8a9e8d81d ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index a40fa50138..4c1ee4294e 100644
+index f830bb6702..8133889297 100644
@@ -26 +27 @@
-@@ -1207,6 +1207,9 @@ void bnxt_free_rx_rings(struct bnxt *bp)
+@@ -849,6 +849,9 @@ void bnxt_free_rx_rings(struct bnxt *bp)
@@ -37 +38 @@
-index 47824334ae..9e45ddd7a8 100644
+index 0d6d485ab2..78c3f2918c 100644
@@ -40 +41 @@
-@@ -38,6 +38,9 @@ void bnxt_free_tx_rings(struct bnxt *bp)
+@@ -37,6 +37,9 @@ void bnxt_free_tx_rings(struct bnxt *bp)

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

* patch 'net/bnxt: fix tunnel port accounting' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (49 preceding siblings ...)
  2021-11-30 16:34 ` patch 'net/bnxt: fix memzone free for Tx and Rx rings' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'net/mlx5: fix flow tables double release' " christian.ehrhardt
                   ` (108 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Ajit Khaparde; +Cc: Lance Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From c3dd66c29ab5a907c9bfcc2877f14879a1373423 Mon Sep 17 00:00:00 2001
From: Ajit Khaparde <ajit.khaparde@broadcom.com>
Date: Fri, 24 Sep 2021 12:52:47 -0700
Subject: [PATCH] net/bnxt: fix tunnel port accounting

[ upstream commit 3cb6659137feb7f3ce411c3e9b4cedf30ebdebe3 ]

Fix the tunnel port counting logic.
Currently we are incrementing the port count without checking
the if bnxt_hwrm_tunnel_dst_port_alloc would return success or failure.
Modify the logic to increment it only if the firmware returns success.

Fixes: 10d074b2022d ("net/bnxt: support tunneling")

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Lance Richardson <lance.richardson@broadcom.com>
---
 drivers/net/bnxt/bnxt_ethdev.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 69ecc6d21a..81f9886ff5 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -1786,7 +1786,6 @@ bnxt_udp_tunnel_port_add_op(struct rte_eth_dev *eth_dev,
 		}
 		tunnel_type =
 			HWRM_TUNNEL_DST_PORT_ALLOC_INPUT_TUNNEL_TYPE_VXLAN;
-		bp->vxlan_port_cnt++;
 		break;
 	case RTE_TUNNEL_TYPE_GENEVE:
 		if (bp->geneve_port_cnt) {
@@ -1801,7 +1800,6 @@ bnxt_udp_tunnel_port_add_op(struct rte_eth_dev *eth_dev,
 		}
 		tunnel_type =
 			HWRM_TUNNEL_DST_PORT_ALLOC_INPUT_TUNNEL_TYPE_GENEVE;
-		bp->geneve_port_cnt++;
 		break;
 	default:
 		PMD_DRV_LOG(ERR, "Tunnel type is not supported\n");
@@ -1809,6 +1807,18 @@ bnxt_udp_tunnel_port_add_op(struct rte_eth_dev *eth_dev,
 	}
 	rc = bnxt_hwrm_tunnel_dst_port_alloc(bp, udp_tunnel->udp_port,
 					     tunnel_type);
+
+	if (rc != 0)
+		return rc;
+
+	if (tunnel_type ==
+	    HWRM_TUNNEL_DST_PORT_ALLOC_INPUT_TUNNEL_TYPE_VXLAN)
+		bp->vxlan_port_cnt++;
+
+	if (tunnel_type ==
+	    HWRM_TUNNEL_DST_PORT_ALLOC_INPUT_TUNNEL_TYPE_GENEVE)
+		bp->geneve_port_cnt++;
+
 	return rc;
 }
 
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:09.089535163 +0100
+++ 0052-net-bnxt-fix-tunnel-port-accounting.patch	2021-11-30 16:50:05.702872884 +0100
@@ -1 +1 @@
-From 3cb6659137feb7f3ce411c3e9b4cedf30ebdebe3 Mon Sep 17 00:00:00 2001
+From c3dd66c29ab5a907c9bfcc2877f14879a1373423 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3cb6659137feb7f3ce411c3e9b4cedf30ebdebe3 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 857da91c9d..aa7e7fdc85 100644
+index 69ecc6d21a..81f9886ff5 100644
@@ -24 +25 @@
-@@ -2369,7 +2369,6 @@ bnxt_udp_tunnel_port_add_op(struct rte_eth_dev *eth_dev,
+@@ -1786,7 +1786,6 @@ bnxt_udp_tunnel_port_add_op(struct rte_eth_dev *eth_dev,
@@ -32 +33 @@
-@@ -2384,7 +2383,6 @@ bnxt_udp_tunnel_port_add_op(struct rte_eth_dev *eth_dev,
+@@ -1801,7 +1800,6 @@ bnxt_udp_tunnel_port_add_op(struct rte_eth_dev *eth_dev,
@@ -40 +41 @@
-@@ -2392,6 +2390,18 @@ bnxt_udp_tunnel_port_add_op(struct rte_eth_dev *eth_dev,
+@@ -1809,6 +1807,18 @@ bnxt_udp_tunnel_port_add_op(struct rte_eth_dev *eth_dev,

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

* patch 'net/mlx5: fix flow tables double release' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (50 preceding siblings ...)
  2021-11-30 16:34 ` patch 'net/bnxt: fix tunnel port accounting' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'bus/vmbus: fix leak on device scan' " christian.ehrhardt
                   ` (107 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Bing Zhao; +Cc: Matan Azrad, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 4ca7fab3b0e3365bf427660fcb62c0cd856ea73e Mon Sep 17 00:00:00 2001
From: Bing Zhao <bingz@nvidia.com>
Date: Tue, 28 Sep 2021 07:08:51 +0300
Subject: [PATCH] net/mlx5: fix flow tables double release

[ upstream commit a6b57ff48708e659ad35aed499c32805de85d3cd ]

In the function mlx5_alloc_shared_dr(), there are various reasons
to result in a failure and error clean up process. While in the
caller of mlx5_dev_spawn(), once there is a error occurring after
the mlx5_alloc_shared_dr(), the mlx5_os_free_shared_dr() is called
to release all the resources.

To prevent a double release, the pointers of the resources should
be checked before the releasing and set to NULL after done.

In the mlx5_free_table_hash_list(), after the releasing, the pointer
was missed to set to NULL and a double release may cause a crash.

By setting the tables pointer to NULL as done for other resources,
the double release and crash could be solved.

Fixes: 54534725d2f3 ("net/mlx5: fix flow table hash list conversion")

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

diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c
index 3134b7956f..d9db6aa398 100644
--- a/drivers/net/mlx5/mlx5.c
+++ b/drivers/net/mlx5/mlx5.c
@@ -849,6 +849,7 @@ mlx5_free_table_hash_list(struct mlx5_priv *priv)
 		rte_free(tbl_data);
 	}
 	mlx5_hlist_destroy(sh->flow_tbls, NULL, NULL);
+	sh->flow_tbls = NULL;
 }
 
 /**
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:09.134719536 +0100
+++ 0053-net-mlx5-fix-flow-tables-double-release.patch	2021-11-30 16:50:05.706872913 +0100
@@ -1 +1 @@
-From a6b57ff48708e659ad35aed499c32805de85d3cd Mon Sep 17 00:00:00 2001
+From 4ca7fab3b0e3365bf427660fcb62c0cd856ea73e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a6b57ff48708e659ad35aed499c32805de85d3cd ]
+
@@ -22 +23,0 @@
-Cc: stable@dpdk.org
@@ -31 +32 @@
-index aa428366b3..45ccfe2784 100644
+index 3134b7956f..d9db6aa398 100644
@@ -34,4 +35,4 @@
-@@ -1372,6 +1372,7 @@ mlx5_free_table_hash_list(struct mlx5_priv *priv)
- 	if (!sh->flow_tbls)
- 		return;
- 	mlx5_hlist_destroy(sh->flow_tbls);
+@@ -849,6 +849,7 @@ mlx5_free_table_hash_list(struct mlx5_priv *priv)
+ 		rte_free(tbl_data);
+ 	}
+ 	mlx5_hlist_destroy(sh->flow_tbls, NULL, NULL);

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

* patch 'bus/vmbus: fix leak on device scan' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (51 preceding siblings ...)
  2021-11-30 16:34 ` patch 'net/mlx5: fix flow tables double release' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'test/latency: fix loop boundary' " christian.ehrhardt
                   ` (106 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: David Marchand; +Cc: Long Li, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/6586da24bfb3532a87e657276b1906221e3f8d82

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 6586da24bfb3532a87e657276b1906221e3f8d82 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Sat, 2 Oct 2021 18:24:30 +0200
Subject: [PATCH] bus/vmbus: fix leak on device scan

[ upstream commit c6c865d7e2e47a3a1a65a091103cca056bb073ef ]

Caught running ASAN.
The device name was leaked on scan.
rte_device name field being a const, use a local pointer and release
in error path.

Fixes: 831dba47bd36 ("bus/vmbus: add Hyper-V virtual bus support")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Long Li <longli@microsoft.com>
---
 drivers/bus/vmbus/linux/vmbus_bus.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/bus/vmbus/linux/vmbus_bus.c b/drivers/bus/vmbus/linux/vmbus_bus.c
index 3c924eee14..68f6cc5742 100644
--- a/drivers/bus/vmbus/linux/vmbus_bus.c
+++ b/drivers/bus/vmbus/linux/vmbus_bus.c
@@ -236,13 +236,14 @@ vmbus_scan_one(const char *name)
 	char filename[PATH_MAX];
 	char dirname[PATH_MAX];
 	unsigned long tmp;
+	char *dev_name;
 
 	dev = calloc(1, sizeof(*dev));
 	if (dev == NULL)
 		return -1;
 
 	dev->device.bus = &rte_vmbus_bus.bus;
-	dev->device.name = strdup(name);
+	dev->device.name = dev_name = strdup(name);
 	if (!dev->device.name)
 		goto error;
 
@@ -261,6 +262,7 @@ vmbus_scan_one(const char *name)
 
 	/* skip non-network devices */
 	if (rte_uuid_compare(dev->class_id, vmbus_nic_uuid) != 0) {
+		free(dev_name);
 		free(dev);
 		return 0;
 	}
@@ -312,6 +314,7 @@ vmbus_scan_one(const char *name)
 		} else { /* already registered */
 			VMBUS_LOG(NOTICE,
 				"%s already registered", name);
+			free(dev_name);
 			free(dev);
 		}
 		return 0;
@@ -322,6 +325,7 @@ vmbus_scan_one(const char *name)
 error:
 	VMBUS_LOG(DEBUG, "failed");
 
+	free(dev_name);
 	free(dev);
 	return -1;
 }
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:09.190949134 +0100
+++ 0054-bus-vmbus-fix-leak-on-device-scan.patch	2021-11-30 16:50:05.706872913 +0100
@@ -1 +1 @@
-From c6c865d7e2e47a3a1a65a091103cca056bb073ef Mon Sep 17 00:00:00 2001
+From 6586da24bfb3532a87e657276b1906221e3f8d82 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c6c865d7e2e47a3a1a65a091103cca056bb073ef ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org

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

* patch 'test/latency: fix loop boundary' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (52 preceding siblings ...)
  2021-11-30 16:34 ` patch 'bus/vmbus: fix leak on device scan' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'common/dpaax: fix physical address conversion' " christian.ehrhardt
                   ` (105 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: David Marchand; +Cc: Reshma Pattan, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/1132c3fa61435174b5eaa5ddd49e9f3fc2312fd9

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 1132c3fa61435174b5eaa5ddd49e9f3fc2312fd9 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Sat, 2 Oct 2021 18:24:31 +0200
Subject: [PATCH] test/latency: fix loop boundary

[ upstream commit cb3dd14c77f4a44c204b7ac10898ecc33afeb9a0 ]

Caught running ASAN.

lat_stats_strings[] is an array containing NUM_STATS strings.

Fixes: 1e3676a06e4c ("test/latency: add unit tests for latencystats library")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Reshma Pattan <reshma.pattan@intel.com>
---
 app/test/test_latencystats.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/test/test_latencystats.c b/app/test/test_latencystats.c
index 968e0bc470..fcc9e83558 100644
--- a/app/test/test_latencystats.c
+++ b/app/test/test_latencystats.c
@@ -77,7 +77,7 @@ static int test_latencystats_get_names(void)
 	/* Success Test: Valid names and size */
 	size = NUM_STATS;
 	ret = rte_latencystats_get_names(names, size);
-	for (i = 0; i <= NUM_STATS; i++) {
+	for (i = 0; i < NUM_STATS; i++) {
 		if (strcmp(lat_stats_strings[i].name, names[i].name) == 0)
 			printf(" %s\n", names[i].name);
 		else
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:09.239620831 +0100
+++ 0055-test-latency-fix-loop-boundary.patch	2021-11-30 16:50:05.706872913 +0100
@@ -1 +1 @@
-From cb3dd14c77f4a44c204b7ac10898ecc33afeb9a0 Mon Sep 17 00:00:00 2001
+From 1132c3fa61435174b5eaa5ddd49e9f3fc2312fd9 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit cb3dd14c77f4a44c204b7ac10898ecc33afeb9a0 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 427339904d..724acbc315 100644
+index 968e0bc470..fcc9e83558 100644
@@ -23 +24 @@
-@@ -80,7 +80,7 @@ static int test_latencystats_get_names(void)
+@@ -77,7 +77,7 @@ static int test_latencystats_get_names(void)

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

* patch 'common/dpaax: fix physical address conversion' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (53 preceding siblings ...)
  2021-11-30 16:34 ` patch 'test/latency: fix loop boundary' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'ethdev: fix xstats by ID API documentation' " christian.ehrhardt
                   ` (104 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Gagandeep Singh; +Cc: Nipun Gupta, Hemant Agrawal, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/7440bbb9450bdd51eff05de14fc18f430eade6f8

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 7440bbb9450bdd51eff05de14fc18f430eade6f8 Mon Sep 17 00:00:00 2001
From: Gagandeep Singh <g.singh@nxp.com>
Date: Wed, 6 Oct 2021 22:31:31 +0530
Subject: [PATCH] common/dpaax: fix physical address conversion

[ upstream commit c5e6bc12a319d4500d931ca84d4227e4d7495956 ]

If some of the VA entries of table are somehow not populated and are
NULL, it can add offset to NULL and return the invalid VA in PA to
VA conversion.

In this patch, adding a check if the VA entry has valid address only
then add offset and return VA.

Fixes: 2f3d633aa593 ("common/dpaax: add library for PA/VA translation table")

Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 drivers/common/dpaax/dpaax_iova_table.h | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/common/dpaax/dpaax_iova_table.h b/drivers/common/dpaax/dpaax_iova_table.h
index fef97f6dde..599f5b842b 100644
--- a/drivers/common/dpaax/dpaax_iova_table.h
+++ b/drivers/common/dpaax/dpaax_iova_table.h
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright 2018 NXP
+ * Copyright 2018-2021 NXP
  */
 
 #ifndef _DPAAX_IOVA_TABLE_H_
@@ -97,6 +97,12 @@ dpaax_iova_table_get_va(phys_addr_t paddr) {
 
 		/* paddr > entry->start && paddr <= entry->(start+len) */
 		index = (paddr_align - entry[i].start)/DPAAX_MEM_SPLIT;
+		/* paddr is within range, but no vaddr entry ever written
+		 * at index
+		 */
+		if ((void *)(uintptr_t)entry[i].pages[index] == NULL)
+			return NULL;
+
 		vaddr = (void *)((uintptr_t)entry[i].pages[index] + offset);
 		break;
 	} while (1);
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:09.291226713 +0100
+++ 0056-common-dpaax-fix-physical-address-conversion.patch	2021-11-30 16:50:05.706872913 +0100
@@ -1 +1 @@
-From c5e6bc12a319d4500d931ca84d4227e4d7495956 Mon Sep 17 00:00:00 2001
+From 7440bbb9450bdd51eff05de14fc18f430eade6f8 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c5e6bc12a319d4500d931ca84d4227e4d7495956 ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index 230fba8ba0..b1f2300c52 100644
+index fef97f6dde..599f5b842b 100644
@@ -34 +35 @@
-@@ -101,6 +101,12 @@ dpaax_iova_table_get_va(phys_addr_t paddr) {
+@@ -97,6 +97,12 @@ dpaax_iova_table_get_va(phys_addr_t paddr) {

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

* patch 'ethdev: fix xstats by ID API documentation' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (54 preceding siblings ...)
  2021-11-30 16:34 ` patch 'common/dpaax: fix physical address conversion' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'net/hns3: fix input parameters of MAC functions' " christian.ehrhardt
                   ` (103 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Ivan Ilchenko; +Cc: Andrew Rybchenko, Andy Moreton, Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From e40ae0091cb7378988e62858eaeb014fd107a772 Mon Sep 17 00:00:00 2001
From: Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru>
Date: Fri, 1 Oct 2021 12:07:19 +0300
Subject: [PATCH] ethdev: fix xstats by ID API documentation

[ upstream commit bc5112ca599c1e565c0f2d3dc3de0f73381a8c05 ]

Document valid combinations of input arguments in accordance with
current implementation in ethdev.

Fixes: 79c913a42f0e ("ethdev: retrieve xstats by ID")

Signed-off-by: Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 lib/librte_ethdev/rte_ethdev.h | 35 ++++++++++++++++++----------------
 1 file changed, 19 insertions(+), 16 deletions(-)

diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
index d42226daa3..091a77bf21 100644
--- a/lib/librte_ethdev/rte_ethdev.h
+++ b/lib/librte_ethdev/rte_ethdev.h
@@ -2384,21 +2384,23 @@ int rte_eth_xstats_get(uint16_t port_id, struct rte_eth_xstat *xstats,
  * @param port_id
  *   The port identifier of the Ethernet device.
  * @param xstats_names
- *   An rte_eth_xstat_name array of at least *size* elements to
- *   be filled. If set to NULL, the function returns the required number
- *   of elements.
- * @param ids
- *   IDs array given by app to retrieve specific statistics
+ *   Array to be filled in with names of requested device statistics.
+ *   Must not be NULL if @p ids are specified (not NULL).
  * @param size
- *   The size of the xstats_names array (number of elements).
+ *   Number of elements in @p xstats_names array (if not NULL) and in
+ *   @p ids array (if not NULL). Must be 0 if both array pointers are NULL.
+ * @param ids
+ *   IDs array given by app to retrieve specific statistics. May be NULL to
+ *   retrieve names of all available statistics or, if @p xstats_names is
+ *   NULL as well, just the number of available statistics.
  * @return
  *   - A positive value lower or equal to size: success. The return value
  *     is the number of entries filled in the stats table.
- *   - A positive value higher than size: error, the given statistics table
+ *   - A positive value higher than size: success. The given statistics table
  *     is too small. The return value corresponds to the size that should
  *     be given to succeed. The entries in the table are not valid and
  *     shall not be used by the caller.
- *   - A negative value on error (invalid port id).
+ *   - A negative value on error.
  */
 int
 rte_eth_xstats_get_names_by_id(uint16_t port_id,
@@ -2411,22 +2413,23 @@ rte_eth_xstats_get_names_by_id(uint16_t port_id,
  * @param port_id
  *   The port identifier of the Ethernet device.
  * @param ids
- *   A pointer to an ids array passed by application. This tells which
- *   statistics values function should retrieve. This parameter
- *   can be set to NULL if size is 0. In this case function will retrieve
- *   all available statistics.
+ *   IDs array given by app to retrieve specific statistics. May be NULL to
+ *   retrieve all available statistics or, if @p values is NULL as well,
+ *   just the number of available statistics.
  * @param values
- *   A pointer to a table to be filled with device statistics values.
+ *   Array to be filled in with requested device statistics.
+ *   Must not be NULL if ids are specified (not NULL).
  * @param size
- *   The size of the ids array (number of elements).
+ *   Number of elements in @p values array (if not NULL) and in @p ids
+ *   array (if not NULL). Must be 0 if both array pointers are NULL.
  * @return
  *   - A positive value lower or equal to size: success. The return value
  *     is the number of entries filled in the stats table.
- *   - A positive value higher than size: error, the given statistics table
+ *   - A positive value higher than size: success: The given statistics table
  *     is too small. The return value corresponds to the size that should
  *     be given to succeed. The entries in the table are not valid and
  *     shall not be used by the caller.
- *   - A negative value on error (invalid port id).
+ *   - A negative value on error.
  */
 int rte_eth_xstats_get_by_id(uint16_t port_id, const uint64_t *ids,
 			     uint64_t *values, unsigned int size);
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:09.338805055 +0100
+++ 0057-ethdev-fix-xstats-by-ID-API-documentation.patch	2021-11-30 16:50:05.714872972 +0100
@@ -1 +1 @@
-From bc5112ca599c1e565c0f2d3dc3de0f73381a8c05 Mon Sep 17 00:00:00 2001
+From e40ae0091cb7378988e62858eaeb014fd107a772 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit bc5112ca599c1e565c0f2d3dc3de0f73381a8c05 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -17 +18 @@
- lib/ethdev/rte_ethdev.h | 35 +++++++++++++++++++----------------
+ lib/librte_ethdev/rte_ethdev.h | 35 ++++++++++++++++++----------------
@@ -20,5 +21,5 @@
-diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h
-index afdc53b674..2ad2bf2019 100644
---- a/lib/ethdev/rte_ethdev.h
-+++ b/lib/ethdev/rte_ethdev.h
-@@ -2896,21 +2896,23 @@ int rte_eth_xstats_get(uint16_t port_id, struct rte_eth_xstat *xstats,
+diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
+index d42226daa3..091a77bf21 100644
+--- a/lib/librte_ethdev/rte_ethdev.h
++++ b/lib/librte_ethdev/rte_ethdev.h
+@@ -2384,21 +2384,23 @@ int rte_eth_xstats_get(uint16_t port_id, struct rte_eth_xstat *xstats,
@@ -56 +57 @@
-@@ -2923,22 +2925,23 @@ rte_eth_xstats_get_names_by_id(uint16_t port_id,
+@@ -2411,22 +2413,23 @@ rte_eth_xstats_get_names_by_id(uint16_t port_id,

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

* patch 'net/hns3: fix input parameters of MAC functions' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (55 preceding siblings ...)
  2021-11-30 16:34 ` patch 'ethdev: fix xstats by ID API documentation' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'net: fix checksum API documentation' " christian.ehrhardt
                   ` (102 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Huisong Li; +Cc: Min Hu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From a5811ad841482f0d0c12140bbef662517c80b1d2 Mon Sep 17 00:00:00 2001
From: Huisong Li <lihuisong@huawei.com>
Date: Wed, 22 Sep 2021 11:41:52 +0800
Subject: [PATCH] net/hns3: fix input parameters of MAC functions

[ upstream commit 60a6b4a574cf3b9415c73c31173eb42deb5ca92b ]

When adding multicast and unicast MAC addresses, three descriptors and
one descriptor are required for querying or adding MAC VLAN table,
respectively. This patch uses the number of descriptors as input
parameter to complete this task to make the function more secure.

Fixes: 7d7f9f80bbfb ("net/hns3: support MAC address related operations")

Signed-off-by: Huisong Li <lihuisong@huawei.com>
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
---
 drivers/net/hns3/hns3_cmd.h    |  3 +-
 drivers/net/hns3/hns3_ethdev.c | 88 +++++++++++++++++++---------------
 2 files changed, 51 insertions(+), 40 deletions(-)

diff --git a/drivers/net/hns3/hns3_cmd.h b/drivers/net/hns3/hns3_cmd.h
index 07ea1484b3..ea4ae4aebc 100644
--- a/drivers/net/hns3/hns3_cmd.h
+++ b/drivers/net/hns3/hns3_cmd.h
@@ -738,7 +738,8 @@ enum hns3_mac_vlan_add_resp_code {
 	HNS3_ADD_MC_OVERFLOW,      /* ADD failed for MC overflow */
 };
 
-#define HNS3_MC_MAC_VLAN_ADD_DESC_NUM	3
+#define HNS3_MC_MAC_VLAN_OPS_DESC_NUM   3
+#define HNS3_UC_MAC_VLAN_OPS_DESC_NUM   1
 
 #define HNS3_MAC_VLAN_BIT0_EN_B		0
 #define HNS3_MAC_VLAN_BIT1_EN_B		1
diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c
index 0b27234161..157dd34d4f 100644
--- a/drivers/net/hns3/hns3_ethdev.c
+++ b/drivers/net/hns3/hns3_ethdev.c
@@ -1313,28 +1313,31 @@ hns3_get_mac_vlan_cmd_status(struct hns3_hw *hw, uint16_t cmdq_resp,
 static int
 hns3_lookup_mac_vlan_tbl(struct hns3_hw *hw,
 			 struct hns3_mac_vlan_tbl_entry_cmd *req,
-			 struct hns3_cmd_desc *desc, bool is_mc)
+			 struct hns3_cmd_desc *desc, uint8_t desc_num)
 {
 	uint8_t resp_code;
 	uint16_t retval;
 	int ret;
+	int i;
 
-	hns3_cmd_setup_basic_desc(&desc[0], HNS3_OPC_MAC_VLAN_ADD, true);
-	if (is_mc) {
-		desc[0].flag |= rte_cpu_to_le_16(HNS3_CMD_FLAG_NEXT);
-		memcpy(desc[0].data, req,
-			   sizeof(struct hns3_mac_vlan_tbl_entry_cmd));
-		hns3_cmd_setup_basic_desc(&desc[1], HNS3_OPC_MAC_VLAN_ADD,
-					  true);
-		desc[1].flag |= rte_cpu_to_le_16(HNS3_CMD_FLAG_NEXT);
-		hns3_cmd_setup_basic_desc(&desc[2], HNS3_OPC_MAC_VLAN_ADD,
+	if (desc_num == HNS3_MC_MAC_VLAN_OPS_DESC_NUM) {
+		for (i = 0; i < desc_num - 1; i++) {
+			hns3_cmd_setup_basic_desc(&desc[i],
+						  HNS3_OPC_MAC_VLAN_ADD, true);
+			desc[i].flag |= rte_cpu_to_le_16(HNS3_CMD_FLAG_NEXT);
+			if (i == 0)
+				memcpy(desc[i].data, req,
+				sizeof(struct hns3_mac_vlan_tbl_entry_cmd));
+		}
+		hns3_cmd_setup_basic_desc(&desc[i], HNS3_OPC_MAC_VLAN_ADD,
 					  true);
-		ret = hns3_cmd_send(hw, desc, HNS3_MC_MAC_VLAN_ADD_DESC_NUM);
 	} else {
+		hns3_cmd_setup_basic_desc(&desc[0], HNS3_OPC_MAC_VLAN_ADD,
+					  true);
 		memcpy(desc[0].data, req,
 		       sizeof(struct hns3_mac_vlan_tbl_entry_cmd));
-		ret = hns3_cmd_send(hw, desc, 1);
 	}
+	ret = hns3_cmd_send(hw, desc, desc_num);
 	if (ret) {
 		hns3_err(hw, "lookup mac addr failed for cmd_send, ret =%d.",
 			 ret);
@@ -1350,38 +1353,40 @@ hns3_lookup_mac_vlan_tbl(struct hns3_hw *hw,
 static int
 hns3_add_mac_vlan_tbl(struct hns3_hw *hw,
 		      struct hns3_mac_vlan_tbl_entry_cmd *req,
-		      struct hns3_cmd_desc *mc_desc)
+		      struct hns3_cmd_desc *desc, uint8_t desc_num)
 {
 	uint8_t resp_code;
 	uint16_t retval;
 	int cfg_status;
 	int ret;
+	int i;
 
-	if (mc_desc == NULL) {
-		struct hns3_cmd_desc desc;
-
-		hns3_cmd_setup_basic_desc(&desc, HNS3_OPC_MAC_VLAN_ADD, false);
-		memcpy(desc.data, req,
+	if (desc_num == HNS3_UC_MAC_VLAN_OPS_DESC_NUM) {
+		hns3_cmd_setup_basic_desc(desc, HNS3_OPC_MAC_VLAN_ADD, false);
+		memcpy(desc->data, req,
 		       sizeof(struct hns3_mac_vlan_tbl_entry_cmd));
-		ret = hns3_cmd_send(hw, &desc, 1);
-		resp_code = (rte_le_to_cpu_32(desc.data[0]) >> 8) & 0xff;
-		retval = rte_le_to_cpu_16(desc.retval);
+		ret = hns3_cmd_send(hw, desc, desc_num);
+		resp_code = (rte_le_to_cpu_32(desc->data[0]) >> 8) & 0xff;
+		retval = rte_le_to_cpu_16(desc->retval);
 
 		cfg_status = hns3_get_mac_vlan_cmd_status(hw, retval, resp_code,
 							  HNS3_MAC_VLAN_ADD);
 	} else {
-		hns3_cmd_reuse_desc(&mc_desc[0], false);
-		mc_desc[0].flag |= rte_cpu_to_le_16(HNS3_CMD_FLAG_NEXT);
-		hns3_cmd_reuse_desc(&mc_desc[1], false);
-		mc_desc[1].flag |= rte_cpu_to_le_16(HNS3_CMD_FLAG_NEXT);
-		hns3_cmd_reuse_desc(&mc_desc[2], false);
-		mc_desc[2].flag &= rte_cpu_to_le_16(~HNS3_CMD_FLAG_NEXT);
-		memcpy(mc_desc[0].data, req,
+		for (i = 0; i < desc_num; i++) {
+			hns3_cmd_reuse_desc(&desc[i], false);
+			if (i == desc_num - 1)
+				desc[i].flag &=
+					rte_cpu_to_le_16(~HNS3_CMD_FLAG_NEXT);
+			else
+				desc[i].flag |=
+					rte_cpu_to_le_16(HNS3_CMD_FLAG_NEXT);
+		}
+		memcpy(desc[0].data, req,
 		       sizeof(struct hns3_mac_vlan_tbl_entry_cmd));
-		mc_desc[0].retval = 0;
-		ret = hns3_cmd_send(hw, mc_desc, HNS3_MC_MAC_VLAN_ADD_DESC_NUM);
-		resp_code = (rte_le_to_cpu_32(mc_desc[0].data[0]) >> 8) & 0xff;
-		retval = rte_le_to_cpu_16(mc_desc[0].retval);
+		desc[0].retval = 0;
+		ret = hns3_cmd_send(hw, desc, desc_num);
+		resp_code = (rte_le_to_cpu_32(desc[0].data[0]) >> 8) & 0xff;
+		retval = rte_le_to_cpu_16(desc[0].retval);
 
 		cfg_status = hns3_get_mac_vlan_cmd_status(hw, retval, resp_code,
 							  HNS3_MAC_VLAN_ADD);
@@ -1426,7 +1431,7 @@ hns3_add_uc_addr_common(struct hns3_hw *hw, struct rte_ether_addr *mac_addr)
 	struct hns3_adapter *hns = HNS3_DEV_HW_TO_ADAPTER(hw);
 	struct hns3_mac_vlan_tbl_entry_cmd req;
 	struct hns3_pf *pf = &hns->pf;
-	struct hns3_cmd_desc desc[3];
+	struct hns3_cmd_desc desc;
 	char mac_str[RTE_ETHER_ADDR_FMT_SIZE];
 	uint16_t egress_port = 0;
 	uint8_t vf_id;
@@ -1461,10 +1466,12 @@ hns3_add_uc_addr_common(struct hns3_hw *hw, struct rte_ether_addr *mac_addr)
 	 * it if the entry is inexistent. Repeated unicast entry
 	 * is not allowed in the mac vlan table.
 	 */
-	ret = hns3_lookup_mac_vlan_tbl(hw, &req, desc, false);
+	ret = hns3_lookup_mac_vlan_tbl(hw, &req, &desc,
+					HNS3_UC_MAC_VLAN_OPS_DESC_NUM);
 	if (ret == -ENOENT) {
 		if (!hns3_is_umv_space_full(hw)) {
-			ret = hns3_add_mac_vlan_tbl(hw, &req, NULL);
+			ret = hns3_add_mac_vlan_tbl(hw, &req, &desc,
+						HNS3_UC_MAC_VLAN_OPS_DESC_NUM);
 			if (!ret)
 				hns3_update_umv_space(hw, false);
 			return ret;
@@ -1778,8 +1785,8 @@ hns3_update_desc_vfid(struct hns3_cmd_desc *desc, uint8_t vfid, bool clr)
 static int
 hns3_add_mc_addr(struct hns3_hw *hw, struct rte_ether_addr *mac_addr)
 {
+	struct hns3_cmd_desc desc[HNS3_MC_MAC_VLAN_OPS_DESC_NUM];
 	struct hns3_mac_vlan_tbl_entry_cmd req;
-	struct hns3_cmd_desc desc[3];
 	char mac_str[RTE_ETHER_ADDR_FMT_SIZE];
 	uint8_t vf_id;
 	int ret;
@@ -1796,7 +1803,8 @@ hns3_add_mc_addr(struct hns3_hw *hw, struct rte_ether_addr *mac_addr)
 	memset(&req, 0, sizeof(req));
 	hns3_set_bit(req.entry_type, HNS3_MAC_VLAN_BIT0_EN_B, 0);
 	hns3_prepare_mac_addr(&req, mac_addr->addr_bytes, true);
-	ret = hns3_lookup_mac_vlan_tbl(hw, &req, desc, true);
+	ret = hns3_lookup_mac_vlan_tbl(hw, &req, desc,
+					HNS3_MC_MAC_VLAN_OPS_DESC_NUM);
 	if (ret) {
 		/* This mac addr do not exist, add new entry for it */
 		memset(desc[0].data, 0, sizeof(desc[0].data));
@@ -1811,7 +1819,8 @@ hns3_add_mc_addr(struct hns3_hw *hw, struct rte_ether_addr *mac_addr)
 	 */
 	vf_id = 0;
 	hns3_update_desc_vfid(desc, vf_id, false);
-	ret = hns3_add_mac_vlan_tbl(hw, &req, desc);
+	ret = hns3_add_mac_vlan_tbl(hw, &req, desc,
+					HNS3_MC_MAC_VLAN_OPS_DESC_NUM);
 	if (ret) {
 		if (ret == -ENOSPC)
 			hns3_err(hw, "mc mac vlan table is full");
@@ -1844,7 +1853,8 @@ hns3_remove_mc_addr(struct hns3_hw *hw, struct rte_ether_addr *mac_addr)
 	memset(&req, 0, sizeof(req));
 	hns3_set_bit(req.entry_type, HNS3_MAC_VLAN_BIT0_EN_B, 0);
 	hns3_prepare_mac_addr(&req, mac_addr->addr_bytes, true);
-	ret = hns3_lookup_mac_vlan_tbl(hw, &req, desc, true);
+	ret = hns3_lookup_mac_vlan_tbl(hw, &req, desc,
+					HNS3_MC_MAC_VLAN_OPS_DESC_NUM);
 	if (ret == 0) {
 		/*
 		 * This mac addr exist, remove this handle's VFID for it.
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:09.394975682 +0100
+++ 0058-net-hns3-fix-input-parameters-of-MAC-functions.patch	2021-11-30 16:50:05.722873031 +0100
@@ -1 +1 @@
-From 60a6b4a574cf3b9415c73c31173eb42deb5ca92b Mon Sep 17 00:00:00 2001
+From a5811ad841482f0d0c12140bbef662517c80b1d2 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 60a6b4a574cf3b9415c73c31173eb42deb5ca92b ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index a4683de0aa..81bc9e9d98 100644
+index 07ea1484b3..ea4ae4aebc 100644
@@ -25 +26 @@
-@@ -923,7 +923,8 @@ enum hns3_mac_vlan_add_resp_code {
+@@ -738,7 +738,8 @@ enum hns3_mac_vlan_add_resp_code {
@@ -36 +37 @@
-index 5c8ac5754f..cabf73ffbc 100644
+index 0b27234161..157dd34d4f 100644
@@ -39 +40 @@
-@@ -1427,28 +1427,31 @@ hns3_get_mac_vlan_cmd_status(struct hns3_hw *hw, uint16_t cmdq_resp,
+@@ -1313,28 +1313,31 @@ hns3_get_mac_vlan_cmd_status(struct hns3_hw *hw, uint16_t cmdq_resp,
@@ -83 +84 @@
-@@ -1464,38 +1467,40 @@ hns3_lookup_mac_vlan_tbl(struct hns3_hw *hw,
+@@ -1350,38 +1353,40 @@ hns3_lookup_mac_vlan_tbl(struct hns3_hw *hw,
@@ -144 +145 @@
-@@ -1540,7 +1545,7 @@ hns3_add_uc_addr_common(struct hns3_hw *hw, struct rte_ether_addr *mac_addr)
+@@ -1426,7 +1431,7 @@ hns3_add_uc_addr_common(struct hns3_hw *hw, struct rte_ether_addr *mac_addr)
@@ -153 +154 @@
-@@ -1574,10 +1579,12 @@ hns3_add_uc_addr_common(struct hns3_hw *hw, struct rte_ether_addr *mac_addr)
+@@ -1461,10 +1466,12 @@ hns3_add_uc_addr_common(struct hns3_hw *hw, struct rte_ether_addr *mac_addr)
@@ -168 +169 @@
-@@ -1867,8 +1874,8 @@ hns3_update_desc_vfid(struct hns3_cmd_desc *desc, uint8_t vfid, bool clr)
+@@ -1778,8 +1785,8 @@ hns3_update_desc_vfid(struct hns3_cmd_desc *desc, uint8_t vfid, bool clr)
@@ -178 +179 @@
-@@ -1885,7 +1892,8 @@ hns3_add_mc_addr(struct hns3_hw *hw, struct rte_ether_addr *mac_addr)
+@@ -1796,7 +1803,8 @@ hns3_add_mc_addr(struct hns3_hw *hw, struct rte_ether_addr *mac_addr)
@@ -188 +189 @@
-@@ -1899,7 +1907,8 @@ hns3_add_mc_addr(struct hns3_hw *hw, struct rte_ether_addr *mac_addr)
+@@ -1811,7 +1819,8 @@ hns3_add_mc_addr(struct hns3_hw *hw, struct rte_ether_addr *mac_addr)
@@ -190 +191 @@
- 	vf_id = HNS3_PF_FUNC_ID;
+ 	vf_id = 0;
@@ -198 +199 @@
-@@ -1932,7 +1941,8 @@ hns3_remove_mc_addr(struct hns3_hw *hw, struct rte_ether_addr *mac_addr)
+@@ -1844,7 +1853,8 @@ hns3_remove_mc_addr(struct hns3_hw *hw, struct rte_ether_addr *mac_addr)

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

* patch 'net: fix checksum API documentation' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (56 preceding siblings ...)
  2021-11-30 16:34 ` patch 'net/hns3: fix input parameters of MAC functions' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'examples/fips_validation: remove unused allocation' " christian.ehrhardt
                   ` (101 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Lance Richardson; +Cc: Ferruh Yigit, Olivier Matz, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 0b9f46c0b78feacbbcfba8a1417f6926d83dd5aa Mon Sep 17 00:00:00 2001
From: Lance Richardson <lance.richardson@broadcom.com>
Date: Tue, 21 Sep 2021 10:59:24 -0400
Subject: [PATCH] net: fix checksum API documentation

[ upstream commit dc954ae73aab9aaf45b8d5ce42f4490773dd1fab ]

Minor corrections and improvements to documentation
for checksum APIs.

Fixes: 6006818cfb26 ("net: new checksum functions")
Fixes: 45a08ef55e44 ("net: introduce functions to verify L4 checksums")

Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
---
 lib/librte_net/rte_ip.h | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/lib/librte_net/rte_ip.h b/lib/librte_net/rte_ip.h
index f03db05e18..cedfd27ac1 100644
--- a/lib/librte_net/rte_ip.h
+++ b/lib/librte_net/rte_ip.h
@@ -322,15 +322,14 @@ rte_ipv4_phdr_cksum(const struct rte_ipv4_hdr *ipv4_hdr, uint64_t ol_flags)
 /**
  * Process the IPv4 UDP or TCP checksum.
  *
- * The IPv4 header should not contains options. The IP and layer 4
- * checksum must be set to 0 in the packet by the caller.
+ * The layer 4 checksum must be set to 0 in the L4 header by the caller.
  *
  * @param ipv4_hdr
  *   The pointer to the contiguous IPv4 header.
  * @param l4_hdr
  *   The pointer to the beginning of the L4 header.
  * @return
- *   The complemented checksum to set in the IP packet.
+ *   The complemented checksum to set in the L4 header.
  */
 static inline uint16_t
 rte_ipv4_udptcp_cksum(const struct rte_ipv4_hdr *ipv4_hdr, const void *l4_hdr)
@@ -423,15 +422,15 @@ rte_ipv6_phdr_cksum(const struct rte_ipv6_hdr *ipv6_hdr, uint64_t ol_flags)
 /**
  * Process the IPv6 UDP or TCP checksum.
  *
- * The IPv4 header should not contains options. The layer 4 checksum
- * must be set to 0 in the packet by the caller.
+ * The IPv6 header must not be followed by extension headers. The layer 4
+ * checksum must be set to 0 in the L4 header by the caller.
  *
  * @param ipv6_hdr
  *   The pointer to the contiguous IPv6 header.
  * @param l4_hdr
  *   The pointer to the beginning of the L4 header.
  * @return
- *   The complemented checksum to set in the IP packet.
+ *   The complemented checksum to set in the L4 header.
  */
 static inline uint16_t
 rte_ipv6_udptcp_cksum(const struct rte_ipv6_hdr *ipv6_hdr, const void *l4_hdr)
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:09.442171659 +0100
+++ 0059-net-fix-checksum-API-documentation.patch	2021-11-30 16:50:05.726873060 +0100
@@ -1 +1 @@
-From dc954ae73aab9aaf45b8d5ce42f4490773dd1fab Mon Sep 17 00:00:00 2001
+From 0b9f46c0b78feacbbcfba8a1417f6926d83dd5aa Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit dc954ae73aab9aaf45b8d5ce42f4490773dd1fab ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -17,2 +18,2 @@
- lib/net/rte_ip.h | 13 ++++++-------
- 1 file changed, 6 insertions(+), 7 deletions(-)
+ lib/librte_net/rte_ip.h | 11 +++++------
+ 1 file changed, 5 insertions(+), 6 deletions(-)
@@ -20,5 +21,5 @@
-diff --git a/lib/net/rte_ip.h b/lib/net/rte_ip.h
-index bbd8650962..b3d45e85db 100644
---- a/lib/net/rte_ip.h
-+++ b/lib/net/rte_ip.h
-@@ -372,15 +372,14 @@ __rte_ipv4_udptcp_cksum(const struct rte_ipv4_hdr *ipv4_hdr, const void *l4_hdr)
+diff --git a/lib/librte_net/rte_ip.h b/lib/librte_net/rte_ip.h
+index f03db05e18..cedfd27ac1 100644
+--- a/lib/librte_net/rte_ip.h
++++ b/lib/librte_net/rte_ip.h
+@@ -322,15 +322,14 @@ rte_ipv4_phdr_cksum(const struct rte_ipv4_hdr *ipv4_hdr, uint64_t ol_flags)
@@ -28,2 +29,2 @@
-- * The IP and layer 4 checksum must be set to 0 in the packet by
-- * the caller.
+- * The IPv4 header should not contains options. The IP and layer 4
+- * checksum must be set to 0 in the packet by the caller.
@@ -42,10 +43 @@
-@@ -489,7 +488,7 @@ rte_ipv6_phdr_cksum(const struct rte_ipv6_hdr *ipv6_hdr, uint64_t ol_flags)
- }
- 
- /**
-- * @internal Calculate the non-complemented IPv4 L4 checksum
-+ * @internal Calculate the non-complemented IPv6 L4 checksum
-  */
- static inline uint16_t
- __rte_ipv6_udptcp_cksum(const struct rte_ipv6_hdr *ipv6_hdr, const void *l4_hdr)
-@@ -510,15 +509,15 @@ __rte_ipv6_udptcp_cksum(const struct rte_ipv6_hdr *ipv6_hdr, const void *l4_hdr)
+@@ -423,15 +422,15 @@ rte_ipv6_phdr_cksum(const struct rte_ipv6_hdr *ipv6_hdr, uint64_t ol_flags)

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

* patch 'examples/fips_validation: remove unused allocation' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (57 preceding siblings ...)
  2021-11-30 16:34 ` patch 'net: fix checksum API documentation' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'test/event_crypto: fix event crypto metadata write' " christian.ehrhardt
                   ` (100 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Ciara Power; +Cc: Fan Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/688244964296f60dbeb630c607cccfdab79b5b6a

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 688244964296f60dbeb630c607cccfdab79b5b6a Mon Sep 17 00:00:00 2001
From: Ciara Power <ciara.power@intel.com>
Date: Thu, 12 Aug 2021 14:24:34 +0000
Subject: [PATCH] examples/fips_validation: remove unused allocation

[ upstream commit 25d392e1999b3d766f3a9f142372cc1220fa2c97 ]

The val.val pointer is allocated memory, however this memory is then
freed in get_writeback_data() without being used beforehand.
The pointer is then allocated memory again before use,
so the very first allocation is removed as it was unnecessary.

Fixes: f4797bae0050 ("examples/fips_validation: support plain SHA")

Signed-off-by: Ciara Power <ciara.power@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
---
 examples/fips_validation/main.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/examples/fips_validation/main.c b/examples/fips_validation/main.c
index 2f8238886b..5a4a25cb61 100644
--- a/examples/fips_validation/main.c
+++ b/examples/fips_validation/main.c
@@ -1373,7 +1373,6 @@ fips_mct_sha_test(void)
 	int ret;
 	uint32_t i, j;
 
-	val.val = rte_malloc(NULL, (MAX_DIGEST_SIZE*SHA_MD_BLOCK), 0);
 	for (i = 0; i < SHA_MD_BLOCK; i++)
 		md[i].val = rte_malloc(NULL, (MAX_DIGEST_SIZE*2), 0);
 
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:09.493265796 +0100
+++ 0060-examples-fips_validation-remove-unused-allocation.patch	2021-11-30 16:50:05.726873060 +0100
@@ -1 +1 @@
-From 25d392e1999b3d766f3a9f142372cc1220fa2c97 Mon Sep 17 00:00:00 2001
+From 688244964296f60dbeb630c607cccfdab79b5b6a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 25d392e1999b3d766f3a9f142372cc1220fa2c97 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index a8daad1f48..c0e68b8848 100644
+index 2f8238886b..5a4a25cb61 100644
@@ -24 +25 @@
-@@ -1632,7 +1632,6 @@ fips_mct_sha_test(void)
+@@ -1373,7 +1373,6 @@ fips_mct_sha_test(void)

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

* patch 'test/event_crypto: fix event crypto metadata write' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (58 preceding siblings ...)
  2021-11-30 16:34 ` patch 'examples/fips_validation: remove unused allocation' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'test/service: fix some comment' " christian.ehrhardt
                   ` (99 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Shijith Thotton; +Cc: Abhinandan Gujjar, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/03cbc1d238e872c2f67fdf6a24fd9974f2c8ab94

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 03cbc1d238e872c2f67fdf6a24fd9974f2c8ab94 Mon Sep 17 00:00:00 2001
From: Shijith Thotton <sthotton@marvell.com>
Date: Mon, 27 Sep 2021 20:59:13 +0530
Subject: [PATCH] test/event_crypto: fix event crypto metadata write

[ upstream commit 67c8baecaee2ef312330102544b1f1e892a95502 ]

Using memcpy to update event crypto metadata fields (request/response)
will result in one overwriting the other. To avoid this, fields of each
structure should be updated one by one.

Fixes: 3c2c535ecfc0 ("test: add event crypto adapter auto-test")

Signed-off-by: Shijith Thotton <sthotton@marvell.com>
Acked-by: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
---
 app/test/test_event_crypto_adapter.c | 21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)

diff --git a/app/test/test_event_crypto_adapter.c b/app/test/test_event_crypto_adapter.c
index b30e0f8f3e..fe016fec7b 100644
--- a/app/test/test_event_crypto_adapter.c
+++ b/app/test/test_event_crypto_adapter.c
@@ -208,10 +208,10 @@ test_op_forward_mode(uint8_t session_less)
 
 		if (cap & RTE_EVENT_CRYPTO_ADAPTER_CAP_SESSION_PRIVATE_DATA) {
 			/* Fill in private user data information */
-			rte_memcpy(&m_data.response_info, &response_info,
-				sizeof(response_info));
-			rte_memcpy(&m_data.request_info, &request_info,
-				sizeof(request_info));
+			m_data.request_info.cdev_id = request_info.cdev_id;
+			m_data.request_info.queue_pair_id =
+				request_info.queue_pair_id;
+			m_data.response_info.event = response_info.event;
 			rte_cryptodev_sym_session_set_user_data(sess,
 						&m_data, sizeof(m_data));
 		}
@@ -227,10 +227,9 @@ test_op_forward_mode(uint8_t session_less)
 		uint32_t len = IV_OFFSET + MAXIMUM_IV_LENGTH;
 		op->private_data_offset = len;
 		/* Fill in private data information */
-		rte_memcpy(&m_data.response_info, &response_info,
-			   sizeof(response_info));
-		rte_memcpy(&m_data.request_info, &request_info,
-			   sizeof(request_info));
+		m_data.request_info.cdev_id = request_info.cdev_id;
+		m_data.request_info.queue_pair_id = request_info.queue_pair_id;
+		m_data.response_info.event = response_info.event;
 		rte_memcpy((uint8_t *)op + len, &m_data, sizeof(m_data));
 	}
 
@@ -401,8 +400,7 @@ test_op_new_mode(uint8_t session_less)
 
 		if (cap & RTE_EVENT_CRYPTO_ADAPTER_CAP_SESSION_PRIVATE_DATA) {
 			/* Fill in private user data information */
-			rte_memcpy(&m_data.response_info, &response_info,
-				   sizeof(m_data));
+			m_data.response_info.event = response_info.event;
 			rte_cryptodev_sym_session_set_user_data(sess,
 						&m_data, sizeof(m_data));
 		}
@@ -421,8 +419,7 @@ test_op_new_mode(uint8_t session_less)
 		uint32_t len = IV_OFFSET + MAXIMUM_IV_LENGTH;
 		op->private_data_offset = len;
 		/* Fill in private data information */
-		rte_memcpy(&m_data.response_info, &response_info,
-			   sizeof(m_data));
+		m_data.response_info.event = response_info.event;
 		rte_memcpy((uint8_t *)op + len, &m_data, sizeof(m_data));
 	}
 
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:09.540842639 +0100
+++ 0061-test-event_crypto-fix-event-crypto-metadata-write.patch	2021-11-30 16:50:05.726873060 +0100
@@ -1 +1 @@
-From 67c8baecaee2ef312330102544b1f1e892a95502 Mon Sep 17 00:00:00 2001
+From 03cbc1d238e872c2f67fdf6a24fd9974f2c8ab94 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 67c8baecaee2ef312330102544b1f1e892a95502 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 3ad20921e2..0c7ebe6981 100644
+index b30e0f8f3e..fe016fec7b 100644
@@ -23 +24 @@
-@@ -212,10 +212,10 @@ test_op_forward_mode(uint8_t session_less)
+@@ -208,10 +208,10 @@ test_op_forward_mode(uint8_t session_less)
@@ -38 +39 @@
-@@ -231,10 +231,9 @@ test_op_forward_mode(uint8_t session_less)
+@@ -227,10 +227,9 @@ test_op_forward_mode(uint8_t session_less)
@@ -52 +53 @@
-@@ -405,8 +404,7 @@ test_op_new_mode(uint8_t session_less)
+@@ -401,8 +400,7 @@ test_op_new_mode(uint8_t session_less)
@@ -62 +63 @@
-@@ -425,8 +423,7 @@ test_op_new_mode(uint8_t session_less)
+@@ -421,8 +419,7 @@ test_op_new_mode(uint8_t session_less)

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

* patch 'test/service: fix some comment' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (59 preceding siblings ...)
  2021-11-30 16:34 ` patch 'test/event_crypto: fix event crypto metadata write' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'eal/x86: fix some CPU extended features definitions' " christian.ehrhardt
                   ` (98 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Joyce Kong; +Cc: Ruifeng Wang, Harry van Haaren, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 1bb03e0139635d74d3035da64b925f9998fb2fc0 Mon Sep 17 00:00:00 2001
From: Joyce Kong <joyce.kong@arm.com>
Date: Thu, 19 Aug 2021 01:11:25 -0500
Subject: [PATCH] test/service: fix some comment

[ upstream commit 79afbbfeea44f624242ad93c28072d73da631e1b ]

Change the inaccurate comment of 'set pass flag' to 'clear pass flag'
as the '*pass_test = 0' code actually implements clearing.

Fixes: f038a81e1c56 ("service: add unit tests")

Signed-off-by: Joyce Kong <joyce.kong@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
---
 app/test/test_service_cores.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/test/test_service_cores.c b/app/test/test_service_cores.c
index 2a4978e29a..2a52c1d452 100644
--- a/app/test/test_service_cores.c
+++ b/app/test/test_service_cores.c
@@ -66,7 +66,7 @@ static int32_t dummy_mt_unsafe_cb(void *args)
 		rte_delay_ms(250);
 		rte_atomic32_clear((rte_atomic32_t *)atomic_lock);
 	} else {
-		/* 2nd thread will fail to take lock, so set pass flag */
+		/* 2nd thread will fail to take lock, so clear pass flag */
 		*pass_test = 0;
 	}
 
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:09.598234200 +0100
+++ 0062-test-service-fix-some-comment.patch	2021-11-30 16:50:05.730873089 +0100
@@ -1 +1 @@
-From 79afbbfeea44f624242ad93c28072d73da631e1b Mon Sep 17 00:00:00 2001
+From 1bb03e0139635d74d3035da64b925f9998fb2fc0 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 79afbbfeea44f624242ad93c28072d73da631e1b ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index ece104054e..8659a1526c 100644
+index 2a4978e29a..2a52c1d452 100644
@@ -23 +24 @@
-@@ -68,7 +68,7 @@ static int32_t dummy_mt_unsafe_cb(void *args)
+@@ -66,7 +66,7 @@ static int32_t dummy_mt_unsafe_cb(void *args)
@@ -25 +26 @@
- 		__atomic_store_n(lock, 0, __ATOMIC_RELAXED);
+ 		rte_atomic32_clear((rte_atomic32_t *)atomic_lock);

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

* patch 'eal/x86: fix some CPU extended features definitions' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (60 preceding siblings ...)
  2021-11-30 16:34 ` patch 'test/service: fix some comment' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'bus/vmbus: fix ring buffer mapping in secondary process' " christian.ehrhardt
                   ` (97 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: David Marchand; +Cc: Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 2c85290e6583f76d5425504e41d09ff91694e92e Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Fri, 8 Oct 2021 14:07:14 +0200
Subject: [PATCH] eal/x86: fix some CPU extended features definitions

[ upstream commit aae3037ab1e020f68fa9e662aab31321cffcdc31 ]

Caught while checking CPUID related stuff in OVS.

According to [1], for Structured Extended Feature Flags Enumeration Leaf
(EAX = 0x07H, ECX = 0):

- BMI1 is associated to EBX, bit 3 (was incorrectly 2),
- SMEP is associated to EBX, bit 7 (was incorrectly 6),
- BMI2 is associated to EBX, bit 8 (was incorrectly 7),
- ERMS is associated to EBX, bit 9 (was incorrectly 8),

1: https://software.intel.com/sites/default/files/managed/c5/15/architecture-instruction-set-extensions-programming-reference.pdf

Fixes: af75078fece3 ("first public release")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 lib/librte_eal/common/arch/x86/rte_cpuflags.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/lib/librte_eal/common/arch/x86/rte_cpuflags.c b/lib/librte_eal/common/arch/x86/rte_cpuflags.c
index 6492df556c..581c9dc1a0 100644
--- a/lib/librte_eal/common/arch/x86/rte_cpuflags.c
+++ b/lib/librte_eal/common/arch/x86/rte_cpuflags.c
@@ -99,12 +99,12 @@ const struct feature_entry rte_cpu_feature_table[] = {
 	FEAT_DEF(ENERGY_EFF, 0x00000006, 0, RTE_REG_ECX,  3)
 
 	FEAT_DEF(FSGSBASE, 0x00000007, 0, RTE_REG_EBX,  0)
-	FEAT_DEF(BMI1, 0x00000007, 0, RTE_REG_EBX,  2)
+	FEAT_DEF(BMI1, 0x00000007, 0, RTE_REG_EBX,  3)
 	FEAT_DEF(HLE, 0x00000007, 0, RTE_REG_EBX,  4)
 	FEAT_DEF(AVX2, 0x00000007, 0, RTE_REG_EBX,  5)
-	FEAT_DEF(SMEP, 0x00000007, 0, RTE_REG_EBX,  6)
-	FEAT_DEF(BMI2, 0x00000007, 0, RTE_REG_EBX,  7)
-	FEAT_DEF(ERMS, 0x00000007, 0, RTE_REG_EBX,  8)
+	FEAT_DEF(SMEP, 0x00000007, 0, RTE_REG_EBX,  7)
+	FEAT_DEF(BMI2, 0x00000007, 0, RTE_REG_EBX,  8)
+	FEAT_DEF(ERMS, 0x00000007, 0, RTE_REG_EBX,  9)
 	FEAT_DEF(INVPCID, 0x00000007, 0, RTE_REG_EBX, 10)
 	FEAT_DEF(RTM, 0x00000007, 0, RTE_REG_EBX, 11)
 	FEAT_DEF(AVX512F, 0x00000007, 0, RTE_REG_EBX, 16)
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:09.653024412 +0100
+++ 0063-eal-x86-fix-some-CPU-extended-features-definitions.patch	2021-11-30 16:50:05.730873089 +0100
@@ -1 +1 @@
-From aae3037ab1e020f68fa9e662aab31321cffcdc31 Mon Sep 17 00:00:00 2001
+From 2c85290e6583f76d5425504e41d09ff91694e92e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit aae3037ab1e020f68fa9e662aab31321cffcdc31 ]
+
@@ -19 +20,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
- lib/eal/x86/rte_cpuflags.c | 8 ++++----
+ lib/librte_eal/common/arch/x86/rte_cpuflags.c | 8 ++++----
@@ -27,5 +28,5 @@
-diff --git a/lib/eal/x86/rte_cpuflags.c b/lib/eal/x86/rte_cpuflags.c
-index d339734a8c..378fc95396 100644
---- a/lib/eal/x86/rte_cpuflags.c
-+++ b/lib/eal/x86/rte_cpuflags.c
-@@ -100,12 +100,12 @@ const struct feature_entry rte_cpu_feature_table[] = {
+diff --git a/lib/librte_eal/common/arch/x86/rte_cpuflags.c b/lib/librte_eal/common/arch/x86/rte_cpuflags.c
+index 6492df556c..581c9dc1a0 100644
+--- a/lib/librte_eal/common/arch/x86/rte_cpuflags.c
++++ b/lib/librte_eal/common/arch/x86/rte_cpuflags.c
+@@ -99,12 +99,12 @@ const struct feature_entry rte_cpu_feature_table[] = {

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

* patch 'bus/vmbus: fix ring buffer mapping in secondary process' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (61 preceding siblings ...)
  2021-11-30 16:34 ` patch 'eal/x86: fix some CPU extended features definitions' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'eal/freebsd: ignore in-memory option' " christian.ehrhardt
                   ` (96 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Long Li; +Cc: Jonathan Erb, Stephen Hemminger, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/30edb6e693dd3ad1263c071f7894ed20cb282003

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 30edb6e693dd3ad1263c071f7894ed20cb282003 Mon Sep 17 00:00:00 2001
From: Long Li <longli@microsoft.com>
Date: Wed, 29 Sep 2021 13:46:10 -0700
Subject: [PATCH] bus/vmbus: fix ring buffer mapping in secondary process

[ upstream commit 70cdd92e041acd7a0aad295f639f435fbe688190 ]

The driver code had wrong assumption that all the addresses to ring buffers
in the secondary process are the same as those in the primary process. This
is not always correct as the channels could be mapped to different
addresses in the secondary process.

Fix this by keeping track of all the mapped addresses from the primary
process in the shared uio_res, and have second process map to the same
addresses.

Fixes: 831dba47bd36 ("bus/vmbus: add Hyper-V virtual bus support")

Reported-by: Jonathan Erb <jonathan.erb@banduracyber.com>
Signed-off-by: Long Li <longli@microsoft.com>
Acked-by: Stephen Hemminger <sthemmin@microsoft.com>
---
 drivers/bus/vmbus/linux/vmbus_uio.c  | 99 +++++++++++++++-------------
 drivers/bus/vmbus/private.h          | 15 ++++-
 drivers/bus/vmbus/vmbus_channel.c    |  4 +-
 drivers/bus/vmbus/vmbus_common_uio.c | 52 +++++++++++----
 4 files changed, 107 insertions(+), 63 deletions(-)

diff --git a/drivers/bus/vmbus/linux/vmbus_uio.c b/drivers/bus/vmbus/linux/vmbus_uio.c
index 5dc0c47de6..fd64be93b0 100644
--- a/drivers/bus/vmbus/linux/vmbus_uio.c
+++ b/drivers/bus/vmbus/linux/vmbus_uio.c
@@ -11,6 +11,7 @@
 #include <sys/stat.h>
 #include <sys/mman.h>
 
+#include <rte_eal.h>
 #include <rte_log.h>
 #include <rte_bus.h>
 #include <rte_memory.h>
@@ -203,6 +204,37 @@ static int vmbus_uio_map_subchan(const struct rte_vmbus_device *dev,
 	struct stat sb;
 	void *mapaddr;
 	int fd;
+	struct mapped_vmbus_resource *uio_res;
+	int channel_idx;
+
+	uio_res = vmbus_uio_find_resource(dev);
+	if (!uio_res) {
+		VMBUS_LOG(ERR, "can not find resources for mapping subchan");
+		return -ENOMEM;
+	}
+
+	if (rte_eal_process_type() == RTE_PROC_PRIMARY) {
+		if (uio_res->nb_subchannels >= UIO_MAX_SUBCHANNEL) {
+			VMBUS_LOG(ERR,
+				"exceeding max subchannels UIO_MAX_SUBCHANNEL(%d)",
+				UIO_MAX_SUBCHANNEL);
+			VMBUS_LOG(ERR, "Change UIO_MAX_SUBCHANNEL and recompile");
+			return -ENOMEM;
+		}
+	} else {
+		for (channel_idx = 0; channel_idx < uio_res->nb_subchannels;
+		     channel_idx++)
+			if (uio_res->subchannel_maps[channel_idx].relid ==
+					chan->relid)
+				break;
+		if (channel_idx == uio_res->nb_subchannels) {
+			VMBUS_LOG(ERR,
+				"couldn't find sub channel %d from shared mapping in primary",
+				chan->relid);
+			return -ENOMEM;
+		}
+		vmbus_map_addr = uio_res->subchannel_maps[channel_idx].addr;
+	}
 
 	snprintf(ring_path, sizeof(ring_path),
 		 "%s/%s/channels/%u/ring",
@@ -239,58 +271,33 @@ static int vmbus_uio_map_subchan(const struct rte_vmbus_device *dev,
 	if (mapaddr == MAP_FAILED)
 		return -EIO;
 
+	if (rte_eal_process_type() == RTE_PROC_PRIMARY) {
+
+		/* Add this mapping to uio_res for use by secondary */
+		uio_res->subchannel_maps[uio_res->nb_subchannels].relid =
+			chan->relid;
+		uio_res->subchannel_maps[uio_res->nb_subchannels].addr =
+			mapaddr;
+		uio_res->subchannel_maps[uio_res->nb_subchannels].size =
+			file_size;
+		uio_res->nb_subchannels++;
+
+		vmbus_map_addr = RTE_PTR_ADD(mapaddr, file_size);
+	} else {
+		if (mapaddr != vmbus_map_addr) {
+			VMBUS_LOG(ERR, "failed to map channel %d to addr %p",
+					chan->relid, mapaddr);
+			vmbus_unmap_resource(mapaddr, file_size);
+			return -EIO;
+		}
+	}
+
 	*ring_size = file_size / 2;
 	*ring_buf = mapaddr;
 
-	vmbus_map_addr = RTE_PTR_ADD(mapaddr, file_size);
 	return 0;
 }
 
-int
-vmbus_uio_map_secondary_subchan(const struct rte_vmbus_device *dev,
-				const struct vmbus_channel *chan)
-{
-	const struct vmbus_br *br = &chan->txbr;
-	char ring_path[PATH_MAX];
-	void *mapaddr, *ring_buf;
-	uint32_t ring_size;
-	int fd;
-
-	snprintf(ring_path, sizeof(ring_path),
-		 "%s/%s/channels/%u/ring",
-		 SYSFS_VMBUS_DEVICES, dev->device.name,
-		 chan->relid);
-
-	ring_buf = br->vbr;
-	ring_size = br->dsize + sizeof(struct vmbus_bufring);
-	VMBUS_LOG(INFO, "secondary ring_buf %p size %u",
-		  ring_buf, ring_size);
-
-	fd = open(ring_path, O_RDWR);
-	if (fd < 0) {
-		VMBUS_LOG(ERR, "Cannot open %s: %s",
-			  ring_path, strerror(errno));
-		return -errno;
-	}
-
-	mapaddr = vmbus_map_resource(ring_buf, fd, 0, 2 * ring_size, 0);
-	close(fd);
-
-	if (mapaddr == ring_buf)
-		return 0;
-
-	if (mapaddr == MAP_FAILED)
-		VMBUS_LOG(ERR,
-			  "mmap subchan %u in secondary failed", chan->relid);
-	else {
-		VMBUS_LOG(ERR,
-			  "mmap subchan %u in secondary address mismatch",
-			  chan->relid);
-		vmbus_unmap_resource(mapaddr, 2 * ring_size);
-	}
-	return -1;
-}
-
 int vmbus_uio_map_rings(struct vmbus_channel *chan)
 {
 	const struct rte_vmbus_device *dev = chan->device;
diff --git a/drivers/bus/vmbus/private.h b/drivers/bus/vmbus/private.h
index f19b14e4a6..74ef948282 100644
--- a/drivers/bus/vmbus/private.h
+++ b/drivers/bus/vmbus/private.h
@@ -36,6 +36,13 @@ struct vmbus_map {
 	uint64_t size;	/* length */
 };
 
+#define UIO_MAX_SUBCHANNEL 128
+struct subchannel_map {
+	uint16_t relid;
+	void *addr;
+	uint64_t size;
+};
+
 /*
  * For multi-process we need to reproduce all vmbus mappings in secondary
  * processes, so save them in a tailq.
@@ -44,10 +51,14 @@ struct mapped_vmbus_resource {
 	TAILQ_ENTRY(mapped_vmbus_resource) next;
 
 	rte_uuid_t id;
+
 	int nb_maps;
-	struct vmbus_channel *primary;
 	struct vmbus_map maps[VMBUS_MAX_RESOURCE];
+
 	char path[PATH_MAX];
+
+	int nb_subchannels;
+	struct subchannel_map subchannel_maps[UIO_MAX_SUBCHANNEL];
 };
 
 TAILQ_HEAD(mapped_vmbus_res_list, mapped_vmbus_resource);
@@ -108,8 +119,6 @@ bool vmbus_uio_subchannels_supported(const struct rte_vmbus_device *dev,
 int vmbus_uio_get_subchan(struct vmbus_channel *primary,
 			  struct vmbus_channel **subchan);
 int vmbus_uio_map_rings(struct vmbus_channel *chan);
-int vmbus_uio_map_secondary_subchan(const struct rte_vmbus_device *dev,
-				    const struct vmbus_channel *chan);
 
 void vmbus_br_setup(struct vmbus_br *br, void *buf, unsigned int blen);
 
diff --git a/drivers/bus/vmbus/vmbus_channel.c b/drivers/bus/vmbus/vmbus_channel.c
index 46b3ba3f9f..f6a76dcbb8 100644
--- a/drivers/bus/vmbus/vmbus_channel.c
+++ b/drivers/bus/vmbus/vmbus_channel.c
@@ -363,10 +363,8 @@ int rte_vmbus_chan_open(struct rte_vmbus_device *device,
 
 	err = vmbus_chan_create(device, device->relid, 0,
 				device->monitor_id, new_chan);
-	if (!err) {
+	if (!err)
 		device->primary = *new_chan;
-		uio_res->primary = *new_chan;
-	}
 
 	return err;
 }
diff --git a/drivers/bus/vmbus/vmbus_common_uio.c b/drivers/bus/vmbus/vmbus_common_uio.c
index 8e476f2eaf..e8db2fcbed 100644
--- a/drivers/bus/vmbus/vmbus_common_uio.c
+++ b/drivers/bus/vmbus/vmbus_common_uio.c
@@ -69,8 +69,10 @@ vmbus_uio_map_secondary(struct rte_vmbus_device *dev)
 					     fd, offset,
 					     uio_res->maps[i].size, 0);
 
-		if (mapaddr == uio_res->maps[i].addr)
+		if (mapaddr == uio_res->maps[i].addr) {
+			dev->resource[i].addr = mapaddr;
 			continue;	/* successful map */
+		}
 
 		if (mapaddr == MAP_FAILED)
 			VMBUS_LOG(ERR,
@@ -88,19 +90,39 @@ vmbus_uio_map_secondary(struct rte_vmbus_device *dev)
 	/* fd is not needed in slave process, close it */
 	close(fd);
 
-	dev->primary = uio_res->primary;
-	if (!dev->primary) {
-		VMBUS_LOG(ERR, "missing primary channel");
-		return -1;
+	/* Create and map primary channel */
+	if (vmbus_chan_create(dev, dev->relid, 0,
+					dev->monitor_id, &dev->primary)) {
+		VMBUS_LOG(ERR, "cannot create primary channel");
+		goto failed_primary;
 	}
 
-	STAILQ_FOREACH(chan, &dev->primary->subchannel_list, next) {
-		if (vmbus_uio_map_secondary_subchan(dev, chan) != 0) {
-			VMBUS_LOG(ERR, "cannot map secondary subchan");
-			return -1;
+	/* Create and map sub channels */
+	for (i = 0; i < uio_res->nb_subchannels; i++) {
+		if (rte_vmbus_subchan_open(dev->primary, &chan)) {
+			VMBUS_LOG(ERR,
+				"failed to create subchannel at index %d", i);
+			goto failed_secondary;
 		}
 	}
+
 	return 0;
+
+failed_secondary:
+	while (!STAILQ_EMPTY(&dev->primary->subchannel_list)) {
+		chan = STAILQ_FIRST(&dev->primary->subchannel_list);
+		vmbus_unmap_resource(chan->txbr.vbr, chan->txbr.dsize * 2);
+		rte_vmbus_chan_close(chan);
+	}
+	rte_vmbus_chan_close(dev->primary);
+
+failed_primary:
+	for (i = 0; i != uio_res->nb_maps; i++) {
+		vmbus_unmap_resource(
+				uio_res->maps[i].addr, uio_res->maps[i].size);
+	}
+
+	return -1;
 }
 
 static int
@@ -188,6 +210,11 @@ vmbus_uio_unmap(struct mapped_vmbus_resource *uio_res)
 	if (uio_res == NULL)
 		return;
 
+	for (i = 0; i < uio_res->nb_subchannels; i++) {
+		vmbus_unmap_resource(uio_res->subchannel_maps[i].addr,
+				uio_res->subchannel_maps[i].size);
+	}
+
 	for (i = 0; i != uio_res->nb_maps; i++) {
 		vmbus_unmap_resource(uio_res->maps[i].addr,
 				     (size_t)uio_res->maps[i].size);
@@ -211,8 +238,11 @@ vmbus_uio_unmap_resource(struct rte_vmbus_device *dev)
 		return;
 
 	/* secondary processes - just free maps */
-	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
-		return vmbus_uio_unmap(uio_res);
+	if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
+		vmbus_uio_unmap(uio_res);
+		rte_free(dev->primary);
+		return;
+	}
 
 	TAILQ_REMOVE(uio_res_list, uio_res, next);
 
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:09.706494662 +0100
+++ 0064-bus-vmbus-fix-ring-buffer-mapping-in-secondary-proce.patch	2021-11-30 16:50:05.730873089 +0100
@@ -1 +1 @@
-From 70cdd92e041acd7a0aad295f639f435fbe688190 Mon Sep 17 00:00:00 2001
+From 30edb6e693dd3ad1263c071f7894ed20cb282003 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 70cdd92e041acd7a0aad295f639f435fbe688190 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -29 +30 @@
-index b52ca5bf1d..70b0d098e0 100644
+index 5dc0c47de6..fd64be93b0 100644
@@ -159 +160 @@
-index 528d60a42f..1bca147e12 100644
+index f19b14e4a6..74ef948282 100644
@@ -162 +163 @@
-@@ -33,6 +33,13 @@ struct vmbus_map {
+@@ -36,6 +36,13 @@ struct vmbus_map {
@@ -176 +177 @@
-@@ -41,10 +48,14 @@ struct mapped_vmbus_resource {
+@@ -44,10 +51,14 @@ struct mapped_vmbus_resource {
@@ -192 +193 @@
-@@ -105,8 +116,6 @@ bool vmbus_uio_subchannels_supported(const struct rte_vmbus_device *dev,
+@@ -108,8 +119,6 @@ bool vmbus_uio_subchannels_supported(const struct rte_vmbus_device *dev,
@@ -202 +203 @@
-index f67f1c438a..119b9b367e 100644
+index 46b3ba3f9f..f6a76dcbb8 100644
@@ -205 +206 @@
-@@ -351,10 +351,8 @@ int rte_vmbus_chan_open(struct rte_vmbus_device *device,
+@@ -363,10 +363,8 @@ int rte_vmbus_chan_open(struct rte_vmbus_device *device,
@@ -218 +219 @@
-index 8582e32c1d..041712fe75 100644
+index 8e476f2eaf..e8db2fcbed 100644
@@ -234 +235 @@
- 	/* fd is not needed in secondary process, close it */
+ 	/* fd is not needed in slave process, close it */

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

* patch 'eal/freebsd: ignore in-memory option' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (62 preceding siblings ...)
  2021-11-30 16:34 ` patch 'bus/vmbus: fix ring buffer mapping in secondary process' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'mbuf: fix typo in comment' " christian.ehrhardt
                   ` (95 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 1f3a6bf92333f9c310ba6b7a9ebfc22e0c01b9a0 Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Mon, 13 Sep 2021 15:34:24 +0100
Subject: [PATCH] eal/freebsd: ignore in-memory option

[ upstream commit 0faa4cfc50275751a86ed17147175c78a36f0da2 ]

The in-memory option is not supported on FreeBSD so print a warning and
ignore the flag when it is specified for BSD apps. The lack of support
is due to the different way in which memory is managed on FreeBSD using
the contigmem driver rather than via a hugetlbfs filesystem.

Fixes: 14de8734c401 ("eal: add --in-memory option")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 lib/librte_eal/freebsd/eal/eal.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/librte_eal/freebsd/eal/eal.c b/lib/librte_eal/freebsd/eal/eal.c
index 2a995ee3f4..d97651725b 100644
--- a/lib/librte_eal/freebsd/eal/eal.c
+++ b/lib/librte_eal/freebsd/eal/eal.c
@@ -743,6 +743,10 @@ rte_eal_init(int argc, char **argv)
 
 	/* FreeBSD always uses legacy memory model */
 	internal_config.legacy_mem = true;
+	if (internal_conf.in_memory) {
+		RTE_LOG(WARNING, EAL, "Warning: ignoring unsupported flag, '%s'\n", OPT_IN_MEMORY);
+		internal_conf.in_memory = false;
+	}
 
 	if (eal_plugins_init() < 0) {
 		rte_eal_init_alert("Cannot init plugins");
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:09.749316034 +0100
+++ 0065-eal-freebsd-ignore-in-memory-option.patch	2021-11-30 16:50:05.734873118 +0100
@@ -1 +1 @@
-From 0faa4cfc50275751a86ed17147175c78a36f0da2 Mon Sep 17 00:00:00 2001
+From 1f3a6bf92333f9c310ba6b7a9ebfc22e0c01b9a0 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 0faa4cfc50275751a86ed17147175c78a36f0da2 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- lib/eal/freebsd/eal.c | 4 ++++
+ lib/librte_eal/freebsd/eal/eal.c | 4 ++++
@@ -19,5 +20,5 @@
-diff --git a/lib/eal/freebsd/eal.c b/lib/eal/freebsd/eal.c
-index 6cee5ae369..fb734012a4 100644
---- a/lib/eal/freebsd/eal.c
-+++ b/lib/eal/freebsd/eal.c
-@@ -718,6 +718,10 @@ rte_eal_init(int argc, char **argv)
+diff --git a/lib/librte_eal/freebsd/eal/eal.c b/lib/librte_eal/freebsd/eal/eal.c
+index 2a995ee3f4..d97651725b 100644
+--- a/lib/librte_eal/freebsd/eal/eal.c
++++ b/lib/librte_eal/freebsd/eal/eal.c
+@@ -743,6 +743,10 @@ rte_eal_init(int argc, char **argv)
@@ -26,2 +27,2 @@
- 	internal_conf->legacy_mem = true;
-+	if (internal_conf->in_memory) {
+ 	internal_config.legacy_mem = true;
++	if (internal_conf.in_memory) {
@@ -29 +30 @@
-+		internal_conf->in_memory = false;
++		internal_conf.in_memory = false;

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

* patch 'mbuf: fix typo in comment' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (63 preceding siblings ...)
  2021-11-30 16:34 ` patch 'eal/freebsd: ignore in-memory option' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'test/atomic: fix 128-bit atomic test with many cores' " christian.ehrhardt
                   ` (94 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Olivier Matz, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/92df2aeaa1021e2fbdc8ab4c8e035a7a3f9f437e

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 92df2aeaa1021e2fbdc8ab4c8e035a7a3f9f437e Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 1 Sep 2021 16:49:44 -0700
Subject: [PATCH] mbuf: fix typo in comment

[ upstream commit d75eed0fbe4b942bc6df2e2908a8b5c2c30c99aa ]

Misspelling of 'copied'

Fixes: c3a90c381daa ("mbuf: add a copy routine")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
---
 lib/librte_mbuf/rte_mbuf.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h
index 6d080527f6..55205b8ece 100644
--- a/lib/librte_mbuf/rte_mbuf.h
+++ b/lib/librte_mbuf/rte_mbuf.h
@@ -1288,7 +1288,7 @@ rte_pktmbuf_clone(struct rte_mbuf *md, struct rte_mempool *mp);
  * set of mbufs. The private data are is not copied.
  *
  * @param m
- *   The packet mbuf to be copiedd.
+ *   The packet mbuf to be copied.
  * @param mp
  *   The mempool from which the "clone" mbufs are allocated.
  * @param offset
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:09.794226112 +0100
+++ 0066-mbuf-fix-typo-in-comment.patch	2021-11-30 16:50:05.734873118 +0100
@@ -1 +1 @@
-From d75eed0fbe4b942bc6df2e2908a8b5c2c30c99aa Mon Sep 17 00:00:00 2001
+From 92df2aeaa1021e2fbdc8ab4c8e035a7a3f9f437e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d75eed0fbe4b942bc6df2e2908a8b5c2c30c99aa ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -14 +15 @@
- lib/mbuf/rte_mbuf.h | 2 +-
+ lib/librte_mbuf/rte_mbuf.h | 2 +-
@@ -17,5 +18,5 @@
-diff --git a/lib/mbuf/rte_mbuf.h b/lib/mbuf/rte_mbuf.h
-index a3bfc9fe9a..ec2f4bb188 100644
---- a/lib/mbuf/rte_mbuf.h
-+++ b/lib/mbuf/rte_mbuf.h
-@@ -1430,7 +1430,7 @@ rte_pktmbuf_clone(struct rte_mbuf *md, struct rte_mempool *mp);
+diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h
+index 6d080527f6..55205b8ece 100644
+--- a/lib/librte_mbuf/rte_mbuf.h
++++ b/lib/librte_mbuf/rte_mbuf.h
+@@ -1288,7 +1288,7 @@ rte_pktmbuf_clone(struct rte_mbuf *md, struct rte_mempool *mp);

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

* patch 'test/atomic: fix 128-bit atomic test with many cores' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (64 preceding siblings ...)
  2021-11-30 16:34 ` patch 'mbuf: fix typo in comment' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'mbuf: enforce no option for dynamic fields and flags' " christian.ehrhardt
                   ` (93 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: David Christensen; +Cc: Ruifeng Wang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From c43649313a202a7b8d4fc10f12ffe5db2246d34f Mon Sep 17 00:00:00 2001
From: David Christensen <drc@linux.vnet.ibm.com>
Date: Wed, 8 Sep 2021 10:48:20 -0700
Subject: [PATCH] test/atomic: fix 128-bit atomic test with many cores

[ upstream commit 17a042376be17f6c615b93b189a53eaca1b8bd48 ]

When checking the results of the rte_atomic128_cmp_exchange() function,
current code compares the values of a uint32_t and a uint64_t variable.
If the number of lcores used by the test is large, or the value of the
iteration count N is increased, the variable size mismatch can cause a
false test failure.  Modify the comparison to compare uint64_t values.

Fixes: fa3253c534b1 ("test/atomic: add 128-bit atomic compare exchange test")

Signed-off-by: David Christensen <drc@linux.vnet.ibm.com>
Tested-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
---
 app/test/test_atomic.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/test/test_atomic.c b/app/test/test_atomic.c
index de3030d221..91ee29c004 100644
--- a/app/test/test_atomic.c
+++ b/app/test/test_atomic.c
@@ -591,7 +591,7 @@ test_atomic(void)
 	rte_atomic32_clear(&synchro);
 
 	iterations = count128.val[0] - count128.val[1];
-	if (iterations != 4*N*(rte_lcore_count()-1)) {
+	if (iterations != (uint64_t)4*N*(rte_lcore_count()-1)) {
 		printf("128-bit compare and swap failed\n");
 		return -1;
 	}
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:09.844791658 +0100
+++ 0067-test-atomic-fix-128-bit-atomic-test-with-many-cores.patch	2021-11-30 16:50:05.738873149 +0100
@@ -1 +1 @@
-From 17a042376be17f6c615b93b189a53eaca1b8bd48 Mon Sep 17 00:00:00 2001
+From c43649313a202a7b8d4fc10f12ffe5db2246d34f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 17a042376be17f6c615b93b189a53eaca1b8bd48 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index f10f555af8..ce0c259bd7 100644
+index de3030d221..91ee29c004 100644

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

* patch 'mbuf: enforce no option for dynamic fields and flags' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (65 preceding siblings ...)
  2021-11-30 16:34 ` patch 'test/atomic: fix 128-bit atomic test with many cores' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'app/crypto-perf: fix AAD template copy overrun' " christian.ehrhardt
                   ` (92 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: David Marchand
  Cc: Stephen Hemminger, Andrew Rybchenko, Ray Kinsella, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 2ff1b965f5bf8a73fe37c312c6a473313f3a10cb Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Tue, 12 Oct 2021 21:39:57 +0200
Subject: [PATCH] mbuf: enforce no option for dynamic fields and flags

[ upstream commit e9123c467dbb471a2d41ea896423a81886ef89d7 ]

As stated in the API, dynamic field and flags should be created with no
additional flag (simply in the API for future changes).

Fix the dynamic flag register helper which was not enforcing it and add
unit tests.

Fixes: 4958ca3a443a ("mbuf: support dynamic fields and flags")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
---
 app/test/test_mbuf.c           | 18 ++++++++++++++++++
 lib/librte_mbuf/rte_mbuf_dyn.c |  4 ++++
 2 files changed, 22 insertions(+)

diff --git a/app/test/test_mbuf.c b/app/test/test_mbuf.c
index 3224272eaa..709a919682 100644
--- a/app/test/test_mbuf.c
+++ b/app/test/test_mbuf.c
@@ -2444,6 +2444,16 @@ test_mbuf_dyn(struct rte_mempool *pktmbuf_pool)
 		.align = 3,
 		.flags = 0,
 	};
+	const struct rte_mbuf_dynfield dynfield_fail_flag = {
+		.name = "test-dynfield",
+		.size = sizeof(uint8_t),
+		.align = __alignof__(uint8_t),
+		.flags = 1,
+	};
+	const struct rte_mbuf_dynflag dynflag_fail_flag = {
+		.name = "test-dynflag",
+		.flags = 1,
+	};
 	const struct rte_mbuf_dynflag dynflag = {
 		.name = "test-dynflag",
 		.flags = 0,
@@ -2505,6 +2515,14 @@ test_mbuf_dyn(struct rte_mempool *pktmbuf_pool)
 	if (ret != -1)
 		GOTO_FAIL("dynamic field creation should fail (not avail)");
 
+	ret = rte_mbuf_dynfield_register(&dynfield_fail_flag);
+	if (ret != -1)
+		GOTO_FAIL("dynamic field creation should fail (invalid flag)");
+
+	ret = rte_mbuf_dynflag_register(&dynflag_fail_flag);
+	if (ret != -1)
+		GOTO_FAIL("dynamic flag creation should fail (invalid flag)");
+
 	flag = rte_mbuf_dynflag_register(&dynflag);
 	if (flag == -1)
 		GOTO_FAIL("failed to register dynamic flag, flag=%d: %s",
diff --git a/lib/librte_mbuf/rte_mbuf_dyn.c b/lib/librte_mbuf/rte_mbuf_dyn.c
index a9a8834d4c..4ef50d3f82 100644
--- a/lib/librte_mbuf/rte_mbuf_dyn.c
+++ b/lib/librte_mbuf/rte_mbuf_dyn.c
@@ -497,6 +497,10 @@ rte_mbuf_dynflag_register_bitnum(const struct rte_mbuf_dynflag *params,
 {
 	int ret;
 
+	if (params->flags != 0) {
+		rte_errno = EINVAL;
+		return -1;
+	}
 	if (req >= RTE_SIZEOF_FIELD(struct rte_mbuf, ol_flags) * CHAR_BIT &&
 			req != UINT_MAX) {
 		rte_errno = EINVAL;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:09.910533037 +0100
+++ 0068-mbuf-enforce-no-option-for-dynamic-fields-and-flags.patch	2021-11-30 16:50:05.742873178 +0100
@@ -1 +1 @@
-From e9123c467dbb471a2d41ea896423a81886ef89d7 Mon Sep 17 00:00:00 2001
+From 2ff1b965f5bf8a73fe37c312c6a473313f3a10cb Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e9123c467dbb471a2d41ea896423a81886ef89d7 ]
+
@@ -19,2 +21,2 @@
- app/test/test_mbuf.c    | 18 ++++++++++++++++++
- lib/mbuf/rte_mbuf_dyn.c |  4 ++++
+ app/test/test_mbuf.c           | 18 ++++++++++++++++++
+ lib/librte_mbuf/rte_mbuf_dyn.c |  4 ++++
@@ -24 +26 @@
-index 9a248dfaea..82777109dc 100644
+index 3224272eaa..709a919682 100644
@@ -27 +29 @@
-@@ -2577,6 +2577,16 @@ test_mbuf_dyn(struct rte_mempool *pktmbuf_pool)
+@@ -2444,6 +2444,16 @@ test_mbuf_dyn(struct rte_mempool *pktmbuf_pool)
@@ -44 +46 @@
-@@ -2638,6 +2648,14 @@ test_mbuf_dyn(struct rte_mempool *pktmbuf_pool)
+@@ -2505,6 +2515,14 @@ test_mbuf_dyn(struct rte_mempool *pktmbuf_pool)
@@ -59,5 +61,5 @@
-diff --git a/lib/mbuf/rte_mbuf_dyn.c b/lib/mbuf/rte_mbuf_dyn.c
-index ca46eb279e..d55e162a68 100644
---- a/lib/mbuf/rte_mbuf_dyn.c
-+++ b/lib/mbuf/rte_mbuf_dyn.c
-@@ -498,6 +498,10 @@ rte_mbuf_dynflag_register_bitnum(const struct rte_mbuf_dynflag *params,
+diff --git a/lib/librte_mbuf/rte_mbuf_dyn.c b/lib/librte_mbuf/rte_mbuf_dyn.c
+index a9a8834d4c..4ef50d3f82 100644
+--- a/lib/librte_mbuf/rte_mbuf_dyn.c
++++ b/lib/librte_mbuf/rte_mbuf_dyn.c
+@@ -497,6 +497,10 @@ rte_mbuf_dynflag_register_bitnum(const struct rte_mbuf_dynflag *params,

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

* patch 'app/crypto-perf: fix AAD template copy overrun' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (66 preceding siblings ...)
  2021-11-30 16:34 ` patch 'mbuf: enforce no option for dynamic fields and flags' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'test/bpf: fix undefined behavior with clang' " christian.ehrhardt
                   ` (91 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Przemyslaw Zegan; +Cc: Fan Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/037204dc83d55230af251beff23fd494c4c36ec9

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 037204dc83d55230af251beff23fd494c4c36ec9 Mon Sep 17 00:00:00 2001
From: Przemyslaw Zegan <przemyslawx.zegan@intel.com>
Date: Tue, 12 Oct 2021 12:56:11 +0000
Subject: [PATCH] app/crypto-perf: fix AAD template copy overrun

[ upstream commit 49c19c94dc67a3db2f8534a1e6ca253e1f08fff7 ]

This patch fixes a possible buffer overrun problem in crypto perf test.
Previously when user configured AAD size is over 12 bytes the copy
of template AAD will cause a buffer overrun.
The problem is fixed by only copy up to 12 bytes of AAD template.

Fixes: 8a5b494a7f99 ("app/test-crypto-perf: add AEAD parameters")

Signed-off-by: Przemyslaw Zegan <przemyslawx.zegan@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
---
 app/test-crypto-perf/cperf_test_vectors.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/app/test-crypto-perf/cperf_test_vectors.c b/app/test-crypto-perf/cperf_test_vectors.c
index 41641650c8..1bd46d848e 100644
--- a/app/test-crypto-perf/cperf_test_vectors.c
+++ b/app/test-crypto-perf/cperf_test_vectors.c
@@ -553,6 +553,10 @@ cperf_test_vector_get_dummy(struct cperf_options *options)
 				rte_free(t_vec);
 				return NULL;
 			}
+
+			if (options->aead_aad_sz > sizeof(aad))
+				options->aead_aad_sz = sizeof(aad);
+
 			memcpy(t_vec->aad.data, aad, options->aead_aad_sz);
 			t_vec->aad.phys_addr = rte_malloc_virt2iova(t_vec->aad.data);
 			t_vec->aad.length = options->aead_aad_sz;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:09.957628046 +0100
+++ 0069-app-crypto-perf-fix-AAD-template-copy-overrun.patch	2021-11-30 16:50:05.742873178 +0100
@@ -1 +1 @@
-From 49c19c94dc67a3db2f8534a1e6ca253e1f08fff7 Mon Sep 17 00:00:00 2001
+From 037204dc83d55230af251beff23fd494c4c36ec9 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 49c19c94dc67a3db2f8534a1e6ca253e1f08fff7 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 4bba405961..7da1a8fa2e 100644
+index 41641650c8..1bd46d848e 100644
@@ -24 +25 @@
-@@ -590,6 +590,10 @@ cperf_test_vector_get_dummy(struct cperf_options *options)
+@@ -553,6 +553,10 @@ cperf_test_vector_get_dummy(struct cperf_options *options)

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

* patch 'test/bpf: fix undefined behavior with clang' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (67 preceding siblings ...)
  2021-11-30 16:34 ` patch 'app/crypto-perf: fix AAD template copy overrun' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'net/af_xdp: disable secondary process support' " christian.ehrhardt
                   ` (90 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Konstantin Ananyev; +Cc: Stephen Hemminger, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 0f30d115c5cdec4b1dbdda29fedf07a77d3565fd Mon Sep 17 00:00:00 2001
From: Konstantin Ananyev <konstantin.ananyev@intel.com>
Date: Mon, 18 Oct 2021 14:40:52 +0100
Subject: [PATCH] test/bpf: fix undefined behavior with clang

[ upstream commit 3ac2dffae88e8eb5c374b1fdd40d605014526510 ]

test_shift1_check() function fails with clang build.
The reason for that is that clang uses 64-bit shift instruction for
what expected to be 32-bit operation.
To be more specific, this C code:
r2 = (uint32_t)r2 >> r4;
With clang produces:
41a4eb:       48 d3 ef                shr    %cl,%rdi
In that particular case it is an allowed choice, as from one side
left-operand value is known to fit into 32 bits, from other side
according to 'C' standard:
"...if the value of the right operand is negative or is greater than
or equal to the width of the promoted left operand, the behavior is
undefined."
The problem is that on x86 behavior for 64-bit and 32-bit shift
operation might differ.
The fix avoids undefined behavior by making sure
that right operand will not exceed width of the promoted left operand.

Bugzilla ID: 811
Fixes: 9f8f9d91a701 ("test/bpf: introduce functional test")

Reported-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
---
 app/test/test_bpf.c | 31 +++++++++++++++++++++++--------
 1 file changed, 23 insertions(+), 8 deletions(-)

diff --git a/app/test/test_bpf.c b/app/test/test_bpf.c
index 88048b4644..533d8ba878 100644
--- a/app/test/test_bpf.c
+++ b/app/test/test_bpf.c
@@ -51,6 +51,9 @@ struct dummy_net {
 #define TEST_SHIFT_1	15
 #define TEST_SHIFT_2	33
 
+#define TEST_SHIFT32_MASK	(CHAR_BIT * sizeof(uint32_t) - 1)
+#define TEST_SHIFT64_MASK	(CHAR_BIT * sizeof(uint64_t) - 1)
+
 #define TEST_JCC_1	0
 #define TEST_JCC_2	-123
 #define TEST_JCC_3	5678
@@ -540,15 +543,25 @@ static const struct ebpf_insn test_shift1_prog[] = {
 		.off = offsetof(struct dummy_vect8, out[1].u64),
 	},
 	{
-		.code = (BPF_ALU | BPF_RSH | BPF_X),
-		.dst_reg = EBPF_REG_2,
-		.src_reg = EBPF_REG_4,
+		.code = (BPF_ALU | BPF_AND | BPF_K),
+		.dst_reg = EBPF_REG_4,
+		.imm = TEST_SHIFT64_MASK,
 	},
 	{
 		.code = (EBPF_ALU64 | BPF_LSH | BPF_X),
 		.dst_reg = EBPF_REG_3,
 		.src_reg = EBPF_REG_4,
 	},
+	{
+		.code = (BPF_ALU | BPF_AND | BPF_K),
+		.dst_reg = EBPF_REG_4,
+		.imm = TEST_SHIFT32_MASK,
+	},
+	{
+		.code = (BPF_ALU | BPF_RSH | BPF_X),
+		.dst_reg = EBPF_REG_2,
+		.src_reg = EBPF_REG_4,
+	},
 	{
 		.code = (BPF_STX | BPF_MEM | EBPF_DW),
 		.dst_reg = EBPF_REG_1,
@@ -582,7 +595,7 @@ static const struct ebpf_insn test_shift1_prog[] = {
 	{
 		.code = (BPF_ALU | BPF_AND | BPF_K),
 		.dst_reg = EBPF_REG_2,
-		.imm = sizeof(uint64_t) * CHAR_BIT - 1,
+		.imm = TEST_SHIFT64_MASK,
 	},
 	{
 		.code = (EBPF_ALU64 | EBPF_ARSH | BPF_X),
@@ -592,7 +605,7 @@ static const struct ebpf_insn test_shift1_prog[] = {
 	{
 		.code = (BPF_ALU | BPF_AND | BPF_K),
 		.dst_reg = EBPF_REG_2,
-		.imm = sizeof(uint32_t) * CHAR_BIT - 1,
+		.imm = TEST_SHIFT32_MASK,
 	},
 	{
 		.code = (BPF_ALU | BPF_LSH | BPF_X),
@@ -658,8 +671,10 @@ test_shift1_check(uint64_t rc, const void *arg)
 	dve.out[0].u64 = r2;
 	dve.out[1].u64 = r3;
 
-	r2 = (uint32_t)r2 >> r4;
+	r4 &= TEST_SHIFT64_MASK;
 	r3 <<= r4;
+	r4 &= TEST_SHIFT32_MASK;
+	r2 = (uint32_t)r2 >> r4;
 
 	dve.out[2].u64 = r2;
 	dve.out[3].u64 = r3;
@@ -668,9 +683,9 @@ test_shift1_check(uint64_t rc, const void *arg)
 	r3 = dvt->in[1].u64;
 	r4 = dvt->in[2].u32;
 
-	r2 &= sizeof(uint64_t) * CHAR_BIT - 1;
+	r2 &= TEST_SHIFT64_MASK;
 	r3 = (int64_t)r3 >> r2;
-	r2 &= sizeof(uint32_t) * CHAR_BIT - 1;
+	r2 &= TEST_SHIFT32_MASK;
 	r4 = (uint32_t)r4 << r2;
 
 	dve.out[4].u64 = r4;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:10.003580557 +0100
+++ 0070-test-bpf-fix-undefined-behavior-with-clang.patch	2021-11-30 16:50:05.746873207 +0100
@@ -1 +1 @@
-From 3ac2dffae88e8eb5c374b1fdd40d605014526510 Mon Sep 17 00:00:00 2001
+From 0f30d115c5cdec4b1dbdda29fedf07a77d3565fd Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3ac2dffae88e8eb5c374b1fdd40d605014526510 ]
+
@@ -26 +27,0 @@
-Cc: stable@dpdk.org
@@ -36 +37 @@
-index 8118a1849b..7fcf92e716 100644
+index 88048b4644..533d8ba878 100644
@@ -39 +40 @@
-@@ -59,6 +59,9 @@ struct dummy_mbuf {
+@@ -51,6 +51,9 @@ struct dummy_net {
@@ -49 +50 @@
-@@ -548,15 +551,25 @@ static const struct ebpf_insn test_shift1_prog[] = {
+@@ -540,15 +543,25 @@ static const struct ebpf_insn test_shift1_prog[] = {
@@ -78 +79 @@
-@@ -590,7 +603,7 @@ static const struct ebpf_insn test_shift1_prog[] = {
+@@ -582,7 +595,7 @@ static const struct ebpf_insn test_shift1_prog[] = {
@@ -87 +88 @@
-@@ -600,7 +613,7 @@ static const struct ebpf_insn test_shift1_prog[] = {
+@@ -592,7 +605,7 @@ static const struct ebpf_insn test_shift1_prog[] = {
@@ -96 +97 @@
-@@ -666,8 +679,10 @@ test_shift1_check(uint64_t rc, const void *arg)
+@@ -658,8 +671,10 @@ test_shift1_check(uint64_t rc, const void *arg)
@@ -108 +109 @@
-@@ -676,9 +691,9 @@ test_shift1_check(uint64_t rc, const void *arg)
+@@ -668,9 +683,9 @@ test_shift1_check(uint64_t rc, const void *arg)

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

* patch 'net/af_xdp: disable secondary process support' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (68 preceding siblings ...)
  2021-11-30 16:34 ` patch 'test/bpf: fix undefined behavior with clang' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'net/bonding: fix dedicated queue mode in vector burst' " christian.ehrhardt
                   ` (89 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Ciara Loftus; +Cc: Stephen Hemminger, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/6dbdbe50b13050a1121ac4882d29b325c155d2e1

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 6dbdbe50b13050a1121ac4882d29b325c155d2e1 Mon Sep 17 00:00:00 2001
From: Ciara Loftus <ciara.loftus@intel.com>
Date: Fri, 8 Oct 2021 07:50:20 +0000
Subject: [PATCH] net/af_xdp: disable secondary process support

[ upstream commit 0668d829085c4e92a6a1117e2b7cb8653eff8038 ]

Since the AF_XDP PMD does not work for secondary processes as reported
in Bugzilla 805, check for the process type at the beginning of probe
and return ENOTSUP if the process type is secondary.

It is planned that secondary processes will be supported by the PMD in
full in a future release by using rte_mp_msg to pass the state to the
secondary process that it requires in order to work.

Bugzilla ID: 805
Fixes: f1debd77efaf ("net/af_xdp: introduce AF_XDP PMD")

Reported-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/net/af_xdp/rte_eth_af_xdp.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c b/drivers/net/af_xdp/rte_eth_af_xdp.c
index 1d7911db43..c50974f723 100644
--- a/drivers/net/af_xdp/rte_eth_af_xdp.c
+++ b/drivers/net/af_xdp/rte_eth_af_xdp.c
@@ -1305,16 +1305,11 @@ rte_pmd_af_xdp_probe(struct rte_vdev_device *dev)
 		rte_vdev_device_name(dev));
 
 	name = rte_vdev_device_name(dev);
-	if (rte_eal_process_type() == RTE_PROC_SECONDARY &&
-		strlen(rte_vdev_device_args(dev)) == 0) {
-		eth_dev = rte_eth_dev_attach_secondary(name);
-		if (eth_dev == NULL) {
-			AF_XDP_LOG(ERR, "Failed to probe %s\n", name);
-			return -EINVAL;
-		}
-		eth_dev->dev_ops = &ops;
-		rte_eth_dev_probing_finish(eth_dev);
-		return 0;
+	if (rte_eal_process_type() == RTE_PROC_SECONDARY) {
+		AF_XDP_LOG(ERR, "Failed to probe %s. "
+				"AF_XDP PMD does not support secondary processes.\n",
+				name);
+		return -ENOTSUP;
 	}
 
 	kvlist = rte_kvargs_parse(rte_vdev_device_args(dev), valid_arguments);
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:10.053737867 +0100
+++ 0071-net-af_xdp-disable-secondary-process-support.patch	2021-11-30 16:50:05.746873207 +0100
@@ -1 +1 @@
-From 0668d829085c4e92a6a1117e2b7cb8653eff8038 Mon Sep 17 00:00:00 2001
+From 6dbdbe50b13050a1121ac4882d29b325c155d2e1 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 0668d829085c4e92a6a1117e2b7cb8653eff8038 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -22,19 +23,3 @@
- doc/guides/rel_notes/release_21_11.rst |  4 ++++
- drivers/net/af_xdp/rte_eth_af_xdp.c    | 15 +++++----------
- 2 files changed, 9 insertions(+), 10 deletions(-)
-
-diff --git a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst
-index 30175246c7..48e0bb60a1 100644
---- a/doc/guides/rel_notes/release_21_11.rst
-+++ b/doc/guides/rel_notes/release_21_11.rst
-@@ -85,6 +85,10 @@ New Features
-   * Default VLAN strip behavior was changed. VLAN tag won't be stripped
-     unless ``DEV_RX_OFFLOAD_VLAN_STRIP`` offload is enabled.
- 
-+* **Updated AF_XDP PMD.**
-+
-+  * Disabled secondary process support.
-+
- * **Updated Broadcom bnxt PMD.**
- 
-   * Added flow offload support for Thor.
+ drivers/net/af_xdp/rte_eth_af_xdp.c | 15 +++++----------
+ 1 file changed, 5 insertions(+), 10 deletions(-)
+
@@ -42 +27 @@
-index a619dd218d..b362ccdcd3 100644
+index 1d7911db43..c50974f723 100644
@@ -45 +30 @@
-@@ -1783,16 +1783,11 @@ rte_pmd_af_xdp_probe(struct rte_vdev_device *dev)
+@@ -1305,16 +1305,11 @@ rte_pmd_af_xdp_probe(struct rte_vdev_device *dev)

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

* patch 'net/bonding: fix dedicated queue mode in vector burst' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (69 preceding siblings ...)
  2021-11-30 16:34 ` patch 'net/af_xdp: disable secondary process support' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'net/bonding: fix RSS key length' " christian.ehrhardt
                   ` (88 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Chengchang Tang; +Cc: Min Hu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From cc4a61ee3144b61dee2f2071dc3d3162a237c63c Mon Sep 17 00:00:00 2001
From: Chengchang Tang <tangchengchang@huawei.com>
Date: Wed, 22 Sep 2021 15:09:12 +0800
Subject: [PATCH] net/bonding: fix dedicated queue mode in vector burst

[ upstream commit b8cfca26aed14354a6594d416a37881f494e2cfc ]

If the vector burst mode is selected, the dedicated queue mode will not
take effect on some PMDs because these PMDs may have some limitations
in vector burst mode. For example, the limit on burst size. Currently,
both hns3 and intel I40E require four alignments when receiving packets
in vector mode. As a result, they can't accept packets if burst size
below four. However, in dedicated queue mode, the burst size of periodic
packets processing is one.

This patch fixes the above problem by modifying the burst size to 32.
This approach also makes the packet processing of the dedicated queue
mode more reasonable. Currently, if multiple LACP protocol packets are
received in the hardware queue in a cycle, only one LACP packet will be
processed in this cycle, and the left packets will be processed in the
following cycle. After the modification, all the LACP packets will be
processed at one time, which seems more reasonable and closer to the
behavior of the bonding driver when the dedicated queue is not turned on.

Fixes: 112891cd27e5 ("net/bonding: add dedicated HW queues for LACP control")

Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
---
 drivers/net/bonding/rte_eth_bond_8023ad.c | 32 ++++++++++++++++-------
 1 file changed, 23 insertions(+), 9 deletions(-)

diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c b/drivers/net/bonding/rte_eth_bond_8023ad.c
index 128754f459..478c28afee 100644
--- a/drivers/net/bonding/rte_eth_bond_8023ad.c
+++ b/drivers/net/bonding/rte_eth_bond_8023ad.c
@@ -838,6 +838,27 @@ rx_machine_update(struct bond_dev_private *internals, uint16_t slave_id,
 		rx_machine(internals, slave_id, NULL);
 }
 
+static void
+bond_mode_8023ad_dedicated_rxq_process(struct bond_dev_private *internals,
+			uint16_t slave_id)
+{
+#define DEDICATED_QUEUE_BURST_SIZE 32
+	struct rte_mbuf *lacp_pkt[DEDICATED_QUEUE_BURST_SIZE];
+	uint16_t rx_count = rte_eth_rx_burst(slave_id,
+				internals->mode4.dedicated_queues.rx_qid,
+				lacp_pkt, DEDICATED_QUEUE_BURST_SIZE);
+
+	if (rx_count) {
+		uint16_t i;
+
+		for (i = 0; i < rx_count; i++)
+			bond_mode_8023ad_handle_slow_pkt(internals, slave_id,
+					lacp_pkt[i]);
+	} else {
+		rx_machine_update(internals, slave_id, NULL);
+	}
+}
+
 static void
 bond_mode_8023ad_periodic_cb(void *arg)
 {
@@ -926,15 +947,8 @@ bond_mode_8023ad_periodic_cb(void *arg)
 
 			rx_machine_update(internals, slave_id, lacp_pkt);
 		} else {
-			uint16_t rx_count = rte_eth_rx_burst(slave_id,
-					internals->mode4.dedicated_queues.rx_qid,
-					&lacp_pkt, 1);
-
-			if (rx_count == 1)
-				bond_mode_8023ad_handle_slow_pkt(internals,
-						slave_id, lacp_pkt);
-			else
-				rx_machine_update(internals, slave_id, NULL);
+			bond_mode_8023ad_dedicated_rxq_process(internals,
+					slave_id);
 		}
 
 		periodic_machine(internals, slave_id);
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:10.111629426 +0100
+++ 0072-net-bonding-fix-dedicated-queue-mode-in-vector-burst.patch	2021-11-30 16:50:05.750873236 +0100
@@ -1 +1 @@
-From b8cfca26aed14354a6594d416a37881f494e2cfc Mon Sep 17 00:00:00 2001
+From cc4a61ee3144b61dee2f2071dc3d3162a237c63c Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b8cfca26aed14354a6594d416a37881f494e2cfc ]
+
@@ -24 +25,0 @@
-Cc: stable@dpdk.org
@@ -33 +34 @@
-index 3558644232..2029955c10 100644
+index 128754f459..478c28afee 100644

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

* patch 'net/bonding: fix RSS key length' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (70 preceding siblings ...)
  2021-11-30 16:34 ` patch 'net/bonding: fix dedicated queue mode in vector burst' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'app/testpmd: retain all original dev conf when config DCB' " christian.ehrhardt
                   ` (87 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Chengchang Tang; +Cc: Min Hu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/238751b4f5e2552c46e3138e9fa7acfd4cfa3261

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 238751b4f5e2552c46e3138e9fa7acfd4cfa3261 Mon Sep 17 00:00:00 2001
From: Chengchang Tang <tangchengchang@huawei.com>
Date: Wed, 22 Sep 2021 15:09:13 +0800
Subject: [PATCH] net/bonding: fix RSS key length

[ upstream commit 6b1a001ec54635d63ed3f91eaef5164abee7a089 ]

Currently the hash_key_size information has not been set. So, apps can
not get the key size from dev_info(), this make some problem.

e.g, in testpmd, the hash_key_size will be checked before configure
or get the hash key:
testpmd> show port 4 rss-hash
dev_info did not provide a valid hash key size
testpmd> show port 4 rss-hash key
dev_info did not provide a valid hash key size
testpmd> port config 4 rss-hash-key ipv4 (hash key)
dev_info did not provide a valid hash key size

In this patch, the meaning of rss_key_len has been modified. It only
indicated the length of the configured hash key before. Therefore,
its value depends on the user's configuration. This seems unreasonable.
And now, it indicates the minimum hash key length required by the
bonded device. Its value will be the shortest hash key among all slave
drivers.

Fixes: 734ce47f71e0 ("bonding: support RSS dynamic configuration")

Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
---
 drivers/net/bonding/rte_eth_bond_api.c |  6 ++++
 drivers/net/bonding/rte_eth_bond_pmd.c | 44 ++++++++++++++++----------
 2 files changed, 33 insertions(+), 17 deletions(-)

diff --git a/drivers/net/bonding/rte_eth_bond_api.c b/drivers/net/bonding/rte_eth_bond_api.c
index 2a37dd5d61..73dfab4983 100644
--- a/drivers/net/bonding/rte_eth_bond_api.c
+++ b/drivers/net/bonding/rte_eth_bond_api.c
@@ -285,6 +285,7 @@ eth_bond_slave_inherit_dev_info_rx_first(struct bond_dev_private *internals,
 	struct rte_eth_rxconf *rxconf_i = &internals->default_rxconf;
 
 	internals->reta_size = di->reta_size;
+	internals->rss_key_len = di->hash_key_size;
 
 	/* Inherit Rx offload capabilities from the first slave device */
 	internals->rx_offload_capa = di->rx_offload_capa;
@@ -380,6 +381,11 @@ eth_bond_slave_inherit_dev_info_rx_next(struct bond_dev_private *internals,
 	 */
 	if (internals->reta_size > di->reta_size)
 		internals->reta_size = di->reta_size;
+	if (internals->rss_key_len > di->hash_key_size) {
+		RTE_BOND_LOG(WARNING, "slave has different rss key size, "
+				"configuring rss may fail");
+		internals->rss_key_len = di->hash_key_size;
+	}
 
 	if (!internals->max_rx_pktlen &&
 	    di->max_rx_pktlen < internals->candidate_max_rx_pktlen)
diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index 7e4ed477a0..735440e3a9 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -1702,14 +1702,11 @@ slave_configure(struct rte_eth_dev *bonded_eth_dev,
 
 	/* If RSS is enabled for bonding, try to enable it for slaves  */
 	if (bonded_eth_dev->data->dev_conf.rxmode.mq_mode & ETH_MQ_RX_RSS_FLAG) {
-		if (internals->rss_key_len != 0) {
-			slave_eth_dev->data->dev_conf.rx_adv_conf.rss_conf.rss_key_len =
+		/* rss_key won't be empty if RSS is configured in bonded dev */
+		slave_eth_dev->data->dev_conf.rx_adv_conf.rss_conf.rss_key_len =
 					internals->rss_key_len;
-			slave_eth_dev->data->dev_conf.rx_adv_conf.rss_conf.rss_key =
+		slave_eth_dev->data->dev_conf.rx_adv_conf.rss_conf.rss_key =
 					internals->rss_key;
-		} else {
-			slave_eth_dev->data->dev_conf.rx_adv_conf.rss_conf.rss_key = NULL;
-		}
 
 		slave_eth_dev->data->dev_conf.rx_adv_conf.rss_conf.rss_hf =
 				bonded_eth_dev->data->dev_conf.rx_adv_conf.rss_conf.rss_hf;
@@ -2214,6 +2211,7 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 	dev_info->flow_type_rss_offloads = internals->flow_type_rss_offloads;
 
 	dev_info->reta_size = internals->reta_size;
+	dev_info->hash_key_size = internals->rss_key_len;
 
 	return 0;
 }
@@ -3003,13 +3001,15 @@ bond_ethdev_rss_hash_update(struct rte_eth_dev *dev,
 	if (bond_rss_conf.rss_hf != 0)
 		dev->data->dev_conf.rx_adv_conf.rss_conf.rss_hf = bond_rss_conf.rss_hf;
 
-	if (bond_rss_conf.rss_key && bond_rss_conf.rss_key_len <
-			sizeof(internals->rss_key)) {
-		if (bond_rss_conf.rss_key_len == 0)
-			bond_rss_conf.rss_key_len = 40;
-		internals->rss_key_len = bond_rss_conf.rss_key_len;
+	if (bond_rss_conf.rss_key) {
+		if (bond_rss_conf.rss_key_len < internals->rss_key_len)
+			return -EINVAL;
+		else if (bond_rss_conf.rss_key_len > internals->rss_key_len)
+			RTE_BOND_LOG(WARNING, "rss_key will be truncated");
+
 		memcpy(internals->rss_key, bond_rss_conf.rss_key,
 				internals->rss_key_len);
+		bond_rss_conf.rss_key_len = internals->rss_key_len;
 	}
 
 	for (i = 0; i < internals->slave_count; i++) {
@@ -3489,14 +3489,24 @@ bond_ethdev_configure(struct rte_eth_dev *dev)
 	 * Fall back to default RSS key if the key is not specified
 	 */
 	if (dev->data->dev_conf.rxmode.mq_mode & ETH_MQ_RX_RSS) {
-		if (dev->data->dev_conf.rx_adv_conf.rss_conf.rss_key != NULL) {
-			internals->rss_key_len =
-				dev->data->dev_conf.rx_adv_conf.rss_conf.rss_key_len;
-			memcpy(internals->rss_key,
-			       dev->data->dev_conf.rx_adv_conf.rss_conf.rss_key,
+		struct rte_eth_rss_conf *rss_conf =
+			&dev->data->dev_conf.rx_adv_conf.rss_conf;
+		if (rss_conf->rss_key != NULL) {
+			if (internals->rss_key_len > rss_conf->rss_key_len) {
+				RTE_BOND_LOG(ERR, "Invalid rss key length(%u)",
+						rss_conf->rss_key_len);
+				return -EINVAL;
+			}
+
+			memcpy(internals->rss_key, rss_conf->rss_key,
 			       internals->rss_key_len);
 		} else {
-			internals->rss_key_len = sizeof(default_rss_key);
+			if (internals->rss_key_len > sizeof(default_rss_key)) {
+				RTE_BOND_LOG(ERR,
+				       "There is no suitable default hash key");
+				return -EINVAL;
+			}
+
 			memcpy(internals->rss_key, default_rss_key,
 			       internals->rss_key_len);
 		}
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:10.166854491 +0100
+++ 0073-net-bonding-fix-RSS-key-length.patch	2021-11-30 16:50:05.758873295 +0100
@@ -1 +1 @@
-From 6b1a001ec54635d63ed3f91eaef5164abee7a089 Mon Sep 17 00:00:00 2001
+From 238751b4f5e2552c46e3138e9fa7acfd4cfa3261 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 6b1a001ec54635d63ed3f91eaef5164abee7a089 ]
+
@@ -26 +27,0 @@
-Cc: stable@dpdk.org
@@ -36 +37 @@
-index eb8d15d160..5140ef14c2 100644
+index 2a37dd5d61..73dfab4983 100644
@@ -39 +40 @@
-@@ -290,6 +290,7 @@ eth_bond_slave_inherit_dev_info_rx_first(struct bond_dev_private *internals,
+@@ -285,6 +285,7 @@ eth_bond_slave_inherit_dev_info_rx_first(struct bond_dev_private *internals,
@@ -47 +48 @@
-@@ -385,6 +386,11 @@ eth_bond_slave_inherit_dev_info_rx_next(struct bond_dev_private *internals,
+@@ -380,6 +381,11 @@ eth_bond_slave_inherit_dev_info_rx_next(struct bond_dev_private *internals,
@@ -60 +61 @@
-index 542c6633b5..4c604d6aec 100644
+index 7e4ed477a0..735440e3a9 100644
@@ -63 +64 @@
-@@ -1701,14 +1701,11 @@ slave_configure(struct rte_eth_dev *bonded_eth_dev,
+@@ -1702,14 +1702,11 @@ slave_configure(struct rte_eth_dev *bonded_eth_dev,
@@ -81 +82 @@
-@@ -2251,6 +2248,7 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
+@@ -2214,6 +2211,7 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
@@ -89 +90 @@
-@@ -3044,13 +3042,15 @@ bond_ethdev_rss_hash_update(struct rte_eth_dev *dev,
+@@ -3003,13 +3001,15 @@ bond_ethdev_rss_hash_update(struct rte_eth_dev *dev,
@@ -110 +111 @@
-@@ -3510,14 +3510,24 @@ bond_ethdev_configure(struct rte_eth_dev *dev)
+@@ -3489,14 +3489,24 @@ bond_ethdev_configure(struct rte_eth_dev *dev)

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

* patch 'app/testpmd: retain all original dev conf when config DCB' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (71 preceding siblings ...)
  2021-11-30 16:34 ` patch 'net/bonding: fix RSS key length' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'net/i40e: fix Rx packet statistics' " christian.ehrhardt
                   ` (86 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Huisong Li; +Cc: Min Hu, Xiaoyun Li, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 8eb9be9f82feb15f646c46067485dc29a0ef95e7 Mon Sep 17 00:00:00 2001
From: Huisong Li <lihuisong@huawei.com>
Date: Mon, 11 Oct 2021 17:12:46 +0800
Subject: [PATCH] app/testpmd: retain all original dev conf when config DCB

[ upstream commit c1ba6c325c4c7c8e0f32d9e96bc25ab172a222ee ]

When configuring DCB, testpmd retains the rx_mode/tx_mode configuration in
rte_port->dev_conf. But some configurations, such as the link_speed, were
not saved if they were set before configuring DCB.

Fixes: 1a572499beb6 ("app/testpmd: setup DCB forwarding based on traffic class")

Signed-off-by: Huisong Li <lihuisong@huawei.com>
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
---
 app/test-pmd/testpmd.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index dca10e7b66..bd15fe9e53 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -3474,10 +3474,8 @@ init_port_dcb_config(portid_t pid,
 
 	rte_port = &ports[pid];
 
-	memset(&port_conf, 0, sizeof(struct rte_eth_conf));
-
-	port_conf.rxmode = rte_port->dev_conf.rxmode;
-	port_conf.txmode = rte_port->dev_conf.txmode;
+	/* retain the original device configuration. */
+	memcpy(&port_conf, &rte_port->dev_conf, sizeof(struct rte_eth_conf));
 
 	/*set configuration of DCB in vt mode and DCB in non-vt mode*/
 	retval = get_eth_dcb_conf(pid, &port_conf, dcb_mode, num_tcs, pfc_en);
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:10.212513860 +0100
+++ 0074-app-testpmd-retain-all-original-dev-conf-when-config.patch	2021-11-30 16:50:05.762873324 +0100
@@ -1 +1 @@
-From c1ba6c325c4c7c8e0f32d9e96bc25ab172a222ee Mon Sep 17 00:00:00 2001
+From 8eb9be9f82feb15f646c46067485dc29a0ef95e7 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c1ba6c325c4c7c8e0f32d9e96bc25ab172a222ee ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index eec4f1b81d..12a0db8796 100644
+index dca10e7b66..bd15fe9e53 100644
@@ -24,2 +25,2 @@
-@@ -3729,10 +3729,8 @@ init_port_dcb_config(portid_t pid,
- 	}
+@@ -3474,10 +3474,8 @@ init_port_dcb_config(portid_t pid,
+ 

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

* patch 'net/i40e: fix Rx packet statistics' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (72 preceding siblings ...)
  2021-11-30 16:34 ` patch 'app/testpmd: retain all original dev conf when config DCB' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'net/ixgbe: fix queue release' " christian.ehrhardt
                   ` (85 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Alvin Zhang; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 3f91a5c85bf2fe6a19f0621f80e5f056d41e83f0 Mon Sep 17 00:00:00 2001
From: Alvin Zhang <alvinx.zhang@intel.com>
Date: Thu, 30 Sep 2021 13:19:57 +0800
Subject: [PATCH] net/i40e: fix Rx packet statistics

[ upstream commit 39e4a2577fd05199f53182b7c8509aeed40dc07f ]

Some packets are discarded by the NIC because they are larger than
the MTU, these packets should be counted as "RX error" instead of
"RX packet", for example:

  pkt1 = Ether()/IP()/Raw('x' * 1400)
  pkt2 = Ether()/IP()/Raw('x' * 1500)

  ---------------- Forward statistics for port 0 -----------------
  RX-packets: 2 RX-dropped: 0 RX-total: 2
  TX-packets: 1 TX-dropped: 0 TX-total: 1
  ----------------------------------------------------------------

  Here the packet pkt2 has been discarded, but still was counted
  by "RX-packets"

The register 'GL_RXERR1' can count above discarded packets.
This patch adds reading and calculation of the 'GL_RXERR1' counter
when reporting DPDK statistics.

Fixes: f4a91c38b4ad ("i40e: add extended stats")

Signed-off-by: Alvin Zhang <alvinx.zhang@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/i40e/i40e_ethdev.c | 16 +++++++++++++---
 drivers/net/i40e/i40e_ethdev.h | 10 ++++++++++
 2 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index df9e8ca5c5..8388073d28 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -548,7 +548,7 @@ static const struct eth_dev_ops i40e_eth_dev_ops = {
 /* store statistics names and its offset in stats structure */
 struct rte_i40e_xstats_name_off {
 	char name[RTE_ETH_XSTATS_NAME_SIZE];
-	unsigned offset;
+	int offset;
 };
 
 static const struct rte_i40e_xstats_name_off rte_i40e_stats_strings[] = {
@@ -558,6 +558,8 @@ static const struct rte_i40e_xstats_name_off rte_i40e_stats_strings[] = {
 	{"rx_dropped_packets", offsetof(struct i40e_eth_stats, rx_discards)},
 	{"rx_unknown_protocol_packets", offsetof(struct i40e_eth_stats,
 		rx_unknown_protocol)},
+	{"rx_size_error_packets", offsetof(struct i40e_pf, rx_err1) -
+				  offsetof(struct i40e_pf, stats)},
 	{"tx_unicast_packets", offsetof(struct i40e_eth_stats, tx_unicast)},
 	{"tx_multicast_packets", offsetof(struct i40e_eth_stats, tx_multicast)},
 	{"tx_broadcast_packets", offsetof(struct i40e_eth_stats, tx_broadcast)},
@@ -3179,6 +3181,10 @@ i40e_read_stats_registers(struct i40e_pf *pf, struct i40e_hw *hw)
 			    pf->offset_loaded,
 			    &os->eth.rx_unknown_protocol,
 			    &ns->eth.rx_unknown_protocol);
+	i40e_stat_update_48(hw, I40E_GL_RXERR1_H(hw->pf_id + I40E_MAX_VF),
+			    I40E_GL_RXERR1_L(hw->pf_id + I40E_MAX_VF),
+			    pf->offset_loaded, &pf->rx_err1_offset,
+			    &pf->rx_err1);
 	i40e_stat_update_48_in_64(hw, I40E_GLPRT_GOTCH(hw->port),
 				  I40E_GLPRT_GOTCL(hw->port),
 				  pf->offset_loaded, &os->eth.tx_bytes,
@@ -3378,7 +3384,8 @@ i40e_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
 	stats->ipackets = pf->main_vsi->eth_stats.rx_unicast +
 			pf->main_vsi->eth_stats.rx_multicast +
 			pf->main_vsi->eth_stats.rx_broadcast -
-			pf->main_vsi->eth_stats.rx_discards;
+			pf->main_vsi->eth_stats.rx_discards -
+			pf->rx_err1;
 	stats->opackets = ns->eth.tx_unicast +
 			ns->eth.tx_multicast +
 			ns->eth.tx_broadcast;
@@ -3392,7 +3399,8 @@ i40e_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
 			pf->main_vsi->eth_stats.rx_discards;
 	stats->ierrors  = ns->crc_errors +
 			ns->rx_length_errors + ns->rx_undersize +
-			ns->rx_oversize + ns->rx_fragments + ns->rx_jabber;
+			ns->rx_oversize + ns->rx_fragments + ns->rx_jabber +
+			pf->rx_err1;
 
 	if (pf->vfs) {
 		for (i = 0; i < pf->vf_num; i++) {
@@ -6284,6 +6292,8 @@ i40e_pf_setup(struct i40e_pf *pf)
 	memset(&pf->stats_offset, 0, sizeof(struct i40e_hw_port_stats));
 	memset(&pf->internal_stats, 0, sizeof(struct i40e_eth_stats));
 	memset(&pf->internal_stats_offset, 0, sizeof(struct i40e_eth_stats));
+	pf->rx_err1 = 0;
+	pf->rx_err1_offset = 0;
 
 	ret = i40e_pf_get_switch_config(pf);
 	if (ret != I40E_SUCCESS) {
diff --git a/drivers/net/i40e/i40e_ethdev.h b/drivers/net/i40e/i40e_ethdev.h
index 666babd8c5..4de21cd64a 100644
--- a/drivers/net/i40e/i40e_ethdev.h
+++ b/drivers/net/i40e/i40e_ethdev.h
@@ -17,6 +17,13 @@
 
 #include "base/i40e_register.h"
 
+/**
+ * _i=0...143,
+ * counters 0-127 are for the 128 VFs,
+ * counters 128-143 are for the 16 PFs
+ */
+#define I40E_GL_RXERR1_H(_i)	(0x00318004 + ((_i) * 8))
+
 #define I40E_VLAN_TAG_SIZE        4
 
 #define I40E_AQ_LEN               32
@@ -956,6 +963,9 @@ struct i40e_pf {
 
 	struct i40e_hw_port_stats stats_offset;
 	struct i40e_hw_port_stats stats;
+	u64 rx_err1;	/* rxerr1 */
+	u64 rx_err1_offset;
+
 	/* internal packet statistics, it should be excluded from the total */
 	struct i40e_eth_stats internal_stats_offset;
 	struct i40e_eth_stats internal_stats;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:10.263913822 +0100
+++ 0075-net-i40e-fix-Rx-packet-statistics.patch	2021-11-30 16:50:05.786873500 +0100
@@ -1 +1 @@
-From 39e4a2577fd05199f53182b7c8509aeed40dc07f Mon Sep 17 00:00:00 2001
+From 3f91a5c85bf2fe6a19f0621f80e5f056d41e83f0 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 39e4a2577fd05199f53182b7c8509aeed40dc07f ]
+
@@ -26 +27,0 @@
-Cc: stable@dpdk.org
@@ -36 +37 @@
-index a2e35ebcfe..0027563034 100644
+index df9e8ca5c5..8388073d28 100644
@@ -39 +40 @@
-@@ -520,7 +520,7 @@ static const struct eth_dev_ops i40e_eth_dev_ops = {
+@@ -548,7 +548,7 @@ static const struct eth_dev_ops i40e_eth_dev_ops = {
@@ -48 +49 @@
-@@ -530,6 +530,8 @@ static const struct rte_i40e_xstats_name_off rte_i40e_stats_strings[] = {
+@@ -558,6 +558,8 @@ static const struct rte_i40e_xstats_name_off rte_i40e_stats_strings[] = {
@@ -57 +58 @@
-@@ -3202,6 +3204,10 @@ i40e_read_stats_registers(struct i40e_pf *pf, struct i40e_hw *hw)
+@@ -3179,6 +3181,10 @@ i40e_read_stats_registers(struct i40e_pf *pf, struct i40e_hw *hw)
@@ -68 +69 @@
-@@ -3401,7 +3407,8 @@ i40e_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
+@@ -3378,7 +3384,8 @@ i40e_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
@@ -78 +79 @@
-@@ -3415,7 +3422,8 @@ i40e_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
+@@ -3392,7 +3399,8 @@ i40e_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
@@ -88 +89 @@
-@@ -6197,6 +6205,8 @@ i40e_pf_setup(struct i40e_pf *pf)
+@@ -6284,6 +6292,8 @@ i40e_pf_setup(struct i40e_pf *pf)
@@ -98 +99 @@
-index 8a68b363f9..1d57b9617e 100644
+index 666babd8c5..4de21cd64a 100644
@@ -101,3 +102,3 @@
-@@ -20,6 +20,13 @@
- #include "base/i40e_type.h"
- #include "base/virtchnl.h"
+@@ -17,6 +17,13 @@
+ 
+ #include "base/i40e_register.h"
@@ -115 +116 @@
-@@ -1114,6 +1121,9 @@ struct i40e_pf {
+@@ -956,6 +963,9 @@ struct i40e_pf {

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

* patch 'net/ixgbe: fix queue release' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (73 preceding siblings ...)
  2021-11-30 16:34 ` patch 'net/i40e: fix Rx packet statistics' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'net/i40e/base: fix PHY identifiers for 2.5G and 5G adapters' " christian.ehrhardt
                   ` (84 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Julien Meunier; +Cc: Haiyue Wang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 4d26daff818cd70cecc2899ebaaedc0311e4f988 Mon Sep 17 00:00:00 2001
From: Julien Meunier <julien.meunier@nokia.com>
Date: Tue, 28 Sep 2021 10:12:38 +0200
Subject: [PATCH] net/ixgbe: fix queue release

[ upstream commit 6507e67af817183c69b684e81d820791eef18259 ]

On the vector implementation, during the tear-down, the mbufs not
drained in the RxQ and TxQ are freed based on an algorithm which
supposed that the number of descriptors is a power of 2 (max_desc).
Based on this hypothesis, this algorithm uses a bitmask in order to
detect an index overflow during the iteration, and to restart the loop
from 0.

However, there is no such power of 2 requirement in the ixgbe for the
number of descriptors in the RxQ / TxQ. The only requirement is to have
a number correctly aligned.

If a user requested to configure a number of descriptors which is not a
power of 2, as a consequence, during the tear-down, it was possible to
be in an infinite loop, and to never reach the exit loop condition.

By removing the bitmask and changing the loop method, we can avoid this
issue, and allow the user to configure a RxQ / TxQ which is not a power
of 2.

Fixes: c95584dc2b18 ("ixgbe: new vectorized functions for Rx/Tx")

Signed-off-by: Julien Meunier <julien.meunier@nokia.com>
Acked-by: Haiyue Wang <haiyue.wang@intel.com>
---
 drivers/net/ixgbe/ixgbe_rxtx_vec_common.h | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_rxtx_vec_common.h b/drivers/net/ixgbe/ixgbe_rxtx_vec_common.h
index a97c27189b..e650feac82 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx_vec_common.h
+++ b/drivers/net/ixgbe/ixgbe_rxtx_vec_common.h
@@ -152,7 +152,7 @@ _ixgbe_tx_queue_release_mbufs_vec(struct ixgbe_tx_queue *txq)
 	/* release the used mbufs in sw_ring */
 	for (i = txq->tx_next_dd - (txq->tx_rs_thresh - 1);
 	     i != txq->tx_tail;
-	     i = (i + 1) & max_desc) {
+	     i = (i + 1) % txq->nb_tx_desc) {
 		txe = &txq->sw_ring_v[i];
 		rte_pktmbuf_free_seg(txe->mbuf);
 	}
@@ -168,7 +168,6 @@ _ixgbe_tx_queue_release_mbufs_vec(struct ixgbe_tx_queue *txq)
 static inline void
 _ixgbe_rx_queue_release_mbufs_vec(struct ixgbe_rx_queue *rxq)
 {
-	const unsigned int mask = rxq->nb_rx_desc - 1;
 	unsigned int i;
 
 	if (rxq->sw_ring == NULL || rxq->rxrearm_nb >= rxq->nb_rx_desc)
@@ -183,7 +182,7 @@ _ixgbe_rx_queue_release_mbufs_vec(struct ixgbe_rx_queue *rxq)
 	} else {
 		for (i = rxq->rx_tail;
 		     i != rxq->rxrearm_start;
-		     i = (i + 1) & mask) {
+		     i = (i + 1) % rxq->nb_rx_desc) {
 			if (rxq->sw_ring[i].mbuf != NULL)
 				rte_pktmbuf_free_seg(rxq->sw_ring[i].mbuf);
 		}
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:10.324289013 +0100
+++ 0076-net-ixgbe-fix-queue-release.patch	2021-11-30 16:50:05.790873530 +0100
@@ -1 +1 @@
-From 6507e67af817183c69b684e81d820791eef18259 Mon Sep 17 00:00:00 2001
+From 4d26daff818cd70cecc2899ebaaedc0311e4f988 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 6507e67af817183c69b684e81d820791eef18259 ]
+
@@ -26 +27,0 @@
-Cc: stable@dpdk.org
@@ -35 +36 @@
-index adba855ca3..005e60668a 100644
+index a97c27189b..e650feac82 100644

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

* patch 'net/i40e/base: fix PHY identifiers for 2.5G and 5G adapters' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (74 preceding siblings ...)
  2021-11-30 16:34 ` patch 'net/ixgbe: fix queue release' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'net/i40e/base: fix PF reset' " christian.ehrhardt
                   ` (83 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Robin Zhang; +Cc: Dawid Lukwinski, Beilei Xing, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From acd346a95dc7069592bdcc6da8edca4919622fd3 Mon Sep 17 00:00:00 2001
From: Robin Zhang <robinx.zhang@intel.com>
Date: Sat, 9 Oct 2021 01:39:44 +0000
Subject: [PATCH] net/i40e/base: fix PHY identifiers for 2.5G and 5G adapters

[ upstream commit dafd6c6308d441af5a215dc25a7942973c3eda15 ]

Unlike other supported adapters, 2.5G and 5G use different PHY type
identifiers for reading/writing PHY settings and for reading link status.
This commit introduces separate PHY identifiers for these two operation
types.

Fixes: 988ed63c7441 ("net/i40e/base: add support for Carlsville device")

Signed-off-by: Dawid Lukwinski <dawid.lukwinski@intel.com>
Signed-off-by: Robin Zhang <robinx.zhang@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
---
 drivers/net/i40e/base/i40e_adminq_cmd.h | 6 ++++--
 drivers/net/i40e/base/i40e_common.c     | 4 ++--
 drivers/net/i40e/base/i40e_type.h       | 8 ++------
 3 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h
index 48f93313bd..3d56d12fe8 100644
--- a/drivers/net/i40e/base/i40e_adminq_cmd.h
+++ b/drivers/net/i40e/base/i40e_adminq_cmd.h
@@ -1935,8 +1935,10 @@ enum i40e_aq_phy_type {
 	I40E_PHY_TYPE_25GBASE_LR		= 0x22,
 	I40E_PHY_TYPE_25GBASE_AOC		= 0x23,
 	I40E_PHY_TYPE_25GBASE_ACC		= 0x24,
-	I40E_PHY_TYPE_2_5GBASE_T		= 0x30,
-	I40E_PHY_TYPE_5GBASE_T			= 0x31,
+	I40E_PHY_TYPE_2_5GBASE_T		= 0x26,
+	I40E_PHY_TYPE_5GBASE_T			= 0x27,
+	I40E_PHY_TYPE_2_5GBASE_T_LINK_STATUS	= 0x30,
+	I40E_PHY_TYPE_5GBASE_T_LINK_STATUS	= 0x31,
 	I40E_PHY_TYPE_MAX,
 	I40E_PHY_TYPE_NOT_SUPPORTED_HIGH_TEMP	= 0xFD,
 	I40E_PHY_TYPE_EMPTY			= 0xFE,
diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c
index 50812eb80e..e9aac841e8 100644
--- a/drivers/net/i40e/base/i40e_common.c
+++ b/drivers/net/i40e/base/i40e_common.c
@@ -1265,8 +1265,8 @@ STATIC enum i40e_media_type i40e_get_media_type(struct i40e_hw *hw)
 		break;
 	case I40E_PHY_TYPE_100BASE_TX:
 	case I40E_PHY_TYPE_1000BASE_T:
-	case I40E_PHY_TYPE_2_5GBASE_T:
-	case I40E_PHY_TYPE_5GBASE_T:
+	case I40E_PHY_TYPE_2_5GBASE_T_LINK_STATUS:
+	case I40E_PHY_TYPE_5GBASE_T_LINK_STATUS:
 	case I40E_PHY_TYPE_10GBASE_T:
 		media = I40E_MEDIA_TYPE_BASET;
 		break;
diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h
index cc72cc0d58..98952d9cfc 100644
--- a/drivers/net/i40e/base/i40e_type.h
+++ b/drivers/net/i40e/base/i40e_type.h
@@ -329,12 +329,8 @@ struct i40e_phy_info {
 					     I40E_PHY_TYPE_OFFSET)
 #define I40E_CAP_PHY_TYPE_25GBASE_ACC BIT_ULL(I40E_PHY_TYPE_25GBASE_ACC + \
 					     I40E_PHY_TYPE_OFFSET)
-/* Offset for 2.5G/5G PHY Types value to bit number conversion */
-#define I40E_PHY_TYPE_OFFSET2 (-10)
-#define I40E_CAP_PHY_TYPE_2_5GBASE_T BIT_ULL(I40E_PHY_TYPE_2_5GBASE_T + \
-					     I40E_PHY_TYPE_OFFSET2)
-#define I40E_CAP_PHY_TYPE_5GBASE_T BIT_ULL(I40E_PHY_TYPE_5GBASE_T + \
-					     I40E_PHY_TYPE_OFFSET2)
+#define I40E_CAP_PHY_TYPE_2_5GBASE_T BIT_ULL(I40E_PHY_TYPE_2_5GBASE_T)
+#define I40E_CAP_PHY_TYPE_5GBASE_T BIT_ULL(I40E_PHY_TYPE_5GBASE_T)
 #define I40E_HW_CAP_MAX_GPIO			30
 #define I40E_HW_CAP_MDIO_PORT_MODE_MDIO		0
 #define I40E_HW_CAP_MDIO_PORT_MODE_I2C		1
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:10.379376201 +0100
+++ 0077-net-i40e-base-fix-PHY-identifiers-for-2.5G-and-5G-ad.patch	2021-11-30 16:50:05.806873647 +0100
@@ -1 +1 @@
-From dafd6c6308d441af5a215dc25a7942973c3eda15 Mon Sep 17 00:00:00 2001
+From acd346a95dc7069592bdcc6da8edca4919622fd3 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit dafd6c6308d441af5a215dc25a7942973c3eda15 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index a96527f31c..af9dec1d7f 100644
+index 48f93313bd..3d56d12fe8 100644
@@ -27 +28 @@
-@@ -1947,8 +1947,10 @@ enum i40e_aq_phy_type {
+@@ -1935,8 +1935,10 @@ enum i40e_aq_phy_type {
@@ -41 +42 @@
-index 32642f3e2b..ceedec68bf 100644
+index 50812eb80e..e9aac841e8 100644
@@ -44 +45 @@
-@@ -1280,8 +1280,8 @@ STATIC enum i40e_media_type i40e_get_media_type(struct i40e_hw *hw)
+@@ -1265,8 +1265,8 @@ STATIC enum i40e_media_type i40e_get_media_type(struct i40e_hw *hw)
@@ -56 +57 @@
-index e5a3729183..0323887550 100644
+index cc72cc0d58..98952d9cfc 100644

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

* patch 'net/i40e/base: fix PF reset' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (75 preceding siblings ...)
  2021-11-30 16:34 ` patch 'net/i40e/base: fix PHY identifiers for 2.5G and 5G adapters' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'net/i40e/base: fix update link data for X722' " christian.ehrhardt
                   ` (82 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Robin Zhang; +Cc: Sylwester Dziedziuch, Beilei Xing, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From f2c2ed35707d45124f63c28063d1016d9ce98ac5 Mon Sep 17 00:00:00 2001
From: Robin Zhang <robinx.zhang@intel.com>
Date: Sat, 9 Oct 2021 01:39:45 +0000
Subject: [PATCH] net/i40e/base: fix PF reset

[ upstream commit 25829b55b463f7bb0b69af0e63b19121a16d2a63 ]

PF has to delete all the filters during reset.
If it is fully loaded with filters then it is possible that it will take
more than 200 ms to finish the reset resulting in timeout during pf_reset
and PF reset failed, -15 error indication.

Increasing the timeout value for PF reset from 200 to 1000 to give PF
more time to finish reset if it is loaded with filters.

Fixes: 1e32378f0774 ("i40e/base: increase PF reset max loop limit")

Signed-off-by: Sylwester Dziedziuch <sylwesterx.dziedziuch@intel.com>
Signed-off-by: Robin Zhang <robinx.zhang@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
---
 drivers/net/i40e/base/i40e_common.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c
index e9aac841e8..fef3b08e89 100644
--- a/drivers/net/i40e/base/i40e_common.c
+++ b/drivers/net/i40e/base/i40e_common.c
@@ -1326,7 +1326,7 @@ STATIC enum i40e_status_code i40e_poll_globr(struct i40e_hw *hw,
 	return I40E_ERR_RESET_FAILED;
 }
 
-#define I40E_PF_RESET_WAIT_COUNT	200
+#define I40E_PF_RESET_WAIT_COUNT	1000
 /**
  * i40e_pf_reset - Reset the PF
  * @hw: pointer to the hardware structure
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:10.441536398 +0100
+++ 0078-net-i40e-base-fix-PF-reset.patch	2021-11-30 16:50:05.814873706 +0100
@@ -1 +1 @@
-From 25829b55b463f7bb0b69af0e63b19121a16d2a63 Mon Sep 17 00:00:00 2001
+From f2c2ed35707d45124f63c28063d1016d9ce98ac5 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 25829b55b463f7bb0b69af0e63b19121a16d2a63 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index ceedec68bf..aa424e6010 100644
+index e9aac841e8..fef3b08e89 100644
@@ -28 +29 @@
-@@ -1341,7 +1341,7 @@ STATIC enum i40e_status_code i40e_poll_globr(struct i40e_hw *hw,
+@@ -1326,7 +1326,7 @@ STATIC enum i40e_status_code i40e_poll_globr(struct i40e_hw *hw,

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

* patch 'net/i40e/base: fix update link data for X722' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (76 preceding siblings ...)
  2021-11-30 16:34 ` patch 'net/i40e/base: fix PF reset' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'net/i40e/base: fix AOC media type' " christian.ehrhardt
                   ` (81 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Robin Zhang; +Cc: Jaroslaw Gawin, Beilei Xing, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/813fffccb31240fe336223a733e03bf5462023ae

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 813fffccb31240fe336223a733e03bf5462023ae Mon Sep 17 00:00:00 2001
From: Robin Zhang <robinx.zhang@intel.com>
Date: Sat, 9 Oct 2021 01:39:46 +0000
Subject: [PATCH] net/i40e/base: fix update link data for X722

[ upstream commit 74bd4072996e64b0051d24d8d641554d225db196 ]

The X722 card has 'Link Type' information elsewhere than the X710.
Previously, for all cards, the 'Link Type' information was retrieved by
opcode 0x0607 and this value was wrong for all X722 cards.
Now this information for X722 only is taken by opcode 0x0600
(function: i40e_aq_get_phy_capabilities) instead of an opcode
0x0607 (function: i40e_aq_get_link_info).
All other parameters read by opcode 0x0607 unchanged.

Fixes: e6691b428eb1 ("i40e/base: fix PHY NVM interaction")
Fixes: 75c3de654ead ("net/i40e/base: fix long link down notification time")

Signed-off-by: Jaroslaw Gawin <jaroslawx.gawin@intel.com>
Signed-off-by: Robin Zhang <robinx.zhang@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
---
 drivers/net/i40e/base/i40e_common.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c
index fef3b08e89..5c75872661 100644
--- a/drivers/net/i40e/base/i40e_common.c
+++ b/drivers/net/i40e/base/i40e_common.c
@@ -2030,6 +2030,9 @@ enum i40e_status_code i40e_aq_get_link_info(struct i40e_hw *hw,
 	     hw->aq.fw_min_ver < 40)) && hw_link_info->phy_type == 0xE)
 		hw_link_info->phy_type = I40E_PHY_TYPE_10GBASE_SFPP_CU;
 
+	/* 'Get Link Status' response data structure from X722 FW has
+	 * different format and does not contain this information
+	 */
 	if (hw->flags & I40E_HW_FLAG_AQ_PHY_ACCESS_CAPABLE &&
 	    hw->mac.type != I40E_MAC_X722) {
 		__le32 tmp;
@@ -2900,10 +2903,13 @@ enum i40e_status_code i40e_update_link_info(struct i40e_hw *hw)
 		return status;
 
 	/* extra checking needed to ensure link info to user is timely */
-	if ((hw->phy.link_info.link_info & I40E_AQ_MEDIA_AVAILABLE) &&
-	    ((hw->phy.link_info.link_info & I40E_AQ_LINK_UP) ||
-	     !(hw->phy.link_info_old.link_info & I40E_AQ_LINK_UP))) {
-		status = i40e_aq_get_phy_capabilities(hw, false, false,
+	if (((hw->phy.link_info.link_info & I40E_AQ_MEDIA_AVAILABLE) &&
+	     ((hw->phy.link_info.link_info & I40E_AQ_LINK_UP) ||
+	      !(hw->phy.link_info_old.link_info & I40E_AQ_LINK_UP))) ||
+		hw->mac.type == I40E_MAC_X722) {
+		status = i40e_aq_get_phy_capabilities(hw, false,
+						      hw->mac.type ==
+						      I40E_MAC_X722,
 						      &abilities, NULL);
 		if (status)
 			return status;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:10.524186504 +0100
+++ 0079-net-i40e-base-fix-update-link-data-for-X722.patch	2021-11-30 16:50:05.826873794 +0100
@@ -1 +1 @@
-From 74bd4072996e64b0051d24d8d641554d225db196 Mon Sep 17 00:00:00 2001
+From 813fffccb31240fe336223a733e03bf5462023ae Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 74bd4072996e64b0051d24d8d641554d225db196 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -26 +27 @@
-index aa424e6010..ef061a6b63 100644
+index fef3b08e89..5c75872661 100644
@@ -29 +30 @@
-@@ -2078,6 +2078,9 @@ enum i40e_status_code i40e_aq_get_link_info(struct i40e_hw *hw,
+@@ -2030,6 +2030,9 @@ enum i40e_status_code i40e_aq_get_link_info(struct i40e_hw *hw,
@@ -39 +40 @@
-@@ -2948,10 +2951,13 @@ enum i40e_status_code i40e_update_link_info(struct i40e_hw *hw)
+@@ -2900,10 +2903,13 @@ enum i40e_status_code i40e_update_link_info(struct i40e_hw *hw)

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

* patch 'net/i40e/base: fix AOC media type' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (77 preceding siblings ...)
  2021-11-30 16:34 ` patch 'net/i40e/base: fix update link data for X722' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'net/i40e/base: fix function name in comments' " christian.ehrhardt
                   ` (80 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Robin Zhang; +Cc: Dawid Lukwinski, Beilei Xing, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/69d0ba62c541391f2929d26e52543bb5ca95b73e

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 69d0ba62c541391f2929d26e52543bb5ca95b73e Mon Sep 17 00:00:00 2001
From: Robin Zhang <robinx.zhang@intel.com>
Date: Sat, 9 Oct 2021 01:39:47 +0000
Subject: [PATCH] net/i40e/base: fix AOC media type

[ upstream commit 6acdc4263c53078b562c94745ad158291299a31c ]

For Active Optical Cable (AOC) the correct media type is "Fibre",
not "Direct Attach Copper".

Fixes: d749d4d89969 ("i40e/base: add AOC PHY types")
Fixes: aa153cc89ff0 ("net/i40e/base: add new PHY types for 25G AOC and ACC")

Signed-off-by: Dawid Lukwinski <dawid.lukwinski@intel.com>
Signed-off-by: Robin Zhang <robinx.zhang@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
---
 drivers/net/i40e/base/i40e_common.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c
index 5c75872661..7f95f7f867 100644
--- a/drivers/net/i40e/base/i40e_common.c
+++ b/drivers/net/i40e/base/i40e_common.c
@@ -1261,6 +1261,9 @@ STATIC enum i40e_media_type i40e_get_media_type(struct i40e_hw *hw)
 	case I40E_PHY_TYPE_40GBASE_LR4:
 	case I40E_PHY_TYPE_25GBASE_LR:
 	case I40E_PHY_TYPE_25GBASE_SR:
+	case I40E_PHY_TYPE_10GBASE_AOC:
+	case I40E_PHY_TYPE_25GBASE_AOC:
+	case I40E_PHY_TYPE_40GBASE_AOC:
 		media = I40E_MEDIA_TYPE_FIBER;
 		break;
 	case I40E_PHY_TYPE_100BASE_TX:
@@ -1275,10 +1278,7 @@ STATIC enum i40e_media_type i40e_get_media_type(struct i40e_hw *hw)
 	case I40E_PHY_TYPE_10GBASE_CR1:
 	case I40E_PHY_TYPE_40GBASE_CR4:
 	case I40E_PHY_TYPE_10GBASE_SFPP_CU:
-	case I40E_PHY_TYPE_40GBASE_AOC:
-	case I40E_PHY_TYPE_10GBASE_AOC:
 	case I40E_PHY_TYPE_25GBASE_CR:
-	case I40E_PHY_TYPE_25GBASE_AOC:
 	case I40E_PHY_TYPE_25GBASE_ACC:
 		media = I40E_MEDIA_TYPE_DA;
 		break;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:10.573198100 +0100
+++ 0080-net-i40e-base-fix-AOC-media-type.patch	2021-11-30 16:50:05.838873882 +0100
@@ -1 +1 @@
-From 6acdc4263c53078b562c94745ad158291299a31c Mon Sep 17 00:00:00 2001
+From 69d0ba62c541391f2929d26e52543bb5ca95b73e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 6acdc4263c53078b562c94745ad158291299a31c ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index ef061a6b63..2ca6a13e79 100644
+index 5c75872661..7f95f7f867 100644
@@ -24 +25 @@
-@@ -1276,6 +1276,9 @@ STATIC enum i40e_media_type i40e_get_media_type(struct i40e_hw *hw)
+@@ -1261,6 +1261,9 @@ STATIC enum i40e_media_type i40e_get_media_type(struct i40e_hw *hw)
@@ -34 +35 @@
-@@ -1290,10 +1293,7 @@ STATIC enum i40e_media_type i40e_get_media_type(struct i40e_hw *hw)
+@@ -1275,10 +1278,7 @@ STATIC enum i40e_media_type i40e_get_media_type(struct i40e_hw *hw)

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

* patch 'net/i40e/base: fix function name in comments' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (78 preceding siblings ...)
  2021-11-30 16:34 ` patch 'net/i40e/base: fix AOC media type' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'net/i40e/base: fix potentially uninitialized variables' " christian.ehrhardt
                   ` (79 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Robin Zhang; +Cc: Jesse Brandeburg, Beilei Xing, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From b483ed523e6addf4872556804ee3ce33f0037e07 Mon Sep 17 00:00:00 2001
From: Robin Zhang <robinx.zhang@intel.com>
Date: Sat, 9 Oct 2021 01:39:49 +0000
Subject: [PATCH] net/i40e/base: fix function name in comments

[ upstream commit bd3c90715b1913b99b9857067fa76985b7fb9224 ]

Fix mismatched function name in comments.

Fixes: 8db9e2a1b232 ("i40e: base driver")
Fixes: 842ea1996335 ("i40e/base: save link module type")
Fixes: fd72a2284a89 ("i40e/base: support LED blinking with new PHY")
Fixes: 788fc17b2dec ("i40e/base: support proxy config for X722")

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Robin Zhang <robinx.zhang@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
---
 drivers/net/i40e/base/i40e_common.c  | 10 +++++-----
 drivers/net/i40e/base/i40e_dcb.c     |  2 +-
 drivers/net/i40e/base/i40e_lan_hmc.c |  2 +-
 drivers/net/i40e/base/i40e_nvm.c     |  2 +-
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c
index 7f95f7f867..34af6118ba 100644
--- a/drivers/net/i40e/base/i40e_common.c
+++ b/drivers/net/i40e/base/i40e_common.c
@@ -2629,7 +2629,7 @@ enum i40e_status_code i40e_aq_set_vsi_vlan_promisc(struct i40e_hw *hw,
 }
 
 /**
- * i40e_get_vsi_params - get VSI configuration info
+ * i40e_aq_get_vsi_params - get VSI configuration info
  * @hw: pointer to the hw struct
  * @vsi_ctx: pointer to a vsi context struct
  * @cmd_details: pointer to command details structure or NULL
@@ -2890,7 +2890,7 @@ enum i40e_status_code i40e_get_link_status(struct i40e_hw *hw, bool *link_up)
 }
 
 /**
- * i40e_updatelink_status - update status of the HW network link
+ * i40e_update_link_info - update status of the HW network link
  * @hw: pointer to the hw struct
  **/
 enum i40e_status_code i40e_update_link_info(struct i40e_hw *hw)
@@ -4722,7 +4722,7 @@ enum i40e_status_code i40e_aq_del_udp_tunnel(struct i40e_hw *hw, u8 index,
 }
 
 /**
- * i40e_aq_get_switch_resource_alloc (0x0204)
+ * i40e_aq_get_switch_resource_alloc - command (0x0204) to get allocations
  * @hw: pointer to the hw struct
  * @num_entries: pointer to u8 to store the number of resource entries returned
  * @buf: pointer to a user supplied buffer.  This buffer must be large enough
@@ -6804,7 +6804,7 @@ u8 i40e_get_phy_address(struct i40e_hw *hw, u8 dev_num)
 }
 
 /**
- * i40e_blink_phy_led
+ * i40e_blink_phy_link_led
  * @hw: pointer to the HW structure
  * @time: time how long led will blinks in secs
  * @interval: gap between LED on and off in msecs
@@ -7371,7 +7371,7 @@ enum i40e_status_code i40e_aq_set_arp_proxy_config(struct i40e_hw *hw,
 }
 
 /**
- * i40e_aq_opc_set_ns_proxy_table_entry
+ * i40e_aq_set_ns_proxy_table_entry
  * @hw: pointer to the HW structure
  * @ns_proxy_table_entry: pointer to NS table entry command struct
  * @cmd_details: pointer to command details
diff --git a/drivers/net/i40e/base/i40e_dcb.c b/drivers/net/i40e/base/i40e_dcb.c
index 5a1f9903a5..a1c9470057 100644
--- a/drivers/net/i40e/base/i40e_dcb.c
+++ b/drivers/net/i40e/base/i40e_dcb.c
@@ -235,7 +235,7 @@ static void i40e_parse_ieee_app_tlv(struct i40e_lldp_org_tlv *tlv,
 }
 
 /**
- * i40e_parse_ieee_etsrec_tlv
+ * i40e_parse_ieee_tlv
  * @tlv: IEEE 802.1Qaz TLV
  * @dcbcfg: Local store to update ETS REC data
  *
diff --git a/drivers/net/i40e/base/i40e_lan_hmc.c b/drivers/net/i40e/base/i40e_lan_hmc.c
index d3969396f0..d3bd683ff3 100644
--- a/drivers/net/i40e/base/i40e_lan_hmc.c
+++ b/drivers/net/i40e/base/i40e_lan_hmc.c
@@ -516,7 +516,7 @@ configure_lan_hmc_out:
 }
 
 /**
- * i40e_delete_hmc_object - remove hmc objects
+ * i40e_delete_lan_hmc_object - remove hmc objects
  * @hw: pointer to the HW structure
  * @info: pointer to i40e_hmc_delete_obj_info struct
  *
diff --git a/drivers/net/i40e/base/i40e_nvm.c b/drivers/net/i40e/base/i40e_nvm.c
index 16aebd077f..aabf7df900 100644
--- a/drivers/net/i40e/base/i40e_nvm.c
+++ b/drivers/net/i40e/base/i40e_nvm.c
@@ -7,7 +7,7 @@
 #include "i40e_prototype.h"
 
 /**
- * i40e_init_nvm_ops - Initialize NVM function pointers
+ * i40e_init_nvm - Initialize NVM function pointers
  * @hw: pointer to the HW structure
  *
  * Setup the function pointers and the NVM info structure. Should be called
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:10.630236943 +0100
+++ 0081-net-i40e-base-fix-function-name-in-comments.patch	2021-11-30 16:50:05.858874029 +0100
@@ -1 +1 @@
-From bd3c90715b1913b99b9857067fa76985b7fb9224 Mon Sep 17 00:00:00 2001
+From b483ed523e6addf4872556804ee3ce33f0037e07 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit bd3c90715b1913b99b9857067fa76985b7fb9224 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index 2ca6a13e79..baa51e1396 100644
+index 7f95f7f867..34af6118ba 100644
@@ -28 +29 @@
-@@ -2677,7 +2677,7 @@ enum i40e_status_code i40e_aq_set_vsi_vlan_promisc(struct i40e_hw *hw,
+@@ -2629,7 +2629,7 @@ enum i40e_status_code i40e_aq_set_vsi_vlan_promisc(struct i40e_hw *hw,
@@ -37 +38 @@
-@@ -2938,7 +2938,7 @@ enum i40e_status_code i40e_get_link_status(struct i40e_hw *hw, bool *link_up)
+@@ -2890,7 +2890,7 @@ enum i40e_status_code i40e_get_link_status(struct i40e_hw *hw, bool *link_up)
@@ -46 +47 @@
-@@ -4830,7 +4830,7 @@ enum i40e_status_code i40e_aq_del_udp_tunnel(struct i40e_hw *hw, u8 index,
+@@ -4722,7 +4722,7 @@ enum i40e_status_code i40e_aq_del_udp_tunnel(struct i40e_hw *hw, u8 index,
@@ -55 +56 @@
-@@ -6977,7 +6977,7 @@ u8 i40e_get_phy_address(struct i40e_hw *hw, u8 dev_num)
+@@ -6804,7 +6804,7 @@ u8 i40e_get_phy_address(struct i40e_hw *hw, u8 dev_num)
@@ -64 +65 @@
-@@ -7824,7 +7824,7 @@ enum i40e_status_code i40e_aq_set_arp_proxy_config(struct i40e_hw *hw,
+@@ -7371,7 +7371,7 @@ enum i40e_status_code i40e_aq_set_arp_proxy_config(struct i40e_hw *hw,
@@ -74 +75 @@
-index 27b52bc365..8f9b7e823f 100644
+index 5a1f9903a5..a1c9470057 100644
@@ -100 +101 @@
-index 561ed21136..67e58cc195 100644
+index 16aebd077f..aabf7df900 100644

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

* patch 'net/i40e/base: fix potentially uninitialized variables' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (79 preceding siblings ...)
  2021-11-30 16:34 ` patch 'net/i40e/base: fix function name in comments' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'net/i40e/base: fix using checksum before check' " christian.ehrhardt
                   ` (78 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Robin Zhang; +Cc: Christopher Pau, Beilei Xing, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/8406d53dc9b5a5c63677504a6537dbf9b0174695

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 8406d53dc9b5a5c63677504a6537dbf9b0174695 Mon Sep 17 00:00:00 2001
From: Robin Zhang <robinx.zhang@intel.com>
Date: Sat, 9 Oct 2021 01:39:50 +0000
Subject: [PATCH] net/i40e/base: fix potentially uninitialized variables

[ upstream commit bc99971d1021ecc85280b9b98e84c9b5f4ba008e ]

The status of i40e_read_nvm_word is not checked, so variables set
from this function could be used uninitialized. In this case, preserve
the existing flow that does not block initialization by initializing
these values from the start.

Fixes: 8d6c51fcd24b ("i40e/base: get OEM version")
Fixes: 2db70574247b ("net/i40e/base: limit PF/VF specific code to that driver only")

Signed-off-by: Christopher Pau <christopher.pau@intel.com>
Signed-off-by: Robin Zhang <robinx.zhang@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
---
 drivers/net/i40e/base/i40e_adminq.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/i40e/base/i40e_adminq.c b/drivers/net/i40e/base/i40e_adminq.c
index 0c07ff0045..48f9d8071a 100644
--- a/drivers/net/i40e/base/i40e_adminq.c
+++ b/drivers/net/i40e/base/i40e_adminq.c
@@ -587,8 +587,10 @@ STATIC void i40e_resume_aq(struct i40e_hw *hw)
 enum i40e_status_code i40e_init_adminq(struct i40e_hw *hw)
 {
 #ifdef PF_DRIVER
-	u16 cfg_ptr, oem_hi, oem_lo;
-	u16 eetrack_lo, eetrack_hi;
+	u16 oem_hi = 0, oem_lo = 0;
+	u16 eetrack_hi = 0;
+	u16 eetrack_lo = 0;
+	u16 cfg_ptr = 0;
 #endif
 	enum i40e_status_code ret_code;
 #ifdef PF_DRIVER
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:10.701500898 +0100
+++ 0082-net-i40e-base-fix-potentially-uninitialized-variable.patch	2021-11-30 16:50:05.858874029 +0100
@@ -1 +1 @@
-From bc99971d1021ecc85280b9b98e84c9b5f4ba008e Mon Sep 17 00:00:00 2001
+From 8406d53dc9b5a5c63677504a6537dbf9b0174695 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit bc99971d1021ecc85280b9b98e84c9b5f4ba008e ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index 38d3429e5b..27c82d9b44 100644
+index 0c07ff0045..48f9d8071a 100644
@@ -26 +27,2 @@
-@@ -652,8 +652,10 @@ enum i40e_status_code i40e_init_adminq(struct i40e_hw *hw)
+@@ -587,8 +587,10 @@ STATIC void i40e_resume_aq(struct i40e_hw *hw)
+ enum i40e_status_code i40e_init_adminq(struct i40e_hw *hw)
@@ -28,2 +30 @@
- 	struct i40e_adminq_info *aq = &hw->aq;
- 	enum i40e_status_code ret_code;
+ #ifdef PF_DRIVER
@@ -36,3 +37,3 @@
- 	int retry = 0;
- 
- 	/* verify input for valid configuration */
+ #endif
+ 	enum i40e_status_code ret_code;
+ #ifdef PF_DRIVER

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

* patch 'net/i40e/base: fix using checksum before check' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (80 preceding siblings ...)
  2021-11-30 16:34 ` patch 'net/i40e/base: fix potentially uninitialized variables' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'net/enic: fix filter mode detection' " christian.ehrhardt
                   ` (77 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Robin Zhang; +Cc: Christopher Pau, Beilei Xing, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From e67b39e429b88a343f36e88f5acbc34e244f04a2 Mon Sep 17 00:00:00 2001
From: Robin Zhang <robinx.zhang@intel.com>
Date: Sat, 9 Oct 2021 01:39:51 +0000
Subject: [PATCH] net/i40e/base: fix using checksum before check

[ upstream commit e59d949182767cdf8c7ee1b2637034f50a8487fb ]

The variable checksum from i40e_calc_nvm_checksum is used before return
value is checked. Fix this logic.

Fixes: 8db9e2a1b232 ("i40e: base driver")
Fixes: 3ed6c3246f43 ("i40e/base: handle AQ timeout when releasing NVM")

Signed-off-by: Christopher Pau <christopher.pau@intel.com>
Signed-off-by: Robin Zhang <robinx.zhang@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
---
 drivers/net/i40e/base/i40e_nvm.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/i40e/base/i40e_nvm.c b/drivers/net/i40e/base/i40e_nvm.c
index aabf7df900..338972a2f9 100644
--- a/drivers/net/i40e/base/i40e_nvm.c
+++ b/drivers/net/i40e/base/i40e_nvm.c
@@ -684,10 +684,11 @@ enum i40e_status_code i40e_update_nvm_checksum(struct i40e_hw *hw)
 	DEBUGFUNC("i40e_update_nvm_checksum");
 
 	ret_code = i40e_calc_nvm_checksum(hw, &checksum);
-	le_sum = CPU_TO_LE16(checksum);
-	if (ret_code == I40E_SUCCESS)
+	if (ret_code == I40E_SUCCESS) {
+		le_sum = CPU_TO_LE16(checksum);
 		ret_code = i40e_write_nvm_aq(hw, 0x00, I40E_SR_SW_CHECKSUM_WORD,
 					     1, &le_sum, true);
+	}
 
 	return ret_code;
 }
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:10.757493881 +0100
+++ 0083-net-i40e-base-fix-using-checksum-before-check.patch	2021-11-30 16:50:05.862874058 +0100
@@ -1 +1 @@
-From e59d949182767cdf8c7ee1b2637034f50a8487fb Mon Sep 17 00:00:00 2001
+From e67b39e429b88a343f36e88f5acbc34e244f04a2 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e59d949182767cdf8c7ee1b2637034f50a8487fb ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 67e58cc195..f385042601 100644
+index aabf7df900..338972a2f9 100644
@@ -24 +25 @@
-@@ -755,10 +755,11 @@ enum i40e_status_code i40e_update_nvm_checksum(struct i40e_hw *hw)
+@@ -684,10 +684,11 @@ enum i40e_status_code i40e_update_nvm_checksum(struct i40e_hw *hw)

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

* patch 'net/enic: fix filter mode detection' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (81 preceding siblings ...)
  2021-11-30 16:34 ` patch 'net/i40e/base: fix using checksum before check' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'net/softnic: fix useless address check' " christian.ehrhardt
                   ` (76 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Hyong Youb Kim; +Cc: John Daley, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/72dd22208019fd848d18883a955376c68a59e385

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 72dd22208019fd848d18883a955376c68a59e385 Mon Sep 17 00:00:00 2001
From: Hyong Youb Kim <hyonkim@cisco.com>
Date: Tue, 12 Oct 2021 18:21:23 -0700
Subject: [PATCH] net/enic: fix filter mode detection

[ upstream commit fb9274546120898933f225742d9e37530504e8f9 ]

vnic_dev_capable_filter_mode() currently fails when
CMD_CAPABILITY(CMD_ADD_FILTER) returns ERR_EPERM. In turn, this
failure causes the driver initialization to fail.

But, firmware may legitimately return ERR_EPERM. For example, VF vNIC
returns ERR_EPERM when it does not support filtering at all. So, treat
ERR_EPERM as "no filtering available" instead of an unexpected error.

Fixes: 322b355f2183 ("net/enic/base: bring NIC interface functions up to date")

Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
---
 drivers/net/enic/base/vnic_dev.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/net/enic/base/vnic_dev.c b/drivers/net/enic/base/vnic_dev.c
index 899df07df7..5535aa8774 100644
--- a/drivers/net/enic/base/vnic_dev.c
+++ b/drivers/net/enic/base/vnic_dev.c
@@ -570,8 +570,8 @@ static int vnic_dev_flowman_enable(struct vnic_dev *vdev, u32 *mode,
 	return 1;
 }
 
-/*  Determine the "best" filtering mode VIC is capaible of. Returns one of 4
- *  value or 0 on error:
+/*  Determine the "best" filtering mode VIC is capable of. Returns one of 4
+ *  value or 0 if filtering is unavailble:
  *	FILTER_FLOWMAN- flowman api capable
  *	FILTER_DPDK_1- advanced filters availabile
  *	FILTER_USNIC_IP_FLAG - advanced filters but with the restriction that
@@ -606,6 +606,14 @@ int vnic_dev_capable_filter_mode(struct vnic_dev *vdev, u32 *mode,
 		args[0] = CMD_ADD_FILTER;
 		args[1] = 0;
 		err = vnic_dev_cmd_args(vdev, CMD_CAPABILITY, args, 2, 1000);
+		/*
+		 * ERR_EPERM may be returned if, for example, vNIC is
+		 * on a VF. It simply means no filtering is available
+		 */
+		if (err == -ERR_EPERM) {
+			*mode = 0;
+			return 0;
+		}
 		if (err)
 			return err;
 		max_level = args[1];
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:10.827337237 +0100
+++ 0084-net-enic-fix-filter-mode-detection.patch	2021-11-30 16:50:05.862874058 +0100
@@ -1 +1 @@
-From fb9274546120898933f225742d9e37530504e8f9 Mon Sep 17 00:00:00 2001
+From 72dd22208019fd848d18883a955376c68a59e385 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit fb9274546120898933f225742d9e37530504e8f9 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index ab6e05739b..9c42595ced 100644
+index 899df07df7..5535aa8774 100644
@@ -27 +28 @@
-@@ -644,8 +644,8 @@ static int vnic_dev_flowman_enable(struct vnic_dev *vdev, uint32_t *mode,
+@@ -570,8 +570,8 @@ static int vnic_dev_flowman_enable(struct vnic_dev *vdev, u32 *mode,
@@ -38 +39 @@
-@@ -680,6 +680,14 @@ int vnic_dev_capable_filter_mode(struct vnic_dev *vdev, uint32_t *mode,
+@@ -606,6 +606,14 @@ int vnic_dev_capable_filter_mode(struct vnic_dev *vdev, u32 *mode,

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

* patch 'net/softnic: fix useless address check' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (82 preceding siblings ...)
  2021-11-30 16:34 ` patch 'net/enic: fix filter mode detection' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'app/testpmd: fix hex string parser in flow commands' " christian.ehrhardt
                   ` (75 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Jasvinder Singh, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From eaa0d764d28c4540fb624a1c1cf11705db63ccab Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Mon, 4 Oct 2021 18:27:22 +0100
Subject: [PATCH] net/softnic: fix useless address check
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit 675a6c18746694a8e19a0256b16bd6b3e8dcbfd2 ]

Reported by "gcc (GCC) 12.0.0 20211003 (experimental)":

./drivers/net/softnic/rte_eth_softnic_cli.c:
	In function ‘tmgr_hierarchy_default’:
./drivers/net/softnic/rte_eth_softnic_cli.c:634:73:
	error: the comparison will always evaluate as ‘true’ for the
	address of ‘tc_valid’ will never be NULL [-Werror=address]
  634 | (&params->shared_shaper_id.tc_valid[0]) ? 1 : 0,
      |                                         ^

Fixing it by removing useless check.

Fixes: 1af2dc5111ce ("net/softnic: add command for default tmgr hierarchy")
Fixes: 5eb676d74fc8 ("net/softnic: add config flexibility to TM")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Jasvinder Singh <jasvinder.singh@intel.com>
---
 drivers/net/softnic/rte_eth_softnic_cli.c | 26 +++++++++++------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/drivers/net/softnic/rte_eth_softnic_cli.c b/drivers/net/softnic/rte_eth_softnic_cli.c
index bc95f16439..aa9971579e 100644
--- a/drivers/net/softnic/rte_eth_softnic_cli.c
+++ b/drivers/net/softnic/rte_eth_softnic_cli.c
@@ -631,7 +631,7 @@ tmgr_hierarchy_default(struct pmd_internals *softnic,
 			.shaper_profile_id = params->shaper_profile_id.tc[0],
 			.shared_shaper_id = &shared_shaper_id[0],
 			.n_shared_shapers =
-				(&params->shared_shaper_id.tc_valid[0]) ? 1 : 0,
+				(params->shared_shaper_id.tc_valid[0]) ? 1 : 0,
 			.nonleaf = {
 				.n_sp_priorities = 1,
 			},
@@ -641,7 +641,7 @@ tmgr_hierarchy_default(struct pmd_internals *softnic,
 			.shaper_profile_id = params->shaper_profile_id.tc[1],
 			.shared_shaper_id = &shared_shaper_id[1],
 			.n_shared_shapers =
-				(&params->shared_shaper_id.tc_valid[1]) ? 1 : 0,
+				(params->shared_shaper_id.tc_valid[1]) ? 1 : 0,
 			.nonleaf = {
 				.n_sp_priorities = 1,
 			},
@@ -651,7 +651,7 @@ tmgr_hierarchy_default(struct pmd_internals *softnic,
 			.shaper_profile_id = params->shaper_profile_id.tc[2],
 			.shared_shaper_id = &shared_shaper_id[2],
 			.n_shared_shapers =
-				(&params->shared_shaper_id.tc_valid[2]) ? 1 : 0,
+				(params->shared_shaper_id.tc_valid[2]) ? 1 : 0,
 			.nonleaf = {
 				.n_sp_priorities = 1,
 			},
@@ -661,7 +661,7 @@ tmgr_hierarchy_default(struct pmd_internals *softnic,
 			.shaper_profile_id = params->shaper_profile_id.tc[3],
 			.shared_shaper_id = &shared_shaper_id[3],
 			.n_shared_shapers =
-				(&params->shared_shaper_id.tc_valid[3]) ? 1 : 0,
+				(params->shared_shaper_id.tc_valid[3]) ? 1 : 0,
 			.nonleaf = {
 				.n_sp_priorities = 1,
 			},
@@ -671,7 +671,7 @@ tmgr_hierarchy_default(struct pmd_internals *softnic,
 			.shaper_profile_id = params->shaper_profile_id.tc[4],
 			.shared_shaper_id = &shared_shaper_id[4],
 			.n_shared_shapers =
-				(&params->shared_shaper_id.tc_valid[4]) ? 1 : 0,
+				(params->shared_shaper_id.tc_valid[4]) ? 1 : 0,
 			.nonleaf = {
 				.n_sp_priorities = 1,
 			},
@@ -681,7 +681,7 @@ tmgr_hierarchy_default(struct pmd_internals *softnic,
 			.shaper_profile_id = params->shaper_profile_id.tc[5],
 			.shared_shaper_id = &shared_shaper_id[5],
 			.n_shared_shapers =
-				(&params->shared_shaper_id.tc_valid[5]) ? 1 : 0,
+				(params->shared_shaper_id.tc_valid[5]) ? 1 : 0,
 			.nonleaf = {
 				.n_sp_priorities = 1,
 			},
@@ -691,7 +691,7 @@ tmgr_hierarchy_default(struct pmd_internals *softnic,
 			.shaper_profile_id = params->shaper_profile_id.tc[6],
 			.shared_shaper_id = &shared_shaper_id[6],
 			.n_shared_shapers =
-				(&params->shared_shaper_id.tc_valid[6]) ? 1 : 0,
+				(params->shared_shaper_id.tc_valid[6]) ? 1 : 0,
 			.nonleaf = {
 				.n_sp_priorities = 1,
 			},
@@ -701,7 +701,7 @@ tmgr_hierarchy_default(struct pmd_internals *softnic,
 			.shaper_profile_id = params->shaper_profile_id.tc[7],
 			.shared_shaper_id = &shared_shaper_id[7],
 			.n_shared_shapers =
-				(&params->shared_shaper_id.tc_valid[7]) ? 1 : 0,
+				(params->shared_shaper_id.tc_valid[7]) ? 1 : 0,
 			.nonleaf = {
 				.n_sp_priorities = 1,
 			},
@@ -711,7 +711,7 @@ tmgr_hierarchy_default(struct pmd_internals *softnic,
 			.shaper_profile_id = params->shaper_profile_id.tc[8],
 			.shared_shaper_id = &shared_shaper_id[8],
 			.n_shared_shapers =
-				(&params->shared_shaper_id.tc_valid[8]) ? 1 : 0,
+				(params->shared_shaper_id.tc_valid[8]) ? 1 : 0,
 			.nonleaf = {
 				.n_sp_priorities = 1,
 			},
@@ -721,7 +721,7 @@ tmgr_hierarchy_default(struct pmd_internals *softnic,
 			.shaper_profile_id = params->shaper_profile_id.tc[9],
 			.shared_shaper_id = &shared_shaper_id[9],
 			.n_shared_shapers =
-				(&params->shared_shaper_id.tc_valid[9]) ? 1 : 0,
+				(params->shared_shaper_id.tc_valid[9]) ? 1 : 0,
 			.nonleaf = {
 				.n_sp_priorities = 1,
 			},
@@ -731,7 +731,7 @@ tmgr_hierarchy_default(struct pmd_internals *softnic,
 			.shaper_profile_id = params->shaper_profile_id.tc[10],
 			.shared_shaper_id = &shared_shaper_id[10],
 			.n_shared_shapers =
-				(&params->shared_shaper_id.tc_valid[10]) ? 1 : 0,
+				(params->shared_shaper_id.tc_valid[10]) ? 1 : 0,
 			.nonleaf = {
 				.n_sp_priorities = 1,
 			},
@@ -741,7 +741,7 @@ tmgr_hierarchy_default(struct pmd_internals *softnic,
 			.shaper_profile_id = params->shaper_profile_id.tc[11],
 			.shared_shaper_id = &shared_shaper_id[11],
 			.n_shared_shapers =
-				(&params->shared_shaper_id.tc_valid[11]) ? 1 : 0,
+				(params->shared_shaper_id.tc_valid[11]) ? 1 : 0,
 			.nonleaf = {
 				.n_sp_priorities = 1,
 			},
@@ -751,7 +751,7 @@ tmgr_hierarchy_default(struct pmd_internals *softnic,
 			.shaper_profile_id = params->shaper_profile_id.tc[12],
 			.shared_shaper_id = &shared_shaper_id[12],
 			.n_shared_shapers =
-				(&params->shared_shaper_id.tc_valid[12]) ? 1 : 0,
+				(params->shared_shaper_id.tc_valid[12]) ? 1 : 0,
 			.nonleaf = {
 				.n_sp_priorities = 1,
 			},
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:10.898623380 +0100
+++ 0085-net-softnic-fix-useless-address-check.patch	2021-11-30 16:50:05.870874117 +0100
@@ -1 +1 @@
-From 675a6c18746694a8e19a0256b16bd6b3e8dcbfd2 Mon Sep 17 00:00:00 2001
+From eaa0d764d28c4540fb624a1c1cf11705db63ccab Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 675a6c18746694a8e19a0256b16bd6b3e8dcbfd2 ]
+
@@ -23 +24,0 @@
-Cc: stable@dpdk.org
@@ -32 +33 @@
-index 932ec15f49..b04e78c6e0 100644
+index bc95f16439..aa9971579e 100644

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

* patch 'app/testpmd: fix hex string parser in flow commands' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (83 preceding siblings ...)
  2021-11-30 16:34 ` patch 'net/softnic: fix useless address check' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'doc: fix emulated device names in e1000 guide' " christian.ehrhardt
                   ` (74 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Viacheslav Ovsiienko; +Cc: Ori Kam, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 84d8ca035813338a44fbd5e0ec3f16a6894a9d8d Mon Sep 17 00:00:00 2001
From: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Date: Wed, 13 Oct 2021 21:45:15 +0300
Subject: [PATCH] app/testpmd: fix hex string parser in flow commands

[ upstream commit a2b97fb7f5b11dcf5e810e13a0da1a0f111975e6 ]

The hexadecimal string parser does not check the target
field buffer size, buffer overflow happens and might
cause the application failure (segmentation fault
is observed usually).

Fixes: 169a9fed1f4c ("app/testpmd: fix hex string parser support for flow API")

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Acked-by: Ori Kam <orika@nvidia.com>
---
 app/test-pmd/cmdline_flow.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
index 0b76f7ef21..4d99ae518d 100644
--- a/app/test-pmd/cmdline_flow.c
+++ b/app/test-pmd/cmdline_flow.c
@@ -5361,10 +5361,13 @@ parse_hex(struct context *ctx, const struct token *token,
 		hexlen -= 2;
 	}
 	if (hexlen > length)
-		return -1;
+		goto error;
 	ret = parse_hex_string(str, hex_tmp, &hexlen);
 	if (ret < 0)
 		goto error;
+	/* Check the converted binary fits into data buffer. */
+	if (hexlen > size)
+		goto error;
 	/* Let parse_int() fill length information first. */
 	ret = snprintf(tmp, sizeof(tmp), "%u", hexlen);
 	if (ret < 0)
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:10.959422286 +0100
+++ 0086-app-testpmd-fix-hex-string-parser-in-flow-commands.patch	2021-11-30 16:50:05.878874175 +0100
@@ -1 +1 @@
-From a2b97fb7f5b11dcf5e810e13a0da1a0f111975e6 Mon Sep 17 00:00:00 2001
+From 84d8ca035813338a44fbd5e0ec3f16a6894a9d8d Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a2b97fb7f5b11dcf5e810e13a0da1a0f111975e6 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 6d9e3d5c42..a90822b660 100644
+index 0b76f7ef21..4d99ae518d 100644
@@ -24 +25 @@
-@@ -7381,10 +7381,13 @@ parse_hex(struct context *ctx, const struct token *token,
+@@ -5361,10 +5361,13 @@ parse_hex(struct context *ctx, const struct token *token,

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

* patch 'doc: fix emulated device names in e1000 guide' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (84 preceding siblings ...)
  2021-11-30 16:34 ` patch 'app/testpmd: fix hex string parser in flow commands' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'net: fix aliasing in checksum computation' " christian.ehrhardt
                   ` (73 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: William Tu; +Cc: Haiyue Wang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From ae332e0f3bcd4aa6d6863e6b903bc605facb2a0e Mon Sep 17 00:00:00 2001
From: William Tu <u9012063@gmail.com>
Date: Mon, 11 Oct 2021 11:55:40 -0700
Subject: [PATCH] doc: fix emulated device names in e1000 guide

[ upstream commit d2e5ab2b42444cd7149823fbba29a1227fc2b5cb ]

The device name should be 82574L Gigabit Ethernet Controller.
The patch also remove a redundant "*".

Fixes: fc1f2750a3ec ("doc: programmers guide")

Signed-off-by: William Tu <u9012063@gmail.com>
Acked-by: Haiyue Wang <haiyue.wang@intel.com>
---
 doc/guides/nics/e1000em.rst | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/doc/guides/nics/e1000em.rst b/doc/guides/nics/e1000em.rst
index b6a2534e36..63c0b1b337 100644
--- a/doc/guides/nics/e1000em.rst
+++ b/doc/guides/nics/e1000em.rst
@@ -8,9 +8,9 @@ The DPDK EM poll mode driver supports the following emulated devices:
 
 *   qemu-kvm emulated Intel® 82540EM Gigabit Ethernet Controller (qemu e1000 device)
 
-*   VMware* emulated Intel® 82545EM Gigabit Ethernet Controller
+*   VMware emulated Intel® 82545EM Gigabit Ethernet Controller
 
-*   VMware emulated Intel® 8274L Gigabit Ethernet Controller.
+*   VMware emulated Intel® 82574L Gigabit Ethernet Controller.
 
 Validated Hypervisors
 ---------------------
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:11.022619235 +0100
+++ 0087-doc-fix-emulated-device-names-in-e1000-guide.patch	2021-11-30 16:50:05.878874175 +0100
@@ -1 +1 @@
-From d2e5ab2b42444cd7149823fbba29a1227fc2b5cb Mon Sep 17 00:00:00 2001
+From ae332e0f3bcd4aa6d6863e6b903bc605facb2a0e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d2e5ab2b42444cd7149823fbba29a1227fc2b5cb ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 041c9a09a3..5e752a29e5 100644
+index b6a2534e36..63c0b1b337 100644

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

* patch 'net: fix aliasing in checksum computation' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (85 preceding siblings ...)
  2021-11-30 16:34 ` patch 'doc: fix emulated device names in e1000 guide' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'app/testpmd: fix access to DSCP table entries' " christian.ehrhardt
                   ` (72 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Georg Sauthoff; +Cc: Morten Brørup, Olivier Matz, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From e3285b3e8ee70b46af72121ef796a7f710c1cb80 Mon Sep 17 00:00:00 2001
From: Georg Sauthoff <mail@gms.tf>
Date: Sun, 17 Oct 2021 22:37:18 +0200
Subject: [PATCH] net: fix aliasing in checksum computation
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit 24f1955d1ecd13a3c261a328c72932115732825e ]

That means a superfluous cast is removed and aliasing through a uint8_t
pointer is eliminated. NB: The C standard specifies that a unsigned char
pointer may alias while the C standard doesn't include such requirement
for uint8_t pointers.

Also simplified the loop since a modern C compiler can speed up (i.e.
auto-vectorize) it in a similar way. For example, GCC auto-vectorizes it
for Haswell using AVX registers while halving the number of instructions
in the generated code.

Fixes: 6006818cfb26 ("net: new checksum functions")
Fixes: e079655c41fb ("net: fix build with gcc 4.4.7 and strict aliasing")

Signed-off-by: Georg Sauthoff <mail@gms.tf>
Reviewed-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
---
 lib/librte_net/rte_ip.h | 27 ++++++++-------------------
 1 file changed, 8 insertions(+), 19 deletions(-)

diff --git a/lib/librte_net/rte_ip.h b/lib/librte_net/rte_ip.h
index cedfd27ac1..279e88ee39 100644
--- a/lib/librte_net/rte_ip.h
+++ b/lib/librte_net/rte_ip.h
@@ -119,29 +119,18 @@ struct rte_ipv4_hdr {
 static inline uint32_t
 __rte_raw_cksum(const void *buf, size_t len, uint32_t sum)
 {
-	/* workaround gcc strict-aliasing warning */
-	uintptr_t ptr = (uintptr_t)buf;
+	/* extend strict-aliasing rules */
 	typedef uint16_t __attribute__((__may_alias__)) u16_p;
-	const u16_p *u16_buf = (const u16_p *)ptr;
-
-	while (len >= (sizeof(*u16_buf) * 4)) {
-		sum += u16_buf[0];
-		sum += u16_buf[1];
-		sum += u16_buf[2];
-		sum += u16_buf[3];
-		len -= sizeof(*u16_buf) * 4;
-		u16_buf += 4;
-	}
-	while (len >= sizeof(*u16_buf)) {
+	const u16_p *u16_buf = (const u16_p *)buf;
+	const u16_p *end = u16_buf + len / sizeof(*u16_buf);
+
+	for (; u16_buf != end; ++u16_buf)
 		sum += *u16_buf;
-		len -= sizeof(*u16_buf);
-		u16_buf += 1;
-	}
 
-	/* if length is in odd bytes */
-	if (len == 1) {
+	/* if length is odd, keeping it byte order independent */
+	if (unlikely(len % 2)) {
 		uint16_t left = 0;
-		*(uint8_t *)&left = *(const uint8_t *)u16_buf;
+		*(unsigned char *)&left = *(const unsigned char *)end;
 		sum += left;
 	}
 
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:11.079309029 +0100
+++ 0088-net-fix-aliasing-in-checksum-computation.patch	2021-11-30 16:50:05.878874175 +0100
@@ -1 +1 @@
-From 24f1955d1ecd13a3c261a328c72932115732825e Mon Sep 17 00:00:00 2001
+From e3285b3e8ee70b46af72121ef796a7f710c1cb80 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 24f1955d1ecd13a3c261a328c72932115732825e ]
+
@@ -21 +22,0 @@
-Cc: stable@dpdk.org
@@ -27 +28 @@
- lib/net/rte_ip.h | 27 ++++++++-------------------
+ lib/librte_net/rte_ip.h | 27 ++++++++-------------------
@@ -30,5 +31,5 @@
-diff --git a/lib/net/rte_ip.h b/lib/net/rte_ip.h
-index 0ef2430607..41d90ca1b9 100644
---- a/lib/net/rte_ip.h
-+++ b/lib/net/rte_ip.h
-@@ -154,29 +154,18 @@ rte_ipv4_hdr_len(const struct rte_ipv4_hdr *ipv4_hdr)
+diff --git a/lib/librte_net/rte_ip.h b/lib/librte_net/rte_ip.h
+index cedfd27ac1..279e88ee39 100644
+--- a/lib/librte_net/rte_ip.h
++++ b/lib/librte_net/rte_ip.h
+@@ -119,29 +119,18 @@ struct rte_ipv4_hdr {

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

* patch 'app/testpmd: fix access to DSCP table entries' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (86 preceding siblings ...)
  2021-11-30 16:34 ` patch 'net: fix aliasing in checksum computation' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'app/eventdev: fix terminal colour after control-c exit' " christian.ehrhardt
                   ` (71 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Sunil Kumar Kori; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/9f2a1bcfe2e2acbb12dff4aa74b660e015a0a5ba

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 9f2a1bcfe2e2acbb12dff4aa74b660e015a0a5ba Mon Sep 17 00:00:00 2001
From: Sunil Kumar Kori <skori@marvell.com>
Date: Tue, 12 Oct 2021 14:03:17 +0530
Subject: [PATCH] app/testpmd: fix access to DSCP table entries

[ upstream commit b314a4a664266f691167c29de6bc5ce728346c02 ]

During parsing of DSCP entries, memory is allocated and assigned
to *dscp_table. Later on, same memory is accessed using
*dscp_table[i++].

Due to higher precedence for array subscript, dscp_table[i++] will
be executed first which actually does not point to the same memory
which was allocated previously for DSCP table entries.

Fixes: 459463ae6c26 ("app/testpmd: fix memory allocation for DSCP table")

Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 app/test-pmd/cmdline_mtr.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/app/test-pmd/cmdline_mtr.c b/app/test-pmd/cmdline_mtr.c
index c6e7529b3d..9f13de0ccd 100644
--- a/app/test-pmd/cmdline_mtr.c
+++ b/app/test-pmd/cmdline_mtr.c
@@ -92,13 +92,13 @@ parse_dscp_table_entries(char *str, enum rte_color **dscp_table)
 	while (1) {
 		if (strcmp(token, "G") == 0 ||
 			strcmp(token, "g") == 0)
-			*dscp_table[i++] = RTE_COLOR_GREEN;
+			(*dscp_table)[i++] = RTE_COLOR_GREEN;
 		else if (strcmp(token, "Y") == 0 ||
 			strcmp(token, "y") == 0)
-			*dscp_table[i++] = RTE_COLOR_YELLOW;
+			(*dscp_table)[i++] = RTE_COLOR_YELLOW;
 		else if (strcmp(token, "R") == 0 ||
 			strcmp(token, "r") == 0)
-			*dscp_table[i++] = RTE_COLOR_RED;
+			(*dscp_table)[i++] = RTE_COLOR_RED;
 		else {
 			free(*dscp_table);
 			return -1;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:11.127045618 +0100
+++ 0089-app-testpmd-fix-access-to-DSCP-table-entries.patch	2021-11-30 16:50:05.882874204 +0100
@@ -1 +1 @@
-From b314a4a664266f691167c29de6bc5ce728346c02 Mon Sep 17 00:00:00 2001
+From 9f2a1bcfe2e2acbb12dff4aa74b660e015a0a5ba Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b314a4a664266f691167c29de6bc5ce728346c02 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index b5dcfdadcf..ad7ef6ad98 100644
+index c6e7529b3d..9f13de0ccd 100644
@@ -27 +28 @@
-@@ -101,13 +101,13 @@ parse_dscp_table_entries(char *str, enum rte_color **dscp_table)
+@@ -92,13 +92,13 @@ parse_dscp_table_entries(char *str, enum rte_color **dscp_table)

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

* patch 'app/eventdev: fix terminal colour after control-c exit' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (87 preceding siblings ...)
  2021-11-30 16:34 ` patch 'app/testpmd: fix access to DSCP table entries' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'eventdev/eth_rx: fix WRR buffer overrun' " christian.ehrhardt
                   ` (70 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Harry van Haaren; +Cc: Pavan Nikhilesh, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/12426ec54bb0c4ff89a79e897823994b21564a44

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 12426ec54bb0c4ff89a79e897823994b21564a44 Mon Sep 17 00:00:00 2001
From: Harry van Haaren <harry.van.haaren@intel.com>
Date: Thu, 14 Oct 2021 09:54:44 +0000
Subject: [PATCH] app/eventdev: fix terminal colour after control-c exit

[ upstream commit c0900d33443e0a9caca0727995d4ffb9587853bc ]

Before this commit, a Control^C exit of the test-eventdev application
would print the worker packet percentages, and leave the terminal with
a green colour despite the colour reset being issued after the newline.
By moving the colour reset command before the \n the issue is fixed.

Fixes: 6b1a14a83a06 ("app/eventdev: add packet distribution logs")

Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 app/test-eventdev/test_perf_common.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/test-eventdev/test_perf_common.c b/app/test-eventdev/test_perf_common.c
index b3af4bfeca..958845c26b 100644
--- a/app/test-eventdev/test_perf_common.c
+++ b/app/test-eventdev/test_perf_common.c
@@ -17,7 +17,7 @@ perf_test_result(struct evt_test *test, struct evt_options *opt)
 		total += t->worker[i].processed_pkts;
 	for (i = 0; i < t->nb_workers; i++)
 		printf("Worker %d packets: "CLGRN"%"PRIx64" "CLNRM"percentage:"
-				CLGRN" %3.2f\n"CLNRM, i,
+				CLGRN" %3.2f"CLNRM"\n", i,
 				t->worker[i].processed_pkts,
 				(((double)t->worker[i].processed_pkts)/total)
 				* 100);
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:11.179042680 +0100
+++ 0090-app-eventdev-fix-terminal-colour-after-control-c-exi.patch	2021-11-30 16:50:05.882874204 +0100
@@ -1 +1 @@
-From c0900d33443e0a9caca0727995d4ffb9587853bc Mon Sep 17 00:00:00 2001
+From 12426ec54bb0c4ff89a79e897823994b21564a44 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c0900d33443e0a9caca0727995d4ffb9587853bc ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 660d5a0364..97bad18a1f 100644
+index b3af4bfeca..958845c26b 100644
@@ -24 +25 @@
-@@ -19,7 +19,7 @@ perf_test_result(struct evt_test *test, struct evt_options *opt)
+@@ -17,7 +17,7 @@ perf_test_result(struct evt_test *test, struct evt_options *opt)

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

* patch 'eventdev/eth_rx: fix WRR buffer overrun' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (88 preceding siblings ...)
  2021-11-30 16:34 ` patch 'app/eventdev: fix terminal colour after control-c exit' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'bpf: allow self-xor operation' " christian.ehrhardt
                   ` (69 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Naga Harish K S V; +Cc: Jay Jayatheerthan, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/6ed91bcc60d1ce5b2779d3506a4806a22ab6e255

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 6ed91bcc60d1ce5b2779d3506a4806a22ab6e255 Mon Sep 17 00:00:00 2001
From: Naga Harish K S V <s.v.naga.harish.k@intel.com>
Date: Mon, 18 Oct 2021 03:25:41 -0500
Subject: [PATCH] eventdev/eth_rx: fix WRR buffer overrun

[ upstream commit 81da8a5ff440eda60635c849c9e9b3d253838da9 ]

When a poll queue is removed from a rx_adapter instance, the WRR poll
array is recomputed. The wrr array length is reduced in this case. The
next wrr position to poll is stored in wrr_pos variable of rx_adapter
instance. This wrr_pos can become invalid in some cases after wrr is
recomputed. Using this variable to get the next queue and device pair
may leed to wrr buffer overruns.

Resetting the wrr_pos to zero after recomputation of wrr array fixes
the buffer overrun issue.

Fixes: 9c38b704d280 ("eventdev: add eth Rx adapter implementation")

Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com>
Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com>
---
 lib/librte_eventdev/rte_event_eth_rx_adapter.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.c b/lib/librte_eventdev/rte_event_eth_rx_adapter.c
index 6303318943..d59b3dee6a 100644
--- a/lib/librte_eventdev/rte_event_eth_rx_adapter.c
+++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.c
@@ -2244,6 +2244,11 @@ rte_event_eth_rx_adapter_queue_del(uint8_t id, uint16_t eth_dev_id,
 		rx_adapter->eth_rx_poll = rx_poll;
 		rx_adapter->wrr_sched = rx_wrr;
 		rx_adapter->wrr_len = nb_wrr;
+		/*
+		 * reset next poll start position (wrr_pos) to avoid buffer
+		 * overrun when wrr_len is reduced in case of queue delete
+		 */
+		rx_adapter->wrr_pos = 0;
 		rx_adapter->num_intr_vec += num_intr_vec;
 
 		if (dev_info->nb_dev_queues == 0) {
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:11.224143448 +0100
+++ 0091-eventdev-eth_rx-fix-WRR-buffer-overrun.patch	2021-11-30 16:50:05.886874235 +0100
@@ -1 +1 @@
-From 81da8a5ff440eda60635c849c9e9b3d253838da9 Mon Sep 17 00:00:00 2001
+From 6ed91bcc60d1ce5b2779d3506a4806a22ab6e255 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 81da8a5ff440eda60635c849c9e9b3d253838da9 ]
+
@@ -17 +18,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
- lib/eventdev/rte_event_eth_rx_adapter.c | 5 +++++
+ lib/librte_eventdev/rte_event_eth_rx_adapter.c | 5 +++++
@@ -25,5 +26,5 @@
-diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c b/lib/eventdev/rte_event_eth_rx_adapter.c
-index e570f2f085..f07dd4d822 100644
---- a/lib/eventdev/rte_event_eth_rx_adapter.c
-+++ b/lib/eventdev/rte_event_eth_rx_adapter.c
-@@ -2739,6 +2739,11 @@ rte_event_eth_rx_adapter_queue_del(uint8_t id, uint16_t eth_dev_id,
+diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.c b/lib/librte_eventdev/rte_event_eth_rx_adapter.c
+index 6303318943..d59b3dee6a 100644
+--- a/lib/librte_eventdev/rte_event_eth_rx_adapter.c
++++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.c
+@@ -2244,6 +2244,11 @@ rte_event_eth_rx_adapter_queue_del(uint8_t id, uint16_t eth_dev_id,

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

* patch 'bpf: allow self-xor operation' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (89 preceding siblings ...)
  2021-11-30 16:34 ` patch 'eventdev/eth_rx: fix WRR buffer overrun' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'vhost: add sanity check on inflight last index' " christian.ehrhardt
                   ` (68 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Konstantin Ananyev, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From fb117f17e22d0cb862884798348f4232f6a2c270 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 20 Oct 2021 14:42:27 -0700
Subject: [PATCH] bpf: allow self-xor operation

[ upstream commit 80da61198b6be66ab16964eb0944c79c0325c40e ]

Some BPF programs may use XOR of a register with itself
as a way to zero register in one instruction.
The BPF filter converter generates this in the prolog
to the generated code.

The BPF validator would not allow this because the value of
register was undefined. But after this operation it always zero.

Fixes: 8021917293d0 ("bpf: add extra validation for input BPF program")

Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 lib/librte_bpf/bpf_validate.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/lib/librte_bpf/bpf_validate.c b/lib/librte_bpf/bpf_validate.c
index 21ee106649..a7c588a92a 100644
--- a/lib/librte_bpf/bpf_validate.c
+++ b/lib/librte_bpf/bpf_validate.c
@@ -621,8 +621,15 @@ eval_alu(struct bpf_verifier *bvf, const struct ebpf_insn *ins)
 
 	op = BPF_OP(ins->code);
 
+	/* Allow self-xor as way to zero register */
+	if (op == BPF_XOR && BPF_SRC(ins->code) == BPF_X &&
+	    ins->src_reg == ins->dst_reg) {
+		eval_fill_imm(&rs, UINT64_MAX, 0);
+		eval_fill_imm(rd, UINT64_MAX, 0);
+	}
+
 	err = eval_defined((op != EBPF_MOV) ? rd : NULL,
-			(op != BPF_NEG) ? &rs : NULL);
+			   (op != BPF_NEG) ? &rs : NULL);
 	if (err != NULL)
 		return err;
 
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:11.269763275 +0100
+++ 0092-bpf-allow-self-xor-operation.patch	2021-11-30 16:50:05.890874264 +0100
@@ -1 +1 @@
-From 80da61198b6be66ab16964eb0944c79c0325c40e Mon Sep 17 00:00:00 2001
+From fb117f17e22d0cb862884798348f4232f6a2c270 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 80da61198b6be66ab16964eb0944c79c0325c40e ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
- lib/bpf/bpf_validate.c | 9 ++++++++-
+ lib/librte_bpf/bpf_validate.c | 9 ++++++++-
@@ -23,5 +24,5 @@
-diff --git a/lib/bpf/bpf_validate.c b/lib/bpf/bpf_validate.c
-index 7b1291b382..853279fee5 100644
---- a/lib/bpf/bpf_validate.c
-+++ b/lib/bpf/bpf_validate.c
-@@ -661,8 +661,15 @@ eval_alu(struct bpf_verifier *bvf, const struct ebpf_insn *ins)
+diff --git a/lib/librte_bpf/bpf_validate.c b/lib/librte_bpf/bpf_validate.c
+index 21ee106649..a7c588a92a 100644
+--- a/lib/librte_bpf/bpf_validate.c
++++ b/lib/librte_bpf/bpf_validate.c
+@@ -621,8 +621,15 @@ eval_alu(struct bpf_verifier *bvf, const struct ebpf_insn *ins)

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

* patch 'vhost: add sanity check on inflight last index' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (90 preceding siblings ...)
  2021-11-30 16:34 ` patch 'bpf: allow self-xor operation' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'ethdev: fix PCI device release in secondary process' " christian.ehrhardt
                   ` (67 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Li Feng; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/27c4b8065e4c15f816d3fcf93b602f3b9e4c7e24

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 27c4b8065e4c15f816d3fcf93b602f3b9e4c7e24 Mon Sep 17 00:00:00 2001
From: Li Feng <fengli@smartx.com>
Date: Thu, 14 Oct 2021 20:40:08 +0800
Subject: [PATCH] vhost: add sanity check on inflight last index

[ upstream commit 5a4fbe79e6d124141bd0a820c897287b15c559c4 ]

The index in rte_vhost_set_last_inflight_io_split is from
the frontend driver, check if it's in the virtqueue range.

Fixes: bb0c2de9602b ("vhost: add APIs to operate inflight ring")

Signed-off-by: Li Feng <fengli@smartx.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 lib/librte_vhost/vhost.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/librte_vhost/vhost.c b/lib/librte_vhost/vhost.c
index b876e81dbd..bb86e02d1e 100644
--- a/lib/librte_vhost/vhost.c
+++ b/lib/librte_vhost/vhost.c
@@ -1174,6 +1174,9 @@ rte_vhost_set_last_inflight_io_split(int vid, uint16_t vring_idx,
 	if (unlikely(!vq->inflight_split))
 		return -1;
 
+	if (unlikely(idx >= vq->size))
+		return -1;
+
 	vq->inflight_split->last_inflight_io = idx;
 	return 0;
 }
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:11.312031076 +0100
+++ 0093-vhost-add-sanity-check-on-inflight-last-index.patch	2021-11-30 16:50:05.890874264 +0100
@@ -1 +1 @@
-From 5a4fbe79e6d124141bd0a820c897287b15c559c4 Mon Sep 17 00:00:00 2001
+From 27c4b8065e4c15f816d3fcf93b602f3b9e4c7e24 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 5a4fbe79e6d124141bd0a820c897287b15c559c4 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -15 +16 @@
- lib/vhost/vhost.c | 3 +++
+ lib/librte_vhost/vhost.c | 3 +++
@@ -18,5 +19,5 @@
-diff --git a/lib/vhost/vhost.c b/lib/vhost/vhost.c
-index 9540522dac..3b674ac320 100644
---- a/lib/vhost/vhost.c
-+++ b/lib/vhost/vhost.c
-@@ -1226,6 +1226,9 @@ rte_vhost_set_last_inflight_io_split(int vid, uint16_t vring_idx,
+diff --git a/lib/librte_vhost/vhost.c b/lib/librte_vhost/vhost.c
+index b876e81dbd..bb86e02d1e 100644
+--- a/lib/librte_vhost/vhost.c
++++ b/lib/librte_vhost/vhost.c
+@@ -1174,6 +1174,9 @@ rte_vhost_set_last_inflight_io_split(int vid, uint16_t vring_idx,

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

* patch 'ethdev: fix PCI device release in secondary process' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (91 preceding siblings ...)
  2021-11-30 16:34 ` patch 'vhost: add sanity check on inflight last index' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:34 ` patch 'test/event: fix timer adapter creation test' " christian.ehrhardt
                   ` (66 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Huisong Li; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/77153554589c77b9926fa85fcff37c5232a8e8ec

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 77153554589c77b9926fa85fcff37c5232a8e8ec Mon Sep 17 00:00:00 2001
From: Huisong Li <lihuisong@huawei.com>
Date: Thu, 21 Oct 2021 10:24:21 +0800
Subject: [PATCH] ethdev: fix PCI device release in secondary process

[ upstream commit 17faaed85449b58b209150906d2ad2cbfd853150 ]

In secondary process, rte_eth_dev_close() doesn't clear eth_dev->data.
If calling rte_dev_remove() after rte_eth_dev_close(), in
rte_eth_dev_pci_generic_remove() function, the released eth device still
can be found by its name in shared memory. As a result, the eth device
will be released repeatedly. The state of the eth device is modified to
RTE_ETH_DEV_UNUSED after rte_eth_dev_close(). So this state can be used
to avoid this problem.

Fixes: dcd5c8112bc3 ("ethdev: add PCI driver helpers")

Signed-off-by: Huisong Li <lihuisong@huawei.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 lib/librte_ethdev/rte_ethdev_pci.h | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/lib/librte_ethdev/rte_ethdev_pci.h b/lib/librte_ethdev/rte_ethdev_pci.h
index d44a8e2a39..7dae0d5a44 100644
--- a/lib/librte_ethdev/rte_ethdev_pci.h
+++ b/lib/librte_ethdev/rte_ethdev_pci.h
@@ -164,6 +164,16 @@ rte_eth_dev_pci_generic_remove(struct rte_pci_device *pci_dev,
 	if (!eth_dev)
 		return 0;
 
+	/*
+	 * In secondary process, a released eth device can be found by its name
+	 * in shared memory.
+	 * If the state of the eth device is RTE_ETH_DEV_UNUSED, it means the
+	 * eth device has been released.
+	 */
+	if (rte_eal_process_type() == RTE_PROC_SECONDARY &&
+	    eth_dev->state == RTE_ETH_DEV_UNUSED)
+		return 0;
+
 	if (dev_uninit) {
 		ret = dev_uninit(eth_dev);
 		if (ret)
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:11.358642521 +0100
+++ 0094-ethdev-fix-PCI-device-release-in-secondary-process.patch	2021-11-30 16:50:05.890874264 +0100
@@ -1 +1 @@
-From 17faaed85449b58b209150906d2ad2cbfd853150 Mon Sep 17 00:00:00 2001
+From 77153554589c77b9926fa85fcff37c5232a8e8ec Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 17faaed85449b58b209150906d2ad2cbfd853150 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
- lib/ethdev/ethdev_pci.h | 10 ++++++++++
+ lib/librte_ethdev/rte_ethdev_pci.h | 10 ++++++++++
@@ -23,5 +24,5 @@
-diff --git a/lib/ethdev/ethdev_pci.h b/lib/ethdev/ethdev_pci.h
-index 12015b6b87..59c5d7b40f 100644
---- a/lib/ethdev/ethdev_pci.h
-+++ b/lib/ethdev/ethdev_pci.h
-@@ -151,6 +151,16 @@ rte_eth_dev_pci_generic_remove(struct rte_pci_device *pci_dev,
+diff --git a/lib/librte_ethdev/rte_ethdev_pci.h b/lib/librte_ethdev/rte_ethdev_pci.h
+index d44a8e2a39..7dae0d5a44 100644
+--- a/lib/librte_ethdev/rte_ethdev_pci.h
++++ b/lib/librte_ethdev/rte_ethdev_pci.h
+@@ -164,6 +164,16 @@ rte_eth_dev_pci_generic_remove(struct rte_pci_device *pci_dev,

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

* patch 'test/event: fix timer adapter creation test' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (92 preceding siblings ...)
  2021-11-30 16:34 ` patch 'ethdev: fix PCI device release in secondary process' " christian.ehrhardt
@ 2021-11-30 16:34 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'kni: fix build for SLES15-SP3' " christian.ehrhardt
                   ` (65 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:34 UTC (permalink / raw)
  To: Shijith Thotton; +Cc: Erik Gabriel Carrillo, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From b154202754dc960cdf5fd4ab0447fb82797f0d23 Mon Sep 17 00:00:00 2001
From: Shijith Thotton <sthotton@marvell.com>
Date: Tue, 31 Aug 2021 01:42:59 +0530
Subject: [PATCH] test/event: fix timer adapter creation test

[ upstream commit e6cb7e70dfc58f21739fc67d91d1af49266e0b71 ]

Removed freeing of unallocated mempool in event timer adapter create
unit test.

Fixes: d1f3385d0076 ("test: add event timer adapter auto-test")

Signed-off-by: Shijith Thotton <sthotton@marvell.com>
Acked-by: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>
---
 app/test/test_event_timer_adapter.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/app/test/test_event_timer_adapter.c b/app/test/test_event_timer_adapter.c
index b536ddef40..efd86cad58 100644
--- a/app/test/test_event_timer_adapter.c
+++ b/app/test/test_event_timer_adapter.c
@@ -966,8 +966,6 @@ adapter_create(void)
 	TEST_ASSERT_SUCCESS(rte_event_timer_adapter_free(adapter),
 			"Failed to free adapter");
 
-	rte_mempool_free(eventdev_test_mempool);
-
 	return TEST_SUCCESS;
 }
 
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:11.409987485 +0100
+++ 0095-test-event-fix-timer-adapter-creation-test.patch	2021-11-30 16:50:05.894874293 +0100
@@ -1 +1 @@
-From e6cb7e70dfc58f21739fc67d91d1af49266e0b71 Mon Sep 17 00:00:00 2001
+From b154202754dc960cdf5fd4ab0447fb82797f0d23 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e6cb7e70dfc58f21739fc67d91d1af49266e0b71 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 121c2d93e8..12c00e678e 100644
+index b536ddef40..efd86cad58 100644
@@ -22 +23 @@
-@@ -1070,8 +1070,6 @@ adapter_create(void)
+@@ -966,8 +966,6 @@ adapter_create(void)

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

* patch 'kni: fix build for SLES15-SP3' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (93 preceding siblings ...)
  2021-11-30 16:34 ` patch 'test/event: fix timer adapter creation test' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'doc: fix default mempool option in guides' " christian.ehrhardt
                   ` (64 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Aman Singh; +Cc: Ferruh Yigit, Longfeng Liang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/6c8f6b72f28c713a7017d0db9ce95b2377ce4366

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 6c8f6b72f28c713a7017d0db9ce95b2377ce4366 Mon Sep 17 00:00:00 2001
From: Aman Singh <aman.deep.singh@intel.com>
Date: Tue, 19 Oct 2021 11:48:41 +0100
Subject: [PATCH] kni: fix build for SLES15-SP3

[ upstream commit c28e2165ec360c39ea0e3a0c02b4229966697384 ]

As suse version numbering is inconsistent to determine Linux kernel
API to be used. In this patch we check parameter of 'ndo_tx_timeout'
API directly from the kernel source. This is done only for suse build.

Bugzilla ID: 812

Signed-off-by: Aman Singh <aman.deep.singh@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Tested-by: Longfeng Liang <longfengx.liang@intel.com>
---
 kernel/linux/kni/compat.h    |  3 ++-
 kernel/linux/kni/meson.build | 14 +++++++++++++-
 kernel/linux/meson.build     |  5 +++++
 3 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/kernel/linux/kni/compat.h b/kernel/linux/kni/compat.h
index 5f65640d5e..664785674f 100644
--- a/kernel/linux/kni/compat.h
+++ b/kernel/linux/kni/compat.h
@@ -133,7 +133,8 @@
 
 #if KERNEL_VERSION(5, 6, 0) <= LINUX_VERSION_CODE || \
 	(defined(RHEL_RELEASE_CODE) && \
-	 RHEL_RELEASE_VERSION(8, 3) <= RHEL_RELEASE_CODE)
+	 RHEL_RELEASE_VERSION(8, 3) <= RHEL_RELEASE_CODE) || \
+	 (defined(CONFIG_SUSE_KERNEL) && defined(HAVE_ARG_TX_QUEUE))
 #define HAVE_TX_TIMEOUT_TXQUEUE
 #endif
 
diff --git a/kernel/linux/kni/meson.build b/kernel/linux/kni/meson.build
index f93e97fa09..679fdf4f51 100644
--- a/kernel/linux/kni/meson.build
+++ b/kernel/linux/kni/meson.build
@@ -1,6 +1,17 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
 
+# For SUSE build check function arguments of ndo_tx_timeout API
+# Ref: https://jira.devtools.intel.com/browse/DPDK-29263
+kmod_cflags = ''
+file_path = kernel_source_dir + '/include/linux/netdevice.h'
+run_cmd = run_command('grep', 'ndo_tx_timeout', file_path)
+
+if run_cmd.stdout().contains('txqueue') == true
+   kmod_cflags = '-DHAVE_ARG_TX_QUEUE'
+endif
+
+
 kni_mkfile = custom_target('rte_kni_makefile',
 	output: 'Makefile',
 	command: ['touch', '@OUTPUT@'])
@@ -16,7 +27,8 @@ custom_target('rte_kni',
 	command: ['make', '-j4', '-C', kernel_dir + '/build',
 		'M=' + meson.current_build_dir(),
 		'src=' + meson.current_source_dir(),
-		'MODULE_CFLAGS=-include ' + meson.source_root() + '/config/rte_config.h' +
+		' '.join(['MODULE_CFLAGS=', kmod_cflags,'-include '])
+		+ meson.source_root() + '/config/rte_config.h' +
 		' -I' + meson.source_root() + '/lib/librte_eal/common/include' +
 		' -I' + meson.source_root() + '/lib/librte_eal/linux/eal/include' +
 		' -I' + meson.build_root() +
diff --git a/kernel/linux/meson.build b/kernel/linux/meson.build
index 1796cc6861..cd74739905 100644
--- a/kernel/linux/meson.build
+++ b/kernel/linux/meson.build
@@ -10,10 +10,15 @@ if get_option('kernel_dir') == '' and meson.is_cross_build()
 endif
 
 kernel_dir = get_option('kernel_dir')
+kernel_source_dir = get_option('kernel_dir')
 if kernel_dir == ''
 	# use default path for native builds
 	kernel_version = run_command('uname', '-r').stdout().strip()
 	kernel_dir = '/lib/modules/' + kernel_version
+	if kernel_source_dir == ''
+		# use default path for native builds
+		kernel_source_dir = '/lib/modules/' + kernel_version + '/source'
+	endif
 endif
 
 # test running make in kernel directory, using "make kernelversion"
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:11.456823890 +0100
+++ 0096-kni-fix-build-for-SLES15-SP3.patch	2021-11-30 16:50:05.894874293 +0100
@@ -1 +1 @@
-From c28e2165ec360c39ea0e3a0c02b4229966697384 Mon Sep 17 00:00:00 2001
+From 6c8f6b72f28c713a7017d0db9ce95b2377ce4366 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c28e2165ec360c39ea0e3a0c02b4229966697384 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -37 +38 @@
-index c15c78b0b4..c683fc7b36 100644
+index f93e97fa09..679fdf4f51 100644
@@ -56,12 +57,12 @@
-         output: 'Makefile',
-         command: ['touch', '@OUTPUT@'])
-@@ -17,7 +28,8 @@ custom_target('rte_kni',
-         command: ['make', '-j4', '-C', kernel_build_dir,
-             'M=' + meson.current_build_dir(),
-             'src=' + meson.current_source_dir(),
--            'MODULE_CFLAGS=-include ' + meson.source_root() + '/config/rte_config.h' +
-+            ' '.join(['MODULE_CFLAGS=', kmod_cflags,'-include '])
-+            + meson.source_root() + '/config/rte_config.h' +
-             ' -I' + meson.source_root() + '/lib/eal/include' +
-             ' -I' + meson.source_root() + '/lib/kni' +
-             ' -I' + meson.build_root() +
+ 	output: 'Makefile',
+ 	command: ['touch', '@OUTPUT@'])
+@@ -16,7 +27,8 @@ custom_target('rte_kni',
+ 	command: ['make', '-j4', '-C', kernel_dir + '/build',
+ 		'M=' + meson.current_build_dir(),
+ 		'src=' + meson.current_source_dir(),
+-		'MODULE_CFLAGS=-include ' + meson.source_root() + '/config/rte_config.h' +
++		' '.join(['MODULE_CFLAGS=', kmod_cflags,'-include '])
++		+ meson.source_root() + '/config/rte_config.h' +
+ 		' -I' + meson.source_root() + '/lib/librte_eal/common/include' +
+ 		' -I' + meson.source_root() + '/lib/librte_eal/linux/eal/include' +
+ 		' -I' + meson.build_root() +
@@ -69 +70 @@
-index 3a00ea954c..0637452e95 100644
+index 1796cc6861..cd74739905 100644
@@ -72,2 +73,2 @@
-@@ -4,6 +4,7 @@
- subdirs = ['kni']
+@@ -10,10 +10,15 @@ if get_option('kernel_dir') == '' and meson.is_cross_build()
+ endif
@@ -75 +76 @@
- kernel_build_dir = get_option('kernel_dir')
+ kernel_dir = get_option('kernel_dir')
@@ -77,11 +78,9 @@
- kernel_install_dir = ''
- install = not meson.is_cross_build()
- cross_args = []
-@@ -16,6 +17,10 @@ if not meson.is_cross_build()
-         # use default path for native builds
-         kernel_build_dir = '/lib/modules/' + kernel_version + '/build'
-     endif
-+    if kernel_source_dir == ''
-+        # use default path for native builds
-+        kernel_source_dir = '/lib/modules/' + kernel_version + '/source'
-+    endif
+ if kernel_dir == ''
+ 	# use default path for native builds
+ 	kernel_version = run_command('uname', '-r').stdout().strip()
+ 	kernel_dir = '/lib/modules/' + kernel_version
++	if kernel_source_dir == ''
++		# use default path for native builds
++		kernel_source_dir = '/lib/modules/' + kernel_version + '/source'
++	endif
+ endif
@@ -89,2 +88 @@
-     # test running make in kernel directory, using "make kernelversion"
-     make_returncode = run_command('make', '-sC', kernel_build_dir,
+ # test running make in kernel directory, using "make kernelversion"

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

* patch 'doc: fix default mempool option in guides' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (94 preceding siblings ...)
  2021-11-30 16:35 ` patch 'kni: fix build for SLES15-SP3' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'net: avoid cast-align warning in VLAN insert function' " christian.ehrhardt
                   ` (63 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: David Marchand; +Cc: Olivier Matz, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From e856790c5fcb542781b24114176c76933a080b42 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Fri, 15 Oct 2021 10:39:41 +0200
Subject: [PATCH] doc: fix default mempool option in guides

[ upstream commit 65c2bbf41f2258fea8e1639a86598f48d8251756 ]

This option should be prefixed with -- for consistency with others.

Fixes: a103a97e7191 ("eal: allow user to override default mempool driver")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Olivier Matz <olivier.matz@6wind.com>
---
 doc/guides/freebsd_gsg/build_sample_apps.rst | 2 +-
 doc/guides/linux_gsg/build_sample_apps.rst   | 2 +-
 doc/guides/linux_gsg/eal_args.include.rst    | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/doc/guides/freebsd_gsg/build_sample_apps.rst b/doc/guides/freebsd_gsg/build_sample_apps.rst
index 0c1b9cb79f..bd3ec8a923 100644
--- a/doc/guides/freebsd_gsg/build_sample_apps.rst
+++ b/doc/guides/freebsd_gsg/build_sample_apps.rst
@@ -139,7 +139,7 @@ Other options, specific to Linux and are not supported under FreeBSD are as foll
 *   ``--huge-dir``:
     The directory where hugetlbfs is mounted.
 
-*   ``mbuf-pool-ops-name``:
+*   ``--mbuf-pool-ops-name``:
     Pool ops name for mbuf to use.
 
 *   ``--file-prefix``:
diff --git a/doc/guides/linux_gsg/build_sample_apps.rst b/doc/guides/linux_gsg/build_sample_apps.rst
index 2c2f5faec5..8d2740b5f3 100644
--- a/doc/guides/linux_gsg/build_sample_apps.rst
+++ b/doc/guides/linux_gsg/build_sample_apps.rst
@@ -136,7 +136,7 @@ The EAL options are as follows:
 * ``--huge-dir``:
   The directory where hugetlbfs is mounted.
 
-* ``mbuf-pool-ops-name``:
+* ``--mbuf-pool-ops-name``:
   Pool ops name for mbuf to use.
 
 * ``--file-prefix``:
diff --git a/doc/guides/linux_gsg/eal_args.include.rst b/doc/guides/linux_gsg/eal_args.include.rst
index 7b2f6b1d43..56c19c9b00 100644
--- a/doc/guides/linux_gsg/eal_args.include.rst
+++ b/doc/guides/linux_gsg/eal_args.include.rst
@@ -147,6 +147,6 @@ Other options
 
     Display the version information on startup.
 
-*   ``mbuf-pool-ops-name``:
+*   ``--mbuf-pool-ops-name``:
 
     Pool ops name for mbuf to use.
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:11.509701229 +0100
+++ 0097-doc-fix-default-mempool-option-in-guides.patch	2021-11-30 16:50:05.894874293 +0100
@@ -1 +1 @@
-From 65c2bbf41f2258fea8e1639a86598f48d8251756 Mon Sep 17 00:00:00 2001
+From e856790c5fcb542781b24114176c76933a080b42 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 65c2bbf41f2258fea8e1639a86598f48d8251756 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 4fba671e4f..c87e982759 100644
+index 0c1b9cb79f..bd3ec8a923 100644
@@ -23 +24 @@
-@@ -88,7 +88,7 @@ Other options, specific to Linux and are not supported under FreeBSD are as foll
+@@ -139,7 +139,7 @@ Other options, specific to Linux and are not supported under FreeBSD are as foll
@@ -33 +34 @@
-index 709b301427..efd2dd23f1 100644
+index 2c2f5faec5..8d2740b5f3 100644
@@ -36 +37 @@
-@@ -82,7 +82,7 @@ The EAL options are as follows:
+@@ -136,7 +136,7 @@ The EAL options are as follows:
@@ -46 +47 @@
-index 96baa4a9b0..3549a0cf56 100644
+index 7b2f6b1d43..56c19c9b00 100644
@@ -49 +50 @@
-@@ -199,7 +199,7 @@ Other options
+@@ -147,6 +147,6 @@ Other options
@@ -57 +57,0 @@
- 

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

* patch 'net: avoid cast-align warning in VLAN insert function' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (95 preceding siblings ...)
  2021-11-30 16:35 ` patch 'doc: fix default mempool option in guides' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'mbuf: avoid cast-align warning in data offset macro' " christian.ehrhardt
                   ` (62 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Eli Britstein; +Cc: Olivier Matz, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 2cbe5b75dbea7ba4ee025f32887284ae77bca7d9 Mon Sep 17 00:00:00 2001
From: Eli Britstein <elibr@nvidia.com>
Date: Thu, 21 Oct 2021 11:51:30 +0300
Subject: [PATCH] net: avoid cast-align warning in VLAN insert function

[ upstream commit a3f8d05871887d257703f6f073da002b6c568519 ]

In rte_vlan_insert there is a casting of rte_pktmbuf_prepend returned
value to (struct rte_ether_hdr *), which causes cast-align warning when
using strict cast align flag with supporting gcc:
gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
CFLAGS="-Wcast-align=strict" make V=1 -C examples/l2fwd clean static

In file included from main.c:35:
/dpdk/build/include/rte_ether.h:370:7: warning: cast increases required
alignment of target type [-Wcast-align]
  370 |  nh = (struct rte_ether_hdr *)
      |       ^

As the code assumes correct alignment, add first a (void *) casting, to
avoid the warning.

Fixes: c974021a5949 ("ether: add soft vlan encap/decap")

Signed-off-by: Eli Britstein <elibr@nvidia.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
---
 lib/librte_net/rte_ether.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_net/rte_ether.h b/lib/librte_net/rte_ether.h
index e069dc7fe0..8a31988f21 100644
--- a/lib/librte_net/rte_ether.h
+++ b/lib/librte_net/rte_ether.h
@@ -358,7 +358,7 @@ static inline int rte_vlan_insert(struct rte_mbuf **m)
 		return -EINVAL;
 
 	oh = rte_pktmbuf_mtod(*m, struct rte_ether_hdr *);
-	nh = (struct rte_ether_hdr *)
+	nh = (struct rte_ether_hdr *)(void *)
 		rte_pktmbuf_prepend(*m, sizeof(struct rte_vlan_hdr));
 	if (nh == NULL)
 		return -ENOSPC;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:11.558666342 +0100
+++ 0098-net-avoid-cast-align-warning-in-VLAN-insert-function.patch	2021-11-30 16:50:05.894874293 +0100
@@ -1 +1 @@
-From a3f8d05871887d257703f6f073da002b6c568519 Mon Sep 17 00:00:00 2001
+From 2cbe5b75dbea7ba4ee025f32887284ae77bca7d9 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a3f8d05871887d257703f6f073da002b6c568519 ]
+
@@ -22 +23,0 @@
-Cc: stable@dpdk.org
@@ -27 +28 @@
- lib/net/rte_ether.h | 2 +-
+ lib/librte_net/rte_ether.h | 2 +-
@@ -30,5 +31,5 @@
-diff --git a/lib/net/rte_ether.h b/lib/net/rte_ether.h
-index 2c7da55b6b..1a0dbf0d60 100644
---- a/lib/net/rte_ether.h
-+++ b/lib/net/rte_ether.h
-@@ -367,7 +367,7 @@ static inline int rte_vlan_insert(struct rte_mbuf **m)
+diff --git a/lib/librte_net/rte_ether.h b/lib/librte_net/rte_ether.h
+index e069dc7fe0..8a31988f21 100644
+--- a/lib/librte_net/rte_ether.h
++++ b/lib/librte_net/rte_ether.h
+@@ -358,7 +358,7 @@ static inline int rte_vlan_insert(struct rte_mbuf **m)

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

* patch 'mbuf: avoid cast-align warning in data offset macro' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (96 preceding siblings ...)
  2021-11-30 16:35 ` patch 'net: avoid cast-align warning in VLAN insert function' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'eal/x86: avoid cast-align warning in memcpy functions' " christian.ehrhardt
                   ` (61 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Eli Britstein; +Cc: Olivier Matz, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/6c88235a91df0cc538d8035870eb8fbdb52e0b55

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 6c88235a91df0cc538d8035870eb8fbdb52e0b55 Mon Sep 17 00:00:00 2001
From: Eli Britstein <elibr@nvidia.com>
Date: Thu, 21 Oct 2021 11:51:31 +0300
Subject: [PATCH] mbuf: avoid cast-align warning in data offset macro

[ upstream commit da0333c8790b365c6aa8665888a20253c4166bfe ]

In rte_pktmbuf_mtod_offset macro, there is a casting from char * to type
't', which may cause cast-align warning when using strict cast align
flag with supporting gcc:
gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
CFLAGS="-Wcast-align=strict" make V=1 -C examples/l2fwd clean static

main.c: In function 'l2fwd_mac_updating':
/dpdk/build/include/rte_mbuf_core.h:719:3: warning: cast increases
required alignment of target type [-Wcast-align]
  719 |  ((t)((char *)(m)->buf_addr + (m)->data_off + (o)))
      |   ^
/dpdk/build/include/rte_mbuf_core.h:733:32: note: in expansion of macro
'rte_pktmbuf_mtod_offset'
  733 | #define rte_pktmbuf_mtod(m, t) rte_pktmbuf_mtod_offset(m, t, 0)
      |                                ^~~~~~~~~~~~~~~~~~~~~~~

As the code assumes correct alignment, add first a (void *) casting, to
avoid the warning.

Fixes: af75078fece3 ("first public release")

Signed-off-by: Eli Britstein <elibr@nvidia.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
---
 lib/librte_mbuf/rte_mbuf_core.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_mbuf/rte_mbuf_core.h b/lib/librte_mbuf/rte_mbuf_core.h
index e7f38422e7..b97b811366 100644
--- a/lib/librte_mbuf/rte_mbuf_core.h
+++ b/lib/librte_mbuf/rte_mbuf_core.h
@@ -739,7 +739,7 @@ struct rte_mbuf_ext_shared_info {
  *   The type to cast the result into.
  */
 #define rte_pktmbuf_mtod_offset(m, t, o)	\
-	((t)((char *)(m)->buf_addr + (m)->data_off + (o)))
+	((t)(void *)((char *)(m)->buf_addr + (m)->data_off + (o)))
 
 /**
  * A macro that points to the start of the data in the mbuf.
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:11.606680909 +0100
+++ 0099-mbuf-avoid-cast-align-warning-in-data-offset-macro.patch	2021-11-30 16:50:05.898874322 +0100
@@ -1 +1 @@
-From da0333c8790b365c6aa8665888a20253c4166bfe Mon Sep 17 00:00:00 2001
+From 6c88235a91df0cc538d8035870eb8fbdb52e0b55 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit da0333c8790b365c6aa8665888a20253c4166bfe ]
+
@@ -26 +27,0 @@
-Cc: stable@dpdk.org
@@ -31 +32 @@
- lib/mbuf/rte_mbuf_core.h | 2 +-
+ lib/librte_mbuf/rte_mbuf_core.h | 2 +-
@@ -34,5 +35,5 @@
-diff --git a/lib/mbuf/rte_mbuf_core.h b/lib/mbuf/rte_mbuf_core.h
-index 117a72a134..321a419c71 100644
---- a/lib/mbuf/rte_mbuf_core.h
-+++ b/lib/mbuf/rte_mbuf_core.h
-@@ -823,7 +823,7 @@ struct rte_mbuf_ext_shared_info {
+diff --git a/lib/librte_mbuf/rte_mbuf_core.h b/lib/librte_mbuf/rte_mbuf_core.h
+index e7f38422e7..b97b811366 100644
+--- a/lib/librte_mbuf/rte_mbuf_core.h
++++ b/lib/librte_mbuf/rte_mbuf_core.h
+@@ -739,7 +739,7 @@ struct rte_mbuf_ext_shared_info {

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

* patch 'eal/x86: avoid cast-align warning in memcpy functions' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (97 preceding siblings ...)
  2021-11-30 16:35 ` patch 'mbuf: avoid cast-align warning in data offset macro' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'eal: reset lcore task callback and argument' " christian.ehrhardt
                   ` (60 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Eli Britstein; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/545b8e9ee5faaa4983cffc669c743fe372a75263

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 545b8e9ee5faaa4983cffc669c743fe372a75263 Mon Sep 17 00:00:00 2001
From: Eli Britstein <elibr@nvidia.com>
Date: Thu, 21 Oct 2021 11:51:32 +0300
Subject: [PATCH] eal/x86: avoid cast-align warning in memcpy functions

[ upstream commit 6de430b7079e8f7c29f9c18869393f74f8dffcb6 ]

Functions and macros in x86 rte_memcpy.h may cause cast-align warnings,
when using strict cast align flag with supporting gcc:
gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
CFLAGS="-Wcast-align=strict" make V=1 -C examples/l2fwd clean static

For example:
In file included from main.c:24:
/dpdk/build/include/rte_memcpy.h: In function 'rte_mov16':
/dpdk/build/include/rte_memcpy.h:306:25: warning: cast increases
required alignment of target type [-Wcast-align]
  306 |  xmm0 = _mm_loadu_si128((const __m128i *)src);
      |                         ^

As the code assumes correct alignment, add first a (void *) or (const
void *) castings, to avoid the warnings.

Fixes: 9484092baad3 ("eal/x86: optimize memcpy for AVX512 platforms")

Signed-off-by: Eli Britstein <elibr@nvidia.com>
---
 .../common/include/arch/x86/rte_memcpy.h      | 80 ++++++++++---------
 1 file changed, 44 insertions(+), 36 deletions(-)

diff --git a/lib/librte_eal/common/include/arch/x86/rte_memcpy.h b/lib/librte_eal/common/include/arch/x86/rte_memcpy.h
index d01832fa15..f1751dd41c 100644
--- a/lib/librte_eal/common/include/arch/x86/rte_memcpy.h
+++ b/lib/librte_eal/common/include/arch/x86/rte_memcpy.h
@@ -303,8 +303,8 @@ rte_mov16(uint8_t *dst, const uint8_t *src)
 {
 	__m128i xmm0;
 
-	xmm0 = _mm_loadu_si128((const __m128i *)src);
-	_mm_storeu_si128((__m128i *)dst, xmm0);
+	xmm0 = _mm_loadu_si128((const __m128i *)(const void *)src);
+	_mm_storeu_si128((__m128i *)(void *)dst, xmm0);
 }
 
 /**
@@ -316,8 +316,8 @@ rte_mov32(uint8_t *dst, const uint8_t *src)
 {
 	__m256i ymm0;
 
-	ymm0 = _mm256_loadu_si256((const __m256i *)src);
-	_mm256_storeu_si256((__m256i *)dst, ymm0);
+	ymm0 = _mm256_loadu_si256((const __m256i *)(const void *)src);
+	_mm256_storeu_si256((__m256i *)(void *)dst, ymm0);
 }
 
 /**
@@ -354,16 +354,24 @@ rte_mov128blocks(uint8_t *dst, const uint8_t *src, size_t n)
 	__m256i ymm0, ymm1, ymm2, ymm3;
 
 	while (n >= 128) {
-		ymm0 = _mm256_loadu_si256((const __m256i *)((const uint8_t *)src + 0 * 32));
+		ymm0 = _mm256_loadu_si256((const __m256i *)(const void *)
+					  ((const uint8_t *)src + 0 * 32));
 		n -= 128;
-		ymm1 = _mm256_loadu_si256((const __m256i *)((const uint8_t *)src + 1 * 32));
-		ymm2 = _mm256_loadu_si256((const __m256i *)((const uint8_t *)src + 2 * 32));
-		ymm3 = _mm256_loadu_si256((const __m256i *)((const uint8_t *)src + 3 * 32));
+		ymm1 = _mm256_loadu_si256((const __m256i *)(const void *)
+					  ((const uint8_t *)src + 1 * 32));
+		ymm2 = _mm256_loadu_si256((const __m256i *)(const void *)
+					  ((const uint8_t *)src + 2 * 32));
+		ymm3 = _mm256_loadu_si256((const __m256i *)(const void *)
+					  ((const uint8_t *)src + 3 * 32));
 		src = (const uint8_t *)src + 128;
-		_mm256_storeu_si256((__m256i *)((uint8_t *)dst + 0 * 32), ymm0);
-		_mm256_storeu_si256((__m256i *)((uint8_t *)dst + 1 * 32), ymm1);
-		_mm256_storeu_si256((__m256i *)((uint8_t *)dst + 2 * 32), ymm2);
-		_mm256_storeu_si256((__m256i *)((uint8_t *)dst + 3 * 32), ymm3);
+		_mm256_storeu_si256((__m256i *)(void *)
+				    ((uint8_t *)dst + 0 * 32), ymm0);
+		_mm256_storeu_si256((__m256i *)(void *)
+				    ((uint8_t *)dst + 1 * 32), ymm1);
+		_mm256_storeu_si256((__m256i *)(void *)
+				    ((uint8_t *)dst + 2 * 32), ymm2);
+		_mm256_storeu_si256((__m256i *)(void *)
+				    ((uint8_t *)dst + 3 * 32), ymm3);
 		dst = (uint8_t *)dst + 128;
 	}
 }
@@ -496,8 +504,8 @@ rte_mov16(uint8_t *dst, const uint8_t *src)
 {
 	__m128i xmm0;
 
-	xmm0 = _mm_loadu_si128((const __m128i *)(const __m128i *)src);
-	_mm_storeu_si128((__m128i *)dst, xmm0);
+	xmm0 = _mm_loadu_si128((const __m128i *)(const void *)src);
+	_mm_storeu_si128((__m128i *)(void *)dst, xmm0);
 }
 
 /**
@@ -581,25 +589,25 @@ rte_mov256(uint8_t *dst, const uint8_t *src)
 __extension__ ({                                                                                            \
     size_t tmp;                                                                                                \
     while (len >= 128 + 16 - offset) {                                                                      \
-        xmm0 = _mm_loadu_si128((const __m128i *)((const uint8_t *)src - offset + 0 * 16));                  \
+        xmm0 = _mm_loadu_si128((const __m128i *)(const void *)((const uint8_t *)src - offset + 0 * 16));                  \
         len -= 128;                                                                                         \
-        xmm1 = _mm_loadu_si128((const __m128i *)((const uint8_t *)src - offset + 1 * 16));                  \
-        xmm2 = _mm_loadu_si128((const __m128i *)((const uint8_t *)src - offset + 2 * 16));                  \
-        xmm3 = _mm_loadu_si128((const __m128i *)((const uint8_t *)src - offset + 3 * 16));                  \
-        xmm4 = _mm_loadu_si128((const __m128i *)((const uint8_t *)src - offset + 4 * 16));                  \
-        xmm5 = _mm_loadu_si128((const __m128i *)((const uint8_t *)src - offset + 5 * 16));                  \
-        xmm6 = _mm_loadu_si128((const __m128i *)((const uint8_t *)src - offset + 6 * 16));                  \
-        xmm7 = _mm_loadu_si128((const __m128i *)((const uint8_t *)src - offset + 7 * 16));                  \
-        xmm8 = _mm_loadu_si128((const __m128i *)((const uint8_t *)src - offset + 8 * 16));                  \
+        xmm1 = _mm_loadu_si128((const __m128i *)(const void *)((const uint8_t *)src - offset + 1 * 16));                  \
+        xmm2 = _mm_loadu_si128((const __m128i *)(const void *)((const uint8_t *)src - offset + 2 * 16));                  \
+        xmm3 = _mm_loadu_si128((const __m128i *)(const void *)((const uint8_t *)src - offset + 3 * 16));                  \
+        xmm4 = _mm_loadu_si128((const __m128i *)(const void *)((const uint8_t *)src - offset + 4 * 16));                  \
+        xmm5 = _mm_loadu_si128((const __m128i *)(const void *)((const uint8_t *)src - offset + 5 * 16));                  \
+        xmm6 = _mm_loadu_si128((const __m128i *)(const void *)((const uint8_t *)src - offset + 6 * 16));                  \
+        xmm7 = _mm_loadu_si128((const __m128i *)(const void *)((const uint8_t *)src - offset + 7 * 16));                  \
+        xmm8 = _mm_loadu_si128((const __m128i *)(const void *)((const uint8_t *)src - offset + 8 * 16));                  \
         src = (const uint8_t *)src + 128;                                                                   \
-        _mm_storeu_si128((__m128i *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
-        _mm_storeu_si128((__m128i *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
-        _mm_storeu_si128((__m128i *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
-        _mm_storeu_si128((__m128i *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
-        _mm_storeu_si128((__m128i *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
-        _mm_storeu_si128((__m128i *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
-        _mm_storeu_si128((__m128i *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
-        _mm_storeu_si128((__m128i *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
+        _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));        \
+        _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));        \
+        _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 2 * 16), _mm_alignr_epi8(xmm3, xmm2, offset));        \
+        _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 3 * 16), _mm_alignr_epi8(xmm4, xmm3, offset));        \
+        _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 4 * 16), _mm_alignr_epi8(xmm5, xmm4, offset));        \
+        _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 5 * 16), _mm_alignr_epi8(xmm6, xmm5, offset));        \
+        _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 6 * 16), _mm_alignr_epi8(xmm7, xmm6, offset));        \
+        _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 7 * 16), _mm_alignr_epi8(xmm8, xmm7, offset));        \
         dst = (uint8_t *)dst + 128;                                                                         \
     }                                                                                                       \
     tmp = len;                                                                                              \
@@ -609,13 +617,13 @@ __extension__ ({
     dst = (uint8_t *)dst + tmp;                                                                             \
     if (len >= 32 + 16 - offset) {                                                                          \
         while (len >= 32 + 16 - offset) {                                                                   \
-            xmm0 = _mm_loadu_si128((const __m128i *)((const uint8_t *)src - offset + 0 * 16));              \
+            xmm0 = _mm_loadu_si128((const __m128i *)(const void *)((const uint8_t *)src - offset + 0 * 16));              \
             len -= 32;                                                                                      \
-            xmm1 = _mm_loadu_si128((const __m128i *)((const uint8_t *)src - offset + 1 * 16));              \
-            xmm2 = _mm_loadu_si128((const __m128i *)((const uint8_t *)src - offset + 2 * 16));              \
+            xmm1 = _mm_loadu_si128((const __m128i *)(const void *)((const uint8_t *)src - offset + 1 * 16));              \
+            xmm2 = _mm_loadu_si128((const __m128i *)(const void *)((const uint8_t *)src - offset + 2 * 16));              \
             src = (const uint8_t *)src + 32;                                                                \
-            _mm_storeu_si128((__m128i *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
-            _mm_storeu_si128((__m128i *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
+            _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 0 * 16), _mm_alignr_epi8(xmm1, xmm0, offset));    \
+            _mm_storeu_si128((__m128i *)(void *)((uint8_t *)dst + 1 * 16), _mm_alignr_epi8(xmm2, xmm1, offset));    \
             dst = (uint8_t *)dst + 32;                                                                      \
         }                                                                                                   \
         tmp = len;                                                                                          \
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:11.658164101 +0100
+++ 0100-eal-x86-avoid-cast-align-warning-in-memcpy-functions.patch	2021-11-30 16:50:05.898874322 +0100
@@ -1 +1 @@
-From 6de430b7079e8f7c29f9c18869393f74f8dffcb6 Mon Sep 17 00:00:00 2001
+From 545b8e9ee5faaa4983cffc669c743fe372a75263 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 6de430b7079e8f7c29f9c18869393f74f8dffcb6 ]
+
@@ -23 +24,0 @@
-Cc: stable@dpdk.org
@@ -27 +28 @@
- lib/eal/x86/include/rte_memcpy.h | 80 ++++++++++++++++++--------------
+ .../common/include/arch/x86/rte_memcpy.h      | 80 ++++++++++---------
@@ -30,4 +31,4 @@
-diff --git a/lib/eal/x86/include/rte_memcpy.h b/lib/eal/x86/include/rte_memcpy.h
-index 79f381dd9b..1b6c6e585f 100644
---- a/lib/eal/x86/include/rte_memcpy.h
-+++ b/lib/eal/x86/include/rte_memcpy.h
+diff --git a/lib/librte_eal/common/include/arch/x86/rte_memcpy.h b/lib/librte_eal/common/include/arch/x86/rte_memcpy.h
+index d01832fa15..f1751dd41c 100644
+--- a/lib/librte_eal/common/include/arch/x86/rte_memcpy.h
++++ b/lib/librte_eal/common/include/arch/x86/rte_memcpy.h

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

* patch 'eal: reset lcore task callback and argument' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (98 preceding siblings ...)
  2021-11-30 16:35 ` patch 'eal/x86: avoid cast-align warning in memcpy functions' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'hash: fix Doxygen comment of Toeplitz file' " christian.ehrhardt
                   ` (59 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Honnappa Nagarahalli; +Cc: Ruifeng Wang, Feifei Wang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 7cc60830205def25283b1be27ae5ab0f7dc6a8e6 Mon Sep 17 00:00:00 2001
From: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Date: Sun, 24 Oct 2021 23:52:34 -0500
Subject: [PATCH] eal: reset lcore task callback and argument

[ upstream commit 33969e9c61385fc397f1934324e231ece9750404 ]

In the rte_eal_remote_launch function, the lcore function
pointer is checked for NULL. However, the pointer is never
reset to NULL. Reset the lcore function pointer and argument
after the worker has completed executing the lcore function.

Fixes: af75078fece3 ("first public release")

Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Feifei Wang <feifei.wang2@arm.com>
---
 lib/librte_eal/freebsd/eal/eal_thread.c | 2 ++
 lib/librte_eal/linux/eal/eal_thread.c   | 2 ++
 lib/librte_eal/windows/eal/eal_thread.c | 2 ++
 3 files changed, 6 insertions(+)

diff --git a/lib/librte_eal/freebsd/eal/eal_thread.c b/lib/librte_eal/freebsd/eal/eal_thread.c
index 309b587266..76992e2164 100644
--- a/lib/librte_eal/freebsd/eal/eal_thread.c
+++ b/lib/librte_eal/freebsd/eal/eal_thread.c
@@ -152,6 +152,8 @@ eal_thread_loop(__attribute__((unused)) void *arg)
 		fct_arg = lcore_config[lcore_id].arg;
 		ret = lcore_config[lcore_id].f(fct_arg);
 		lcore_config[lcore_id].ret = ret;
+		lcore_config[lcore_id].f = NULL;
+		lcore_config[lcore_id].arg = NULL;
 		rte_wmb();
 		lcore_config[lcore_id].state = FINISHED;
 	}
diff --git a/lib/librte_eal/linux/eal/eal_thread.c b/lib/librte_eal/linux/eal/eal_thread.c
index 379773b683..4f7d97a0d2 100644
--- a/lib/librte_eal/linux/eal/eal_thread.c
+++ b/lib/librte_eal/linux/eal/eal_thread.c
@@ -152,6 +152,8 @@ eal_thread_loop(__attribute__((unused)) void *arg)
 		fct_arg = lcore_config[lcore_id].arg;
 		ret = lcore_config[lcore_id].f(fct_arg);
 		lcore_config[lcore_id].ret = ret;
+		lcore_config[lcore_id].f = NULL;
+		lcore_config[lcore_id].arg = NULL;
 		rte_wmb();
 
 		/* when a service core returns, it should go directly to WAIT
diff --git a/lib/librte_eal/windows/eal/eal_thread.c b/lib/librte_eal/windows/eal/eal_thread.c
index af1e7fe2ea..90797edb6d 100644
--- a/lib/librte_eal/windows/eal/eal_thread.c
+++ b/lib/librte_eal/windows/eal/eal_thread.c
@@ -124,6 +124,8 @@ eal_thread_loop(void *arg __rte_unused)
 		fct_arg = lcore_config[lcore_id].arg;
 		ret = lcore_config[lcore_id].f(fct_arg);
 		lcore_config[lcore_id].ret = ret;
+		lcore_config[lcore_id].f = NULL;
+		lcore_config[lcore_id].arg = NULL;
 		rte_wmb();
 
 		/* when a service core returns, it should go directly to WAIT
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:11.706181823 +0100
+++ 0101-eal-reset-lcore-task-callback-and-argument.patch	2021-11-30 16:50:05.902874352 +0100
@@ -1 +1 @@
-From 33969e9c61385fc397f1934324e231ece9750404 Mon Sep 17 00:00:00 2001
+From 7cc60830205def25283b1be27ae5ab0f7dc6a8e6 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 33969e9c61385fc397f1934324e231ece9750404 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -18,3 +19,3 @@
- lib/eal/freebsd/eal_thread.c | 2 ++
- lib/eal/linux/eal_thread.c   | 2 ++
- lib/eal/windows/eal_thread.c | 2 ++
+ lib/librte_eal/freebsd/eal/eal_thread.c | 2 ++
+ lib/librte_eal/linux/eal/eal_thread.c   | 2 ++
+ lib/librte_eal/windows/eal/eal_thread.c | 2 ++
@@ -23,5 +24,5 @@
-diff --git a/lib/eal/freebsd/eal_thread.c b/lib/eal/freebsd/eal_thread.c
-index 1dce9b04f2..bbc3a8e985 100644
---- a/lib/eal/freebsd/eal_thread.c
-+++ b/lib/eal/freebsd/eal_thread.c
-@@ -126,6 +126,8 @@ eal_thread_loop(__rte_unused void *arg)
+diff --git a/lib/librte_eal/freebsd/eal/eal_thread.c b/lib/librte_eal/freebsd/eal/eal_thread.c
+index 309b587266..76992e2164 100644
+--- a/lib/librte_eal/freebsd/eal/eal_thread.c
++++ b/lib/librte_eal/freebsd/eal/eal_thread.c
+@@ -152,6 +152,8 @@ eal_thread_loop(__attribute__((unused)) void *arg)
@@ -36,5 +37,5 @@
-diff --git a/lib/eal/linux/eal_thread.c b/lib/eal/linux/eal_thread.c
-index 83c2034b93..8f3c0dafd6 100644
---- a/lib/eal/linux/eal_thread.c
-+++ b/lib/eal/linux/eal_thread.c
-@@ -126,6 +126,8 @@ eal_thread_loop(__rte_unused void *arg)
+diff --git a/lib/librte_eal/linux/eal/eal_thread.c b/lib/librte_eal/linux/eal/eal_thread.c
+index 379773b683..4f7d97a0d2 100644
+--- a/lib/librte_eal/linux/eal/eal_thread.c
++++ b/lib/librte_eal/linux/eal/eal_thread.c
+@@ -152,6 +152,8 @@ eal_thread_loop(__attribute__((unused)) void *arg)
@@ -49,5 +50,5 @@
-diff --git a/lib/eal/windows/eal_thread.c b/lib/eal/windows/eal_thread.c
-index 9c3f6d69fd..df1df5d02c 100644
---- a/lib/eal/windows/eal_thread.c
-+++ b/lib/eal/windows/eal_thread.c
-@@ -110,6 +110,8 @@ eal_thread_loop(void *arg __rte_unused)
+diff --git a/lib/librte_eal/windows/eal/eal_thread.c b/lib/librte_eal/windows/eal/eal_thread.c
+index af1e7fe2ea..90797edb6d 100644
+--- a/lib/librte_eal/windows/eal/eal_thread.c
++++ b/lib/librte_eal/windows/eal/eal_thread.c
+@@ -124,6 +124,8 @@ eal_thread_loop(void *arg __rte_unused)

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

* patch 'hash: fix Doxygen comment of Toeplitz file' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (99 preceding siblings ...)
  2021-11-30 16:35 ` patch 'eal: reset lcore task callback and argument' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'lpm6: fix buffer overflow' " christian.ehrhardt
                   ` (58 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Vladimir Medvedkin; +Cc: John McNamara, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/8275a9c63942b2f2727ad6c7ba7f634f7cde58af

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 8275a9c63942b2f2727ad6c7ba7f634f7cde58af Mon Sep 17 00:00:00 2001
From: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Date: Mon, 6 Sep 2021 17:02:43 +0100
Subject: [PATCH] hash: fix Doxygen comment of Toeplitz file

[ upstream commit 45523f494c7b14a9d1066e3def78e9e6e0fd8418 ]

Fixes: 7574c3ef7428 ("hash: add toeplitz algorithm used by RSS")

Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
---
 lib/librte_hash/rte_thash.h | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/lib/librte_hash/rte_thash.h b/lib/librte_hash/rte_thash.h
index b4aaabe3d8..3b1128b0b7 100644
--- a/lib/librte_hash/rte_thash.h
+++ b/lib/librte_hash/rte_thash.h
@@ -8,20 +8,16 @@
 /**
  * @file
  *
- * toeplitz hash functions.
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
  * Software implementation of the Toeplitz hash function used by RSS.
  * Can be used either for packet distribution on single queue NIC
  * or for simulating of RSS computation on specific NIC (for example
  * after GRE header decapsulating)
  */
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #include <stdint.h>
 #include <rte_byteorder.h>
 #include <rte_config.h>
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:11.763934390 +0100
+++ 0102-hash-fix-Doxygen-comment-of-Toeplitz-file.patch	2021-11-30 16:50:05.902874352 +0100
@@ -1 +1 @@
-From 45523f494c7b14a9d1066e3def78e9e6e0fd8418 Mon Sep 17 00:00:00 2001
+From 8275a9c63942b2f2727ad6c7ba7f634f7cde58af Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 45523f494c7b14a9d1066e3def78e9e6e0fd8418 ]
+
@@ -7 +8,0 @@
-Cc: stable@dpdk.org
@@ -12 +13 @@
- lib/hash/rte_thash.h | 12 ++++--------
+ lib/librte_hash/rte_thash.h | 12 ++++--------
@@ -15,5 +16,5 @@
-diff --git a/lib/hash/rte_thash.h b/lib/hash/rte_thash.h
-index 76109fcdb0..a26fe56bf4 100644
---- a/lib/hash/rte_thash.h
-+++ b/lib/hash/rte_thash.h
-@@ -9,20 +9,16 @@
+diff --git a/lib/librte_hash/rte_thash.h b/lib/librte_hash/rte_thash.h
+index b4aaabe3d8..3b1128b0b7 100644
+--- a/lib/librte_hash/rte_thash.h
++++ b/lib/librte_hash/rte_thash.h
+@@ -8,20 +8,16 @@

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

* patch 'lpm6: fix buffer overflow' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (100 preceding siblings ...)
  2021-11-30 16:35 ` patch 'hash: fix Doxygen comment of Toeplitz file' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'rib: fix IPv6 depth mask' " christian.ehrhardt
                   ` (57 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Vladimir Medvedkin; +Cc: Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/b34c6b450317d5a58342ccda5b1a16ee98bf3c85
the

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From b34c6b450317d5a58342ccda5b1a16ee98bf3c85 Mon Sep 17 00:00:00 2001
From: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Date: Thu, 21 Oct 2021 18:15:49 +0100
Subject: [PATCH] lpm6: fix buffer overflow

[ upstream commit b16ac536573869ba3afd724947bfa9abbd477f86 ]

This patch fixes buffer overflow reported by ASAN,
please reference https://bugs.dpdk.org/show_bug.cgi?id=819

The rte_lpm6 keeps routing information for control plane purpose
inside the rte_hash table which uses rte_jhash() as a hash function.
From the rte_jhash() documentation: If input key is not aligned to
four byte boundaries or a multiple of four bytes in length,
the memory region just after may be read (but not used in the
computation).
rte_lpm6 uses 17 bytes keys consisting of IPv6 address (16 bytes) +
depth (1 byte).

This patch increases the size of the depth field up to uint32_t
and sets the alignment to 4 bytes.

Bugzilla ID: 819
Fixes: 86b3b21952a8 ("lpm6: store rules in hash table")

Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 lib/librte_lpm/rte_lpm6.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/librte_lpm/rte_lpm6.c b/lib/librte_lpm/rte_lpm6.c
index 6e1b18d6fd..b7a087554e 100644
--- a/lib/librte_lpm/rte_lpm6.c
+++ b/lib/librte_lpm/rte_lpm6.c
@@ -80,7 +80,7 @@ struct rte_lpm6_rule {
 /** Rules tbl entry key. */
 struct rte_lpm6_rule_key {
 	uint8_t ip[RTE_LPM6_IPV6_ADDR_SIZE]; /**< Rule IP address. */
-	uint8_t depth; /**< Rule depth. */
+	uint32_t depth; /**< Rule depth. */
 };
 
 /* Header of tbl8 */
@@ -259,6 +259,8 @@ rte_lpm6_create(const char *name, int socket_id,
 	lpm_list = RTE_TAILQ_CAST(rte_lpm6_tailq.head, rte_lpm6_list);
 
 	RTE_BUILD_BUG_ON(sizeof(struct rte_lpm6_tbl_entry) != sizeof(uint32_t));
+	RTE_BUILD_BUG_ON(sizeof(struct rte_lpm6_rule_key) %
+		sizeof(uint32_t) != 0);
 
 	/* Check user arguments. */
 	if ((name == NULL) || (socket_id < -1) || (config == NULL) ||
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:11.814311884 +0100
+++ 0103-lpm6-fix-buffer-overflow.patch	2021-11-30 16:50:05.906874381 +0100
@@ -1 +1 @@
-From b16ac536573869ba3afd724947bfa9abbd477f86 Mon Sep 17 00:00:00 2001
+From b34c6b450317d5a58342ccda5b1a16ee98bf3c85 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b16ac536573869ba3afd724947bfa9abbd477f86 ]
+
@@ -23 +24,0 @@
-Cc: stable@dpdk.org
@@ -28 +29 @@
- lib/lpm/rte_lpm6.c | 4 +++-
+ lib/librte_lpm/rte_lpm6.c | 4 +++-
@@ -31,4 +32,4 @@
-diff --git a/lib/lpm/rte_lpm6.c b/lib/lpm/rte_lpm6.c
-index 37baabb26d..73768fc956 100644
---- a/lib/lpm/rte_lpm6.c
-+++ b/lib/lpm/rte_lpm6.c
+diff --git a/lib/librte_lpm/rte_lpm6.c b/lib/librte_lpm/rte_lpm6.c
+index 6e1b18d6fd..b7a087554e 100644
+--- a/lib/librte_lpm/rte_lpm6.c
++++ b/lib/librte_lpm/rte_lpm6.c

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

* patch 'rib: fix IPv6 depth mask' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (101 preceding siblings ...)
  2021-11-30 16:35 ` patch 'lpm6: fix buffer overflow' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'test: fix ring PMD initialisation' " christian.ehrhardt
                   ` (56 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Vladimir Medvedkin; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/8029c086667a137bf01a8f3c55599245008fc66a

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 8029c086667a137bf01a8f3c55599245008fc66a Mon Sep 17 00:00:00 2001
From: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Date: Mon, 6 Sep 2021 16:54:32 +0100
Subject: [PATCH] rib: fix IPv6 depth mask

[ upstream commit 97e2ae4c58f9c8741ae920415e4c3952373ecb51 ]

Fixes: 03b8372a9a73 ("rib: fix max depth IPv6 lookup")

Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
---
 lib/librte_rib/rte_rib6.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_rib/rte_rib6.c b/lib/librte_rib/rte_rib6.c
index 6d265c2773..4cf12168dd 100644
--- a/lib/librte_rib/rte_rib6.c
+++ b/lib/librte_rib/rte_rib6.c
@@ -88,7 +88,7 @@ get_dir(const uint8_t ip[RTE_RIB6_IPV6_ADDR_SIZE], uint8_t depth)
 	 * is incremented in blocks of 8 (1 byte). This means the last
 	 * 3 bits are irrelevant to what the index of ip should be.
 	 */
-	index = (depth & (UINT8_MAX - 1)) / CHAR_BIT;
+	index = (depth & INT8_MAX) / CHAR_BIT;
 
 	/*
 	 * msk is the bitmask used to extract the bit used to decide the
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:11.872175626 +0100
+++ 0104-rib-fix-IPv6-depth-mask.patch	2021-11-30 16:50:05.906874381 +0100
@@ -1 +1 @@
-From 97e2ae4c58f9c8741ae920415e4c3952373ecb51 Mon Sep 17 00:00:00 2001
+From 8029c086667a137bf01a8f3c55599245008fc66a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 97e2ae4c58f9c8741ae920415e4c3952373ecb51 ]
+
@@ -7 +8,0 @@
-Cc: stable@dpdk.org
@@ -11 +12 @@
- lib/rib/rte_rib6.c | 2 +-
+ lib/librte_rib/rte_rib6.c | 2 +-
@@ -14,4 +15,4 @@
-diff --git a/lib/rib/rte_rib6.c b/lib/rib/rte_rib6.c
-index 96424e9c9f..b00c7fbf5a 100644
---- a/lib/rib/rte_rib6.c
-+++ b/lib/rib/rte_rib6.c
+diff --git a/lib/librte_rib/rte_rib6.c b/lib/librte_rib/rte_rib6.c
+index 6d265c2773..4cf12168dd 100644
+--- a/lib/librte_rib/rte_rib6.c
++++ b/lib/librte_rib/rte_rib6.c

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

* patch 'test: fix ring PMD initialisation' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (102 preceding siblings ...)
  2021-11-30 16:35 ` patch 'rib: fix IPv6 depth mask' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'examples/performance-thread: fix build with ASan' " christian.ehrhardt
                   ` (55 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Konstantin Ananyev; +Cc: David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 7c712c51061e6d5c39746ff941e135f149813a0f Mon Sep 17 00:00:00 2001
From: Konstantin Ananyev <konstantin.ananyev@intel.com>
Date: Tue, 26 Oct 2021 12:19:43 +0100
Subject: [PATCH] test: fix ring PMD initialisation

[ upstream commit b66412f24f17fcba5a248888bf4b3c1f5d6880de ]

(bitratestats_autotest|latencystats_autotest|pdump_autotest) tests
generate a log of error messages like that:

test_packet_forward() line 104: Error sending packet to port 0
Send pkts Failed

These tests use of app/test/sample_packet_forward.* code.
This code creates a portid from a ring, but doesn't properly
configure/start it.
The fix adds code to configure/start given port before usage.

Fixes: 7a0935239b9e ("ethdev: make fast-path functions to use new flat array")
Fixes: a52966cd48fd ("test: add helpers using ring PMD Rx/Tx")

Reported-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Tested-by: David Marchand <david.marchand@redhat.com>
---
 app/test/sample_packet_forward.c | 29 +++++++++++++++++++++++++++++
 app/test/sample_packet_forward.h |  3 +++
 app/test/test_bitratestats.c     | 12 +++++++++++-
 app/test/test_latencystats.c     | 12 +++++++++++-
 app/test/test_pdump.c            | 12 ++++++++++--
 5 files changed, 64 insertions(+), 4 deletions(-)

diff --git a/app/test/sample_packet_forward.c b/app/test/sample_packet_forward.c
index 61384b3d9b..aa897274d8 100644
--- a/app/test/sample_packet_forward.c
+++ b/app/test/sample_packet_forward.c
@@ -15,6 +15,35 @@
 
 #include "sample_packet_forward.h"
 
+/*
+ * heper function: configure and start test device
+ */
+int
+test_dev_start(uint16_t port, struct rte_mempool *mp)
+{
+	int32_t rc;
+	struct rte_eth_conf pconf;
+
+	memset(&pconf, 0, sizeof(pconf));
+
+	rc =  rte_eth_dev_configure(port, NUM_QUEUES, NUM_QUEUES, &pconf);
+	if (rc != 0)
+		return rc;
+
+	rc = rte_eth_rx_queue_setup(port, 0, RING_SIZE, SOCKET_ID_ANY,
+		NULL, mp);
+	if (rc != 0)
+		return rc;
+
+	rc = rte_eth_tx_queue_setup(port, 0, RING_SIZE, SOCKET_ID_ANY,
+		NULL);
+	if (rc != 0)
+		return rc;
+
+	rc = rte_eth_dev_start(port);
+	return rc;
+}
+
 /* Sample test to create virtual rings and tx,rx portid from rings */
 int
 test_ring_setup(struct rte_ring **ring, uint16_t *portid)
diff --git a/app/test/sample_packet_forward.h b/app/test/sample_packet_forward.h
index 6789217de3..af0b1d9924 100644
--- a/app/test/sample_packet_forward.h
+++ b/app/test/sample_packet_forward.h
@@ -21,6 +21,9 @@ struct rte_ring;
 /* Sample test to create virtual rings and tx,rx portid from rings */
 int test_ring_setup(struct rte_ring **ring, uint16_t *portid);
 
+/* configure and start device created by test_ring_setup */
+int test_dev_start(uint16_t port, struct rte_mempool *mp);
+
 /* Sample test to free the virtual rings */
 void test_ring_free(struct rte_ring *rxtx);
 
diff --git a/app/test/test_bitratestats.c b/app/test/test_bitratestats.c
index 3a7d9c037a..33b04c0369 100644
--- a/app/test/test_bitratestats.c
+++ b/app/test/test_bitratestats.c
@@ -11,6 +11,7 @@
 #include <rte_memzone.h>
 #include <rte_metrics.h>
 #include <rte_bitrate.h>
+#include <rte_ethdev.h>
 
 #include "sample_packet_forward.h"
 #include "test.h"
@@ -145,12 +146,21 @@ test_bit_packet_forward(void)
 		printf("allocate mbuf pool Failed\n");
 		return TEST_FAILED;
 	}
+	ret = test_dev_start(portid, mp);
+	if (ret < 0) {
+		printf("test_dev_start(%hu, %p) failed, error code: %d\n",
+			portid, mp, ret);
+		return TEST_FAILED;
+	}
+
 	ret = test_packet_forward(pbuf, portid, QUEUE_ID);
 	if (ret < 0)
 		printf("send pkts Failed\n");
+
+	rte_eth_dev_stop(portid);
 	test_put_mbuf_to_pool(mp, pbuf);
 
-	return TEST_SUCCESS;
+	return (ret >= 0) ? TEST_SUCCESS : TEST_FAILED;
 }
 
 static int
diff --git a/app/test/test_latencystats.c b/app/test/test_latencystats.c
index fcc9e83558..0f2a346209 100644
--- a/app/test/test_latencystats.c
+++ b/app/test/test_latencystats.c
@@ -6,6 +6,7 @@
 #include <stdint.h>
 #include <string.h>
 
+#include <rte_ethdev.h>
 #include <rte_latencystats.h>
 #include "rte_lcore.h"
 #include "rte_metrics.h"
@@ -155,12 +156,21 @@ static int test_latency_packet_forward(void)
 		printf("allocate mbuf pool Failed\n");
 		return TEST_FAILED;
 	}
+	ret = test_dev_start(portid, mp);
+	if (ret < 0) {
+		printf("test_dev_start(%hu, %p) failed, error code: %d\n",
+			portid, mp, ret);
+		return TEST_FAILED;
+	}
+
 	ret = test_packet_forward(pbuf, portid, QUEUE_ID);
 	if (ret < 0)
 		printf("send pkts Failed\n");
+
+	rte_eth_dev_stop(portid);
 	test_put_mbuf_to_pool(mp, pbuf);
 
-	return TEST_SUCCESS;
+	return (ret >= 0) ? TEST_SUCCESS : TEST_FAILED;
 }
 
 static struct
diff --git a/app/test/test_pdump.c b/app/test/test_pdump.c
index af206968b3..e377cfb5da 100644
--- a/app/test/test_pdump.c
+++ b/app/test/test_pdump.c
@@ -152,11 +152,19 @@ send_pkts(void *empty)
 	ret = test_get_mbuf_from_pool(&mp, pbuf, poolname);
 	if (ret < 0)
 		printf("get_mbuf_from_pool failed\n");
-	do {
+
+	ret = test_dev_start(portid, mp);
+	if (ret < 0)
+		printf("test_dev_start(%hu, %p) failed, error code: %d\n",
+			portid, mp, ret);
+
+	while (ret >= 0 && flag_for_send_pkts) {
 		ret = test_packet_forward(pbuf, portid, QUEUE_ID);
 		if (ret < 0)
 			printf("send pkts Failed\n");
-	} while (flag_for_send_pkts);
+	};
+
+	rte_eth_dev_stop(portid);
 	test_put_mbuf_to_pool(mp, pbuf);
 	return empty;
 }
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:11.924866813 +0100
+++ 0105-test-fix-ring-PMD-initialisation.patch	2021-11-30 16:50:05.906874381 +0100
@@ -1 +1 @@
-From b66412f24f17fcba5a248888bf4b3c1f5d6880de Mon Sep 17 00:00:00 2001
+From 7c712c51061e6d5c39746ff941e135f149813a0f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b66412f24f17fcba5a248888bf4b3c1f5d6880de ]
+
@@ -19 +20,0 @@
-Cc: stable@dpdk.org
@@ -87 +88 @@
-index f4a92c9be6..1ff540f4c4 100644
+index 3a7d9c037a..33b04c0369 100644
@@ -98 +99 @@
-@@ -159,12 +160,21 @@ test_bit_packet_forward(void)
+@@ -145,12 +146,21 @@ test_bit_packet_forward(void)
@@ -122 +123 @@
-index 724acbc315..db06c7d5c7 100644
+index fcc9e83558..0f2a346209 100644
@@ -133 +134 @@
-@@ -158,12 +159,21 @@ static int test_latency_packet_forward(void)
+@@ -155,12 +156,21 @@ static int test_latency_packet_forward(void)
@@ -157 +158 @@
-index b49fcfb3f1..ea03056b47 100644
+index af206968b3..e377cfb5da 100644
@@ -160 +161 @@
-@@ -147,11 +147,19 @@ send_pkts(void *empty)
+@@ -152,11 +152,19 @@ send_pkts(void *empty)

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

* patch 'examples/performance-thread: fix build with ASan' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (103 preceding siblings ...)
  2021-11-30 16:35 ` patch 'test: fix ring PMD initialisation' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-12-01  1:44   ` Peng, ZhihongX
  2021-11-30 16:35 ` patch 'eal: fix device iterator when no bus is selected' " christian.ehrhardt
                   ` (54 subsequent siblings)
  159 siblings, 1 reply; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Zhihong Peng; +Cc: Xueqin Lin, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/478db9fdd0f6214bd02fce0dfe49723d82b68228

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 478db9fdd0f6214bd02fce0dfe49723d82b68228 Mon Sep 17 00:00:00 2001
From: Zhihong Peng <zhihongx.peng@intel.com>
Date: Wed, 20 Oct 2021 15:46:43 +0800
Subject: [PATCH] examples/performance-thread: fix build with ASan

[ upstream commit 4d2d1258151657d69b0be5d118956b7e809f9d47 ]

Code changes to avoid the following build error:
"strncpy specified bound XX equals destination size".

Signed-off-by: Xueqin Lin <xueqin.lin@intel.com>
Signed-off-by: Zhihong Peng <zhihongx.peng@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 examples/performance-thread/common/lthread.c       | 4 ++--
 examples/performance-thread/common/lthread_cond.c  | 6 +++---
 examples/performance-thread/common/lthread_mutex.c | 6 +++---
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/examples/performance-thread/common/lthread.c b/examples/performance-thread/common/lthread.c
index 3f1f48db43..190e5874b1 100644
--- a/examples/performance-thread/common/lthread.c
+++ b/examples/performance-thread/common/lthread.c
@@ -20,6 +20,7 @@
 #include <sys/mman.h>
 
 #include <rte_log.h>
+#include <rte_string_fns.h>
 #include <ctx.h>
 #include <stack.h>
 
@@ -463,6 +464,5 @@ void lthread_set_funcname(const char *f)
 {
 	struct lthread *lt = THIS_LTHREAD;
 
-	strncpy(lt->funcname, f, sizeof(lt->funcname));
-	lt->funcname[sizeof(lt->funcname)-1] = 0;
+	strlcpy(lt->funcname, f, sizeof(lt->funcname));
 }
diff --git a/examples/performance-thread/common/lthread_cond.c b/examples/performance-thread/common/lthread_cond.c
index cdcc7a7b5a..e7be17089a 100644
--- a/examples/performance-thread/common/lthread_cond.c
+++ b/examples/performance-thread/common/lthread_cond.c
@@ -20,6 +20,7 @@
 
 #include <rte_log.h>
 #include <rte_common.h>
+#include <rte_string_fns.h>
 
 #include "lthread_api.h"
 #include "lthread_diag_api.h"
@@ -57,10 +58,9 @@ lthread_cond_init(char *name, struct lthread_cond **cond,
 	}
 
 	if (name == NULL)
-		strncpy(c->name, "no name", sizeof(c->name));
+		strlcpy(c->name, "no name", sizeof(c->name));
 	else
-		strncpy(c->name, name, sizeof(c->name));
-	c->name[sizeof(c->name)-1] = 0;
+		strlcpy(c->name, name, sizeof(c->name));
 
 	c->root_sched = THIS_SCHED;
 
diff --git a/examples/performance-thread/common/lthread_mutex.c b/examples/performance-thread/common/lthread_mutex.c
index 01da6cad4f..709ab9f553 100644
--- a/examples/performance-thread/common/lthread_mutex.c
+++ b/examples/performance-thread/common/lthread_mutex.c
@@ -19,6 +19,7 @@
 #include <rte_log.h>
 #include <rte_spinlock.h>
 #include <rte_common.h>
+#include <rte_string_fns.h>
 
 #include "lthread_api.h"
 #include "lthread_int.h"
@@ -52,10 +53,9 @@ lthread_mutex_init(char *name, struct lthread_mutex **mutex,
 	}
 
 	if (name == NULL)
-		strncpy(m->name, "no name", sizeof(m->name));
+		strlcpy(m->name, "no name", sizeof(m->name));
 	else
-		strncpy(m->name, name, sizeof(m->name));
-	m->name[sizeof(m->name)-1] = 0;
+		strlcpy(m->name, name, sizeof(m->name));
 
 	m->root_sched = THIS_SCHED;
 	m->owner = NULL;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:11.974298631 +0100
+++ 0106-examples-performance-thread-fix-build-with-ASan.patch	2021-11-30 16:50:05.910874410 +0100
@@ -1 +1 @@
-From 4d2d1258151657d69b0be5d118956b7e809f9d47 Mon Sep 17 00:00:00 2001
+From 478db9fdd0f6214bd02fce0dfe49723d82b68228 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4d2d1258151657d69b0be5d118956b7e809f9d47 ]
+
@@ -19 +21 @@
-index 98123f34f8..009374a8c3 100644
+index 3f1f48db43..190e5874b1 100644
@@ -30 +32 @@
-@@ -465,6 +466,5 @@ void lthread_set_funcname(const char *f)
+@@ -463,6 +464,5 @@ void lthread_set_funcname(const char *f)
@@ -64 +66 @@
-index 061fc5c19a..f3ec7c1c60 100644
+index 01da6cad4f..709ab9f553 100644

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

* patch 'eal: fix device iterator when no bus is selected' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (104 preceding siblings ...)
  2021-11-30 16:35 ` patch 'examples/performance-thread: fix build with ASan' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'eal/linux: remove unused variable for socket memory' " christian.ehrhardt
                   ` (53 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Xueming Li; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 2ce7e45bf97132b85b9f0b558ce09ff332c8aa7b Mon Sep 17 00:00:00 2001
From: Xueming Li <xuemingl@nvidia.com>
Date: Wed, 27 Oct 2021 16:22:21 +0800
Subject: [PATCH] eal: fix device iterator when no bus is selected

[ upstream commit fc382022c6adcde57eb30e58186198275ad493d7 ]

Devargs used in device iterator initialization wasn't set to zero, random
data like bus string lead to invalid address access.

This patch initializes devargs.

Bugzilla ID: 862
Fixes: c99a2d4c6b7f ("eal: implement device iteration initialization")

Signed-off-by: Xueming Li <xuemingl@nvidia.com>
---
 lib/librte_eal/common/eal_common_dev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_eal/common/eal_common_dev.c b/lib/librte_eal/common/eal_common_dev.c
index 363a2ca95e..9d56a0e292 100644
--- a/lib/librte_eal/common/eal_common_dev.c
+++ b/lib/librte_eal/common/eal_common_dev.c
@@ -567,7 +567,7 @@ int
 rte_dev_iterator_init(struct rte_dev_iterator *it,
 		      const char *dev_str)
 {
-	struct rte_devargs devargs;
+	struct rte_devargs devargs = { .bus = NULL };
 	struct rte_class *cls = NULL;
 	struct rte_bus *bus = NULL;
 
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:12.018147916 +0100
+++ 0107-eal-fix-device-iterator-when-no-bus-is-selected.patch	2021-11-30 16:50:05.910874410 +0100
@@ -1 +1 @@
-From fc382022c6adcde57eb30e58186198275ad493d7 Mon Sep 17 00:00:00 2001
+From 2ce7e45bf97132b85b9f0b558ce09ff332c8aa7b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit fc382022c6adcde57eb30e58186198275ad493d7 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -17 +18 @@
- lib/eal/common/eal_common_dev.c | 2 +-
+ lib/librte_eal/common/eal_common_dev.c | 2 +-
@@ -20,5 +21,5 @@
-diff --git a/lib/eal/common/eal_common_dev.c b/lib/eal/common/eal_common_dev.c
-index 148a23830a..e1e9976d8d 100644
---- a/lib/eal/common/eal_common_dev.c
-+++ b/lib/eal/common/eal_common_dev.c
-@@ -573,7 +573,7 @@ int
+diff --git a/lib/librte_eal/common/eal_common_dev.c b/lib/librte_eal/common/eal_common_dev.c
+index 363a2ca95e..9d56a0e292 100644
+--- a/lib/librte_eal/common/eal_common_dev.c
++++ b/lib/librte_eal/common/eal_common_dev.c
+@@ -567,7 +567,7 @@ int

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

* patch 'eal/linux: remove unused variable for socket memory' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (105 preceding siblings ...)
  2021-11-30 16:35 ` patch 'eal: fix device iterator when no bus is selected' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'eal/linux: fix uevent message parsing' " christian.ehrhardt
                   ` (52 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Jim Harris; +Cc: David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/6c135cfbe7d80baaa45ed45b82660445b93c7a23

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 6c135cfbe7d80baaa45ed45b82660445b93c7a23 Mon Sep 17 00:00:00 2001
From: Jim Harris <james.r.harris@intel.com>
Date: Fri, 29 Oct 2021 17:14:10 +0000
Subject: [PATCH] eal/linux: remove unused variable for socket memory

[ upstream commit 628bac7df18904c7083c8ad04669c69688f352de ]

clang-13 rightfully complains that the total_mem variable in
eal_parse_socket_arg is set but not used, since the final
accumulated total_mem result isn't used anywhere.
So just remove the total_mem variable.

Fixes: 0a703f0f36c1 ("eal/linux: fix parsing zero socket memory and limits")

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
---
 lib/librte_eal/linux/eal/eal.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/lib/librte_eal/linux/eal/eal.c b/lib/librte_eal/linux/eal/eal.c
index 8f1bcab390..a2898705b6 100644
--- a/lib/librte_eal/linux/eal/eal.c
+++ b/lib/librte_eal/linux/eal/eal.c
@@ -587,7 +587,6 @@ eal_parse_socket_arg(char *strval, volatile uint64_t *socket_arg)
 	char * arg[RTE_MAX_NUMA_NODES];
 	char *end;
 	int arg_num, i, len;
-	uint64_t total_mem = 0;
 
 	len = strnlen(strval, SOCKET_MEM_STRLEN);
 	if (len == SOCKET_MEM_STRLEN) {
@@ -619,7 +618,6 @@ eal_parse_socket_arg(char *strval, volatile uint64_t *socket_arg)
 				(arg[i][0] == '\0') || (end == NULL) || (*end != '\0'))
 			return -1;
 		val <<= 20;
-		total_mem += val;
 		socket_arg[i] = val;
 	}
 
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:12.098582095 +0100
+++ 0108-eal-linux-remove-unused-variable-for-socket-memory.patch	2021-11-30 16:50:05.914874440 +0100
@@ -1 +1 @@
-From 628bac7df18904c7083c8ad04669c69688f352de Mon Sep 17 00:00:00 2001
+From 6c135cfbe7d80baaa45ed45b82660445b93c7a23 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 628bac7df18904c7083c8ad04669c69688f352de ]
+
@@ -16 +18 @@
- lib/eal/linux/eal.c | 2 --
+ lib/librte_eal/linux/eal/eal.c | 2 --
@@ -19,5 +21,5 @@
-diff --git a/lib/eal/linux/eal.c b/lib/eal/linux/eal.c
-index 81fdebc6a0..60b4924838 100644
---- a/lib/eal/linux/eal.c
-+++ b/lib/eal/linux/eal.c
-@@ -562,7 +562,6 @@ eal_parse_socket_arg(char *strval, volatile uint64_t *socket_arg)
+diff --git a/lib/librte_eal/linux/eal/eal.c b/lib/librte_eal/linux/eal/eal.c
+index 8f1bcab390..a2898705b6 100644
+--- a/lib/librte_eal/linux/eal/eal.c
++++ b/lib/librte_eal/linux/eal/eal.c
+@@ -587,7 +587,6 @@ eal_parse_socket_arg(char *strval, volatile uint64_t *socket_arg)
@@ -31 +33 @@
-@@ -594,7 +593,6 @@ eal_parse_socket_arg(char *strval, volatile uint64_t *socket_arg)
+@@ -619,7 +618,6 @@ eal_parse_socket_arg(char *strval, volatile uint64_t *socket_arg)

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

* patch 'eal/linux: fix uevent message parsing' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (106 preceding siblings ...)
  2021-11-30 16:35 ` patch 'eal/linux: remove unused variable for socket memory' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'mem: fix dynamic hugepage mapping in container' " christian.ehrhardt
                   ` (51 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: David Marchand; +Cc: Yan Xia, Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/13b9c2b5f5cd1fbd4ca52b1d22509cce7381b3c0

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 13b9c2b5f5cd1fbd4ca52b1d22509cce7381b3c0 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Tue, 2 Nov 2021 19:40:20 +0100
Subject: [PATCH] eal/linux: fix uevent message parsing

[ upstream commit 4847122aab5ced55b3c656e8ee425e90c6eb5904 ]

Caught with ASan:
==9727==ERROR: AddressSanitizer: stack-buffer-overflow on address
  0x7f0daa2fc0d0 at pc 0x7f0daeefacb2 bp 0x7f0daa2fadd0 sp 0x7f0daa2fa578
READ of size 1 at 0x7f0daa2fc0d0 thread T1
    #0 0x7f0daeefacb1  (/lib64/libasan.so.5+0xbacb1)
    #1 0x115eba1 in dev_uev_parse ../lib/eal/linux/eal_dev.c:167
    #2 0x115f281 in dev_uev_handler ../lib/eal/linux/eal_dev.c:248
    #3 0x1169b91 in eal_intr_process_interrupts
  ../lib/eal/linux/eal_interrupts.c:1026
    #4 0x116a3a2 in eal_intr_handle_interrupts
  ../lib/eal/linux/eal_interrupts.c:1100
    #5 0x116a7f0 in eal_intr_thread_main
  ../lib/eal/linux/eal_interrupts.c:1172
    #6 0x112640a in ctrl_thread_init
  ../lib/eal/common/eal_common_thread.c:202
    #7 0x7f0dade27159 in start_thread (/lib64/libpthread.so.0+0x8159)
    #8 0x7f0dadb58f72 in clone (/lib64/libc.so.6+0xfcf72)

Address 0x7f0daa2fc0d0 is located in stack of thread T1 at offset 4192
  in frame
    #0 0x115f0c9 in dev_uev_handler ../lib/eal/linux/eal_dev.c:226

  This frame has 2 object(s):
    [32, 48) 'uevent'
    [96, 4192) 'buf' <== Memory access at offset 4192 overflows this
  variable
HINT: this may be a false positive if your program uses some custom
  stack unwind mechanism or swapcontext
      (longjmp and C++ exceptions *are* supported)
Thread T1 created by T0 here:
    #0 0x7f0daee92ea3 in __interceptor_pthread_create
  (/lib64/libasan.so.5+0x52ea3)
    #1 0x1126542 in rte_ctrl_thread_create
  ../lib/eal/common/eal_common_thread.c:228
    #2 0x116a8b5 in rte_eal_intr_init
  ../lib/eal/linux/eal_interrupts.c:1200
    #3 0x1159dd1 in rte_eal_init ../lib/eal/linux/eal.c:1044
    #4 0x7a22f8 in main ../app/test-pmd/testpmd.c:4105
    #5 0x7f0dada7f802 in __libc_start_main (/lib64/libc.so.6+0x23802)

Bugzilla ID: 792
Fixes: 0d0f478d0483 ("eal/linux: add uevent parse and process")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Tested-by: Yan Xia <yanx.xia@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 lib/librte_eal/linux/eal/eal_dev.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/librte_eal/linux/eal/eal_dev.c b/lib/librte_eal/linux/eal/eal_dev.c
index 803979ff46..4248f8db5a 100644
--- a/lib/librte_eal/linux/eal/eal_dev.c
+++ b/lib/librte_eal/linux/eal/eal_dev.c
@@ -151,6 +151,9 @@ dev_uev_parse(const char *buf, struct rte_dev_event *event, int length)
 				break;
 			buf++;
 		}
+		if (i >= length)
+			break;
+
 		/**
 		 * check device uevent from kernel side, no need to check
 		 * uevent from udev.
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:12.144919839 +0100
+++ 0109-eal-linux-fix-uevent-message-parsing.patch	2021-11-30 16:50:05.914874440 +0100
@@ -1 +1 @@
-From 4847122aab5ced55b3c656e8ee425e90c6eb5904 Mon Sep 17 00:00:00 2001
+From 13b9c2b5f5cd1fbd4ca52b1d22509cce7381b3c0 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4847122aab5ced55b3c656e8ee425e90c6eb5904 ]
+
@@ -48 +49,0 @@
-Cc: stable@dpdk.org
@@ -54 +55 @@
- lib/eal/linux/eal_dev.c | 3 +++
+ lib/librte_eal/linux/eal/eal_dev.c | 3 +++
@@ -57,5 +58,5 @@
-diff --git a/lib/eal/linux/eal_dev.c b/lib/eal/linux/eal_dev.c
-index 06820a3666..6aaeffb4e9 100644
---- a/lib/eal/linux/eal_dev.c
-+++ b/lib/eal/linux/eal_dev.c
-@@ -160,6 +160,9 @@ dev_uev_parse(const char *buf, struct rte_dev_event *event, int length)
+diff --git a/lib/librte_eal/linux/eal/eal_dev.c b/lib/librte_eal/linux/eal/eal_dev.c
+index 803979ff46..4248f8db5a 100644
+--- a/lib/librte_eal/linux/eal/eal_dev.c
++++ b/lib/librte_eal/linux/eal/eal_dev.c
+@@ -151,6 +151,9 @@ dev_uev_parse(const char *buf, struct rte_dev_event *event, int length)

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

* patch 'mem: fix dynamic hugepage mapping in container' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (107 preceding siblings ...)
  2021-11-30 16:35 ` patch 'eal/linux: fix uevent message parsing' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'app/testpmd: fix RSS key length' " christian.ehrhardt
                   ` (50 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Olivier Matz; +Cc: Maxime Coquelin, David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/480955dbb4f0a7718ef253ff0eb0e01bd9ba6beb

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 480955dbb4f0a7718ef253ff0eb0e01bd9ba6beb Mon Sep 17 00:00:00 2001
From: Olivier Matz <olivier.matz@6wind.com>
Date: Fri, 29 Oct 2021 11:53:10 +0200
Subject: [PATCH] mem: fix dynamic hugepage mapping in container

[ upstream commit 9bffc92850e8524474eebe2d559d09bdf3f0b96b ]

Since its introduction in 2018, the SIGBUS handler was never registered,
and all related functions were unused.

A SIGBUS can be received by the application when accessing to hugepages
even if mmap() was successful, This happens especially when running
inside containers when there is not enough hugepages. In this case, we
need to recover. A similar scheme can be found in eal_memory.c.

Fixes: 582bed1e1d1d ("mem: support mapping hugepages at runtime")

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: David Marchand <david.marchand@redhat.com>
---
 lib/librte_eal/linux/eal/eal_memalloc.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/lib/librte_eal/linux/eal/eal_memalloc.c b/lib/librte_eal/linux/eal/eal_memalloc.c
index e8b2daa66a..9f2d3e113c 100644
--- a/lib/librte_eal/linux/eal/eal_memalloc.c
+++ b/lib/librte_eal/linux/eal/eal_memalloc.c
@@ -107,7 +107,7 @@ static struct rte_memseg_list local_memsegs[RTE_MAX_MEMSEG_LISTS];
 
 static sigjmp_buf huge_jmpenv;
 
-static void __rte_unused huge_sigbus_handler(int signo __rte_unused)
+static void huge_sigbus_handler(int signo __rte_unused)
 {
 	siglongjmp(huge_jmpenv, 1);
 }
@@ -116,7 +116,7 @@ static void __rte_unused huge_sigbus_handler(int signo __rte_unused)
  * non-static local variable in the stack frame calling sigsetjmp might be
  * clobbered by a call to longjmp.
  */
-static int __rte_unused huge_wrap_sigsetjmp(void)
+static int huge_wrap_sigsetjmp(void)
 {
 	return sigsetjmp(huge_jmpenv, 1);
 }
@@ -124,7 +124,7 @@ static int __rte_unused huge_wrap_sigsetjmp(void)
 static struct sigaction huge_action_old;
 static int huge_need_recover;
 
-static void __rte_unused
+static void
 huge_register_sigbus(void)
 {
 	sigset_t mask;
@@ -139,7 +139,7 @@ huge_register_sigbus(void)
 	huge_need_recover = !sigaction(SIGBUS, &action, &huge_action_old);
 }
 
-static void __rte_unused
+static void
 huge_recover_sigbus(void)
 {
 	if (huge_need_recover) {
@@ -565,6 +565,8 @@ alloc_seg(struct rte_memseg *ms, void *addr, int socket_id,
 		mmap_flags = MAP_SHARED | MAP_POPULATE | MAP_FIXED;
 	}
 
+	huge_register_sigbus();
+
 	/*
 	 * map the segment, and populate page tables, the kernel fills
 	 * this segment with zeros if it's a new page.
@@ -640,6 +642,8 @@ alloc_seg(struct rte_memseg *ms, void *addr, int socket_id,
 				__func__);
 #endif
 
+	huge_recover_sigbus();
+
 	ms->addr = addr;
 	ms->hugepage_sz = alloc_sz;
 	ms->len = alloc_sz;
@@ -653,6 +657,7 @@ alloc_seg(struct rte_memseg *ms, void *addr, int socket_id,
 mapped:
 	munmap(addr, alloc_sz);
 unmapped:
+	huge_recover_sigbus();
 	flags = MAP_FIXED;
 	new_addr = eal_get_virtual_area(addr, &alloc_sz, alloc_sz, 0, flags);
 	if (new_addr != addr) {
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:12.204664093 +0100
+++ 0110-mem-fix-dynamic-hugepage-mapping-in-container.patch	2021-11-30 16:50:05.914874440 +0100
@@ -1 +1 @@
-From 9bffc92850e8524474eebe2d559d09bdf3f0b96b Mon Sep 17 00:00:00 2001
+From 480955dbb4f0a7718ef253ff0eb0e01bd9ba6beb Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 9bffc92850e8524474eebe2d559d09bdf3f0b96b ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
- lib/eal/linux/eal_memalloc.c | 13 +++++++++----
+ lib/librte_eal/linux/eal/eal_memalloc.c | 13 +++++++++----
@@ -24,4 +25,4 @@
-diff --git a/lib/eal/linux/eal_memalloc.c b/lib/eal/linux/eal_memalloc.c
-index 0ec8542283..337f2bc739 100644
---- a/lib/eal/linux/eal_memalloc.c
-+++ b/lib/eal/linux/eal_memalloc.c
+diff --git a/lib/librte_eal/linux/eal/eal_memalloc.c b/lib/librte_eal/linux/eal/eal_memalloc.c
+index e8b2daa66a..9f2d3e113c 100644
+--- a/lib/librte_eal/linux/eal/eal_memalloc.c
++++ b/lib/librte_eal/linux/eal/eal_memalloc.c
@@ -64 +65 @@
-@@ -576,6 +576,8 @@ alloc_seg(struct rte_memseg *ms, void *addr, int socket_id,
+@@ -565,6 +565,8 @@ alloc_seg(struct rte_memseg *ms, void *addr, int socket_id,
@@ -73 +74 @@
-@@ -651,6 +653,8 @@ alloc_seg(struct rte_memseg *ms, void *addr, int socket_id,
+@@ -640,6 +642,8 @@ alloc_seg(struct rte_memseg *ms, void *addr, int socket_id,
@@ -82 +83 @@
-@@ -664,6 +668,7 @@ alloc_seg(struct rte_memseg *ms, void *addr, int socket_id,
+@@ -653,6 +657,7 @@ alloc_seg(struct rte_memseg *ms, void *addr, int socket_id,
@@ -87 +88 @@
- 	flags = EAL_RESERVE_FORCE_ADDRESS;
+ 	flags = MAP_FIXED;

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

* patch 'app/testpmd: fix RSS key length' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (108 preceding siblings ...)
  2021-11-30 16:35 ` patch 'mem: fix dynamic hugepage mapping in container' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'app/testpmd: fix RSS type display' " christian.ehrhardt
                   ` (49 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Maxime Coquelin; +Cc: Xiaoyun Li, Chenbo Xia, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/54e71837915480bef69fa2ab16241f40f2ce90f0

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 54e71837915480bef69fa2ab16241f40f2ce90f0 Mon Sep 17 00:00:00 2001
From: Maxime Coquelin <maxime.coquelin@redhat.com>
Date: Wed, 27 Oct 2021 16:22:10 +0200
Subject: [PATCH] app/testpmd: fix RSS key length

[ upstream commit 8e1d0547d6ed6a28c5c80c832f7b259518b89735 ]

port_rss_hash_key_update() initializes rss_conf with the
RSS key configuration provided  by the user, but it calls
rte_eth_dev_rss_hash_conf_get() before calling
rte_eth_dev_rss_hash_update(), which overrides the parsed
RSS config.

While the RSS key value is set again after, this is not
the case of the key length. It could cause out of bounds
access if the key length parsed is smaller than the one
read from rte_eth_dev_rss_hash_conf_get().

This patch restores the key length before the
rte_eth_dev_rss_hash_update() call to ensure the RSS key
value/length pair is consistent.

Fixes: 8205e241b2b0 ("app/testpmd: add missing type to RSS hash commands")

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
---
 app/test-pmd/config.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index bee9fa6dcf..a693960785 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -2145,7 +2145,7 @@ port_rss_hash_key_update(portid_t port_id, char rss_type[], uint8_t *hash_key,
 	unsigned int i;
 
 	rss_conf.rss_key = NULL;
-	rss_conf.rss_key_len = hash_key_len;
+	rss_conf.rss_key_len = 0;
 	rss_conf.rss_hf = 0;
 	for (i = 0; rss_type_table[i].str; i++) {
 		if (!strcmp(rss_type_table[i].str, rss_type))
@@ -2154,6 +2154,7 @@ port_rss_hash_key_update(portid_t port_id, char rss_type[], uint8_t *hash_key,
 	diag = rte_eth_dev_rss_hash_conf_get(port_id, &rss_conf);
 	if (diag == 0) {
 		rss_conf.rss_key = hash_key;
+		rss_conf.rss_key_len = hash_key_len;
 		diag = rte_eth_dev_rss_hash_update(port_id, &rss_conf);
 	}
 	if (diag == 0)
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:12.265332822 +0100
+++ 0111-app-testpmd-fix-RSS-key-length.patch	2021-11-30 16:50:05.918874469 +0100
@@ -1 +1 @@
-From 8e1d0547d6ed6a28c5c80c832f7b259518b89735 Mon Sep 17 00:00:00 2001
+From 54e71837915480bef69fa2ab16241f40f2ce90f0 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 8e1d0547d6ed6a28c5c80c832f7b259518b89735 ]
+
@@ -22 +23,0 @@
-Cc: stable@dpdk.org
@@ -32 +33 @@
-index 3b97164302..dde6cdcff1 100644
+index bee9fa6dcf..a693960785 100644
@@ -35 +36 @@
-@@ -3042,7 +3042,7 @@ port_rss_hash_key_update(portid_t port_id, char rss_type[], uint8_t *hash_key,
+@@ -2145,7 +2145,7 @@ port_rss_hash_key_update(portid_t port_id, char rss_type[], uint8_t *hash_key,
@@ -44 +45 @@
-@@ -3051,6 +3051,7 @@ port_rss_hash_key_update(portid_t port_id, char rss_type[], uint8_t *hash_key,
+@@ -2154,6 +2154,7 @@ port_rss_hash_key_update(portid_t port_id, char rss_type[], uint8_t *hash_key,

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

* patch 'app/testpmd: fix RSS type display' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (109 preceding siblings ...)
  2021-11-30 16:35 ` patch 'app/testpmd: fix RSS key length' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'net/mlx5: fix RSS RETA update' " christian.ehrhardt
                   ` (48 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Maxime Coquelin; +Cc: Xiaoyun Li, Chenbo Xia, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/9fbe544f6723914e3a3e5875277b4a6381615dbf

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 9fbe544f6723914e3a3e5875277b4a6381615dbf Mon Sep 17 00:00:00 2001
From: Maxime Coquelin <maxime.coquelin@redhat.com>
Date: Wed, 27 Oct 2021 16:22:11 +0200
Subject: [PATCH] app/testpmd: fix RSS type display

[ upstream commit 88232b54eed87d80782aae2c0c7a3db5089e61cc ]

This patch fixes the display of the RSS hash types
configured in the port, which displayed "all" even
if only a single type was configured

Fixes: 3c90743dd3b9 ("app/testpmd: support more types for flow RSS")

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
---
 app/test-pmd/config.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index a693960785..664b63e32f 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -2124,7 +2124,9 @@ port_rss_hash_conf_show(portid_t port_id, int show_rss_key)
 	}
 	printf("RSS functions:\n ");
 	for (i = 0; rss_type_table[i].str; i++) {
-		if (rss_hf & rss_type_table[i].rss_type)
+		if (rss_type_table[i].rss_type == 0)
+			continue;
+		if ((rss_hf & rss_type_table[i].rss_type) == rss_type_table[i].rss_type)
 			printf("%s ", rss_type_table[i].str);
 	}
 	printf("\n");
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:12.314094153 +0100
+++ 0112-app-testpmd-fix-RSS-type-display.patch	2021-11-30 16:50:05.926874528 +0100
@@ -1 +1 @@
-From 88232b54eed87d80782aae2c0c7a3db5089e61cc Mon Sep 17 00:00:00 2001
+From 9fbe544f6723914e3a3e5875277b4a6381615dbf Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 88232b54eed87d80782aae2c0c7a3db5089e61cc ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index dde6cdcff1..5dfc8a15da 100644
+index a693960785..664b63e32f 100644
@@ -24 +25 @@
-@@ -3021,7 +3021,9 @@ port_rss_hash_conf_show(portid_t port_id, int show_rss_key)
+@@ -2124,7 +2124,9 @@ port_rss_hash_conf_show(portid_t port_id, int show_rss_key)

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

* patch 'net/mlx5: fix RSS RETA update' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (110 preceding siblings ...)
  2021-11-30 16:35 ` patch 'app/testpmd: fix RSS type display' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'net/i40e: fix 32-bit build' " christian.ehrhardt
                   ` (47 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Maxime Coquelin; +Cc: Viacheslav Ovsiienko, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 2fb2e78780789ca313ee313a4e036e71477c331e Mon Sep 17 00:00:00 2001
From: Maxime Coquelin <maxime.coquelin@redhat.com>
Date: Wed, 27 Oct 2021 16:22:12 +0200
Subject: [PATCH] net/mlx5: fix RSS RETA update

[ upstream commit 5aeb7fab59fef7b9cb01ec58ef32d1068923b6d3 ]

This patch fixes RETA updating for entries above 64.
Without that, these entries are never updated as
calculated mask value will always be 0.

Fixes: 634efbc2c8c0 ("mlx5: support RETA query and update")

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
 drivers/net/mlx5/mlx5_rss.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_rss.c b/drivers/net/mlx5/mlx5_rss.c
index 170005a7af..a0daafe81d 100644
--- a/drivers/net/mlx5/mlx5_rss.c
+++ b/drivers/net/mlx5/mlx5_rss.c
@@ -216,7 +216,7 @@ mlx5_dev_rss_reta_update(struct rte_eth_dev *dev,
 	for (idx = 0, i = 0; (i != reta_size); ++i) {
 		idx = i / RTE_RETA_GROUP_SIZE;
 		pos = i % RTE_RETA_GROUP_SIZE;
-		if (((reta_conf[idx].mask >> i) & 0x1) == 0)
+		if (((reta_conf[idx].mask >> pos) & 0x1) == 0)
 			continue;
 		assert(reta_conf[idx].reta[pos] < priv->rxqs_n);
 		(*priv->reta_idx)[i] = reta_conf[idx].reta[pos];
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:12.359929813 +0100
+++ 0113-net-mlx5-fix-RSS-RETA-update.patch	2021-11-30 16:50:05.926874528 +0100
@@ -1 +1 @@
-From 5aeb7fab59fef7b9cb01ec58ef32d1068923b6d3 Mon Sep 17 00:00:00 2001
+From 2fb2e78780789ca313ee313a4e036e71477c331e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 5aeb7fab59fef7b9cb01ec58ef32d1068923b6d3 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index a4f690039e..a04e22398d 100644
+index 170005a7af..a0daafe81d 100644
@@ -23 +24 @@
-@@ -211,7 +211,7 @@ mlx5_dev_rss_reta_update(struct rte_eth_dev *dev,
+@@ -216,7 +216,7 @@ mlx5_dev_rss_reta_update(struct rte_eth_dev *dev,
@@ -25,2 +26,2 @@
- 		idx = i / RTE_ETH_RETA_GROUP_SIZE;
- 		pos = i % RTE_ETH_RETA_GROUP_SIZE;
+ 		idx = i / RTE_RETA_GROUP_SIZE;
+ 		pos = i % RTE_RETA_GROUP_SIZE;
@@ -30 +31 @@
- 		MLX5_ASSERT(reta_conf[idx].reta[pos] < priv->rxqs_n);
+ 		assert(reta_conf[idx].reta[pos] < priv->rxqs_n);

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

* patch 'net/i40e: fix 32-bit build' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (111 preceding siblings ...)
  2021-11-30 16:35 ` patch 'net/mlx5: fix RSS RETA update' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'net/bnxt: fix firmware version query' " christian.ehrhardt
                   ` (46 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/698e296cd7b31f0dcabdf5332498c0d09a5bf1ab

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 698e296cd7b31f0dcabdf5332498c0d09a5bf1ab Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Fri, 29 Oct 2021 11:37:01 +0100
Subject: [PATCH] net/i40e: fix 32-bit build
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit d01201829b88fe823e0b99cd13a65e1711cd8973 ]

Got error with: gcc 11.2.1 "cc (GCC) 11.2.1 20210728 (Red Hat 11.2.1-1)"

Build error:
In function ‘i40e_flow_parse_fdir_pattern’,
    inlined from ‘i40e_flow_parse_fdir_filter’
    at ../drivers/net/i40e/i40e_flow.c:3274:8:
../drivers/net/i40e/i40e_flow.c:3052:69:
    error: writing 1 byte into a region of size 0
    [-Werror=stringop-overflow=]
 3052 |                         filter->input.flow_ext.flexbytes[j] =
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
 3053 |                                 raw_spec->pattern[i];
      |                                 ~~~~~~~~~~~~~~~~~~~~
In file included from ../drivers/net/i40e/i40e_flow.c:25:
  ../drivers/net/i40e/i40e_flow.c:
  In function ‘i40e_flow_parse_fdir_filter’:
  ../drivers/net/i40e/i40e_ethdev.h:638:17:
  note: at offset 16 into destination object ‘flexbytes’ of size 16
  638 |         uint8_t flexbytes[RTE_ETH_FDIR_MAX_FLEXLEN];
      |                 ^~~~~~~~~

Fixing by adding range checks.

Fixes: 6ced3dd72f5f ("net/i40e: support flexible payload parsing for FDIR")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/i40e/i40e_flow.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c
index b43f27d354..3862fb80d4 100644
--- a/drivers/net/i40e/i40e_flow.c
+++ b/drivers/net/i40e/i40e_flow.c
@@ -2901,6 +2901,9 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
 
 			for (i = 0; i < raw_spec->length; i++) {
 				j = i + next_dst_off;
+				if (j >= RTE_ETH_FDIR_MAX_FLEXLEN ||
+						j >= I40E_FDIR_MAX_FLEX_LEN)
+					break;
 				filter->input.flow_ext.flexbytes[j] =
 					raw_spec->pattern[i];
 				filter->input.flow_ext.flex_mask[j] =
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:12.518854015 +0100
+++ 0114-net-i40e-fix-32-bit-build.patch	2021-11-30 16:50:05.930874557 +0100
@@ -1 +1 @@
-From d01201829b88fe823e0b99cd13a65e1711cd8973 Mon Sep 17 00:00:00 2001
+From 698e296cd7b31f0dcabdf5332498c0d09a5bf1ab Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit d01201829b88fe823e0b99cd13a65e1711cd8973 ]
+
@@ -33 +34,0 @@
-Cc: stable@dpdk.org
@@ -42 +43 @@
-index 9acaa18751..c9676caab5 100644
+index b43f27d354..3862fb80d4 100644
@@ -45 +46 @@
-@@ -3049,6 +3049,9 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
+@@ -2901,6 +2901,9 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,

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

* patch 'net/bnxt: fix firmware version query' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (112 preceding siblings ...)
  2021-11-30 16:35 ` patch 'net/i40e: fix 32-bit build' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'net/enic: avoid error message when no advanced filtering' " christian.ehrhardt
                   ` (45 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Somnath Kotur, Ajit Khaparde, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/710a081d81a3fe6c28bbc67ad43b7f3050538e58

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 710a081d81a3fe6c28bbc67ad43b7f3050538e58 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 2 Nov 2021 14:27:44 -0700
Subject: [PATCH] net/bnxt: fix firmware version query

[ upstream commit 211262d925268a3f5ac1c6a5a6610762b5ca5f5a ]

UBSan testing revealed undefined shift here.

The firmware returns the version in bytes; and shifting a 8 bit
quantity here can lead to undefined behaviour or truncation.
The fix is to promote the bytes to 32 bit before shifting.

Bugzilla ID: 838
Fixes: 9a891c1764ea ("net/bnxt: update HWRM to version 1.9.2")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Somnath Kotur <somnath.kotur@broadcom.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
 drivers/net/bnxt/bnxt_hwrm.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index 89f30e1b48..844f1e8cae 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -1036,9 +1036,9 @@ int bnxt_hwrm_ver_get(struct bnxt *bp, uint32_t timeout)
 		resp->hwrm_intf_upd_8b, resp->hwrm_fw_maj_8b,
 		resp->hwrm_fw_min_8b, resp->hwrm_fw_bld_8b,
 		resp->hwrm_fw_rsvd_8b);
-	bp->fw_ver = (resp->hwrm_fw_maj_8b << 24) |
-		     (resp->hwrm_fw_min_8b << 16) |
-		     (resp->hwrm_fw_bld_8b << 8) |
+	bp->fw_ver = ((uint32_t)resp->hwrm_fw_maj_8b << 24) |
+		     ((uint32_t)resp->hwrm_fw_min_8b << 16) |
+		     ((uint32_t)resp->hwrm_fw_bld_8b << 8) |
 		     resp->hwrm_fw_rsvd_8b;
 	PMD_DRV_LOG(INFO, "Driver HWRM version: %d.%d.%d\n",
 		HWRM_VERSION_MAJOR, HWRM_VERSION_MINOR, HWRM_VERSION_UPDATE);
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:12.627744701 +0100
+++ 0115-net-bnxt-fix-firmware-version-query.patch	2021-11-30 16:50:05.938874615 +0100
@@ -1 +1 @@
-From 211262d925268a3f5ac1c6a5a6610762b5ca5f5a Mon Sep 17 00:00:00 2001
+From 710a081d81a3fe6c28bbc67ad43b7f3050538e58 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 211262d925268a3f5ac1c6a5a6610762b5ca5f5a ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index 55dcb1dd6a..3fefd558d8 100644
+index 89f30e1b48..844f1e8cae 100644
@@ -27 +28 @@
-@@ -1260,9 +1260,9 @@ int bnxt_hwrm_ver_get(struct bnxt *bp, uint32_t timeout)
+@@ -1036,9 +1036,9 @@ int bnxt_hwrm_ver_get(struct bnxt *bp, uint32_t timeout)

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

* patch 'net/enic: avoid error message when no advanced filtering' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (113 preceding siblings ...)
  2021-11-30 16:35 ` patch 'net/bnxt: fix firmware version query' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'net/ice: save rule on switch filter creation' " christian.ehrhardt
                   ` (44 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Hyong Youb Kim; +Cc: John Daley, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 0dfb8b4a26a4b12da79fae719ad745673c43ae5f Mon Sep 17 00:00:00 2001
From: Hyong Youb Kim <hyonkim@cisco.com>
Date: Mon, 25 Oct 2021 17:04:18 -0700
Subject: [PATCH] net/enic: avoid error message when no advanced filtering

[ upstream commit af397b3c93f82b0803c0890874d7ee3b5127522d ]

Probing the availability of Flow Manager API may print the following
error log.

PMD: rte_enic_pmd: Devcmd 88 failed with error code -1

The error indicates a flow manager operation failed and happens when
advanced filtering is disabled on vNIC. It is harmless but confusing
to the user. Since advanced filtering is a prerequisite, check first
if it is available and avoid the error message altogether.

Fixes: ea7768b5bba8 ("net/enic: add flow implementation based on Flow Manager API")

Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
---
 drivers/net/enic/base/vnic_dev.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/enic/base/vnic_dev.c b/drivers/net/enic/base/vnic_dev.c
index 5535aa8774..4ce44362a9 100644
--- a/drivers/net/enic/base/vnic_dev.c
+++ b/drivers/net/enic/base/vnic_dev.c
@@ -520,6 +520,9 @@ static int vnic_dev_flowman_enable(struct vnic_dev *vdev, u32 *mode,
 	u64 ops;
 	static u32 instance;
 
+	/* Advanced filtering is a prerequisite */
+	if (!vnic_dev_capable_adv_filters(vdev))
+		return 0;
 	/* flowman devcmd available? */
 	if (!vnic_dev_capable(vdev, CMD_FLOW_MANAGER_OP))
 		return 0;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:12.714328542 +0100
+++ 0116-net-enic-avoid-error-message-when-no-advanced-filter.patch	2021-11-30 16:50:05.942874646 +0100
@@ -1 +1 @@
-From af397b3c93f82b0803c0890874d7ee3b5127522d Mon Sep 17 00:00:00 2001
+From 0dfb8b4a26a4b12da79fae719ad745673c43ae5f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit af397b3c93f82b0803c0890874d7ee3b5127522d ]
+
@@ -17 +18,0 @@
-Cc: stable@dpdk.org
@@ -26 +27 @@
-index 9c42595ced..00d7782e6e 100644
+index 5535aa8774..4ce44362a9 100644
@@ -29,3 +30,3 @@
-@@ -594,6 +594,9 @@ static int vnic_dev_flowman_enable(struct vnic_dev *vdev, uint32_t *mode,
- 	uint64_t ops;
- 	static uint32_t instance;
+@@ -520,6 +520,9 @@ static int vnic_dev_flowman_enable(struct vnic_dev *vdev, u32 *mode,
+ 	u64 ops;
+ 	static u32 instance;

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

* patch 'net/ice: save rule on switch filter creation' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (114 preceding siblings ...)
  2021-11-30 16:35 ` patch 'net/enic: avoid error message when no advanced filtering' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'crypto/qat: fix status in RSA decryption' " christian.ehrhardt
                   ` (43 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Dapeng Yu; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From b3f9982494d186a61e5e635a6af675a792ebeb49 Mon Sep 17 00:00:00 2001
From: Dapeng Yu <dapengx.yu@intel.com>
Date: Thu, 4 Nov 2021 16:45:34 +0800
Subject: [PATCH] net/ice: save rule on switch filter creation

[ upstream commit 9fda31c3229ca6e036cae80392578ed6e5a51119 ]

The VSI number, lookup elements and rule information for creating switch
filter are abandoned when switch filter is created in original
implementation.

This patch saved the abandoned data in RTE flow, it is for future
use on replay when handling exception at flow redirect.

Signed-off-by: Dapeng Yu <dapengx.yu@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/ice/ice_switch_filter.c | 78 +++++++++++++++++++++--------
 1 file changed, 58 insertions(+), 20 deletions(-)

diff --git a/drivers/net/ice/ice_switch_filter.c b/drivers/net/ice/ice_switch_filter.c
index 03493ee464..24ed232e88 100644
--- a/drivers/net/ice/ice_switch_filter.c
+++ b/drivers/net/ice/ice_switch_filter.c
@@ -101,6 +101,27 @@ static struct ice_flow_parser ice_switch_dist_parser_comms;
 static struct ice_flow_parser ice_switch_perm_parser_os;
 static struct ice_flow_parser ice_switch_perm_parser_comms;
 
+enum ice_sw_fltr_status {
+	ICE_SW_FLTR_ADDED,
+	ICE_SW_FLTR_RMV_FAILED_ON_RIDRECT,
+	ICE_SW_FLTR_ADD_FAILED_ON_RIDRECT,
+};
+
+struct ice_switch_filter_conf {
+	enum ice_sw_fltr_status fltr_status;
+
+	struct ice_rule_query_data sw_query_data;
+
+	/*
+	 * The lookup elements and rule info are saved here when filter creation
+	 * succeeds.
+	 */
+	uint16_t vsi_num;
+	uint16_t lkups_num;
+	struct ice_adv_lkup_elem *lkups;
+	struct ice_adv_rule_info rule_info;
+};
+
 static struct
 ice_pattern_match_item ice_switch_pattern_dist_os[] = {
 	{pattern_ethertype,
@@ -247,7 +268,7 @@ ice_switch_create(struct ice_adapter *ad,
 	struct ice_pf *pf = &ad->pf;
 	struct ice_hw *hw = ICE_PF_TO_HW(pf);
 	struct ice_rule_query_data rule_added = {0};
-	struct ice_rule_query_data *filter_ptr;
+	struct ice_switch_filter_conf *filter_conf_ptr;
 	struct ice_adv_lkup_elem *list =
 		((struct sw_meta *)meta)->list;
 	uint16_t lkups_cnt =
@@ -269,18 +290,26 @@ ice_switch_create(struct ice_adapter *ad,
 	}
 	ret = ice_add_adv_rule(hw, list, lkups_cnt, rule_info, &rule_added);
 	if (!ret) {
-		filter_ptr = rte_zmalloc("ice_switch_filter",
-			sizeof(struct ice_rule_query_data), 0);
-		if (!filter_ptr) {
+		filter_conf_ptr = rte_zmalloc("ice_switch_filter",
+			sizeof(struct ice_switch_filter_conf), 0);
+		if (!filter_conf_ptr) {
 			rte_flow_error_set(error, EINVAL,
 				   RTE_FLOW_ERROR_TYPE_HANDLE, NULL,
 				   "No memory for ice_switch_filter");
 			goto error;
 		}
-		flow->rule = filter_ptr;
-		rte_memcpy(filter_ptr,
-			&rule_added,
-			sizeof(struct ice_rule_query_data));
+
+		filter_conf_ptr->sw_query_data = rule_added;
+
+		filter_conf_ptr->vsi_num =
+			ice_get_hw_vsi_num(hw, rule_info->sw_act.vsi_handle);
+		filter_conf_ptr->lkups = list;
+		filter_conf_ptr->lkups_num = lkups_cnt;
+		filter_conf_ptr->rule_info = *rule_info;
+
+		filter_conf_ptr->fltr_status = ICE_SW_FLTR_ADDED;
+
+		flow->rule = filter_conf_ptr;
 	} else {
 		rte_flow_error_set(error, EINVAL,
 			RTE_FLOW_ERROR_TYPE_HANDLE, NULL,
@@ -288,7 +317,6 @@ ice_switch_create(struct ice_adapter *ad,
 		goto error;
 	}
 
-	rte_free(list);
 	rte_free(meta);
 	return 0;
 
@@ -299,6 +327,18 @@ error:
 	return -rte_errno;
 }
 
+static inline void
+ice_switch_filter_rule_free(struct rte_flow *flow)
+{
+	struct ice_switch_filter_conf *filter_conf_ptr =
+		(struct ice_switch_filter_conf *)flow->rule;
+
+	if (filter_conf_ptr)
+		rte_free(filter_conf_ptr->lkups);
+
+	rte_free(filter_conf_ptr);
+}
+
 static int
 ice_switch_destroy(struct ice_adapter *ad,
 		struct rte_flow *flow,
@@ -306,20 +346,24 @@ ice_switch_destroy(struct ice_adapter *ad,
 {
 	struct ice_hw *hw = &ad->hw;
 	int ret;
-	struct ice_rule_query_data *filter_ptr;
+	struct ice_switch_filter_conf *filter_conf_ptr;
 
-	filter_ptr = (struct ice_rule_query_data *)
+	filter_conf_ptr = (struct ice_switch_filter_conf *)
 		flow->rule;
 
-	if (!filter_ptr) {
+	if (!filter_conf_ptr ||
+	    filter_conf_ptr->fltr_status == ICE_SW_FLTR_ADD_FAILED_ON_RIDRECT) {
 		rte_flow_error_set(error, EINVAL,
 			RTE_FLOW_ERROR_TYPE_HANDLE, NULL,
 			"no such flow"
 			" create by switch filter");
+
+		ice_switch_filter_rule_free(flow);
+
 		return -rte_errno;
 	}
 
-	ret = ice_rem_adv_rule_by_id(hw, filter_ptr);
+	ret = ice_rem_adv_rule_by_id(hw, &filter_conf_ptr->sw_query_data);
 	if (ret) {
 		rte_flow_error_set(error, EINVAL,
 			RTE_FLOW_ERROR_TYPE_HANDLE, NULL,
@@ -327,16 +371,10 @@ ice_switch_destroy(struct ice_adapter *ad,
 		return -rte_errno;
 	}
 
-	rte_free(filter_ptr);
+	ice_switch_filter_rule_free(flow);
 	return ret;
 }
 
-static void
-ice_switch_filter_rule_free(struct rte_flow *flow)
-{
-	rte_free(flow->rule);
-}
-
 static uint64_t
 ice_switch_inset_get(const struct rte_flow_item pattern[],
 		struct rte_flow_error *error,
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:12.825159701 +0100
+++ 0117-net-ice-save-rule-on-switch-filter-creation.patch	2021-11-30 16:50:05.942874646 +0100
@@ -1 +1 @@
-From 9fda31c3229ca6e036cae80392578ed6e5a51119 Mon Sep 17 00:00:00 2001
+From b3f9982494d186a61e5e635a6af675a792ebeb49 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 9fda31c3229ca6e036cae80392578ed6e5a51119 ]
+
@@ -13,2 +14,0 @@
-Cc: stable@dpdk.org
-
@@ -22 +22 @@
-index 6b0c1bff1e..d5add64c53 100644
+index 03493ee464..24ed232e88 100644
@@ -25,3 +25,3 @@
-@@ -180,6 +180,27 @@ struct sw_meta {
- 	struct ice_adv_rule_info rule_info;
- };
+@@ -101,6 +101,27 @@ static struct ice_flow_parser ice_switch_dist_parser_comms;
+ static struct ice_flow_parser ice_switch_perm_parser_os;
+ static struct ice_flow_parser ice_switch_perm_parser_comms;
@@ -50,4 +50,4 @@
- static struct ice_flow_parser ice_switch_dist_parser;
- static struct ice_flow_parser ice_switch_perm_parser;
- 
-@@ -359,7 +380,7 @@ ice_switch_create(struct ice_adapter *ad,
+ static struct
+ ice_pattern_match_item ice_switch_pattern_dist_os[] = {
+ 	{pattern_ethertype,
+@@ -247,7 +268,7 @@ ice_switch_create(struct ice_adapter *ad,
@@ -62 +62 @@
-@@ -381,18 +402,26 @@ ice_switch_create(struct ice_adapter *ad,
+@@ -269,18 +290,26 @@ ice_switch_create(struct ice_adapter *ad,
@@ -96 +96 @@
-@@ -400,7 +429,6 @@ ice_switch_create(struct ice_adapter *ad,
+@@ -288,7 +317,6 @@ ice_switch_create(struct ice_adapter *ad,
@@ -104 +104 @@
-@@ -411,6 +439,18 @@ error:
+@@ -299,6 +327,18 @@ error:
@@ -123 +123 @@
-@@ -418,20 +458,24 @@ ice_switch_destroy(struct ice_adapter *ad,
+@@ -306,20 +346,24 @@ ice_switch_destroy(struct ice_adapter *ad,
@@ -152 +152 @@
-@@ -439,16 +483,10 @@ ice_switch_destroy(struct ice_adapter *ad,
+@@ -327,16 +371,10 @@ ice_switch_destroy(struct ice_adapter *ad,
@@ -167,2 +167,2 @@
- static bool
- ice_switch_parse_pattern(const struct rte_flow_item pattern[],
+ static uint64_t
+ ice_switch_inset_get(const struct rte_flow_item pattern[],

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

* patch 'crypto/qat: fix status in RSA decryption' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (115 preceding siblings ...)
  2021-11-30 16:35 ` patch 'net/ice: save rule on switch filter creation' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'crypto/qat: fix uncleared cookies after operation' " christian.ehrhardt
                   ` (42 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Arek Kusztal; +Cc: Fan Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 5fd855c5ddbbcaf4618a324e51f830ccb3099449 Mon Sep 17 00:00:00 2001
From: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Date: Thu, 21 Oct 2021 11:05:43 +0100
Subject: [PATCH] crypto/qat: fix status in RSA decryption

[ upstream commit 0a9e63940337f9de9d07080b63160b5e89ea1425 ]

This commit fixes not set crypto op status when decrypting
with RSA algorithm.

Fixes: e2c5f4ea994c ("crypto/qat: support RSA in asym")

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
---
 drivers/crypto/qat/qat_asym.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/crypto/qat/qat_asym.c b/drivers/crypto/qat/qat_asym.c
index 85973812a8..983c639d68 100644
--- a/drivers/crypto/qat/qat_asym.c
+++ b/drivers/crypto/qat/qat_asym.c
@@ -629,6 +629,8 @@ static void qat_asym_collect_response(struct rte_crypto_op *rx_op,
 					rte_memcpy(rsa_result,
 						cookie->output_array[0],
 						alg_size_in_bytes);
+					rx_op->status =
+						RTE_CRYPTO_OP_STATUS_SUCCESS;
 					break;
 				default:
 					QAT_LOG(ERR, "Padding not supported");
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:12.888522627 +0100
+++ 0118-crypto-qat-fix-status-in-RSA-decryption.patch	2021-11-30 16:50:05.942874646 +0100
@@ -1 +1 @@
-From 0a9e63940337f9de9d07080b63160b5e89ea1425 Mon Sep 17 00:00:00 2001
+From 5fd855c5ddbbcaf4618a324e51f830ccb3099449 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 0a9e63940337f9de9d07080b63160b5e89ea1425 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org

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

* patch 'crypto/qat: fix uncleared cookies after operation' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (116 preceding siblings ...)
  2021-11-30 16:35 ` patch 'crypto/qat: fix status in RSA decryption' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'examples/fips_validation: fix device start' " christian.ehrhardt
                   ` (41 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Arek Kusztal; +Cc: Fan Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 1bac9e7b29cb1979e876b810451a2272d34308d1 Mon Sep 17 00:00:00 2001
From: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Date: Thu, 21 Oct 2021 11:06:01 +0100
Subject: [PATCH] crypto/qat: fix uncleared cookies after operation

[ upstream commit 867ba300f915291629c33b2eadf6a98564c622a0 ]

This commit fixes uncleared cookies issue when using
RSA algorithm.

Fixes: e2c5f4ea994c ("crypto/qat: support RSA in asym")

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
---
 drivers/crypto/qat/qat_asym.c | 41 +++++++++++++++++++++++++----------
 1 file changed, 29 insertions(+), 12 deletions(-)

diff --git a/drivers/crypto/qat/qat_asym.c b/drivers/crypto/qat/qat_asym.c
index 983c639d68..f893508030 100644
--- a/drivers/crypto/qat/qat_asym.c
+++ b/drivers/crypto/qat/qat_asym.c
@@ -65,27 +65,45 @@ static size_t max_of(int n, ...)
 }
 
 static void qat_clear_arrays(struct qat_asym_op_cookie *cookie,
-		int in_count, int out_count, int in_size, int out_size)
+		int in_count, int out_count, int alg_size)
 {
 	int i;
 
 	for (i = 0; i < in_count; i++)
-		memset(cookie->input_array[i], 0x0, in_size);
+		memset(cookie->input_array[i], 0x0, alg_size);
 	for (i = 0; i < out_count; i++)
-		memset(cookie->output_array[i], 0x0, out_size);
+		memset(cookie->output_array[i], 0x0, alg_size);
+}
+
+static void qat_clear_arrays_crt(struct qat_asym_op_cookie *cookie,
+		int alg_size)
+{
+	int i;
+
+	memset(cookie->input_array[0], 0x0, alg_size);
+	for (i = 1; i < QAT_ASYM_RSA_QT_NUM_IN_PARAMS; i++)
+		memset(cookie->input_array[i], 0x0, alg_size / 2);
+	for (i = 0; i < QAT_ASYM_RSA_NUM_OUT_PARAMS; i++)
+		memset(cookie->output_array[i], 0x0, alg_size);
 }
 
 static void qat_clear_arrays_by_alg(struct qat_asym_op_cookie *cookie,
-		enum rte_crypto_asym_xform_type alg, int in_size, int out_size)
+		struct rte_crypto_asym_xform *xform, int alg_size)
 {
-	if (alg == RTE_CRYPTO_ASYM_XFORM_MODEX)
+	if (xform->xform_type == RTE_CRYPTO_ASYM_XFORM_MODEX)
 		qat_clear_arrays(cookie, QAT_ASYM_MODEXP_NUM_IN_PARAMS,
-				QAT_ASYM_MODEXP_NUM_OUT_PARAMS, in_size,
-				out_size);
-	else if (alg == RTE_CRYPTO_ASYM_XFORM_MODINV)
+				QAT_ASYM_MODEXP_NUM_OUT_PARAMS, alg_size);
+	else if (xform->xform_type == RTE_CRYPTO_ASYM_XFORM_MODINV)
 		qat_clear_arrays(cookie, QAT_ASYM_MODINV_NUM_IN_PARAMS,
-				QAT_ASYM_MODINV_NUM_OUT_PARAMS, in_size,
-				out_size);
+				QAT_ASYM_MODINV_NUM_OUT_PARAMS, alg_size);
+	else if (xform->xform_type == RTE_CRYPTO_ASYM_XFORM_RSA) {
+		if (xform->rsa.key_type == RTE_RSA_KET_TYPE_QT)
+			qat_clear_arrays_crt(cookie, alg_size);
+		else {
+			qat_clear_arrays(cookie, QAT_ASYM_RSA_NUM_IN_PARAMS,
+				QAT_ASYM_RSA_NUM_OUT_PARAMS, alg_size);
+		}
+	}
 }
 
 static int qat_asym_check_nonzero(rte_crypto_param n)
@@ -657,8 +675,7 @@ static void qat_asym_collect_response(struct rte_crypto_op *rx_op,
 			}
 		}
 	}
-	qat_clear_arrays_by_alg(cookie, xform->xform_type, alg_size_in_bytes,
-			alg_size_in_bytes);
+	qat_clear_arrays_by_alg(cookie, xform, alg_size_in_bytes);
 }
 
 void
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:12.941504518 +0100
+++ 0119-crypto-qat-fix-uncleared-cookies-after-operation.patch	2021-11-30 16:50:05.942874646 +0100
@@ -1 +1 @@
-From 867ba300f915291629c33b2eadf6a98564c622a0 Mon Sep 17 00:00:00 2001
+From 1bac9e7b29cb1979e876b810451a2272d34308d1 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 867ba300f915291629c33b2eadf6a98564c622a0 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org

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

* patch 'examples/fips_validation: fix device start' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (117 preceding siblings ...)
  2021-11-30 16:35 ` patch 'crypto/qat: fix uncleared cookies after operation' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'common/qat: fix queue pairs number' " christian.ehrhardt
                   ` (40 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Fan Zhang; +Cc: Akhil Goyal, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/50f8c290917b20ead100c39f07a7c4166226eb4a

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 50f8c290917b20ead100c39f07a7c4166226eb4a Mon Sep 17 00:00:00 2001
From: Fan Zhang <roy.fan.zhang@intel.com>
Date: Thu, 28 Oct 2021 11:22:00 +0100
Subject: [PATCH] examples/fips_validation: fix device start

[ upstream commit 3b2311cc096810dae761578cf526a95fc56cfc85 ]

This patch fixes the missing device start for fips validation
sample app.

Bugzilla ID: 842
Fixes: 261bbff75e34 ("examples: use separate crypto session mempools")

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Akhil Goyal <gakhil@marvell.com>
---
 examples/fips_validation/main.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/examples/fips_validation/main.c b/examples/fips_validation/main.c
index 5a4a25cb61..739c93656f 100644
--- a/examples/fips_validation/main.c
+++ b/examples/fips_validation/main.c
@@ -118,6 +118,10 @@ cryptodev_fips_validate_app_int(void)
 	if (ret < 0)
 		goto error_exit;
 
+	ret = rte_cryptodev_start(env.dev_id);
+	if (ret < 0)
+		goto error_exit;
+
 	return 0;
 
 error_exit:
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:12.989979726 +0100
+++ 0120-examples-fips_validation-fix-device-start.patch	2021-11-30 16:50:05.946874675 +0100
@@ -1 +1 @@
-From 3b2311cc096810dae761578cf526a95fc56cfc85 Mon Sep 17 00:00:00 2001
+From 50f8c290917b20ead100c39f07a7c4166226eb4a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3b2311cc096810dae761578cf526a95fc56cfc85 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index b0de3d269a..dc40bffe7d 100644
+index 5a4a25cb61..739c93656f 100644
@@ -23 +24 @@
-@@ -134,6 +134,10 @@ cryptodev_fips_validate_app_int(void)
+@@ -118,6 +118,10 @@ cryptodev_fips_validate_app_int(void)

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

* patch 'common/qat: fix queue pairs number' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (118 preceding siblings ...)
  2021-11-30 16:35 ` patch 'examples/fips_validation: fix device start' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'ethdev: fix crash on owner delete' " christian.ehrhardt
                   ` (39 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Przemyslaw Zegan; +Cc: Arek Kusztal, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From d2b406a1da4f4cbc1f6a1b1940659819e2ae2d34 Mon Sep 17 00:00:00 2001
From: Przemyslaw Zegan <przemyslawx.zegan@intel.com>
Date: Wed, 3 Nov 2021 15:08:23 +0000
Subject: [PATCH] common/qat: fix queue pairs number

[ upstream commit 4badfb0205f786b56cc25784787cbe566c0ad640 ]

This patch fixes incorrect number of queue pairs.

Fixes: 4c0d2ee23c39 ("crypto/qat: remove incorrect usage of bundle number")

Signed-off-by: Przemyslaw Zegan <przemyslawx.zegan@intel.com>
Acked-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
---
 drivers/common/qat/qat_adf/adf_transport_access_macros.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/common/qat/qat_adf/adf_transport_access_macros.h b/drivers/common/qat/qat_adf/adf_transport_access_macros.h
index 1eef5513fb..1c0b78b3f3 100644
--- a/drivers/common/qat/qat_adf/adf_transport_access_macros.h
+++ b/drivers/common/qat/qat_adf/adf_transport_access_macros.h
@@ -51,7 +51,7 @@
 #define ADF_DEFAULT_RING_SIZE ADF_RING_SIZE_16K
 
 /* Maximum number of qps on a device for any service type */
-#define ADF_MAX_QPS_ON_ANY_SERVICE	2
+#define ADF_MAX_QPS_ON_ANY_SERVICE	4
 #define ADF_RING_DIR_TX			0
 #define ADF_RING_DIR_RX			1
 
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:13.041959557 +0100
+++ 0121-common-qat-fix-queue-pairs-number.patch	2021-11-30 16:50:05.946874675 +0100
@@ -1 +1 @@
-From 4badfb0205f786b56cc25784787cbe566c0ad640 Mon Sep 17 00:00:00 2001
+From d2b406a1da4f4cbc1f6a1b1940659819e2ae2d34 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4badfb0205f786b56cc25784787cbe566c0ad640 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index f98bbb5001..a6d403fac3 100644
+index 1eef5513fb..1c0b78b3f3 100644
@@ -21,2 +22,2 @@
-@@ -55,7 +55,7 @@
- #define ADF_ARB_RINGSRVARBEN_OFFSET 0x19C
+@@ -51,7 +51,7 @@
+ #define ADF_DEFAULT_RING_SIZE ADF_RING_SIZE_16K

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

* patch 'ethdev: fix crash on owner delete' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (119 preceding siblings ...)
  2021-11-30 16:35 ` patch 'common/qat: fix queue pairs number' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'kni: check error code of allmulticast mode switch' " christian.ehrhardt
                   ` (38 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Chenbo Xia, Thomas Monjalon, Andrew Rybchenko, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From d3ccaea9fd142fe5fd42523ba9e79148319cb9db Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Thu, 4 Nov 2021 11:04:21 +0000
Subject: [PATCH] ethdev: fix crash on owner delete

[ upstream commit b7ade5d31a747fc044a9816b38814b47a6e1b201 ]

'eth_dev->data' can be null before ethdev allocated. The API walks
through all eth devices, at least for some data can be null.

Adding 'eth_dev->data' null check before accessing it.

Fixes: 33c73aae32e4 ("ethdev: allow ownership operations on unused port")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Chenbo Xia <chenbo.xia@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
---
 lib/librte_ethdev/rte_ethdev.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
index a51a902f04..abcc31c19e 100644
--- a/lib/librte_ethdev/rte_ethdev.c
+++ b/lib/librte_ethdev/rte_ethdev.c
@@ -702,10 +702,13 @@ rte_eth_dev_owner_delete(const uint64_t owner_id)
 	rte_spinlock_lock(&rte_eth_dev_shared_data->ownership_lock);
 
 	if (rte_eth_is_valid_owner_id(owner_id)) {
-		for (port_id = 0; port_id < RTE_MAX_ETHPORTS; port_id++)
-			if (rte_eth_devices[port_id].data->owner.id == owner_id)
-				memset(&rte_eth_devices[port_id].data->owner, 0,
+		for (port_id = 0; port_id < RTE_MAX_ETHPORTS; port_id++) {
+			struct rte_eth_dev_data *data =
+				rte_eth_devices[port_id].data;
+			if (data != NULL && data->owner.id == owner_id)
+				memset(&data->owner, 0,
 				       sizeof(struct rte_eth_dev_owner));
+		}
 		RTE_ETHDEV_LOG(NOTICE,
 			"All port owners owned by %016"PRIx64" identifier have removed\n",
 			owner_id);
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:13.088309076 +0100
+++ 0122-ethdev-fix-crash-on-owner-delete.patch	2021-11-30 16:50:05.950874704 +0100
@@ -1 +1 @@
-From b7ade5d31a747fc044a9816b38814b47a6e1b201 Mon Sep 17 00:00:00 2001
+From d3ccaea9fd142fe5fd42523ba9e79148319cb9db Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b7ade5d31a747fc044a9816b38814b47a6e1b201 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
- lib/ethdev/rte_ethdev.c | 9 ++++++---
+ lib/librte_ethdev/rte_ethdev.c | 9 ++++++---
@@ -22,6 +23,6 @@
-diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c
-index 7db84b12d0..8e679e4003 100644
---- a/lib/ethdev/rte_ethdev.c
-+++ b/lib/ethdev/rte_ethdev.c
-@@ -757,10 +757,13 @@ rte_eth_dev_owner_delete(const uint64_t owner_id)
- 	rte_spinlock_lock(&eth_dev_shared_data->ownership_lock);
+diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
+index a51a902f04..abcc31c19e 100644
+--- a/lib/librte_ethdev/rte_ethdev.c
++++ b/lib/librte_ethdev/rte_ethdev.c
+@@ -702,10 +702,13 @@ rte_eth_dev_owner_delete(const uint64_t owner_id)
+ 	rte_spinlock_lock(&rte_eth_dev_shared_data->ownership_lock);
@@ -29 +30 @@
- 	if (eth_is_valid_owner_id(owner_id)) {
+ 	if (rte_eth_is_valid_owner_id(owner_id)) {

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

* patch 'kni: check error code of allmulticast mode switch' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (120 preceding siblings ...)
  2021-11-30 16:35 ` patch 'ethdev: fix crash on owner delete' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'vfio: fix FreeBSD clear group stub' " christian.ehrhardt
                   ` (37 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Chengwen Feng; +Cc: Min Hu, Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From ed7ba187204a84afa475da658ab0573b28fbc3d2 Mon Sep 17 00:00:00 2001
From: Chengwen Feng <fengchengwen@huawei.com>
Date: Fri, 23 Apr 2021 16:12:42 +0800
Subject: [PATCH] kni: check error code of allmulticast mode switch

[ upstream commit b1f4933ef320cfc9096101499b711d0dd65f2e51 ]

Some drivers may return errcode when switch allmulticast mode,
so it's necessary to check the return code.

Fixes: b34801d1aa2e ("kni: support allmulticast mode set")

Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 lib/librte_kni/rte_kni.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/lib/librte_kni/rte_kni.c b/lib/librte_kni/rte_kni.c
index e96adc14b5..691bdd276b 100644
--- a/lib/librte_kni/rte_kni.c
+++ b/lib/librte_kni/rte_kni.c
@@ -514,6 +514,8 @@ kni_config_promiscusity(uint16_t port_id, uint8_t to_on)
 static int
 kni_config_allmulticast(uint16_t port_id, uint8_t to_on)
 {
+	int ret;
+
 	if (!rte_eth_dev_is_valid_port(port_id)) {
 		RTE_LOG(ERR, KNI, "Invalid port id %d\n", port_id);
 		return -EINVAL;
@@ -523,11 +525,16 @@ kni_config_allmulticast(uint16_t port_id, uint8_t to_on)
 		port_id, to_on);
 
 	if (to_on)
-		rte_eth_allmulticast_enable(port_id);
+		ret = rte_eth_allmulticast_enable(port_id);
 	else
-		rte_eth_allmulticast_disable(port_id);
+		ret = rte_eth_allmulticast_disable(port_id);
+	if (ret != 0)
+		RTE_LOG(ERR, KNI,
+			"Failed to %s allmulticast mode for port %u: %s\n",
+			to_on ? "enable" : "disable", port_id,
+			rte_strerror(-ret));
 
-	return 0;
+	return ret;
 }
 
 int
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:13.138149194 +0100
+++ 0123-kni-check-error-code-of-allmulticast-mode-switch.patch	2021-11-30 16:50:05.954874733 +0100
@@ -1 +1 @@
-From b1f4933ef320cfc9096101499b711d0dd65f2e51 Mon Sep 17 00:00:00 2001
+From ed7ba187204a84afa475da658ab0573b28fbc3d2 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b1f4933ef320cfc9096101499b711d0dd65f2e51 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- lib/kni/rte_kni.c | 13 ++++++++++---
+ lib/librte_kni/rte_kni.c | 13 ++++++++++---
@@ -19,4 +20,4 @@
-diff --git a/lib/kni/rte_kni.c b/lib/kni/rte_kni.c
-index d3e236005e..fc8f0e7b5a 100644
---- a/lib/kni/rte_kni.c
-+++ b/lib/kni/rte_kni.c
+diff --git a/lib/librte_kni/rte_kni.c b/lib/librte_kni/rte_kni.c
+index e96adc14b5..691bdd276b 100644
+--- a/lib/librte_kni/rte_kni.c
++++ b/lib/librte_kni/rte_kni.c

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

* patch 'vfio: fix FreeBSD clear group stub' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (121 preceding siblings ...)
  2021-11-30 16:35 ` patch 'kni: check error code of allmulticast mode switch' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'vfio: fix FreeBSD documentation' " christian.ehrhardt
                   ` (36 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Anatoly Burakov; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 8bcb2f48523b78d6963a8f3be3e912841b4afd89 Mon Sep 17 00:00:00 2001
From: Anatoly Burakov <anatoly.burakov@intel.com>
Date: Thu, 28 Oct 2021 14:15:17 +0000
Subject: [PATCH] vfio: fix FreeBSD clear group stub

[ upstream commit bf8b792f3b8519fecf3585ffac15da6f7bca2de9 ]

On FreeBSD, `rte_vfio_clear_group()` was returning 0 even though this
function is not valid for FreeBSD, and is called out to return error in
doxygen comments.
Fix the return value to match documentation.

Fixes: c564a2a20093 ("vfio: expose clear group function for internal usages")

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 lib/librte_eal/freebsd/eal/eal.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_eal/freebsd/eal/eal.c b/lib/librte_eal/freebsd/eal/eal.c
index d97651725b..e148d431c1 100644
--- a/lib/librte_eal/freebsd/eal/eal.c
+++ b/lib/librte_eal/freebsd/eal/eal.c
@@ -1028,7 +1028,7 @@ int rte_vfio_noiommu_is_enabled(void)
 
 int rte_vfio_clear_group(__rte_unused int vfio_group_fd)
 {
-	return 0;
+	return -1;
 }
 
 int
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:13.191862541 +0100
+++ 0124-vfio-fix-FreeBSD-clear-group-stub.patch	2021-11-30 16:50:05.958874763 +0100
@@ -1 +1 @@
-From bf8b792f3b8519fecf3585ffac15da6f7bca2de9 Mon Sep 17 00:00:00 2001
+From 8bcb2f48523b78d6963a8f3be3e912841b4afd89 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit bf8b792f3b8519fecf3585ffac15da6f7bca2de9 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- lib/eal/freebsd/eal.c | 2 +-
+ lib/librte_eal/freebsd/eal/eal.c | 2 +-
@@ -19,5 +20,5 @@
-diff --git a/lib/eal/freebsd/eal.c b/lib/eal/freebsd/eal.c
-index 2c2baaa691..5cea368efe 100644
---- a/lib/eal/freebsd/eal.c
-+++ b/lib/eal/freebsd/eal.c
-@@ -1045,7 +1045,7 @@ int rte_vfio_noiommu_is_enabled(void)
+diff --git a/lib/librte_eal/freebsd/eal/eal.c b/lib/librte_eal/freebsd/eal/eal.c
+index d97651725b..e148d431c1 100644
+--- a/lib/librte_eal/freebsd/eal/eal.c
++++ b/lib/librte_eal/freebsd/eal/eal.c
+@@ -1028,7 +1028,7 @@ int rte_vfio_noiommu_is_enabled(void)

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

* patch 'vfio: fix FreeBSD documentation' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (122 preceding siblings ...)
  2021-11-30 16:35 ` patch 'vfio: fix FreeBSD clear group stub' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'interrupt: fix request notifier interrupt processing' " christian.ehrhardt
                   ` (35 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Anatoly Burakov; +Cc: Chenbo Xia, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 4c105c785cf833e8b9214fef69564ec64e0bcc5c Mon Sep 17 00:00:00 2001
From: Anatoly Burakov <anatoly.burakov@intel.com>
Date: Thu, 28 Oct 2021 14:15:18 +0000
Subject: [PATCH] vfio: fix FreeBSD documentation

[ upstream commit da6e4cdca1144e2cc6f9f495a34d3085e707b78a ]

On FreeBSD, `rte_vfio_is_enabled()` and `rte_vfio_noiommu_is_enabled()`
API calls will not return error, and will instead return 0. This is
intentional, because the caller of this API does not care whether VFIO
is supported at all, and will instead be interested in whether VFIO is
enabled or not. However, the doxygen comments for these functions state
that they will return an error on FreeBSD, which is incorrect.

Fix the doxygen comment to call out the fact that these
functions are only relevant on Linux, but remove the reference to
returning errors.

Fixes: 279b581c897d ("vfio: expose functions")

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Chenbo Xia <chenbo.xia@intel.com>
---
 lib/librte_eal/common/include/rte_vfio.h | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/lib/librte_eal/common/include/rte_vfio.h b/lib/librte_eal/common/include/rte_vfio.h
index 2d90b36480..7bdb8932b2 100644
--- a/lib/librte_eal/common/include/rte_vfio.h
+++ b/lib/librte_eal/common/include/rte_vfio.h
@@ -150,8 +150,7 @@ int rte_vfio_enable(const char *modname);
 /**
  * Check whether a VFIO-related kmod is enabled.
  *
- * This function is only relevant to linux and will return
- * an error on BSD.
+ * This function is only relevant to Linux.
  *
  * @param modname
  *   kernel module name.
@@ -165,8 +164,7 @@ int rte_vfio_is_enabled(const char *modname);
 /**
  * Whether VFIO NOIOMMU mode is enabled.
  *
- * This function is only relevant to linux and will return
- * an error on BSD.
+ * This function is only relevant to Linux.
  *
  * @return
  *   1 if true.
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:13.241752101 +0100
+++ 0125-vfio-fix-FreeBSD-documentation.patch	2021-11-30 16:50:05.958874763 +0100
@@ -1 +1 @@
-From da6e4cdca1144e2cc6f9f495a34d3085e707b78a Mon Sep 17 00:00:00 2001
+From 4c105c785cf833e8b9214fef69564ec64e0bcc5c Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit da6e4cdca1144e2cc6f9f495a34d3085e707b78a ]
+
@@ -18 +19,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
- lib/eal/include/rte_vfio.h | 6 ++----
+ lib/librte_eal/common/include/rte_vfio.h | 6 ++----
@@ -26 +27 @@
-diff --git a/lib/eal/include/rte_vfio.h b/lib/eal/include/rte_vfio.h
+diff --git a/lib/librte_eal/common/include/rte_vfio.h b/lib/librte_eal/common/include/rte_vfio.h
@@ -28,2 +29,2 @@
---- a/lib/eal/include/rte_vfio.h
-+++ b/lib/eal/include/rte_vfio.h
+--- a/lib/librte_eal/common/include/rte_vfio.h
++++ b/lib/librte_eal/common/include/rte_vfio.h

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

* patch 'interrupt: fix request notifier interrupt processing' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (123 preceding siblings ...)
  2021-11-30 16:35 ` patch 'vfio: fix FreeBSD documentation' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'net/hns3: simplify queue DMA address arithmetic' " christian.ehrhardt
                   ` (34 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Maciej Szwed; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From ced22e5b524795bc8e8e70814f93e330f3f6cbda Mon Sep 17 00:00:00 2001
From: Maciej Szwed <maciej.szwed@intel.com>
Date: Tue, 19 Oct 2021 12:06:57 +0200
Subject: [PATCH] interrupt: fix request notifier interrupt processing

[ upstream commit aeed570a211fe31c976f9f4de07039cb7c8a125e ]

We should call read() on RTE_INTR_HANDLE_VFIO_REQ event
to confirm that event.

Fixes: 0eb8a1c4c786 ("vfio: add request notifier interrupt")

Signed-off-by: Maciej Szwed <maciej.szwed@intel.com>
---
 lib/librte_eal/linux/eal/eal_interrupts.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/lib/librte_eal/linux/eal/eal_interrupts.c b/lib/librte_eal/linux/eal/eal_interrupts.c
index e570c0684e..348aef2ece 100644
--- a/lib/librte_eal/linux/eal/eal_interrupts.c
+++ b/lib/librte_eal/linux/eal/eal_interrupts.c
@@ -877,17 +877,14 @@ eal_intr_process_interrupts(struct epoll_event *events, int nfds)
 			bytes_read = sizeof(buf.timerfd_num);
 			break;
 #ifdef VFIO_PRESENT
+#ifdef HAVE_VFIO_DEV_REQ_INTERFACE
+		case RTE_INTR_HANDLE_VFIO_REQ:
+#endif
 		case RTE_INTR_HANDLE_VFIO_MSIX:
 		case RTE_INTR_HANDLE_VFIO_MSI:
 		case RTE_INTR_HANDLE_VFIO_LEGACY:
 			bytes_read = sizeof(buf.vfio_intr_count);
 			break;
-#ifdef HAVE_VFIO_DEV_REQ_INTERFACE
-		case RTE_INTR_HANDLE_VFIO_REQ:
-			bytes_read = 0;
-			call = true;
-			break;
-#endif
 #endif
 		case RTE_INTR_HANDLE_VDEV:
 		case RTE_INTR_HANDLE_EXT:
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:13.295555014 +0100
+++ 0126-interrupt-fix-request-notifier-interrupt-processing.patch	2021-11-30 16:50:05.958874763 +0100
@@ -1 +1 @@
-From aeed570a211fe31c976f9f4de07039cb7c8a125e Mon Sep 17 00:00:00 2001
+From ced22e5b524795bc8e8e70814f93e330f3f6cbda Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit aeed570a211fe31c976f9f4de07039cb7c8a125e ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -14 +15 @@
- lib/eal/linux/eal_interrupts.c | 9 +++------
+ lib/librte_eal/linux/eal/eal_interrupts.c | 9 +++------
@@ -17,5 +18,5 @@
-diff --git a/lib/eal/linux/eal_interrupts.c b/lib/eal/linux/eal_interrupts.c
-index 15a27a2abf..6e3925efd4 100644
---- a/lib/eal/linux/eal_interrupts.c
-+++ b/lib/eal/linux/eal_interrupts.c
-@@ -947,17 +947,14 @@ eal_intr_process_interrupts(struct epoll_event *events, int nfds)
+diff --git a/lib/librte_eal/linux/eal/eal_interrupts.c b/lib/librte_eal/linux/eal/eal_interrupts.c
+index e570c0684e..348aef2ece 100644
+--- a/lib/librte_eal/linux/eal/eal_interrupts.c
++++ b/lib/librte_eal/linux/eal/eal_interrupts.c
+@@ -877,17 +877,14 @@ eal_intr_process_interrupts(struct epoll_event *events, int nfds)

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

* patch 'net/hns3: simplify queue DMA address arithmetic' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (124 preceding siblings ...)
  2021-11-30 16:35 ` patch 'interrupt: fix request notifier interrupt processing' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'app/testpmd: remove unused header file' " christian.ehrhardt
                   ` (33 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Huisong Li; +Cc: Min Hu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From eba0dc77635f4120d9bfcb3bd7391842f1a42171 Mon Sep 17 00:00:00 2001
From: Huisong Li <lihuisong@huawei.com>
Date: Sat, 6 Nov 2021 09:42:58 +0800
Subject: [PATCH] net/hns3: simplify queue DMA address arithmetic

[ upstream commit f658f415814add688ade5783200143d14eefc51a ]

The patch obtains the upper 32 bits of the Rx/Tx queue DMA address in one
step instead of two steps.

Fixes: bba636698316 ("net/hns3: support Rx/Tx and related operations")

Signed-off-by: Huisong Li <lihuisong@huawei.com>
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
---
 drivers/net/hns3/hns3_rxtx.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c
index bc1806c0e7..c538c98725 100644
--- a/drivers/net/hns3/hns3_rxtx.c
+++ b/drivers/net/hns3/hns3_rxtx.c
@@ -294,7 +294,7 @@ hns3_init_rx_queue_hw(struct hns3_rx_queue *rxq)
 
 	hns3_write_dev(rxq, HNS3_RING_RX_BASEADDR_L_REG, (uint32_t)dma_addr);
 	hns3_write_dev(rxq, HNS3_RING_RX_BASEADDR_H_REG,
-		       (uint32_t)((dma_addr >> 31) >> 1));
+		       (uint32_t)(dma_addr >> 32));
 
 	hns3_write_dev(rxq, HNS3_RING_RX_BD_LEN_REG,
 		       hns3_buf_size2type(rx_buf_len));
@@ -309,7 +309,7 @@ hns3_init_tx_queue_hw(struct hns3_tx_queue *txq)
 
 	hns3_write_dev(txq, HNS3_RING_TX_BASEADDR_L_REG, (uint32_t)dma_addr);
 	hns3_write_dev(txq, HNS3_RING_TX_BASEADDR_H_REG,
-		       (uint32_t)((dma_addr >> 31) >> 1));
+		       (uint32_t)(dma_addr >> 32));
 
 	hns3_write_dev(txq, HNS3_RING_TX_BD_NUM_REG,
 		       HNS3_CFG_DESC_NUM(txq->nb_tx_desc));
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:13.337670674 +0100
+++ 0127-net-hns3-simplify-queue-DMA-address-arithmetic.patch	2021-11-30 16:50:05.962874792 +0100
@@ -1 +1 @@
-From f658f415814add688ade5783200143d14eefc51a Mon Sep 17 00:00:00 2001
+From eba0dc77635f4120d9bfcb3bd7391842f1a42171 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit f658f415814add688ade5783200143d14eefc51a ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index ceb98025f8..00af73c850 100644
+index bc1806c0e7..c538c98725 100644
@@ -22 +23 @@
-@@ -322,7 +322,7 @@ hns3_init_rx_queue_hw(struct hns3_rx_queue *rxq)
+@@ -294,7 +294,7 @@ hns3_init_rx_queue_hw(struct hns3_rx_queue *rxq)
@@ -31 +32 @@
-@@ -337,7 +337,7 @@ hns3_init_tx_queue_hw(struct hns3_tx_queue *txq)
+@@ -309,7 +309,7 @@ hns3_init_tx_queue_hw(struct hns3_tx_queue *txq)

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

* patch 'app/testpmd: remove unused header file' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (125 preceding siblings ...)
  2021-11-30 16:35 ` patch 'net/hns3: simplify queue DMA address arithmetic' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'power: fix build with clang 13' " christian.ehrhardt
                   ` (32 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Huisong Li; +Cc: Min Hu, Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From d783e54ad8642083469354cfc1ab535b7141c3ec Mon Sep 17 00:00:00 2001
From: Huisong Li <lihuisong@huawei.com>
Date: Mon, 25 Oct 2021 14:39:22 +0800
Subject: [PATCH] app/testpmd: remove unused header file

[ upstream commit 694d61b8e7cb9d8992d1dc9f81bad491451465e4 ]

This patch removes unused "rte_eth_bond.h" header file.

Fixes: 2950a769315e ("bond: testpmd support")

Signed-off-by: Huisong Li <lihuisong@huawei.com>
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 app/test-pmd/parameters.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/app/test-pmd/parameters.c b/app/test-pmd/parameters.c
index 9ce3b4f4be..e1e9af95ec 100644
--- a/app/test-pmd/parameters.c
+++ b/app/test-pmd/parameters.c
@@ -39,9 +39,6 @@
 #include <rte_ether.h>
 #include <rte_ethdev.h>
 #include <rte_string_fns.h>
-#ifdef RTE_LIBRTE_PMD_BOND
-#include <rte_eth_bond.h>
-#endif
 #include <rte_flow.h>
 
 #include "testpmd.h"
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:13.393981247 +0100
+++ 0128-app-testpmd-remove-unused-header-file.patch	2021-11-30 16:50:05.962874792 +0100
@@ -1 +1 @@
-From 694d61b8e7cb9d8992d1dc9f81bad491451465e4 Mon Sep 17 00:00:00 2001
+From d783e54ad8642083469354cfc1ab535b7141c3ec Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 694d61b8e7cb9d8992d1dc9f81bad491451465e4 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index cb40917077..0974b0a38f 100644
+index 9ce3b4f4be..e1e9af95ec 100644
@@ -22 +23 @@
-@@ -38,9 +38,6 @@
+@@ -39,9 +39,6 @@
@@ -26 +27 @@
--#ifdef RTE_NET_BOND
+-#ifdef RTE_LIBRTE_PMD_BOND

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

* patch 'power: fix build with clang 13' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (126 preceding siblings ...)
  2021-11-30 16:35 ` patch 'app/testpmd: remove unused header file' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'net/mlx5: fix RETA update without stopping device' " christian.ehrhardt
                   ` (31 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Jim Harris; +Cc: David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 3cc36e068b4298160caa9e77c5545bd8f8e019f6 Mon Sep 17 00:00:00 2001
From: Jim Harris <james.r.harris@intel.com>
Date: Fri, 5 Nov 2021 15:53:51 +0000
Subject: [PATCH] power: fix build with clang 13

[ upstream commit 0353121c33846c40ff2e2282448f324c93d3ce9d ]

clang-13 rightfully complains that the tot_ppi variable in update_stats
is set but not used, since the final accumulated tot_ppi results isn't
used anywhere.

Fixes: 450f0791312c ("power: add traffic pattern aware power control")

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
---
 lib/librte_power/rte_power_empty_poll.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/lib/librte_power/rte_power_empty_poll.c b/lib/librte_power/rte_power_empty_poll.c
index 0a8024ddca..6aa5a5735f 100644
--- a/lib/librte_power/rte_power_empty_poll.c
+++ b/lib/librte_power/rte_power_empty_poll.c
@@ -207,7 +207,7 @@ update_training_stats(struct priority_worker *poll_stats,
 static inline uint32_t __attribute__((always_inline))
 update_stats(struct priority_worker *poll_stats)
 {
-	uint64_t tot_edpi = 0, tot_ppi = 0;
+	uint64_t tot_edpi = 0;
 	uint32_t j, percent;
 
 	struct priority_worker *s = poll_stats;
@@ -237,7 +237,6 @@ update_stats(struct priority_worker *poll_stats)
 
 	for (j = 0; j < BINS_AV; j++) {
 		tot_edpi += s->edpi_av[j];
-		tot_ppi += s->ppi_av[j];
 	}
 
 	tot_edpi = tot_edpi / BINS_AV;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:13.444869755 +0100
+++ 0129-power-fix-build-with-clang-13.patch	2021-11-30 16:50:05.966874821 +0100
@@ -1 +1 @@
-From 0353121c33846c40ff2e2282448f324c93d3ce9d Mon Sep 17 00:00:00 2001
+From 3cc36e068b4298160caa9e77c5545bd8f8e019f6 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 0353121c33846c40ff2e2282448f324c93d3ce9d ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- lib/power/rte_power_empty_poll.c | 3 +--
+ lib/librte_power/rte_power_empty_poll.c | 3 +--
@@ -19,4 +20,4 @@
-diff --git a/lib/power/rte_power_empty_poll.c b/lib/power/rte_power_empty_poll.c
-index 975aa92997..8a2d60c576 100644
---- a/lib/power/rte_power_empty_poll.c
-+++ b/lib/power/rte_power_empty_poll.c
+diff --git a/lib/librte_power/rte_power_empty_poll.c b/lib/librte_power/rte_power_empty_poll.c
+index 0a8024ddca..6aa5a5735f 100644
+--- a/lib/librte_power/rte_power_empty_poll.c
++++ b/lib/librte_power/rte_power_empty_poll.c
@@ -24 +25 @@
- static __rte_always_inline uint32_t
+ static inline uint32_t __attribute__((always_inline))

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

* patch 'net/mlx5: fix RETA update without stopping device' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (127 preceding siblings ...)
  2021-11-30 16:35 ` patch 'power: fix build with clang 13' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'doc: describe timestamp limitations for mlx5' " christian.ehrhardt
                   ` (30 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Bing Zhao; +Cc: Viacheslav Ovsiienko, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From e3f1ad1116f8d6bfd2bb32c3ac0e27c67495c29d Mon Sep 17 00:00:00 2001
From: Bing Zhao <bingz@nvidia.com>
Date: Fri, 5 Nov 2021 08:10:57 +0200
Subject: [PATCH] net/mlx5: fix RETA update without stopping device

[ upstream commit 6b5b3005cb1854e471fa1ef3eb579dbd444c05b0 ]

The global redirection table is used to create the default flow
rules for the ingress traffic with the lowest priority. It is also
used to create the default RSS rule in the destination table when
there is a tunnel offload.

To update the RETA in-flight, there is no restriction in the ethdev
API. In the previous implementation of mlx5, a port restart was
needed to make the new configuration take effect.

The restart is heavy, e.g., all the queues will be released and
reallocated, users' rules will be flushed. Since the restart is
internal, there is a risk to crash the application when some change
in the ethdev is introduced but no workaround is done in mlx5 PMD.

The users' rules, including the default miss rule for tunnel
offload, should not be impacted by the RETA update. It is improper
to flush all rules when updating RETA.

With this patch, only the default rules will be flushed and
re-created with the new table configuration.

Fixes: 3f2fe392bd49 ("net/mlx5: fix crash during RETA update")

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

diff --git a/drivers/net/mlx5/mlx5_rss.c b/drivers/net/mlx5/mlx5_rss.c
index a0daafe81d..468358a589 100644
--- a/drivers/net/mlx5/mlx5_rss.c
+++ b/drivers/net/mlx5/mlx5_rss.c
@@ -221,12 +221,6 @@ mlx5_dev_rss_reta_update(struct rte_eth_dev *dev,
 		assert(reta_conf[idx].reta[pos] < priv->rxqs_n);
 		(*priv->reta_idx)[i] = reta_conf[idx].reta[pos];
 	}
-
 	priv->skip_default_rss_reta = 1;
-
-	if (dev->data->dev_started) {
-		mlx5_dev_stop(dev);
-		return mlx5_dev_start(dev);
-	}
-	return 0;
+	return mlx5_traffic_restart(dev);
 }
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:13.492476594 +0100
+++ 0130-net-mlx5-fix-RETA-update-without-stopping-device.patch	2021-11-30 16:50:05.966874821 +0100
@@ -1 +1 @@
-From 6b5b3005cb1854e471fa1ef3eb579dbd444c05b0 Mon Sep 17 00:00:00 2001
+From e3f1ad1116f8d6bfd2bb32c3ac0e27c67495c29d Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 6b5b3005cb1854e471fa1ef3eb579dbd444c05b0 ]
+
@@ -28 +29,0 @@
-Cc: stable@dpdk.org
@@ -37 +38 @@
-index 75af05b7b0..e2b478b75c 100644
+index a0daafe81d..468358a589 100644
@@ -40,2 +41,2 @@
-@@ -218,12 +218,6 @@ mlx5_dev_rss_reta_update(struct rte_eth_dev *dev,
- 		MLX5_ASSERT(reta_conf[idx].reta[pos] < priv->rxqs_n);
+@@ -221,12 +221,6 @@ mlx5_dev_rss_reta_update(struct rte_eth_dev *dev,
+ 		assert(reta_conf[idx].reta[pos] < priv->rxqs_n);

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

* patch 'doc: describe timestamp limitations for mlx5' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (128 preceding siblings ...)
  2021-11-30 16:35 ` patch 'net/mlx5: fix RETA update without stopping device' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'test/red: fix typo in test description' " christian.ehrhardt
                   ` (29 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Viacheslav Ovsiienko; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From df4b9cae885a3da71b437fbb5f67c8da10a10dc1 Mon Sep 17 00:00:00 2001
From: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Date: Mon, 8 Nov 2021 18:41:01 +0200
Subject: [PATCH] doc: describe timestamp limitations for mlx5

[ upstream commit 1a3709c1f021afbe58db4a27a179127e561fe401 ]

The ConnectX NIC series hardware provides only 63-bit
wide timestamps. The imposed limitations description
added to documentation.

At the moment there are no affected applications known
or bug reports neither, this is just the declaration
of limitation.

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
 doc/guides/nics/mlx5.rst | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index e81875de50..6deea36537 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -227,6 +227,20 @@ Limitations
   - Rx queue with LRO offload enabled, receiving a non-LRO packet, can forward
     it with size limited to max LRO size, not to max RX packet length.
 
+- Timestamps:
+
+  - CQE timestamp field width is limited by hardware to 63 bits, MSB is zero.
+  - In the free-running mode the timestamp counter is reset on power on
+    and 63-bit value provides over 1800 years of uptime till overflow.
+  - In the real-time mode
+    (configurable with ``REAL_TIME_CLOCK_ENABLE`` firmware settings),
+    the timestamp presents the nanoseconds elapsed since 01-Jan-1970,
+    hardware timestamp overflow will happen on 19-Jan-2038
+    (0x80000000 seconds since 01-Jan-1970).
+  - The send scheduling is based on timestamps
+    from the reference "Clock Queue" completions,
+    the scheduled send timestamps should not be specified with non-zero MSB.
+
 Statistics
 ----------
 
@@ -839,6 +853,10 @@ Below are some firmware configurations listed.
 
    FLEX_PARSER_PROFILE_ENABLE=0
 
+- enable realtime timestamp format::
+
+   REAL_TIME_CLOCK_ENABLE=1
+
 Prerequisites
 -------------
 
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:13.533034998 +0100
+++ 0131-doc-describe-timestamp-limitations-for-mlx5.patch	2021-11-30 16:50:05.966874821 +0100
@@ -1 +1 @@
-From 1a3709c1f021afbe58db4a27a179127e561fe401 Mon Sep 17 00:00:00 2001
+From df4b9cae885a3da71b437fbb5f67c8da10a10dc1 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 1a3709c1f021afbe58db4a27a179127e561fe401 ]
+
@@ -14,2 +15,0 @@
-Cc: stable@dpdk.org
-
@@ -22 +22 @@
-index d175c2061e..552e06c0db 100644
+index e81875de50..6deea36537 100644
@@ -25,3 +25,3 @@
-@@ -480,6 +480,20 @@ Limitations
- 
-   - Needs OFED 5.4+.
+@@ -227,6 +227,20 @@ Limitations
+   - Rx queue with LRO offload enabled, receiving a non-LRO packet, can forward
+     it with size limited to max LRO size, not to max RX packet length.
@@ -46,3 +46,3 @@
-@@ -1242,6 +1256,10 @@ Below are some firmware configurations listed.
-    FLEX_PARSER_PROFILE_ENABLE=4
-    PROG_PARSE_GRAPH=1
+@@ -839,6 +853,10 @@ Below are some firmware configurations listed.
+ 
+    FLEX_PARSER_PROFILE_ENABLE=0
@@ -54,2 +54,2 @@
- Linux Prerequisites
- -------------------
+ Prerequisites
+ -------------

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

* patch 'test/red: fix typo in test description' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (129 preceding siblings ...)
  2021-11-30 16:35 ` patch 'doc: describe timestamp limitations for mlx5' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'net/hinic/base: remove some unused variables' " christian.ehrhardt
                   ` (28 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: David Marchand; +Cc: Cristian Dumitrescu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/6b92949a9054d5146706c89117439d09a29b87b2

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 6b92949a9054d5146706c89117439d09a29b87b2 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Fri, 12 Nov 2021 14:56:45 +0100
Subject: [PATCH] test/red: fix typo in test description

[ upstream commit fc812a214055091518df78526138f2059e90f5c8 ]

This is probably due a s/red/rte_red/ a long time ago.

Fixes: de3cfa2c9823 ("sched: initial import")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@yahoo.com>
---
 app/test/test_red.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/test/test_red.c b/app/test/test_red.c
index e973f3131e..05936cfee8 100644
--- a/app/test/test_red.c
+++ b/app/test/test_red.c
@@ -1049,7 +1049,7 @@ static struct test_queue ft6_tqueue = {
 static struct test_config func_test6_config = {
 	.ifname = "functional test 6 interface",
 	.msg = "functional test 6 : use several queues (each with its own run-time data),\n"
-	"		    use several RED configurations (such that each configuration is sharte_red by multiple queues),\n"
+	"		    use several RED configurations (such that each configuration is shared by multiple queues),\n"
 	"		    increase average queue size to target level,\n"
 	"		    dequeue all packets until queue is empty,\n"
 	"		    confirm that average queue size is computed correctly while queue is empty\n"
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:13.582463801 +0100
+++ 0132-test-red-fix-typo-in-test-description.patch	2021-11-30 16:50:05.970874851 +0100
@@ -1 +1 @@
-From fc812a214055091518df78526138f2059e90f5c8 Mon Sep 17 00:00:00 2001
+From 6b92949a9054d5146706c89117439d09a29b87b2 Mon Sep 17 00:00:00 2001
@@ -4,0 +5,2 @@
+
+[ upstream commit fc812a214055091518df78526138f2059e90f5c8 ]

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

* patch 'net/hinic/base: remove some unused variables' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (130 preceding siblings ...)
  2021-11-30 16:35 ` patch 'test/red: fix typo in test description' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'bus/fslmc: remove unused device count' " christian.ehrhardt
                   ` (27 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Conor Walsh; +Cc: Liang Longfeng, David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/962fa4d5b464fc98af6dcffde2ade1d2d265425c

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 962fa4d5b464fc98af6dcffde2ade1d2d265425c Mon Sep 17 00:00:00 2001
From: Conor Walsh <conor.walsh@intel.com>
Date: Mon, 15 Nov 2021 17:58:54 +0000
Subject: [PATCH] net/hinic/base: remove some unused variables

[ upstream commit b5dedf261c907df478413f5c9e4ba97fc568bb4e ]

Reported by clang 13.

Bugzilla ID: 881
Fixes: a4957d87e05a ("net/hinic/base: add mgmt module")

Reported-by: Liang Longfeng <longfengx.liang@intel.com>
Signed-off-by: Conor Walsh <conor.walsh@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
---
 drivers/net/hinic/base/hinic_pmd_mgmt.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/net/hinic/base/hinic_pmd_mgmt.c b/drivers/net/hinic/base/hinic_pmd_mgmt.c
index d5fd16f235..6357fbe8ae 100644
--- a/drivers/net/hinic/base/hinic_pmd_mgmt.c
+++ b/drivers/net/hinic/base/hinic_pmd_mgmt.c
@@ -133,16 +133,12 @@ static void prepare_header(struct hinic_msg_pf_to_mgmt *pf_to_mgmt,
 static void prepare_mgmt_cmd(u8 *mgmt_cmd, u64 *header, void *msg,
 			     int msg_len)
 {
-	u32 cmd_buf_max = MAX_PF_MGMT_BUF_SIZE;
-
 	memset(mgmt_cmd, 0, MGMT_MSG_RSVD_FOR_DEV);
 
 	mgmt_cmd += MGMT_MSG_RSVD_FOR_DEV;
-	cmd_buf_max -= MGMT_MSG_RSVD_FOR_DEV;
 	memcpy(mgmt_cmd, header, sizeof(*header));
 
 	mgmt_cmd += sizeof(*header);
-	cmd_buf_max -= sizeof(*header);
 	memcpy(mgmt_cmd, msg, msg_len);
 }
 
@@ -615,7 +611,6 @@ static int recv_mgmt_msg_handler(struct hinic_msg_pf_to_mgmt *pf_to_mgmt,
 	void *msg_body = header + sizeof(msg_header);
 	u8 *dest_msg;
 	u8 seq_id, seq_len;
-	u32 msg_buf_max = MAX_PF_MGMT_BUF_SIZE;
 	u8 front_id;
 	u16 msg_id;
 
@@ -635,7 +630,6 @@ static int recv_mgmt_msg_handler(struct hinic_msg_pf_to_mgmt *pf_to_mgmt,
 	}
 
 	dest_msg = (u8 *)recv_msg->msg + seq_id * HINIC_MSG_SEG_LEN;
-	msg_buf_max -= seq_id * HINIC_MSG_SEG_LEN;
 	memcpy(dest_msg, msg_body, seq_len);
 
 	if (!HINIC_MSG_HEADER_GET(msg_header, LAST))
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:13.655973085 +0100
+++ 0133-net-hinic-base-remove-some-unused-variables.patch	2021-11-30 16:50:05.970874851 +0100
@@ -1 +1 @@
-From b5dedf261c907df478413f5c9e4ba97fc568bb4e Mon Sep 17 00:00:00 2001
+From 962fa4d5b464fc98af6dcffde2ade1d2d265425c Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b5dedf261c907df478413f5c9e4ba97fc568bb4e ]
+
@@ -19 +21 @@
-index 9b399502de..6ecca407a1 100644
+index d5fd16f235..6357fbe8ae 100644

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

* patch 'bus/fslmc: remove unused device count' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (131 preceding siblings ...)
  2021-11-30 16:35 ` patch 'net/hinic/base: remove some unused variables' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'event/sw: remove unused inflight events " christian.ehrhardt
                   ` (26 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Conor Walsh; +Cc: Liang Longfeng, David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 8b0fbea116a32034fe10bedb260aa1eb2859e3e6 Mon Sep 17 00:00:00 2001
From: Conor Walsh <conor.walsh@intel.com>
Date: Mon, 15 Nov 2021 17:58:51 +0000
Subject: [PATCH] bus/fslmc: remove unused device count

[ upstream commit 54d109b5643002d4368a7355af5fa623aede330a ]

Reported by clang 13.
This patch removes the device_count variable from the rte_fslmc_scan
function within the fslmc bus driver as it is an unused but set variable.

Bugzilla ID: 881
Fixes: 828d51d8fc3e ("bus/fslmc: refactor scan and probe functions")

Reported-by: Liang Longfeng <longfengx.liang@intel.com>
Signed-off-by: Conor Walsh <conor.walsh@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
---
 drivers/bus/fslmc/fslmc_bus.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c
index 7431177f2e..727015fdc3 100644
--- a/drivers/bus/fslmc/fslmc_bus.c
+++ b/drivers/bus/fslmc/fslmc_bus.c
@@ -308,7 +308,6 @@ static int
 rte_fslmc_scan(void)
 {
 	int ret;
-	int device_count = 0;
 	char fslmc_dirpath[PATH_MAX];
 	DIR *dir;
 	struct dirent *entry;
@@ -342,7 +341,6 @@ rte_fslmc_scan(void)
 			/* Error in parsing directory - exit gracefully */
 			goto scan_fail_cleanup;
 		}
-		device_count += 1;
 	}
 
 	closedir(dir);
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:13.704246860 +0100
+++ 0134-bus-fslmc-remove-unused-device-count.patch	2021-11-30 16:50:05.970874851 +0100
@@ -1 +1 @@
-From 54d109b5643002d4368a7355af5fa623aede330a Mon Sep 17 00:00:00 2001
+From 8b0fbea116a32034fe10bedb260aa1eb2859e3e6 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 54d109b5643002d4368a7355af5fa623aede330a ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index ac3cb4aa5a..a0ef24cdc8 100644
+index 7431177f2e..727015fdc3 100644
@@ -25 +26 @@
-@@ -315,7 +315,6 @@ static int
+@@ -308,7 +308,6 @@ static int
@@ -33 +34 @@
-@@ -349,7 +348,6 @@ rte_fslmc_scan(void)
+@@ -342,7 +341,6 @@ rte_fslmc_scan(void)

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

* patch 'event/sw: remove unused inflight events count' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (132 preceding siblings ...)
  2021-11-30 16:35 ` patch 'bus/fslmc: remove unused device count' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'net/liquidio: remove unused counter' " christian.ehrhardt
                   ` (25 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Conor Walsh; +Cc: Liang Longfeng, Harry van Haaren, David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 0f5f1767a166ac516cfc2b3439f90512eb5ae685 Mon Sep 17 00:00:00 2001
From: Conor Walsh <conor.walsh@intel.com>
Date: Mon, 15 Nov 2021 17:58:53 +0000
Subject: [PATCH] event/sw: remove unused inflight events count

[ upstream commit 0f66d415c467daa1a41bb5184d72e61980c8991b ]

Reported by clang 13.
This patch removes the inflights variable from the sw_dump function
within the software section of the event driver as it is an unused but
set variable.

Bugzilla ID: 881
Fixes: c66baa68e453 ("event/sw: add dump function for easier debugging")

Reported-by: Liang Longfeng <longfengx.liang@intel.com>
Signed-off-by: Conor Walsh <conor.walsh@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
---
 drivers/event/sw/sw_evdev.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw/sw_evdev.c
index fb8e8bebbb..d075108610 100644
--- a/drivers/event/sw/sw_evdev.c
+++ b/drivers/event/sw/sw_evdev.c
@@ -717,7 +717,6 @@ sw_dump(struct rte_eventdev *dev, FILE *f)
 			continue;
 		}
 		int affinities_per_port[SW_PORTS_MAX] = {0};
-		uint32_t inflights = 0;
 
 		fprintf(f, "  Queue %d (%s)\n", i, q_type_strings[qid->type]);
 		fprintf(f, "\trx   %"PRIu64"\tdrop %"PRIu64"\ttx   %"PRIu64"\n",
@@ -738,7 +737,6 @@ sw_dump(struct rte_eventdev *dev, FILE *f)
 		for (flow = 0; flow < RTE_DIM(qid->fids); flow++)
 			if (qid->fids[flow].cq != -1) {
 				affinities_per_port[qid->fids[flow].cq]++;
-				inflights += qid->fids[flow].pcount;
 			}
 
 		uint32_t port;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:13.747135766 +0100
+++ 0135-event-sw-remove-unused-inflight-events-count.patch	2021-11-30 16:50:05.974874880 +0100
@@ -1 +1 @@
-From 0f66d415c467daa1a41bb5184d72e61980c8991b Mon Sep 17 00:00:00 2001
+From 0f5f1767a166ac516cfc2b3439f90512eb5ae685 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 0f66d415c467daa1a41bb5184d72e61980c8991b ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index 070a4802e9..fa72ceb949 100644
+index fb8e8bebbb..d075108610 100644
@@ -27 +28 @@
-@@ -711,7 +711,6 @@ sw_dump(struct rte_eventdev *dev, FILE *f)
+@@ -717,7 +717,6 @@ sw_dump(struct rte_eventdev *dev, FILE *f)
@@ -35 +36 @@
-@@ -732,7 +731,6 @@ sw_dump(struct rte_eventdev *dev, FILE *f)
+@@ -738,7 +737,6 @@ sw_dump(struct rte_eventdev *dev, FILE *f)

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

* patch 'net/liquidio: remove unused counter' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (133 preceding siblings ...)
  2021-11-30 16:35 ` patch 'event/sw: remove unused inflight events " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'net/qede/base: remove unused message size' " christian.ehrhardt
                   ` (24 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Conor Walsh; +Cc: Liang Longfeng, David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/571c9e53faaba756f433241b149f76ddb78bdab6

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 571c9e53faaba756f433241b149f76ddb78bdab6 Mon Sep 17 00:00:00 2001
From: Conor Walsh <conor.walsh@intel.com>
Date: Mon, 15 Nov 2021 17:58:54 +0000
Subject: [PATCH] net/liquidio: remove unused counter

[ upstream commit 52415c6b2553d4cd44f79b4cb693016225a67b43 ]

Reported by clang 13.

Bugzilla ID: 881
Fixes: 5ee7640f95a0 ("net/liquidio: add API to flush IQ")

Reported-by: Liang Longfeng <longfengx.liang@intel.com>
Signed-off-by: Conor Walsh <conor.walsh@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
---
 drivers/net/liquidio/lio_rxtx.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/net/liquidio/lio_rxtx.c b/drivers/net/liquidio/lio_rxtx.c
index 8d705bfe7f..f57b7712b5 100644
--- a/drivers/net/liquidio/lio_rxtx.c
+++ b/drivers/net/liquidio/lio_rxtx.c
@@ -1050,7 +1050,6 @@ lio_update_read_index(struct lio_instr_queue *iq)
 int
 lio_flush_iq(struct lio_device *lio_dev, struct lio_instr_queue *iq)
 {
-	uint32_t tot_inst_processed = 0;
 	uint32_t inst_processed = 0;
 	int tx_done = 1;
 
@@ -1073,7 +1072,6 @@ lio_flush_iq(struct lio_device *lio_dev, struct lio_instr_queue *iq)
 			iq->stats.instr_processed += inst_processed;
 		}
 
-		tot_inst_processed += inst_processed;
 		inst_processed = 0;
 
 	} while (1);
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:13.796505703 +0100
+++ 0136-net-liquidio-remove-unused-counter.patch	2021-11-30 16:50:05.974874880 +0100
@@ -1 +1 @@
-From 52415c6b2553d4cd44f79b4cb693016225a67b43 Mon Sep 17 00:00:00 2001
+From 571c9e53faaba756f433241b149f76ddb78bdab6 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 52415c6b2553d4cd44f79b4cb693016225a67b43 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index ef127f26c4..e09798ddd7 100644
+index 8d705bfe7f..f57b7712b5 100644

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

* patch 'net/qede/base: remove unused message size' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (134 preceding siblings ...)
  2021-11-30 16:35 ` patch 'net/liquidio: remove unused counter' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'net/vmxnet3: fix build with clang 13' " christian.ehrhardt
                   ` (23 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Conor Walsh; +Cc: Liang Longfeng, David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From fd9fd79a697dcce097d5330b2b9725cf72c5ee28 Mon Sep 17 00:00:00 2001
From: Conor Walsh <conor.walsh@intel.com>
Date: Mon, 15 Nov 2021 17:58:54 +0000
Subject: [PATCH] net/qede/base: remove unused message size

[ upstream commit 2ccebadab2f1e7fa867c708cc1487986ac3be122 ]

Reported by clang 13.

Bugzilla ID: 881
Fixes: 86a2265e59d7 ("qede: add SRIOV support")

Reported-by: Liang Longfeng <longfengx.liang@intel.com>
Signed-off-by: Conor Walsh <conor.walsh@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
---
 drivers/net/qede/base/ecore_vf.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/net/qede/base/ecore_vf.c b/drivers/net/qede/base/ecore_vf.c
index 0e5b7d5eb3..6d4a1d9708 100644
--- a/drivers/net/qede/base/ecore_vf.c
+++ b/drivers/net/qede/base/ecore_vf.c
@@ -73,7 +73,7 @@ static void ecore_vf_pf_req_end(struct ecore_hwfn *p_hwfn,
 #endif
 static enum _ecore_status_t
 ecore_send_msg2pf(struct ecore_hwfn *p_hwfn,
-		  u8 *done, u32 resp_size)
+		  u8 *done, __rte_unused u32 resp_size)
 {
 	union vfpf_tlvs *p_req = p_hwfn->vf_iov_info->vf2pf_request;
 	struct ustorm_trigger_vf_zone trigger;
@@ -86,9 +86,6 @@ ecore_send_msg2pf(struct ecore_hwfn *p_hwfn,
 	/* output tlvs list */
 	ecore_dp_tlv_list(p_hwfn, p_req);
 
-	/* need to add the END TLV to the message size */
-	resp_size += sizeof(struct channel_list_end_tlv);
-
 	/* Send TLVs over HW channel */
 	OSAL_MEMSET(&trigger, 0, sizeof(struct ustorm_trigger_vf_zone));
 	trigger.vf_pf_msg_valid = 1;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:13.841409793 +0100
+++ 0137-net-qede-base-remove-unused-message-size.patch	2021-11-30 16:50:05.978874910 +0100
@@ -1 +1 @@
-From 2ccebadab2f1e7fa867c708cc1487986ac3be122 Mon Sep 17 00:00:00 2001
+From fd9fd79a697dcce097d5330b2b9725cf72c5ee28 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 2ccebadab2f1e7fa867c708cc1487986ac3be122 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index db03bc494f..a36ae47c2b 100644
+index 0e5b7d5eb3..6d4a1d9708 100644

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

* patch 'net/vmxnet3: fix build with clang 13' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (135 preceding siblings ...)
  2021-11-30 16:35 ` patch 'net/qede/base: remove unused message size' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'test/distributor: remove unused counter' " christian.ehrhardt
                   ` (22 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Conor Walsh; +Cc: Liang Longfeng, David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 36e063bd82840c41814d6496740f14586bd2d4aa Mon Sep 17 00:00:00 2001
From: Conor Walsh <conor.walsh@intel.com>
Date: Mon, 15 Nov 2021 17:58:54 +0000
Subject: [PATCH] net/vmxnet3: fix build with clang 13

[ upstream commit e76eb560bcf31988384a0cecc6a617475cec1d06 ]

The completed variable is used for debug logs even though clang 13
reports it as unused.

Bugzilla ID: 881
Fixes: c3ecdbb376da ("vmxnet3: support TSO")

Reported-by: Liang Longfeng <longfengx.liang@intel.com>
Signed-off-by: Conor Walsh <conor.walsh@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
---
 drivers/net/vmxnet3/vmxnet3_rxtx.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c b/drivers/net/vmxnet3/vmxnet3_rxtx.c
index 73e270f30f..76b8e54772 100644
--- a/drivers/net/vmxnet3/vmxnet3_rxtx.c
+++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c
@@ -341,6 +341,9 @@ vmxnet3_tq_tx_complete(vmxnet3_tx_queue_t *txq)
 	}
 
 	PMD_TX_LOG(DEBUG, "Processed %d tx comps & command descs.", completed);
+
+	/* To avoid compiler warnings when not in DEBUG mode. */
+	RTE_SET_USED(completed);
 }
 
 uint16_t
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:13.905215958 +0100
+++ 0138-net-vmxnet3-fix-build-with-clang-13.patch	2021-11-30 16:50:05.978874910 +0100
@@ -1 +1 @@
-From e76eb560bcf31988384a0cecc6a617475cec1d06 Mon Sep 17 00:00:00 2001
+From 36e063bd82840c41814d6496740f14586bd2d4aa Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e76eb560bcf31988384a0cecc6a617475cec1d06 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index deba64be6a..d745064bc4 100644
+index 73e270f30f..76b8e54772 100644
@@ -24 +25 @@
-@@ -340,6 +340,9 @@ vmxnet3_tq_tx_complete(vmxnet3_tx_queue_t *txq)
+@@ -341,6 +341,9 @@ vmxnet3_tq_tx_complete(vmxnet3_tx_queue_t *txq)

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

* patch 'test/distributor: remove unused counter' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (136 preceding siblings ...)
  2021-11-30 16:35 ` patch 'net/vmxnet3: fix build with clang 13' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'examples/performance-thread: remove unused hits count' " christian.ehrhardt
                   ` (21 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Conor Walsh; +Cc: Liang Longfeng, David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/78665353d69fdb904e1d7a5a74b13a5919643087

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 78665353d69fdb904e1d7a5a74b13a5919643087 Mon Sep 17 00:00:00 2001
From: Conor Walsh <conor.walsh@intel.com>
Date: Mon, 15 Nov 2021 17:58:50 +0000
Subject: [PATCH] test/distributor: remove unused counter

[ upstream commit ccbdaaa9815259f5af3b6cd3be6ba6eb8ffc4b5b ]

Reported by clang 13.
This patch fixes unused but set variables in the distributor test perf.

Bugzilla ID: 881
Fixes: c0de0eb82e40 ("distributor: switch over to new API")

Reported-by: Liang Longfeng <longfengx.liang@intel.com>
Signed-off-by: Conor Walsh <conor.walsh@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
---
 app/test/test_distributor_perf.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/app/test/test_distributor_perf.c b/app/test/test_distributor_perf.c
index 1f5db4c533..2441231e49 100644
--- a/app/test/test_distributor_perf.c
+++ b/app/test/test_distributor_perf.c
@@ -108,7 +108,6 @@ static int
 handle_work(void *arg)
 {
 	struct rte_distributor *d = arg;
-	unsigned int count = 0;
 	unsigned int num = 0;
 	int i;
 	unsigned int id = __atomic_fetch_add(&worker_idx, 1, __ATOMIC_RELAXED);
@@ -120,11 +119,9 @@ handle_work(void *arg)
 	num = rte_distributor_get_pkt(d, id, buf, buf, num);
 	while (!quit) {
 		worker_stats[id].handled_packets += num;
-		count += num;
 		num = rte_distributor_get_pkt(d, id, buf, buf, num);
 	}
 	worker_stats[id].handled_packets += num;
-	count += num;
 	rte_distributor_return_pkt(d, id, buf, num);
 	return 0;
 }
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:13.950106343 +0100
+++ 0139-test-distributor-remove-unused-counter.patch	2021-11-30 16:50:05.978874910 +0100
@@ -1 +1 @@
-From ccbdaaa9815259f5af3b6cd3be6ba6eb8ffc4b5b Mon Sep 17 00:00:00 2001
+From 78665353d69fdb904e1d7a5a74b13a5919643087 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit ccbdaaa9815259f5af3b6cd3be6ba6eb8ffc4b5b ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index fdbeae6d2f..92e330f194 100644
+index 1f5db4c533..2441231e49 100644

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

* patch 'examples/performance-thread: remove unused hits count' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (137 preceding siblings ...)
  2021-11-30 16:35 ` patch 'test/distributor: remove unused counter' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'eventdev/eth_tx: fix queue delete logic' " christian.ehrhardt
                   ` (20 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Conor Walsh; +Cc: Liang Longfeng, David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/43442efcf4a0ba642977e80cd2ec5843e9cb7849

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 43442efcf4a0ba642977e80cd2ec5843e9cb7849 Mon Sep 17 00:00:00 2001
From: Conor Walsh <conor.walsh@intel.com>
Date: Mon, 15 Nov 2021 17:58:55 +0000
Subject: [PATCH] examples/performance-thread: remove unused hits count

[ upstream commit 130e99db590073dd58da7e5c32dec8c2181527dd ]

Reported by clang 13.
This patch removes the hits variable from the cpu_load_collector function
within the performance thread example app as it is an unused but set
variable.

Bugzilla ID: 881
Fixes: d48415e1fee3 ("examples/performance-thread: add l3fwd-thread app")

Reported-by: Liang Longfeng <longfengx.liang@intel.com>
Signed-off-by: Conor Walsh <conor.walsh@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
---
 examples/performance-thread/l3fwd-thread/main.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/examples/performance-thread/l3fwd-thread/main.c b/examples/performance-thread/l3fwd-thread/main.c
index aee075f2d2..4792d92122 100644
--- a/examples/performance-thread/l3fwd-thread/main.c
+++ b/examples/performance-thread/l3fwd-thread/main.c
@@ -1885,7 +1885,6 @@ process_burst(struct rte_mbuf *pkts_burst[MAX_PKT_BURST], int nb_rx,
 static int __attribute__((noreturn))
 cpu_load_collector(__rte_unused void *arg) {
 	unsigned i, j, k;
-	uint64_t hits;
 	uint64_t prev_tsc, diff_tsc, cur_tsc;
 	uint64_t total[MAX_CPU] = { 0 };
 	unsigned min_cpu = MAX_CPU;
@@ -1975,12 +1974,10 @@ cpu_load_collector(__rte_unused void *arg) {
 			printf("cpu#     proc%%  poll%%  overhead%%\n\n");
 
 			for (i = min_cpu; i <= max_cpu; i++) {
-				hits = 0;
 				printf("CPU %d:", i);
 				for (j = 0; j < MAX_CPU_COUNTER; j++) {
 					printf("%7" PRIu64 "",
 							cpu_load.hits[j][i] * 100 / cpu_load.counter);
-					hits += cpu_load.hits[j][i];
 					cpu_load.hits[j][i] = 0;
 				}
 				printf("%7" PRIu64 "\n",
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:13.998555623 +0100
+++ 0140-examples-performance-thread-remove-unused-hits-count.patch	2021-11-30 16:50:05.986874968 +0100
@@ -1 +1 @@
-From 130e99db590073dd58da7e5c32dec8c2181527dd Mon Sep 17 00:00:00 2001
+From 43442efcf4a0ba642977e80cd2ec5843e9cb7849 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 130e99db590073dd58da7e5c32dec8c2181527dd ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index 3a6a33bda3..8a35040597 100644
+index aee075f2d2..4792d92122 100644
@@ -27 +28 @@
- static int __rte_noreturn
+ static int __attribute__((noreturn))
@@ -34 +35 @@
-@@ -1972,12 +1971,10 @@ cpu_load_collector(__rte_unused void *arg) {
+@@ -1975,12 +1974,10 @@ cpu_load_collector(__rte_unused void *arg) {

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

* patch 'eventdev/eth_tx: fix queue delete logic' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (138 preceding siblings ...)
  2021-11-30 16:35 ` patch 'examples/performance-thread: remove unused hits count' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'test/crypto: skip plain text compare for null cipher' " christian.ehrhardt
                   ` (19 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Naga Harish K S V; +Cc: Jay Jayatheerthan, David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/91f6ce93be36b0ce3e7eaee0afb194c4b9474320

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 91f6ce93be36b0ce3e7eaee0afb194c4b9474320 Mon Sep 17 00:00:00 2001
From: Naga Harish K S V <s.v.naga.harish.k@intel.com>
Date: Tue, 9 Nov 2021 01:33:33 -0600
Subject: [PATCH] eventdev/eth_tx: fix queue delete logic

[ upstream commit 741b499e6421ff93542d17c57f536b9d8e9bb443 ]

This patch fixes heap-use-after-free reported by ASan.

The application can use the queue_id as `-1` to delete all
the queues of the eth_device that are added to tx_adapter
instance.
In above case, the queue_del API is trying to use number of
queues from adapter level instead of eth_device queues.
When there are queues added from multiple eth devices,
it will result in heap-use-after-free as reported by ASAN.

This patch fixes the queue_del API to use correct number of
queues.

Bugzilla ID: 869
Fixes: a3bbf2e09756 ("eventdev: add eth Tx adapter implementation")

Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com>
Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com>
Tested-by: David Marchand <david.marchand@redhat.com>
---
 lib/librte_eventdev/rte_event_eth_tx_adapter.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.c b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
index 88abd45d17..e4dbae7bc5 100644
--- a/lib/librte_eventdev/rte_event_eth_tx_adapter.c
+++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
@@ -817,7 +817,7 @@ txa_service_queue_del(uint8_t id,
 		uint16_t i, q, nb_queues;
 		int ret = 0;
 
-		nb_queues = txa->nb_queues;
+		nb_queues = txa->txa_ethdev[port_id].nb_queues;
 		if (nb_queues == 0)
 			return 0;
 
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:14.051103723 +0100
+++ 0141-eventdev-eth_tx-fix-queue-delete-logic.patch	2021-11-30 16:50:05.986874968 +0100
@@ -1 +1 @@
-From 741b499e6421ff93542d17c57f536b9d8e9bb443 Mon Sep 17 00:00:00 2001
+From 91f6ce93be36b0ce3e7eaee0afb194c4b9474320 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 741b499e6421ff93542d17c57f536b9d8e9bb443 ]
+
@@ -21 +22,0 @@
-Cc: stable@dpdk.org
@@ -27 +28 @@
- lib/eventdev/rte_event_eth_tx_adapter.c | 2 +-
+ lib/librte_eventdev/rte_event_eth_tx_adapter.c | 2 +-
@@ -30,5 +31,5 @@
-diff --git a/lib/eventdev/rte_event_eth_tx_adapter.c b/lib/eventdev/rte_event_eth_tx_adapter.c
-index da55d2c2dc..c17f33f098 100644
---- a/lib/eventdev/rte_event_eth_tx_adapter.c
-+++ b/lib/eventdev/rte_event_eth_tx_adapter.c
-@@ -864,7 +864,7 @@ txa_service_queue_del(uint8_t id,
+diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.c b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
+index 88abd45d17..e4dbae7bc5 100644
+--- a/lib/librte_eventdev/rte_event_eth_tx_adapter.c
++++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
+@@ -817,7 +817,7 @@ txa_service_queue_del(uint8_t id,

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

* patch 'test/crypto: skip plain text compare for null cipher' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (139 preceding siblings ...)
  2021-11-30 16:35 ` patch 'eventdev/eth_tx: fix queue delete logic' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'test/crypto: fix data lengths' " christian.ehrhardt
                   ` (18 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Anoob Joseph; +Cc: Ciara Power, Pablo de Lara, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/6bf2029993e5d39783078abff164fb57c92cf3df

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 6bf2029993e5d39783078abff164fb57c92cf3df Mon Sep 17 00:00:00 2001
From: Anoob Joseph <anoobj@marvell.com>
Date: Wed, 10 Nov 2021 18:34:08 +0530
Subject: [PATCH] test/crypto: skip plain text compare for null cipher

[ upstream commit 9fc69835feb33d0e155076163ecc2f5479cf1bc2 ]

NULL cipher is used for validating auth only cases. With NULL cipher,
validating plain text should not be done as the PMD is only expected
to update auth data.

Fixes: e847fc512817 ("test/crypto: add encrypted digest case for AES-CTR-CMAC")

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Acked-by: Ciara Power <ciara.power@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 app/test/test_cryptodev.c | 63 ++++++++++++++++++++++-----------------
 1 file changed, 35 insertions(+), 28 deletions(-)

diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
index 42c573664b..89cd53e746 100644
--- a/app/test/test_cryptodev.c
+++ b/app/test/test_cryptodev.c
@@ -6789,27 +6789,30 @@ test_mixed_auth_cipher(const struct mixed_cipher_auth_test_data *tdata,
 				tdata->digest_enc.len);
 	}
 
-	/* Validate obuf */
-	if (verify) {
-		TEST_ASSERT_BUFFERS_ARE_EQUAL_BIT(
-				plaintext,
-				tdata->plaintext.data,
-				tdata->plaintext.len_bits >> 3,
-				"Plaintext data not as expected");
-	} else {
-		TEST_ASSERT_BUFFERS_ARE_EQUAL_BIT(
-				ciphertext,
-				tdata->ciphertext.data,
-				tdata->validDataLen.len_bits,
-				"Ciphertext data not as expected");
-
+	if (!verify) {
 		TEST_ASSERT_BUFFERS_ARE_EQUAL(
 				ut_params->digest,
 				tdata->digest_enc.data,
-				DIGEST_BYTE_LENGTH_SNOW3G_UIA2,
+				tdata->digest_enc.len,
 				"Generated auth tag not as expected");
 	}
 
+	if (tdata->cipher_algo != RTE_CRYPTO_CIPHER_NULL) {
+		if (verify) {
+			TEST_ASSERT_BUFFERS_ARE_EQUAL_BIT(
+					plaintext,
+					tdata->plaintext.data,
+					tdata->plaintext.len_bits >> 3,
+					"Plaintext data not as expected");
+		} else {
+			TEST_ASSERT_BUFFERS_ARE_EQUAL_BIT(
+					ciphertext,
+					tdata->ciphertext.data,
+					tdata->validDataLen.len_bits,
+					"Ciphertext data not as expected");
+		}
+	}
+
 	TEST_ASSERT_EQUAL(ut_params->op->status, RTE_CRYPTO_OP_STATUS_SUCCESS,
 			"crypto op processing failed");
 
@@ -7006,19 +7009,7 @@ test_mixed_auth_cipher_sgl(const struct mixed_cipher_auth_test_data *tdata,
 				tdata->digest_enc.data, tdata->digest_enc.len);
 	}
 
-	/* Validate obuf */
-	if (verify) {
-		TEST_ASSERT_BUFFERS_ARE_EQUAL_BIT(
-				plaintext,
-				tdata->plaintext.data,
-				tdata->plaintext.len_bits >> 3,
-				"Plaintext data not as expected");
-	} else {
-		TEST_ASSERT_BUFFERS_ARE_EQUAL_BIT(
-				ciphertext,
-				tdata->ciphertext.data,
-				tdata->validDataLen.len_bits,
-				"Ciphertext data not as expected");
+	if (!verify) {
 		TEST_ASSERT_BUFFERS_ARE_EQUAL(
 				digest,
 				tdata->digest_enc.data,
@@ -7026,6 +7017,22 @@ test_mixed_auth_cipher_sgl(const struct mixed_cipher_auth_test_data *tdata,
 				"Generated auth tag not as expected");
 	}
 
+	if (tdata->cipher_algo != RTE_CRYPTO_CIPHER_NULL) {
+		if (verify) {
+			TEST_ASSERT_BUFFERS_ARE_EQUAL_BIT(
+					plaintext,
+					tdata->plaintext.data,
+					tdata->plaintext.len_bits >> 3,
+					"Plaintext data not as expected");
+		} else {
+			TEST_ASSERT_BUFFERS_ARE_EQUAL_BIT(
+					ciphertext,
+					tdata->ciphertext.data,
+					tdata->validDataLen.len_bits,
+					"Ciphertext data not as expected");
+		}
+	}
+
 	TEST_ASSERT_EQUAL(ut_params->op->status, RTE_CRYPTO_OP_STATUS_SUCCESS,
 			"crypto op processing failed");
 
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:14.105972537 +0100
+++ 0142-test-crypto-skip-plain-text-compare-for-null-cipher.patch	2021-11-30 16:50:06.006875115 +0100
@@ -1 +1 @@
-From 9fc69835feb33d0e155076163ecc2f5479cf1bc2 Mon Sep 17 00:00:00 2001
+From 6bf2029993e5d39783078abff164fb57c92cf3df Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 9fc69835feb33d0e155076163ecc2f5479cf1bc2 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 52457596e2..1b68d7c43b 100644
+index 42c573664b..89cd53e746 100644
@@ -24 +25 @@
-@@ -7484,27 +7484,30 @@ test_mixed_auth_cipher(const struct mixed_cipher_auth_test_data *tdata,
+@@ -6789,27 +6789,30 @@ test_mixed_auth_cipher(const struct mixed_cipher_auth_test_data *tdata,
@@ -70 +71 @@
-@@ -7701,19 +7704,7 @@ test_mixed_auth_cipher_sgl(const struct mixed_cipher_auth_test_data *tdata,
+@@ -7006,19 +7009,7 @@ test_mixed_auth_cipher_sgl(const struct mixed_cipher_auth_test_data *tdata,
@@ -91 +92 @@
-@@ -7721,6 +7712,22 @@ test_mixed_auth_cipher_sgl(const struct mixed_cipher_auth_test_data *tdata,
+@@ -7026,6 +7017,22 @@ test_mixed_auth_cipher_sgl(const struct mixed_cipher_auth_test_data *tdata,

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

* patch 'test/crypto: fix data lengths' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (140 preceding siblings ...)
  2021-11-30 16:35 ` patch 'test/crypto: skip plain text compare for null cipher' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'common/cpt: fix KASUMI input length' " christian.ehrhardt
                   ` (17 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Kai Ji; +Cc: Anoob Joseph, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 3cf7745c4f1358b2fde4a1be7ddd61293945d786 Mon Sep 17 00:00:00 2001
From: Kai Ji <kai.ji@intel.com>
Date: Tue, 9 Nov 2021 10:42:31 +0000
Subject: [PATCH] test/crypto: fix data lengths

[ upstream commit f52b75c61b7cf75e5c9a665e465dfbace2a18f30 ]

This patch fixes incorrect data lengths computation in cryptodev
unit test. Previously some data lengths were incorrectly set, which
was insensitive for crypto op unit tets but is critical for raw data
path API unit tests. The patch addressed the issue by setting the
correct data lengths for some tests.

Fixes: 681f540da52b ("cryptodev: do not use AAD in wireless algorithms")
Fixes: e847fc512817 ("test/crypto: add encrypted digest case for AES-CTR-CMAC")
Fixes: b1c1df46878d ("test/crypto: add ZUC test cases for auth-cipher")

Signed-off-by: Kai Ji <kai.ji@intel.com>
Acked-by: Anoob Joseph <anoobj@marvell.com>
---
 app/test/test_cryptodev.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
index 89cd53e746..189f7be4a4 100644
--- a/app/test/test_cryptodev.c
+++ b/app/test/test_cryptodev.c
@@ -3957,9 +3957,9 @@ test_kasumi_decryption(const struct kasumi_test_data *tdata)
 
 	/* Create KASUMI operation */
 	retval = create_wireless_algo_cipher_operation(tdata->cipher_iv.data,
-					tdata->cipher_iv.len,
-					tdata->ciphertext.len,
-					tdata->validCipherOffsetInBits.len);
+			tdata->cipher_iv.len,
+			RTE_ALIGN_CEIL(tdata->validCipherLenInBits.len, 8),
+			tdata->validCipherOffsetInBits.len);
 	if (retval < 0)
 		return retval;
 
@@ -5717,20 +5717,20 @@ test_zuc_auth_cipher(const struct wireless_test_data *tdata,
 		ciphertext = (uint8_t *)rte_pktmbuf_append(ut_params->ibuf,
 					ciphertext_pad_len);
 		memcpy(ciphertext, tdata->ciphertext.data, ciphertext_len);
-		if (op_mode == OUT_OF_PLACE)
-			rte_pktmbuf_append(ut_params->obuf, ciphertext_pad_len);
 		debug_hexdump(stdout, "ciphertext:", ciphertext,
 			ciphertext_len);
 	} else {
+		/* make sure enough space to cover partial digest verify case */
 		plaintext = (uint8_t *)rte_pktmbuf_append(ut_params->ibuf,
-					plaintext_pad_len);
+					ciphertext_pad_len);
 		memcpy(plaintext, tdata->plaintext.data, plaintext_len);
-		if (op_mode == OUT_OF_PLACE)
-			rte_pktmbuf_append(ut_params->obuf, plaintext_pad_len);
 		debug_hexdump(stdout, "plaintext:", plaintext,
 			plaintext_len);
 	}
 
+	if (op_mode == OUT_OF_PLACE)
+		rte_pktmbuf_append(ut_params->obuf, ciphertext_pad_len);
+
 	/* Create ZUC operation */
 	retval = create_wireless_algo_auth_cipher_operation(
 		tdata->digest.data, tdata->digest.len,
@@ -6704,19 +6704,19 @@ test_mixed_auth_cipher(const struct mixed_cipher_auth_test_data *tdata,
 		ciphertext = (uint8_t *)rte_pktmbuf_append(ut_params->ibuf,
 				ciphertext_pad_len);
 		memcpy(ciphertext, tdata->ciphertext.data, ciphertext_len);
-		if (op_mode == OUT_OF_PLACE)
-			rte_pktmbuf_append(ut_params->obuf, ciphertext_pad_len);
 		debug_hexdump(stdout, "ciphertext:", ciphertext,
 				ciphertext_len);
 	} else {
+		/* make sure enough space to cover partial digest verify case */
 		plaintext = (uint8_t *)rte_pktmbuf_append(ut_params->ibuf,
-				plaintext_pad_len);
+				ciphertext_pad_len);
 		memcpy(plaintext, tdata->plaintext.data, plaintext_len);
-		if (op_mode == OUT_OF_PLACE)
-			rte_pktmbuf_append(ut_params->obuf, plaintext_pad_len);
 		debug_hexdump(stdout, "plaintext:", plaintext, plaintext_len);
 	}
 
+	if (op_mode == OUT_OF_PLACE)
+		rte_pktmbuf_append(ut_params->obuf, ciphertext_pad_len);
+
 	/* Create the operation */
 	retval = create_wireless_algo_auth_cipher_operation(
 			tdata->digest_enc.data, tdata->digest_enc.len,
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:14.159082996 +0100
+++ 0143-test-crypto-fix-data-lengths.patch	2021-11-30 16:50:06.022875232 +0100
@@ -1 +1 @@
-From f52b75c61b7cf75e5c9a665e465dfbace2a18f30 Mon Sep 17 00:00:00 2001
+From 3cf7745c4f1358b2fde4a1be7ddd61293945d786 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit f52b75c61b7cf75e5c9a665e465dfbace2a18f30 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index 1b68d7c43b..29e8675e30 100644
+index 89cd53e746..189f7be4a4 100644
@@ -27 +28 @@
-@@ -4102,9 +4102,9 @@ test_kasumi_decryption(const struct kasumi_test_data *tdata)
+@@ -3957,9 +3957,9 @@ test_kasumi_decryption(const struct kasumi_test_data *tdata)
@@ -40 +41 @@
-@@ -6332,20 +6332,20 @@ test_zuc_auth_cipher(const struct wireless_test_data *tdata,
+@@ -5717,20 +5717,20 @@ test_zuc_auth_cipher(const struct wireless_test_data *tdata,
@@ -66 +67 @@
-@@ -7400,19 +7400,19 @@ test_mixed_auth_cipher(const struct mixed_cipher_auth_test_data *tdata,
+@@ -6704,19 +6704,19 @@ test_mixed_auth_cipher(const struct mixed_cipher_auth_test_data *tdata,

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

* patch 'common/cpt: fix KASUMI input length' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (141 preceding siblings ...)
  2021-11-30 16:35 ` patch 'test/crypto: fix data lengths' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'examples/l3fwd-power: fix early shutdown' " christian.ehrhardt
                   ` (16 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Anoob Joseph; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From ffd8f8c733e5f515d13c96da65894c74a6ce5056 Mon Sep 17 00:00:00 2001
From: Anoob Joseph <anoobj@marvell.com>
Date: Thu, 11 Nov 2021 17:18:42 +0530
Subject: [PATCH] common/cpt: fix KASUMI input length

[ upstream commit d937e872023373266e21784027938851533c6459 ]

Fix kasumi input len calculation to consider encr_offset.

Fixes: da39e3eccd3d ("common/cpt: support KASUMI")

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
---
 drivers/common/cpt/cpt_ucode.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/common/cpt/cpt_ucode.h b/drivers/common/cpt/cpt_ucode.h
index e92e3678c6..4d06625d4c 100644
--- a/drivers/common/cpt/cpt_ucode.h
+++ b/drivers/common/cpt/cpt_ucode.h
@@ -2310,7 +2310,7 @@ cpt_kasumi_dec_prep(uint64_t d_offs,
 	/* consider iv len */
 	encr_offset += iv_len;
 
-	inputlen = iv_len + (RTE_ALIGN(encr_data_len, 8) / 8);
+	inputlen = encr_offset + (RTE_ALIGN(encr_data_len, 8) / 8);
 	outputlen = inputlen;
 
 	/* save space for offset ctrl & iv */
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:14.224078778 +0100
+++ 0144-common-cpt-fix-KASUMI-input-length.patch	2021-11-30 16:50:06.022875232 +0100
@@ -1 +1 @@
-From d937e872023373266e21784027938851533c6459 Mon Sep 17 00:00:00 2001
+From ffd8f8c733e5f515d13c96da65894c74a6ce5056 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d937e872023373266e21784027938851533c6459 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -17 +18 @@
-index 006411cd89..e015cf66a1 100644
+index e92e3678c6..4d06625d4c 100644
@@ -20 +21 @@
-@@ -2311,7 +2311,7 @@ cpt_kasumi_dec_prep(uint64_t d_offs,
+@@ -2310,7 +2310,7 @@ cpt_kasumi_dec_prep(uint64_t d_offs,

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

* patch 'examples/l3fwd-power: fix early shutdown' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (142 preceding siblings ...)
  2021-11-30 16:35 ` patch 'common/cpt: fix KASUMI input length' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'examples/multi_process: fix Rx packets distribution' " christian.ehrhardt
                   ` (15 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Harneet Singh; +Cc: Anatoly Burakov, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From c98edab429c991ee3b2e22fff3c3a688e224d00d Mon Sep 17 00:00:00 2001
From: Harneet Singh <harneet.singh@intel.com>
Date: Fri, 29 Oct 2021 14:05:56 +0000
Subject: [PATCH] examples/l3fwd-power: fix early shutdown

[ upstream commit 19781e7a038ac3fdae4d71904268daa6ee399001 ]

Currently, EAL init cannot be interrupted with SIGINT because the
signal handler is already overridden by the time EAL init happens.

Fix it by moving signal handler installation to after EAL
initialization, to allow SIGNIT to interrupt EAL initialization.

Fixes: d7937e2e3d12 ("power: initial import")
Fixes: 613ce6691c0d ("examples/l3fwd-power: implement proper shutdown")

Signed-off-by: Harneet Singh <harneet.singh@intel.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 examples/l3fwd-power/main.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
index 70a47ed650..fdad035bc0 100644
--- a/examples/l3fwd-power/main.c
+++ b/examples/l3fwd-power/main.c
@@ -2216,9 +2216,6 @@ main(int argc, char **argv)
 	uint8_t num_telstats = RTE_DIM(telstats_strings);
 	const char *ptr_strings[num_telstats];
 
-	/* catch SIGINT and restore cpufreq governor to ondemand */
-	signal(SIGINT, signal_exit_now);
-
 	/* init EAL */
 	ret = rte_eal_init(argc, argv);
 	if (ret < 0)
@@ -2226,6 +2223,9 @@ main(int argc, char **argv)
 	argc -= ret;
 	argv += ret;
 
+	/* catch SIGINT and restore cpufreq governor to ondemand */
+	signal(SIGINT, signal_exit_now);
+
 	/* init RTE timer library to be used late */
 	rte_timer_subsystem_init();
 
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:14.286360444 +0100
+++ 0145-examples-l3fwd-power-fix-early-shutdown.patch	2021-11-30 16:50:06.026875261 +0100
@@ -1 +1 @@
-From 19781e7a038ac3fdae4d71904268daa6ee399001 Mon Sep 17 00:00:00 2001
+From c98edab429c991ee3b2e22fff3c3a688e224d00d Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 19781e7a038ac3fdae4d71904268daa6ee399001 ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index 6988a0ed34..b8b3be2b8a 100644
+index 70a47ed650..fdad035bc0 100644
@@ -26,3 +27,3 @@
-@@ -2540,9 +2540,6 @@ main(int argc, char **argv)
- 	uint16_t portid;
- 	const char *ptr_strings[NUM_TELSTATS];
+@@ -2216,9 +2216,6 @@ main(int argc, char **argv)
+ 	uint8_t num_telstats = RTE_DIM(telstats_strings);
+ 	const char *ptr_strings[num_telstats];
@@ -36 +37 @@
-@@ -2550,6 +2547,9 @@ main(int argc, char **argv)
+@@ -2226,6 +2223,9 @@ main(int argc, char **argv)

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

* patch 'examples/multi_process: fix Rx packets distribution' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (143 preceding siblings ...)
  2021-11-30 16:35 ` patch 'examples/l3fwd-power: fix early shutdown' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'fix spelling in comments and doxygen' " christian.ehrhardt
                   ` (14 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Gregory Etelson; +Cc: Anatoly Burakov, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 2f782b75e8801616e2e8dedf5f05755d7ced135f Mon Sep 17 00:00:00 2001
From: Gregory Etelson <getelson@nvidia.com>
Date: Wed, 10 Nov 2021 18:57:59 +0200
Subject: [PATCH] examples/multi_process: fix Rx packets distribution

[ upstream commit 69f9d8aa357d2299e057b7e335f340e20a0c5e7e ]

MP servers distributes Rx packets between clients according to
round-robin scheme.

Current implementation always started packets distribution from
the first client. That procedure resulted in uniform distribution
in cases when Rx packets number was around clients number
multiplication. However, if RX burst repeatedly returned single
packet, round-robin scheme would not work because all packets
were assigned to the first client only.

The patch does not restart packets distribution from
the first client.
Packets distribution always continues to the next client.

Fixes: af75078fece3 ("first public release")

Signed-off-by: Gregory Etelson <getelson@nvidia.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 examples/multi_process/client_server_mp/mp_server/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/multi_process/client_server_mp/mp_server/main.c b/examples/multi_process/client_server_mp/mp_server/main.c
index b349d90d92..61cef86a05 100644
--- a/examples/multi_process/client_server_mp/mp_server/main.c
+++ b/examples/multi_process/client_server_mp/mp_server/main.c
@@ -233,7 +233,7 @@ process_packets(uint32_t port_num __rte_unused,
 		struct rte_mbuf *pkts[], uint16_t rx_count)
 {
 	uint16_t i;
-	uint8_t client = 0;
+	static uint8_t client;
 
 	for (i = 0; i < rx_count; i++) {
 		enqueue_rx_packet(client, pkts[i]);
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:14.326380682 +0100
+++ 0146-examples-multi_process-fix-Rx-packets-distribution.patch	2021-11-30 16:50:06.026875261 +0100
@@ -1 +1 @@
-From 69f9d8aa357d2299e057b7e335f340e20a0c5e7e Mon Sep 17 00:00:00 2001
+From 2f782b75e8801616e2e8dedf5f05755d7ced135f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 69f9d8aa357d2299e057b7e335f340e20a0c5e7e ]
+
@@ -21 +22,0 @@
-Cc: stable@dpdk.org
@@ -30 +31 @@
-index b4761ebc7b..f54bb8b75a 100644
+index b349d90d92..61cef86a05 100644
@@ -33 +34 @@
-@@ -234,7 +234,7 @@ process_packets(uint32_t port_num __rte_unused,
+@@ -233,7 +233,7 @@ process_packets(uint32_t port_num __rte_unused,

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

* patch 'fix spelling in comments and doxygen' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (144 preceding siblings ...)
  2021-11-30 16:35 ` patch 'examples/multi_process: fix Rx packets distribution' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'examples/ntb: fix build dependency' " christian.ehrhardt
                   ` (13 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Stephen Hemminger
  Cc: Konstantin Ananyev, Vladimir Medvedkin, Honnappa Nagarahalli,
	Ray Kinsella, Cristian Dumitrescu, Chenbo Xia, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 55a6cfdc9626b7a42a6d9249ee4c530969ab56a1 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Thu, 11 Nov 2021 16:02:09 -0800
Subject: [PATCH] fix spelling in comments and doxygen

[ upstream commit 4a6672c2d301c105189ae74de73260af204c5ee8 ]

Fix spelling errors in comments including doxygen found using codespell.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Acked-by: Chenbo Xia <chenbo.xia@intel.com>
---
 app/test-pmd/cmdline.c                             |  2 +-
 app/test-pmd/config.c                              |  4 ++--
 app/test-pmd/icmpecho.c                            |  2 +-
 app/test/test_atomic.c                             |  2 +-
 app/test/test_barrier.c                            |  2 +-
 app/test/test_bpf.c                                |  2 +-
 app/test/test_compressdev.c                        |  2 +-
 app/test/test_func_reentrancy.c                    |  6 +++---
 app/test/test_ipsec.c                              |  2 +-
 app/test/test_link_bonding.c                       |  2 +-
 app/test/test_lpm.c                                |  6 +++---
 app/test/test_lpm6.c                               | 14 +++++++-------
 app/test/test_malloc.c                             |  4 ++--
 app/test/test_mbuf.c                               |  2 +-
 app/test/test_mempool.c                            |  2 +-
 app/test/test_mempool_perf.c                       |  2 +-
 app/test/test_meter.c                              |  6 +++---
 app/test/test_pmd_perf.c                           |  2 +-
 app/test/test_timer.c                              |  2 +-
 lib/librte_acl/acl.h                               |  4 ++--
 lib/librte_acl/acl_bld.c                           |  2 +-
 lib/librte_acl/acl_run_avx2.h                      |  2 +-
 lib/librte_bbdev/rte_bbdev.c                       |  2 +-
 lib/librte_bpf/bpf_jit_x86.c                       |  2 +-
 lib/librte_bpf/bpf_load_elf.c                      |  2 +-
 lib/librte_bpf/bpf_pkt.c                           |  2 +-
 lib/librte_bpf/bpf_validate.c                      |  8 ++++----
 .../common/include/rte_function_versioning.h       |  2 +-
 lib/librte_eal/windows/eal/include/fnmatch.h       |  2 +-
 lib/librte_eventdev/rte_event_timer_adapter.c      |  2 +-
 lib/librte_ip_frag/rte_ipv4_reassembly.c           |  2 +-
 lib/librte_ipsec/esp_inb.c                         |  4 ++--
 lib/librte_ipsec/esp_outb.c                        |  2 +-
 lib/librte_ipsec/ipsec_sad.c                       |  2 +-
 lib/librte_ipsec/sa.c                              |  2 +-
 lib/librte_ipsec/sa.h                              |  2 +-
 lib/librte_power/power_acpi_cpufreq.c              |  2 +-
 lib/librte_rcu/rte_rcu_qsbr.h                      |  2 +-
 lib/librte_rib/rte_rib6.c                          |  2 +-
 lib/librte_sched/rte_sched.c                       |  2 +-
 lib/librte_vhost/rte_vhost.h                       |  4 ++--
 41 files changed, 61 insertions(+), 61 deletions(-)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index e6c053ad57..2556ebfb0f 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -3591,7 +3591,7 @@ parse_item_list(char* str, const char* item_name, unsigned int max_items,
 		return nb_item;
 
 	/*
-	 * Then, check that all values in the list are differents.
+	 * Then, check that all values in the list are different.
 	 * No optimization here...
 	 */
 	for (i = 0; i < nb_item; i++) {
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index 664b63e32f..7d826632dc 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -2069,7 +2069,7 @@ port_rss_reta_info(portid_t port_id,
 }
 
 /*
- * Displays the RSS hash functions of a port, and, optionaly, the RSS hash
+ * Displays the RSS hash functions of a port, and, optionally, the RSS hash
  * key of the port.
  */
 void
@@ -3977,7 +3977,7 @@ mcast_addr_pool_remove(struct rte_port *port, uint32_t addr_idx)
 {
 	port->mc_addr_nb--;
 	if (addr_idx == port->mc_addr_nb) {
-		/* No need to recompact the set of multicast addressses. */
+		/* No need to recompact the set of multicast addresses. */
 		if (port->mc_addr_nb == 0) {
 			/* free the pool of multicast addresses. */
 			free(port->mc_addr_pool);
diff --git a/app/test-pmd/icmpecho.c b/app/test-pmd/icmpecho.c
index 2d359c9436..d4b942e186 100644
--- a/app/test-pmd/icmpecho.c
+++ b/app/test-pmd/icmpecho.c
@@ -54,7 +54,7 @@ arp_op_name(uint16_t arp_op)
 	default:
 		break;
 	}
-	return "Unkwown ARP op";
+	return "Unknown ARP op";
 }
 
 static const char *
diff --git a/app/test/test_atomic.c b/app/test/test_atomic.c
index 91ee29c004..a8065f182a 100644
--- a/app/test/test_atomic.c
+++ b/app/test/test_atomic.c
@@ -88,7 +88,7 @@
  *
  *   - Invoke ``test_atomic_exchange`` on each lcore.  Before doing
  *     anything else, the cores wait for a synchronization event.
- *     Each core then does the follwoing for N iterations:
+ *     Each core then does the following for N iterations:
  *
  *       Generate a new token with a data integrity check
  *       Exchange the new token for previously generated token
diff --git a/app/test/test_barrier.c b/app/test/test_barrier.c
index 43b5f6232c..1ef2b6e452 100644
--- a/app/test/test_barrier.c
+++ b/app/test/test_barrier.c
@@ -66,7 +66,7 @@ struct plock_test {
 struct lcore_plock_test {
 	struct plock_test *pt[2]; /* shared, lock-protected data */
 	uint64_t sum[2];          /* local copy of the shared data */
-	uint64_t iter;            /* number of iterations to perfom */
+	uint64_t iter;            /* number of iterations to perform */
 	uint32_t lc;              /* given lcore id */
 };
 
diff --git a/app/test/test_bpf.c b/app/test/test_bpf.c
index 533d8ba878..d60e639261 100644
--- a/app/test/test_bpf.c
+++ b/app/test/test_bpf.c
@@ -2398,7 +2398,7 @@ static const struct ebpf_insn test_call5_prog[] = {
 	},
 };
 
-/* String comparision impelementation, return 0 if equal else difference */
+/* String comparison implementation, return 0 if equal else difference */
 static uint32_t
 dummy_func5(const char *s1, const char *s2)
 {
diff --git a/app/test/test_compressdev.c b/app/test/test_compressdev.c
index 310f37cfa0..bb13d23838 100644
--- a/app/test/test_compressdev.c
+++ b/app/test/test_compressdev.c
@@ -1976,7 +1976,7 @@ test_deflate_comp_decomp(const struct interim_data_params *int_data,
 	test_priv_data.all_decomp_data = &all_decomp_data;
 	test_priv_data.decomp_produced_data_size = &decomp_produced_data_size;
 
-	test_priv_data.num_priv_xforms = 0; /* it's used for deompression only */
+	test_priv_data.num_priv_xforms = 0; /* it's used for decompression only */
 
 	capa = rte_compressdev_capability_get(0, RTE_COMP_ALGO_DEFLATE);
 	if (capa == NULL) {
diff --git a/app/test/test_func_reentrancy.c b/app/test/test_func_reentrancy.c
index 99ad902a24..4767c0cfad 100644
--- a/app/test/test_func_reentrancy.c
+++ b/app/test/test_func_reentrancy.c
@@ -242,7 +242,7 @@ hash_create_free(__attribute__((unused)) void *arg)
 			rte_atomic32_inc(&obj_count);
 	}
 
-	/* create mutiple times simultaneously */
+	/* create multiple times simultaneously */
 	for (i = 0; i < MAX_ITER_MULTI; i++) {
 		snprintf(hash_name, sizeof(hash_name), "fr_test_%d_%d", lcore_self, i);
 		hash_params.name = hash_name;
@@ -306,7 +306,7 @@ fbk_create_free(__attribute__((unused)) void *arg)
 			rte_atomic32_inc(&obj_count);
 	}
 
-	/* create mutiple fbk tables simultaneously */
+	/* create multiple fbk tables simultaneously */
 	for (i = 0; i < MAX_ITER_MULTI; i++) {
 		snprintf(fbk_name, sizeof(fbk_name), "fr_test_%d_%d", lcore_self, i);
 		fbk_params.name = fbk_name;
@@ -368,7 +368,7 @@ lpm_create_free(__attribute__((unused)) void *arg)
 			rte_atomic32_inc(&obj_count);
 	}
 
-	/* create mutiple fbk tables simultaneously */
+	/* create multiple fbk tables simultaneously */
 	for (i = 0; i < MAX_LPM_ITER_TIMES; i++) {
 		snprintf(lpm_name, sizeof(lpm_name), "fr_test_%d_%d", lcore_self, i);
 		lpm = rte_lpm_create(lpm_name, SOCKET_ID_ANY, &config);
diff --git a/app/test/test_ipsec.c b/app/test/test_ipsec.c
index 6a4bd12f7f..aa6d6db308 100644
--- a/app/test/test_ipsec.c
+++ b/app/test/test_ipsec.c
@@ -653,7 +653,7 @@ create_crypto_session(struct ipsec_unitest_params *ut,
 	if (s == NULL)
 		return -ENOMEM;
 
-	/* initiliaze SA crypto session for device */
+	/* initialize SA crypto session for device */
 	rc = rte_cryptodev_sym_session_init(dev_id, s,
 			ut->crypto_xforms, qp->mp_session_private);
 	if (rc == 0) {
diff --git a/app/test/test_link_bonding.c b/app/test/test_link_bonding.c
index 3a46f943f1..e6301b82d9 100644
--- a/app/test/test_link_bonding.c
+++ b/app/test/test_link_bonding.c
@@ -3025,7 +3025,7 @@ test_balance_tx_burst_slave_tx_fail(void)
 	first_tx_fail_idx = TEST_BAL_SLAVE_TX_FAIL_BURST_SIZE_1 -
 			TEST_BAL_SLAVE_TX_FAIL_PACKETS_COUNT;
 
-	/* copy mbuf referneces for expected transmission failures */
+	/* copy mbuf references for expected transmission failures */
 	for (i = 0; i < TEST_BAL_SLAVE_TX_FAIL_PACKETS_COUNT; i++)
 		expected_fail_pkts[i] = pkts_burst_1[i + first_tx_fail_idx];
 
diff --git a/app/test/test_lpm.c b/app/test/test_lpm.c
index e969fe0510..88a12fba34 100644
--- a/app/test/test_lpm.c
+++ b/app/test/test_lpm.c
@@ -173,7 +173,7 @@ test3(void)
 	status = rte_lpm_add(NULL, ip, depth, next_hop);
 	TEST_LPM_ASSERT(status < 0);
 
-	/*Create vaild lpm to use in rest of test. */
+	/*Create valid lpm to use in rest of test. */
 	lpm = rte_lpm_create(__func__, SOCKET_ID_ANY, &config);
 	TEST_LPM_ASSERT(lpm != NULL);
 
@@ -211,7 +211,7 @@ test4(void)
 	status = rte_lpm_delete(NULL, ip, depth);
 	TEST_LPM_ASSERT(status < 0);
 
-	/*Create vaild lpm to use in rest of test. */
+	/*Create valid lpm to use in rest of test. */
 	lpm = rte_lpm_create(__func__, SOCKET_ID_ANY, &config);
 	TEST_LPM_ASSERT(lpm != NULL);
 
@@ -249,7 +249,7 @@ test5(void)
 	status = rte_lpm_lookup(NULL, ip, &next_hop_return);
 	TEST_LPM_ASSERT(status < 0);
 
-	/*Create vaild lpm to use in rest of test. */
+	/*Create valid lpm to use in rest of test. */
 	lpm = rte_lpm_create(__func__, SOCKET_ID_ANY, &config);
 	TEST_LPM_ASSERT(lpm != NULL);
 
diff --git a/app/test/test_lpm6.c b/app/test/test_lpm6.c
index 670aadb40e..1b788386a0 100644
--- a/app/test/test_lpm6.c
+++ b/app/test/test_lpm6.c
@@ -262,7 +262,7 @@ test4(void)
 	status = rte_lpm6_add(NULL, ip, depth, next_hop);
 	TEST_LPM_ASSERT(status < 0);
 
-	/*Create vaild lpm to use in rest of test. */
+	/*Create valid lpm to use in rest of test. */
 	lpm = rte_lpm6_create(__func__, SOCKET_ID_ANY, &config);
 	TEST_LPM_ASSERT(lpm != NULL);
 
@@ -300,7 +300,7 @@ test5(void)
 	status = rte_lpm6_delete(NULL, ip, depth);
 	TEST_LPM_ASSERT(status < 0);
 
-	/*Create vaild lpm to use in rest of test. */
+	/*Create valid lpm to use in rest of test. */
 	lpm = rte_lpm6_create(__func__, SOCKET_ID_ANY, &config);
 	TEST_LPM_ASSERT(lpm != NULL);
 
@@ -338,7 +338,7 @@ test6(void)
 	status = rte_lpm6_lookup(NULL, ip, &next_hop_return);
 	TEST_LPM_ASSERT(status < 0);
 
-	/*Create vaild lpm to use in rest of test. */
+	/*Create valid lpm to use in rest of test. */
 	lpm = rte_lpm6_create(__func__, SOCKET_ID_ANY, &config);
 	TEST_LPM_ASSERT(lpm != NULL);
 
@@ -376,7 +376,7 @@ test7(void)
 	status = rte_lpm6_lookup_bulk_func(NULL, ip, next_hop_return, 10);
 	TEST_LPM_ASSERT(status < 0);
 
-	/*Create vaild lpm to use in rest of test. */
+	/*Create valid lpm to use in rest of test. */
 	lpm = rte_lpm6_create(__func__, SOCKET_ID_ANY, &config);
 	TEST_LPM_ASSERT(lpm != NULL);
 
@@ -414,7 +414,7 @@ test8(void)
 	status = rte_lpm6_delete_bulk_func(NULL, ip, depth, 10);
 	TEST_LPM_ASSERT(status < 0);
 
-	/*Create vaild lpm to use in rest of test. */
+	/*Create valid lpm to use in rest of test. */
 	lpm = rte_lpm6_create(__func__, SOCKET_ID_ANY, &config);
 	TEST_LPM_ASSERT(lpm != NULL);
 
@@ -434,7 +434,7 @@ test8(void)
 /*
  * Call add, lookup and delete for a single rule with depth < 24.
  * Check all the combinations for the first three bytes that result in a hit.
- * Delete the rule and check that the same test returs a miss.
+ * Delete the rule and check that the same test returns a miss.
  */
 int32_t
 test9(void)
@@ -1739,7 +1739,7 @@ test27(void)
  * Call add, lookup and delete for a single rule with maximum 21bit next_hop
  * size.
  * Check that next_hop returned from lookup is equal to provisioned value.
- * Delete the rule and check that the same test returs a miss.
+ * Delete the rule and check that the same test returns a miss.
  */
 int32_t
 test28(void)
diff --git a/app/test/test_malloc.c b/app/test/test_malloc.c
index 57f796f9e5..b8836c1edb 100644
--- a/app/test/test_malloc.c
+++ b/app/test/test_malloc.c
@@ -570,7 +570,7 @@ test_realloc(void)
 		}
 	}
 
-	/* Print warnign if only a single socket, but don't fail the test */
+	/* Print warning if only a single socket, but don't fail the test */
 	if (socket_count < 2)
 		printf("WARNING: realloc_socket test needs memory on multiple sockets!\n");
 
@@ -868,7 +868,7 @@ test_alloc_socket(void)
 		}
 	}
 
-	/* Print warnign if only a single socket, but don't fail the test */
+	/* Print warning if only a single socket, but don't fail the test */
 	if (socket_count < 2) {
 		printf("WARNING: alloc_socket test needs memory on multiple sockets!\n");
 	}
diff --git a/app/test/test_mbuf.c b/app/test/test_mbuf.c
index 709a919682..0208c31196 100644
--- a/app/test/test_mbuf.c
+++ b/app/test/test_mbuf.c
@@ -1136,7 +1136,7 @@ test_refcnt_mbuf(void)
 
 	rte_eal_mp_wait_lcore();
 
-	/* check that we porcessed all references */
+	/* check that we processed all references */
 	tref = 0;
 	master = rte_get_master_lcore();
 
diff --git a/app/test/test_mempool.c b/app/test/test_mempool.c
index 06a0f7a034..6615172daa 100644
--- a/app/test/test_mempool.c
+++ b/app/test/test_mempool.c
@@ -633,7 +633,7 @@ test_mempool(void)
 	if (test_mempool_basic_ex(mp_nocache) < 0)
 		GOTO_ERR(ret, err);
 
-	/* mempool operation test based on single producer and single comsumer */
+	/* mempool operation test based on single producer and single consumer */
 	if (test_mempool_sp_sc() < 0)
 		GOTO_ERR(ret, err);
 
diff --git a/app/test/test_mempool_perf.c b/app/test/test_mempool_perf.c
index 4c877834e7..2586c69a8e 100644
--- a/app/test/test_mempool_perf.c
+++ b/app/test/test_mempool_perf.c
@@ -89,7 +89,7 @@ static rte_atomic32_t synchro;
 static unsigned n_get_bulk;
 static unsigned n_put_bulk;
 
-/* number of objects retrived from mempool before putting them back */
+/* number of objects retrieved from mempool before putting them back */
 static unsigned n_keep;
 
 /* number of enqueues / dequeues */
diff --git a/app/test/test_meter.c b/app/test/test_meter.c
index f6fe6494ab..15d5a4839b 100644
--- a/app/test/test_meter.c
+++ b/app/test/test_meter.c
@@ -444,7 +444,7 @@ tm_test_srtcm_color_aware_check(void)
 	  * if using blind check
 	  */
 
-	/* previouly have a green, test points should keep unchanged */
+	/* previously have a green, test points should keep unchanged */
 	in[0] = in[1] = in[2] = in[3] = RTE_COLOR_GREEN;
 	out[0] = RTE_COLOR_GREEN;
 	out[1] = RTE_COLOR_YELLOW;
@@ -551,7 +551,7 @@ tm_test_trtcm_color_aware_check(void)
 	  * if using blind check
 	  */
 
-	/* previouly have a green, test points should keep unchanged */
+	/* previously have a green, test points should keep unchanged */
 	in[0] = in[1] = in[2] = in[3] = RTE_COLOR_GREEN;
 	out[0] = RTE_COLOR_GREEN;
 	out[1] = RTE_COLOR_YELLOW;
@@ -648,7 +648,7 @@ tm_test_trtcm_rfc4115_color_aware_check(void)
 	  * if using blind check
 	  */
 
-	/* previouly have a green, test points should keep unchanged */
+	/* previously have a green, test points should keep unchanged */
 	in[0] = in[1] = in[2] = in[3] = RTE_COLOR_GREEN;
 	out[0] = RTE_COLOR_GREEN;
 	out[1] = RTE_COLOR_YELLOW;
diff --git a/app/test/test_pmd_perf.c b/app/test/test_pmd_perf.c
index de7e726429..60fa5d1ff6 100644
--- a/app/test/test_pmd_perf.c
+++ b/app/test/test_pmd_perf.c
@@ -756,7 +756,7 @@ test_pmd_perf(void)
 				"rte_eth_dev_start: err=%d, port=%d\n",
 				ret, portid);
 
-		/* always eanble promiscuous */
+		/* always enable promiscuous */
 		ret = rte_eth_promiscuous_enable(portid);
 		if (ret != 0)
 			rte_exit(EXIT_FAILURE,
diff --git a/app/test/test_timer.c b/app/test/test_timer.c
index 8e0a589828..ab283b1bb5 100644
--- a/app/test/test_timer.c
+++ b/app/test/test_timer.c
@@ -431,7 +431,7 @@ timer_basic_cb(struct rte_timer *tim, void *arg)
 		return;
 	}
 
-	/* Explicitelly stop timer 0. Once stop() called, we can even
+	/* Explicitly stop timer 0. Once stop() called, we can even
 	 * erase the content of the structure: it is not referenced
 	 * anymore by any code (in case of dynamic structure, it can
 	 * be freed) */
diff --git a/lib/librte_acl/acl.h b/lib/librte_acl/acl.h
index 39d45a0c2b..6f77b10ecf 100644
--- a/lib/librte_acl/acl.h
+++ b/lib/librte_acl/acl.h
@@ -45,7 +45,7 @@ struct rte_acl_bitset {
  * Each transition is 64 bit value with the following format:
  * | node_type_specific : 32 | node_type : 3 | node_addr : 29 |
  * For all node types except RTE_ACL_NODE_MATCH, node_addr is an index
- * to the start of the node in the transtions array.
+ * to the start of the node in the transitions array.
  * Few different node types are used:
  * RTE_ACL_NODE_MATCH:
  * node_addr value is and index into an array that contains the return value
@@ -66,7 +66,7 @@ struct rte_acl_bitset {
  * RTE_ACL_NODE_SINGLE:
  * always transitions to the same node regardless of the input value.
  * RTE_ACL_NODE_DFA:
- * that node consits of up to 256 transitions.
+ * that node consists of up to 256 transitions.
  * In attempt to conserve space all transitions are divided into 4 consecutive
  * groups, by 64 transitions per group:
  * group64[i] contains transitions[i * 64, .. i * 64 + 63].
diff --git a/lib/librte_acl/acl_bld.c b/lib/librte_acl/acl_bld.c
index d1f920b09c..aeeaf040b8 100644
--- a/lib/librte_acl/acl_bld.c
+++ b/lib/librte_acl/acl_bld.c
@@ -1494,7 +1494,7 @@ acl_set_data_indexes(struct rte_acl_ctx *ctx)
 /*
  * Internal routine, performs 'build' phase of trie generation:
  * - setups build context.
- * - analizes given set of rules.
+ * - analyzes given set of rules.
  * - builds internal tree(s).
  */
 static int
diff --git a/lib/librte_acl/acl_run_avx2.h b/lib/librte_acl/acl_run_avx2.h
index d06d2e8782..0b8967f22e 100644
--- a/lib/librte_acl/acl_run_avx2.h
+++ b/lib/librte_acl/acl_run_avx2.h
@@ -125,7 +125,7 @@ acl_process_matches_avx2x8(const struct rte_acl_ctx *ctx,
 	/* For each transition: put low 32 into tr_lo and high 32 into tr_hi */
 	ACL_TR_HILO(mm256, __m256, t0, t1, lo, hi);
 
-	/* Keep transitions wth NOMATCH intact. */
+	/* Keep transitions with NOMATCH intact. */
 	*tr_lo = _mm256_blendv_epi8(*tr_lo, lo, matches);
 	*tr_hi = _mm256_blendv_epi8(*tr_hi, hi, matches);
 }
diff --git a/lib/librte_bbdev/rte_bbdev.c b/lib/librte_bbdev/rte_bbdev.c
index f6fe05acaf..8668d3cca2 100644
--- a/lib/librte_bbdev/rte_bbdev.c
+++ b/lib/librte_bbdev/rte_bbdev.c
@@ -138,7 +138,7 @@ rte_bbdev_data_alloc(void)
 }
 
 /*
- * Find data alocated for the device or if not found return first unused bbdev
+ * Find data allocated for the device or if not found return first unused bbdev
  * data. If all structures are in use and none is used by the device return
  * NULL.
  */
diff --git a/lib/librte_bpf/bpf_jit_x86.c b/lib/librte_bpf/bpf_jit_x86.c
index f70cd6be51..885e8d5c2b 100644
--- a/lib/librte_bpf/bpf_jit_x86.c
+++ b/lib/librte_bpf/bpf_jit_x86.c
@@ -1074,7 +1074,7 @@ emit_epilog(struct bpf_jit_state *st)
 	uint32_t i;
 	int32_t spil, ofs;
 
-	/* if we allready have an epilog generate a jump to it */
+	/* if we already have an epilog generate a jump to it */
 	if (st->exit.num++ != 0) {
 		emit_abs_jmp(st, st->exit.off);
 		return;
diff --git a/lib/librte_bpf/bpf_load_elf.c b/lib/librte_bpf/bpf_load_elf.c
index 2b11adeb5e..02a5d8ba0d 100644
--- a/lib/librte_bpf/bpf_load_elf.c
+++ b/lib/librte_bpf/bpf_load_elf.c
@@ -80,7 +80,7 @@ resolve_xsym(const char *sn, size_t ofs, struct ebpf_insn *ins, size_t ins_sz,
 	if (type == RTE_BPF_XTYPE_FUNC) {
 
 		/* we don't support multiple functions per BPF module,
-		 * so treat EBPF_PSEUDO_CALL to extrernal function
+		 * so treat EBPF_PSEUDO_CALL to external function
 		 * as an ordinary EBPF_CALL.
 		 */
 		if (ins[idx].src_reg == EBPF_PSEUDO_CALL) {
diff --git a/lib/librte_bpf/bpf_pkt.c b/lib/librte_bpf/bpf_pkt.c
index 6e8248f0d6..701e8e2c62 100644
--- a/lib/librte_bpf/bpf_pkt.c
+++ b/lib/librte_bpf/bpf_pkt.c
@@ -169,7 +169,7 @@ bpf_eth_cbh_add(struct bpf_eth_cbh *cbh, uint16_t port, uint16_t queue)
 }
 
 /*
- * BPF packet processing routinies.
+ * BPF packet processing routines.
  */
 
 static inline uint32_t
diff --git a/lib/librte_bpf/bpf_validate.c b/lib/librte_bpf/bpf_validate.c
index a7c588a92a..1d7a204f86 100644
--- a/lib/librte_bpf/bpf_validate.c
+++ b/lib/librte_bpf/bpf_validate.c
@@ -1652,7 +1652,7 @@ static const struct bpf_ins_check ins_chk[UINT8_MAX + 1] = {
 
 /*
  * make sure that instruction syntax is valid,
- * and it fields don't violate partciular instrcution type restrictions.
+ * and its fields don't violate particular instruction type restrictions.
  */
 static const char *
 check_syntax(const struct ebpf_insn *ins)
@@ -1883,7 +1883,7 @@ log_loop(const struct bpf_verifier *bvf)
  * First pass goes though all instructions in the set, checks that each
  * instruction is a valid one (correct syntax, valid field values, etc.)
  * and constructs control flow graph (CFG).
- * Then deapth-first search is performed over the constructed graph.
+ * Then depth-first search is performed over the constructed graph.
  * Programs with unreachable instructions and/or loops will be rejected.
  */
 static int
@@ -1910,7 +1910,7 @@ validate(struct bpf_verifier *bvf)
 
 		/*
 		 * construct CFG, jcc nodes have to outgoing edges,
-		 * 'exit' nodes - none, all others nodes have exaclty one
+		 * 'exit' nodes - none, all other nodes have exactly one
 		 * outgoing edge.
 		 */
 		switch (ins->code) {
@@ -2172,7 +2172,7 @@ evaluate(struct bpf_verifier *bvf)
 			idx = get_node_idx(bvf, node);
 			op = ins[idx].code;
 
-			/* for jcc node make a copy of evaluatoion state */
+			/* for jcc node make a copy of evaluation state */
 			if (node->nb_edge > 1)
 				rc |= save_eval_state(bvf, node);
 
diff --git a/lib/librte_eal/common/include/rte_function_versioning.h b/lib/librte_eal/common/include/rte_function_versioning.h
index c924351d5e..a3b34a50ea 100644
--- a/lib/librte_eal/common/include/rte_function_versioning.h
+++ b/lib/librte_eal/common/include/rte_function_versioning.h
@@ -15,7 +15,7 @@
 
 /*
  * Provides backwards compatibility when updating exported functions.
- * When a symol is exported from a library to provide an API, it also provides a
+ * When a symbol is exported from a library to provide an API, it also provides a
  * calling convention (ABI) that is embodied in its name, return type,
  * arguments, etc.  On occasion that function may need to change to accommodate
  * new functionality, behavior, etc.  When that occurs, it is desirable to
diff --git a/lib/librte_eal/windows/eal/include/fnmatch.h b/lib/librte_eal/windows/eal/include/fnmatch.h
index 41b574312c..a9eef9418d 100644
--- a/lib/librte_eal/windows/eal/include/fnmatch.h
+++ b/lib/librte_eal/windows/eal/include/fnmatch.h
@@ -21,7 +21,7 @@ extern "C" {
  * with the given regular expression pattern.
  *
  * @param pattern
- *	regular expression notation decribing the pattern to match
+ *	regular expression notation describing the pattern to match
  *
  * @param string
  *	source string to searcg for the pattern
diff --git a/lib/librte_eventdev/rte_event_timer_adapter.c b/lib/librte_eventdev/rte_event_timer_adapter.c
index 36c13fe3b5..8e340d67e6 100644
--- a/lib/librte_eventdev/rte_event_timer_adapter.c
+++ b/lib/librte_eventdev/rte_event_timer_adapter.c
@@ -489,7 +489,7 @@ event_buffer_flush(struct event_buffer *bufp, uint8_t dev_id, uint8_t port_id,
 
 	RTE_ASSERT(head_idx < EVENT_BUFFER_SZ && tail_idx < EVENT_BUFFER_SZ);
 
-	/* Determine the largest contigous run we can attempt to enqueue to the
+	/* Determine the largest contiguous run we can attempt to enqueue to the
 	 * event device.
 	 */
 	if (head_idx > tail_idx)
diff --git a/lib/librte_ip_frag/rte_ipv4_reassembly.c b/lib/librte_ip_frag/rte_ipv4_reassembly.c
index 69666c8b82..4a89a5f536 100644
--- a/lib/librte_ip_frag/rte_ipv4_reassembly.c
+++ b/lib/librte_ip_frag/rte_ipv4_reassembly.c
@@ -80,7 +80,7 @@ ipv4_frag_reassemble(struct ip_frag_pkt *fp)
 
 /*
  * Process new mbuf with fragment of IPV4 packet.
- * Incoming mbuf should have it's l2_len/l3_len fields setuped correclty.
+ * Incoming mbuf should have it's l2_len/l3_len fields setup correctly.
  * @param tbl
  *   Table where to lookup/add the fragmented packet.
  * @param mb
diff --git a/lib/librte_ipsec/esp_inb.c b/lib/librte_ipsec/esp_inb.c
index 5c653dd394..03d921f7cb 100644
--- a/lib/librte_ipsec/esp_inb.c
+++ b/lib/librte_ipsec/esp_inb.c
@@ -359,7 +359,7 @@ trs_process_check(struct rte_mbuf *mb, struct rte_mbuf **ml,
 
 /*
  * packet checks for tunnel mode:
- * - same as for trasnport mode
+ * - same as for transport mode
  * - esp tail next proto contains expected for that SA value
  */
 static inline int32_t
@@ -445,7 +445,7 @@ trs_process_step3(struct rte_mbuf *mb)
 static inline void
 tun_process_step3(struct rte_mbuf *mb, uint64_t txof_msk, uint64_t txof_val)
 {
-	/* reset mbuf metatdata: L2/L3 len, packet type */
+	/* reset mbuf metadata: L2/L3 len, packet type */
 	mb->packet_type = RTE_PTYPE_UNKNOWN;
 	mb->tx_offload = (mb->tx_offload & txof_msk) | txof_val;
 
diff --git a/lib/librte_ipsec/esp_outb.c b/lib/librte_ipsec/esp_outb.c
index e983b25a3f..31b920f651 100644
--- a/lib/librte_ipsec/esp_outb.c
+++ b/lib/librte_ipsec/esp_outb.c
@@ -405,7 +405,7 @@ esp_outb_trs_prepare(const struct rte_ipsec_session *ss, struct rte_mbuf *mb[],
 
 /*
  * process outbound packets for SA with ESN support,
- * for algorithms that require SQN.hibits to be implictly included
+ * for algorithms that require SQN.hibits to be implicitly included
  * into digest computation.
  * In that case we have to move ICV bytes back to their proper place.
  */
diff --git a/lib/librte_ipsec/ipsec_sad.c b/lib/librte_ipsec/ipsec_sad.c
index 31b5956d89..e4e304f359 100644
--- a/lib/librte_ipsec/ipsec_sad.c
+++ b/lib/librte_ipsec/ipsec_sad.c
@@ -59,7 +59,7 @@ EAL_REGISTER_TAILQ(rte_ipsec_sad_tailq)
  * Inserts a rule into an appropriate hash table,
  * updates the value for a given SPI in SPI_ONLY hash table
  * reflecting presence of more specific rule type in two LSBs.
- * Updates a counter that reflects the number of rules whith the same SPI.
+ * Updates a counter that reflects the number of rules with the same SPI.
  */
 static inline int
 add_specific(struct rte_ipsec_sad *sad, const void *key,
diff --git a/lib/librte_ipsec/sa.c b/lib/librte_ipsec/sa.c
index 6f1d92c3c2..5e8a417cfd 100644
--- a/lib/librte_ipsec/sa.c
+++ b/lib/librte_ipsec/sa.c
@@ -126,7 +126,7 @@ ipsec_sa_size(uint64_t type, uint32_t *wnd_sz, uint32_t *nb_bucket)
 		/*
 		 * RFC 4303 recommends 64 as minimum window size.
 		 * there is no point to use ESN mode without SQN window,
-		 * so make sure we have at least 64 window when ESN is enalbed.
+		 * so make sure we have at least 64 window when ESN is enabled.
 		 */
 		wsz = ((type & RTE_IPSEC_SATP_ESN_MASK) ==
 			RTE_IPSEC_SATP_ESN_DISABLE) ?
diff --git a/lib/librte_ipsec/sa.h b/lib/librte_ipsec/sa.h
index 0cfe82f634..6e1b9ebe85 100644
--- a/lib/librte_ipsec/sa.h
+++ b/lib/librte_ipsec/sa.h
@@ -114,7 +114,7 @@ struct rte_ipsec_sa {
 	 * In case of SA handled by multiple threads *sqn* cacheline
 	 * could be shared by multiple cores.
 	 * To minimise performance impact, we try to locate in a separate
-	 * place from other frequently accesed data.
+	 * place from other frequently accessed data.
 	 */
 	union {
 		union {
diff --git a/lib/librte_power/power_acpi_cpufreq.c b/lib/librte_power/power_acpi_cpufreq.c
index 9b31112348..8a5b536678 100644
--- a/lib/librte_power/power_acpi_cpufreq.c
+++ b/lib/librte_power/power_acpi_cpufreq.c
@@ -226,7 +226,7 @@ power_get_available_freqs(struct acpi_power_info *pi)
 		goto out;
 	}
 
-	/* Store the available frequncies into power context */
+	/* Store the available frequencies into power context */
 	for (i = 0, pi->nb_freqs = 0; i < count; i++) {
 		POWER_DEBUG_TRACE("Lcore %u frequency[%d]: %s\n", pi->lcore_id,
 				i, freqs[i]);
diff --git a/lib/librte_rcu/rte_rcu_qsbr.h b/lib/librte_rcu/rte_rcu_qsbr.h
index 430cdfb58a..0d30c4620a 100644
--- a/lib/librte_rcu/rte_rcu_qsbr.h
+++ b/lib/librte_rcu/rte_rcu_qsbr.h
@@ -309,7 +309,7 @@ rte_rcu_qsbr_thread_offline(struct rte_rcu_qsbr *v, unsigned int thread_id)
 
 	/* The reader can go offline only after the load of the
 	 * data structure is completed. i.e. any load of the
-	 * data strcture can not move after this store.
+	 * data structure can not move after this store.
 	 */
 
 	__atomic_store_n(&v->qsbr_cnt[thread_id].cnt,
diff --git a/lib/librte_rib/rte_rib6.c b/lib/librte_rib/rte_rib6.c
index 4cf12168dd..21e3e1c01a 100644
--- a/lib/librte_rib/rte_rib6.c
+++ b/lib/librte_rib/rte_rib6.c
@@ -199,7 +199,7 @@ rte_rib6_lookup_exact(struct rte_rib6 *rib,
 }
 
 /*
- *  Traverses on subtree and retreeves more specific routes
+ *  Traverses on subtree and retrieves more specific routes
  *  for a given in args ip/depth prefix
  *  last = NULL means the first invocation
  */
diff --git a/lib/librte_sched/rte_sched.c b/lib/librte_sched/rte_sched.c
index 0fa0741664..bad1c4d271 100644
--- a/lib/librte_sched/rte_sched.c
+++ b/lib/librte_sched/rte_sched.c
@@ -493,7 +493,7 @@ rte_sched_subport_config_qsize(struct rte_sched_subport *subport)
 
 	subport->qsize_add[0] = 0;
 
-	/* Strict prority traffic class */
+	/* Strict priority traffic class */
 	for (i = 1; i < RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE; i++)
 		subport->qsize_add[i] = subport->qsize_add[i-1] + subport->qsize[i-1];
 
diff --git a/lib/librte_vhost/rte_vhost.h b/lib/librte_vhost/rte_vhost.h
index 53a30a0623..f85ed4dc50 100644
--- a/lib/librte_vhost/rte_vhost.h
+++ b/lib/librte_vhost/rte_vhost.h
@@ -755,7 +755,7 @@ rte_vhost_get_vhost_ring_inflight(int vid, uint16_t vring_idx,
 /**
  * Set split inflight descriptor.
  *
- * This function save descriptors that has been comsumed in available
+ * This function save descriptors that has been consumed in available
  * ring
  *
  * @param vid
@@ -775,7 +775,7 @@ rte_vhost_set_inflight_desc_split(int vid, uint16_t vring_idx,
 /**
  * Set packed inflight descriptor and get corresponding inflight entry
  *
- * This function save descriptors that has been comsumed
+ * This function save descriptors that has been consumed
  *
  * @param vid
  *  vhost device ID
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:14.375023363 +0100
+++ 0147-fix-spelling-in-comments-and-doxygen.patch	2021-11-30 16:50:06.102875819 +0100
@@ -1 +1 @@
-From 4a6672c2d301c105189ae74de73260af204c5ee8 Mon Sep 17 00:00:00 2001
+From 55a6cfdc9626b7a42a6d9249ee4c530969ab56a1 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4a6672c2d301c105189ae74de73260af204c5ee8 ]
+
@@ -16,48 +18,42 @@
- app/test-pmd/cmdline.c                    |  2 +-
- app/test-pmd/config.c                     |  4 ++--
- app/test-pmd/icmpecho.c                   |  2 +-
- app/test/test_atomic.c                    |  2 +-
- app/test/test_barrier.c                   |  2 +-
- app/test/test_bpf.c                       |  2 +-
- app/test/test_compressdev.c               |  2 +-
- app/test/test_func_reentrancy.c           |  6 +++---
- app/test/test_ipsec.c                     |  2 +-
- app/test/test_link_bonding.c              |  2 +-
- app/test/test_lpm.c                       |  6 +++---
- app/test/test_lpm6.c                      | 14 +++++++-------
- app/test/test_malloc.c                    |  4 ++--
- app/test/test_mbuf.c                      |  2 +-
- app/test/test_mempool.c                   |  2 +-
- app/test/test_mempool_perf.c              |  2 +-
- app/test/test_meter.c                     |  6 +++---
- app/test/test_pmd_perf.c                  |  2 +-
- app/test/test_timer.c                     |  2 +-
- lib/acl/acl.h                             |  4 ++--
- lib/acl/acl_bld.c                         |  2 +-
- lib/acl/acl_run_avx2.h                    |  2 +-
- lib/bbdev/rte_bbdev.c                     |  2 +-
- lib/bpf/bpf_jit_x86.c                     |  2 +-
- lib/bpf/bpf_load_elf.c                    |  2 +-
- lib/bpf/bpf_pkt.c                         |  2 +-
- lib/bpf/bpf_validate.c                    |  8 ++++----
- lib/eal/include/rte_function_versioning.h |  2 +-
- lib/eal/windows/include/fnmatch.h         |  2 +-
- lib/eventdev/rte_event_timer_adapter.c    |  2 +-
- lib/hash/rte_thash.c                      |  2 +-
- lib/ip_frag/rte_ipv4_reassembly.c         |  2 +-
- lib/ipsec/esp_inb.c                       |  4 ++--
- lib/ipsec/esp_outb.c                      |  2 +-
- lib/ipsec/ipsec_sad.c                     |  2 +-
- lib/ipsec/sa.c                            |  2 +-
- lib/ipsec/sa.h                            |  2 +-
- lib/net/rte_gtp.h                         |  6 +++---
- lib/node/ethdev_rx_priv.h                 |  2 +-
- lib/node/ethdev_tx_priv.h                 |  2 +-
- lib/node/ip4_rewrite_priv.h               |  2 +-
- lib/pipeline/rte_swx_pipeline.h           |  2 +-
- lib/power/power_acpi_cpufreq.c            |  2 +-
- lib/rcu/rte_rcu_qsbr.h                    |  2 +-
- lib/rib/rte_rib6.c                        |  2 +-
- lib/sched/rte_sched.c                     |  2 +-
- lib/vhost/rte_vhost.h                     |  4 ++--
- 47 files changed, 69 insertions(+), 69 deletions(-)
+ app/test-pmd/cmdline.c                             |  2 +-
+ app/test-pmd/config.c                              |  4 ++--
+ app/test-pmd/icmpecho.c                            |  2 +-
+ app/test/test_atomic.c                             |  2 +-
+ app/test/test_barrier.c                            |  2 +-
+ app/test/test_bpf.c                                |  2 +-
+ app/test/test_compressdev.c                        |  2 +-
+ app/test/test_func_reentrancy.c                    |  6 +++---
+ app/test/test_ipsec.c                              |  2 +-
+ app/test/test_link_bonding.c                       |  2 +-
+ app/test/test_lpm.c                                |  6 +++---
+ app/test/test_lpm6.c                               | 14 +++++++-------
+ app/test/test_malloc.c                             |  4 ++--
+ app/test/test_mbuf.c                               |  2 +-
+ app/test/test_mempool.c                            |  2 +-
+ app/test/test_mempool_perf.c                       |  2 +-
+ app/test/test_meter.c                              |  6 +++---
+ app/test/test_pmd_perf.c                           |  2 +-
+ app/test/test_timer.c                              |  2 +-
+ lib/librte_acl/acl.h                               |  4 ++--
+ lib/librte_acl/acl_bld.c                           |  2 +-
+ lib/librte_acl/acl_run_avx2.h                      |  2 +-
+ lib/librte_bbdev/rte_bbdev.c                       |  2 +-
+ lib/librte_bpf/bpf_jit_x86.c                       |  2 +-
+ lib/librte_bpf/bpf_load_elf.c                      |  2 +-
+ lib/librte_bpf/bpf_pkt.c                           |  2 +-
+ lib/librte_bpf/bpf_validate.c                      |  8 ++++----
+ .../common/include/rte_function_versioning.h       |  2 +-
+ lib/librte_eal/windows/eal/include/fnmatch.h       |  2 +-
+ lib/librte_eventdev/rte_event_timer_adapter.c      |  2 +-
+ lib/librte_ip_frag/rte_ipv4_reassembly.c           |  2 +-
+ lib/librte_ipsec/esp_inb.c                         |  4 ++--
+ lib/librte_ipsec/esp_outb.c                        |  2 +-
+ lib/librte_ipsec/ipsec_sad.c                       |  2 +-
+ lib/librte_ipsec/sa.c                              |  2 +-
+ lib/librte_ipsec/sa.h                              |  2 +-
+ lib/librte_power/power_acpi_cpufreq.c              |  2 +-
+ lib/librte_rcu/rte_rcu_qsbr.h                      |  2 +-
+ lib/librte_rib/rte_rib6.c                          |  2 +-
+ lib/librte_sched/rte_sched.c                       |  2 +-
+ lib/librte_vhost/rte_vhost.h                       |  4 ++--
+ 41 files changed, 61 insertions(+), 61 deletions(-)
@@ -66 +62 @@
-index 4f51b259fe..fb5433fd5b 100644
+index e6c053ad57..2556ebfb0f 100644
@@ -69 +65 @@
-@@ -3653,7 +3653,7 @@ parse_item_list(const char *str, const char *item_name, unsigned int max_items,
+@@ -3591,7 +3591,7 @@ parse_item_list(char* str, const char* item_name, unsigned int max_items,
@@ -79 +75 @@
-index 26cadf39f7..26318b4f14 100644
+index 664b63e32f..7d826632dc 100644
@@ -82 +78 @@
-@@ -2965,7 +2965,7 @@ port_rss_reta_info(portid_t port_id,
+@@ -2069,7 +2069,7 @@ port_rss_reta_info(portid_t port_id,
@@ -91 +87 @@
-@@ -5250,7 +5250,7 @@ mcast_addr_pool_remove(struct rte_port *port, uint32_t addr_idx)
+@@ -3977,7 +3977,7 @@ mcast_addr_pool_remove(struct rte_port *port, uint32_t addr_idx)
@@ -101 +97 @@
-index 8f1d68a83a..d6620f5f6a 100644
+index 2d359c9436..d4b942e186 100644
@@ -114 +110 @@
-index ce0c259bd7..e4b997827e 100644
+index 91ee29c004..a8065f182a 100644
@@ -127 +123 @@
-index c27f8a0742..8fa93c0032 100644
+index 43b5f6232c..1ef2b6e452 100644
@@ -140 +136 @@
-index 8f2414eb2b..8b28722515 100644
+index 533d8ba878..d60e639261 100644
@@ -143 +139 @@
-@@ -2407,7 +2407,7 @@ static const struct ebpf_insn test_call5_prog[] = {
+@@ -2398,7 +2398,7 @@ static const struct ebpf_insn test_call5_prog[] = {
@@ -153 +149 @@
-index a1b9f06250..c63b5b6737 100644
+index 310f37cfa0..bb13d23838 100644
@@ -156 +152 @@
-@@ -2033,7 +2033,7 @@ test_deflate_comp_decomp(const struct interim_data_params *int_data,
+@@ -1976,7 +1976,7 @@ test_deflate_comp_decomp(const struct interim_data_params *int_data,
@@ -166 +162 @@
-index 838ab6f0f9..36e83bc587 100644
+index 99ad902a24..4767c0cfad 100644
@@ -169 +165 @@
-@@ -253,7 +253,7 @@ hash_create_free(__rte_unused void *arg)
+@@ -242,7 +242,7 @@ hash_create_free(__attribute__((unused)) void *arg)
@@ -178 +174 @@
-@@ -321,7 +321,7 @@ fbk_create_free(__rte_unused void *arg)
+@@ -306,7 +306,7 @@ fbk_create_free(__attribute__((unused)) void *arg)
@@ -187 +183 @@
-@@ -387,7 +387,7 @@ lpm_create_free(__rte_unused void *arg)
+@@ -368,7 +368,7 @@ lpm_create_free(__attribute__((unused)) void *arg)
@@ -197 +193 @@
-index 1bec63b0e8..bc2a3dbc2e 100644
+index 6a4bd12f7f..aa6d6db308 100644
@@ -210 +206 @@
-index 8a9ef85178..dc6fc46b9c 100644
+index 3a46f943f1..e6301b82d9 100644
@@ -213 +209 @@
-@@ -3040,7 +3040,7 @@ test_balance_tx_burst_slave_tx_fail(void)
+@@ -3025,7 +3025,7 @@ test_balance_tx_burst_slave_tx_fail(void)
@@ -223 +219 @@
-index 556f5a67ba..37b460af3a 100644
+index e969fe0510..88a12fba34 100644
@@ -226 +222 @@
-@@ -179,7 +179,7 @@ test3(void)
+@@ -173,7 +173,7 @@ test3(void)
@@ -235 +231 @@
-@@ -217,7 +217,7 @@ test4(void)
+@@ -211,7 +211,7 @@ test4(void)
@@ -244 +240 @@
-@@ -255,7 +255,7 @@ test5(void)
+@@ -249,7 +249,7 @@ test5(void)
@@ -254 +250 @@
-index 0d664546fa..17221f992a 100644
+index 670aadb40e..1b788386a0 100644
@@ -257 +253 @@
-@@ -261,7 +261,7 @@ test4(void)
+@@ -262,7 +262,7 @@ test4(void)
@@ -266 +262 @@
-@@ -299,7 +299,7 @@ test5(void)
+@@ -300,7 +300,7 @@ test5(void)
@@ -275 +271 @@
-@@ -337,7 +337,7 @@ test6(void)
+@@ -338,7 +338,7 @@ test6(void)
@@ -284 +280 @@
-@@ -375,7 +375,7 @@ test7(void)
+@@ -376,7 +376,7 @@ test7(void)
@@ -293 +289 @@
-@@ -413,7 +413,7 @@ test8(void)
+@@ -414,7 +414,7 @@ test8(void)
@@ -302 +298 @@
-@@ -433,7 +433,7 @@ test8(void)
+@@ -434,7 +434,7 @@ test8(void)
@@ -311 +307 @@
-@@ -1738,7 +1738,7 @@ test27(void)
+@@ -1739,7 +1739,7 @@ test27(void)
@@ -321 +317 @@
-index afff0de9f0..6d9249f831 100644
+index 57f796f9e5..b8836c1edb 100644
@@ -324 +320 @@
-@@ -603,7 +603,7 @@ test_realloc_numa(void)
+@@ -570,7 +570,7 @@ test_realloc(void)
@@ -333 +329 @@
-@@ -971,7 +971,7 @@ test_alloc_socket(void)
+@@ -868,7 +868,7 @@ test_alloc_socket(void)
@@ -343 +339 @@
-index f93bcef8a9..75f3453946 100644
+index 709a919682..0208c31196 100644
@@ -346 +342 @@
-@@ -1148,7 +1148,7 @@ test_refcnt_mbuf(void)
+@@ -1136,7 +1136,7 @@ test_refcnt_mbuf(void)
@@ -353 +349 @@
- 	main_lcore = rte_get_main_lcore();
+ 	master = rte_get_master_lcore();
@@ -356 +352 @@
-index a451608558..f6c650d11f 100644
+index 06a0f7a034..6615172daa 100644
@@ -359 +355 @@
-@@ -994,7 +994,7 @@ test_mempool(void)
+@@ -633,7 +633,7 @@ test_mempool(void)
@@ -369 +365 @@
-index 8f629736e8..87ad251367 100644
+index 4c877834e7..2586c69a8e 100644
@@ -372 +368 @@
-@@ -88,7 +88,7 @@ static uint32_t synchro;
+@@ -89,7 +89,7 @@ static rte_atomic32_t synchro;
@@ -413 +409 @@
-index 1df86ce080..aac6c97ceb 100644
+index de7e726429..60fa5d1ff6 100644
@@ -416 +412 @@
-@@ -752,7 +752,7 @@ test_pmd_perf(void)
+@@ -756,7 +756,7 @@ test_pmd_perf(void)
@@ -426 +422 @@
-index a10b2fe9da..631b737d16 100644
+index 8e0a589828..ab283b1bb5 100644
@@ -429 +425 @@
-@@ -432,7 +432,7 @@ timer_basic_cb(struct rte_timer *tim, void *arg)
+@@ -431,7 +431,7 @@ timer_basic_cb(struct rte_timer *tim, void *arg)
@@ -438,4 +434,4 @@
-diff --git a/lib/acl/acl.h b/lib/acl/acl.h
-index 4089ab2a04..f5739a475c 100644
---- a/lib/acl/acl.h
-+++ b/lib/acl/acl.h
+diff --git a/lib/librte_acl/acl.h b/lib/librte_acl/acl.h
+index 39d45a0c2b..6f77b10ecf 100644
+--- a/lib/librte_acl/acl.h
++++ b/lib/librte_acl/acl.h
@@ -460,4 +456,4 @@
-diff --git a/lib/acl/acl_bld.c b/lib/acl/acl_bld.c
-index da10864cd8..f316d3e875 100644
---- a/lib/acl/acl_bld.c
-+++ b/lib/acl/acl_bld.c
+diff --git a/lib/librte_acl/acl_bld.c b/lib/librte_acl/acl_bld.c
+index d1f920b09c..aeeaf040b8 100644
+--- a/lib/librte_acl/acl_bld.c
++++ b/lib/librte_acl/acl_bld.c
@@ -473 +469 @@
-diff --git a/lib/acl/acl_run_avx2.h b/lib/acl/acl_run_avx2.h
+diff --git a/lib/librte_acl/acl_run_avx2.h b/lib/librte_acl/acl_run_avx2.h
@@ -475,2 +471,2 @@
---- a/lib/acl/acl_run_avx2.h
-+++ b/lib/acl/acl_run_avx2.h
+--- a/lib/librte_acl/acl_run_avx2.h
++++ b/lib/librte_acl/acl_run_avx2.h
@@ -486,4 +482,4 @@
-diff --git a/lib/bbdev/rte_bbdev.c b/lib/bbdev/rte_bbdev.c
-index b86c5fdcc0..7f353d4f7e 100644
---- a/lib/bbdev/rte_bbdev.c
-+++ b/lib/bbdev/rte_bbdev.c
+diff --git a/lib/librte_bbdev/rte_bbdev.c b/lib/librte_bbdev/rte_bbdev.c
+index f6fe05acaf..8668d3cca2 100644
+--- a/lib/librte_bbdev/rte_bbdev.c
++++ b/lib/librte_bbdev/rte_bbdev.c
@@ -499,5 +495,5 @@
-diff --git a/lib/bpf/bpf_jit_x86.c b/lib/bpf/bpf_jit_x86.c
-index aa22ea78a0..518513376a 100644
---- a/lib/bpf/bpf_jit_x86.c
-+++ b/lib/bpf/bpf_jit_x86.c
-@@ -1245,7 +1245,7 @@ emit_epilog(struct bpf_jit_state *st)
+diff --git a/lib/librte_bpf/bpf_jit_x86.c b/lib/librte_bpf/bpf_jit_x86.c
+index f70cd6be51..885e8d5c2b 100644
+--- a/lib/librte_bpf/bpf_jit_x86.c
++++ b/lib/librte_bpf/bpf_jit_x86.c
+@@ -1074,7 +1074,7 @@ emit_epilog(struct bpf_jit_state *st)
@@ -512 +508 @@
-diff --git a/lib/bpf/bpf_load_elf.c b/lib/bpf/bpf_load_elf.c
+diff --git a/lib/librte_bpf/bpf_load_elf.c b/lib/librte_bpf/bpf_load_elf.c
@@ -514,2 +510,2 @@
---- a/lib/bpf/bpf_load_elf.c
-+++ b/lib/bpf/bpf_load_elf.c
+--- a/lib/librte_bpf/bpf_load_elf.c
++++ b/lib/librte_bpf/bpf_load_elf.c
@@ -525,5 +521,5 @@
-diff --git a/lib/bpf/bpf_pkt.c b/lib/bpf/bpf_pkt.c
-index 08eebd99b3..af422afc07 100644
---- a/lib/bpf/bpf_pkt.c
-+++ b/lib/bpf/bpf_pkt.c
-@@ -166,7 +166,7 @@ bpf_eth_cbh_add(struct bpf_eth_cbh *cbh, uint16_t port, uint16_t queue)
+diff --git a/lib/librte_bpf/bpf_pkt.c b/lib/librte_bpf/bpf_pkt.c
+index 6e8248f0d6..701e8e2c62 100644
+--- a/lib/librte_bpf/bpf_pkt.c
++++ b/lib/librte_bpf/bpf_pkt.c
+@@ -169,7 +169,7 @@ bpf_eth_cbh_add(struct bpf_eth_cbh *cbh, uint16_t port, uint16_t queue)
@@ -538,5 +534,5 @@
-diff --git a/lib/bpf/bpf_validate.c b/lib/bpf/bpf_validate.c
-index 853279fee5..09331258eb 100644
---- a/lib/bpf/bpf_validate.c
-+++ b/lib/bpf/bpf_validate.c
-@@ -1730,7 +1730,7 @@ static const struct bpf_ins_check ins_chk[UINT8_MAX + 1] = {
+diff --git a/lib/librte_bpf/bpf_validate.c b/lib/librte_bpf/bpf_validate.c
+index a7c588a92a..1d7a204f86 100644
+--- a/lib/librte_bpf/bpf_validate.c
++++ b/lib/librte_bpf/bpf_validate.c
+@@ -1652,7 +1652,7 @@ static const struct bpf_ins_check ins_chk[UINT8_MAX + 1] = {
@@ -551 +547 @@
-@@ -1961,7 +1961,7 @@ log_loop(const struct bpf_verifier *bvf)
+@@ -1883,7 +1883,7 @@ log_loop(const struct bpf_verifier *bvf)
@@ -560 +556 @@
-@@ -1988,7 +1988,7 @@ validate(struct bpf_verifier *bvf)
+@@ -1910,7 +1910,7 @@ validate(struct bpf_verifier *bvf)
@@ -569 +565 @@
-@@ -2258,7 +2258,7 @@ evaluate(struct bpf_verifier *bvf)
+@@ -2172,7 +2172,7 @@ evaluate(struct bpf_verifier *bvf)
@@ -578,4 +574,4 @@
-diff --git a/lib/eal/include/rte_function_versioning.h b/lib/eal/include/rte_function_versioning.h
-index 746a1e1992..eb6dd2bc17 100644
---- a/lib/eal/include/rte_function_versioning.h
-+++ b/lib/eal/include/rte_function_versioning.h
+diff --git a/lib/librte_eal/common/include/rte_function_versioning.h b/lib/librte_eal/common/include/rte_function_versioning.h
+index c924351d5e..a3b34a50ea 100644
+--- a/lib/librte_eal/common/include/rte_function_versioning.h
++++ b/lib/librte_eal/common/include/rte_function_versioning.h
@@ -591,5 +587,5 @@
-diff --git a/lib/eal/windows/include/fnmatch.h b/lib/eal/windows/include/fnmatch.h
-index 142753c356..c272f65ccd 100644
---- a/lib/eal/windows/include/fnmatch.h
-+++ b/lib/eal/windows/include/fnmatch.h
-@@ -30,7 +30,7 @@ extern "C" {
+diff --git a/lib/librte_eal/windows/eal/include/fnmatch.h b/lib/librte_eal/windows/eal/include/fnmatch.h
+index 41b574312c..a9eef9418d 100644
+--- a/lib/librte_eal/windows/eal/include/fnmatch.h
++++ b/lib/librte_eal/windows/eal/include/fnmatch.h
+@@ -21,7 +21,7 @@ extern "C" {
@@ -604,5 +600,5 @@
-diff --git a/lib/eventdev/rte_event_timer_adapter.c b/lib/eventdev/rte_event_timer_adapter.c
-index e5572e2add..9dad170b5a 100644
---- a/lib/eventdev/rte_event_timer_adapter.c
-+++ b/lib/eventdev/rte_event_timer_adapter.c
-@@ -525,7 +525,7 @@ event_buffer_flush(struct event_buffer *bufp, uint8_t dev_id, uint8_t port_id,
+diff --git a/lib/librte_eventdev/rte_event_timer_adapter.c b/lib/librte_eventdev/rte_event_timer_adapter.c
+index 36c13fe3b5..8e340d67e6 100644
+--- a/lib/librte_eventdev/rte_event_timer_adapter.c
++++ b/lib/librte_eventdev/rte_event_timer_adapter.c
+@@ -489,7 +489,7 @@ event_buffer_flush(struct event_buffer *bufp, uint8_t dev_id, uint8_t port_id,
@@ -617,14 +613 @@
-diff --git a/lib/hash/rte_thash.c b/lib/hash/rte_thash.c
-index 394e1328c5..6847e36f4b 100644
---- a/lib/hash/rte_thash.c
-+++ b/lib/hash/rte_thash.c
-@@ -28,7 +28,7 @@ EAL_REGISTER_TAILQ(rte_thash_tailq)
- 
- /**
-  * Table of some irreducible polinomials over GF(2).
-- * For lfsr they are reperesented in BE bit order, and
-+ * For lfsr they are represented in BE bit order, and
-  * x^0 is masked out.
-  * For example, poly x^5 + x^2 + 1 will be represented
-  * as (101001b & 11111b) = 01001b = 0x9
-diff --git a/lib/ip_frag/rte_ipv4_reassembly.c b/lib/ip_frag/rte_ipv4_reassembly.c
+diff --git a/lib/librte_ip_frag/rte_ipv4_reassembly.c b/lib/librte_ip_frag/rte_ipv4_reassembly.c
@@ -632,2 +615,2 @@
---- a/lib/ip_frag/rte_ipv4_reassembly.c
-+++ b/lib/ip_frag/rte_ipv4_reassembly.c
+--- a/lib/librte_ip_frag/rte_ipv4_reassembly.c
++++ b/lib/librte_ip_frag/rte_ipv4_reassembly.c
@@ -643,5 +626,5 @@
-diff --git a/lib/ipsec/esp_inb.c b/lib/ipsec/esp_inb.c
-index 99e9c43f2f..636c850fa6 100644
---- a/lib/ipsec/esp_inb.c
-+++ b/lib/ipsec/esp_inb.c
-@@ -475,7 +475,7 @@ trs_process_check(struct rte_mbuf *mb, struct rte_mbuf **ml,
+diff --git a/lib/librte_ipsec/esp_inb.c b/lib/librte_ipsec/esp_inb.c
+index 5c653dd394..03d921f7cb 100644
+--- a/lib/librte_ipsec/esp_inb.c
++++ b/lib/librte_ipsec/esp_inb.c
+@@ -359,7 +359,7 @@ trs_process_check(struct rte_mbuf *mb, struct rte_mbuf **ml,
@@ -656 +639 @@
-@@ -561,7 +561,7 @@ trs_process_step3(struct rte_mbuf *mb)
+@@ -445,7 +445,7 @@ trs_process_step3(struct rte_mbuf *mb)
@@ -665,5 +648,5 @@
-diff --git a/lib/ipsec/esp_outb.c b/lib/ipsec/esp_outb.c
-index b7a70fd001..672e56aba0 100644
---- a/lib/ipsec/esp_outb.c
-+++ b/lib/ipsec/esp_outb.c
-@@ -614,7 +614,7 @@ cpu_outb_trs_pkt_prepare(const struct rte_ipsec_session *ss,
+diff --git a/lib/librte_ipsec/esp_outb.c b/lib/librte_ipsec/esp_outb.c
+index e983b25a3f..31b920f651 100644
+--- a/lib/librte_ipsec/esp_outb.c
++++ b/lib/librte_ipsec/esp_outb.c
+@@ -405,7 +405,7 @@ esp_outb_trs_prepare(const struct rte_ipsec_session *ss, struct rte_mbuf *mb[],
@@ -678,5 +661,5 @@
-diff --git a/lib/ipsec/ipsec_sad.c b/lib/ipsec/ipsec_sad.c
-index 3f9533c80a..531e1e323c 100644
---- a/lib/ipsec/ipsec_sad.c
-+++ b/lib/ipsec/ipsec_sad.c
-@@ -62,7 +62,7 @@ EAL_REGISTER_TAILQ(rte_ipsec_sad_tailq)
+diff --git a/lib/librte_ipsec/ipsec_sad.c b/lib/librte_ipsec/ipsec_sad.c
+index 31b5956d89..e4e304f359 100644
+--- a/lib/librte_ipsec/ipsec_sad.c
++++ b/lib/librte_ipsec/ipsec_sad.c
+@@ -59,7 +59,7 @@ EAL_REGISTER_TAILQ(rte_ipsec_sad_tailq)
@@ -691,5 +674,5 @@
-diff --git a/lib/ipsec/sa.c b/lib/ipsec/sa.c
-index a19819f9f1..1e51482c92 100644
---- a/lib/ipsec/sa.c
-+++ b/lib/ipsec/sa.c
-@@ -136,7 +136,7 @@ ipsec_sa_size(uint64_t type, uint32_t *wnd_sz, uint32_t *nb_bucket)
+diff --git a/lib/librte_ipsec/sa.c b/lib/librte_ipsec/sa.c
+index 6f1d92c3c2..5e8a417cfd 100644
+--- a/lib/librte_ipsec/sa.c
++++ b/lib/librte_ipsec/sa.c
+@@ -126,7 +126,7 @@ ipsec_sa_size(uint64_t type, uint32_t *wnd_sz, uint32_t *nb_bucket)
@@ -704,5 +687,5 @@
-diff --git a/lib/ipsec/sa.h b/lib/ipsec/sa.h
-index 6e59f18e16..7503587b50 100644
---- a/lib/ipsec/sa.h
-+++ b/lib/ipsec/sa.h
-@@ -122,7 +122,7 @@ struct rte_ipsec_sa {
+diff --git a/lib/librte_ipsec/sa.h b/lib/librte_ipsec/sa.h
+index 0cfe82f634..6e1b9ebe85 100644
+--- a/lib/librte_ipsec/sa.h
++++ b/lib/librte_ipsec/sa.h
+@@ -114,7 +114,7 @@ struct rte_ipsec_sa {
@@ -716,75 +699,6 @@
- 		uint64_t outb;
-diff --git a/lib/net/rte_gtp.h b/lib/net/rte_gtp.h
-index 9f6deb9c7e..dca940c2c5 100644
---- a/lib/net/rte_gtp.h
-+++ b/lib/net/rte_gtp.h
-@@ -142,9 +142,9 @@ struct rte_gtp_psc_type1_hdr {
- /** GTP header length */
- #define RTE_ETHER_GTP_HLEN \
- 	(sizeof(struct rte_udp_hdr) + sizeof(struct rte_gtp_hdr))
--/* GTP next protocal type */
--#define RTE_GTP_TYPE_IPV4 0x40 /**< GTP next protocal type IPv4 */
--#define RTE_GTP_TYPE_IPV6 0x60 /**< GTP next protocal type IPv6 */
-+/* GTP next protocol type */
-+#define RTE_GTP_TYPE_IPV4 0x40 /**< GTP next protocol type IPv4 */
-+#define RTE_GTP_TYPE_IPV6 0x60 /**< GTP next protocol type IPv6 */
- /* GTP destination port number */
- #define RTE_GTPC_UDP_PORT 2123 /**< GTP-C UDP destination port */
- #define RTE_GTPU_UDP_PORT 2152 /**< GTP-U UDP destination port */
-diff --git a/lib/node/ethdev_rx_priv.h b/lib/node/ethdev_rx_priv.h
-index 21dcba51fc..7f24cf962e 100644
---- a/lib/node/ethdev_rx_priv.h
-+++ b/lib/node/ethdev_rx_priv.h
-@@ -67,7 +67,7 @@ struct ethdev_rx_node_main *ethdev_rx_get_node_data_get(void);
-  *
-  * Get the Ethernet Rx node.
-  *
-- * @retrun
-+ * @return
-  *   Pointer to the Ethernet Rx node.
-  */
- struct rte_node_register *ethdev_rx_node_get(void);
-diff --git a/lib/node/ethdev_tx_priv.h b/lib/node/ethdev_tx_priv.h
-index e3a6fdb8af..93744df56a 100644
---- a/lib/node/ethdev_tx_priv.h
-+++ b/lib/node/ethdev_tx_priv.h
-@@ -46,7 +46,7 @@ struct ethdev_tx_node_main *ethdev_tx_node_data_get(void);
-  *
-  * Get the Ethernet Tx node.
-  *
-- * @retrun
-+ * @return
-  *   Pointer to the Ethernet Tx node.
-  */
- struct rte_node_register *ethdev_tx_node_get(void);
-diff --git a/lib/node/ip4_rewrite_priv.h b/lib/node/ip4_rewrite_priv.h
-index a1fb8668c5..5105ec1d29 100644
---- a/lib/node/ip4_rewrite_priv.h
-+++ b/lib/node/ip4_rewrite_priv.h
-@@ -49,7 +49,7 @@ struct ip4_rewrite_node_main {
-  *
-  * Get the ipv4 rewrite node.
-  *
-- * @retrun
-+ * @return
-  *   Pointer to the ipv4 rewrite node.
-  */
- struct rte_node_register *ip4_rewrite_node_get(void);
-diff --git a/lib/pipeline/rte_swx_pipeline.h b/lib/pipeline/rte_swx_pipeline.h
-index 9c3d08199c..77141bd341 100644
---- a/lib/pipeline/rte_swx_pipeline.h
-+++ b/lib/pipeline/rte_swx_pipeline.h
-@@ -647,7 +647,7 @@ struct rte_swx_pipeline_selector_params {
- 	const char *group_id_field_name;
- 
- 	/** The set of fields used to select (through a hashing scheme) the
--	 * member within the current group. Inputs into the seletion operation.
-+	 * member within the current group. Inputs into the selection operation.
- 	 * Restriction: All the selector fields must be part of the same struct,
- 	 * i.e. part of the same header or part of the meta-data structure.
- 	 */
-diff --git a/lib/power/power_acpi_cpufreq.c b/lib/power/power_acpi_cpufreq.c
-index 1e8aeb8403..402ed8c99b 100644
---- a/lib/power/power_acpi_cpufreq.c
-+++ b/lib/power/power_acpi_cpufreq.c
-@@ -159,7 +159,7 @@ power_get_available_freqs(struct acpi_power_info *pi)
+ 		union {
+diff --git a/lib/librte_power/power_acpi_cpufreq.c b/lib/librte_power/power_acpi_cpufreq.c
+index 9b31112348..8a5b536678 100644
+--- a/lib/librte_power/power_acpi_cpufreq.c
++++ b/lib/librte_power/power_acpi_cpufreq.c
+@@ -226,7 +226,7 @@ power_get_available_freqs(struct acpi_power_info *pi)
@@ -799,5 +713,5 @@
-diff --git a/lib/rcu/rte_rcu_qsbr.h b/lib/rcu/rte_rcu_qsbr.h
-index 18811c1cc1..62a420a785 100644
---- a/lib/rcu/rte_rcu_qsbr.h
-+++ b/lib/rcu/rte_rcu_qsbr.h
-@@ -362,7 +362,7 @@ rte_rcu_qsbr_thread_offline(struct rte_rcu_qsbr *v, unsigned int thread_id)
+diff --git a/lib/librte_rcu/rte_rcu_qsbr.h b/lib/librte_rcu/rte_rcu_qsbr.h
+index 430cdfb58a..0d30c4620a 100644
+--- a/lib/librte_rcu/rte_rcu_qsbr.h
++++ b/lib/librte_rcu/rte_rcu_qsbr.h
+@@ -309,7 +309,7 @@ rte_rcu_qsbr_thread_offline(struct rte_rcu_qsbr *v, unsigned int thread_id)
@@ -812,4 +726,4 @@
-diff --git a/lib/rib/rte_rib6.c b/lib/rib/rte_rib6.c
-index b00c7fbf5a..70405113b4 100644
---- a/lib/rib/rte_rib6.c
-+++ b/lib/rib/rte_rib6.c
+diff --git a/lib/librte_rib/rte_rib6.c b/lib/librte_rib/rte_rib6.c
+index 4cf12168dd..21e3e1c01a 100644
+--- a/lib/librte_rib/rte_rib6.c
++++ b/lib/librte_rib/rte_rib6.c
@@ -825,5 +739,5 @@
-diff --git a/lib/sched/rte_sched.c b/lib/sched/rte_sched.c
-index 2fe32bbd33..ed44808f7b 100644
---- a/lib/sched/rte_sched.c
-+++ b/lib/sched/rte_sched.c
-@@ -590,7 +590,7 @@ rte_sched_subport_config_qsize(struct rte_sched_subport *subport)
+diff --git a/lib/librte_sched/rte_sched.c b/lib/librte_sched/rte_sched.c
+index 0fa0741664..bad1c4d271 100644
+--- a/lib/librte_sched/rte_sched.c
++++ b/lib/librte_sched/rte_sched.c
+@@ -493,7 +493,7 @@ rte_sched_subport_config_qsize(struct rte_sched_subport *subport)
@@ -838,5 +752,5 @@
-diff --git a/lib/vhost/rte_vhost.h b/lib/vhost/rte_vhost.h
-index af0afbcf60..b454c05868 100644
---- a/lib/vhost/rte_vhost.h
-+++ b/lib/vhost/rte_vhost.h
-@@ -796,7 +796,7 @@ rte_vhost_get_vhost_ring_inflight(int vid, uint16_t vring_idx,
+diff --git a/lib/librte_vhost/rte_vhost.h b/lib/librte_vhost/rte_vhost.h
+index 53a30a0623..f85ed4dc50 100644
+--- a/lib/librte_vhost/rte_vhost.h
++++ b/lib/librte_vhost/rte_vhost.h
+@@ -755,7 +755,7 @@ rte_vhost_get_vhost_ring_inflight(int vid, uint16_t vring_idx,
@@ -851 +765 @@
-@@ -815,7 +815,7 @@ rte_vhost_set_inflight_desc_split(int vid, uint16_t vring_idx,
+@@ -775,7 +775,7 @@ rte_vhost_set_inflight_desc_split(int vid, uint16_t vring_idx,

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

* patch 'examples/ntb: fix build dependency' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (145 preceding siblings ...)
  2021-11-30 16:35 ` patch 'fix spelling in comments and doxygen' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'net/mlx5: fix RSS expansion scheme for GRE header' " christian.ehrhardt
                   ` (12 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: David Marchand; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 7f9c3453bca07753b504ed3b4a6d570974b990f0 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Tue, 16 Nov 2021 21:51:35 +0100
Subject: [PATCH] examples/ntb: fix build dependency

[ upstream commit 2c7302145c0405b056850382731e5352d44f7d64 ]

Caught while building with -Ddisable_drivers=*/*.
This example requires raw/ntb specific API.
Fix dependency to avoid a compilation error:

FAILED: examples/c590b3c@@dpdk-ntb@exe/ntb_ntb_fwd.c.o
ccache gcc -Iexamples/c590b3c@@dpdk-ntb@exe -Iexamples -I../examples
  -Iexamples/ntb -I../examples/ntb -I. -I../ -Iconfig -I../config
  -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include
  -I../lib/eal/linux/include -Ilib/eal/x86/include
  -I../lib/eal/x86/include -Ilib/eal/common -I../lib/eal/common
  -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs
  -Ilib/telemetry/../metrics -I../lib/telemetry/../metrics
  -Ilib/telemetry -I../lib/telemetry -Ilib/mempool -I../lib/mempool
  -Ilib/ring -I../lib/ring -Ilib/net -I../lib/net -Ilib/mbuf
  -I../lib/mbuf -Ilib/ethdev -I../lib/ethdev -Ilib/meter
  -I../lib/meter -Ilib/cmdline -I../lib/cmdline -Ilib/rawdev
  -I../lib/rawdev -fdiagnostics-color=always -pipe -Wall
  -Winvalid-pch -Werror -O2 -g -include rte_config.h -Wextra
  -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral
  -Wformat-security -Wmissing-declarations -Wmissing-prototypes
  -Wnested-externs -Wold-style-definition -Wpointer-arith
  -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings
  -Wno-missing-field-initializers -D_GNU_SOURCE -march=corei7
  -Wno-format-truncation -D_FILE_OFFSET_BITS=64
  -DALLOW_EXPERIMENTAL_API  -MD
  -MQ 'examples/c590b3c@@dpdk-ntb@exe/ntb_ntb_fwd.c.o'
  -MF 'examples/c590b3c@@dpdk-ntb@exe/ntb_ntb_fwd.c.o.d'
  -o 'examples/c590b3c@@dpdk-ntb@exe/ntb_ntb_fwd.c.o'
  -c ../examples/ntb/ntb_fwd.c
../examples/ntb/ntb_fwd.c:21:10: fatal error: rte_pmd_ntb.h:
  No such file or directory
 #include <rte_pmd_ntb.h>
          ^~~~~~~~~~~~~~~
compilation terminated.

Fixes: 5194299d6ef5 ("examples/ntb: support more functions")

Signed-off-by: David Marchand <david.marchand@redhat.com>
---
 examples/ntb/meson.build | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/examples/ntb/meson.build b/examples/ntb/meson.build
index f5435fe120..b4f9dc395d 100644
--- a/examples/ntb/meson.build
+++ b/examples/ntb/meson.build
@@ -9,11 +9,8 @@
 if host_machine.system() != 'linux'
 	build = false
 endif
-deps += 'rawdev'
+deps += ['rawdev','rawdev_ntb']
 cflags += ['-D_FILE_OFFSET_BITS=64']
 sources = files(
 	'ntb_fwd.c'
 )
-if dpdk_conf.has('RTE_LIBRTE_PMD_NTB_RAWDEV')
-	deps += 'rawdev_ntb'
-endif
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:14.473519534 +0100
+++ 0148-examples-ntb-fix-build-dependency.patch	2021-11-30 16:50:06.102875819 +0100
@@ -1 +1 @@
-From 2c7302145c0405b056850382731e5352d44f7d64 Mon Sep 17 00:00:00 2001
+From 7f9c3453bca07753b504ed3b4a6d570974b990f0 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 2c7302145c0405b056850382731e5352d44f7d64 ]
+
@@ -42 +43,0 @@
-Cc: stable@dpdk.org
@@ -50 +51 @@
-index 37899dfeb6..18eaffdf21 100644
+index f5435fe120..b4f9dc395d 100644
@@ -53,2 +54,3 @@
-@@ -12,11 +12,8 @@ if not is_linux
-     subdir_done()
+@@ -9,11 +9,8 @@
+ if host_machine.system() != 'linux'
+ 	build = false
@@ -56 +57,0 @@
- 
@@ -58 +59 @@
-+deps += ['rawdev', 'raw_ntb']
++deps += ['rawdev','rawdev_ntb']
@@ -61 +62 @@
-         'ntb_fwd.c',
+ 	'ntb_fwd.c'
@@ -63,2 +64,2 @@
--if dpdk_conf.has('RTE_RAW_NTB')
--    deps += 'raw_ntb'
+-if dpdk_conf.has('RTE_LIBRTE_PMD_NTB_RAWDEV')
+-	deps += 'rawdev_ntb'

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

* patch 'net/mlx5: fix RSS expansion scheme for GRE header' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (146 preceding siblings ...)
  2021-11-30 16:35 ` patch 'examples/ntb: fix build dependency' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'net/failsafe: fix secondary process probe' " christian.ehrhardt
                   ` (11 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Gregory Etelson; +Cc: Viacheslav Ovsiienko, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 3f65b6101051deb4ad4a19a92c01044f8e52a145 Mon Sep 17 00:00:00 2001
From: Gregory Etelson <getelson@nvidia.com>
Date: Sun, 14 Nov 2021 17:36:14 +0200
Subject: [PATCH] net/mlx5: fix RSS expansion scheme for GRE header

[ upstream commit a21d616b99ffc5810a4b5333e5efdf1ddff21405 ]

RFC-2784 allows any valid Ethernet type in GRE protocol type field.

Add Ethernet to GRE RSS expansion.

Fixes: f4b901a46aec ("net/mlx5: add flow GRE item")

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

diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 0805bdb8c9..eff0057a60 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -180,7 +180,8 @@ static const struct rte_flow_expand_node mlx5_support_expansion[] = {
 		.type = RTE_FLOW_ITEM_TYPE_VXLAN_GPE,
 	},
 	[MLX5_EXPANSION_GRE] = {
-		.next = RTE_FLOW_EXPAND_RSS_NEXT(MLX5_EXPANSION_IPV4,
+		.next = RTE_FLOW_EXPAND_RSS_NEXT(MLX5_EXPANSION_ETH,
+						 MLX5_EXPANSION_IPV4,
 						 MLX5_EXPANSION_IPV6,
 						 MLX5_EXPANSION_GRE_KEY,
 						 MLX5_EXPANSION_MPLS),
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:14.526124224 +0100
+++ 0149-net-mlx5-fix-RSS-expansion-scheme-for-GRE-header.patch	2021-11-30 16:50:06.110875878 +0100
@@ -1 +1 @@
-From a21d616b99ffc5810a4b5333e5efdf1ddff21405 Mon Sep 17 00:00:00 2001
+From 3f65b6101051deb4ad4a19a92c01044f8e52a145 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a21d616b99ffc5810a4b5333e5efdf1ddff21405 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 205fe19cdd..43598f92ee 100644
+index 0805bdb8c9..eff0057a60 100644
@@ -23 +24 @@
-@@ -654,7 +654,8 @@ static const struct mlx5_flow_expand_node mlx5_support_expansion[] = {
+@@ -180,7 +180,8 @@ static const struct rte_flow_expand_node mlx5_support_expansion[] = {
@@ -27,6 +28,6 @@
--		.next = MLX5_FLOW_EXPAND_RSS_NEXT(MLX5_EXPANSION_IPV4,
-+		.next = MLX5_FLOW_EXPAND_RSS_NEXT(MLX5_EXPANSION_ETH,
-+						  MLX5_EXPANSION_IPV4,
- 						  MLX5_EXPANSION_IPV6,
- 						  MLX5_EXPANSION_GRE_KEY,
- 						  MLX5_EXPANSION_MPLS),
+-		.next = RTE_FLOW_EXPAND_RSS_NEXT(MLX5_EXPANSION_IPV4,
++		.next = RTE_FLOW_EXPAND_RSS_NEXT(MLX5_EXPANSION_ETH,
++						 MLX5_EXPANSION_IPV4,
+ 						 MLX5_EXPANSION_IPV6,
+ 						 MLX5_EXPANSION_GRE_KEY,
+ 						 MLX5_EXPANSION_MPLS),

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

* patch 'net/failsafe: fix secondary process probe' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (147 preceding siblings ...)
  2021-11-30 16:35 ` patch 'net/mlx5: fix RSS expansion scheme for GRE header' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'net/mlx5: fix MPLS tunnel outer layer overwrite' " christian.ehrhardt
                   ` (10 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Kumara Parameshwaran; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From bb085aa7c14b188e45453f9324f82ca7fcae4c7f Mon Sep 17 00:00:00 2001
From: Kumara Parameshwaran <kumaraparamesh92@gmail.com>
Date: Thu, 11 Nov 2021 18:14:58 +0530
Subject: [PATCH] net/failsafe: fix secondary process probe

[ upstream commit 47f5dee19e5f9a2cf1883a7119675d7a25470aca ]

Remove the vdev args check for secondary process which prevents the
secondary from attaching to the device created by the primary process
via the hotplug framework. This check was removed for other vdevs but
was missed for failsafe.

Fixes: 4852aa8f6e21 ("drivers/net: enable hotplug on secondary process")

Signed-off-by: Kumara Parameshwaran <kumaraparamesh92@gmail.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/failsafe/failsafe.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/failsafe/failsafe.c b/drivers/net/failsafe/failsafe.c
index 72362f35de..978c55007a 100644
--- a/drivers/net/failsafe/failsafe.c
+++ b/drivers/net/failsafe/failsafe.c
@@ -348,8 +348,7 @@ rte_pmd_failsafe_probe(struct rte_vdev_device *vdev)
 	INFO("Initializing " FAILSAFE_DRIVER_NAME " for %s",
 			name);
 
-	if (rte_eal_process_type() == RTE_PROC_SECONDARY &&
-	    strlen(rte_vdev_device_args(vdev)) == 0) {
+	if (rte_eal_process_type() == RTE_PROC_SECONDARY) {
 		eth_dev = rte_eth_dev_attach_secondary(name);
 		if (!eth_dev) {
 			ERROR("Failed to probe %s", name);
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:14.581719270 +0100
+++ 0150-net-failsafe-fix-secondary-process-probe.patch	2021-11-30 16:50:06.110875878 +0100
@@ -1 +1 @@
-From 47f5dee19e5f9a2cf1883a7119675d7a25470aca Mon Sep 17 00:00:00 2001
+From bb085aa7c14b188e45453f9324f82ca7fcae4c7f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 47f5dee19e5f9a2cf1883a7119675d7a25470aca ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index ad6b43538e..3c754a5f66 100644
+index 72362f35de..978c55007a 100644
@@ -24 +25 @@
-@@ -340,8 +340,7 @@ rte_pmd_failsafe_probe(struct rte_vdev_device *vdev)
+@@ -348,8 +348,7 @@ rte_pmd_failsafe_probe(struct rte_vdev_device *vdev)

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

* patch 'net/mlx5: fix MPLS tunnel outer layer overwrite' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (148 preceding siblings ...)
  2021-11-30 16:35 ` patch 'net/failsafe: fix secondary process probe' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'drivers/crypto: fix IPsec TTL decrement option' " christian.ehrhardt
                   ` (9 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Dariusz Sosnowski; +Cc: Viacheslav Ovsiienko, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/49fdbb9a22c144313af5f446c1e4ef250e677fcd

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 49fdbb9a22c144313af5f446c1e4ef250e677fcd Mon Sep 17 00:00:00 2001
From: Dariusz Sosnowski <dsosnowski@nvidia.com>
Date: Wed, 17 Nov 2021 11:59:33 +0200
Subject: [PATCH] net/mlx5: fix MPLS tunnel outer layer overwrite

[ upstream commit 421177ccd7f59ec8d898fd6aa6bc6fb9eb298a52 ]

mlx5 PMD incorrectly overwrote outer layer fields in MPLS tunnel
rte_flow patterns using defaults for MPLS tunnels. This included
overwriting UDP destination port in MPLSoUDP and GRE protocol field in
MPLSoGRE.

This patch fixes this behavior. If application provides the values in
flow pattern items preceding the MPLS flow item the provided values will
be used, otherwise the defaults will be applied.

Fixes: d1abe664ddde ("net/mlx5: add MPLS to Direct Verbs flow engine")

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

diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
index f8ca36b1c6..d1a20dafbe 100644
--- a/drivers/net/mlx5/mlx5_flow_dv.c
+++ b/drivers/net/mlx5/mlx5_flow_dv.c
@@ -6216,16 +6216,22 @@ flow_dv_translate_item_mpls(void *matcher, void *key,
 
 	switch (prev_layer) {
 	case MLX5_FLOW_LAYER_OUTER_L4_UDP:
-		MLX5_SET(fte_match_set_lyr_2_4, headers_m, udp_dport, 0xffff);
-		MLX5_SET(fte_match_set_lyr_2_4, headers_v, udp_dport,
-			 MLX5_UDP_PORT_MPLS);
+		if (!MLX5_GET16(fte_match_set_lyr_2_4, headers_v, udp_dport)) {
+			MLX5_SET(fte_match_set_lyr_2_4, headers_m, udp_dport,
+				 0xffff);
+			MLX5_SET(fte_match_set_lyr_2_4, headers_v, udp_dport,
+				 MLX5_UDP_PORT_MPLS);
+		}
 		break;
 	case MLX5_FLOW_LAYER_GRE:
 		/* Fall-through. */
 	case MLX5_FLOW_LAYER_GRE_KEY:
-		MLX5_SET(fte_match_set_misc, misc_m, gre_protocol, 0xffff);
-		MLX5_SET(fte_match_set_misc, misc_v, gre_protocol,
-			 RTE_ETHER_TYPE_MPLS);
+		if (!MLX5_GET16(fte_match_set_misc, misc_v, gre_protocol)) {
+			MLX5_SET(fte_match_set_misc, misc_m, gre_protocol,
+				 0xffff);
+			MLX5_SET(fte_match_set_misc, misc_v, gre_protocol,
+				 RTE_ETHER_TYPE_MPLS);
+		}
 		break;
 	default:
 		break;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:14.628172549 +0100
+++ 0151-net-mlx5-fix-MPLS-tunnel-outer-layer-overwrite.patch	2021-11-30 16:50:06.118875937 +0100
@@ -1 +1 @@
-From 421177ccd7f59ec8d898fd6aa6bc6fb9eb298a52 Mon Sep 17 00:00:00 2001
+From 49fdbb9a22c144313af5f446c1e4ef250e677fcd Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 421177ccd7f59ec8d898fd6aa6bc6fb9eb298a52 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index 7b32c06fc6..d079a52d30 100644
+index f8ca36b1c6..d1a20dafbe 100644
@@ -28 +29 @@
-@@ -9328,16 +9328,22 @@ flow_dv_translate_item_mpls(void *matcher, void *key,
+@@ -6216,16 +6216,22 @@ flow_dv_translate_item_mpls(void *matcher, void *key,

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

* patch 'drivers/crypto: fix IPsec TTL decrement option' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (149 preceding siblings ...)
  2021-11-30 16:35 ` patch 'net/mlx5: fix MPLS tunnel outer layer overwrite' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'mbuf: fix dump of dynamic fields and flags' " christian.ehrhardt
                   ` (8 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Gagandeep Singh; +Cc: Akhil Goyal, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/71476c8a7712ff6e4a530f856a5dc23d3c5ae152

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 71476c8a7712ff6e4a530f856a5dc23d3c5ae152 Mon Sep 17 00:00:00 2001
From: Gagandeep Singh <g.singh@nxp.com>
Date: Thu, 18 Nov 2021 12:30:18 +0530
Subject: [PATCH] drivers/crypto: fix IPsec TTL decrement option

[ upstream commit 0aa5986c280f34893b2a6bacf044cff31484fe0c ]

dpaa, dpaa2 and caam_jr drivers decrement the inner IP header
TTL for all packets and ignoring the dec_ttl option of SA.

In this patch, using the dec_ttl to decide to decrement the
packets inner IP header TTL or not.

Fixes: 0a23d4b6f4c2 ("crypto/dpaa2_sec: support protocol offload IPsec")
Fixes: 3e33486f80a5 ("crypto/caam_jr: add security offload")
Fixes: 1f14d500bce1 ("crypto/dpaa_sec: support IPsec protocol offload")

Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
Acked-by: Akhil Goyal <gakhil@marvell.com>
---
 drivers/crypto/caam_jr/caam_jr.c            | 5 +++--
 drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 3 ++-
 drivers/crypto/dpaa_sec/dpaa_sec.c          | 4 +++-
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/crypto/caam_jr/caam_jr.c b/drivers/crypto/caam_jr/caam_jr.c
index 74bb3c3ed4..143dd9df76 100644
--- a/drivers/crypto/caam_jr/caam_jr.c
+++ b/drivers/crypto/caam_jr/caam_jr.c
@@ -1888,8 +1888,9 @@ caam_jr_set_ipsec_session(__rte_unused struct rte_cryptodev *dev,
 		session->encap_pdb.options =
 			(IPVERSION << PDBNH_ESP_ENCAP_SHIFT) |
 			PDBOPTS_ESP_OIHI_PDB_INL |
-			PDBOPTS_ESP_IVSRC |
-			PDBHMO_ESP_ENCAP_DTTL;
+			PDBOPTS_ESP_IVSRC;
+		if (ipsec_xform->options.dec_ttl)
+			session->encap_pdb.options |= PDBHMO_ESP_ENCAP_DTTL;
 		if (ipsec_xform->options.esn)
 			session->encap_pdb.options |= PDBOPTS_ESP_ESN;
 		session->encap_pdb.spi = ipsec_xform->spi;
diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
index cebe590e67..e6691c6cd0 100644
--- a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
+++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
@@ -2834,8 +2834,9 @@ dpaa2_sec_set_ipsec_session(struct rte_cryptodev *dev,
 		encap_pdb.options = (IPVERSION << PDBNH_ESP_ENCAP_SHIFT) |
 			PDBOPTS_ESP_OIHI_PDB_INL |
 			PDBOPTS_ESP_IVSRC |
-			PDBHMO_ESP_ENCAP_DTTL |
 			PDBHMO_ESP_SNR;
+		if (ipsec_xform->options.dec_ttl)
+			encap_pdb.options |= PDBHMO_ESP_ENCAP_DTTL;
 		if (ipsec_xform->options.esn)
 			encap_pdb.options |= PDBOPTS_ESP_ESN;
 		encap_pdb.spi = ipsec_xform->spi;
diff --git a/drivers/crypto/dpaa_sec/dpaa_sec.c b/drivers/crypto/dpaa_sec/dpaa_sec.c
index f5471120f3..1a4a296ae2 100644
--- a/drivers/crypto/dpaa_sec/dpaa_sec.c
+++ b/drivers/crypto/dpaa_sec/dpaa_sec.c
@@ -2781,12 +2781,14 @@ dpaa_sec_set_ipsec_session(__rte_unused struct rte_cryptodev *dev,
 			session->encap_pdb.ip_hdr_len =
 						sizeof(struct rte_ipv6_hdr);
 		}
+
 		session->encap_pdb.options =
 			(IPVERSION << PDBNH_ESP_ENCAP_SHIFT) |
 			PDBOPTS_ESP_OIHI_PDB_INL |
 			PDBOPTS_ESP_IVSRC |
-			PDBHMO_ESP_ENCAP_DTTL |
 			PDBHMO_ESP_SNR;
+		if (ipsec_xform->options.dec_ttl)
+			session->encap_pdb.options |= PDBHMO_ESP_ENCAP_DTTL;
 		if (ipsec_xform->options.esn)
 			session->encap_pdb.options |= PDBOPTS_ESP_ESN;
 		session->encap_pdb.spi = ipsec_xform->spi;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:14.696736658 +0100
+++ 0152-drivers-crypto-fix-IPsec-TTL-decrement-option.patch	2021-11-30 16:50:06.130876025 +0100
@@ -1 +1 @@
-From 0aa5986c280f34893b2a6bacf044cff31484fe0c Mon Sep 17 00:00:00 2001
+From 71476c8a7712ff6e4a530f856a5dc23d3c5ae152 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 0aa5986c280f34893b2a6bacf044cff31484fe0c ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -26 +27 @@
-index 8c56610ac8..5909eca6e4 100644
+index 74bb3c3ed4..143dd9df76 100644
@@ -29 +30 @@
-@@ -1881,8 +1881,9 @@ caam_jr_set_ipsec_session(__rte_unused struct rte_cryptodev *dev,
+@@ -1888,8 +1888,9 @@ caam_jr_set_ipsec_session(__rte_unused struct rte_cryptodev *dev,
@@ -42 +43 @@
-index cb2ad435bf..2e8e4c6adf 100644
+index cebe590e67..e6691c6cd0 100644
@@ -45 +46 @@
-@@ -2935,8 +2935,9 @@ dpaa2_sec_set_ipsec_session(struct rte_cryptodev *dev,
+@@ -2834,8 +2834,9 @@ dpaa2_sec_set_ipsec_session(struct rte_cryptodev *dev,
@@ -57 +58 @@
-index 454b9c4785..9a7d5eb8b7 100644
+index f5471120f3..1a4a296ae2 100644
@@ -60 +61 @@
-@@ -2898,12 +2898,14 @@ dpaa_sec_set_ipsec_session(__rte_unused struct rte_cryptodev *dev,
+@@ -2781,12 +2781,14 @@ dpaa_sec_set_ipsec_session(__rte_unused struct rte_cryptodev *dev,

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

* patch 'mbuf: fix dump of dynamic fields and flags' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (150 preceding siblings ...)
  2021-11-30 16:35 ` patch 'drivers/crypto: fix IPsec TTL decrement option' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'doc: strip build artefacts for examples file list' " christian.ehrhardt
                   ` (7 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Alexander Bechikov; +Cc: Olivier Matz, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/667dfb1e82602210afd50b3bcd83945a12e2f384

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 667dfb1e82602210afd50b3bcd83945a12e2f384 Mon Sep 17 00:00:00 2001
From: Alexander Bechikov <asb.tyum@gmail.com>
Date: Wed, 24 Nov 2021 13:57:04 +0100
Subject: [PATCH] mbuf: fix dump of dynamic fields and flags

[ upstream commit c0b48da45c151987f660b897c247132dac81021f ]

The dump of dynamic fields and flags fails if the shm is already
allocated. Add a check to fix the issue.

Fixes: d4902ed31c63 ("mbuf: check shared memory before dumping dynamic space")

Signed-off-by: Alexander Bechikov <asb.tyum@gmail.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
---
 lib/librte_mbuf/rte_mbuf_dyn.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_mbuf/rte_mbuf_dyn.c b/lib/librte_mbuf/rte_mbuf_dyn.c
index 4ef50d3f82..27e117c2be 100644
--- a/lib/librte_mbuf/rte_mbuf_dyn.c
+++ b/lib/librte_mbuf/rte_mbuf_dyn.c
@@ -530,7 +530,7 @@ void rte_mbuf_dyn_dump(FILE *out)
 	size_t i;
 
 	rte_mcfg_tailq_write_lock();
-	if (init_shared_mem() < 0) {
+	if (shm == NULL && init_shared_mem() < 0) {
 		rte_mcfg_tailq_write_unlock();
 		return;
 	}
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:14.751544180 +0100
+++ 0153-mbuf-fix-dump-of-dynamic-fields-and-flags.patch	2021-11-30 16:50:06.130876025 +0100
@@ -1 +1 @@
-From c0b48da45c151987f660b897c247132dac81021f Mon Sep 17 00:00:00 2001
+From 667dfb1e82602210afd50b3bcd83945a12e2f384 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c0b48da45c151987f660b897c247132dac81021f ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -15 +16 @@
- lib/mbuf/rte_mbuf_dyn.c | 2 +-
+ lib/librte_mbuf/rte_mbuf_dyn.c | 2 +-
@@ -18,5 +19,5 @@
-diff --git a/lib/mbuf/rte_mbuf_dyn.c b/lib/mbuf/rte_mbuf_dyn.c
-index db8e020665..4ae79383b5 100644
---- a/lib/mbuf/rte_mbuf_dyn.c
-+++ b/lib/mbuf/rte_mbuf_dyn.c
-@@ -531,7 +531,7 @@ void rte_mbuf_dyn_dump(FILE *out)
+diff --git a/lib/librte_mbuf/rte_mbuf_dyn.c b/lib/librte_mbuf/rte_mbuf_dyn.c
+index 4ef50d3f82..27e117c2be 100644
+--- a/lib/librte_mbuf/rte_mbuf_dyn.c
++++ b/lib/librte_mbuf/rte_mbuf_dyn.c
+@@ -530,7 +530,7 @@ void rte_mbuf_dyn_dump(FILE *out)

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

* patch 'doc: strip build artefacts for examples file list' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (151 preceding siblings ...)
  2021-11-30 16:35 ` patch 'mbuf: fix dump of dynamic fields and flags' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:35 ` patch 'examples/ptpclient: fix delay request message' " christian.ehrhardt
                   ` (6 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Timothy Redaelli; +Cc: Luca Boccassi, David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From bfee2c85d61bfdac606d32d834a818eb80b2f15b Mon Sep 17 00:00:00 2001
From: Timothy Redaelli <tredaelli@redhat.com>
Date: Tue, 23 Nov 2021 15:48:42 +0100
Subject: [PATCH] doc: strip build artefacts for examples file list

[ upstream commit 92eb2c3465439dad4d7aa4f073df517de1817ed9 ]

examples.dox is built inside builddir/doc/api and so doxygen generates
some dir_HASH.html that includes the builddir name and this may prevent
DPDK documentation to be correctly generated in some distributions, for
example CentOS Stream 9 and RHEL9, since the builddir includes the
architecture.

This commit adds builddir/doc/api (the path where examples.dox is
generated) to STRIP_FROM_PATH, so the generated documentation doesn't
change if builddir changes.

Fixes: a6090630f4e5 ("doc: automate examples file list for API")

Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
Acked-by: Luca Boccassi <bluca@debian.org>
Tested-by: David Marchand <david.marchand@redhat.com>
---
 doc/api/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/api/meson.build b/doc/api/meson.build
index c72b880e10..e5e2f1acb2 100644
--- a/doc/api/meson.build
+++ b/doc/api/meson.build
@@ -37,7 +37,7 @@ cdata.set('API_EXAMPLES', join_paths(meson.build_root(), 'doc', 'api', 'examples
 cdata.set('OUTPUT', join_paths(meson.build_root(), 'doc', 'api'))
 cdata.set('HTML_OUTPUT', 'api')
 cdata.set('TOPDIR', meson.source_root())
-cdata.set('STRIP_FROM_PATH', meson.source_root())
+cdata.set('STRIP_FROM_PATH', ' '.join([meson.source_root(), join_paths(meson.build_root(), 'doc', 'api')]))
 
 doxy_conf = configure_file(input: 'doxy-api.conf.in',
 	output: 'doxy-api.conf',
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:14.795523249 +0100
+++ 0154-doc-strip-build-artefacts-for-examples-file-list.patch	2021-11-30 16:50:06.130876025 +0100
@@ -1 +1 @@
-From 92eb2c3465439dad4d7aa4f073df517de1817ed9 Mon Sep 17 00:00:00 2001
+From bfee2c85d61bfdac606d32d834a818eb80b2f15b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 92eb2c3465439dad4d7aa4f073df517de1817ed9 ]
+
@@ -17 +18,0 @@
-Cc: stable@dpdk.org
@@ -27 +28 @@
-index d34c383694..7e2b429ac8 100644
+index c72b880e10..e5e2f1acb2 100644
@@ -30 +31 @@
-@@ -36,7 +36,7 @@ cdata.set('API_EXAMPLES', join_paths(meson.build_root(), 'doc', 'api', 'examples
+@@ -37,7 +37,7 @@ cdata.set('API_EXAMPLES', join_paths(meson.build_root(), 'doc', 'api', 'examples
@@ -32 +33 @@
- cdata.set('HTML_OUTPUT', 'html')
+ cdata.set('HTML_OUTPUT', 'api')
@@ -36,3 +37,3 @@
- cdata.set('WARN_AS_ERROR', 'NO')
- if get_option('werror')
-     cdata.set('WARN_AS_ERROR', 'YES')
+ 
+ doxy_conf = configure_file(input: 'doxy-api.conf.in',
+ 	output: 'doxy-api.conf',

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

* patch 'examples/ptpclient: fix delay request message' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (152 preceding siblings ...)
  2021-11-30 16:35 ` patch 'doc: strip build artefacts for examples file list' " christian.ehrhardt
@ 2021-11-30 16:35 ` christian.ehrhardt
  2021-11-30 16:36 ` patch 'doc: remove repeated repeated words' " christian.ehrhardt
                   ` (5 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:35 UTC (permalink / raw)
  To: Vanshika Shukla; +Cc: Nipun Gupta, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/264243ffe3d2fcc856cc0583de3220571d6f718f

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 264243ffe3d2fcc856cc0583de3220571d6f718f Mon Sep 17 00:00:00 2001
From: Vanshika Shukla <vanshika.shukla@nxp.com>
Date: Mon, 22 Nov 2021 13:01:22 +0530
Subject: [PATCH] examples/ptpclient: fix delay request message

[ upstream commit 21ba4d572a5cb404cd3d02a59aaf7997bb4e8a39 ]

The size of delay request message sent out by the DPDK
ptpclient application was observed to have extra length
than expected. Due to this, bad messages were observed
on the master side and delay response was not received.
This patch fixes this bug.

Fixes: ab129e9065a5 ("examples/ptpclient: add minimal PTP client")

Signed-off-by: Vanshika Shukla <vanshika.shukla@nxp.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
---
 examples/ptpclient/ptpclient.c | 32 +++++++++++++++++++-------------
 1 file changed, 19 insertions(+), 13 deletions(-)

diff --git a/examples/ptpclient/ptpclient.c b/examples/ptpclient/ptpclient.c
index e13a491c27..e29237d67c 100644
--- a/examples/ptpclient/ptpclient.c
+++ b/examples/ptpclient/ptpclient.c
@@ -382,6 +382,7 @@ parse_fup(struct ptpv2_data_slave_ordinary *ptp_data)
 	struct ptp_header *ptp_hdr;
 	struct clock_id *client_clkid;
 	struct ptp_message *ptp_msg;
+	struct delay_req_msg *req_msg;
 	struct rte_mbuf *created_pkt;
 	struct tstamp *origin_tstamp;
 	struct rte_ether_addr eth_multicast = ether_multicast;
@@ -419,7 +420,12 @@ parse_fup(struct ptpv2_data_slave_ordinary *ptp_data)
 
 		created_pkt = rte_pktmbuf_alloc(mbuf_pool);
 		pkt_size = sizeof(struct rte_ether_hdr) +
-			sizeof(struct ptp_message);
+			sizeof(struct delay_req_msg);
+
+		if (rte_pktmbuf_append(created_pkt, pkt_size) == NULL) {
+			rte_pktmbuf_free(created_pkt);
+			return;
+		}
 		created_pkt->data_len = pkt_size;
 		created_pkt->pkt_len = pkt_size;
 		eth_hdr = rte_pktmbuf_mtod(created_pkt, struct rte_ether_hdr *);
@@ -429,22 +435,22 @@ parse_fup(struct ptpv2_data_slave_ordinary *ptp_data)
 		rte_ether_addr_copy(&eth_multicast, &eth_hdr->d_addr);
 
 		eth_hdr->ether_type = htons(PTP_PROTOCOL);
-		ptp_msg = (struct ptp_message *)
-			(rte_pktmbuf_mtod(created_pkt, char *) +
-			sizeof(struct rte_ether_hdr));
-
-		ptp_msg->delay_req.hdr.seq_id = htons(ptp_data->seqID_SYNC);
-		ptp_msg->delay_req.hdr.msg_type = DELAY_REQ;
-		ptp_msg->delay_req.hdr.ver = 2;
-		ptp_msg->delay_req.hdr.control = 1;
-		ptp_msg->delay_req.hdr.log_message_interval = 127;
-		ptp_msg->delay_req.hdr.message_length =
+		req_msg = rte_pktmbuf_mtod_offset(created_pkt,
+			struct delay_req_msg *, sizeof(struct
+			rte_ether_hdr));
+
+		req_msg->hdr.seq_id = htons(ptp_data->seqID_SYNC);
+		req_msg->hdr.msg_type = DELAY_REQ;
+		req_msg->hdr.ver = 2;
+		req_msg->hdr.control = 1;
+		req_msg->hdr.log_message_interval = 127;
+		req_msg->hdr.message_length =
 			htons(sizeof(struct delay_req_msg));
-		ptp_msg->delay_req.hdr.domain_number = ptp_hdr->domain_number;
+		req_msg->hdr.domain_number = ptp_hdr->domain_number;
 
 		/* Set up clock id. */
 		client_clkid =
-			&ptp_msg->delay_req.hdr.source_port_id.clock_id;
+			&req_msg->hdr.source_port_id.clock_id;
 
 		client_clkid->id[0] = eth_hdr->s_addr.addr_bytes[0];
 		client_clkid->id[1] = eth_hdr->s_addr.addr_bytes[1];
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:14.848348866 +0100
+++ 0155-examples-ptpclient-fix-delay-request-message.patch	2021-11-30 16:50:06.130876025 +0100
@@ -1 +1 @@
-From 21ba4d572a5cb404cd3d02a59aaf7997bb4e8a39 Mon Sep 17 00:00:00 2001
+From 264243ffe3d2fcc856cc0583de3220571d6f718f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 21ba4d572a5cb404cd3d02a59aaf7997bb4e8a39 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 354c7b2c90..de799f698b 100644
+index e13a491c27..e29237d67c 100644
@@ -25 +26 @@
-@@ -386,6 +386,7 @@ parse_fup(struct ptpv2_data_slave_ordinary *ptp_data)
+@@ -382,6 +382,7 @@ parse_fup(struct ptpv2_data_slave_ordinary *ptp_data)
@@ -33 +34 @@
-@@ -423,7 +424,12 @@ parse_fup(struct ptpv2_data_slave_ordinary *ptp_data)
+@@ -419,7 +420,12 @@ parse_fup(struct ptpv2_data_slave_ordinary *ptp_data)
@@ -47,2 +48,2 @@
-@@ -433,22 +439,22 @@ parse_fup(struct ptpv2_data_slave_ordinary *ptp_data)
- 		rte_ether_addr_copy(&eth_multicast, &eth_hdr->dst_addr);
+@@ -429,22 +435,22 @@ parse_fup(struct ptpv2_data_slave_ordinary *ptp_data)
+ 		rte_ether_addr_copy(&eth_multicast, &eth_hdr->d_addr);
@@ -80,2 +81,2 @@
- 		client_clkid->id[0] = eth_hdr->src_addr.addr_bytes[0];
- 		client_clkid->id[1] = eth_hdr->src_addr.addr_bytes[1];
+ 		client_clkid->id[0] = eth_hdr->s_addr.addr_bytes[0];
+ 		client_clkid->id[1] = eth_hdr->s_addr.addr_bytes[1];

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

* patch 'doc: remove repeated repeated words' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (153 preceding siblings ...)
  2021-11-30 16:35 ` patch 'examples/ptpclient: fix delay request message' " christian.ehrhardt
@ 2021-11-30 16:36 ` christian.ehrhardt
  2021-11-30 16:36 ` patch 'net/mlx5: fix metadata and meter split shared tag' " christian.ehrhardt
                   ` (4 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:36 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From d0d1c1ebf8864a888ce888e4e75b114d60e40ee3 Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas@monjalon.net>
Date: Fri, 5 Nov 2021 22:10:30 +0100
Subject: [PATCH] doc: remove repeated repeated words

[ upstream commit 4f823975f45218c674b15ad1e9b84255eeabe08c ]

Some duplicate words were detected with a script.

Fixes: fdec9301f52d ("doc: add flow classify guides")
Fixes: 4dc6d8e63c16 ("doc: add graph library guide")
Fixes: 30d3aa861db5 ("doc: rework VM power manager user guide")
Fixes: 0d547ed03717 ("examples/ipsec-secgw: support configuration file")
Fixes: e64833f2273a ("examples/l2fwd-keepalive: add sample application")

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: David Marchand <david.marchand@redhat.com>
---
 doc/guides/prog_guide/flow_classify_lib.rst | 2 +-
 doc/guides/sample_app_ug/ipsec_secgw.rst    | 2 +-
 doc/guides/sample_app_ug/keep_alive.rst     | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/doc/guides/prog_guide/flow_classify_lib.rst b/doc/guides/prog_guide/flow_classify_lib.rst
index f0ed5a1a04..7dae0bc8c6 100644
--- a/doc/guides/prog_guide/flow_classify_lib.rst
+++ b/doc/guides/prog_guide/flow_classify_lib.rst
@@ -366,7 +366,7 @@ Packet Matching
 ~~~~~~~~~~~~~~~
 
 The ``rte_flow_classifier_query`` API is used to find packets which match a
-given flow Flow rule in the table.
+given flow rule in the table.
 This API calls the flow_classify_run internal function which calls the
 ``table.ops.f_lookup`` API to see if any packets in a burst match any
 of the Flow rules in the table.
diff --git a/doc/guides/sample_app_ug/ipsec_secgw.rst b/doc/guides/sample_app_ug/ipsec_secgw.rst
index eb1a57a98f..6f6e168c9b 100644
--- a/doc/guides/sample_app_ug/ipsec_secgw.rst
+++ b/doc/guides/sample_app_ug/ipsec_secgw.rst
@@ -330,7 +330,7 @@ where each options means:
 
    * *protect <SA_idx>*: the specified traffic is protected by SA rule
      with id SA_idx
-   * *bypass*: the specified traffic traffic is bypassed
+   * *bypass*: the specified traffic is bypassed
    * *discard*: the specified traffic is discarded
 
 ``<priority>``
diff --git a/doc/guides/sample_app_ug/keep_alive.rst b/doc/guides/sample_app_ug/keep_alive.rst
index 865ba69e5c..58e7985b12 100644
--- a/doc/guides/sample_app_ug/keep_alive.rst
+++ b/doc/guides/sample_app_ug/keep_alive.rst
@@ -78,7 +78,7 @@ options.
 Explanation
 -----------
 
-The following sections provide some explanation of the The
+The following sections provide some explanation of the
 Keep-Alive/'Liveliness' conceptual scheme. As mentioned in the
 overview section, the initialization and run-time paths are very
 similar to those of the :doc:`l2_forward_real_virtual`.
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:14.906723138 +0100
+++ 0156-doc-remove-repeated-repeated-words.patch	2021-11-30 16:50:06.134876054 +0100
@@ -1 +1 @@
-From 4f823975f45218c674b15ad1e9b84255eeabe08c Mon Sep 17 00:00:00 2001
+From d0d1c1ebf8864a888ce888e4e75b114d60e40ee3 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4f823975f45218c674b15ad1e9b84255eeabe08c ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -18,6 +19,4 @@
- doc/guides/prog_guide/flow_classify_lib.rst      | 2 +-
- doc/guides/prog_guide/graph_lib.rst              | 2 +-
- doc/guides/sample_app_ug/ipsec_secgw.rst         | 2 +-
- doc/guides/sample_app_ug/keep_alive.rst          | 2 +-
- doc/guides/sample_app_ug/vm_power_management.rst | 2 +-
- 5 files changed, 5 insertions(+), 5 deletions(-)
+ doc/guides/prog_guide/flow_classify_lib.rst | 2 +-
+ doc/guides/sample_app_ug/ipsec_secgw.rst    | 2 +-
+ doc/guides/sample_app_ug/keep_alive.rst     | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
@@ -38,13 +36,0 @@
-diff --git a/doc/guides/prog_guide/graph_lib.rst b/doc/guides/prog_guide/graph_lib.rst
-index fcff9c4286..1cfdc86433 100644
---- a/doc/guides/prog_guide/graph_lib.rst
-+++ b/doc/guides/prog_guide/graph_lib.rst
-@@ -220,7 +220,7 @@ the user needs to update the context of the node hence access to
- ``struct rte_node *`` memory.
- 
- ``rte_graph_foreach_node()``, ``rte_graph_node_get()``,
--``rte_graph_node_get_by_name()`` APIs can be used to to get the
-+``rte_graph_node_get_by_name()`` APIs can be used to get the
- ``struct rte_node*``. ``rte_graph_foreach_node()`` iterator function works on
- ``struct rte_graph *`` fast-path graph object while others works on graph ID or name.
- 
@@ -52 +38 @@
-index 2304141ce8..c53ee7c386 100644
+index eb1a57a98f..6f6e168c9b 100644
@@ -55 +41 @@
-@@ -443,7 +443,7 @@ where each options means:
+@@ -330,7 +330,7 @@ where each options means:
@@ -65 +51 @@
-index b6d75c8a80..a907ff36a1 100644
+index 865ba69e5c..58e7985b12 100644
@@ -77,13 +62,0 @@
-diff --git a/doc/guides/sample_app_ug/vm_power_management.rst b/doc/guides/sample_app_ug/vm_power_management.rst
-index 35afdac63f..7160b6a63a 100644
---- a/doc/guides/sample_app_ug/vm_power_management.rst
-+++ b/doc/guides/sample_app_ug/vm_power_management.rst
-@@ -236,7 +236,7 @@ Compiling and Running the Host Application
- Compiling the Host Application
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 
--For information on compiling the DPDK and sample applications, see
-+For information on compiling the DPDK and sample applications,
- see :doc:`compiling`.
- 
- The application is located in the ``vm_power_manager`` subdirectory.

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

* patch 'net/mlx5: fix metadata and meter split shared tag' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (154 preceding siblings ...)
  2021-11-30 16:36 ` patch 'doc: remove repeated repeated words' " christian.ehrhardt
@ 2021-11-30 16:36 ` christian.ehrhardt
  2021-11-30 16:36 ` patch 'net/mlx4: fix empty Ethernet spec with VLAN' " christian.ehrhardt
                   ` (3 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:36 UTC (permalink / raw)
  To: Jiawei Wang; +Cc: Viacheslav Ovsiienko, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From b2543bbdc370a927376a095924798675018ace10 Mon Sep 17 00:00:00 2001
From: Jiawei Wang <jiaweiw@nvidia.com>
Date: Fri, 19 Nov 2021 15:02:00 +0200
Subject: [PATCH] net/mlx5: fix metadata and meter split shared tag

[ upstream commit 16f4aa57ca381c4283826cdfce2cd4e172744ca7 ]

In the metadata flow split, PMD created the prefix subflow
with removed Queue or RSS action and appended the set tag and
copy table jump actions. If the flow being split for metadata
was the meter prefix subflow, the driver supposed to share the same
meter split tag action for the metadata split flow. There was the wrong
check for preceding meter split tag action, causing append with metadata
split set tag action and resulting the meter suffix subflow was missed
due to tag value mismatch.

This patch adds the checking before copying into extend action list,
to make sure the correct shared tag is used.

Fixes: 8d72fa668964 ("net/mlx5: share tag between meter and metadata")

Signed-off-by: Jiawei Wang <jiaweiw@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
 drivers/net/mlx5/mlx5_flow.c | 35 +++++++++++++++++------------------
 1 file changed, 17 insertions(+), 18 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index eff0057a60..0d73eebcfc 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -3685,6 +3685,8 @@ flow_meter_split_prep(struct rte_eth_dev *dev,
  *   Pointer to the Q/RSS action.
  * @param[in] actions_n
  *   Number of original actions.
+ * @param[in] mtr_sfx
+ *   Check if it is in meter suffix table.
  * @param[out] error
  *   Perform verbose error reporting if not NULL.
  *
@@ -3697,7 +3699,8 @@ flow_mreg_split_qrss_prep(struct rte_eth_dev *dev,
 			  struct rte_flow_action *split_actions,
 			  const struct rte_flow_action *actions,
 			  const struct rte_flow_action *qrss,
-			  int actions_n, struct rte_flow_error *error)
+			  int actions_n, int mtr_sfx,
+			  struct rte_flow_error *error)
 {
 	struct mlx5_rte_flow_action_set_tag *set_tag;
 	struct rte_flow_action_jump *jump;
@@ -3711,15 +3714,15 @@ flow_mreg_split_qrss_prep(struct rte_eth_dev *dev,
 	 * - Add jump to mreg CP_TBL.
 	 * As a result, there will be one more action.
 	 */
-	++actions_n;
 	memcpy(split_actions, actions, sizeof(*split_actions) * actions_n);
+	/* Count MLX5_RTE_FLOW_ACTION_TYPE_TAG. */
+	++actions_n;
 	set_tag = (void *)(split_actions + actions_n);
 	/*
-	 * If tag action is not set to void(it means we are not the meter
-	 * suffix flow), add the tag action. Since meter suffix flow already
-	 * has the tag added.
+	 * If we are not the meter suffix flow, add the tag action.
+	 * Since meter suffix flow already has the tag added.
 	 */
-	if (split_actions[qrss_idx].type != RTE_FLOW_ACTION_TYPE_VOID) {
+	if (!mtr_sfx) {
 		/*
 		 * Allocate the new subflow ID. This one is unique within
 		 * device and not shared with representors. Otherwise,
@@ -3751,6 +3754,12 @@ flow_mreg_split_qrss_prep(struct rte_eth_dev *dev,
 				MLX5_RTE_FLOW_ACTION_TYPE_TAG,
 			.conf = set_tag,
 		};
+	} else {
+		/*
+		 * If we are the suffix flow of meter, tag already exist.
+		 * Set the QUEUE/RSS action to void.
+		 */
+		split_actions[qrss_idx].type = RTE_FLOW_ACTION_TYPE_VOID;
 	}
 	/* JUMP action to jump to mreg copy table (CP_TBL). */
 	jump = (void *)(set_tag + 1);
@@ -3926,17 +3935,6 @@ flow_create_split_metadata(struct rte_eth_dev *dev,
 						  RTE_FLOW_ERROR_TYPE_ACTION,
 						  NULL, "no memory to split "
 						  "metadata flow");
-		/*
-		 * If we are the suffix flow of meter, tag already exist.
-		 * Set the tag action to void.
-		 */
-		if (mtr_sfx)
-			ext_actions[qrss - actions].type =
-						RTE_FLOW_ACTION_TYPE_VOID;
-		else
-			ext_actions[qrss - actions].type =
-						(enum rte_flow_action_type)
-						MLX5_RTE_FLOW_ACTION_TYPE_TAG;
 		/*
 		 * Create the new actions list with removed Q/RSS action
 		 * and appended set tag and jump to register copy table
@@ -3944,7 +3942,8 @@ flow_create_split_metadata(struct rte_eth_dev *dev,
 		 * in advance, because it is needed for set tag action.
 		 */
 		qrss_id = flow_mreg_split_qrss_prep(dev, ext_actions, actions,
-						    qrss, actions_n, error);
+						    qrss, actions_n,
+						    mtr_sfx, error);
 		if (!mtr_sfx && !qrss_id) {
 			ret = -rte_errno;
 			goto exit;
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:14.954580261 +0100
+++ 0157-net-mlx5-fix-metadata-and-meter-split-shared-tag.patch	2021-11-30 16:50:06.138876083 +0100
@@ -1 +1 @@
-From 16f4aa57ca381c4283826cdfce2cd4e172744ca7 Mon Sep 17 00:00:00 2001
+From b2543bbdc370a927376a095924798675018ace10 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 16f4aa57ca381c4283826cdfce2cd4e172744ca7 ]
+
@@ -19 +20,0 @@
-Cc: stable@dpdk.org
@@ -28 +29 @@
-index 43598f92ee..84e6f3048c 100644
+index eff0057a60..0d73eebcfc 100644
@@ -31 +32 @@
-@@ -5251,6 +5251,8 @@ exit:
+@@ -3685,6 +3685,8 @@ flow_meter_split_prep(struct rte_eth_dev *dev,
@@ -40 +41 @@
-@@ -5263,7 +5265,8 @@ flow_mreg_split_qrss_prep(struct rte_eth_dev *dev,
+@@ -3697,7 +3699,8 @@ flow_mreg_split_qrss_prep(struct rte_eth_dev *dev,
@@ -48 +48,0 @@
- 	struct mlx5_priv *priv = dev->data->dev_private;
@@ -50 +50,2 @@
-@@ -5278,15 +5281,15 @@ flow_mreg_split_qrss_prep(struct rte_eth_dev *dev,
+ 	struct rte_flow_action_jump *jump;
+@@ -3711,15 +3714,15 @@ flow_mreg_split_qrss_prep(struct rte_eth_dev *dev,
@@ -71 +72 @@
-@@ -5319,6 +5322,12 @@ flow_mreg_split_qrss_prep(struct rte_eth_dev *dev,
+@@ -3751,6 +3754,12 @@ flow_mreg_split_qrss_prep(struct rte_eth_dev *dev,
@@ -84 +85 @@
-@@ -5773,17 +5782,6 @@ flow_create_split_metadata(struct rte_eth_dev *dev,
+@@ -3926,17 +3935,6 @@ flow_create_split_metadata(struct rte_eth_dev *dev,
@@ -102 +103 @@
-@@ -5791,7 +5789,8 @@ flow_create_split_metadata(struct rte_eth_dev *dev,
+@@ -3944,7 +3942,8 @@ flow_create_split_metadata(struct rte_eth_dev *dev,

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

* patch 'net/mlx4: fix empty Ethernet spec with VLAN' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (155 preceding siblings ...)
  2021-11-30 16:36 ` patch 'net/mlx5: fix metadata and meter split shared tag' " christian.ehrhardt
@ 2021-11-30 16:36 ` christian.ehrhardt
  2021-11-30 16:36 ` patch 'app/testpmd: fix hexadecimal parser with odd length' " christian.ehrhardt
                   ` (2 subsequent siblings)
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:36 UTC (permalink / raw)
  To: Xiaoyu Min; +Cc: Matan Azrad, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From e495c937fd06d03b27f31d218ab20d231866f73f Mon Sep 17 00:00:00 2001
From: Xiaoyu Min <jackmin@nvidia.com>
Date: Mon, 22 Nov 2021 21:53:29 +0800
Subject: [PATCH] net/mlx4: fix empty Ethernet spec with VLAN

[ upstream commit d564eea7ce7fe66f6b4210956b8907f663d30734 ]

When the ETH spec is empty MLX4 PMD doesn't allow match other criteria,
which means the flow should be promisc one.

Currently, PMD validates this by setting flow->promisc bit when ETH spec
is empty and checking whether there is other rte_flow_item followed
when flow->promisc is on.

However, commit [1] adds support to match traffic only on VLAN id, the
above validation logic should be changed accordingly.

This patch changes the above validate logic by skipping flow->promisc
check if this item is VLAN.

[1]:
Fixes: c0d239263156 ("net/mlx4: support flow w/o ETH spec and with VLAN")

Signed-off-by: Xiaoyu Min <jackmin@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
---
 drivers/net/mlx4/mlx4_flow.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/mlx4/mlx4_flow.c b/drivers/net/mlx4/mlx4_flow.c
index b268c0fafa..927715ba0f 100644
--- a/drivers/net/mlx4/mlx4_flow.c
+++ b/drivers/net/mlx4/mlx4_flow.c
@@ -714,7 +714,8 @@ fill:
 			flow->internal = 1;
 			continue;
 		}
-		if (flow->promisc || flow->allmulti) {
+		if ((item->type != RTE_FLOW_ITEM_TYPE_VLAN && flow->promisc) ||
+		    flow->allmulti) {
 			msg = "mlx4 does not support additional matching"
 				" criteria combined with indiscriminate"
 				" matching on Ethernet headers";
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:15.059035520 +0100
+++ 0158-net-mlx4-fix-empty-Ethernet-spec-with-VLAN.patch	2021-11-30 16:50:06.142876112 +0100
@@ -1 +1 @@
-From d564eea7ce7fe66f6b4210956b8907f663d30734 Mon Sep 17 00:00:00 2001
+From e495c937fd06d03b27f31d218ab20d231866f73f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d564eea7ce7fe66f6b4210956b8907f663d30734 ]
+
@@ -21 +22,0 @@
-Cc: stable@dpdk.org
@@ -30 +31 @@
-index 2e1b6c87e9..9d7247cf81 100644
+index b268c0fafa..927715ba0f 100644
@@ -33 +34 @@
-@@ -713,7 +713,8 @@ fill:
+@@ -714,7 +714,8 @@ fill:

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

* patch 'app/testpmd: fix hexadecimal parser with odd length' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (156 preceding siblings ...)
  2021-11-30 16:36 ` patch 'net/mlx4: fix empty Ethernet spec with VLAN' " christian.ehrhardt
@ 2021-11-30 16:36 ` christian.ehrhardt
  2021-11-30 16:36 ` patch 'remove repeated 'the' in the code' " christian.ehrhardt
  2021-11-30 16:36 ` patch 'doc: fix typo in coding style' " christian.ehrhardt
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:36 UTC (permalink / raw)
  To: Gregory Etelson; +Cc: Viacheslav Ovsiienko, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

This queued commit can be viewed at:
https://github.com/cpaelzer/dpdk-stable-queue/commit/86e6d758ac906b310e04ec9ad3c3b8602aec5aec

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From 86e6d758ac906b310e04ec9ad3c3b8602aec5aec Mon Sep 17 00:00:00 2001
From: Gregory Etelson <getelson@nvidia.com>
Date: Wed, 24 Nov 2021 14:33:54 +0200
Subject: [PATCH] app/testpmd: fix hexadecimal parser with odd length

[ upstream commit ea1da434c0a876b1913b9f0758abd1b6e70a19fd ]

Current hex string parser assumes input has even characters number.
The parser fails input string with odd length.

The patch parses hex strings with even and odd length.
Parse result of an input with odd length will match result of
even length input, that has `0` as MSB, following by the original
sequence.
For example:
"0x1" results in *dst={0x01, 0x00}, *size=1
"0xabc" results in *dst={0x0a, 0xbc, 0x00}, *size=2

Fixes: 169a9fed1f4c ("app/testpmd: fix hex string parser support for flow API")

Signed-off-by: Gregory Etelson <getelson@nvidia.com>
Reviewed-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
 app/test-pmd/cmdline_flow.c | 29 ++++++++++++++++-------------
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
index 4d99ae518d..df9183376c 100644
--- a/app/test-pmd/cmdline_flow.c
+++ b/app/test-pmd/cmdline_flow.c
@@ -5293,9 +5293,8 @@ error:
 static int
 parse_hex_string(const char *src, uint8_t *dst, uint32_t *size)
 {
-	char *c = NULL;
-	uint32_t i, len;
-	char tmp[3];
+	uint32_t left = *size;
+	const uint8_t *head = dst;
 
 	/* Check input parameters */
 	if ((src == NULL) ||
@@ -5305,19 +5304,23 @@ parse_hex_string(const char *src, uint8_t *dst, uint32_t *size)
 		return -1;
 
 	/* Convert chars to bytes */
-	for (i = 0, len = 0; i < *size; i += 2) {
-		snprintf(tmp, 3, "%s", src + i);
-		dst[len++] = strtoul(tmp, &c, 16);
-		if (*c != 0) {
-			len--;
-			dst[len] = 0;
-			*size = len;
+	while (left) {
+		char tmp[3], *end = tmp;
+		uint32_t read_lim = left & 1 ? 1 : 2;
+
+		snprintf(tmp, read_lim + 1, "%s", src);
+		*dst = strtoul(tmp, &end, 16);
+		if (*end) {
+			*dst = 0;
+			*size = (uint32_t)(dst - head);
 			return -1;
 		}
+		left -= read_lim;
+		src += read_lim;
+		dst++;
 	}
-	dst[len] = 0;
-	*size = len;
-
+	*dst = 0;
+	*size = (uint32_t)(dst - head);
 	return 0;
 }
 
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:15.184356160 +0100
+++ 0159-app-testpmd-fix-hexadecimal-parser-with-odd-length.patch	2021-11-30 16:50:06.150876172 +0100
@@ -1 +1 @@
-From ea1da434c0a876b1913b9f0758abd1b6e70a19fd Mon Sep 17 00:00:00 2001
+From 86e6d758ac906b310e04ec9ad3c3b8602aec5aec Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit ea1da434c0a876b1913b9f0758abd1b6e70a19fd ]
+
@@ -18 +19,0 @@
-Cc: stable@dpdk.org
@@ -27 +28 @@
-index 1b00ae507b..bbe3dc0115 100644
+index 4d99ae518d..df9183376c 100644
@@ -30 +31 @@
-@@ -7702,9 +7702,8 @@ error:
+@@ -5293,9 +5293,8 @@ error:
@@ -42 +43 @@
-@@ -7714,19 +7713,23 @@ parse_hex_string(const char *src, uint8_t *dst, uint32_t *size)
+@@ -5305,19 +5304,23 @@ parse_hex_string(const char *src, uint8_t *dst, uint32_t *size)

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

* patch 'remove repeated 'the' in the code' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (157 preceding siblings ...)
  2021-11-30 16:36 ` patch 'app/testpmd: fix hexadecimal parser with odd length' " christian.ehrhardt
@ 2021-11-30 16:36 ` christian.ehrhardt
  2021-11-30 16:36 ` patch 'doc: fix typo in coding style' " christian.ehrhardt
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:36 UTC (permalink / raw)
  To: Sean Morrissey
  Cc: Conor Fogarty, John McNamara, Conor Walsh, Somnath Kotur,
	Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From d544d3a92425e3237783a0ba08fd0c1cec58e144 Mon Sep 17 00:00:00 2001
From: Sean Morrissey <sean.morrissey@intel.com>
Date: Mon, 22 Nov 2021 10:50:45 +0000
Subject: [PATCH] remove repeated 'the' in the code

[ upstream commit b53d106d34b5c638f5a2cbdfee0da5bd42d4383f ]

Remove the use of double "the" as it does not make sense.

Signed-off-by: Sean Morrissey <sean.morrissey@intel.com>
Signed-off-by: Conor Fogarty <conor.fogarty@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Reviewed-by: Conor Walsh <conor.walsh@intel.com>
Acked-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 app/test/test_barrier.c                      | 2 +-
 drivers/bus/vmbus/rte_bus_vmbus.h            | 2 +-
 drivers/common/cpt/cpt_hw_types.h            | 2 +-
 drivers/net/bnx2x/elink.c                    | 2 +-
 drivers/net/bnxt/hsi_struct_def_dpdk.h       | 2 +-
 drivers/net/bonding/rte_eth_bond_pmd.c       | 2 +-
 drivers/net/hinic/base/hinic_pmd_hwdev.c     | 2 +-
 drivers/net/i40e/base/i40e_common.c          | 2 +-
 drivers/net/ice/ice_ethdev.h                 | 2 +-
 lib/librte_bbdev/rte_bbdev_pmd.h             | 2 +-
 lib/librte_compressdev/rte_compressdev_pmd.h | 2 +-
 lib/librte_cryptodev/rte_cryptodev_pmd.h     | 2 +-
 lib/librte_eventdev/rte_eventdev_pmd.h       | 2 +-
 lib/librte_ip_frag/rte_ipv6_fragmentation.c  | 2 +-
 lib/librte_rawdev/rte_rawdev_pmd.h           | 2 +-
 15 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/app/test/test_barrier.c b/app/test/test_barrier.c
index 1ef2b6e452..e54eca44fb 100644
--- a/app/test/test_barrier.c
+++ b/app/test/test_barrier.c
@@ -6,7 +6,7 @@
   * This is a simple functional test for rte_smp_mb() implementation.
   * I.E. make sure that LOAD and STORE operations that precede the
   * rte_smp_mb() call are globally visible across the lcores
-  * before the the LOAD and STORE operations that follows it.
+  * before the LOAD and STORE operations that follows it.
   * The test uses simple implementation of Peterson's lock algorithm
   * (https://en.wikipedia.org/wiki/Peterson%27s_algorithm)
   * for two execution units to make sure that rte_smp_mb() prevents
diff --git a/drivers/bus/vmbus/rte_bus_vmbus.h b/drivers/bus/vmbus/rte_bus_vmbus.h
index 4cf73ce815..81b17817f1 100644
--- a/drivers/bus/vmbus/rte_bus_vmbus.h
+++ b/drivers/bus/vmbus/rte_bus_vmbus.h
@@ -292,7 +292,7 @@ struct iova_list {
  * @param data
  *	Pointer to the buffer additional data to send
  * @param dlen
- *	 Maximum size of what the the buffer will hold
+ *	 Maximum size of what the buffer will hold
  * @param xact
  *	Identifier of the request
  * @param flags
diff --git a/drivers/common/cpt/cpt_hw_types.h b/drivers/common/cpt/cpt_hw_types.h
index e2b127de41..31aad5df9c 100644
--- a/drivers/common/cpt/cpt_hw_types.h
+++ b/drivers/common/cpt/cpt_hw_types.h
@@ -460,7 +460,7 @@ typedef union {
 		uint64_t dbell_cnt             : 20;
 		/** [ 19:  0](R/W/H) Number of instruction queue 64-bit words
 		 * to add to the CPT instruction doorbell count. Readback value
-		 * is the the current number of pending doorbell requests.
+		 * is the current number of pending doorbell requests.
 		 *
 		 * If counter overflows CPT()_VQ()_MISC_INT[DBELL_DOVF] is set.
 		 *
diff --git a/drivers/net/bnx2x/elink.c b/drivers/net/bnx2x/elink.c
index b65126d718..2093d8f373 100644
--- a/drivers/net/bnx2x/elink.c
+++ b/drivers/net/bnx2x/elink.c
@@ -15013,7 +15013,7 @@ static void elink_check_kr2_wa(struct elink_params *params,
 
 	/* Once KR2 was disabled, wait 5 seconds before checking KR2 recovery
 	 * Since some switches tend to reinit the AN process and clear the
-	 * the advertised BP/NP after ~2 seconds causing the KR2 to be disabled
+	 * advertised BP/NP after ~2 seconds causing the KR2 to be disabled
 	 * and recovered many times
 	 */
 	if (vars->check_kr2_recovery_cnt > 0) {
diff --git a/drivers/net/bnxt/hsi_struct_def_dpdk.h b/drivers/net/bnxt/hsi_struct_def_dpdk.h
index ced1e04f21..6a16ea9162 100644
--- a/drivers/net/bnxt/hsi_struct_def_dpdk.h
+++ b/drivers/net/bnxt/hsi_struct_def_dpdk.h
@@ -9644,7 +9644,7 @@ struct hwrm_func_resource_qcaps_output {
 	#define HWRM_FUNC_RESOURCE_QCAPS_OUTPUT_VF_RESERVATION_STRATEGY_MINIMAL \
 		UINT32_C(0x1)
 	/*
-	 * The PF driver should not reserve any resources for each VF until the
+	 * The PF driver should not reserve any resources for each VF until
 	 * the VF interface is brought up.
 	 */
 	#define HWRM_FUNC_RESOURCE_QCAPS_OUTPUT_VF_RESERVATION_STRATEGY_MINIMAL_STATIC \
diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index 735440e3a9..df1e9136b5 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -3485,7 +3485,7 @@ bond_ethdev_configure(struct rte_eth_dev *dev)
 
 	/*
 	 * If RSS is enabled, fill table with default values and
-	 * set key to the the value specified in port RSS configuration.
+	 * set key to the value specified in port RSS configuration.
 	 * Fall back to default RSS key if the key is not specified
 	 */
 	if (dev->data->dev_conf.rxmode.mq_mode & ETH_MQ_RX_RSS) {
diff --git a/drivers/net/hinic/base/hinic_pmd_hwdev.c b/drivers/net/hinic/base/hinic_pmd_hwdev.c
index 8a0faa6975..09e1891b21 100644
--- a/drivers/net/hinic/base/hinic_pmd_hwdev.c
+++ b/drivers/net/hinic/base/hinic_pmd_hwdev.c
@@ -828,7 +828,7 @@ static int set_vf_dma_attr_entry(struct hinic_hwdev *hwdev, u8 entry_idx,
 }
 
 /**
- * dma_attr_table_init - initialize the the default dma attributes
+ * dma_attr_table_init - initialize the default dma attributes
  * @hwdev: the pointer to the private hardware device object
  */
 static int dma_attr_table_init(struct hinic_hwdev *hwdev)
diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c
index 34af6118ba..6099ebe571 100644
--- a/drivers/net/i40e/base/i40e_common.c
+++ b/drivers/net/i40e/base/i40e_common.c
@@ -5863,7 +5863,7 @@ enum i40e_status_code i40e_aq_add_cloud_filters(struct i40e_hw *hw,
  * @filter_count: number of filters contained in the buffer
  *
  * Set the cloud filters for a given VSI.  The contents of the
- * i40e_aqc_cloud_filters_element_bb are filled in by the caller of the
+ * i40e_aqc_cloud_filters_element_bb are filled in by the caller of
  * the function.
  *
  **/
diff --git a/drivers/net/ice/ice_ethdev.h b/drivers/net/ice/ice_ethdev.h
index cce0b5f2d6..21647ca450 100644
--- a/drivers/net/ice/ice_ethdev.h
+++ b/drivers/net/ice/ice_ethdev.h
@@ -207,7 +207,7 @@ struct ice_vsi {
 	 * needs to add, HW needs to know the layout that VSIs are organized.
 	 * Besides that, VSI isan element and can't switch packets, which needs
 	 * to add new component VEB to perform switching. So, a new VSI needs
-	 * to specify the the uplink VSI (Parent VSI) before created. The
+	 * to specify the uplink VSI (Parent VSI) before created. The
 	 * uplink VSI will check whether it had a VEB to switch packets. If no,
 	 * it will try to create one. Then, uplink VSI will move the new VSI
 	 * into its' sib_vsi_list to manage all the downlink VSI.
diff --git a/lib/librte_bbdev/rte_bbdev_pmd.h b/lib/librte_bbdev/rte_bbdev_pmd.h
index 237e3361d7..b8a5cb4015 100644
--- a/lib/librte_bbdev/rte_bbdev_pmd.h
+++ b/lib/librte_bbdev/rte_bbdev_pmd.h
@@ -76,7 +76,7 @@ struct rte_bbdev *
 rte_bbdev_get_named_dev(const char *name);
 
 /**
- * Definitions of all functions exported by a driver through the the generic
+ * Definitions of all functions exported by a driver through the generic
  * structure of type *rte_bbdev_ops* supplied in the *rte_bbdev* structure
  * associated with a device.
  */
diff --git a/lib/librte_compressdev/rte_compressdev_pmd.h b/lib/librte_compressdev/rte_compressdev_pmd.h
index c8e017577c..d9e45b3585 100644
--- a/lib/librte_compressdev/rte_compressdev_pmd.h
+++ b/lib/librte_compressdev/rte_compressdev_pmd.h
@@ -64,7 +64,7 @@ struct rte_compressdev *
 rte_compressdev_pmd_get_named_dev(const char *name);
 
 /**
- * Definitions of all functions exported by a driver through the
+ * Definitions of all functions exported by a driver through
  * the generic structure of type *comp_dev_ops* supplied in the
  * *rte_compressdev* structure associated with a device.
  */
diff --git a/lib/librte_cryptodev/rte_cryptodev_pmd.h b/lib/librte_cryptodev/rte_cryptodev_pmd.h
index c4935b3307..fa5e170624 100644
--- a/lib/librte_cryptodev/rte_cryptodev_pmd.h
+++ b/lib/librte_cryptodev/rte_cryptodev_pmd.h
@@ -113,7 +113,7 @@ extern struct rte_cryptodev *rte_cryptodevs;
 
 /**
  * Definitions of all functions exported by a driver through the
- * the generic structure of type *crypto_dev_ops* supplied in the
+ * generic structure of type *crypto_dev_ops* supplied in the
  * *rte_cryptodev* structure associated with a device.
  */
 
diff --git a/lib/librte_eventdev/rte_eventdev_pmd.h b/lib/librte_eventdev/rte_eventdev_pmd.h
index c5d41ddad8..ec77e65f29 100644
--- a/lib/librte_eventdev/rte_eventdev_pmd.h
+++ b/lib/librte_eventdev/rte_eventdev_pmd.h
@@ -144,7 +144,7 @@ rte_event_pmd_is_valid_dev(uint8_t dev_id)
 
 /**
  * Definitions of all functions exported by a driver through the
- * the generic structure of type *event_dev_ops* supplied in the
+ * generic structure of type *event_dev_ops* supplied in the
  * *rte_eventdev* structure associated with a device.
  */
 
diff --git a/lib/librte_ip_frag/rte_ipv6_fragmentation.c b/lib/librte_ip_frag/rte_ipv6_fragmentation.c
index 43449970e5..c7357092e4 100644
--- a/lib/librte_ip_frag/rte_ipv6_fragmentation.c
+++ b/lib/librte_ip_frag/rte_ipv6_fragmentation.c
@@ -81,7 +81,7 @@ rte_ipv6_fragment_packet(struct rte_mbuf *pkt_in,
 
 	/*
 	 * Ensure the IP payload length of all fragments (except the
-	 * the last fragment) are a multiple of 8 bytes per RFC2460.
+	 * last fragment) are a multiple of 8 bytes per RFC2460.
 	 */
 
 	frag_size = mtu_size - sizeof(struct rte_ipv6_hdr) -
diff --git a/lib/librte_rawdev/rte_rawdev_pmd.h b/lib/librte_rawdev/rte_rawdev_pmd.h
index 4395a2182d..440acda70f 100644
--- a/lib/librte_rawdev/rte_rawdev_pmd.h
+++ b/lib/librte_rawdev/rte_rawdev_pmd.h
@@ -126,7 +126,7 @@ rte_rawdev_pmd_is_valid_dev(uint8_t dev_id)
 }
 
 /**
- * Definitions of all functions exported by a driver through the
+ * Definitions of all functions exported by a driver through
  * the generic structure of type *rawdev_ops* supplied in the
  * *rte_rawdev* structure associated with a device.
  */
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:15.303915424 +0100
+++ 0160-remove-repeated-the-in-the-code.patch	2021-11-30 16:50:06.226876729 +0100
@@ -1 +1 @@
-From b53d106d34b5c638f5a2cbdfee0da5bd42d4383f Mon Sep 17 00:00:00 2001
+From d544d3a92425e3237783a0ba08fd0c1cec58e144 Mon Sep 17 00:00:00 2001
@@ -6 +6 @@
-Remove the use of double "the" as it does not make sense.
+[ upstream commit b53d106d34b5c638f5a2cbdfee0da5bd42d4383f ]
@@ -8 +8 @@
-Cc: stable@dpdk.org
+Remove the use of double "the" as it does not make sense.
@@ -17,18 +17,16 @@
- app/test/test_barrier.c                  | 2 +-
- drivers/bus/vmbus/rte_bus_vmbus.h        | 2 +-
- drivers/common/cpt/cpt_hw_types.h        | 2 +-
- drivers/net/bnx2x/elink.c                | 2 +-
- drivers/net/bnxt/hsi_struct_def_dpdk.h   | 2 +-
- drivers/net/bonding/rte_eth_bond_pmd.c   | 2 +-
- drivers/net/hinic/base/hinic_pmd_hwdev.c | 2 +-
- drivers/net/i40e/base/i40e_common.c      | 2 +-
- drivers/net/ice/ice_ethdev.h             | 2 +-
- drivers/net/ionic/ionic_if.h             | 2 +-
- drivers/net/mlx5/mlx5_trigger.c          | 2 +-
- lib/bbdev/rte_bbdev_pmd.h                | 2 +-
- lib/compressdev/rte_compressdev_pmd.h    | 2 +-
- lib/cryptodev/cryptodev_pmd.h            | 2 +-
- lib/eventdev/eventdev_pmd.h              | 2 +-
- lib/ip_frag/rte_ipv6_fragmentation.c     | 2 +-
- lib/rawdev/rte_rawdev_pmd.h              | 2 +-
- 17 files changed, 17 insertions(+), 17 deletions(-)
+ app/test/test_barrier.c                      | 2 +-
+ drivers/bus/vmbus/rte_bus_vmbus.h            | 2 +-
+ drivers/common/cpt/cpt_hw_types.h            | 2 +-
+ drivers/net/bnx2x/elink.c                    | 2 +-
+ drivers/net/bnxt/hsi_struct_def_dpdk.h       | 2 +-
+ drivers/net/bonding/rte_eth_bond_pmd.c       | 2 +-
+ drivers/net/hinic/base/hinic_pmd_hwdev.c     | 2 +-
+ drivers/net/i40e/base/i40e_common.c          | 2 +-
+ drivers/net/ice/ice_ethdev.h                 | 2 +-
+ lib/librte_bbdev/rte_bbdev_pmd.h             | 2 +-
+ lib/librte_compressdev/rte_compressdev_pmd.h | 2 +-
+ lib/librte_cryptodev/rte_cryptodev_pmd.h     | 2 +-
+ lib/librte_eventdev/rte_eventdev_pmd.h       | 2 +-
+ lib/librte_ip_frag/rte_ipv6_fragmentation.c  | 2 +-
+ lib/librte_rawdev/rte_rawdev_pmd.h           | 2 +-
+ 15 files changed, 15 insertions(+), 15 deletions(-)
@@ -37 +35 @@
-index 9641133ccf..6d6d48749c 100644
+index 1ef2b6e452..e54eca44fb 100644
@@ -50 +48 @@
-index 466d42d277..a24bad831d 100644
+index 4cf73ce815..81b17817f1 100644
@@ -53 +51 @@
-@@ -291,7 +291,7 @@ struct iova_list {
+@@ -292,7 +292,7 @@ struct iova_list {
@@ -63 +61 @@
-index a1f969eb14..522844c351 100644
+index e2b127de41..31aad5df9c 100644
@@ -66 +64 @@
-@@ -466,7 +466,7 @@ typedef union {
+@@ -460,7 +460,7 @@ typedef union {
@@ -89 +87 @@
-index 0c08171dec..88624f8129 100644
+index ced1e04f21..6a16ea9162 100644
@@ -92 +90 @@
-@@ -14998,7 +14998,7 @@ struct hwrm_func_resource_qcaps_output {
+@@ -9644,7 +9644,7 @@ struct hwrm_func_resource_qcaps_output {
@@ -102 +100 @@
-index 9bbe1291bc..84f4900ee5 100644
+index 735440e3a9..df1e9136b5 100644
@@ -105 +103 @@
-@@ -3498,7 +3498,7 @@ bond_ethdev_configure(struct rte_eth_dev *dev)
+@@ -3485,7 +3485,7 @@ bond_ethdev_configure(struct rte_eth_dev *dev)
@@ -113 +111 @@
- 	if (dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_RSS) {
+ 	if (dev->data->dev_conf.rxmode.mq_mode & ETH_MQ_RX_RSS) {
@@ -115 +113 @@
-index 80f9eb5c30..5eb022297e 100644
+index 8a0faa6975..09e1891b21 100644
@@ -118 +116 @@
-@@ -826,7 +826,7 @@ static int set_vf_dma_attr_entry(struct hinic_hwdev *hwdev, u8 entry_idx,
+@@ -828,7 +828,7 @@ static int set_vf_dma_attr_entry(struct hinic_hwdev *hwdev, u8 entry_idx,
@@ -128 +126 @@
-index baa51e1396..9eee104063 100644
+index 34af6118ba..6099ebe571 100644
@@ -131 +129 @@
-@@ -5969,7 +5969,7 @@ enum i40e_status_code i40e_aq_add_cloud_filters(struct i40e_hw *hw,
+@@ -5863,7 +5863,7 @@ enum i40e_status_code i40e_aq_add_cloud_filters(struct i40e_hw *hw,
@@ -141 +139 @@
-index 11f7eb4352..2e3e45f3d7 100644
+index cce0b5f2d6..21647ca450 100644
@@ -144 +142 @@
-@@ -242,7 +242,7 @@ struct ice_vsi {
+@@ -207,7 +207,7 @@ struct ice_vsi {
@@ -153,31 +151,5 @@
-diff --git a/drivers/net/ionic/ionic_if.h b/drivers/net/ionic/ionic_if.h
-index ba4cc4b724..693b44d764 100644
---- a/drivers/net/ionic/ionic_if.h
-+++ b/drivers/net/ionic/ionic_if.h
-@@ -684,7 +684,7 @@ enum ionic_txq_desc_opcode {
-  *                   IONIC_TXQ_DESC_OPCODE_CSUM_HW:
-  *                      Offload 16-bit checksum computation to hardware.
-  *                      If @csum_l3 is set then the packet's L3 checksum is
-- *                      updated. Similarly, if @csum_l4 is set the the L4
-+ *                      updated. Similarly, if @csum_l4 is set the L4
-  *                      checksum is updated. If @encap is set then encap header
-  *                      checksums are also updated.
-  *
-diff --git a/drivers/net/mlx5/mlx5_trigger.c b/drivers/net/mlx5/mlx5_trigger.c
-index 68df3f8b4d..74c9c0a4ff 100644
---- a/drivers/net/mlx5/mlx5_trigger.c
-+++ b/drivers/net/mlx5/mlx5_trigger.c
-@@ -853,7 +853,7 @@ error:
- 
- /*
-  * Unbind the hairpin port pair, HW configuration of both devices will be clear
-- * and status will be reset for all the queues used between the them.
-+ * and status will be reset for all the queues used between them.
-  * This function only supports to unbind the Tx from one Rx.
-  *
-  * @param dev
-diff --git a/lib/bbdev/rte_bbdev_pmd.h b/lib/bbdev/rte_bbdev_pmd.h
-index dd0e35994c..3da7a2bdf5 100644
---- a/lib/bbdev/rte_bbdev_pmd.h
-+++ b/lib/bbdev/rte_bbdev_pmd.h
-@@ -70,7 +70,7 @@ struct rte_bbdev *
+diff --git a/lib/librte_bbdev/rte_bbdev_pmd.h b/lib/librte_bbdev/rte_bbdev_pmd.h
+index 237e3361d7..b8a5cb4015 100644
+--- a/lib/librte_bbdev/rte_bbdev_pmd.h
++++ b/lib/librte_bbdev/rte_bbdev_pmd.h
+@@ -76,7 +76,7 @@ struct rte_bbdev *
@@ -192,4 +164,4 @@
-diff --git a/lib/compressdev/rte_compressdev_pmd.h b/lib/compressdev/rte_compressdev_pmd.h
-index 16b6bc6b35..b2a0e25001 100644
---- a/lib/compressdev/rte_compressdev_pmd.h
-+++ b/lib/compressdev/rte_compressdev_pmd.h
+diff --git a/lib/librte_compressdev/rte_compressdev_pmd.h b/lib/librte_compressdev/rte_compressdev_pmd.h
+index c8e017577c..d9e45b3585 100644
+--- a/lib/librte_compressdev/rte_compressdev_pmd.h
++++ b/lib/librte_compressdev/rte_compressdev_pmd.h
@@ -205,5 +177,5 @@
-diff --git a/lib/cryptodev/cryptodev_pmd.h b/lib/cryptodev/cryptodev_pmd.h
-index 89bf2af399..1bca24e74e 100644
---- a/lib/cryptodev/cryptodev_pmd.h
-+++ b/lib/cryptodev/cryptodev_pmd.h
-@@ -159,7 +159,7 @@ rte_cryptodev_pmd_get_named_dev(const char *name);
+diff --git a/lib/librte_cryptodev/rte_cryptodev_pmd.h b/lib/librte_cryptodev/rte_cryptodev_pmd.h
+index c4935b3307..fa5e170624 100644
+--- a/lib/librte_cryptodev/rte_cryptodev_pmd.h
++++ b/lib/librte_cryptodev/rte_cryptodev_pmd.h
+@@ -113,7 +113,7 @@ extern struct rte_cryptodev *rte_cryptodevs;
@@ -218,5 +190,5 @@
-diff --git a/lib/eventdev/eventdev_pmd.h b/lib/eventdev/eventdev_pmd.h
-index 4787df7ba0..d0b0c00a60 100644
---- a/lib/eventdev/eventdev_pmd.h
-+++ b/lib/eventdev/eventdev_pmd.h
-@@ -237,7 +237,7 @@ rte_event_pmd_is_valid_dev(uint8_t dev_id)
+diff --git a/lib/librte_eventdev/rte_eventdev_pmd.h b/lib/librte_eventdev/rte_eventdev_pmd.h
+index c5d41ddad8..ec77e65f29 100644
+--- a/lib/librte_eventdev/rte_eventdev_pmd.h
++++ b/lib/librte_eventdev/rte_eventdev_pmd.h
+@@ -144,7 +144,7 @@ rte_event_pmd_is_valid_dev(uint8_t dev_id)
@@ -231,5 +203,5 @@
-diff --git a/lib/ip_frag/rte_ipv6_fragmentation.c b/lib/ip_frag/rte_ipv6_fragmentation.c
-index 88f29c158c..2e692418b5 100644
---- a/lib/ip_frag/rte_ipv6_fragmentation.c
-+++ b/lib/ip_frag/rte_ipv6_fragmentation.c
-@@ -90,7 +90,7 @@ rte_ipv6_fragment_packet(struct rte_mbuf *pkt_in,
+diff --git a/lib/librte_ip_frag/rte_ipv6_fragmentation.c b/lib/librte_ip_frag/rte_ipv6_fragmentation.c
+index 43449970e5..c7357092e4 100644
+--- a/lib/librte_ip_frag/rte_ipv6_fragmentation.c
++++ b/lib/librte_ip_frag/rte_ipv6_fragmentation.c
+@@ -81,7 +81,7 @@ rte_ipv6_fragment_packet(struct rte_mbuf *pkt_in,
@@ -244,4 +216,4 @@
-diff --git a/lib/rawdev/rte_rawdev_pmd.h b/lib/rawdev/rte_rawdev_pmd.h
-index b1bed13ee2..3b7be57d3e 100644
---- a/lib/rawdev/rte_rawdev_pmd.h
-+++ b/lib/rawdev/rte_rawdev_pmd.h
+diff --git a/lib/librte_rawdev/rte_rawdev_pmd.h b/lib/librte_rawdev/rte_rawdev_pmd.h
+index 4395a2182d..440acda70f 100644
+--- a/lib/librte_rawdev/rte_rawdev_pmd.h
++++ b/lib/librte_rawdev/rte_rawdev_pmd.h

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

* patch 'doc: fix typo in coding style' has been queued to stable release 19.11.11
  2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
                   ` (158 preceding siblings ...)
  2021-11-30 16:36 ` patch 'remove repeated 'the' in the code' " christian.ehrhardt
@ 2021-11-30 16:36 ` christian.ehrhardt
  159 siblings, 0 replies; 162+ messages in thread
From: christian.ehrhardt @ 2021-11-30 16:36 UTC (permalink / raw)
  To: Dariusz Sosnowski; +Cc: Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 19.11.11

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

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
From c06b4e46c90fa45033d0433e0a9943358d2bc337 Mon Sep 17 00:00:00 2001
From: Dariusz Sosnowski <dsosnowski@nvidia.com>
Date: Fri, 29 Oct 2021 16:19:02 +0300
Subject: [PATCH] doc: fix typo in coding style

[ upstream commit 6965091e0bf15134328ed0038b03a7700dc17245 ]

This patch fixes a typo in DPDK Coding Style, in Return Values section,
i.e. replaces "indicated may" with "indicated by".

Fixes: 36032e46be40 ("doc: add coding style")

Signed-off-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 doc/guides/contributing/coding_style.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/guides/contributing/coding_style.rst b/doc/guides/contributing/coding_style.rst
index 841ef6d5c8..95e2d4c22c 100644
--- a/doc/guides/contributing/coding_style.rst
+++ b/doc/guides/contributing/coding_style.rst
@@ -591,7 +591,7 @@ Return Value
 ~~~~~~~~~~~~
 
 * Functions which create objects, or allocate memory, should return pointer types, and NULL on error.
-  The error type should be indicated may setting the variable ``rte_errno`` appropriately.
+  The error type should be indicated by setting the variable ``rte_errno`` appropriately.
 * Functions which work on bursts of packets, such as RX-like or TX-like functions, should return the number of packets handled.
 * Other functions returning int should generally behave like system calls:
   returning 0 on success and -1 on error, setting ``rte_errno`` to indicate the specific type of error.
-- 
2.34.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2021-11-30 16:50:15.464215455 +0100
+++ 0161-doc-fix-typo-in-coding-style.patch	2021-11-30 16:50:06.230876758 +0100
@@ -1 +1 @@
-From 6965091e0bf15134328ed0038b03a7700dc17245 Mon Sep 17 00:00:00 2001
+From c06b4e46c90fa45033d0433e0a9943358d2bc337 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 6965091e0bf15134328ed0038b03a7700dc17245 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 1ce5d00e36..0ec37c019b 100644
+index 841ef6d5c8..95e2d4c22c 100644
@@ -22 +23 @@
-@@ -619,7 +619,7 @@ Return Value
+@@ -591,7 +591,7 @@ Return Value

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

* RE: patch 'examples/performance-thread: fix build with ASan' has been queued to stable release 19.11.11
  2021-11-30 16:35 ` patch 'examples/performance-thread: fix build with ASan' " christian.ehrhardt
@ 2021-12-01  1:44   ` Peng, ZhihongX
  0 siblings, 0 replies; 162+ messages in thread
From: Peng, ZhihongX @ 2021-12-01  1:44 UTC (permalink / raw)
  To: christian.ehrhardt; +Cc: Lin, Xueqin, Richardson, Bruce, dpdk stable

Hi , ehrhardt

This patch is not backward compatible. 

Regards,
Peng,Zhihong

> -----Original Message-----
> From: christian.ehrhardt@canonical.com <christian.ehrhardt@canonical.com>
> Sent: Wednesday, December 1, 2021 12:35 AM
> To: Peng, ZhihongX <zhihongx.peng@intel.com>
> Cc: Lin, Xueqin <xueqin.lin@intel.com>; Richardson, Bruce
> <bruce.richardson@intel.com>; dpdk stable <stable@dpdk.org>
> Subject: patch 'examples/performance-thread: fix build with ASan' has been
> queued to stable release 19.11.11
> 
> Hi,
> 
> FYI, your patch has been queued to stable release 19.11.11
> 
> Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
> It will be pushed if I get no objections before December 10th 2021. 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/cpaelzer/dpdk-stable-queue
> 
> This queued commit can be viewed at:
> https://github.com/cpaelzer/dpdk-stable-
> queue/commit/478db9fdd0f6214bd02fce0dfe49723d82b68228
> 
> Thanks.
> 
> Christian Ehrhardt <christian.ehrhardt@canonical.com>
> 
> ---
> From 478db9fdd0f6214bd02fce0dfe49723d82b68228 Mon Sep 17 00:00:00
> 2001
> From: Zhihong Peng <zhihongx.peng@intel.com>
> Date: Wed, 20 Oct 2021 15:46:43 +0800
> Subject: [PATCH] examples/performance-thread: fix build with ASan
> 
> [ upstream commit 4d2d1258151657d69b0be5d118956b7e809f9d47 ]
> 
> Code changes to avoid the following build error:
> "strncpy specified bound XX equals destination size".
> 
> Signed-off-by: Xueqin Lin <xueqin.lin@intel.com>
> Signed-off-by: Zhihong Peng <zhihongx.peng@intel.com>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
>  examples/performance-thread/common/lthread.c       | 4 ++--
>  examples/performance-thread/common/lthread_cond.c  | 6 +++---
> examples/performance-thread/common/lthread_mutex.c | 6 +++---
>  3 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/examples/performance-thread/common/lthread.c
> b/examples/performance-thread/common/lthread.c
> index 3f1f48db43..190e5874b1 100644
> --- a/examples/performance-thread/common/lthread.c
> +++ b/examples/performance-thread/common/lthread.c
> @@ -20,6 +20,7 @@
>  #include <sys/mman.h>
> 
>  #include <rte_log.h>
> +#include <rte_string_fns.h>
>  #include <ctx.h>
>  #include <stack.h>
> 
> @@ -463,6 +464,5 @@ void lthread_set_funcname(const char *f)  {
>  	struct lthread *lt = THIS_LTHREAD;
> 
> -	strncpy(lt->funcname, f, sizeof(lt->funcname));
> -	lt->funcname[sizeof(lt->funcname)-1] = 0;
> +	strlcpy(lt->funcname, f, sizeof(lt->funcname));
>  }
> diff --git a/examples/performance-thread/common/lthread_cond.c
> b/examples/performance-thread/common/lthread_cond.c
> index cdcc7a7b5a..e7be17089a 100644
> --- a/examples/performance-thread/common/lthread_cond.c
> +++ b/examples/performance-thread/common/lthread_cond.c
> @@ -20,6 +20,7 @@
> 
>  #include <rte_log.h>
>  #include <rte_common.h>
> +#include <rte_string_fns.h>
> 
>  #include "lthread_api.h"
>  #include "lthread_diag_api.h"
> @@ -57,10 +58,9 @@ lthread_cond_init(char *name, struct lthread_cond
> **cond,
>  	}
> 
>  	if (name == NULL)
> -		strncpy(c->name, "no name", sizeof(c->name));
> +		strlcpy(c->name, "no name", sizeof(c->name));
>  	else
> -		strncpy(c->name, name, sizeof(c->name));
> -	c->name[sizeof(c->name)-1] = 0;
> +		strlcpy(c->name, name, sizeof(c->name));
> 
>  	c->root_sched = THIS_SCHED;
> 
> diff --git a/examples/performance-thread/common/lthread_mutex.c
> b/examples/performance-thread/common/lthread_mutex.c
> index 01da6cad4f..709ab9f553 100644
> --- a/examples/performance-thread/common/lthread_mutex.c
> +++ b/examples/performance-thread/common/lthread_mutex.c
> @@ -19,6 +19,7 @@
>  #include <rte_log.h>
>  #include <rte_spinlock.h>
>  #include <rte_common.h>
> +#include <rte_string_fns.h>
> 
>  #include "lthread_api.h"
>  #include "lthread_int.h"
> @@ -52,10 +53,9 @@ lthread_mutex_init(char *name, struct lthread_mutex
> **mutex,
>  	}
> 
>  	if (name == NULL)
> -		strncpy(m->name, "no name", sizeof(m->name));
> +		strlcpy(m->name, "no name", sizeof(m->name));
>  	else
> -		strncpy(m->name, name, sizeof(m->name));
> -	m->name[sizeof(m->name)-1] = 0;
> +		strlcpy(m->name, name, sizeof(m->name));
> 
>  	m->root_sched = THIS_SCHED;
>  	m->owner = NULL;
> --
> 2.34.0
> 
> ---
>   Diff of the applied patch vs upstream commit (please double-check if non-
> empty:
> ---
> --- -	2021-11-30 16:50:11.974298631 +0100
> +++ 0106-examples-performance-thread-fix-build-with-ASan.patch	2021-
> 11-30 16:50:05.910874410 +0100
> @@ -1 +1 @@
> -From 4d2d1258151657d69b0be5d118956b7e809f9d47 Mon Sep 17 00:00:00
> 2001
> +From 478db9fdd0f6214bd02fce0dfe49723d82b68228 Mon Sep 17 00:00:00
> 2001
> @@ -5,0 +6,2 @@
> +[ upstream commit 4d2d1258151657d69b0be5d118956b7e809f9d47 ]
> +
> @@ -19 +21 @@
> -index 98123f34f8..009374a8c3 100644
> +index 3f1f48db43..190e5874b1 100644
> @@ -30 +32 @@
> -@@ -465,6 +466,5 @@ void lthread_set_funcname(const char *f)
> +@@ -463,6 +464,5 @@ void lthread_set_funcname(const char *f)
> @@ -64 +66 @@
> -index 061fc5c19a..f3ec7c1c60 100644
> +index 01da6cad4f..709ab9f553 100644

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

end of thread, other threads:[~2021-12-01  1:44 UTC | newest]

Thread overview: 162+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-30 16:33 patch 'net/i40e: support 25G AOC/ACC cables' has been queued to stable release 19.11.11 christian.ehrhardt
2021-11-30 16:33 ` patch 'test/power: fix CPU frequency when turbo enabled' " christian.ehrhardt
2021-11-30 16:33 ` patch 'examples/performance-thread: fix build with clang 12.0.1' " christian.ehrhardt
2021-11-30 16:33 ` patch 'drivers/net: fix typo in vector Rx comment' " christian.ehrhardt
2021-11-30 16:33 ` patch 'drivers/net: fix vector Rx comments' " christian.ehrhardt
2021-11-30 16:33 ` patch 'net/ice/base: fix typo in comment' " christian.ehrhardt
2021-11-30 16:33 ` patch 'app/testpmd: fix Tx retry in flowgen engine' " christian.ehrhardt
2021-11-30 16:33 ` patch 'app/testpmd: fix check without outer checksum' " christian.ehrhardt
2021-11-30 16:33 ` patch 'app/testpmd: fix dump of Tx offload flags' " christian.ehrhardt
2021-11-30 16:33 ` patch 'eal/ppc: ignore GCC 10 stringop-overflow warnings' " christian.ehrhardt
2021-11-30 16:33 ` patch 'config/ppc: ignore GCC 11 psabi " christian.ehrhardt
2021-11-30 16:33 ` patch 'crypto/openssl: fix CCM processing 0 length source' " christian.ehrhardt
2021-11-30 16:33 ` patch 'common/dpaax/caamflib: fix IV for short MAC-I in SNOW3G' " christian.ehrhardt
2021-11-30 16:33 ` patch 'net/nfp: fix minimum descriptor sizes' " christian.ehrhardt
2021-11-30 16:33 ` patch 'net/iavf: fix overflow in maximum packet length config' " christian.ehrhardt
2021-11-30 16:33 ` patch 'net/ixgbe: fix Rx multicast statistics after reset' " christian.ehrhardt
2021-11-30 16:33 ` patch 'net/bnxt: fix ring group free' " christian.ehrhardt
2021-11-30 16:33 ` patch 'net/bnxt: fix double allocation of ring groups' " christian.ehrhardt
2021-11-30 16:33 ` patch 'net/axgbe: fix unreleased lock in I2C transfer' " christian.ehrhardt
2021-11-30 16:33 ` patch 'net/pcap: fix resource leakage on port probe' " christian.ehrhardt
2021-11-30 16:33 ` patch 'net/ixgbe: fix hash handle leak' " christian.ehrhardt
2021-11-30 16:33 ` patch 'net/ixgbe: fix queue resource " christian.ehrhardt
2021-11-30 16:33 ` patch 'net/ixgbe: fix MAC " christian.ehrhardt
2021-11-30 16:33 ` patch 'net/ixgbe: fix mbuf " christian.ehrhardt
2021-11-30 16:33 ` patch 'net/qede: fix minsize build' " christian.ehrhardt
2021-11-30 16:33 ` patch 'examples/service_cores: fix lcore count check' " christian.ehrhardt
2021-11-30 16:33 ` patch 'net/virtio: fix mbuf count on Rx queue setup' " christian.ehrhardt
2021-11-30 16:33 ` patch 'net/virtio: avoid unneeded link interrupt configuration' " christian.ehrhardt
2021-11-30 16:33 ` patch 'net/virtio-user: fix Rx interrupts with multi-queue' " christian.ehrhardt
2021-11-30 16:33 ` patch 'vhost: log socket path on adding connection' " christian.ehrhardt
2021-11-30 16:33 ` patch 'net/octeontx2: fix MTU when PTP is enabled' " christian.ehrhardt
2021-11-30 16:33 ` patch 'net/i40e: fix mbuf leak' " christian.ehrhardt
2021-11-30 16:33 ` patch 'net/i40e: fix device startup resource release' " christian.ehrhardt
2021-11-30 16:33 ` patch 'net/iavf: fix mbuf leak' " christian.ehrhardt
2021-11-30 16:33 ` patch 'net/i40e/base: fix resource leakage' " christian.ehrhardt
2021-11-30 16:34 ` patch 'net/iavf: fix Rx queue buffer size alignment' " christian.ehrhardt
2021-11-30 16:34 ` patch 'doc: fix numbers power of 2 in LPM6 guide' " christian.ehrhardt
2021-11-30 16:34 ` patch 'stack: fix reload head when pop fails' " christian.ehrhardt
2021-11-30 16:34 ` patch 'test/compress: fix buffer overflow' " christian.ehrhardt
2021-11-30 16:34 ` patch 'net/memif: fix chained mbuf determination' " christian.ehrhardt
2021-11-30 16:34 ` patch 'ring: fix Doxygen comment of internal function' " christian.ehrhardt
2021-11-30 16:34 ` patch 'bitrate: fix registration to match API description' " christian.ehrhardt
2021-11-30 16:34 ` patch 'bitrate: fix calculation " christian.ehrhardt
2021-11-30 16:34 ` patch 'efd: allow more CPU sockets in table creation' " christian.ehrhardt
2021-11-30 16:34 ` patch 'eal/freebsd: lock memory device to prevent conflicts' " christian.ehrhardt
2021-11-30 16:34 ` patch 'test/mem: fix memory autotests on FreeBSD' " christian.ehrhardt
2021-11-30 16:34 ` patch 'vhost: clean IOTLB cache on vring stop' " christian.ehrhardt
2021-11-30 16:34 ` patch 'common/iavf: fix ARQ resource leak' " christian.ehrhardt
2021-11-30 16:34 ` patch 'net/bnxt: fix function driver register/unregister' " christian.ehrhardt
2021-11-30 16:34 ` patch 'net/bnxt: fix Tx queue startup state' " christian.ehrhardt
2021-11-30 16:34 ` patch 'net/bnxt: fix memzone free for Tx and Rx rings' " christian.ehrhardt
2021-11-30 16:34 ` patch 'net/bnxt: fix tunnel port accounting' " christian.ehrhardt
2021-11-30 16:34 ` patch 'net/mlx5: fix flow tables double release' " christian.ehrhardt
2021-11-30 16:34 ` patch 'bus/vmbus: fix leak on device scan' " christian.ehrhardt
2021-11-30 16:34 ` patch 'test/latency: fix loop boundary' " christian.ehrhardt
2021-11-30 16:34 ` patch 'common/dpaax: fix physical address conversion' " christian.ehrhardt
2021-11-30 16:34 ` patch 'ethdev: fix xstats by ID API documentation' " christian.ehrhardt
2021-11-30 16:34 ` patch 'net/hns3: fix input parameters of MAC functions' " christian.ehrhardt
2021-11-30 16:34 ` patch 'net: fix checksum API documentation' " christian.ehrhardt
2021-11-30 16:34 ` patch 'examples/fips_validation: remove unused allocation' " christian.ehrhardt
2021-11-30 16:34 ` patch 'test/event_crypto: fix event crypto metadata write' " christian.ehrhardt
2021-11-30 16:34 ` patch 'test/service: fix some comment' " christian.ehrhardt
2021-11-30 16:34 ` patch 'eal/x86: fix some CPU extended features definitions' " christian.ehrhardt
2021-11-30 16:34 ` patch 'bus/vmbus: fix ring buffer mapping in secondary process' " christian.ehrhardt
2021-11-30 16:34 ` patch 'eal/freebsd: ignore in-memory option' " christian.ehrhardt
2021-11-30 16:34 ` patch 'mbuf: fix typo in comment' " christian.ehrhardt
2021-11-30 16:34 ` patch 'test/atomic: fix 128-bit atomic test with many cores' " christian.ehrhardt
2021-11-30 16:34 ` patch 'mbuf: enforce no option for dynamic fields and flags' " christian.ehrhardt
2021-11-30 16:34 ` patch 'app/crypto-perf: fix AAD template copy overrun' " christian.ehrhardt
2021-11-30 16:34 ` patch 'test/bpf: fix undefined behavior with clang' " christian.ehrhardt
2021-11-30 16:34 ` patch 'net/af_xdp: disable secondary process support' " christian.ehrhardt
2021-11-30 16:34 ` patch 'net/bonding: fix dedicated queue mode in vector burst' " christian.ehrhardt
2021-11-30 16:34 ` patch 'net/bonding: fix RSS key length' " christian.ehrhardt
2021-11-30 16:34 ` patch 'app/testpmd: retain all original dev conf when config DCB' " christian.ehrhardt
2021-11-30 16:34 ` patch 'net/i40e: fix Rx packet statistics' " christian.ehrhardt
2021-11-30 16:34 ` patch 'net/ixgbe: fix queue release' " christian.ehrhardt
2021-11-30 16:34 ` patch 'net/i40e/base: fix PHY identifiers for 2.5G and 5G adapters' " christian.ehrhardt
2021-11-30 16:34 ` patch 'net/i40e/base: fix PF reset' " christian.ehrhardt
2021-11-30 16:34 ` patch 'net/i40e/base: fix update link data for X722' " christian.ehrhardt
2021-11-30 16:34 ` patch 'net/i40e/base: fix AOC media type' " christian.ehrhardt
2021-11-30 16:34 ` patch 'net/i40e/base: fix function name in comments' " christian.ehrhardt
2021-11-30 16:34 ` patch 'net/i40e/base: fix potentially uninitialized variables' " christian.ehrhardt
2021-11-30 16:34 ` patch 'net/i40e/base: fix using checksum before check' " christian.ehrhardt
2021-11-30 16:34 ` patch 'net/enic: fix filter mode detection' " christian.ehrhardt
2021-11-30 16:34 ` patch 'net/softnic: fix useless address check' " christian.ehrhardt
2021-11-30 16:34 ` patch 'app/testpmd: fix hex string parser in flow commands' " christian.ehrhardt
2021-11-30 16:34 ` patch 'doc: fix emulated device names in e1000 guide' " christian.ehrhardt
2021-11-30 16:34 ` patch 'net: fix aliasing in checksum computation' " christian.ehrhardt
2021-11-30 16:34 ` patch 'app/testpmd: fix access to DSCP table entries' " christian.ehrhardt
2021-11-30 16:34 ` patch 'app/eventdev: fix terminal colour after control-c exit' " christian.ehrhardt
2021-11-30 16:34 ` patch 'eventdev/eth_rx: fix WRR buffer overrun' " christian.ehrhardt
2021-11-30 16:34 ` patch 'bpf: allow self-xor operation' " christian.ehrhardt
2021-11-30 16:34 ` patch 'vhost: add sanity check on inflight last index' " christian.ehrhardt
2021-11-30 16:34 ` patch 'ethdev: fix PCI device release in secondary process' " christian.ehrhardt
2021-11-30 16:34 ` patch 'test/event: fix timer adapter creation test' " christian.ehrhardt
2021-11-30 16:35 ` patch 'kni: fix build for SLES15-SP3' " christian.ehrhardt
2021-11-30 16:35 ` patch 'doc: fix default mempool option in guides' " christian.ehrhardt
2021-11-30 16:35 ` patch 'net: avoid cast-align warning in VLAN insert function' " christian.ehrhardt
2021-11-30 16:35 ` patch 'mbuf: avoid cast-align warning in data offset macro' " christian.ehrhardt
2021-11-30 16:35 ` patch 'eal/x86: avoid cast-align warning in memcpy functions' " christian.ehrhardt
2021-11-30 16:35 ` patch 'eal: reset lcore task callback and argument' " christian.ehrhardt
2021-11-30 16:35 ` patch 'hash: fix Doxygen comment of Toeplitz file' " christian.ehrhardt
2021-11-30 16:35 ` patch 'lpm6: fix buffer overflow' " christian.ehrhardt
2021-11-30 16:35 ` patch 'rib: fix IPv6 depth mask' " christian.ehrhardt
2021-11-30 16:35 ` patch 'test: fix ring PMD initialisation' " christian.ehrhardt
2021-11-30 16:35 ` patch 'examples/performance-thread: fix build with ASan' " christian.ehrhardt
2021-12-01  1:44   ` Peng, ZhihongX
2021-11-30 16:35 ` patch 'eal: fix device iterator when no bus is selected' " christian.ehrhardt
2021-11-30 16:35 ` patch 'eal/linux: remove unused variable for socket memory' " christian.ehrhardt
2021-11-30 16:35 ` patch 'eal/linux: fix uevent message parsing' " christian.ehrhardt
2021-11-30 16:35 ` patch 'mem: fix dynamic hugepage mapping in container' " christian.ehrhardt
2021-11-30 16:35 ` patch 'app/testpmd: fix RSS key length' " christian.ehrhardt
2021-11-30 16:35 ` patch 'app/testpmd: fix RSS type display' " christian.ehrhardt
2021-11-30 16:35 ` patch 'net/mlx5: fix RSS RETA update' " christian.ehrhardt
2021-11-30 16:35 ` patch 'net/i40e: fix 32-bit build' " christian.ehrhardt
2021-11-30 16:35 ` patch 'net/bnxt: fix firmware version query' " christian.ehrhardt
2021-11-30 16:35 ` patch 'net/enic: avoid error message when no advanced filtering' " christian.ehrhardt
2021-11-30 16:35 ` patch 'net/ice: save rule on switch filter creation' " christian.ehrhardt
2021-11-30 16:35 ` patch 'crypto/qat: fix status in RSA decryption' " christian.ehrhardt
2021-11-30 16:35 ` patch 'crypto/qat: fix uncleared cookies after operation' " christian.ehrhardt
2021-11-30 16:35 ` patch 'examples/fips_validation: fix device start' " christian.ehrhardt
2021-11-30 16:35 ` patch 'common/qat: fix queue pairs number' " christian.ehrhardt
2021-11-30 16:35 ` patch 'ethdev: fix crash on owner delete' " christian.ehrhardt
2021-11-30 16:35 ` patch 'kni: check error code of allmulticast mode switch' " christian.ehrhardt
2021-11-30 16:35 ` patch 'vfio: fix FreeBSD clear group stub' " christian.ehrhardt
2021-11-30 16:35 ` patch 'vfio: fix FreeBSD documentation' " christian.ehrhardt
2021-11-30 16:35 ` patch 'interrupt: fix request notifier interrupt processing' " christian.ehrhardt
2021-11-30 16:35 ` patch 'net/hns3: simplify queue DMA address arithmetic' " christian.ehrhardt
2021-11-30 16:35 ` patch 'app/testpmd: remove unused header file' " christian.ehrhardt
2021-11-30 16:35 ` patch 'power: fix build with clang 13' " christian.ehrhardt
2021-11-30 16:35 ` patch 'net/mlx5: fix RETA update without stopping device' " christian.ehrhardt
2021-11-30 16:35 ` patch 'doc: describe timestamp limitations for mlx5' " christian.ehrhardt
2021-11-30 16:35 ` patch 'test/red: fix typo in test description' " christian.ehrhardt
2021-11-30 16:35 ` patch 'net/hinic/base: remove some unused variables' " christian.ehrhardt
2021-11-30 16:35 ` patch 'bus/fslmc: remove unused device count' " christian.ehrhardt
2021-11-30 16:35 ` patch 'event/sw: remove unused inflight events " christian.ehrhardt
2021-11-30 16:35 ` patch 'net/liquidio: remove unused counter' " christian.ehrhardt
2021-11-30 16:35 ` patch 'net/qede/base: remove unused message size' " christian.ehrhardt
2021-11-30 16:35 ` patch 'net/vmxnet3: fix build with clang 13' " christian.ehrhardt
2021-11-30 16:35 ` patch 'test/distributor: remove unused counter' " christian.ehrhardt
2021-11-30 16:35 ` patch 'examples/performance-thread: remove unused hits count' " christian.ehrhardt
2021-11-30 16:35 ` patch 'eventdev/eth_tx: fix queue delete logic' " christian.ehrhardt
2021-11-30 16:35 ` patch 'test/crypto: skip plain text compare for null cipher' " christian.ehrhardt
2021-11-30 16:35 ` patch 'test/crypto: fix data lengths' " christian.ehrhardt
2021-11-30 16:35 ` patch 'common/cpt: fix KASUMI input length' " christian.ehrhardt
2021-11-30 16:35 ` patch 'examples/l3fwd-power: fix early shutdown' " christian.ehrhardt
2021-11-30 16:35 ` patch 'examples/multi_process: fix Rx packets distribution' " christian.ehrhardt
2021-11-30 16:35 ` patch 'fix spelling in comments and doxygen' " christian.ehrhardt
2021-11-30 16:35 ` patch 'examples/ntb: fix build dependency' " christian.ehrhardt
2021-11-30 16:35 ` patch 'net/mlx5: fix RSS expansion scheme for GRE header' " christian.ehrhardt
2021-11-30 16:35 ` patch 'net/failsafe: fix secondary process probe' " christian.ehrhardt
2021-11-30 16:35 ` patch 'net/mlx5: fix MPLS tunnel outer layer overwrite' " christian.ehrhardt
2021-11-30 16:35 ` patch 'drivers/crypto: fix IPsec TTL decrement option' " christian.ehrhardt
2021-11-30 16:35 ` patch 'mbuf: fix dump of dynamic fields and flags' " christian.ehrhardt
2021-11-30 16:35 ` patch 'doc: strip build artefacts for examples file list' " christian.ehrhardt
2021-11-30 16:35 ` patch 'examples/ptpclient: fix delay request message' " christian.ehrhardt
2021-11-30 16:36 ` patch 'doc: remove repeated repeated words' " christian.ehrhardt
2021-11-30 16:36 ` patch 'net/mlx5: fix metadata and meter split shared tag' " christian.ehrhardt
2021-11-30 16:36 ` patch 'net/mlx4: fix empty Ethernet spec with VLAN' " christian.ehrhardt
2021-11-30 16:36 ` patch 'app/testpmd: fix hexadecimal parser with odd length' " christian.ehrhardt
2021-11-30 16:36 ` patch 'remove repeated 'the' in the code' " christian.ehrhardt
2021-11-30 16:36 ` patch 'doc: fix typo in coding style' " christian.ehrhardt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).