patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7
@ 2019-07-23  0:59 Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/mlx5: fix instruction hotspot on replenishing Rx buffer' " Yongseok Koh
                   ` (106 more replies)
  0 siblings, 107 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Anatoly Burakov; +Cc: Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 2211463ddf5a7616f85d6ec46cfe2e43b2088a7f Mon Sep 17 00:00:00 2001
From: Anatoly Burakov <anatoly.burakov@intel.com>
Date: Thu, 4 Oct 2018 11:20:38 +0100
Subject: [PATCH] eal: improve musl compatibility of string functions

[ upstream commit 0601defe2efd1bd8a165e9b0c170b05842aa74fc ]

Musl wraps various string functions such as strlcpy in order to
harden them. However, the fortify wrappers are included without
including the actual string functions being wrapped, which
throws missing definition compile errors. Fix by including
string.h in string functions header.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 lib/librte_eal/common/include/rte_string_fns.h | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/lib/librte_eal/common/include/rte_string_fns.h b/lib/librte_eal/common/include/rte_string_fns.h
index 7d57bb8ee9..27a9ecb8ba 100644
--- a/lib/librte_eal/common/include/rte_string_fns.h
+++ b/lib/librte_eal/common/include/rte_string_fns.h
@@ -45,6 +45,7 @@ extern "C" {
 #endif
 
 #include <stdio.h>
+#include <string.h>
 
 /**
  * Takes string "string" parameter and splits it at character "delim"
@@ -89,12 +90,10 @@ rte_strlcpy(char *dst, const char *src, size_t size)
 
 /* pull in a strlcpy function */
 #ifdef RTE_EXEC_ENV_BSDAPP
-#include <string.h>
 #ifndef __BSD_VISIBLE /* non-standard functions are hidden */
 #define strlcpy(dst, src, size) rte_strlcpy(dst, src, size)
 #endif
 
-
 #else /* non-BSD platforms */
 #ifdef RTE_USE_LIBBSD
 #include <bsd/string.h>
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:06.591365319 -0700
+++ 0001-eal-improve-musl-compatibility-of-string-functions.patch	2019-07-22 17:55:05.692469000 -0700
@@ -1,8 +1,10 @@
-From 0601defe2efd1bd8a165e9b0c170b05842aa74fc Mon Sep 17 00:00:00 2001
+From 2211463ddf5a7616f85d6ec46cfe2e43b2088a7f Mon Sep 17 00:00:00 2001
 From: Anatoly Burakov <anatoly.burakov@intel.com>
 Date: Thu, 4 Oct 2018 11:20:38 +0100
 Subject: [PATCH] eal: improve musl compatibility of string functions
 
+[ upstream commit 0601defe2efd1bd8a165e9b0c170b05842aa74fc ]
+
 Musl wraps various string functions such as strlcpy in order to
 harden them. However, the fortify wrappers are included without
 including the actual string functions being wrapped, which
@@ -16,10 +18,10 @@
  1 file changed, 1 insertion(+), 2 deletions(-)
 
 diff --git a/lib/librte_eal/common/include/rte_string_fns.h b/lib/librte_eal/common/include/rte_string_fns.h
-index ecd141b852..9a2a1ff900 100644
+index 7d57bb8ee9..27a9ecb8ba 100644
 --- a/lib/librte_eal/common/include/rte_string_fns.h
 +++ b/lib/librte_eal/common/include/rte_string_fns.h
-@@ -16,6 +16,7 @@ extern "C" {
+@@ -45,6 +45,7 @@ extern "C" {
  #endif
  
  #include <stdio.h>
@@ -27,7 +29,7 @@
  
  /**
   * Takes string "string" parameter and splits it at character "delim"
-@@ -60,12 +61,10 @@ rte_strlcpy(char *dst, const char *src, size_t size)
+@@ -89,12 +90,10 @@ rte_strlcpy(char *dst, const char *src, size_t size)
  
  /* pull in a strlcpy function */
  #ifdef RTE_EXEC_ENV_BSDAPP

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

* [dpdk-stable] patch 'net/mlx5: fix instruction hotspot on replenishing Rx buffer' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'drivers/net: do not use private ethdev data' " Yongseok Koh
                   ` (105 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Yongseok Koh; +Cc: Shahaf Shuler, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 0ef4e25f6173b692ca138ab0aba42d80a8645e28 Mon Sep 17 00:00:00 2001
From: Yongseok Koh <yskoh@mellanox.com>
Date: Mon, 14 Jan 2019 13:16:22 -0800
Subject: [PATCH] net/mlx5: fix instruction hotspot on replenishing Rx buffer

[ backported from upstream commit 9c55c6bd86156d17df93bf947dc620222ee9f7e4 ]

On replenishing Rx buffers for vectorized Rx, mbuf->buf_addr isn't needed
to be accessed as it is static and easily calculated from the mbuf address.
Accessing the mbuf content causes unnecessary load stall. non-x86
processors (mostly RISC such as ARM and Power) are more vulnerable to load
stall. For x86, reducing the number of instructions seems to matter most.

Fixes: 545b884b1da3 ("net/mlx5: fix buffer address posting in SSE Rx")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
---
 drivers/net/mlx5/mlx5_rxtx_vec.h | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_rxtx_vec.h b/drivers/net/mlx5/mlx5_rxtx_vec.h
index 750559b8d1..e7367b74d8 100644
--- a/drivers/net/mlx5/mlx5_rxtx_vec.h
+++ b/drivers/net/mlx5/mlx5_rxtx_vec.h
@@ -116,7 +116,22 @@ mlx5_rx_replenish_bulk_mbuf(struct mlx5_rxq_data *rxq, uint16_t n)
 		return;
 	}
 	for (i = 0; i < n; ++i) {
-		wq[i].addr = rte_cpu_to_be_64((uintptr_t)elts[i]->buf_addr +
+		void *buf_addr;
+
+		/*
+		 * Load the virtual address for Rx WQE. non-x86 processors
+		 * (mostly RISC such as ARM and Power) are more vulnerable to
+		 * load stall. For x86, reducing the number of instructions
+		 * seems to matter most.
+		 */
+#ifdef RTE_ARCH_X86_64
+		buf_addr = elts[i]->buf_addr;
+#else
+		buf_addr = (char *)elts[i] + sizeof(struct rte_mbuf) +
+			   rte_pktmbuf_priv_size(rxq->mp);
+		assert(buf_addr == elts[i]->buf_addr);
+#endif
+		wq[i].addr = rte_cpu_to_be_64((uintptr_t)buf_addr +
 					      RTE_PKTMBUF_HEADROOM);
 		/* If there's only one MR, no need to replace LKEY in WQEs. */
 		if (unlikely(!IS_SINGLE_MR(rxq->mr_ctrl.bh_n)))
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:06.640266135 -0700
+++ 0002-net-mlx5-fix-instruction-hotspot-on-replenishing-Rx-.patch	2019-07-22 17:55:05.698471000 -0700
@@ -1,37 +1,35 @@
-From 9c55c6bd86156d17df93bf947dc620222ee9f7e4 Mon Sep 17 00:00:00 2001
+From 0ef4e25f6173b692ca138ab0aba42d80a8645e28 Mon Sep 17 00:00:00 2001
 From: Yongseok Koh <yskoh@mellanox.com>
-Date: Mon, 25 Mar 2019 12:13:10 -0700
-Subject: [PATCH] net/mlx5: revert mbuf address calculation for x86
+Date: Mon, 14 Jan 2019 13:16:22 -0800
+Subject: [PATCH] net/mlx5: fix instruction hotspot on replenishing Rx buffer
 
-When replenishing mbufs on Rx, buffer address (mbuf->buf_addr) should be
-loaded. non-x86 processors (mostly RISC such as ARM and Power) are more
-vulnerable to load stall. For x86, reducing the number of instructions
-seems to matter most.
-
-For x86, this is simply a load but for other architectures, it is
-calculated from the address of mbuf structure by rte_mbuf_buf_addr()
-without having to load the first cacheline of the mbuf.
+[ backported from upstream commit 9c55c6bd86156d17df93bf947dc620222ee9f7e4 ]
 
-Fixes: 12d468a62bc1 ("net/mlx5: fix instruction hotspot on replenishing Rx buffer")
-Cc: stable@dpdk.org
+On replenishing Rx buffers for vectorized Rx, mbuf->buf_addr isn't needed
+to be accessed as it is static and easily calculated from the mbuf address.
+Accessing the mbuf content causes unnecessary load stall. non-x86
+processors (mostly RISC such as ARM and Power) are more vulnerable to load
+stall. For x86, reducing the number of instructions seems to matter most.
+
+Fixes: 545b884b1da3 ("net/mlx5: fix buffer address posting in SSE Rx")
 
 Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
 Acked-by: Shahaf Shuler <shahafs@mellanox.com>
 ---
- drivers/net/mlx5/mlx5_rxtx_vec.h | 14 +++++++++++++-
- 1 file changed, 13 insertions(+), 1 deletion(-)
+ drivers/net/mlx5/mlx5_rxtx_vec.h | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
 
 diff --git a/drivers/net/mlx5/mlx5_rxtx_vec.h b/drivers/net/mlx5/mlx5_rxtx_vec.h
-index 5df8e291e6..4220b08dd2 100644
+index 750559b8d1..e7367b74d8 100644
 --- a/drivers/net/mlx5/mlx5_rxtx_vec.h
 +++ b/drivers/net/mlx5/mlx5_rxtx_vec.h
-@@ -102,9 +102,21 @@ mlx5_rx_replenish_bulk_mbuf(struct mlx5_rxq_data *rxq, uint16_t n)
+@@ -116,7 +116,22 @@ mlx5_rx_replenish_bulk_mbuf(struct mlx5_rxq_data *rxq, uint16_t n)
  		return;
  	}
  	for (i = 0; i < n; ++i) {
--		void *buf_addr = rte_mbuf_buf_addr(elts[i], rxq->mp);
+-		wq[i].addr = rte_cpu_to_be_64((uintptr_t)elts[i]->buf_addr +
 +		void *buf_addr;
- 
++
 +		/*
 +		 * Load the virtual address for Rx WQE. non-x86 processors
 +		 * (mostly RISC such as ARM and Power) are more vulnerable to
@@ -40,14 +38,15 @@
 +		 */
 +#ifdef RTE_ARCH_X86_64
 +		buf_addr = elts[i]->buf_addr;
-+		assert(buf_addr == rte_mbuf_buf_addr(elts[i], rxq->mp));
 +#else
-+		buf_addr = rte_mbuf_buf_addr(elts[i], rxq->mp);
- 		assert(buf_addr == elts[i]->buf_addr);
++		buf_addr = (char *)elts[i] + sizeof(struct rte_mbuf) +
++			   rte_pktmbuf_priv_size(rxq->mp);
++		assert(buf_addr == elts[i]->buf_addr);
 +#endif
- 		wq[i].addr = rte_cpu_to_be_64((uintptr_t)buf_addr +
++		wq[i].addr = rte_cpu_to_be_64((uintptr_t)buf_addr +
  					      RTE_PKTMBUF_HEADROOM);
- 		/* If there's only one MR, no need to replace LKey in WQE. */
+ 		/* If there's only one MR, no need to replace LKEY in WQEs. */
+ 		if (unlikely(!IS_SINGLE_MR(rxq->mr_ctrl.bh_n)))
 -- 
 2.21.0
 

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

* [dpdk-stable] patch 'drivers/net: do not use private ethdev data' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/mlx5: fix instruction hotspot on replenishing Rx buffer' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/sfc: log port ID as 16-bit unsigned integer on panic' " Yongseok Koh
                   ` (104 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Jianfeng Tan; +Cc: Bruce Richardson, Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From dbe11dd6d5af06df1f811b838ab15e0e69380a6e Mon Sep 17 00:00:00 2001
From: Jianfeng Tan <jianfeng.tan@intel.com>
Date: Tue, 24 Apr 2018 05:51:23 +0000
Subject: [PATCH] drivers/net: do not use private ethdev data

[ backported from upstream commit 5f19dee604ed5760d819743d1d364493ead2aae6 ]

We introduced private rte_eth_dev_data to allow vdev to be created
both in primary process and secondary process(es). This is not
friendly to multi-process model, for example, it leads to port id
contention issue if two processes both find the data entry is free.

And to get stats of primary vdev in secondary, we must allocate
from the pre-defined array so that we can find it.

Suggested-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Reviewed-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/af_packet/rte_eth_af_packet.c | 26 ++++++-----------------
 drivers/net/cxgbe/cxgbe_main.c            |  1 -
 drivers/net/kni/rte_eth_kni.c             | 14 ++----------
 drivers/net/null/rte_eth_null.c           | 18 +++-------------
 drivers/net/octeontx/octeontx_ethdev.c    | 15 ++-----------
 drivers/net/pcap/rte_eth_pcap.c           | 19 +++--------------
 drivers/net/ring/rte_eth_ring.c           | 17 +--------------
 drivers/net/tap/rte_eth_tap.c             | 11 +---------
 drivers/net/vhost/rte_eth_vhost.c         | 19 ++---------------
 9 files changed, 21 insertions(+), 119 deletions(-)

diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c
index fba8575549..5cb348f675 100644
--- a/drivers/net/af_packet/rte_eth_af_packet.c
+++ b/drivers/net/af_packet/rte_eth_af_packet.c
@@ -593,25 +593,17 @@ rte_pmd_init_internals(struct rte_vdev_device *dev,
 		RTE_LOG(ERR, PMD,
 			"%s: no interface specified for AF_PACKET ethdev\n",
 		        name);
-		goto error_early;
+		return -1;
 	}
 
 	RTE_LOG(INFO, PMD,
 		"%s: creating AF_PACKET-backed ethdev on numa socket %u\n",
 		name, numa_node);
 
-	/*
-	 * now do all data allocation - for eth_dev structure, dummy pci driver
-	 * and internal (private) data
-	 */
-	data = rte_zmalloc_socket(name, sizeof(*data), 0, numa_node);
-	if (data == NULL)
-		goto error_early;
-
 	*internals = rte_zmalloc_socket(name, sizeof(**internals),
 	                                0, numa_node);
 	if (*internals == NULL)
-		goto error_early;
+		return -1;
 
 	for (q = 0; q < nb_queues; q++) {
 		(*internals)->rx_queue[q].map = MAP_FAILED;
@@ -633,24 +625,24 @@ rte_pmd_init_internals(struct rte_vdev_device *dev,
 		RTE_LOG(ERR, PMD,
 			"%s: I/F name too long (%s)\n",
 			name, pair->value);
-		goto error_early;
+		return -1;
 	}
 	if (ioctl(sockfd, SIOCGIFINDEX, &ifr) == -1) {
 		RTE_LOG(ERR, PMD,
 			"%s: ioctl failed (SIOCGIFINDEX)\n",
 		        name);
-		goto error_early;
+		return -1;
 	}
 	(*internals)->if_name = strdup(pair->value);
 	if ((*internals)->if_name == NULL)
-		goto error_early;
+		return -1;
 	(*internals)->if_index = ifr.ifr_ifindex;
 
 	if (ioctl(sockfd, SIOCGIFHWADDR, &ifr) == -1) {
 		RTE_LOG(ERR, PMD,
 			"%s: ioctl failed (SIOCGIFHWADDR)\n",
 		        name);
-		goto error_early;
+		return -1;
 	}
 	memcpy(&(*internals)->eth_addr, ifr.ifr_hwaddr.sa_data, ETH_ALEN);
 
@@ -804,14 +796,13 @@ rte_pmd_init_internals(struct rte_vdev_device *dev,
 
 	(*internals)->nb_queues = nb_queues;
 
-	rte_memcpy(data, (*eth_dev)->data, sizeof(*data));
+	data = (*eth_dev)->data;
 	data->dev_private = *internals;
 	data->nb_rx_queues = (uint16_t)nb_queues;
 	data->nb_tx_queues = (uint16_t)nb_queues;
 	data->dev_link = pmd_link;
 	data->mac_addrs = &(*internals)->eth_addr;
 
-	(*eth_dev)->data = data;
 	(*eth_dev)->dev_ops = &ops;
 
 	return 0;
@@ -831,8 +822,6 @@ error:
 	}
 	free((*internals)->if_name);
 	rte_free(*internals);
-error_early:
-	rte_free(data);
 	return -1;
 }
 
@@ -1014,7 +1003,6 @@ rte_pmd_af_packet_remove(struct rte_vdev_device *dev)
 	free(internals->if_name);
 
 	rte_free(eth_dev->data->dev_private);
-	rte_free(eth_dev->data);
 
 	rte_eth_dev_release_port(eth_dev);
 
diff --git a/drivers/net/cxgbe/cxgbe_main.c b/drivers/net/cxgbe/cxgbe_main.c
index 5b828c237b..71dfa431aa 100644
--- a/drivers/net/cxgbe/cxgbe_main.c
+++ b/drivers/net/cxgbe/cxgbe_main.c
@@ -57,7 +57,6 @@
 #include <rte_ether.h>
 #include <rte_ethdev.h>
 #include <rte_ethdev_pci.h>
-#include <rte_malloc.h>
 #include <rte_random.h>
 #include <rte_dev.h>
 
diff --git a/drivers/net/kni/rte_eth_kni.c b/drivers/net/kni/rte_eth_kni.c
index 5c7950117b..218d5eb583 100644
--- a/drivers/net/kni/rte_eth_kni.c
+++ b/drivers/net/kni/rte_eth_kni.c
@@ -366,25 +366,17 @@ eth_kni_create(struct rte_vdev_device *vdev,
 	struct pmd_internals *internals;
 	struct rte_eth_dev_data *data;
 	struct rte_eth_dev *eth_dev;
-	const char *name;
 
 	RTE_LOG(INFO, PMD, "Creating kni ethdev on numa socket %u\n",
 			numa_node);
 
-	name = rte_vdev_device_name(vdev);
-	data = rte_zmalloc_socket(name, sizeof(*data), 0, numa_node);
-	if (data == NULL)
-		return NULL;
-
 	/* reserve an ethdev entry */
 	eth_dev = rte_eth_vdev_allocate(vdev, sizeof(*internals));
-	if (eth_dev == NULL) {
-		rte_free(data);
+	if (!eth_dev)
 		return NULL;
-	}
 
 	internals = eth_dev->data->dev_private;
-	rte_memcpy(data, eth_dev->data, sizeof(*data));
+	data = eth_dev->data;
 	data->nb_rx_queues = 1;
 	data->nb_tx_queues = 1;
 	data->dev_link = pmd_link;
@@ -392,7 +384,6 @@ eth_kni_create(struct rte_vdev_device *vdev,
 
 	eth_random_addr(internals->eth_addr.addr_bytes);
 
-	eth_dev->data = data;
 	eth_dev->dev_ops = &eth_kni_ops;
 
 	internals->no_request_thread = args->no_request_thread;
@@ -488,7 +479,6 @@ eth_kni_remove(struct rte_vdev_device *vdev)
 	rte_kni_release(internals->kni);
 
 	rte_free(internals);
-	rte_free(eth_dev->data);
 
 	rte_eth_dev_release_port(eth_dev);
 
diff --git a/drivers/net/null/rte_eth_null.c b/drivers/net/null/rte_eth_null.c
index 7a5f125707..2ead071402 100644
--- a/drivers/net/null/rte_eth_null.c
+++ b/drivers/net/null/rte_eth_null.c
@@ -483,7 +483,7 @@ eth_dev_null_create(struct rte_vdev_device *dev,
 {
 	const unsigned nb_rx_queues = 1;
 	const unsigned nb_tx_queues = 1;
-	struct rte_eth_dev_data *data = NULL;
+	struct rte_eth_dev_data *data;
 	struct pmd_internals *internals = NULL;
 	struct rte_eth_dev *eth_dev = NULL;
 
@@ -500,19 +500,9 @@ eth_dev_null_create(struct rte_vdev_device *dev,
 	RTE_LOG(INFO, PMD, "Creating null ethdev on numa socket %u\n",
 		dev->device.numa_node);
 
-	/* now do all data allocation - for eth_dev structure, dummy pci driver
-	 * and internal (private) data
-	 */
-	data = rte_zmalloc_socket(rte_vdev_device_name(dev), sizeof(*data), 0,
-		dev->device.numa_node);
-	if (!data)
-		return -ENOMEM;
-
 	eth_dev = rte_eth_vdev_allocate(dev, sizeof(*internals));
-	if (!eth_dev) {
-		rte_free(data);
+	if (!eth_dev)
 		return -ENOMEM;
-	}
 
 	/* now put it all together
 	 * - store queue data in internals,
@@ -533,13 +523,12 @@ eth_dev_null_create(struct rte_vdev_device *dev,
 
 	rte_memcpy(internals->rss_key, default_rss_key, 40);
 
-	rte_memcpy(data, eth_dev->data, sizeof(*data));
+	data = eth_dev->data;
 	data->nb_rx_queues = (uint16_t)nb_rx_queues;
 	data->nb_tx_queues = (uint16_t)nb_tx_queues;
 	data->dev_link = pmd_link;
 	data->mac_addrs = &eth_addr;
 
-	eth_dev->data = data;
 	eth_dev->dev_ops = &ops;
 
 	/* finally assign rx and tx ops */
@@ -657,7 +646,6 @@ rte_pmd_null_remove(struct rte_vdev_device *dev)
 		return -1;
 
 	rte_free(eth_dev->data->dev_private);
-	rte_free(eth_dev->data);
 
 	rte_eth_dev_release_port(eth_dev);
 
diff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/octeontx/octeontx_ethdev.c
index 049bc32b43..12e3b2df3d 100644
--- a/drivers/net/octeontx/octeontx_ethdev.c
+++ b/drivers/net/octeontx/octeontx_ethdev.c
@@ -1033,7 +1033,7 @@ octeontx_create(struct rte_vdev_device *dev, int port, uint8_t evdev,
 	char octtx_name[OCTEONTX_MAX_NAME_LEN];
 	struct octeontx_nic *nic = NULL;
 	struct rte_eth_dev *eth_dev = NULL;
-	struct rte_eth_dev_data *data = NULL;
+	struct rte_eth_dev_data *data;
 	const char *name = rte_vdev_device_name(dev);
 
 	PMD_INIT_FUNC_TRACE();
@@ -1049,13 +1049,6 @@ octeontx_create(struct rte_vdev_device *dev, int port, uint8_t evdev,
 		return 0;
 	}
 
-	data = rte_zmalloc_socket(octtx_name, sizeof(*data), 0, socket_id);
-	if (data == NULL) {
-		octeontx_log_err("failed to allocate devdata");
-		res = -ENOMEM;
-		goto err;
-	}
-
 	nic = rte_zmalloc_socket(octtx_name, sizeof(*nic), 0, socket_id);
 	if (nic == NULL) {
 		octeontx_log_err("failed to allocate nic structure");
@@ -1091,11 +1084,9 @@ octeontx_create(struct rte_vdev_device *dev, int port, uint8_t evdev,
 	eth_dev->data->kdrv = RTE_KDRV_NONE;
 	eth_dev->data->numa_node = dev->device.numa_node;
 
-	rte_memcpy(data, (eth_dev)->data, sizeof(*data));
+	data = eth_dev->data;
 	data->dev_private = nic;
-
 	data->port_id = eth_dev->data->port_id;
-	snprintf(data->name, sizeof(data->name), "%s", eth_dev->data->name);
 
 	nic->ev_queues = 1;
 	nic->ev_ports = 1;
@@ -1114,7 +1105,6 @@ octeontx_create(struct rte_vdev_device *dev, int port, uint8_t evdev,
 		goto err;
 	}
 
-	eth_dev->data = data;
 	eth_dev->dev_ops = &octeontx_dev_ops;
 
 	/* Finally save ethdev pointer to the NIC structure */
@@ -1182,7 +1172,6 @@ octeontx_remove(struct rte_vdev_device *dev)
 
 		rte_free(eth_dev->data->mac_addrs);
 		rte_free(eth_dev->data->dev_private);
-		rte_free(eth_dev->data);
 		rte_eth_dev_release_port(eth_dev);
 		rte_event_dev_close(nic->evdev);
 	}
diff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net/pcap/rte_eth_pcap.c
index f71ba001e1..89ff6c3f32 100644
--- a/drivers/net/pcap/rte_eth_pcap.c
+++ b/drivers/net/pcap/rte_eth_pcap.c
@@ -801,27 +801,16 @@ pmd_init_internals(struct rte_vdev_device *vdev,
 		struct pmd_internals **internals,
 		struct rte_eth_dev **eth_dev)
 {
-	struct rte_eth_dev_data *data = NULL;
+	struct rte_eth_dev_data *data;
 	unsigned int numa_node = vdev->device.numa_node;
-	const char *name;
 
-	name = rte_vdev_device_name(vdev);
 	RTE_LOG(INFO, PMD, "Creating pcap-backed ethdev on numa socket %d\n",
 		numa_node);
 
-	/* now do all data allocation - for eth_dev structure
-	 * and internal (private) data
-	 */
-	data = rte_zmalloc_socket(name, sizeof(*data), 0, numa_node);
-	if (data == NULL)
-		return -1;
-
 	/* reserve an ethdev entry */
 	*eth_dev = rte_eth_vdev_allocate(vdev, sizeof(**internals));
-	if (*eth_dev == NULL) {
-		rte_free(data);
+	if (!(*eth_dev))
 		return -1;
-	}
 
 	/* now put it all together
 	 * - store queue data in internals,
@@ -830,7 +819,7 @@ pmd_init_internals(struct rte_vdev_device *vdev,
 	 * - and point eth_dev structure to new eth_dev_data structure
 	 */
 	*internals = (*eth_dev)->data->dev_private;
-	rte_memcpy(data, (*eth_dev)->data, sizeof(*data));
+	data = (*eth_dev)->data;
 	data->nb_rx_queues = (uint16_t)nb_rx_queues;
 	data->nb_tx_queues = (uint16_t)nb_tx_queues;
 	data->dev_link = pmd_link;
@@ -840,7 +829,6 @@ pmd_init_internals(struct rte_vdev_device *vdev,
 	 * NOTE: we'll replace the data element, of originally allocated
 	 * eth_dev so the rings are local per-process
 	 */
-	(*eth_dev)->data = data;
 	(*eth_dev)->dev_ops = &ops;
 
 	return 0;
@@ -1034,7 +1022,6 @@ pmd_pcap_remove(struct rte_vdev_device *dev)
 		return -1;
 
 	rte_free(eth_dev->data->dev_private);
-	rte_free(eth_dev->data);
 
 	rte_eth_dev_release_port(eth_dev);
 
diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c
index dbd350e183..77976ce777 100644
--- a/drivers/net/ring/rte_eth_ring.c
+++ b/drivers/net/ring/rte_eth_ring.c
@@ -288,15 +288,6 @@ do_eth_dev_ring_create(const char *name,
 	RTE_LOG(INFO, PMD, "Creating rings-backed ethdev on numa socket %u\n",
 			numa_node);
 
-	/* now do all data allocation - for eth_dev structure, dummy pci driver
-	 * and internal (private) data
-	 */
-	data = rte_zmalloc_socket(name, sizeof(*data), 0, numa_node);
-	if (data == NULL) {
-		rte_errno = ENOMEM;
-		goto error;
-	}
-
 	rx_queues_local = rte_zmalloc_socket(name,
 			sizeof(void *) * nb_rx_queues, 0, numa_node);
 	if (rx_queues_local == NULL) {
@@ -330,10 +321,8 @@ do_eth_dev_ring_create(const char *name,
 	 * - point eth_dev_data to internals
 	 * - and point eth_dev structure to new eth_dev_data structure
 	 */
-	/* NOTE: we'll replace the data element, of originally allocated eth_dev
-	 * so the rings are local per-process */
 
-	rte_memcpy(data, eth_dev->data, sizeof(*data));
+	data = eth_dev->data;
 	data->rx_queues = rx_queues_local;
 	data->tx_queues = tx_queues_local;
 
@@ -355,7 +344,6 @@ do_eth_dev_ring_create(const char *name,
 	data->dev_link = pmd_link;
 	data->mac_addrs = &internals->address;
 
-	eth_dev->data = data;
 	eth_dev->dev_ops = &ops;
 	data->kdrv = RTE_KDRV_NONE;
 	data->numa_node = numa_node;
@@ -371,7 +359,6 @@ do_eth_dev_ring_create(const char *name,
 error:
 	rte_free(rx_queues_local);
 	rte_free(tx_queues_local);
-	rte_free(data);
 	rte_free(internals);
 
 	return -1;
@@ -704,8 +691,6 @@ rte_pmd_ring_remove(struct rte_vdev_device *dev)
 	rte_free(eth_dev->data->tx_queues);
 	rte_free(eth_dev->data->dev_private);
 
-	rte_free(eth_dev->data);
-
 	rte_eth_dev_release_port(eth_dev);
 	return 0;
 }
diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
index bd2b4d9958..220421623b 100644
--- a/drivers/net/tap/rte_eth_tap.c
+++ b/drivers/net/tap/rte_eth_tap.c
@@ -1253,12 +1253,6 @@ eth_dev_tap_create(struct rte_vdev_device *vdev, char *tap_name,
 
 	RTE_LOG(DEBUG, PMD, "  TAP device on numa %u\n", rte_socket_id());
 
-	data = rte_zmalloc_socket(tap_name, sizeof(*data), 0, numa_node);
-	if (!data) {
-		RTE_LOG(ERR, PMD, "TAP Failed to allocate data\n");
-		goto error_exit_nodev;
-	}
-
 	dev = rte_eth_vdev_allocate(vdev, sizeof(*pmd));
 	if (!dev) {
 		RTE_LOG(ERR, PMD, "TAP Unable to allocate device struct\n");
@@ -1278,7 +1272,7 @@ eth_dev_tap_create(struct rte_vdev_device *vdev, char *tap_name,
 	}
 
 	/* Setup some default values */
-	rte_memcpy(data, dev->data, sizeof(*data));
+	data = dev->data;
 	data->dev_private = pmd;
 	data->dev_flags = RTE_ETH_DEV_INTR_LSC;
 	data->numa_node = numa_node;
@@ -1289,7 +1283,6 @@ eth_dev_tap_create(struct rte_vdev_device *vdev, char *tap_name,
 	data->nb_rx_queues = 0;
 	data->nb_tx_queues = 0;
 
-	dev->data = data;
 	dev->dev_ops = &ops;
 	dev->rx_pkt_burst = pmd_rx_burst;
 	dev->tx_pkt_burst = pmd_tx_burst;
@@ -1440,7 +1433,6 @@ error_exit_nodev:
 	RTE_LOG(ERR, PMD, "TAP Unable to initialize %s\n",
 		rte_vdev_device_name(vdev));
 
-	rte_free(data);
 	return -EINVAL;
 }
 
@@ -1611,7 +1603,6 @@ rte_pmd_tap_remove(struct rte_vdev_device *dev)
 
 	close(internals->ioctl_sock);
 	rte_free(eth_dev->data->dev_private);
-	rte_free(eth_dev->data);
 
 	rte_eth_dev_release_port(eth_dev);
 
diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c
index 0ba25b531f..7b7780c9c4 100644
--- a/drivers/net/vhost/rte_eth_vhost.c
+++ b/drivers/net/vhost/rte_eth_vhost.c
@@ -1041,7 +1041,7 @@ eth_dev_vhost_create(struct rte_vdev_device *dev, char *iface_name,
 	int16_t queues, const unsigned int numa_node, uint64_t flags)
 {
 	const char *name = rte_vdev_device_name(dev);
-	struct rte_eth_dev_data *data = NULL;
+	struct rte_eth_dev_data *data;
 	struct pmd_internal *internal = NULL;
 	struct rte_eth_dev *eth_dev = NULL;
 	struct ether_addr *eth_addr = NULL;
@@ -1051,13 +1051,6 @@ eth_dev_vhost_create(struct rte_vdev_device *dev, char *iface_name,
 	RTE_LOG(INFO, PMD, "Creating VHOST-USER backend on numa socket %u\n",
 		numa_node);
 
-	/* now do all data allocation - for eth_dev structure and internal
-	 * (private) data
-	 */
-	data = rte_zmalloc_socket(name, sizeof(*data), 0, numa_node);
-	if (data == NULL)
-		goto error;
-
 	list = rte_zmalloc_socket(name, sizeof(*list), 0, numa_node);
 	if (list == NULL)
 		goto error;
@@ -1099,12 +1092,7 @@ eth_dev_vhost_create(struct rte_vdev_device *dev, char *iface_name,
 	rte_spinlock_init(&vring_state->lock);
 	vring_states[eth_dev->data->port_id] = vring_state;
 
-	/* We'll replace the 'data' originally allocated by eth_dev. So the
-	 * vhost PMD resources won't be shared between multi processes.
-	 */
-	rte_memcpy(data, eth_dev->data, sizeof(*data));
-	eth_dev->data = data;
-
+	data = eth_dev->data;
 	data->nb_rx_queues = queues;
 	data->nb_tx_queues = queues;
 	internal->max_queues = queues;
@@ -1146,7 +1134,6 @@ error:
 		rte_eth_dev_release_port(eth_dev);
 	rte_free(internal);
 	rte_free(list);
-	rte_free(data);
 
 	return -1;
 }
@@ -1277,8 +1264,6 @@ rte_pmd_vhost_remove(struct rte_vdev_device *dev)
 	rte_free(vring_states[eth_dev->data->port_id]);
 	vring_states[eth_dev->data->port_id] = NULL;
 
-	rte_free(eth_dev->data);
-
 	rte_eth_dev_release_port(eth_dev);
 
 	return 0;
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:06.688256683 -0700
+++ 0003-drivers-net-do-not-use-private-ethdev-data.patch	2019-07-22 17:55:05.733467000 -0700
@@ -1,8 +1,10 @@
-From 5f19dee604ed5760d819743d1d364493ead2aae6 Mon Sep 17 00:00:00 2001
+From dbe11dd6d5af06df1f811b838ab15e0e69380a6e Mon Sep 17 00:00:00 2001
 From: Jianfeng Tan <jianfeng.tan@intel.com>
 Date: Tue, 24 Apr 2018 05:51:23 +0000
 Subject: [PATCH] drivers/net: do not use private ethdev data
 
+[ backported from upstream commit 5f19dee604ed5760d819743d1d364493ead2aae6 ]
+
 We introduced private rte_eth_dev_data to allow vdev to be created
 both in primary process and secondary process(es). This is not
 friendly to multi-process model, for example, it leads to port id
@@ -18,19 +20,19 @@
  drivers/net/af_packet/rte_eth_af_packet.c | 26 ++++++-----------------
  drivers/net/cxgbe/cxgbe_main.c            |  1 -
  drivers/net/kni/rte_eth_kni.c             | 14 ++----------
- drivers/net/null/rte_eth_null.c           | 19 ++++-------------
+ drivers/net/null/rte_eth_null.c           | 18 +++-------------
  drivers/net/octeontx/octeontx_ethdev.c    | 15 ++-----------
  drivers/net/pcap/rte_eth_pcap.c           | 19 +++--------------
  drivers/net/ring/rte_eth_ring.c           | 17 +--------------
  drivers/net/tap/rte_eth_tap.c             | 11 +---------
  drivers/net/vhost/rte_eth_vhost.c         | 19 ++---------------
- 9 files changed, 22 insertions(+), 119 deletions(-)
+ 9 files changed, 21 insertions(+), 119 deletions(-)
 
 diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c
-index 57eccfd047..110e8a5cc6 100644
+index fba8575549..5cb348f675 100644
 --- a/drivers/net/af_packet/rte_eth_af_packet.c
 +++ b/drivers/net/af_packet/rte_eth_af_packet.c
-@@ -564,25 +564,17 @@ rte_pmd_init_internals(struct rte_vdev_device *dev,
+@@ -593,25 +593,17 @@ rte_pmd_init_internals(struct rte_vdev_device *dev,
  		RTE_LOG(ERR, PMD,
  			"%s: no interface specified for AF_PACKET ethdev\n",
  		        name);
@@ -58,7 +60,7 @@
  
  	for (q = 0; q < nb_queues; q++) {
  		(*internals)->rx_queue[q].map = MAP_FAILED;
-@@ -604,24 +596,24 @@ rte_pmd_init_internals(struct rte_vdev_device *dev,
+@@ -633,24 +625,24 @@ rte_pmd_init_internals(struct rte_vdev_device *dev,
  		RTE_LOG(ERR, PMD,
  			"%s: I/F name too long (%s)\n",
  			name, pair->value);
@@ -87,7 +89,7 @@
  	}
  	memcpy(&(*internals)->eth_addr, ifr.ifr_hwaddr.sa_data, ETH_ALEN);
  
-@@ -775,14 +767,13 @@ rte_pmd_init_internals(struct rte_vdev_device *dev,
+@@ -804,14 +796,13 @@ rte_pmd_init_internals(struct rte_vdev_device *dev,
  
  	(*internals)->nb_queues = nb_queues;
  
@@ -103,7 +105,7 @@
  	(*eth_dev)->dev_ops = &ops;
  
  	return 0;
-@@ -802,8 +793,6 @@ error:
+@@ -831,8 +822,6 @@ error:
  	}
  	free((*internals)->if_name);
  	rte_free(*internals);
@@ -112,7 +114,7 @@
  	return -1;
  }
  
-@@ -985,7 +974,6 @@ rte_pmd_af_packet_remove(struct rte_vdev_device *dev)
+@@ -1014,7 +1003,6 @@ rte_pmd_af_packet_remove(struct rte_vdev_device *dev)
  	free(internals->if_name);
  
  	rte_free(eth_dev->data->dev_private);
@@ -121,22 +123,22 @@
  	rte_eth_dev_release_port(eth_dev);
  
 diff --git a/drivers/net/cxgbe/cxgbe_main.c b/drivers/net/cxgbe/cxgbe_main.c
-index c786a1a363..74bccd514b 100644
+index 5b828c237b..71dfa431aa 100644
 --- a/drivers/net/cxgbe/cxgbe_main.c
 +++ b/drivers/net/cxgbe/cxgbe_main.c
-@@ -29,7 +29,6 @@
+@@ -57,7 +57,6 @@
  #include <rte_ether.h>
- #include <rte_ethdev_driver.h>
+ #include <rte_ethdev.h>
  #include <rte_ethdev_pci.h>
 -#include <rte_malloc.h>
  #include <rte_random.h>
  #include <rte_dev.h>
- #include <rte_kvargs.h>
+ 
 diff --git a/drivers/net/kni/rte_eth_kni.c b/drivers/net/kni/rte_eth_kni.c
-index c10e970c21..b7897b6563 100644
+index 5c7950117b..218d5eb583 100644
 --- a/drivers/net/kni/rte_eth_kni.c
 +++ b/drivers/net/kni/rte_eth_kni.c
-@@ -336,25 +336,17 @@ eth_kni_create(struct rte_vdev_device *vdev,
+@@ -366,25 +366,17 @@ eth_kni_create(struct rte_vdev_device *vdev,
  	struct pmd_internals *internals;
  	struct rte_eth_dev_data *data;
  	struct rte_eth_dev *eth_dev;
@@ -164,7 +166,7 @@
  	data->nb_rx_queues = 1;
  	data->nb_tx_queues = 1;
  	data->dev_link = pmd_link;
-@@ -362,7 +354,6 @@ eth_kni_create(struct rte_vdev_device *vdev,
+@@ -392,7 +384,6 @@ eth_kni_create(struct rte_vdev_device *vdev,
  
  	eth_random_addr(internals->eth_addr.addr_bytes);
  
@@ -172,7 +174,7 @@
  	eth_dev->dev_ops = &eth_kni_ops;
  
  	internals->no_request_thread = args->no_request_thread;
-@@ -458,7 +449,6 @@ eth_kni_remove(struct rte_vdev_device *vdev)
+@@ -488,7 +479,6 @@ eth_kni_remove(struct rte_vdev_device *vdev)
  	rte_kni_release(internals->kni);
  
  	rte_free(internals);
@@ -181,10 +183,10 @@
  	rte_eth_dev_release_port(eth_dev);
  
 diff --git a/drivers/net/null/rte_eth_null.c b/drivers/net/null/rte_eth_null.c
-index 74dde9521b..7d89a32597 100644
+index 7a5f125707..2ead071402 100644
 --- a/drivers/net/null/rte_eth_null.c
 +++ b/drivers/net/null/rte_eth_null.c
-@@ -495,7 +495,7 @@ eth_dev_null_create(struct rte_vdev_device *dev,
+@@ -483,7 +483,7 @@ eth_dev_null_create(struct rte_vdev_device *dev,
  {
  	const unsigned nb_rx_queues = 1;
  	const unsigned nb_tx_queues = 1;
@@ -193,7 +195,7 @@
  	struct pmd_internals *internals = NULL;
  	struct rte_eth_dev *eth_dev = NULL;
  
-@@ -512,19 +512,10 @@ eth_dev_null_create(struct rte_vdev_device *dev,
+@@ -500,19 +500,9 @@ eth_dev_null_create(struct rte_vdev_device *dev,
  	RTE_LOG(INFO, PMD, "Creating null ethdev on numa socket %u\n",
  		dev->device.numa_node);
  
@@ -211,11 +213,10 @@
 +	if (!eth_dev)
  		return -ENOMEM;
 -	}
-+
+ 
  	/* now put it all together
  	 * - store queue data in internals,
- 	 * - store numa_node info in ethdev data
-@@ -545,13 +536,12 @@ eth_dev_null_create(struct rte_vdev_device *dev,
+@@ -533,13 +523,12 @@ eth_dev_null_create(struct rte_vdev_device *dev,
  
  	rte_memcpy(internals->rss_key, default_rss_key, 40);
  
@@ -224,13 +225,13 @@
  	data->nb_rx_queues = (uint16_t)nb_rx_queues;
  	data->nb_tx_queues = (uint16_t)nb_tx_queues;
  	data->dev_link = pmd_link;
- 	data->mac_addrs = &internals->eth_addr;
+ 	data->mac_addrs = &eth_addr;
  
 -	eth_dev->data = data;
  	eth_dev->dev_ops = &ops;
  
  	/* finally assign rx and tx ops */
-@@ -669,7 +659,6 @@ rte_pmd_null_remove(struct rte_vdev_device *dev)
+@@ -657,7 +646,6 @@ rte_pmd_null_remove(struct rte_vdev_device *dev)
  		return -1;
  
  	rte_free(eth_dev->data->dev_private);
@@ -239,10 +240,10 @@
  	rte_eth_dev_release_port(eth_dev);
  
 diff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/octeontx/octeontx_ethdev.c
-index 6d67d257c0..ee06cd3554 100644
+index 049bc32b43..12e3b2df3d 100644
 --- a/drivers/net/octeontx/octeontx_ethdev.c
 +++ b/drivers/net/octeontx/octeontx_ethdev.c
-@@ -1068,7 +1068,7 @@ octeontx_create(struct rte_vdev_device *dev, int port, uint8_t evdev,
+@@ -1033,7 +1033,7 @@ octeontx_create(struct rte_vdev_device *dev, int port, uint8_t evdev,
  	char octtx_name[OCTEONTX_MAX_NAME_LEN];
  	struct octeontx_nic *nic = NULL;
  	struct rte_eth_dev *eth_dev = NULL;
@@ -251,7 +252,7 @@
  	const char *name = rte_vdev_device_name(dev);
  
  	PMD_INIT_FUNC_TRACE();
-@@ -1084,13 +1084,6 @@ octeontx_create(struct rte_vdev_device *dev, int port, uint8_t evdev,
+@@ -1049,13 +1049,6 @@ octeontx_create(struct rte_vdev_device *dev, int port, uint8_t evdev,
  		return 0;
  	}
  
@@ -265,7 +266,7 @@
  	nic = rte_zmalloc_socket(octtx_name, sizeof(*nic), 0, socket_id);
  	if (nic == NULL) {
  		octeontx_log_err("failed to allocate nic structure");
-@@ -1126,11 +1119,9 @@ octeontx_create(struct rte_vdev_device *dev, int port, uint8_t evdev,
+@@ -1091,11 +1084,9 @@ octeontx_create(struct rte_vdev_device *dev, int port, uint8_t evdev,
  	eth_dev->data->kdrv = RTE_KDRV_NONE;
  	eth_dev->data->numa_node = dev->device.numa_node;
  
@@ -278,7 +279,7 @@
  
  	nic->ev_queues = 1;
  	nic->ev_ports = 1;
-@@ -1149,7 +1140,6 @@ octeontx_create(struct rte_vdev_device *dev, int port, uint8_t evdev,
+@@ -1114,7 +1105,6 @@ octeontx_create(struct rte_vdev_device *dev, int port, uint8_t evdev,
  		goto err;
  	}
  
@@ -286,7 +287,7 @@
  	eth_dev->dev_ops = &octeontx_dev_ops;
  
  	/* Finally save ethdev pointer to the NIC structure */
-@@ -1217,7 +1207,6 @@ octeontx_remove(struct rte_vdev_device *dev)
+@@ -1182,7 +1172,6 @@ octeontx_remove(struct rte_vdev_device *dev)
  
  		rte_free(eth_dev->data->mac_addrs);
  		rte_free(eth_dev->data->dev_private);
@@ -295,10 +296,10 @@
  		rte_event_dev_close(nic->evdev);
  	}
 diff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net/pcap/rte_eth_pcap.c
-index c1571e1fe9..8740d527f0 100644
+index f71ba001e1..89ff6c3f32 100644
 --- a/drivers/net/pcap/rte_eth_pcap.c
 +++ b/drivers/net/pcap/rte_eth_pcap.c
-@@ -773,27 +773,16 @@ pmd_init_internals(struct rte_vdev_device *vdev,
+@@ -801,27 +801,16 @@ pmd_init_internals(struct rte_vdev_device *vdev,
  		struct pmd_internals **internals,
  		struct rte_eth_dev **eth_dev)
  {
@@ -328,7 +329,7 @@
  
  	/* now put it all together
  	 * - store queue data in internals,
-@@ -802,7 +791,7 @@ pmd_init_internals(struct rte_vdev_device *vdev,
+@@ -830,7 +819,7 @@ pmd_init_internals(struct rte_vdev_device *vdev,
  	 * - and point eth_dev structure to new eth_dev_data structure
  	 */
  	*internals = (*eth_dev)->data->dev_private;
@@ -337,7 +338,7 @@
  	data->nb_rx_queues = (uint16_t)nb_rx_queues;
  	data->nb_tx_queues = (uint16_t)nb_tx_queues;
  	data->dev_link = pmd_link;
-@@ -812,7 +801,6 @@ pmd_init_internals(struct rte_vdev_device *vdev,
+@@ -840,7 +829,6 @@ pmd_init_internals(struct rte_vdev_device *vdev,
  	 * NOTE: we'll replace the data element, of originally allocated
  	 * eth_dev so the rings are local per-process
  	 */
@@ -345,7 +346,7 @@
  	(*eth_dev)->dev_ops = &ops;
  
  	return 0;
-@@ -1020,7 +1008,6 @@ pmd_pcap_remove(struct rte_vdev_device *dev)
+@@ -1034,7 +1022,6 @@ pmd_pcap_remove(struct rte_vdev_device *dev)
  		return -1;
  
  	rte_free(eth_dev->data->dev_private);
@@ -354,10 +355,10 @@
  	rte_eth_dev_release_port(eth_dev);
  
 diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c
-index df13c44be4..e53823adb3 100644
+index dbd350e183..77976ce777 100644
 --- a/drivers/net/ring/rte_eth_ring.c
 +++ b/drivers/net/ring/rte_eth_ring.c
-@@ -259,15 +259,6 @@ do_eth_dev_ring_create(const char *name,
+@@ -288,15 +288,6 @@ do_eth_dev_ring_create(const char *name,
  	RTE_LOG(INFO, PMD, "Creating rings-backed ethdev on numa socket %u\n",
  			numa_node);
  
@@ -373,7 +374,7 @@
  	rx_queues_local = rte_zmalloc_socket(name,
  			sizeof(void *) * nb_rx_queues, 0, numa_node);
  	if (rx_queues_local == NULL) {
-@@ -301,10 +292,8 @@ do_eth_dev_ring_create(const char *name,
+@@ -330,10 +321,8 @@ do_eth_dev_ring_create(const char *name,
  	 * - point eth_dev_data to internals
  	 * - and point eth_dev structure to new eth_dev_data structure
  	 */
@@ -385,7 +386,7 @@
  	data->rx_queues = rx_queues_local;
  	data->tx_queues = tx_queues_local;
  
-@@ -326,7 +315,6 @@ do_eth_dev_ring_create(const char *name,
+@@ -355,7 +344,6 @@ do_eth_dev_ring_create(const char *name,
  	data->dev_link = pmd_link;
  	data->mac_addrs = &internals->address;
  
@@ -393,7 +394,7 @@
  	eth_dev->dev_ops = &ops;
  	data->kdrv = RTE_KDRV_NONE;
  	data->numa_node = numa_node;
-@@ -342,7 +330,6 @@ do_eth_dev_ring_create(const char *name,
+@@ -371,7 +359,6 @@ do_eth_dev_ring_create(const char *name,
  error:
  	rte_free(rx_queues_local);
  	rte_free(tx_queues_local);
@@ -401,7 +402,7 @@
  	rte_free(internals);
  
  	return -1;
-@@ -675,8 +662,6 @@ rte_pmd_ring_remove(struct rte_vdev_device *dev)
+@@ -704,8 +691,6 @@ rte_pmd_ring_remove(struct rte_vdev_device *dev)
  	rte_free(eth_dev->data->tx_queues);
  	rte_free(eth_dev->data->dev_private);
  
@@ -411,23 +412,23 @@
  	return 0;
  }
 diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
-index 915d9373f8..b18efd8b70 100644
+index bd2b4d9958..220421623b 100644
 --- a/drivers/net/tap/rte_eth_tap.c
 +++ b/drivers/net/tap/rte_eth_tap.c
-@@ -1386,12 +1386,6 @@ eth_dev_tap_create(struct rte_vdev_device *vdev, char *tap_name,
- 	RTE_LOG(DEBUG, PMD, "%s device on numa %u\n",
- 			tuntap_name, rte_socket_id());
+@@ -1253,12 +1253,6 @@ eth_dev_tap_create(struct rte_vdev_device *vdev, char *tap_name,
+ 
+ 	RTE_LOG(DEBUG, PMD, "  TAP device on numa %u\n", rte_socket_id());
  
 -	data = rte_zmalloc_socket(tap_name, sizeof(*data), 0, numa_node);
 -	if (!data) {
--		RTE_LOG(ERR, PMD, "%s Failed to allocate data\n", tuntap_name);
+-		RTE_LOG(ERR, PMD, "TAP Failed to allocate data\n");
 -		goto error_exit_nodev;
 -	}
 -
  	dev = rte_eth_vdev_allocate(vdev, sizeof(*pmd));
  	if (!dev) {
- 		RTE_LOG(ERR, PMD, "%s Unable to allocate device struct\n",
-@@ -1412,7 +1406,7 @@ eth_dev_tap_create(struct rte_vdev_device *vdev, char *tap_name,
+ 		RTE_LOG(ERR, PMD, "TAP Unable to allocate device struct\n");
+@@ -1278,7 +1272,7 @@ eth_dev_tap_create(struct rte_vdev_device *vdev, char *tap_name,
  	}
  
  	/* Setup some default values */
@@ -436,7 +437,7 @@
  	data->dev_private = pmd;
  	data->dev_flags = RTE_ETH_DEV_INTR_LSC;
  	data->numa_node = numa_node;
-@@ -1423,7 +1417,6 @@ eth_dev_tap_create(struct rte_vdev_device *vdev, char *tap_name,
+@@ -1289,7 +1283,6 @@ eth_dev_tap_create(struct rte_vdev_device *vdev, char *tap_name,
  	data->nb_rx_queues = 0;
  	data->nb_tx_queues = 0;
  
@@ -444,15 +445,15 @@
  	dev->dev_ops = &ops;
  	dev->rx_pkt_burst = pmd_rx_burst;
  	dev->tx_pkt_burst = pmd_tx_burst;
-@@ -1574,7 +1567,6 @@ error_exit_nodev:
- 	RTE_LOG(ERR, PMD, "%s Unable to initialize %s\n",
- 		tuntap_name, rte_vdev_device_name(vdev));
+@@ -1440,7 +1433,6 @@ error_exit_nodev:
+ 	RTE_LOG(ERR, PMD, "TAP Unable to initialize %s\n",
+ 		rte_vdev_device_name(vdev));
  
 -	rte_free(data);
  	return -EINVAL;
  }
  
-@@ -1828,7 +1820,6 @@ rte_pmd_tap_remove(struct rte_vdev_device *dev)
+@@ -1611,7 +1603,6 @@ rte_pmd_tap_remove(struct rte_vdev_device *dev)
  
  	close(internals->ioctl_sock);
  	rte_free(eth_dev->data->dev_private);
@@ -461,10 +462,10 @@
  	rte_eth_dev_release_port(eth_dev);
  
 diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c
-index d7d44a0eb3..fea13eb554 100644
+index 0ba25b531f..7b7780c9c4 100644
 --- a/drivers/net/vhost/rte_eth_vhost.c
 +++ b/drivers/net/vhost/rte_eth_vhost.c
-@@ -1227,7 +1227,7 @@ eth_dev_vhost_create(struct rte_vdev_device *dev, char *iface_name,
+@@ -1041,7 +1041,7 @@ eth_dev_vhost_create(struct rte_vdev_device *dev, char *iface_name,
  	int16_t queues, const unsigned int numa_node, uint64_t flags)
  {
  	const char *name = rte_vdev_device_name(dev);
@@ -473,7 +474,7 @@
  	struct pmd_internal *internal = NULL;
  	struct rte_eth_dev *eth_dev = NULL;
  	struct ether_addr *eth_addr = NULL;
-@@ -1237,13 +1237,6 @@ eth_dev_vhost_create(struct rte_vdev_device *dev, char *iface_name,
+@@ -1051,13 +1051,6 @@ eth_dev_vhost_create(struct rte_vdev_device *dev, char *iface_name,
  	RTE_LOG(INFO, PMD, "Creating VHOST-USER backend on numa socket %u\n",
  		numa_node);
  
@@ -487,7 +488,7 @@
  	list = rte_zmalloc_socket(name, sizeof(*list), 0, numa_node);
  	if (list == NULL)
  		goto error;
-@@ -1285,12 +1278,7 @@ eth_dev_vhost_create(struct rte_vdev_device *dev, char *iface_name,
+@@ -1099,12 +1092,7 @@ eth_dev_vhost_create(struct rte_vdev_device *dev, char *iface_name,
  	rte_spinlock_init(&vring_state->lock);
  	vring_states[eth_dev->data->port_id] = vring_state;
  
@@ -501,7 +502,7 @@
  	data->nb_rx_queues = queues;
  	data->nb_tx_queues = queues;
  	internal->max_queues = queues;
-@@ -1331,7 +1319,6 @@ error:
+@@ -1146,7 +1134,6 @@ error:
  		rte_eth_dev_release_port(eth_dev);
  	rte_free(internal);
  	rte_free(list);
@@ -509,7 +510,7 @@
  
  	return -1;
  }
-@@ -1462,8 +1449,6 @@ rte_pmd_vhost_remove(struct rte_vdev_device *dev)
+@@ -1277,8 +1264,6 @@ rte_pmd_vhost_remove(struct rte_vdev_device *dev)
  	rte_free(vring_states[eth_dev->data->port_id]);
  	vring_states[eth_dev->data->port_id] = NULL;
  

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

* [dpdk-stable] patch 'net/sfc: log port ID as 16-bit unsigned integer on panic' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/mlx5: fix instruction hotspot on replenishing Rx buffer' " Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'drivers/net: do not use private ethdev data' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/sfc: remove control path logging from Rx queue count' " Yongseok Koh
                   ` (103 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Ivan Malov; +Cc: Andrew Rybchenko, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From a95ec939a85130bd235c53bb87c33b1c4eb381be Mon Sep 17 00:00:00 2001
From: Ivan Malov <ivan.malov@oktetlabs.ru>
Date: Thu, 7 Feb 2019 12:17:24 +0000
Subject: [PATCH] net/sfc: log port ID as 16-bit unsigned integer on panic

[ upstream commit 5e48db8c53cf2b6de1c944c392f33bc60e414c17 ]

Fixes: f8244c6399d9 ("ethdev: increase port id range")

Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
 drivers/net/sfc/sfc_debug.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/sfc/sfc_debug.h b/drivers/net/sfc/sfc_debug.h
index 92eba9c382..338c1cd553 100644
--- a/drivers/net/sfc/sfc_debug.h
+++ b/drivers/net/sfc/sfc_debug.h
@@ -49,7 +49,8 @@
 	do {								\
 		const struct sfc_adapter *_sa = (sa);			\
 									\
-		rte_panic("sfc " PCI_PRI_FMT " #%" PRIu8 ": " fmt "\n",	\
+		rte_panic("sfc " PCI_PRI_FMT				\
+			  " #%" PRIu16 ": " fmt "\n",			\
 			  _sa->pci_addr.domain, _sa->pci_addr.bus,	\
 			  _sa->pci_addr.devid, _sa->pci_addr.function,	\
 			  _sa->port_id, ##args);			\
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:06.750532322 -0700
+++ 0004-net-sfc-log-port-ID-as-16-bit-unsigned-integer-on-pa.patch	2019-07-22 17:55:05.739467000 -0700
@@ -1,10 +1,11 @@
-From 5e48db8c53cf2b6de1c944c392f33bc60e414c17 Mon Sep 17 00:00:00 2001
+From a95ec939a85130bd235c53bb87c33b1c4eb381be Mon Sep 17 00:00:00 2001
 From: Ivan Malov <ivan.malov@oktetlabs.ru>
 Date: Thu, 7 Feb 2019 12:17:24 +0000
 Subject: [PATCH] net/sfc: log port ID as 16-bit unsigned integer on panic
 
+[ upstream commit 5e48db8c53cf2b6de1c944c392f33bc60e414c17 ]
+
 Fixes: f8244c6399d9 ("ethdev: increase port id range")
-Cc: stable@dpdk.org
 
 Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
 Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
@@ -13,10 +14,10 @@
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/drivers/net/sfc/sfc_debug.h b/drivers/net/sfc/sfc_debug.h
-index 6b600ff4d5..62f3937e8a 100644
+index 92eba9c382..338c1cd553 100644
 --- a/drivers/net/sfc/sfc_debug.h
 +++ b/drivers/net/sfc/sfc_debug.h
-@@ -27,7 +27,8 @@
+@@ -49,7 +49,8 @@
  	do {								\
  		const struct sfc_adapter *_sa = (sa);			\
  									\

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

* [dpdk-stable] patch 'net/sfc: remove control path logging from Rx queue count' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (2 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/sfc: log port ID as 16-bit unsigned integer on panic' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/virtio: remove forward declaration' " Yongseok Koh
                   ` (102 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Andrew Rybchenko; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 5dc47cca32ae6db6f6311910b22545c63cd9f2ba Mon Sep 17 00:00:00 2001
From: Andrew Rybchenko <arybchenko@solarflare.com>
Date: Thu, 7 Feb 2019 12:17:25 +0000
Subject: [PATCH] net/sfc: remove control path logging from Rx queue count

[ upstream commit bd6e510658a95a08217ecf33b684e16d7e29b955 ]

Rx queue count may be used from data core and it should not
generate control path logs.

Fixes: 04aa6b9c5fd7 ("net/sfc: get RxQ pending descriptors count")

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

diff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c
index 09ab4ec8af..5cff2f59e6 100644
--- a/drivers/net/sfc/sfc_ethdev.c
+++ b/drivers/net/sfc/sfc_ethdev.c
@@ -1120,8 +1120,6 @@ sfc_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id)
 {
 	struct sfc_adapter *sa = dev->data->dev_private;
 
-	sfc_log_init(sa, "RxQ=%u", rx_queue_id);
-
 	return sfc_rx_qdesc_npending(sa, rx_queue_id);
 }
 
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:06.801348121 -0700
+++ 0005-net-sfc-remove-control-path-logging-from-Rx-queue-co.patch	2019-07-22 17:55:05.745467000 -0700
@@ -1,13 +1,14 @@
-From bd6e510658a95a08217ecf33b684e16d7e29b955 Mon Sep 17 00:00:00 2001
+From 5dc47cca32ae6db6f6311910b22545c63cd9f2ba Mon Sep 17 00:00:00 2001
 From: Andrew Rybchenko <arybchenko@solarflare.com>
 Date: Thu, 7 Feb 2019 12:17:25 +0000
 Subject: [PATCH] net/sfc: remove control path logging from Rx queue count
 
+[ upstream commit bd6e510658a95a08217ecf33b684e16d7e29b955 ]
+
 Rx queue count may be used from data core and it should not
 generate control path logs.
 
 Fixes: 04aa6b9c5fd7 ("net/sfc: get RxQ pending descriptors count")
-Cc: stable@dpdk.org
 
 Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
 ---
@@ -15,10 +16,10 @@
  1 file changed, 2 deletions(-)
 
 diff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c
-index a7322a1eb3..67ce5a22f6 100644
+index 09ab4ec8af..5cff2f59e6 100644
 --- a/drivers/net/sfc/sfc_ethdev.c
 +++ b/drivers/net/sfc/sfc_ethdev.c
-@@ -1124,8 +1124,6 @@ sfc_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id)
+@@ -1120,8 +1120,6 @@ sfc_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id)
  {
  	struct sfc_adapter *sa = dev->data->dev_private;
  

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

* [dpdk-stable] patch 'net/virtio: remove forward declaration' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (3 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/sfc: remove control path logging from Rx queue count' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'eal: support strlcat function' " Yongseok Koh
                   ` (101 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Rami Rosen; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 4fb845a4564401f18ce07ac42735a7d911f001a0 Mon Sep 17 00:00:00 2001
From: Rami Rosen <ramirose@gmail.com>
Date: Wed, 23 Jan 2019 19:29:48 +0200
Subject: [PATCH] net/virtio: remove forward declaration

[ upstream commit e17697abd31251be4257d71cfadbf0e847b93bb1 ]

This minor cleanup patch removes an unnecessary forward
declaration of virtio_intr_enable() in net/virtio PMD.

Fixes: fe19d49cb525 ("net/virtio: fix Rx interrupt with VFIO")

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 drivers/net/virtio/virtio_ethdev.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index 6eece5bcf1..b242abb0fc 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -97,7 +97,6 @@ static void virtio_mac_addr_remove(struct rte_eth_dev *dev, uint32_t index);
 static void virtio_mac_addr_set(struct rte_eth_dev *dev,
 				struct ether_addr *mac_addr);
 
-static int virtio_intr_enable(struct rte_eth_dev *dev);
 static int virtio_intr_disable(struct rte_eth_dev *dev);
 
 static int virtio_dev_queue_stats_mapping_set(
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:06.854139665 -0700
+++ 0006-net-virtio-remove-forward-declaration.patch	2019-07-22 17:55:05.752467000 -0700
@@ -1,13 +1,14 @@
-From e17697abd31251be4257d71cfadbf0e847b93bb1 Mon Sep 17 00:00:00 2001
+From 4fb845a4564401f18ce07ac42735a7d911f001a0 Mon Sep 17 00:00:00 2001
 From: Rami Rosen <ramirose@gmail.com>
 Date: Wed, 23 Jan 2019 19:29:48 +0200
 Subject: [PATCH] net/virtio: remove forward declaration
 
+[ upstream commit e17697abd31251be4257d71cfadbf0e847b93bb1 ]
+
 This minor cleanup patch removes an unnecessary forward
 declaration of virtio_intr_enable() in net/virtio PMD.
 
 Fixes: fe19d49cb525 ("net/virtio: fix Rx interrupt with VFIO")
-Cc: stable@dpdk.org
 
 Signed-off-by: Rami Rosen <ramirose@gmail.com>
 Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
@@ -16,11 +17,11 @@
  1 file changed, 1 deletion(-)
 
 diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
-index 7c2fe76f34..846983a017 100644
+index 6eece5bcf1..b242abb0fc 100644
 --- a/drivers/net/virtio/virtio_ethdev.c
 +++ b/drivers/net/virtio/virtio_ethdev.c
-@@ -71,7 +71,6 @@ static void virtio_mac_addr_remove(struct rte_eth_dev *dev, uint32_t index);
- static int virtio_mac_addr_set(struct rte_eth_dev *dev,
+@@ -97,7 +97,6 @@ static void virtio_mac_addr_remove(struct rte_eth_dev *dev, uint32_t index);
+ static void virtio_mac_addr_set(struct rte_eth_dev *dev,
  				struct ether_addr *mac_addr);
  
 -static int virtio_intr_enable(struct rte_eth_dev *dev);

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

* [dpdk-stable] patch 'eal: support strlcat function' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (4 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/virtio: remove forward declaration' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'mbuf: fix a typo' " Yongseok Koh
                   ` (100 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From ca2ce1f60221e9cfb38272d7289e5c6941b037b0 Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Thu, 17 Jan 2019 17:30:32 +0000
Subject: [PATCH] eal: support strlcat function

[ upstream commit 146e57627f4b53dbdeecea3ee1f36f185cb55661 ]

Add the strlcat function to DPDK to exist alongside the strlcpy one.
While strncat is generally safe for use for concatenation, the API for the
strlcat function is perhaps a little nicer to use, and supports truncation
detection.

See commit 5364de644a4b ("eal: support strlcpy function") for more
details on the function selection logic, since we only should be using the
DPDK-provided version when no system-provided version is present.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 .../common/include/rte_string_fns.h           | 16 +++++++
 test/test/test_string_fns.c                   | 45 +++++++++++++++++++
 2 files changed, 61 insertions(+)

diff --git a/lib/librte_eal/common/include/rte_string_fns.h b/lib/librte_eal/common/include/rte_string_fns.h
index 27a9ecb8ba..58c6faeee4 100644
--- a/lib/librte_eal/common/include/rte_string_fns.h
+++ b/lib/librte_eal/common/include/rte_string_fns.h
@@ -88,10 +88,25 @@ rte_strlcpy(char *dst, const char *src, size_t size)
 	return (size_t)snprintf(dst, size, "%s", src);
 }
 
+/**
+ * @internal
+ * DPDK-specific version of strlcat for systems without
+ * libc or libbsd copies of the function
+ */
+static inline size_t
+rte_strlcat(char *dst, const char *src, size_t size)
+{
+	size_t l = strnlen(dst, size);
+	if (l < size)
+		return l + rte_strlcpy(&dst[l], src, size - l);
+	return l + strlen(src);
+}
+
 /* pull in a strlcpy function */
 #ifdef RTE_EXEC_ENV_BSDAPP
 #ifndef __BSD_VISIBLE /* non-standard functions are hidden */
 #define strlcpy(dst, src, size) rte_strlcpy(dst, src, size)
+#define strlcat(dst, src, size) rte_strlcat(dst, src, size)
 #endif
 
 #else /* non-BSD platforms */
@@ -100,6 +115,7 @@ rte_strlcpy(char *dst, const char *src, size_t size)
 
 #else /* no BSD header files, create own */
 #define strlcpy(dst, src, size) rte_strlcpy(dst, src, size)
+#define strlcat(dst, src, size) rte_strlcat(dst, src, size)
 
 #endif /* RTE_USE_LIBBSD */
 #endif /* BSDAPP */
diff --git a/test/test/test_string_fns.c b/test/test/test_string_fns.c
index 8b4359aa79..d79ba76007 100644
--- a/test/test/test_string_fns.c
+++ b/test/test/test_string_fns.c
@@ -158,11 +158,56 @@ test_rte_strsplit(void)
 	return 0;
 }
 
+static int
+test_rte_strlcat(void)
+{
+	/* only run actual unit tests if we have system-provided strlcat */
+#if defined(__BSD_VISIBLE) || defined(RTE_USE_LIBBSD)
+#define BUF_LEN 32
+	const char dst[BUF_LEN] = "Test string";
+	const char src[] = " appended";
+	char bsd_dst[BUF_LEN];
+	char rte_dst[BUF_LEN];
+	size_t i, bsd_ret, rte_ret;
+
+	LOG("dst = '%s', strlen(dst) = %zu\n", dst, strlen(dst));
+	LOG("src = '%s', strlen(src) = %zu\n", src, strlen(src));
+	LOG("---\n");
+
+	for (i = 0; i < BUF_LEN; i++) {
+		/* initialize destination buffers */
+		memcpy(bsd_dst, dst, BUF_LEN);
+		memcpy(rte_dst, dst, BUF_LEN);
+		/* compare implementations */
+		bsd_ret = strlcat(bsd_dst, src, i);
+		rte_ret = rte_strlcat(rte_dst, src, i);
+		if (bsd_ret != rte_ret) {
+			LOG("Incorrect retval for buf length = %zu\n", i);
+			LOG("BSD: '%zu', rte: '%zu'\n", bsd_ret, rte_ret);
+			return -1;
+		}
+		if (memcmp(bsd_dst, rte_dst, BUF_LEN) != 0) {
+			LOG("Resulting buffers don't match\n");
+			LOG("BSD: '%s', rte: '%s'\n", bsd_dst, rte_dst);
+			return -1;
+		}
+		LOG("buffer size = %zu: dst = '%s', ret = %zu\n",
+			i, rte_dst, rte_ret);
+	}
+	LOG("Checked %zu combinations\n", i);
+#undef BUF_LEN
+#endif /* defined(__BSD_VISIBLE) || defined(RTE_USE_LIBBSD) */
+
+	return 0;
+}
+
 static int
 test_string_fns(void)
 {
 	if (test_rte_strsplit() < 0)
 		return -1;
+	if (test_rte_strlcat() < 0)
+		return -1;
 	return 0;
 }
 
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:06.905398202 -0700
+++ 0007-eal-support-strlcat-function.patch	2019-07-22 17:55:05.761469000 -0700
@@ -1,8 +1,10 @@
-From 146e57627f4b53dbdeecea3ee1f36f185cb55661 Mon Sep 17 00:00:00 2001
+From ca2ce1f60221e9cfb38272d7289e5c6941b037b0 Mon Sep 17 00:00:00 2001
 From: Bruce Richardson <bruce.richardson@intel.com>
 Date: Thu, 17 Jan 2019 17:30:32 +0000
 Subject: [PATCH] eal: support strlcat function
 
+[ upstream commit 146e57627f4b53dbdeecea3ee1f36f185cb55661 ]
+
 Add the strlcat function to DPDK to exist alongside the strlcpy one.
 While strncat is generally safe for use for concatenation, the API for the
 strlcat function is perhaps a little nicer to use, and supports truncation
@@ -20,10 +22,10 @@
  2 files changed, 61 insertions(+)
 
 diff --git a/lib/librte_eal/common/include/rte_string_fns.h b/lib/librte_eal/common/include/rte_string_fns.h
-index 9a2a1ff900..35c6b003cc 100644
+index 27a9ecb8ba..58c6faeee4 100644
 --- a/lib/librte_eal/common/include/rte_string_fns.h
 +++ b/lib/librte_eal/common/include/rte_string_fns.h
-@@ -59,10 +59,25 @@ rte_strlcpy(char *dst, const char *src, size_t size)
+@@ -88,10 +88,25 @@ rte_strlcpy(char *dst, const char *src, size_t size)
  	return (size_t)snprintf(dst, size, "%s", src);
  }
  
@@ -49,7 +51,7 @@
  #endif
  
  #else /* non-BSD platforms */
-@@ -71,6 +86,7 @@ rte_strlcpy(char *dst, const char *src, size_t size)
+@@ -100,6 +115,7 @@ rte_strlcpy(char *dst, const char *src, size_t size)
  
  #else /* no BSD header files, create own */
  #define strlcpy(dst, src, size) rte_strlcpy(dst, src, size)
@@ -58,10 +60,10 @@
  #endif /* RTE_USE_LIBBSD */
  #endif /* BSDAPP */
 diff --git a/test/test/test_string_fns.c b/test/test/test_string_fns.c
-index 3f091ab920..5e105d2bb9 100644
+index 8b4359aa79..d79ba76007 100644
 --- a/test/test/test_string_fns.c
 +++ b/test/test/test_string_fns.c
-@@ -129,11 +129,56 @@ test_rte_strsplit(void)
+@@ -158,11 +158,56 @@ test_rte_strsplit(void)
  	return 0;
  }
  

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

* [dpdk-stable] patch 'mbuf: fix a typo' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (5 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'eal: support strlcat function' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/bnxt: support IOVA VA mode' " Yongseok Koh
                   ` (99 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Rami Rosen; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 0cf8f9ef40eaeba6d4f2a89e1af3d7b7a612e41e Mon Sep 17 00:00:00 2001
From: Rami Rosen <ramirose@gmail.com>
Date: Mon, 11 Feb 2019 20:52:18 +0200
Subject: [PATCH] mbuf: fix a typo

[ upstream commit b13baac8d5ffb6b0b7a6ca0def884d3f1a82babb ]

This trivial patch fixes a typo in rte_mbuf.h.

Fixes: f20b50b946da ("mbuf: optimize refcnt update")

Signed-off-by: Rami Rosen <ramirose@gmail.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 e6fd86f292..5ed541890f 100644
--- a/lib/librte_mbuf/rte_mbuf.h
+++ b/lib/librte_mbuf/rte_mbuf.h
@@ -783,7 +783,7 @@ rte_mbuf_refcnt_update(struct rte_mbuf *m, int16_t value)
 {
 	/*
 	 * The atomic_add is an expensive operation, so we don't want to
-	 * call it in the case where we know we are the uniq holder of
+	 * call it in the case where we know we are the unique holder of
 	 * this mbuf (i.e. ref_cnt == 1). Otherwise, an atomic
 	 * operation has to be used because concurrent accesses on the
 	 * reference counter can occur.
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:06.959183166 -0700
+++ 0008-mbuf-fix-a-typo.patch	2019-07-22 17:55:05.767469000 -0700
@@ -1,12 +1,13 @@
-From b13baac8d5ffb6b0b7a6ca0def884d3f1a82babb Mon Sep 17 00:00:00 2001
+From 0cf8f9ef40eaeba6d4f2a89e1af3d7b7a612e41e Mon Sep 17 00:00:00 2001
 From: Rami Rosen <ramirose@gmail.com>
 Date: Mon, 11 Feb 2019 20:52:18 +0200
 Subject: [PATCH] mbuf: fix a typo
 
+[ upstream commit b13baac8d5ffb6b0b7a6ca0def884d3f1a82babb ]
+
 This trivial patch fixes a typo in rte_mbuf.h.
 
 Fixes: f20b50b946da ("mbuf: optimize refcnt update")
-Cc: stable@dpdk.org
 
 Signed-off-by: Rami Rosen <ramirose@gmail.com>
 ---
@@ -14,10 +15,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h
-index a7f67023ad..d961ccaf65 100644
+index e6fd86f292..5ed541890f 100644
 --- a/lib/librte_mbuf/rte_mbuf.h
 +++ b/lib/librte_mbuf/rte_mbuf.h
-@@ -973,7 +973,7 @@ rte_mbuf_refcnt_update(struct rte_mbuf *m, int16_t value)
+@@ -783,7 +783,7 @@ rte_mbuf_refcnt_update(struct rte_mbuf *m, int16_t value)
  {
  	/*
  	 * The atomic_add is an expensive operation, so we don't want to

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

* [dpdk-stable] patch 'net/bnxt: support IOVA VA mode' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (6 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'mbuf: fix a typo' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'doc: fix a minor typo in testpmd guide' " Yongseok Koh
                   ` (98 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Davide Caratti; +Cc: Ajit Khaparde, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 9a652f8400f7e3ba8cde5b4668c261352c560561 Mon Sep 17 00:00:00 2001
From: Davide Caratti <dcaratti@redhat.com>
Date: Tue, 12 Feb 2019 19:30:19 +0100
Subject: [PATCH] net/bnxt: support IOVA VA mode

[ upstream commit 8fe6beed2f9e068c5329433f83704c9441a34a59 ]

Set RTE_PCI_DRV_IOVA_AS_VA in drv_flags: this allows initializing bnxt
PMD as non-root also on Linux v4.x, where /proc/self/pagemap can't be
accessed without CAP_SYS_ADMIN privileges.

Signed-off-by: Davide Caratti <dcaratti@redhat.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
 drivers/net/bnxt/bnxt_ethdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 1091121429..bc7b82f6c1 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -3148,7 +3148,7 @@ static int bnxt_pci_remove(struct rte_pci_device *pci_dev)
 static struct rte_pci_driver bnxt_rte_pmd = {
 	.id_table = bnxt_pci_id_map,
 	.drv_flags = RTE_PCI_DRV_NEED_MAPPING |
-		RTE_PCI_DRV_INTR_LSC,
+		RTE_PCI_DRV_INTR_LSC | RTE_PCI_DRV_IOVA_AS_VA,
 	.probe = bnxt_pci_probe,
 	.remove = bnxt_pci_remove,
 };
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:07.008986928 -0700
+++ 0009-net-bnxt-support-IOVA-VA-mode.patch	2019-07-22 17:55:05.774467000 -0700
@@ -1,14 +1,14 @@
-From 8fe6beed2f9e068c5329433f83704c9441a34a59 Mon Sep 17 00:00:00 2001
+From 9a652f8400f7e3ba8cde5b4668c261352c560561 Mon Sep 17 00:00:00 2001
 From: Davide Caratti <dcaratti@redhat.com>
 Date: Tue, 12 Feb 2019 19:30:19 +0100
 Subject: [PATCH] net/bnxt: support IOVA VA mode
 
+[ upstream commit 8fe6beed2f9e068c5329433f83704c9441a34a59 ]
+
 Set RTE_PCI_DRV_IOVA_AS_VA in drv_flags: this allows initializing bnxt
 PMD as non-root also on Linux v4.x, where /proc/self/pagemap can't be
 accessed without CAP_SYS_ADMIN privileges.
 
-Cc: stable@dpdk.org
-
 Signed-off-by: Davide Caratti <dcaratti@redhat.com>
 Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
 ---
@@ -16,10 +16,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
-index 801c6ffad9..189527207f 100644
+index 1091121429..bc7b82f6c1 100644
 --- a/drivers/net/bnxt/bnxt_ethdev.c
 +++ b/drivers/net/bnxt/bnxt_ethdev.c
-@@ -3548,7 +3548,7 @@ static int bnxt_pci_remove(struct rte_pci_device *pci_dev)
+@@ -3148,7 +3148,7 @@ static int bnxt_pci_remove(struct rte_pci_device *pci_dev)
  static struct rte_pci_driver bnxt_rte_pmd = {
  	.id_table = bnxt_pci_id_map,
  	.drv_flags = RTE_PCI_DRV_NEED_MAPPING |

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

* [dpdk-stable] patch 'doc: fix a minor typo in testpmd guide' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (7 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/bnxt: support IOVA VA mode' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/bonding: avoid warning for invalid port' " Yongseok Koh
                   ` (97 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Rami Rosen; +Cc: Wei Zhao, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 36572f329b0936e644c0bc0cd9999bcbea550ca5 Mon Sep 17 00:00:00 2001
From: Rami Rosen <ramirose@gmail.com>
Date: Sat, 16 Feb 2019 13:13:23 +0200
Subject: [PATCH] doc: fix a minor typo in testpmd guide

[ upstream commit 56dd3ae1952cbfabd879682daa3776b1f7c84147 ]

This patch fixes a minor typo in testpmd guide.

Fixes: 3c272b280a50 ("app/testpmd: add commands for RSS queue region")

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Acked-by: Wei Zhao <wei.zhao1@intel.com>
---
 doc/guides/testpmd_app_ug/testpmd_funcs.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index 2865f24b92..7eea925616 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -886,7 +886,7 @@ where:
 
 * "on"is just an enable function which server for other configuration,
   it is for all configuration about queue region from up layer,
-  at first will only keep in DPDK softwarestored in driver,
+  at first will only keep in DPDK software stored in driver,
   only after "flush on", it commit all configuration to HW.
   "off" is just clean all configuration about queue region just now,
   and restore all to DPDK i40e driver default config when start up.
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:07.061526681 -0700
+++ 0010-doc-fix-a-minor-typo-in-testpmd-guide.patch	2019-07-22 17:55:05.783467000 -0700
@@ -1,12 +1,13 @@
-From 56dd3ae1952cbfabd879682daa3776b1f7c84147 Mon Sep 17 00:00:00 2001
+From 36572f329b0936e644c0bc0cd9999bcbea550ca5 Mon Sep 17 00:00:00 2001
 From: Rami Rosen <ramirose@gmail.com>
 Date: Sat, 16 Feb 2019 13:13:23 +0200
 Subject: [PATCH] doc: fix a minor typo in testpmd guide
 
+[ upstream commit 56dd3ae1952cbfabd879682daa3776b1f7c84147 ]
+
 This patch fixes a minor typo in testpmd guide.
 
 Fixes: 3c272b280a50 ("app/testpmd: add commands for RSS queue region")
-Cc: stable@dpdk.org
 
 Signed-off-by: Rami Rosen <ramirose@gmail.com>
 Acked-by: Wei Zhao <wei.zhao1@intel.com>
@@ -15,10 +16,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
-index 0291480410..5de9f1be16 100644
+index 2865f24b92..7eea925616 100644
 --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
 +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
-@@ -932,7 +932,7 @@ where:
+@@ -886,7 +886,7 @@ where:
  
  * "on"is just an enable function which server for other configuration,
    it is for all configuration about queue region from up layer,

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

* [dpdk-stable] patch 'net/bonding: avoid warning for invalid port' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (8 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'doc: fix a minor typo in testpmd guide' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/bonding: fix reset active slave' " Yongseok Koh
                   ` (96 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Hyong Youb Kim; +Cc: Chas Williams, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From ccdf6b9290398cf02f391f8e3f183acc031f8a0e Mon Sep 17 00:00:00 2001
From: Hyong Youb Kim <hyonkim@cisco.com>
Date: Thu, 10 Jan 2019 02:22:34 -0800
Subject: [PATCH] net/bonding: avoid warning for invalid port

[ upstream commit 90d2eb059e665738e5b775a7d0f164356acaac04 ]

For active-backup, tlb, and alb mode,
bond_ethdev_promiscuous_{enable,disable} tries to set promisc mode on
the primary port, even when there are no slaves. It is harmless, as
rte_eth_promiscuous_{enable,disable} does nothing if the port number
is invalid. But, it does print a warning message. Here is an example
from testpmd.

testpmd> create bonded device 5 0
Created new bonded device net_bonding_testpmd_0 on (port 4).
Invalid port_id=33
testpmd> set promisc 4 off
Invalid port_id=33

33 in this case is RTE_MAX_ETHPORTS + 1, the invalid primary port
number used within the bonding driver. This warning message is
harmless but can be confusing to the user. So do not try to set
promisc on a primary port when we know it does not exist (i.e. no
slaves).

Fixes: 2efb58cbab6e ("bond: new link bonding library")

Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
Acked-by: Chas Williams <chas3@att.com>
---
 drivers/net/bonding/rte_eth_bond_pmd.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index 44cf61b861..5ea1bf99ac 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -2466,6 +2466,9 @@ bond_ethdev_promiscuous_enable(struct rte_eth_dev *eth_dev)
 	case BONDING_MODE_TLB:
 	case BONDING_MODE_ALB:
 	default:
+		/* Do not touch promisc when there cannot be primary ports */
+		if (internals->slave_count == 0)
+			break;
 		rte_eth_promiscuous_enable(internals->current_primary_port);
 	}
 }
@@ -2494,6 +2497,9 @@ bond_ethdev_promiscuous_disable(struct rte_eth_dev *dev)
 	case BONDING_MODE_TLB:
 	case BONDING_MODE_ALB:
 	default:
+		/* Do not touch promisc when there cannot be primary ports */
+		if (internals->slave_count == 0)
+			break;
 		rte_eth_promiscuous_disable(internals->current_primary_port);
 	}
 }
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:07.121807551 -0700
+++ 0011-net-bonding-avoid-warning-for-invalid-port.patch	2019-07-22 17:55:05.798468000 -0700
@@ -1,8 +1,10 @@
-From 90d2eb059e665738e5b775a7d0f164356acaac04 Mon Sep 17 00:00:00 2001
+From ccdf6b9290398cf02f391f8e3f183acc031f8a0e Mon Sep 17 00:00:00 2001
 From: Hyong Youb Kim <hyonkim@cisco.com>
 Date: Thu, 10 Jan 2019 02:22:34 -0800
 Subject: [PATCH] net/bonding: avoid warning for invalid port
 
+[ upstream commit 90d2eb059e665738e5b775a7d0f164356acaac04 ]
+
 For active-backup, tlb, and alb mode,
 bond_ethdev_promiscuous_{enable,disable} tries to set promisc mode on
 the primary port, even when there are no slaves. It is harmless, as
@@ -23,7 +25,6 @@
 slaves).
 
 Fixes: 2efb58cbab6e ("bond: new link bonding library")
-Cc: stable@dpdk.org
 
 Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
 Acked-by: Chas Williams <chas3@att.com>
@@ -32,10 +33,10 @@
  1 file changed, 6 insertions(+)
 
 diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
-index c4a2b955cf..f65db4410e 100644
+index 44cf61b861..5ea1bf99ac 100644
 --- a/drivers/net/bonding/rte_eth_bond_pmd.c
 +++ b/drivers/net/bonding/rte_eth_bond_pmd.c
-@@ -2599,6 +2599,9 @@ bond_ethdev_promiscuous_enable(struct rte_eth_dev *eth_dev)
+@@ -2466,6 +2466,9 @@ bond_ethdev_promiscuous_enable(struct rte_eth_dev *eth_dev)
  	case BONDING_MODE_TLB:
  	case BONDING_MODE_ALB:
  	default:
@@ -45,7 +46,7 @@
  		rte_eth_promiscuous_enable(internals->current_primary_port);
  	}
  }
-@@ -2627,6 +2630,9 @@ bond_ethdev_promiscuous_disable(struct rte_eth_dev *dev)
+@@ -2494,6 +2497,9 @@ bond_ethdev_promiscuous_disable(struct rte_eth_dev *dev)
  	case BONDING_MODE_TLB:
  	case BONDING_MODE_ALB:
  	default:

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

* [dpdk-stable] patch 'net/bonding: fix reset active slave' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (9 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/bonding: avoid warning for invalid port' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'mk: fix build of shared library with libbsd' " Yongseok Koh
                   ` (95 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Hari Kumar Vemula; +Cc: Radu Nicolau, Chas Williams, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From fb0fa08ace2238894e9448547afd301cf611b99a Mon Sep 17 00:00:00 2001
From: Hari Kumar Vemula <hari.kumarx.vemula@intel.com>
Date: Mon, 18 Feb 2019 11:59:23 +0000
Subject: [PATCH] net/bonding: fix reset active slave

[ upstream commit 7f949ae391527200266afa59097317ef0047111e ]

test_alb_reply_from_client test fails due to incorrect active slave
array's index. This was due to invalid active slave count.

Count of internals->active_slave is not updated even when active slave
is deactivated.
Hence active slave count always keeps incrementing beyond the actual
active slaves.

Fix is to set the internals->active_slave to starting index 0 whenever
it exceeds the number of slaves in active slave list and also update
the active slave count during slave de-activation.

Fixes: e1110e977648 ("net/bonding: fix Rx slave fairness")

Signed-off-by: Hari Kumar Vemula <hari.kumarx.vemula@intel.com>
Acked-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Chas Williams <chas3@att.com>
---
 drivers/net/bonding/rte_eth_bond_api.c | 6 ++++++
 drivers/net/bonding/rte_eth_bond_pmd.c | 6 +++---
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/drivers/net/bonding/rte_eth_bond_api.c b/drivers/net/bonding/rte_eth_bond_api.c
index f4ca0a3f6f..5f46dff66b 100644
--- a/drivers/net/bonding/rte_eth_bond_api.c
+++ b/drivers/net/bonding/rte_eth_bond_api.c
@@ -158,6 +158,12 @@ deactivate_slave(struct rte_eth_dev *eth_dev, uint16_t port_id)
 	RTE_ASSERT(active_count < RTE_DIM(internals->active_slaves));
 	internals->active_slave_count = active_count;
 
+	/* Resetting active_slave when reaches to max
+	 * no of slaves in active list
+	 */
+	if (internals->active_slave >= active_count)
+		internals->active_slave = 0;
+
 	if (eth_dev->data->dev_started) {
 		if (internals->mode == BONDING_MODE_8023AD) {
 			bond_mode_8023ad_start(eth_dev);
diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index 5ea1bf99ac..409bcb5d72 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -111,7 +111,7 @@ bond_ethdev_rx_burst(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
 			active_slave = 0;
 	}
 
-	if (++internals->active_slave == slave_count)
+	if (++internals->active_slave >= slave_count)
 		internals->active_slave = 0;
 	return num_rx_total;
 }
@@ -315,7 +315,7 @@ bond_ethdev_rx_burst_8023ad_fast_queue(void *queue, struct rte_mbuf **bufs,
 			active_slave = 0;
 	}
 
-	if (++internals->active_slave == slave_count)
+	if (++internals->active_slave >= slave_count)
 		internals->active_slave = 0;
 
 	return num_rx_total;
@@ -494,7 +494,7 @@ bond_ethdev_rx_burst_8023ad(void *queue, struct rte_mbuf **bufs,
 			idx = 0;
 	}
 
-	if (++internals->active_slave == slave_count)
+	if (++internals->active_slave >= slave_count)
 		internals->active_slave = 0;
 
 	return num_rx_total;
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:07.172879168 -0700
+++ 0012-net-bonding-fix-reset-active-slave.patch	2019-07-22 17:55:05.810467000 -0700
@@ -1,8 +1,10 @@
-From 7f949ae391527200266afa59097317ef0047111e Mon Sep 17 00:00:00 2001
+From fb0fa08ace2238894e9448547afd301cf611b99a Mon Sep 17 00:00:00 2001
 From: Hari Kumar Vemula <hari.kumarx.vemula@intel.com>
 Date: Mon, 18 Feb 2019 11:59:23 +0000
 Subject: [PATCH] net/bonding: fix reset active slave
 
+[ upstream commit 7f949ae391527200266afa59097317ef0047111e ]
+
 test_alb_reply_from_client test fails due to incorrect active slave
 array's index. This was due to invalid active slave count.
 
@@ -16,7 +18,6 @@
 the active slave count during slave de-activation.
 
 Fixes: e1110e977648 ("net/bonding: fix Rx slave fairness")
-Cc: stable@dpdk.org
 
 Signed-off-by: Hari Kumar Vemula <hari.kumarx.vemula@intel.com>
 Acked-by: Radu Nicolau <radu.nicolau@intel.com>
@@ -27,10 +28,10 @@
  2 files changed, 9 insertions(+), 3 deletions(-)
 
 diff --git a/drivers/net/bonding/rte_eth_bond_api.c b/drivers/net/bonding/rte_eth_bond_api.c
-index 57ef2f0015..b55752ed3d 100644
+index f4ca0a3f6f..5f46dff66b 100644
 --- a/drivers/net/bonding/rte_eth_bond_api.c
 +++ b/drivers/net/bonding/rte_eth_bond_api.c
-@@ -129,6 +129,12 @@ deactivate_slave(struct rte_eth_dev *eth_dev, uint16_t port_id)
+@@ -158,6 +158,12 @@ deactivate_slave(struct rte_eth_dev *eth_dev, uint16_t port_id)
  	RTE_ASSERT(active_count < RTE_DIM(internals->active_slaves));
  	internals->active_slave_count = active_count;
  
@@ -44,10 +45,10 @@
  		if (internals->mode == BONDING_MODE_8023AD) {
  			bond_mode_8023ad_start(eth_dev);
 diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
-index f65db4410e..b0d191d132 100644
+index 5ea1bf99ac..409bcb5d72 100644
 --- a/drivers/net/bonding/rte_eth_bond_pmd.c
 +++ b/drivers/net/bonding/rte_eth_bond_pmd.c
-@@ -84,7 +84,7 @@ bond_ethdev_rx_burst(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
+@@ -111,7 +111,7 @@ bond_ethdev_rx_burst(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
  			active_slave = 0;
  	}
  
@@ -56,7 +57,7 @@
  		internals->active_slave = 0;
  	return num_rx_total;
  }
-@@ -288,7 +288,7 @@ bond_ethdev_rx_burst_8023ad_fast_queue(void *queue, struct rte_mbuf **bufs,
+@@ -315,7 +315,7 @@ bond_ethdev_rx_burst_8023ad_fast_queue(void *queue, struct rte_mbuf **bufs,
  			active_slave = 0;
  	}
  
@@ -65,7 +66,7 @@
  		internals->active_slave = 0;
  
  	return num_rx_total;
-@@ -474,7 +474,7 @@ bond_ethdev_rx_burst_8023ad(void *queue, struct rte_mbuf **bufs,
+@@ -494,7 +494,7 @@ bond_ethdev_rx_burst_8023ad(void *queue, struct rte_mbuf **bufs,
  			idx = 0;
  	}
  

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

* [dpdk-stable] patch 'mk: fix build of shared library with libbsd' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (10 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/bonding: fix reset active slave' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/bnx2x: fix segfaults due to stale interrupt status' " Yongseok Koh
                   ` (94 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 39d07d7200b3c829cf50e96b508e0e77d8868f6a Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas@monjalon.net>
Date: Tue, 12 Feb 2019 23:07:05 +0100
Subject: [PATCH] mk: fix build of shared library with libbsd

[ upstream commit fdb3798d6f870f79d5fa40b2c3425e8285dd4e44 ]

When building DPDK with "make" and options
	CONFIG_RTE_USE_LIBBSD=y
and
	CONFIG_RTE_BUILD_SHARED_LIB=y
libbsd was not linked, resulting in compilation errors:
	undefined reference to `strlcpy'

The link option -lbsd is added in a common place for both
Linux apps and libs.
It is used in app linkage via EXECENV_LDLIBS,
and in lib linkage via the added variable EXECENV_LDLIBS-y.

Fixes: 5364de644a4b ("eal: support strlcpy function")

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 mk/exec-env/linuxapp/rte.vars.mk | 6 ++++++
 mk/rte.app.mk                    | 3 ---
 mk/rte.lib.mk                    | 2 ++
 3 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/mk/exec-env/linuxapp/rte.vars.mk b/mk/exec-env/linuxapp/rte.vars.mk
index 9a7169996d..f6e247a5ab 100644
--- a/mk/exec-env/linuxapp/rte.vars.mk
+++ b/mk/exec-env/linuxapp/rte.vars.mk
@@ -52,6 +52,8 @@ ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
 EXECENV_LDLIBS += -lgcc_s
 endif
 
+EXECENV_LDLIBS-$(CONFIG_RTE_USE_LIBBSD) += -lbsd
+
 # force applications to link with gcc/icc instead of using ld
 LINK_USING_CC := 1
 
@@ -60,4 +62,8 @@ EXECENV_LDFLAGS += -export-dynamic
 # Add library to the group to resolve symbols
 EXECENV_LDLIBS  += -ldl
 
+# EXECENV_LDLIBS-y applies to lib.so and app linking
+# while EXECENV_LDLIBS applies only to app linking.
+EXECENV_LDLIBS += $(EXECENV_LDLIBS-y)
+
 export EXECENV_CFLAGS EXECENV_LDFLAGS EXECENV_ASFLAGS EXECENV_LDLIBS
diff --git a/mk/rte.app.mk b/mk/rte.app.mk
index 98ab58de07..6a6a7452e2 100644
--- a/mk/rte.app.mk
+++ b/mk/rte.app.mk
@@ -218,9 +218,6 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_EAL)            += -lrt
 ifeq ($(CONFIG_RTE_EXEC_ENV_LINUXAPP)$(CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES),yy)
 _LDLIBS-$(CONFIG_RTE_LIBRTE_EAL)            += -lnuma
 endif
-ifeq ($(CONFIG_RTE_EXEC_ENV_LINUXAPP)$(CONFIG_RTE_USE_LIBBSD),yy)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_EAL)            += -lbsd
-endif
 _LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED)          += -lm
 _LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED)          += -lrt
 _LDLIBS-$(CONFIG_RTE_LIBRTE_MEMBER)         += -lm
diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
index d0979a528b..c7653a3126 100644
--- a/mk/rte.lib.mk
+++ b/mk/rte.lib.mk
@@ -63,6 +63,8 @@ PREINSTALL = $(SYMLINK-FILES-y)
 _INSTALL = $(INSTALL-FILES-y) $(RTE_OUTPUT)/lib/$(LIB)
 _CLEAN = doclean
 
+LDLIBS += $(EXECENV_LDLIBS-y)
+
 .PHONY: all
 all: install
 
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:07.225387632 -0700
+++ 0013-mk-fix-build-of-shared-library-with-libbsd.patch	2019-07-22 17:55:05.817475000 -0700
@@ -1,8 +1,10 @@
-From fdb3798d6f870f79d5fa40b2c3425e8285dd4e44 Mon Sep 17 00:00:00 2001
+From 39d07d7200b3c829cf50e96b508e0e77d8868f6a Mon Sep 17 00:00:00 2001
 From: Thomas Monjalon <thomas@monjalon.net>
 Date: Tue, 12 Feb 2019 23:07:05 +0100
 Subject: [PATCH] mk: fix build of shared library with libbsd
 
+[ upstream commit fdb3798d6f870f79d5fa40b2c3425e8285dd4e44 ]
+
 When building DPDK with "make" and options
 	CONFIG_RTE_USE_LIBBSD=y
 and
@@ -16,7 +18,6 @@
 and in lib linkage via the added variable EXECENV_LDLIBS-y.
 
 Fixes: 5364de644a4b ("eal: support strlcpy function")
-Cc: stable@dpdk.org
 
 Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
 ---
@@ -26,10 +27,10 @@
  3 files changed, 8 insertions(+), 3 deletions(-)
 
 diff --git a/mk/exec-env/linuxapp/rte.vars.mk b/mk/exec-env/linuxapp/rte.vars.mk
-index 3129edc8c0..57ee82150b 100644
+index 9a7169996d..f6e247a5ab 100644
 --- a/mk/exec-env/linuxapp/rte.vars.mk
 +++ b/mk/exec-env/linuxapp/rte.vars.mk
-@@ -24,6 +24,8 @@ ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
+@@ -52,6 +52,8 @@ ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
  EXECENV_LDLIBS += -lgcc_s
  endif
  
@@ -38,7 +39,7 @@
  # force applications to link with gcc/icc instead of using ld
  LINK_USING_CC := 1
  
-@@ -32,4 +34,8 @@ EXECENV_LDFLAGS += -export-dynamic
+@@ -60,4 +62,8 @@ EXECENV_LDFLAGS += -export-dynamic
  # Add library to the group to resolve symbols
  EXECENV_LDLIBS  += -ldl
  
@@ -48,10 +49,10 @@
 +
  export EXECENV_CFLAGS EXECENV_LDFLAGS EXECENV_ASFLAGS EXECENV_LDLIBS
 diff --git a/mk/rte.app.mk b/mk/rte.app.mk
-index 8a4f0f4e50..d0ab942d5a 100644
+index 98ab58de07..6a6a7452e2 100644
 --- a/mk/rte.app.mk
 +++ b/mk/rte.app.mk
-@@ -309,9 +309,6 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_EAL)            += -lrt
+@@ -218,9 +218,6 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_EAL)            += -lrt
  ifeq ($(CONFIG_RTE_EXEC_ENV_LINUXAPP)$(CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES),yy)
  _LDLIBS-$(CONFIG_RTE_LIBRTE_EAL)            += -lnuma
  endif
@@ -62,10 +63,10 @@
  _LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED)          += -lrt
  _LDLIBS-$(CONFIG_RTE_LIBRTE_MEMBER)         += -lm
 diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
-index c696a21747..4df8849a08 100644
+index d0979a528b..c7653a3126 100644
 --- a/mk/rte.lib.mk
 +++ b/mk/rte.lib.mk
-@@ -35,6 +35,8 @@ PREINSTALL = $(SYMLINK-FILES-y)
+@@ -63,6 +63,8 @@ PREINSTALL = $(SYMLINK-FILES-y)
  _INSTALL = $(INSTALL-FILES-y) $(RTE_OUTPUT)/lib/$(LIB)
  _CLEAN = doclean
  

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

* [dpdk-stable] patch 'net/bnx2x: fix segfaults due to stale interrupt status' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (11 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'mk: fix build of shared library with libbsd' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'doc: remove reference to rte.doc.mk in programmers guide' " Yongseok Koh
                   ` (93 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Shahed Shaikh; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From fce7da402eb64d51bf747daef7c033d704249535 Mon Sep 17 00:00:00 2001
From: Shahed Shaikh <shshaikh@marvell.com>
Date: Thu, 21 Feb 2019 11:24:44 -0800
Subject: [PATCH] net/bnx2x: fix segfaults due to stale interrupt status

[ upstream commit 797ed9916ac73efc8f3d0b1a9a354d50948566c9 ]

Previous ungraceful exit may leave behind un-acked stale
interrupts for slowpath and fastpath.

Interrupt status polling function is started before FLR is
initiated, so we don't have a real way to protect this polling
function invoking an interrupt handler caused due to stale
interrupt status from previous ungraceful exit.

So, check uninitialized status block variables in interrupt
handling path which may lead to segfault.

Fixes: 540a211084a7 ("bnx2x: driver core")

Signed-off-by: Shahed Shaikh <shshaikh@marvell.com>
---
 drivers/net/bnx2x/bnx2x.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c
index b51a38d22e..15bc0d67c3 100644
--- a/drivers/net/bnx2x/bnx2x.c
+++ b/drivers/net/bnx2x/bnx2x.c
@@ -4207,6 +4207,9 @@ static uint16_t bnx2x_update_dsb_idx(struct bnx2x_softc *sc)
 	struct host_sp_status_block *def_sb = sc->def_sb;
 	uint16_t rc = 0;
 
+	if (!def_sb)
+		return 0;
+
 	mb();			/* status block is written to by the chip */
 
 	if (sc->def_att_idx != def_sb->atten_status_block.attn_bits_index) {
@@ -4531,6 +4534,10 @@ static void bnx2x_handle_fp_tq(struct bnx2x_fastpath *fp, int scan_fp)
 	struct bnx2x_softc *sc = fp->sc;
 	uint8_t more_rx = FALSE;
 
+	/* Make sure FP is initialized */
+	if (!fp->sb_running_index)
+		return;
+
 	PMD_DEBUG_PERIODIC_LOG(DEBUG, sc,
 			       "---> FP TASK QUEUE (%d) <--", fp->index);
 
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:07.279401690 -0700
+++ 0014-net-bnx2x-fix-segfaults-due-to-stale-interrupt-statu.patch	2019-07-22 17:55:05.835468000 -0700
@@ -1,8 +1,10 @@
-From 797ed9916ac73efc8f3d0b1a9a354d50948566c9 Mon Sep 17 00:00:00 2001
+From fce7da402eb64d51bf747daef7c033d704249535 Mon Sep 17 00:00:00 2001
 From: Shahed Shaikh <shshaikh@marvell.com>
 Date: Thu, 21 Feb 2019 11:24:44 -0800
 Subject: [PATCH] net/bnx2x: fix segfaults due to stale interrupt status
 
+[ upstream commit 797ed9916ac73efc8f3d0b1a9a354d50948566c9 ]
+
 Previous ungraceful exit may leave behind un-acked stale
 interrupts for slowpath and fastpath.
 
@@ -15,7 +17,6 @@
 handling path which may lead to segfault.
 
 Fixes: 540a211084a7 ("bnx2x: driver core")
-Cc: stable@dpdk.org
 
 Signed-off-by: Shahed Shaikh <shshaikh@marvell.com>
 ---
@@ -23,10 +24,10 @@
  1 file changed, 7 insertions(+)
 
 diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c
-index 4c775c1639..26b3828e89 100644
+index b51a38d22e..15bc0d67c3 100644
 --- a/drivers/net/bnx2x/bnx2x.c
 +++ b/drivers/net/bnx2x/bnx2x.c
-@@ -4201,6 +4201,9 @@ static uint16_t bnx2x_update_dsb_idx(struct bnx2x_softc *sc)
+@@ -4207,6 +4207,9 @@ static uint16_t bnx2x_update_dsb_idx(struct bnx2x_softc *sc)
  	struct host_sp_status_block *def_sb = sc->def_sb;
  	uint16_t rc = 0;
  
@@ -36,7 +37,7 @@
  	mb();			/* status block is written to by the chip */
  
  	if (sc->def_att_idx != def_sb->atten_status_block.attn_bits_index) {
-@@ -4525,6 +4528,10 @@ static void bnx2x_handle_fp_tq(struct bnx2x_fastpath *fp, int scan_fp)
+@@ -4531,6 +4534,10 @@ static void bnx2x_handle_fp_tq(struct bnx2x_fastpath *fp, int scan_fp)
  	struct bnx2x_softc *sc = fp->sc;
  	uint8_t more_rx = FALSE;
  

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

* [dpdk-stable] patch 'doc: remove reference to rte.doc.mk in programmers guide' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (12 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/bnx2x: fix segfaults due to stale interrupt status' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'examples/ethtool: fix two typos' " Yongseok Koh
                   ` (92 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Rami Rosen; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 0fdbb8966a1a16dc395bdd8218e7795b7423fe22 Mon Sep 17 00:00:00 2001
From: Rami Rosen <ramirose@gmail.com>
Date: Mon, 25 Feb 2019 17:37:03 +0200
Subject: [PATCH] doc: remove reference to rte.doc.mk in programmers guide

[ upstream commit f959f1148a7605cfad26bb9a50bd0266011dd929 ]

This patch removes the reference to rte.doc.mk in
DPDK programmers guide.

Fixes: ee801f6cc7b8 ("mk: clean dead doc rules")

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 doc/guides/prog_guide/dev_kit_build_system.rst | 2 --
 1 file changed, 2 deletions(-)

diff --git a/doc/guides/prog_guide/dev_kit_build_system.rst b/doc/guides/prog_guide/dev_kit_build_system.rst
index ad032c5f96..d97dbecd96 100644
--- a/doc/guides/prog_guide/dev_kit_build_system.rst
+++ b/doc/guides/prog_guide/dev_kit_build_system.rst
@@ -243,8 +243,6 @@ Objects
 Misc
 ^^^^
 
-*   rte.doc.mk: Documentation in the development kit framework
-
 *   rte.gnuconfigure.mk: Build an application that is configure-based.
 
 *   rte.subdir.mk: Build several directories in the development kit framework.
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:07.339980889 -0700
+++ 0015-doc-remove-reference-to-rte.doc.mk-in-programmers-gu.patch	2019-07-22 17:55:05.841468000 -0700
@@ -1,13 +1,14 @@
-From f959f1148a7605cfad26bb9a50bd0266011dd929 Mon Sep 17 00:00:00 2001
+From 0fdbb8966a1a16dc395bdd8218e7795b7423fe22 Mon Sep 17 00:00:00 2001
 From: Rami Rosen <ramirose@gmail.com>
 Date: Mon, 25 Feb 2019 17:37:03 +0200
 Subject: [PATCH] doc: remove reference to rte.doc.mk in programmers guide
 
+[ upstream commit f959f1148a7605cfad26bb9a50bd0266011dd929 ]
+
 This patch removes the reference to rte.doc.mk in
 DPDK programmers guide.
 
 Fixes: ee801f6cc7b8 ("mk: clean dead doc rules")
-Cc: stable@dpdk.org
 
 Signed-off-by: Rami Rosen <ramirose@gmail.com>
 Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
@@ -16,10 +17,10 @@
  1 file changed, 2 deletions(-)
 
 diff --git a/doc/guides/prog_guide/dev_kit_build_system.rst b/doc/guides/prog_guide/dev_kit_build_system.rst
-index 855b5da53b..8cb63c9a09 100644
+index ad032c5f96..d97dbecd96 100644
 --- a/doc/guides/prog_guide/dev_kit_build_system.rst
 +++ b/doc/guides/prog_guide/dev_kit_build_system.rst
-@@ -173,8 +173,6 @@ Objects
+@@ -243,8 +243,6 @@ Objects
  Misc
  ^^^^
  

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

* [dpdk-stable] patch 'examples/ethtool: fix two typos' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (13 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'doc: remove reference to rte.doc.mk in programmers guide' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'doc: fix link in Linux getting started guide' " Yongseok Koh
                   ` (91 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Rami Rosen; +Cc: Remy Horton, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From cb1b249d678f27620fb69ccba0f910541b2350d6 Mon Sep 17 00:00:00 2001
From: Rami Rosen <ramirose@gmail.com>
Date: Mon, 25 Feb 2019 21:21:37 +0200
Subject: [PATCH] examples/ethtool: fix two typos

[ upstream commit ea43e995799aaa7b15914c3e8237e932a854d6b6 ]

This patch fixes 2 typos in examples/ethtool:

There is no such thing as ethtool_ops::get_driverinfo
It should be get_drvinfo:
see include/linux/ethtool.h in the kernel tree.

rte_net_change_mtu should be ndo_change_mtu:
see include/linux/netdevice.h in the kernel tree.

Fixes: bda68ab9d1e7 ("examples/ethtool: add user-space ethtool sample application")

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Acked-by: Remy Horton <remy.horton@intel.com>
---
 examples/ethtool/lib/rte_ethtool.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/examples/ethtool/lib/rte_ethtool.h b/examples/ethtool/lib/rte_ethtool.h
index 1cd8f4d2a3..b58fd558c0 100644
--- a/examples/ethtool/lib/rte_ethtool.h
+++ b/examples/ethtool/lib/rte_ethtool.h
@@ -38,7 +38,7 @@
  * This new interface is designed to provide a user-space shim layer for
  * Ethtool and Netdevice op API.
  *
- * rte_ethtool_get_driver:          ethtool_ops::get_driverinfo
+ * rte_ethtool_get_driver:          ethtool_ops::get_drvinfo
  * rte_ethtool_get_link:            ethtool_ops::get_link
  * rte_ethtool_get_regs_len:        ethtool_ops::get_regs_len
  * rte_ethtool_get_regs:            ethtool_ops::get_regs
@@ -52,7 +52,7 @@
  * rte_ethtool_net_stop:            net_device_ops::ndo_stop
  * rte_ethtool_net_set_mac_addr:    net_device_ops::ndo_set_mac_address
  * rte_ethtool_net_validate_addr:   net_device_ops::ndo_validate_addr
- * rte_ethtool_net_change_mtu:      net_device_ops::rte_net_change_mtu
+ * rte_ethtool_net_change_mtu:      net_device_ops::ndo_change_mtu
  * rte_ethtool_net_get_stats64:     net_device_ops::ndo_get_stats64
  * rte_ethtool_net_vlan_rx_add_vid  net_device_ops::ndo_vlan_rx_add_vid
  * rte_ethtool_net_vlan_rx_kill_vid net_device_ops::ndo_vlan_rx_kill_vid
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:07.389926932 -0700
+++ 0016-examples-ethtool-fix-two-typos.patch	2019-07-22 17:55:05.846468000 -0700
@@ -1,8 +1,10 @@
-From ea43e995799aaa7b15914c3e8237e932a854d6b6 Mon Sep 17 00:00:00 2001
+From cb1b249d678f27620fb69ccba0f910541b2350d6 Mon Sep 17 00:00:00 2001
 From: Rami Rosen <ramirose@gmail.com>
 Date: Mon, 25 Feb 2019 21:21:37 +0200
 Subject: [PATCH] examples/ethtool: fix two typos
 
+[ upstream commit ea43e995799aaa7b15914c3e8237e932a854d6b6 ]
+
 This patch fixes 2 typos in examples/ethtool:
 
 There is no such thing as ethtool_ops::get_driverinfo
@@ -13,7 +15,6 @@
 see include/linux/netdevice.h in the kernel tree.
 
 Fixes: bda68ab9d1e7 ("examples/ethtool: add user-space ethtool sample application")
-Cc: stable@dpdk.org
 
 Signed-off-by: Rami Rosen <ramirose@gmail.com>
 Acked-by: Remy Horton <remy.horton@intel.com>
@@ -22,10 +23,10 @@
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/examples/ethtool/lib/rte_ethtool.h b/examples/ethtool/lib/rte_ethtool.h
-index 43adc97a3d..31cd5ae4ef 100644
+index 1cd8f4d2a3..b58fd558c0 100644
 --- a/examples/ethtool/lib/rte_ethtool.h
 +++ b/examples/ethtool/lib/rte_ethtool.h
-@@ -9,7 +9,7 @@
+@@ -38,7 +38,7 @@
   * This new interface is designed to provide a user-space shim layer for
   * Ethtool and Netdevice op API.
   *
@@ -34,7 +35,7 @@
   * rte_ethtool_get_link:            ethtool_ops::get_link
   * rte_ethtool_get_regs_len:        ethtool_ops::get_regs_len
   * rte_ethtool_get_regs:            ethtool_ops::get_regs
-@@ -23,7 +23,7 @@
+@@ -52,7 +52,7 @@
   * rte_ethtool_net_stop:            net_device_ops::ndo_stop
   * rte_ethtool_net_set_mac_addr:    net_device_ops::ndo_set_mac_address
   * rte_ethtool_net_validate_addr:   net_device_ops::ndo_validate_addr

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

* [dpdk-stable] patch 'doc: fix link in Linux getting started guide' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (14 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'examples/ethtool: fix two typos' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'mk: fix AVX512 disabled warning on non x86' " Yongseok Koh
                   ` (90 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Rami Rosen; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 062abdd5474e6b70653f403482d31b3dd1e6e994 Mon Sep 17 00:00:00 2001
From: Rami Rosen <ramirose@gmail.com>
Date: Fri, 1 Mar 2019 13:50:13 +0200
Subject: [PATCH] doc: fix link in Linux getting started guide

[ upstream commit e91ae7e0381e8deff3fc11df80abbe9ce2d3f9c4 ]

This patch fixes a wrong link in gsg. The
Documentation/kernel-parameters.txt file from the kernel
source tree was moved quite a time ago to
Documentation/admin-guide/kernel-parameters.txt.

Fixes: 1ab07743b21b ("doc: getting started guide for linux")

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 doc/guides/linux_gsg/sys_reqs.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst
index 7a91b31c79..4cda392915 100644
--- a/doc/guides/linux_gsg/sys_reqs.rst
+++ b/doc/guides/linux_gsg/sys_reqs.rst
@@ -192,7 +192,7 @@ In the case of a dual-socket NUMA system,
 the number of hugepages reserved at boot time is generally divided equally between the two sockets
 (on the assumption that sufficient memory is present on both sockets).
 
-See the Documentation/kernel-parameters.txt file in your Linux source tree for further details of these and other kernel options.
+See the Documentation/admin-guide/kernel-parameters.txt file in your Linux source tree for further details of these and other kernel options.
 
 **Alternative:**
 
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:07.441754701 -0700
+++ 0017-doc-fix-link-in-Linux-getting-started-guide.patch	2019-07-22 17:55:05.850467000 -0700
@@ -1,15 +1,16 @@
-From e91ae7e0381e8deff3fc11df80abbe9ce2d3f9c4 Mon Sep 17 00:00:00 2001
+From 062abdd5474e6b70653f403482d31b3dd1e6e994 Mon Sep 17 00:00:00 2001
 From: Rami Rosen <ramirose@gmail.com>
 Date: Fri, 1 Mar 2019 13:50:13 +0200
 Subject: [PATCH] doc: fix link in Linux getting started guide
 
+[ upstream commit e91ae7e0381e8deff3fc11df80abbe9ce2d3f9c4 ]
+
 This patch fixes a wrong link in gsg. The
 Documentation/kernel-parameters.txt file from the kernel
 source tree was moved quite a time ago to
 Documentation/admin-guide/kernel-parameters.txt.
 
 Fixes: 1ab07743b21b ("doc: getting started guide for linux")
-Cc: stable@dpdk.org
 
 Signed-off-by: Rami Rosen <ramirose@gmail.com>
 Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
@@ -18,10 +19,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst
-index d0cb66f6bb..10b01e3187 100644
+index 7a91b31c79..4cda392915 100644
 --- a/doc/guides/linux_gsg/sys_reqs.rst
 +++ b/doc/guides/linux_gsg/sys_reqs.rst
-@@ -178,7 +178,7 @@ In the case of a dual-socket NUMA system,
+@@ -192,7 +192,7 @@ In the case of a dual-socket NUMA system,
  the number of hugepages reserved at boot time is generally divided equally between the two sockets
  (on the assumption that sufficient memory is present on both sockets).
  

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

* [dpdk-stable] patch 'mk: fix AVX512 disabled warning on non x86' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (15 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'doc: fix link in Linux getting started guide' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'bus/vdev: fix debug message on probing' " Yongseok Koh
                   ` (89 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Jerin Jacob; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 39e45202f3303b260246702994c7601602b75158 Mon Sep 17 00:00:00 2001
From: Jerin Jacob <jerinj@marvell.com>
Date: Sun, 24 Feb 2019 18:27:10 +0000
Subject: [PATCH] mk: fix AVX512 disabled warning on non x86

[ upstream commit 0c3b8a2c7d7d8ea713d252127059d1bd08eb0f5e ]

AVX512 is a x86 specific feature, So, enable AVX512
warning only on x86.

Fixes: a32ca9a4ebc1 ("mk: fix scope of disabling AVX512F support")

Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 mk/toolchain/gcc/rte.toolchain-compat.mk | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/mk/toolchain/gcc/rte.toolchain-compat.mk b/mk/toolchain/gcc/rte.toolchain-compat.mk
index ad3b68e63c..1828e7947b 100644
--- a/mk/toolchain/gcc/rte.toolchain-compat.mk
+++ b/mk/toolchain/gcc/rte.toolchain-compat.mk
@@ -49,6 +49,7 @@ HOST_GCC_VERSION = $(HOST_GCC_MAJOR)$(HOST_GCC_MINOR)
 
 LD_VERSION = $(shell $(LD) -v)
 # disable AVX512F support for GCC & binutils 2.30 as a workaround for Bug 97
+ifeq ($(CONFIG_RTE_ARCH_X86), y)
 ifneq ($(filter 2.30%,$(LD_VERSION)),)
 FORCE_DISABLE_AVX512 := y
 # print warning only once for librte_eal
@@ -56,6 +57,7 @@ ifneq ($(filter %librte_eal,$(CURDIR)),)
 $(warning AVX512 support disabled because of ld 2.30. See Bug 97)
 endif
 endif
+endif
 
 # if GCC is older than 4.x
 ifeq ($(shell test $(GCC_VERSION) -lt 40 && echo 1), 1)
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:07.491618871 -0700
+++ 0018-mk-fix-AVX512-disabled-warning-on-non-x86.patch	2019-07-22 17:55:05.854470000 -0700
@@ -1,13 +1,14 @@
-From 0c3b8a2c7d7d8ea713d252127059d1bd08eb0f5e Mon Sep 17 00:00:00 2001
+From 39e45202f3303b260246702994c7601602b75158 Mon Sep 17 00:00:00 2001
 From: Jerin Jacob <jerinj@marvell.com>
 Date: Sun, 24 Feb 2019 18:27:10 +0000
 Subject: [PATCH] mk: fix AVX512 disabled warning on non x86
 
+[ upstream commit 0c3b8a2c7d7d8ea713d252127059d1bd08eb0f5e ]
+
 AVX512 is a x86 specific feature, So, enable AVX512
 warning only on x86.
 
 Fixes: a32ca9a4ebc1 ("mk: fix scope of disabling AVX512F support")
-Cc: stable@dpdk.org
 
 Signed-off-by: Jerin Jacob <jerinj@marvell.com>
 Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
@@ -16,10 +17,10 @@
  1 file changed, 2 insertions(+)
 
 diff --git a/mk/toolchain/gcc/rte.toolchain-compat.mk b/mk/toolchain/gcc/rte.toolchain-compat.mk
-index dbddc986e6..df71e4a8b5 100644
+index ad3b68e63c..1828e7947b 100644
 --- a/mk/toolchain/gcc/rte.toolchain-compat.mk
 +++ b/mk/toolchain/gcc/rte.toolchain-compat.mk
-@@ -22,6 +22,7 @@ HOST_GCC_VERSION = $(HOST_GCC_MAJOR)$(HOST_GCC_MINOR)
+@@ -49,6 +49,7 @@ HOST_GCC_VERSION = $(HOST_GCC_MAJOR)$(HOST_GCC_MINOR)
  
  LD_VERSION = $(shell $(LD) -v)
  # disable AVX512F support for GCC & binutils 2.30 as a workaround for Bug 97
@@ -27,7 +28,7 @@
  ifneq ($(filter 2.30%,$(LD_VERSION)),)
  FORCE_DISABLE_AVX512 := y
  # print warning only once for librte_eal
-@@ -29,6 +30,7 @@ ifneq ($(filter %librte_eal,$(CURDIR)),)
+@@ -56,6 +57,7 @@ ifneq ($(filter %librte_eal,$(CURDIR)),)
  $(warning AVX512 support disabled because of ld 2.30. See Bug 97)
  endif
  endif

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

* [dpdk-stable] patch 'bus/vdev: fix debug message on probing' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (16 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'mk: fix AVX512 disabled warning on non x86' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'eal: fix check when retrieving current CPU affinity' " Yongseok Koh
                   ` (88 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: Rami Rosen, Andrew Rybchenko, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 1e8696459925a4655d695916cc6ab56020e87aaf Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas@monjalon.net>
Date: Thu, 21 Feb 2019 20:01:24 +0100
Subject: [PATCH] bus/vdev: fix debug message on probing

[ backported from upstream commit 4169ed6ed1c31b75f070cdccf3ee82561d4b79ce ]

The log was printing the device name two times,
first one being supposed to be the driver name.
As we don't know yet the driver name, the log is simplified.

Fixes: 9bf4901d1a11 ("bus/vdev: remove probe with driver name option")

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Reviewed-by: Rami Rosen <ramirose@gmail.com>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
 drivers/bus/vdev/vdev.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/bus/vdev/vdev.c b/drivers/bus/vdev/vdev.c
index a0ffb534e8..18496e1fe5 100644
--- a/drivers/bus/vdev/vdev.c
+++ b/drivers/bus/vdev/vdev.c
@@ -105,9 +105,7 @@ vdev_probe_all_drivers(struct rte_vdev_device *dev)
 	int ret;
 
 	name = rte_vdev_device_name(dev);
-
-	VDEV_LOG(DEBUG, "Search driver %s to probe device %s\n", name,
-		rte_vdev_device_name(dev));
+	VDEV_LOG(DEBUG, "Search driver to probe device %s\n", name);
 
 	if (vdev_parse(name, &driver))
 		return -1;
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:07.543363633 -0700
+++ 0019-bus-vdev-fix-debug-message-on-probing.patch	2019-07-22 17:55:05.859470000 -0700
@@ -1,14 +1,15 @@
-From 4169ed6ed1c31b75f070cdccf3ee82561d4b79ce Mon Sep 17 00:00:00 2001
+From 1e8696459925a4655d695916cc6ab56020e87aaf Mon Sep 17 00:00:00 2001
 From: Thomas Monjalon <thomas@monjalon.net>
 Date: Thu, 21 Feb 2019 20:01:24 +0100
 Subject: [PATCH] bus/vdev: fix debug message on probing
 
+[ backported from upstream commit 4169ed6ed1c31b75f070cdccf3ee82561d4b79ce ]
+
 The log was printing the device name two times,
 first one being supposed to be the driver name.
 As we don't know yet the driver name, the log is simplified.
 
 Fixes: 9bf4901d1a11 ("bus/vdev: remove probe with driver name option")
-Cc: stable@dpdk.org
 
 Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
 Reviewed-by: Rami Rosen <ramirose@gmail.com>
@@ -18,17 +19,17 @@
  1 file changed, 1 insertion(+), 3 deletions(-)
 
 diff --git a/drivers/bus/vdev/vdev.c b/drivers/bus/vdev/vdev.c
-index 2c03ca4185..7225411791 100644
+index a0ffb534e8..18496e1fe5 100644
 --- a/drivers/bus/vdev/vdev.c
 +++ b/drivers/bus/vdev/vdev.c
-@@ -144,9 +144,7 @@ vdev_probe_all_drivers(struct rte_vdev_device *dev)
+@@ -105,9 +105,7 @@ vdev_probe_all_drivers(struct rte_vdev_device *dev)
  	int ret;
  
  	name = rte_vdev_device_name(dev);
 -
--	VDEV_LOG(DEBUG, "Search driver %s to probe device %s", name,
+-	VDEV_LOG(DEBUG, "Search driver %s to probe device %s\n", name,
 -		rte_vdev_device_name(dev));
-+	VDEV_LOG(DEBUG, "Search driver to probe device %s", name);
++	VDEV_LOG(DEBUG, "Search driver to probe device %s\n", name);
  
  	if (vdev_parse(name, &driver))
  		return -1;

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

* [dpdk-stable] patch 'eal: fix check when retrieving current CPU affinity' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (17 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'bus/vdev: fix debug message on probing' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'eal: remove dead code in core list parsing' " Yongseok Koh
                   ` (87 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: David Marchand; +Cc: Anatoly Burakov, Rami Rosen, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 948d9c42f88cdad34edef3feab95b698b53ae55b Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Tue, 19 Feb 2019 21:38:13 +0100
Subject: [PATCH] eal: fix check when retrieving current CPU affinity

[ upstream commit b206376438f1cb2ccd389f3be4e6b2e459c99ea9 ]

pthread_getaffinity_np returns a >0 value when failing.

This is mainly for the sake of correctness.
The only case where it could fail is when passing an incorrect cpuset
size wrt to the kernel.

Fixes: 2eba8d21f3c9 ("eal: restrict cores auto detection")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>
Reviewed-by: Rami Rosen <ramirose@gmail.com>
---
 lib/librte_eal/common/eal_common_options.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index a3d4d346b5..535c11f821 100644
--- a/lib/librte_eal/common/eal_common_options.c
+++ b/lib/librte_eal/common/eal_common_options.c
@@ -1183,10 +1183,9 @@ eal_auto_detect_cores(struct rte_config *cfg)
 	unsigned int lcore_id;
 	unsigned int removed = 0;
 	rte_cpuset_t affinity_set;
-	pthread_t tid = pthread_self();
 
-	if (pthread_getaffinity_np(tid, sizeof(rte_cpuset_t),
-				&affinity_set) < 0)
+	if (pthread_getaffinity_np(pthread_self(), sizeof(rte_cpuset_t),
+				&affinity_set))
 		CPU_ZERO(&affinity_set);
 
 	for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id++) {
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:07.594273297 -0700
+++ 0020-eal-fix-check-when-retrieving-current-CPU-affinity.patch	2019-07-22 17:55:05.865468000 -0700
@@ -1,8 +1,10 @@
-From b206376438f1cb2ccd389f3be4e6b2e459c99ea9 Mon Sep 17 00:00:00 2001
+From 948d9c42f88cdad34edef3feab95b698b53ae55b Mon Sep 17 00:00:00 2001
 From: David Marchand <david.marchand@redhat.com>
 Date: Tue, 19 Feb 2019 21:38:13 +0100
 Subject: [PATCH] eal: fix check when retrieving current CPU affinity
 
+[ upstream commit b206376438f1cb2ccd389f3be4e6b2e459c99ea9 ]
+
 pthread_getaffinity_np returns a >0 value when failing.
 
 This is mainly for the sake of correctness.
@@ -10,7 +12,6 @@
 size wrt to the kernel.
 
 Fixes: 2eba8d21f3c9 ("eal: restrict cores auto detection")
-Cc: stable@dpdk.org
 
 Signed-off-by: David Marchand <david.marchand@redhat.com>
 Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>
@@ -20,10 +21,10 @@
  1 file changed, 2 insertions(+), 3 deletions(-)
 
 diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
-index 6c96f459c7..1f45f82f35 100644
+index a3d4d346b5..535c11f821 100644
 --- a/lib/librte_eal/common/eal_common_options.c
 +++ b/lib/librte_eal/common/eal_common_options.c
-@@ -1343,10 +1343,9 @@ eal_auto_detect_cores(struct rte_config *cfg)
+@@ -1183,10 +1183,9 @@ eal_auto_detect_cores(struct rte_config *cfg)
  	unsigned int lcore_id;
  	unsigned int removed = 0;
  	rte_cpuset_t affinity_set;

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

* [dpdk-stable] patch 'eal: remove dead code in core list parsing' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (18 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'eal: fix check when retrieving current CPU affinity' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/enic: fix flow director SCTP matching' " Yongseok Koh
                   ` (86 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: David Marchand; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 9a2c71e8f02e2e1512c81cd002d1bdf1a21e3ccb Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Wed, 13 Feb 2019 21:06:58 +0100
Subject: [PATCH] eal: remove dead code in core list parsing

[ upstream commit 33df941d79ad7966b82d882ad277e625f6c3a017 ]

We don't need to look for trailing spaces.
This is a copy/paste block from eal_parse_coremask().
Remove it and the associated comment.

Fixes: d888cb8b9613 ("eal: add core list input format")

Signed-off-by: David Marchand <david.marchand@redhat.com>
---
 lib/librte_eal/common/eal_common_options.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index 535c11f821..d5435ef052 100644
--- a/lib/librte_eal/common/eal_common_options.c
+++ b/lib/librte_eal/common/eal_common_options.c
@@ -529,20 +529,17 @@ static int
 eal_parse_corelist(const char *corelist)
 {
 	struct rte_config *cfg = rte_eal_get_configuration();
-	int i, idx = 0;
 	unsigned count = 0;
 	char *end = NULL;
 	int min, max;
+	int idx;
 
 	if (corelist == NULL)
 		return -1;
 
-	/* Remove all blank characters ahead and after */
+	/* Remove all blank characters ahead */
 	while (isblank(*corelist))
 		corelist++;
-	i = strlen(corelist);
-	while ((i > 0) && isblank(corelist[i - 1]))
-		i--;
 
 	/* Reset config */
 	for (idx = 0; idx < RTE_MAX_LCORE; idx++) {
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:07.646781998 -0700
+++ 0021-eal-remove-dead-code-in-core-list-parsing.patch	2019-07-22 17:55:05.871471000 -0700
@@ -1,14 +1,15 @@
-From 33df941d79ad7966b82d882ad277e625f6c3a017 Mon Sep 17 00:00:00 2001
+From 9a2c71e8f02e2e1512c81cd002d1bdf1a21e3ccb Mon Sep 17 00:00:00 2001
 From: David Marchand <david.marchand@redhat.com>
 Date: Wed, 13 Feb 2019 21:06:58 +0100
 Subject: [PATCH] eal: remove dead code in core list parsing
 
+[ upstream commit 33df941d79ad7966b82d882ad277e625f6c3a017 ]
+
 We don't need to look for trailing spaces.
 This is a copy/paste block from eal_parse_coremask().
 Remove it and the associated comment.
 
 Fixes: d888cb8b9613 ("eal: add core list input format")
-Cc: stable@dpdk.org
 
 Signed-off-by: David Marchand <david.marchand@redhat.com>
 ---
@@ -16,10 +17,10 @@
  1 file changed, 2 insertions(+), 5 deletions(-)
 
 diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
-index 9e61ee436c..8a431457b0 100644
+index 535c11f821..d5435ef052 100644
 --- a/lib/librte_eal/common/eal_common_options.c
 +++ b/lib/librte_eal/common/eal_common_options.c
-@@ -567,10 +567,10 @@ static int
+@@ -529,20 +529,17 @@ static int
  eal_parse_corelist(const char *corelist)
  {
  	struct rte_config *cfg = rte_eal_get_configuration();
@@ -29,9 +30,6 @@
  	int min, max;
 +	int idx;
  
- 	if (eal_service_cores_parsed())
- 		RTE_LOG(WARNING, EAL,
-@@ -580,12 +580,9 @@ eal_parse_corelist(const char *corelist)
  	if (corelist == NULL)
  		return -1;
  

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

* [dpdk-stable] patch 'net/enic: fix flow director SCTP matching' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (19 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'eal: remove dead code in core list parsing' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/enic: fix SCTP match for flow API' " Yongseok Koh
                   ` (85 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Hyong Youb Kim; +Cc: John Daley, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From c6b1b6f30009928ddd521cb626e160b59eba6e1c Mon Sep 17 00:00:00 2001
From: Hyong Youb Kim <hyonkim@cisco.com>
Date: Sat, 2 Mar 2019 02:42:40 -0800
Subject: [PATCH] net/enic: fix flow director SCTP matching

[ upstream commit 4182ee7f0239563916b1f730d5a58f534769ee5e ]

The firmware filter API does not have flags indicating "match SCTP
packet". Instead, the driver needs to explicitly add an IP match and
set the protocol number (132 for SCTP) in the IP header.

The existing code (copy_fltr_v2) has two bugs.

1. It sets the protocol number (132) in the match value, but not the
mask. The mask remains 0, so the match becomes a wildcard match. The
NIC ends up matching all protocol numbers (i.e. thinks non-SCTP
packets are SCTP).

2. It modifies the input argument (rte_eth_fdir_input). The driver
tracks filters using rte_hash_{add,del}_key(input). So, addding
(RTE_ETH_FILTER_ADD) and deleting (RTE_ETH_FILTER_DELETE) must use the
same input argument for the same filter. But, overwriting the protocol
number while adding the filter breaks this assumption, and causes
delete operation to fail.

So, set the mask as well as protocol value. Do not modify the input
argument, and use const in function signatures to make the intention
clear. Also move a couple function declarations to enic_clsf.c from
enic.h as they are strictly local.

Fixes: dfbd6a9cb504 ("net/enic: extend flow director support for 1300 series")

Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
---
 drivers/net/enic/enic.h      |  8 ++------
 drivers/net/enic/enic_clsf.c | 38 ++++++++++++++++++++++++------------
 2 files changed, 28 insertions(+), 18 deletions(-)

diff --git a/drivers/net/enic/enic.h b/drivers/net/enic/enic.h
index 8bbff18c0a..d8c1dfefbc 100644
--- a/drivers/net/enic/enic.h
+++ b/drivers/net/enic/enic.h
@@ -91,8 +91,8 @@ struct enic_fdir {
 	u32 modes;
 	u32 types_mask;
 	void (*copy_fltr_fn)(struct filter_v2 *filt,
-			     struct rte_eth_fdir_input *input,
-			     struct rte_eth_fdir_masks *masks);
+			     const struct rte_eth_fdir_input *input,
+			     const struct rte_eth_fdir_masks *masks);
 };
 
 struct enic_soft_stats {
@@ -303,9 +303,5 @@ int enic_set_mtu(struct enic *enic, uint16_t new_mtu);
 int enic_link_update(struct enic *enic);
 void enic_fdir_info(struct enic *enic);
 void enic_fdir_info_get(struct enic *enic, struct rte_eth_fdir_info *stats);
-void copy_fltr_v1(struct filter_v2 *fltr, struct rte_eth_fdir_input *input,
-		  struct rte_eth_fdir_masks *masks);
-void copy_fltr_v2(struct filter_v2 *fltr, struct rte_eth_fdir_input *input,
-		  struct rte_eth_fdir_masks *masks);
 extern const struct rte_flow_ops enic_flow_ops;
 #endif /* _ENIC_H_ */
diff --git a/drivers/net/enic/enic_clsf.c b/drivers/net/enic/enic_clsf.c
index c76af0d10c..e507399099 100644
--- a/drivers/net/enic/enic_clsf.c
+++ b/drivers/net/enic/enic_clsf.c
@@ -65,6 +65,13 @@
 
 #define ENICPMD_CLSF_HASH_ENTRIES       ENICPMD_FDIR_MAX
 
+static void copy_fltr_v1(struct filter_v2 *fltr,
+		const struct rte_eth_fdir_input *input,
+		const struct rte_eth_fdir_masks *masks);
+static void copy_fltr_v2(struct filter_v2 *fltr,
+		const struct rte_eth_fdir_input *input,
+		const struct rte_eth_fdir_masks *masks);
+
 void enic_fdir_stats_get(struct enic *enic, struct rte_eth_fdir_stats *stats)
 {
 	*stats = enic->fdir.stats;
@@ -108,9 +115,9 @@ enic_set_layer(struct filter_generic_1 *gp, unsigned int flag,
 /* Copy Flow Director filter to a VIC ipv4 filter (for Cisco VICs
  * without advanced filter support.
  */
-void
-copy_fltr_v1(struct filter_v2 *fltr, struct rte_eth_fdir_input *input,
-	     __rte_unused struct rte_eth_fdir_masks *masks)
+static void
+copy_fltr_v1(struct filter_v2 *fltr, const struct rte_eth_fdir_input *input,
+	     __rte_unused const struct rte_eth_fdir_masks *masks)
 {
 	fltr->type = FILTER_IPV4_5TUPLE;
 	fltr->u.ipv4.src_addr = rte_be_to_cpu_32(
@@ -133,9 +140,9 @@ copy_fltr_v1(struct filter_v2 *fltr, struct rte_eth_fdir_input *input,
 /* Copy Flow Director filter to a VIC generic filter (requires advanced
  * filter support.
  */
-void
-copy_fltr_v2(struct filter_v2 *fltr, struct rte_eth_fdir_input *input,
-	     struct rte_eth_fdir_masks *masks)
+static void
+copy_fltr_v2(struct filter_v2 *fltr, const struct rte_eth_fdir_input *input,
+	     const struct rte_eth_fdir_masks *masks)
 {
 	struct filter_generic_1 *gp = &fltr->u.generic_1;
 	int i;
@@ -193,9 +200,11 @@ copy_fltr_v2(struct filter_v2 *fltr, struct rte_eth_fdir_input *input,
 			sctp_val.tag = input->flow.sctp4_flow.verify_tag;
 		}
 
-		/* v4 proto should be 132, override ip4_flow.proto */
-		input->flow.ip4_flow.proto = 132;
-
+		/*
+		 * Unlike UDP/TCP (FILTER_GENERIC_1_{UDP,TCP}), the firmware
+		 * has no "packet is SCTP" flag. Use flag=0 (generic L4) and
+		 * manually set proto_id=sctp below.
+		 */
 		enic_set_layer(gp, 0, FILTER_GENERIC_1_L4, &sctp_mask,
 			       &sctp_val, sizeof(struct sctp_hdr));
 	}
@@ -219,6 +228,10 @@ copy_fltr_v2(struct filter_v2 *fltr, struct rte_eth_fdir_input *input,
 		if (input->flow.ip4_flow.proto) {
 			ip4_mask.next_proto_id = masks->ipv4_mask.proto;
 			ip4_val.next_proto_id = input->flow.ip4_flow.proto;
+		} else if (input->flow_type == RTE_ETH_FLOW_NONFRAG_IPV4_SCTP) {
+			/* Explicitly match the SCTP protocol number */
+			ip4_mask.next_proto_id = 0xff;
+			ip4_val.next_proto_id = IPPROTO_SCTP;
 		}
 		if (input->flow.ip4_flow.src_ip) {
 			ip4_mask.src_addr =  masks->ipv4_mask.src_ip;
@@ -281,9 +294,6 @@ copy_fltr_v2(struct filter_v2 *fltr, struct rte_eth_fdir_input *input,
 			sctp_val.tag = input->flow.sctp6_flow.verify_tag;
 		}
 
-		/* v4 proto should be 132, override ipv6_flow.proto */
-		input->flow.ipv6_flow.proto = 132;
-
 		enic_set_layer(gp, 0, FILTER_GENERIC_1_L4, &sctp_mask,
 			       &sctp_val, sizeof(struct sctp_hdr));
 	}
@@ -299,6 +309,10 @@ copy_fltr_v2(struct filter_v2 *fltr, struct rte_eth_fdir_input *input,
 		if (input->flow.ipv6_flow.proto) {
 			ipv6_mask.proto = masks->ipv6_mask.proto;
 			ipv6_val.proto = input->flow.ipv6_flow.proto;
+		} else if (input->flow_type == RTE_ETH_FLOW_NONFRAG_IPV6_SCTP) {
+			/* See comments for IPv4 SCTP above. */
+			ipv6_mask.proto = 0xff;
+			ipv6_val.proto = IPPROTO_SCTP;
 		}
 		for (i = 0; i < 4; i++) {
 			*(uint32_t *)&ipv6_mask.src_addr[i * 4] =
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:07.697516555 -0700
+++ 0022-net-enic-fix-flow-director-SCTP-matching.patch	2019-07-22 17:55:05.878471000 -0700
@@ -1,8 +1,10 @@
-From 4182ee7f0239563916b1f730d5a58f534769ee5e Mon Sep 17 00:00:00 2001
+From c6b1b6f30009928ddd521cb626e160b59eba6e1c Mon Sep 17 00:00:00 2001
 From: Hyong Youb Kim <hyonkim@cisco.com>
 Date: Sat, 2 Mar 2019 02:42:40 -0800
 Subject: [PATCH] net/enic: fix flow director SCTP matching
 
+[ upstream commit 4182ee7f0239563916b1f730d5a58f534769ee5e ]
+
 The firmware filter API does not have flags indicating "match SCTP
 packet". Instead, the driver needs to explicitly add an IP match and
 set the protocol number (132 for SCTP) in the IP header.
@@ -27,7 +29,6 @@
 enic.h as they are strictly local.
 
 Fixes: dfbd6a9cb504 ("net/enic: extend flow director support for 1300 series")
-Cc: stable@dpdk.org
 
 Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
 Reviewed-by: John Daley <johndale@cisco.com>
@@ -37,10 +38,10 @@
  2 files changed, 28 insertions(+), 18 deletions(-)
 
 diff --git a/drivers/net/enic/enic.h b/drivers/net/enic/enic.h
-index 6c497e9a29..fa4d5590e4 100644
+index 8bbff18c0a..d8c1dfefbc 100644
 --- a/drivers/net/enic/enic.h
 +++ b/drivers/net/enic/enic.h
-@@ -76,8 +76,8 @@ struct enic_fdir {
+@@ -91,8 +91,8 @@ struct enic_fdir {
  	u32 modes;
  	u32 types_mask;
  	void (*copy_fltr_fn)(struct filter_v2 *filt,
@@ -51,8 +52,8 @@
  };
  
  struct enic_soft_stats {
-@@ -342,9 +342,5 @@ int enic_link_update(struct enic *enic);
- bool enic_use_vector_rx_handler(struct enic *enic);
+@@ -303,9 +303,5 @@ int enic_set_mtu(struct enic *enic, uint16_t new_mtu);
+ int enic_link_update(struct enic *enic);
  void enic_fdir_info(struct enic *enic);
  void enic_fdir_info_get(struct enic *enic, struct rte_eth_fdir_info *stats);
 -void copy_fltr_v1(struct filter_v2 *fltr, struct rte_eth_fdir_input *input,
@@ -62,10 +63,10 @@
  extern const struct rte_flow_ops enic_flow_ops;
  #endif /* _ENIC_H_ */
 diff --git a/drivers/net/enic/enic_clsf.c b/drivers/net/enic/enic_clsf.c
-index 9e9e548c23..48c8e62643 100644
+index c76af0d10c..e507399099 100644
 --- a/drivers/net/enic/enic_clsf.c
 +++ b/drivers/net/enic/enic_clsf.c
-@@ -36,6 +36,13 @@
+@@ -65,6 +65,13 @@
  
  #define ENICPMD_CLSF_HASH_ENTRIES       ENICPMD_FDIR_MAX
  
@@ -79,7 +80,7 @@
  void enic_fdir_stats_get(struct enic *enic, struct rte_eth_fdir_stats *stats)
  {
  	*stats = enic->fdir.stats;
-@@ -79,9 +86,9 @@ enic_set_layer(struct filter_generic_1 *gp, unsigned int flag,
+@@ -108,9 +115,9 @@ enic_set_layer(struct filter_generic_1 *gp, unsigned int flag,
  /* Copy Flow Director filter to a VIC ipv4 filter (for Cisco VICs
   * without advanced filter support.
   */
@@ -92,7 +93,7 @@
  {
  	fltr->type = FILTER_IPV4_5TUPLE;
  	fltr->u.ipv4.src_addr = rte_be_to_cpu_32(
-@@ -104,9 +111,9 @@ copy_fltr_v1(struct filter_v2 *fltr, struct rte_eth_fdir_input *input,
+@@ -133,9 +140,9 @@ copy_fltr_v1(struct filter_v2 *fltr, struct rte_eth_fdir_input *input,
  /* Copy Flow Director filter to a VIC generic filter (requires advanced
   * filter support.
   */
@@ -104,8 +105,8 @@
 +	     const struct rte_eth_fdir_masks *masks)
  {
  	struct filter_generic_1 *gp = &fltr->u.generic_1;
- 
-@@ -163,9 +170,11 @@ copy_fltr_v2(struct filter_v2 *fltr, struct rte_eth_fdir_input *input,
+ 	int i;
+@@ -193,9 +200,11 @@ copy_fltr_v2(struct filter_v2 *fltr, struct rte_eth_fdir_input *input,
  			sctp_val.tag = input->flow.sctp4_flow.verify_tag;
  		}
  
@@ -120,7 +121,7 @@
  		enic_set_layer(gp, 0, FILTER_GENERIC_1_L4, &sctp_mask,
  			       &sctp_val, sizeof(struct sctp_hdr));
  	}
-@@ -189,6 +198,10 @@ copy_fltr_v2(struct filter_v2 *fltr, struct rte_eth_fdir_input *input,
+@@ -219,6 +228,10 @@ copy_fltr_v2(struct filter_v2 *fltr, struct rte_eth_fdir_input *input,
  		if (input->flow.ip4_flow.proto) {
  			ip4_mask.next_proto_id = masks->ipv4_mask.proto;
  			ip4_val.next_proto_id = input->flow.ip4_flow.proto;
@@ -131,7 +132,7 @@
  		}
  		if (input->flow.ip4_flow.src_ip) {
  			ip4_mask.src_addr =  masks->ipv4_mask.src_ip;
-@@ -251,9 +264,6 @@ copy_fltr_v2(struct filter_v2 *fltr, struct rte_eth_fdir_input *input,
+@@ -281,9 +294,6 @@ copy_fltr_v2(struct filter_v2 *fltr, struct rte_eth_fdir_input *input,
  			sctp_val.tag = input->flow.sctp6_flow.verify_tag;
  		}
  
@@ -141,7 +142,7 @@
  		enic_set_layer(gp, 0, FILTER_GENERIC_1_L4, &sctp_mask,
  			       &sctp_val, sizeof(struct sctp_hdr));
  	}
-@@ -269,6 +279,10 @@ copy_fltr_v2(struct filter_v2 *fltr, struct rte_eth_fdir_input *input,
+@@ -299,6 +309,10 @@ copy_fltr_v2(struct filter_v2 *fltr, struct rte_eth_fdir_input *input,
  		if (input->flow.ipv6_flow.proto) {
  			ipv6_mask.proto = masks->ipv6_mask.proto;
  			ipv6_val.proto = input->flow.ipv6_flow.proto;
@@ -150,8 +151,8 @@
 +			ipv6_mask.proto = 0xff;
 +			ipv6_val.proto = IPPROTO_SCTP;
  		}
- 		memcpy(ipv6_mask.src_addr, masks->ipv6_mask.src_ip,
- 		       sizeof(ipv6_mask.src_addr));
+ 		for (i = 0; i < 4; i++) {
+ 			*(uint32_t *)&ipv6_mask.src_addr[i * 4] =
 -- 
 2.21.0
 

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

* [dpdk-stable] patch 'net/enic: fix SCTP match for flow API' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (20 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/enic: fix flow director SCTP matching' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/enic: check for unsupported flow item types' " Yongseok Koh
                   ` (84 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Hyong Youb Kim; +Cc: John Daley, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From b1ed5dea5fa3b41fc32f4e8bbd8f92b70fed3f3d Mon Sep 17 00:00:00 2001
From: Hyong Youb Kim <hyonkim@cisco.com>
Date: Sat, 2 Mar 2019 02:42:41 -0800
Subject: [PATCH] net/enic: fix SCTP match for flow API

[ upstream commit 3a1c3cd01b8bce9203e96520f2715b7fd8d93f02 ]

The driver needs to explicitly set the protocol number (132) in the IP
header pattern, as the current firmware filter API lacks "match SCTP
packet" flag. Otherwise, the resulting NIC filter may lead to false
positives (i.e. NIC reporting non-SCTP packets as SCTP packets). The
flow director handler does the same (enic_clsf.c).

Fixes: 6ced137607d0 ("net/enic: flow API for NICs with advanced filters enabled")

Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
---
 drivers/net/enic/enic_flow.c | 28 ++++++++++++++++++++++++++--
 1 file changed, 26 insertions(+), 2 deletions(-)

diff --git a/drivers/net/enic/enic_flow.c b/drivers/net/enic/enic_flow.c
index 407b36e226..2eb68c985d 100644
--- a/drivers/net/enic/enic_flow.c
+++ b/drivers/net/enic/enic_flow.c
@@ -99,7 +99,6 @@ static enic_copy_item_fn enic_copy_item_ipv6_v2;
 static enic_copy_item_fn enic_copy_item_udp_v2;
 static enic_copy_item_fn enic_copy_item_tcp_v2;
 static enic_copy_item_fn enic_copy_item_sctp_v2;
-static enic_copy_item_fn enic_copy_item_sctp_v2;
 static enic_copy_item_fn enic_copy_item_vxlan_v2;
 static copy_action_fn enic_copy_action_v1;
 static copy_action_fn enic_copy_action_v2;
@@ -266,7 +265,7 @@ static const struct enic_items enic_items_v3[] = {
 	},
 	[RTE_FLOW_ITEM_TYPE_SCTP] = {
 		.copy_item = enic_copy_item_sctp_v2,
-		.valid_start_item = 1,
+		.valid_start_item = 0,
 		.prev_items = (const enum rte_flow_item_type[]) {
 			       RTE_FLOW_ITEM_TYPE_IPV4,
 			       RTE_FLOW_ITEM_TYPE_IPV6,
@@ -818,12 +817,37 @@ enic_copy_item_sctp_v2(const struct rte_flow_item *item,
 	const struct rte_flow_item_sctp *spec = item->spec;
 	const struct rte_flow_item_sctp *mask = item->mask;
 	struct filter_generic_1 *gp = &enic_filter->u.generic_1;
+	uint8_t *ip_proto_mask = NULL;
+	uint8_t *ip_proto = NULL;
 
 	FLOW_TRACE();
 
 	if (*inner_ofst)
 		return ENOTSUP;
 
+	/*
+	 * The NIC filter API has no flags for "match sctp", so explicitly set
+	 * the protocol number in the IP pattern.
+	 */
+	if (gp->val_flags & FILTER_GENERIC_1_IPV4) {
+		struct ipv4_hdr *ip;
+		ip = (struct ipv4_hdr *)gp->layer[FILTER_GENERIC_1_L3].mask;
+		ip_proto_mask = &ip->next_proto_id;
+		ip = (struct ipv4_hdr *)gp->layer[FILTER_GENERIC_1_L3].val;
+		ip_proto = &ip->next_proto_id;
+	} else if (gp->val_flags & FILTER_GENERIC_1_IPV6) {
+		struct ipv6_hdr *ip;
+		ip = (struct ipv6_hdr *)gp->layer[FILTER_GENERIC_1_L3].mask;
+		ip_proto_mask = &ip->proto;
+		ip = (struct ipv6_hdr *)gp->layer[FILTER_GENERIC_1_L3].val;
+		ip_proto = &ip->proto;
+	} else {
+		/* Need IPv4/IPv6 pattern first */
+		return EINVAL;
+	}
+	*ip_proto = IPPROTO_SCTP;
+	*ip_proto_mask = 0xff;
+
 	/* Match all if no spec */
 	if (!spec)
 		return 0;
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:07.747159019 -0700
+++ 0023-net-enic-fix-SCTP-match-for-flow-API.patch	2019-07-22 17:55:05.884469000 -0700
@@ -1,8 +1,10 @@
-From 3a1c3cd01b8bce9203e96520f2715b7fd8d93f02 Mon Sep 17 00:00:00 2001
+From b1ed5dea5fa3b41fc32f4e8bbd8f92b70fed3f3d Mon Sep 17 00:00:00 2001
 From: Hyong Youb Kim <hyonkim@cisco.com>
 Date: Sat, 2 Mar 2019 02:42:41 -0800
 Subject: [PATCH] net/enic: fix SCTP match for flow API
 
+[ upstream commit 3a1c3cd01b8bce9203e96520f2715b7fd8d93f02 ]
+
 The driver needs to explicitly set the protocol number (132) in the IP
 header pattern, as the current firmware filter API lacks "match SCTP
 packet" flag. Otherwise, the resulting NIC filter may lead to false
@@ -10,7 +12,6 @@
 flow director handler does the same (enic_clsf.c).
 
 Fixes: 6ced137607d0 ("net/enic: flow API for NICs with advanced filters enabled")
-Cc: stable@dpdk.org
 
 Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
 Reviewed-by: John Daley <johndale@cisco.com>
@@ -19,10 +20,10 @@
  1 file changed, 26 insertions(+), 2 deletions(-)
 
 diff --git a/drivers/net/enic/enic_flow.c b/drivers/net/enic/enic_flow.c
-index bb9ed037a5..55d8d50a11 100644
+index 407b36e226..2eb68c985d 100644
 --- a/drivers/net/enic/enic_flow.c
 +++ b/drivers/net/enic/enic_flow.c
-@@ -70,7 +70,6 @@ static enic_copy_item_fn enic_copy_item_ipv6_v2;
+@@ -99,7 +99,6 @@ static enic_copy_item_fn enic_copy_item_ipv6_v2;
  static enic_copy_item_fn enic_copy_item_udp_v2;
  static enic_copy_item_fn enic_copy_item_tcp_v2;
  static enic_copy_item_fn enic_copy_item_sctp_v2;
@@ -30,7 +31,7 @@
  static enic_copy_item_fn enic_copy_item_vxlan_v2;
  static copy_action_fn enic_copy_action_v1;
  static copy_action_fn enic_copy_action_v2;
-@@ -237,7 +236,7 @@ static const struct enic_items enic_items_v3[] = {
+@@ -266,7 +265,7 @@ static const struct enic_items enic_items_v3[] = {
  	},
  	[RTE_FLOW_ITEM_TYPE_SCTP] = {
  		.copy_item = enic_copy_item_sctp_v2,
@@ -39,7 +40,7 @@
  		.prev_items = (const enum rte_flow_item_type[]) {
  			       RTE_FLOW_ITEM_TYPE_IPV4,
  			       RTE_FLOW_ITEM_TYPE_IPV6,
-@@ -819,12 +818,37 @@ enic_copy_item_sctp_v2(const struct rte_flow_item *item,
+@@ -818,12 +817,37 @@ enic_copy_item_sctp_v2(const struct rte_flow_item *item,
  	const struct rte_flow_item_sctp *spec = item->spec;
  	const struct rte_flow_item_sctp *mask = item->mask;
  	struct filter_generic_1 *gp = &enic_filter->u.generic_1;

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

* [dpdk-stable] patch 'net/enic: check for unsupported flow item types' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (21 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/enic: fix SCTP match for flow API' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/ixgbe: fix crash on remove' " Yongseok Koh
                   ` (83 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Hyong Youb Kim; +Cc: John Daley, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 7cbcd2e6094ce54346117291cdfcd7855b3bf17b Mon Sep 17 00:00:00 2001
From: Hyong Youb Kim <hyonkim@cisco.com>
Date: Sat, 2 Mar 2019 02:42:43 -0800
Subject: [PATCH] net/enic: check for unsupported flow item types

[ upstream commit 4d8e9aa48328edb58f8a843a8e6bee327e12d181 ]

Currently a pattern with an unsupported item type causes segfault,
because the flow handler is using the type as an array index without
checking bounds. Add an explicit check for unsupported item types and
avoid out-of-bound accesses.

Fixes: 6ced137607d0 ("net/enic: flow API for NICs with advanced filters enabled")

Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
---
 drivers/net/enic/enic_flow.c | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/drivers/net/enic/enic_flow.c b/drivers/net/enic/enic_flow.c
index 2eb68c985d..e8b6aa12ca 100644
--- a/drivers/net/enic/enic_flow.c
+++ b/drivers/net/enic/enic_flow.c
@@ -69,6 +69,8 @@ struct enic_items {
 struct enic_filter_cap {
 	/** list of valid items and their handlers and attributes. */
 	const struct enic_items *item_info;
+	/* Max type in the above list, used to detect unsupported types */
+	enum rte_flow_item_type max_item_type;
 };
 
 /* functions for copying flow actions into enic actions */
@@ -286,12 +288,15 @@ static const struct enic_items enic_items_v3[] = {
 static const struct enic_filter_cap enic_filter_cap[] = {
 	[FILTER_IPV4_5TUPLE] = {
 		.item_info = enic_items_v1,
+		.max_item_type = RTE_FLOW_ITEM_TYPE_TCP,
 	},
 	[FILTER_USNIC_IP] = {
 		.item_info = enic_items_v2,
+		.max_item_type = RTE_FLOW_ITEM_TYPE_VXLAN,
 	},
 	[FILTER_DPDK_1] = {
 		.item_info = enic_items_v3,
+		.max_item_type = RTE_FLOW_ITEM_TYPE_VXLAN,
 	},
 };
 
@@ -945,7 +950,7 @@ item_stacking_valid(enum rte_flow_item_type prev_item,
  */
 static int
 enic_copy_filter(const struct rte_flow_item pattern[],
-		 const struct enic_items *items_info,
+		 const struct enic_filter_cap *cap,
 		 struct filter_v2 *enic_filter,
 		 struct rte_flow_error *error)
 {
@@ -968,7 +973,14 @@ enic_copy_filter(const struct rte_flow_item pattern[],
 		if (item->type == RTE_FLOW_ITEM_TYPE_VOID)
 			continue;
 
-		item_info = &items_info[item->type];
+		item_info = &cap->item_info[item->type];
+		if (item->type > cap->max_item_type ||
+		    item_info->copy_item == NULL) {
+			rte_flow_error_set(error, ENOTSUP,
+				RTE_FLOW_ERROR_TYPE_ITEM,
+				NULL, "Unsupported item.");
+			return -rte_errno;
+		}
 
 		/* check to see if item stacking is valid */
 		if (!item_stacking_valid(prev_item, item_info, is_first_item))
@@ -1368,7 +1380,7 @@ enic_flow_parse(struct rte_eth_dev *dev,
 		return -rte_errno;
 	}
 	enic_filter->type = enic->flow_filter_mode;
-	ret = enic_copy_filter(pattern, enic_filter_cap->item_info,
+	ret = enic_copy_filter(pattern, enic_filter_cap,
 				       enic_filter, error);
 	return ret;
 }
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:07.798179710 -0700
+++ 0024-net-enic-check-for-unsupported-flow-item-types.patch	2019-07-22 17:55:05.890469000 -0700
@@ -1,15 +1,16 @@
-From 4d8e9aa48328edb58f8a843a8e6bee327e12d181 Mon Sep 17 00:00:00 2001
+From 7cbcd2e6094ce54346117291cdfcd7855b3bf17b Mon Sep 17 00:00:00 2001
 From: Hyong Youb Kim <hyonkim@cisco.com>
 Date: Sat, 2 Mar 2019 02:42:43 -0800
 Subject: [PATCH] net/enic: check for unsupported flow item types
 
+[ upstream commit 4d8e9aa48328edb58f8a843a8e6bee327e12d181 ]
+
 Currently a pattern with an unsupported item type causes segfault,
 because the flow handler is using the type as an array index without
 checking bounds. Add an explicit check for unsupported item types and
 avoid out-of-bound accesses.
 
 Fixes: 6ced137607d0 ("net/enic: flow API for NICs with advanced filters enabled")
-Cc: stable@dpdk.org
 
 Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
 Reviewed-by: John Daley <johndale@cisco.com>
@@ -18,10 +19,10 @@
  1 file changed, 15 insertions(+), 3 deletions(-)
 
 diff --git a/drivers/net/enic/enic_flow.c b/drivers/net/enic/enic_flow.c
-index e12a6ec733..c60476c8c7 100644
+index 2eb68c985d..e8b6aa12ca 100644
 --- a/drivers/net/enic/enic_flow.c
 +++ b/drivers/net/enic/enic_flow.c
-@@ -40,6 +40,8 @@ struct enic_items {
+@@ -69,6 +69,8 @@ struct enic_items {
  struct enic_filter_cap {
  	/** list of valid items and their handlers and attributes. */
  	const struct enic_items *item_info;
@@ -30,7 +31,7 @@
  };
  
  /* functions for copying flow actions into enic actions */
-@@ -257,12 +259,15 @@ static const struct enic_items enic_items_v3[] = {
+@@ -286,12 +288,15 @@ static const struct enic_items enic_items_v3[] = {
  static const struct enic_filter_cap enic_filter_cap[] = {
  	[FILTER_IPV4_5TUPLE] = {
  		.item_info = enic_items_v1,
@@ -46,7 +47,7 @@
  	},
  };
  
-@@ -946,7 +951,7 @@ item_stacking_valid(enum rte_flow_item_type prev_item,
+@@ -945,7 +950,7 @@ item_stacking_valid(enum rte_flow_item_type prev_item,
   */
  static int
  enic_copy_filter(const struct rte_flow_item pattern[],
@@ -55,7 +56,7 @@
  		 struct filter_v2 *enic_filter,
  		 struct rte_flow_error *error)
  {
-@@ -969,7 +974,14 @@ enic_copy_filter(const struct rte_flow_item pattern[],
+@@ -968,7 +973,14 @@ enic_copy_filter(const struct rte_flow_item pattern[],
  		if (item->type == RTE_FLOW_ITEM_TYPE_VOID)
  			continue;
  
@@ -71,7 +72,7 @@
  
  		/* check to see if item stacking is valid */
  		if (!item_stacking_valid(prev_item, item_info, is_first_item))
-@@ -1423,7 +1435,7 @@ enic_flow_parse(struct rte_eth_dev *dev,
+@@ -1368,7 +1380,7 @@ enic_flow_parse(struct rte_eth_dev *dev,
  		return -rte_errno;
  	}
  	enic_filter->type = enic->flow_filter_mode;

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

* [dpdk-stable] patch 'net/ixgbe: fix crash on remove' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (22 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/enic: check for unsupported flow item types' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/mlx5: fix hex dump of error completion' " Yongseok Koh
                   ` (82 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Yunjian Wang; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 8bb944ec5a780282b2b2d296772f453e959855a2 Mon Sep 17 00:00:00 2001
From: Yunjian Wang <wangyunjian@huawei.com>
Date: Wed, 13 Feb 2019 10:48:52 +0800
Subject: [PATCH] net/ixgbe: fix crash on remove

[ upstream commit ce66e351404f167db9bf47d6a70bd83e101126c9 ]

The NIC's interrupt source has some active handler when the
port removed. We should cancel the delay handler before removing
dev to prevent executing the delay handler.

Call Trace:
  #0  ixgbe_disable_intr (hw=0x0, hw=0x0)
      at /usr/src/debug/dpdk-18.11/drivers/net/ixgbe/ixgbe_ethdev.c:852
  #1  ixgbe_dev_interrupt_delayed_handler (param=0xadb9c0
      <rte_eth_devices@@DPDK_2.2+33024>)
      at /usr/src/debug/dpdk-18.11/drivers/net/ixgbe/ixgbe_ethdev.c:4386
  #2  0x00007f05782147af in eal_alarm_callback (arg=<optimized out>)
      at /usr/src/debug/dpdk-18.11/lib/librte_eal/linuxapp/eal/
      eal_alarm.c:90
  #3  0x00007f057821320a in eal_intr_process_interrupts (nfds=1,
      events=0x7f056cbf3e88) at /usr/src/debug/dpdk-18.11/lib/
      librte_eal/linuxapp/eal/eal_interrupts.c:838
  #4  eal_intr_handle_interrupts (totalfds=<optimized out>, pfd=18)
      at /usr/src/debug/dpdk-18.11/lib/librte_eal/linuxapp/eal/
      eal_interrupts.c:885
  #5  eal_intr_thread_main (arg=<optimized out>)
      at /usr/src/debug/dpdk-18.11/lib/librte_eal/linuxapp/eal/
      eal_interrupts.c:965
  #6  0x00007f05708a0e45 in start_thread () from /usr/lib64/libpthread.so.0
  #7  0x00007f056eb4ab5d in clone () from /usr/lib64/libc.so.6

Fixes: 2866c5f1b87e ("ixgbe: support port hotplug")

Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/ixgbe/ixgbe_ethdev.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index ef0613bde5..c186ed61a3 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -1405,6 +1405,9 @@ eth_ixgbe_dev_uninit(struct rte_eth_dev *eth_dev)
 		rte_delay_ms(100);
 	} while (retries++ < (10 + IXGBE_LINK_UP_TIME));
 
+	/* cancel the delay handler before remove dev */
+	rte_eal_alarm_cancel(ixgbe_dev_interrupt_delayed_handler, eth_dev);
+
 	/* uninitialize PF if max_vfs not zero */
 	ixgbe_pf_host_uninit(eth_dev);
 
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:07.852224583 -0700
+++ 0025-net-ixgbe-fix-crash-on-remove.patch	2019-07-22 17:55:05.903469000 -0700
@@ -1,8 +1,10 @@
-From ce66e351404f167db9bf47d6a70bd83e101126c9 Mon Sep 17 00:00:00 2001
+From 8bb944ec5a780282b2b2d296772f453e959855a2 Mon Sep 17 00:00:00 2001
 From: Yunjian Wang <wangyunjian@huawei.com>
 Date: Wed, 13 Feb 2019 10:48:52 +0800
 Subject: [PATCH] net/ixgbe: fix crash on remove
 
+[ upstream commit ce66e351404f167db9bf47d6a70bd83e101126c9 ]
+
 The NIC's interrupt source has some active handler when the
 port removed. We should cancel the delay handler before removing
 dev to prevent executing the delay handler.
@@ -29,7 +31,6 @@
   #7  0x00007f056eb4ab5d in clone () from /usr/lib64/libc.so.6
 
 Fixes: 2866c5f1b87e ("ixgbe: support port hotplug")
-Cc: stable@dpdk.org
 
 Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
 Acked-by: Qi Zhang <qi.z.zhang@intel.com>
@@ -38,10 +39,10 @@
  1 file changed, 3 insertions(+)
 
 diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
-index 4deedb0c80..c336937c27 100644
+index ef0613bde5..c186ed61a3 100644
 --- a/drivers/net/ixgbe/ixgbe_ethdev.c
 +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
-@@ -1336,6 +1336,9 @@ eth_ixgbe_dev_uninit(struct rte_eth_dev *eth_dev)
+@@ -1405,6 +1405,9 @@ eth_ixgbe_dev_uninit(struct rte_eth_dev *eth_dev)
  		rte_delay_ms(100);
  	} while (retries++ < (10 + IXGBE_LINK_UP_TIME));
  

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

* [dpdk-stable] patch 'net/mlx5: fix hex dump of error completion' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (23 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/ixgbe: fix crash on remove' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/mlx5: fix sync when handling Tx completions' " Yongseok Koh
                   ` (81 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Dekel Peled; +Cc: Shahaf Shuler, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 173194e236b5d9e952b138a132c4db64656627b5 Mon Sep 17 00:00:00 2001
From: Dekel Peled <dekelp@mellanox.com>
Date: Thu, 28 Feb 2019 17:18:45 +0200
Subject: [PATCH] net/mlx5: fix hex dump of error completion

[ upstream commit 38f0a160b5fe1c9e8451dea2cab9a78ebfe86675 ]

struct mlx5_cqe is defined in MLX5 PMD code (mlx5_prm.h).
It includes 64 bytes padding in case of (RTE_CACHE_LINE_SIZE == 128).

struct mlx5_err_cqe is defined in kernel, and doesn't include padding.

When running in debug mode, in case an error CQE is detected
it is printed using rte_hexdump().

The size of data to print should be sizeof(*cqe) instead of
sizeof(*err_cqe), to handle the case of (RTE_CACHE_LINE_SIZE == 128),
and print the full data in any case.

Fixes: c7714992092f ("net/mlx5: extend debug logs verbosity")

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
---
 drivers/net/mlx5/mlx5_rxtx.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h
index 7e811c106c..ce25c4eddb 100644
--- a/drivers/net/mlx5/mlx5_rxtx.h
+++ b/drivers/net/mlx5/mlx5_rxtx.h
@@ -429,7 +429,7 @@ check_cqe(volatile struct mlx5_cqe *cqe,
 				op_code, op_code, syndrome);
 			rte_hexdump(stderr, "MLX5 Error CQE:",
 				    (const void *)((uintptr_t)err_cqe),
-				    sizeof(*err_cqe));
+				    sizeof(*cqe));
 		}
 		return 1;
 	} else if ((op_code != MLX5_CQE_RESP_SEND) &&
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:07.909186654 -0700
+++ 0026-net-mlx5-fix-hex-dump-of-error-completion.patch	2019-07-22 17:55:05.908469000 -0700
@@ -1,8 +1,10 @@
-From 38f0a160b5fe1c9e8451dea2cab9a78ebfe86675 Mon Sep 17 00:00:00 2001
+From 173194e236b5d9e952b138a132c4db64656627b5 Mon Sep 17 00:00:00 2001
 From: Dekel Peled <dekelp@mellanox.com>
 Date: Thu, 28 Feb 2019 17:18:45 +0200
 Subject: [PATCH] net/mlx5: fix hex dump of error completion
 
+[ upstream commit 38f0a160b5fe1c9e8451dea2cab9a78ebfe86675 ]
+
 struct mlx5_cqe is defined in MLX5 PMD code (mlx5_prm.h).
 It includes 64 bytes padding in case of (RTE_CACHE_LINE_SIZE == 128).
 
@@ -16,7 +18,6 @@
 and print the full data in any case.
 
 Fixes: c7714992092f ("net/mlx5: extend debug logs verbosity")
-Cc: stable@dpdk.org
 
 Signed-off-by: Dekel Peled <dekelp@mellanox.com>
 Acked-by: Shahaf Shuler <shahafs@mellanox.com>
@@ -25,10 +26,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h
-index be464e8705..c0e1adf140 100644
+index 7e811c106c..ce25c4eddb 100644
 --- a/drivers/net/mlx5/mlx5_rxtx.h
 +++ b/drivers/net/mlx5/mlx5_rxtx.h
-@@ -491,7 +491,7 @@ check_cqe(volatile struct mlx5_cqe *cqe,
+@@ -429,7 +429,7 @@ check_cqe(volatile struct mlx5_cqe *cqe,
  				op_code, op_code, syndrome);
  			rte_hexdump(stderr, "MLX5 Error CQE:",
  				    (const void *)((uintptr_t)err_cqe),

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

* [dpdk-stable] patch 'net/mlx5: fix sync when handling Tx completions' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (24 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/mlx5: fix hex dump of error completion' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/i40e: fix time sync for 25G' " Yongseok Koh
                   ` (80 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Dekel Peled; +Cc: Shahaf Shuler, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 094412925c32b3ceb3688c2af11288cf1f41738c Mon Sep 17 00:00:00 2001
From: Dekel Peled <dekelp@mellanox.com>
Date: Thu, 28 Feb 2019 17:20:30 +0200
Subject: [PATCH] net/mlx5: fix sync when handling Tx completions

[ backported from upstream commit fd350d3c9a13b5ebcb41741870c3f09b6920033f ]

Function mlx5_tx_complete() reads completion entry information
from Tx queue.
For some processors not having strongly-ordered memory model,
there has to be a memory barrier between reading the entry index
and the entry fields, in order to guarantee data is valid.

Fixes: 54d3fe948dba ("net/mlx5: poll completion queue once per a call")

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
---
 drivers/net/mlx5/mlx5_rxtx.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h
index ce25c4eddb..d92dfc0109 100644
--- a/drivers/net/mlx5/mlx5_rxtx.h
+++ b/drivers/net/mlx5/mlx5_rxtx.h
@@ -506,6 +506,7 @@ mlx5_tx_complete(struct mlx5_txq_data *txq)
 	}
 #endif /* NDEBUG */
 	++cq_ci;
+	rte_io_rmb();
 	txq->wqe_pi = rte_be_to_cpu_16(cqe->wqe_counter);
 	ctrl = (volatile struct mlx5_wqe_ctrl *)
 		tx_mlx5_wqe(txq, txq->wqe_pi);
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:07.961346164 -0700
+++ 0027-net-mlx5-fix-sync-when-handling-Tx-completions.patch	2019-07-22 17:55:05.913471000 -0700
@@ -1,8 +1,10 @@
-From fd350d3c9a13b5ebcb41741870c3f09b6920033f Mon Sep 17 00:00:00 2001
+From 094412925c32b3ceb3688c2af11288cf1f41738c Mon Sep 17 00:00:00 2001
 From: Dekel Peled <dekelp@mellanox.com>
 Date: Thu, 28 Feb 2019 17:20:30 +0200
 Subject: [PATCH] net/mlx5: fix sync when handling Tx completions
 
+[ backported from upstream commit fd350d3c9a13b5ebcb41741870c3f09b6920033f ]
+
 Function mlx5_tx_complete() reads completion entry information
 from Tx queue.
 For some processors not having strongly-ordered memory model,
@@ -10,7 +12,6 @@
 and the entry fields, in order to guarantee data is valid.
 
 Fixes: 54d3fe948dba ("net/mlx5: poll completion queue once per a call")
-Cc: stable@dpdk.org
 
 Signed-off-by: Dekel Peled <dekelp@mellanox.com>
 Acked-by: Shahaf Shuler <shahafs@mellanox.com>
@@ -19,14 +20,14 @@
  1 file changed, 1 insertion(+)
 
 diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h
-index c0e1adf140..53115dde3d 100644
+index ce25c4eddb..d92dfc0109 100644
 --- a/drivers/net/mlx5/mlx5_rxtx.h
 +++ b/drivers/net/mlx5/mlx5_rxtx.h
-@@ -568,6 +568,7 @@ mlx5_tx_complete(struct mlx5_txq_data *txq)
+@@ -506,6 +506,7 @@ mlx5_tx_complete(struct mlx5_txq_data *txq)
  	}
  #endif /* NDEBUG */
  	++cq_ci;
-+	rte_cio_rmb();
++	rte_io_rmb();
  	txq->wqe_pi = rte_be_to_cpu_16(cqe->wqe_counter);
  	ctrl = (volatile struct mlx5_wqe_ctrl *)
  		tx_mlx5_wqe(txq, txq->wqe_pi);

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

* [dpdk-stable] patch 'net/i40e: fix time sync for 25G' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (25 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/mlx5: fix sync when handling Tx completions' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/qede: support IOVA VA mode' " Yongseok Koh
                   ` (79 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Qi Zhang; +Cc: Michael Luo, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From e07272cb1d1da5f151c3e499ef4fe9199172d398 Mon Sep 17 00:00:00 2001
From: Qi Zhang <qi.z.zhang@intel.com>
Date: Mon, 11 Mar 2019 15:42:20 +0800
Subject: [PATCH] net/i40e: fix time sync for 25G

[ upstream commit d9263ab13886f8b25a324e40ddb205f1a3f71c6d ]

Time sync increment value is not configured for 25G device.

The patch fix this issue by setting the same value as 40G, this
aligned with kernel driver's behaviour.

Fixes: 75d133dd3296 ("net/i40e: enable 25G device")

Reported-by: Michael Luo <michael.luo@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Tested-by: Michael Luo <michael.luo@intel.com>
---
 drivers/net/i40e/i40e_ethdev.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index a8d6c9714c..970eb04607 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -10401,6 +10401,7 @@ i40e_start_timecounters(struct rte_eth_dev *dev)
 
 	switch (link.link_speed) {
 	case ETH_SPEED_NUM_40G:
+	case ETH_SPEED_NUM_25G:
 		tsync_inc_l = I40E_PTP_40GB_INCVAL & 0xFFFFFFFF;
 		tsync_inc_h = I40E_PTP_40GB_INCVAL >> 32;
 		break;
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:08.011370083 -0700
+++ 0028-net-i40e-fix-time-sync-for-25G.patch	2019-07-22 17:55:05.929468000 -0700
@@ -1,15 +1,16 @@
-From d9263ab13886f8b25a324e40ddb205f1a3f71c6d Mon Sep 17 00:00:00 2001
+From e07272cb1d1da5f151c3e499ef4fe9199172d398 Mon Sep 17 00:00:00 2001
 From: Qi Zhang <qi.z.zhang@intel.com>
 Date: Mon, 11 Mar 2019 15:42:20 +0800
 Subject: [PATCH] net/i40e: fix time sync for 25G
 
+[ upstream commit d9263ab13886f8b25a324e40ddb205f1a3f71c6d ]
+
 Time sync increment value is not configured for 25G device.
 
 The patch fix this issue by setting the same value as 40G, this
 aligned with kernel driver's behaviour.
 
 Fixes: 75d133dd3296 ("net/i40e: enable 25G device")
-Cc: stable@dpdk.org
 
 Reported-by: Michael Luo <michael.luo@intel.com>
 Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
@@ -19,10 +20,10 @@
  1 file changed, 1 insertion(+)
 
 diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
-index dca61f03a0..8191a6a736 100644
+index a8d6c9714c..970eb04607 100644
 --- a/drivers/net/i40e/i40e_ethdev.c
 +++ b/drivers/net/i40e/i40e_ethdev.c
-@@ -10830,6 +10830,7 @@ i40e_start_timecounters(struct rte_eth_dev *dev)
+@@ -10401,6 +10401,7 @@ i40e_start_timecounters(struct rte_eth_dev *dev)
  
  	switch (link.link_speed) {
  	case ETH_SPEED_NUM_40G:

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

* [dpdk-stable] patch 'net/qede: support IOVA VA mode' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (26 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/i40e: fix time sync for 25G' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/mlx5: fix packet inline on Tx queue wraparound' " Yongseok Koh
                   ` (78 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Kevin Traynor; +Cc: Shahed Shaikh, Rasesh Mody, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 986f4ba3f5edbfab031c67f52d6cfd7120099b9c Mon Sep 17 00:00:00 2001
From: Kevin Traynor <ktraynor@redhat.com>
Date: Fri, 8 Mar 2019 09:28:55 +0000
Subject: [PATCH] net/qede: support IOVA VA mode

[ upstream commit 7aac5899df81f40c07a8047f410e7f2fcc62962d ]

Set RTE_PCI_DRV_IOVA_AS_VA in drv_flags. This allows initializing qede
PMD as non-root also on Linux v4.x, where /proc/self/pagemap can't be
acccessed without CAP_SYS_ADMIN privileges.

The flag was introduced generically but not in pmds in:
commit 815c7deaed2d ("pci: get IOMMU class on Linux")

Acked-by: Shahed Shaikh <shshaikh@marvell.com>
Acked-by: Rasesh Mody <rmody@marvell.com>
Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
---
 drivers/net/qede/qede_ethdev.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
index 1844eea460..43403e6a8d 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -3194,7 +3194,8 @@ static int qedevf_eth_dev_pci_remove(struct rte_pci_device *pci_dev)
 
 static struct rte_pci_driver rte_qedevf_pmd = {
 	.id_table = pci_id_qedevf_map,
-	.drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC,
+	.drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC |
+		     RTE_PCI_DRV_IOVA_AS_VA,
 	.probe = qedevf_eth_dev_pci_probe,
 	.remove = qedevf_eth_dev_pci_remove,
 };
@@ -3213,7 +3214,8 @@ static int qede_eth_dev_pci_remove(struct rte_pci_device *pci_dev)
 
 static struct rte_pci_driver rte_qede_pmd = {
 	.id_table = pci_id_qede_map,
-	.drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC,
+	.drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC |
+		     RTE_PCI_DRV_IOVA_AS_VA,
 	.probe = qede_eth_dev_pci_probe,
 	.remove = qede_eth_dev_pci_remove,
 };
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:08.073150776 -0700
+++ 0029-net-qede-support-IOVA-VA-mode.patch	2019-07-22 17:55:05.936469000 -0700
@@ -1,8 +1,10 @@
-From 7aac5899df81f40c07a8047f410e7f2fcc62962d Mon Sep 17 00:00:00 2001
+From 986f4ba3f5edbfab031c67f52d6cfd7120099b9c Mon Sep 17 00:00:00 2001
 From: Kevin Traynor <ktraynor@redhat.com>
 Date: Fri, 8 Mar 2019 09:28:55 +0000
 Subject: [PATCH] net/qede: support IOVA VA mode
 
+[ upstream commit 7aac5899df81f40c07a8047f410e7f2fcc62962d ]
+
 Set RTE_PCI_DRV_IOVA_AS_VA in drv_flags. This allows initializing qede
 PMD as non-root also on Linux v4.x, where /proc/self/pagemap can't be
 acccessed without CAP_SYS_ADMIN privileges.
@@ -10,8 +12,6 @@
 The flag was introduced generically but not in pmds in:
 commit 815c7deaed2d ("pci: get IOMMU class on Linux")
 
-Cc: stable@dpdk.org
-
 Acked-by: Shahed Shaikh <shshaikh@marvell.com>
 Acked-by: Rasesh Mody <rmody@marvell.com>
 Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
@@ -20,10 +20,10 @@
  1 file changed, 4 insertions(+), 2 deletions(-)
 
 diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
-index 518673dce1..0b2f305e17 100644
+index 1844eea460..43403e6a8d 100644
 --- a/drivers/net/qede/qede_ethdev.c
 +++ b/drivers/net/qede/qede_ethdev.c
-@@ -2735,7 +2735,8 @@ static int qedevf_eth_dev_pci_remove(struct rte_pci_device *pci_dev)
+@@ -3194,7 +3194,8 @@ static int qedevf_eth_dev_pci_remove(struct rte_pci_device *pci_dev)
  
  static struct rte_pci_driver rte_qedevf_pmd = {
  	.id_table = pci_id_qedevf_map,
@@ -33,7 +33,7 @@
  	.probe = qedevf_eth_dev_pci_probe,
  	.remove = qedevf_eth_dev_pci_remove,
  };
-@@ -2754,7 +2755,8 @@ static int qede_eth_dev_pci_remove(struct rte_pci_device *pci_dev)
+@@ -3213,7 +3214,8 @@ static int qede_eth_dev_pci_remove(struct rte_pci_device *pci_dev)
  
  static struct rte_pci_driver rte_qede_pmd = {
  	.id_table = pci_id_qede_map,

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

* [dpdk-stable] patch 'net/mlx5: fix packet inline on Tx queue wraparound' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (27 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/qede: support IOVA VA mode' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/nfp: fix RSS query' " Yongseok Koh
                   ` (77 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Shahaf Shuler; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From ff8ffef0fc43b616676fe87c5aa11cfe90e3cfc9 Mon Sep 17 00:00:00 2001
From: Shahaf Shuler <shahafs@mellanox.com>
Date: Sun, 10 Mar 2019 10:14:10 +0200
Subject: [PATCH] net/mlx5: fix packet inline on Tx queue wraparound

[ backported from upstream commit 57c0e2494c51421033771122e8972a41dddb4cb7 ]

Inlining a packet to WQE that cross the WQ wraparound, i.e. the WQE
starts on the end of the ring and ends on the beginning, is not
supported and blocked by the data path logic.

However, in case of TSO, an extra inline header is required before
inlining. This inline header is not taken into account when checking if
there is enough room left for the required inline size.
On some corner cases were
(ring_tailroom - inline header) < inline size < ring_tailroom ,
this can lead to WQE being written outsize of the ring buffer.

Fixing it by always assuming the worse case that inline of packet will
require the inline header.

Fixes: 3f13f8c23a7c ("net/mlx5: support hardware TSO")

Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
---
 drivers/net/mlx5/mlx5_rxtx.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c
index d95c4bff3d..d46b31c19a 100644
--- a/drivers/net/mlx5/mlx5_rxtx.c
+++ b/drivers/net/mlx5/mlx5_rxtx.c
@@ -571,7 +571,8 @@ mlx5_tx_burst(void *dpdk_txq, struct rte_mbuf **pkts, uint16_t pkts_n)
 				RTE_MIN((addr_end - addr), length) :
 				0;
 
-			if (copy_b && ((end - (uintptr_t)raw) > copy_b)) {
+			if (copy_b && ((end - (uintptr_t)raw) >
+				       (copy_b + sizeof(inl)))) {
 				/*
 				 * One Dseg remains in the current WQE.  To
 				 * keep the computation positive, it is
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:08.125343192 -0700
+++ 0030-net-mlx5-fix-packet-inline-on-Tx-queue-wraparound.patch	2019-07-22 17:55:05.943469000 -0700
@@ -1,8 +1,10 @@
-From 57c0e2494c51421033771122e8972a41dddb4cb7 Mon Sep 17 00:00:00 2001
+From ff8ffef0fc43b616676fe87c5aa11cfe90e3cfc9 Mon Sep 17 00:00:00 2001
 From: Shahaf Shuler <shahafs@mellanox.com>
 Date: Sun, 10 Mar 2019 10:14:10 +0200
 Subject: [PATCH] net/mlx5: fix packet inline on Tx queue wraparound
 
+[ backported from upstream commit 57c0e2494c51421033771122e8972a41dddb4cb7 ]
+
 Inlining a packet to WQE that cross the WQ wraparound, i.e. the WQE
 starts on the end of the ring and ends on the beginning, is not
 supported and blocked by the data path logic.
@@ -18,7 +20,6 @@
 require the inline header.
 
 Fixes: 3f13f8c23a7c ("net/mlx5: support hardware TSO")
-Cc: stable@dpdk.org
 
 Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
 Acked-by: Yongseok Koh <yskoh@mellanox.com>
@@ -27,13 +28,13 @@
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c
-index baa4079c14..38ce0e29a2 100644
+index d95c4bff3d..d46b31c19a 100644
 --- a/drivers/net/mlx5/mlx5_rxtx.c
 +++ b/drivers/net/mlx5/mlx5_rxtx.c
-@@ -693,7 +693,8 @@ pkt_inline:
- 						   RTE_CACHE_LINE_SIZE);
- 			copy_b = (addr_end > addr) ?
- 				 RTE_MIN((addr_end - addr), length) : 0;
+@@ -571,7 +571,8 @@ mlx5_tx_burst(void *dpdk_txq, struct rte_mbuf **pkts, uint16_t pkts_n)
+ 				RTE_MIN((addr_end - addr), length) :
+ 				0;
+ 
 -			if (copy_b && ((end - (uintptr_t)raw) > copy_b)) {
 +			if (copy_b && ((end - (uintptr_t)raw) >
 +				       (copy_b + sizeof(inl)))) {

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

* [dpdk-stable] patch 'net/nfp: fix RSS query' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (28 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/mlx5: fix packet inline on Tx queue wraparound' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  0:59 ` [dpdk-stable] patch 'app/testpmd: remove unused field from port struct' " Yongseok Koh
                   ` (76 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: Alejandro Lucero; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 7d9283033e7994f76f78622781c586c2bfaaf5d0 Mon Sep 17 00:00:00 2001
From: Alejandro Lucero <alejandro.lucero@netronome.com>
Date: Tue, 12 Mar 2019 10:19:27 +0000
Subject: [PATCH] net/nfp: fix RSS query

[ upstream commit 761186fc7ba7fff191f2916734da82e134a9d0a1 ]

Current code is not properly giving the RSS information
regarding the redirection table.

Fixes: 934e4c60fbff ("nfp: add RSS")

Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
---
 drivers/net/nfp/nfp_net.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
index c3958d0450..49b04509b9 100644
--- a/drivers/net/nfp/nfp_net.c
+++ b/drivers/net/nfp/nfp_net.c
@@ -2471,7 +2471,7 @@ nfp_net_reta_query(struct rte_eth_dev *dev,
 		for (j = 0; j < 4; j++) {
 			if (!(mask & (0x1 << j)))
 				continue;
-			reta_conf->reta[shift + j] =
+			reta_conf[idx].reta[shift + j] =
 				(uint8_t)((reta >> (8 * j)) & 0xF);
 		}
 	}
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:08.176765711 -0700
+++ 0031-net-nfp-fix-RSS-query.patch	2019-07-22 17:55:05.949469000 -0700
@@ -1,13 +1,14 @@
-From 761186fc7ba7fff191f2916734da82e134a9d0a1 Mon Sep 17 00:00:00 2001
+From 7d9283033e7994f76f78622781c586c2bfaaf5d0 Mon Sep 17 00:00:00 2001
 From: Alejandro Lucero <alejandro.lucero@netronome.com>
 Date: Tue, 12 Mar 2019 10:19:27 +0000
 Subject: [PATCH] net/nfp: fix RSS query
 
+[ upstream commit 761186fc7ba7fff191f2916734da82e134a9d0a1 ]
+
 Current code is not properly giving the RSS information
 regarding the redirection table.
 
 Fixes: 934e4c60fbff ("nfp: add RSS")
-Cc: stable@dpdk.org
 
 Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
 ---
@@ -15,10 +16,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
-index 1b7b6c2fd4..fa7722a47f 100644
+index c3958d0450..49b04509b9 100644
 --- a/drivers/net/nfp/nfp_net.c
 +++ b/drivers/net/nfp/nfp_net.c
-@@ -2465,7 +2465,7 @@ nfp_net_reta_query(struct rte_eth_dev *dev,
+@@ -2471,7 +2471,7 @@ nfp_net_reta_query(struct rte_eth_dev *dev,
  		for (j = 0; j < 4; j++) {
  			if (!(mask & (0x1 << j)))
  				continue;

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

* [dpdk-stable] patch 'app/testpmd: remove unused field from port struct' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (29 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'net/nfp: fix RSS query' " Yongseok Koh
@ 2019-07-23  0:59 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'app/testpmd: fix a typo in log message' " Yongseok Koh
                   ` (75 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  0:59 UTC (permalink / raw)
  To: David Marchand; +Cc: Rami Rosen, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 6e227a66f85f581fd0a69bb610eb1b3ae92f6dfb Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Mon, 11 Mar 2019 16:35:19 +0100
Subject: [PATCH] app/testpmd: remove unused field from port struct

[ upstream commit 9bbc2a11ed98feee99deb2be66baf0d382f14426 ]

Remove some leftover from a previous rework.

Fixes: c4bcc342c8ee ("app/testpmd: refactor ieee1588 forwarding")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Rami Rosen <ramirose@gmail.com>
---
 app/test-pmd/testpmd.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h
index b3b26d2c2c..940b4e2f26 100644
--- a/app/test-pmd/testpmd.h
+++ b/app/test-pmd/testpmd.h
@@ -220,7 +220,6 @@ struct rte_port {
 	uint16_t                tunnel_tso_segsz; /**< Segmentation offload MSS for tunneled pkts. */
 	uint16_t                tx_vlan_id;/**< The tag ID */
 	uint16_t                tx_vlan_id_outer;/**< The outer tag ID */
-	void                    *fwd_ctx;   /**< Forwarding mode context */
 	uint64_t                rx_bad_ip_csum; /**< rx pkts with bad ip checksum  */
 	uint64_t                rx_bad_l4_csum; /**< rx pkts with bad l4 checksum */
 	uint8_t                 tx_queue_stats_mapping_enabled;
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:08.237626254 -0700
+++ 0032-app-testpmd-remove-unused-field-from-port-struct.patch	2019-07-22 17:55:05.961474000 -0700
@@ -1,12 +1,13 @@
-From 9bbc2a11ed98feee99deb2be66baf0d382f14426 Mon Sep 17 00:00:00 2001
+From 6e227a66f85f581fd0a69bb610eb1b3ae92f6dfb Mon Sep 17 00:00:00 2001
 From: David Marchand <david.marchand@redhat.com>
 Date: Mon, 11 Mar 2019 16:35:19 +0100
 Subject: [PATCH] app/testpmd: remove unused field from port struct
 
+[ upstream commit 9bbc2a11ed98feee99deb2be66baf0d382f14426 ]
+
 Remove some leftover from a previous rework.
 
 Fixes: c4bcc342c8ee ("app/testpmd: refactor ieee1588 forwarding")
-Cc: stable@dpdk.org
 
 Signed-off-by: David Marchand <david.marchand@redhat.com>
 Reviewed-by: Rami Rosen <ramirose@gmail.com>
@@ -15,17 +16,17 @@
  1 file changed, 1 deletion(-)
 
 diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h
-index fa48878538..85b791b6bb 100644
+index b3b26d2c2c..940b4e2f26 100644
 --- a/app/test-pmd/testpmd.h
 +++ b/app/test-pmd/testpmd.h
-@@ -173,7 +173,6 @@ struct rte_port {
+@@ -220,7 +220,6 @@ struct rte_port {
  	uint16_t                tunnel_tso_segsz; /**< Segmentation offload MSS for tunneled pkts. */
  	uint16_t                tx_vlan_id;/**< The tag ID */
  	uint16_t                tx_vlan_id_outer;/**< The outer tag ID */
 -	void                    *fwd_ctx;   /**< Forwarding mode context */
  	uint64_t                rx_bad_ip_csum; /**< rx pkts with bad ip checksum  */
  	uint64_t                rx_bad_l4_csum; /**< rx pkts with bad l4 checksum */
- 	uint64_t                rx_bad_outer_l4_csum;
+ 	uint8_t                 tx_queue_stats_mapping_enabled;
 -- 
 2.21.0
 

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

* [dpdk-stable] patch 'app/testpmd: fix a typo in log message' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (30 preceding siblings ...)
  2019-07-23  0:59 ` [dpdk-stable] patch 'app/testpmd: remove unused field from port struct' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/octeontx: fix vdev name' " Yongseok Koh
                   ` (74 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Rami Rosen; +Cc: Ferruh Yigit, Bernard Iremonger, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 1ae21fe68060b4d221aa49da379ee3a84a46489a Mon Sep 17 00:00:00 2001
From: Rami Rosen <ramirose@gmail.com>
Date: Tue, 12 Mar 2019 07:48:43 +0200
Subject: [PATCH] app/testpmd: fix a typo in log message

[ upstream commit 9ee641c2c80bca6097fc52d59f469b3553194f46 ]

This patch fixes a typo in test-pmd/cmdline.c,
succcessfully->successfully
Two C's are good enough for success...

Fixes: a09f3e4c5046 ("app/testpmd: add hash configuration")

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 app/test-pmd/cmdline.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index a4bd5825b7..7a3a818723 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -11194,7 +11194,7 @@ cmd_set_hash_global_config_parsed(void *parsed_result,
 							res->port_id);
 	else
 		printf("Global hash configurations have been set "
-			"succcessfully by port %d\n", res->port_id);
+			"successfully by port %d\n", res->port_id);
 }
 
 cmdline_parse_token_string_t cmd_set_hash_global_config_all =
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:08.290290386 -0700
+++ 0033-app-testpmd-fix-a-typo-in-log-message.patch	2019-07-22 17:55:05.979469000 -0700
@@ -1,14 +1,15 @@
-From 9ee641c2c80bca6097fc52d59f469b3553194f46 Mon Sep 17 00:00:00 2001
+From 1ae21fe68060b4d221aa49da379ee3a84a46489a Mon Sep 17 00:00:00 2001
 From: Rami Rosen <ramirose@gmail.com>
 Date: Tue, 12 Mar 2019 07:48:43 +0200
 Subject: [PATCH] app/testpmd: fix a typo in log message
 
+[ upstream commit 9ee641c2c80bca6097fc52d59f469b3553194f46 ]
+
 This patch fixes a typo in test-pmd/cmdline.c,
 succcessfully->successfully
 Two C's are good enough for success...
 
 Fixes: a09f3e4c5046 ("app/testpmd: add hash configuration")
-Cc: stable@dpdk.org
 
 Signed-off-by: Rami Rosen <ramirose@gmail.com>
 Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
@@ -18,10 +19,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
-index db53cc0cce..815e5e887f 100644
+index a4bd5825b7..7a3a818723 100644
 --- a/app/test-pmd/cmdline.c
 +++ b/app/test-pmd/cmdline.c
-@@ -12076,7 +12076,7 @@ cmd_set_hash_global_config_parsed(void *parsed_result,
+@@ -11194,7 +11194,7 @@ cmd_set_hash_global_config_parsed(void *parsed_result,
  							res->port_id);
  	else
  		printf("Global hash configurations have been set "

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

* [dpdk-stable] patch 'net/octeontx: fix vdev name' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (31 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'app/testpmd: fix a typo in log message' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'app/testpmd: fix stdout flush after printing stats' " Yongseok Koh
                   ` (73 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Rami Rosen, Jerin Jacob, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 5e75860bf6060b98d9c5239da3aeab190a0dee34 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 13 Mar 2019 14:58:15 -0700
Subject: [PATCH] net/octeontx: fix vdev name

[ upstream commit b4ec00a2542425c8dae92ac7fa957a12e94686d1 ]

The octeontx driver is creating vdev with name  "OCTEONTX_PMD"
which is an artifact from how RTE_PMD_REGISTER_VDEV arguments
work.

Change to use the same convention as all the other network
drivers ie "net_octeontx").

Fixes: f7be70e5130e ("net/octeontx: add net device probe and remove")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Rami Rosen <ramirose@gmail.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
---
 drivers/net/octeontx/octeontx_ethdev.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/octeontx/octeontx_ethdev.h b/drivers/net/octeontx/octeontx_ethdev.h
index d37bb8a23a..811b51a425 100644
--- a/drivers/net/octeontx/octeontx_ethdev.h
+++ b/drivers/net/octeontx/octeontx_ethdev.h
@@ -48,6 +48,7 @@
 #include "base/octeontx_pkovf.h"
 #include "base/octeontx_io.h"
 
+#define OCTEONTX_PMD				net_octeontx
 #define OCTEONTX_VDEV_DEFAULT_MAX_NR_PORT	12
 #define OCTEONTX_VDEV_NR_PORT_ARG		("nr_port")
 #define OCTEONTX_MAX_NAME_LEN			32
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:08.354763908 -0700
+++ 0034-net-octeontx-fix-vdev-name.patch	2019-07-22 17:55:05.984474000 -0700
@@ -1,8 +1,10 @@
-From b4ec00a2542425c8dae92ac7fa957a12e94686d1 Mon Sep 17 00:00:00 2001
+From 5e75860bf6060b98d9c5239da3aeab190a0dee34 Mon Sep 17 00:00:00 2001
 From: Stephen Hemminger <stephen@networkplumber.org>
 Date: Wed, 13 Mar 2019 14:58:15 -0700
 Subject: [PATCH] net/octeontx: fix vdev name
 
+[ upstream commit b4ec00a2542425c8dae92ac7fa957a12e94686d1 ]
+
 The octeontx driver is creating vdev with name  "OCTEONTX_PMD"
 which is an artifact from how RTE_PMD_REGISTER_VDEV arguments
 work.
@@ -11,7 +13,6 @@
 drivers ie "net_octeontx").
 
 Fixes: f7be70e5130e ("net/octeontx: add net device probe and remove")
-Cc: stable@dpdk.org
 
 Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
 Reviewed-by: Rami Rosen <ramirose@gmail.com>
@@ -21,10 +22,10 @@
  1 file changed, 1 insertion(+)
 
 diff --git a/drivers/net/octeontx/octeontx_ethdev.h b/drivers/net/octeontx/octeontx_ethdev.h
-index 920f6f89b8..2a4a08afcc 100644
+index d37bb8a23a..811b51a425 100644
 --- a/drivers/net/octeontx/octeontx_ethdev.h
 +++ b/drivers/net/octeontx/octeontx_ethdev.h
-@@ -21,6 +21,7 @@
+@@ -48,6 +48,7 @@
  #include "base/octeontx_pkovf.h"
  #include "base/octeontx_io.h"
  

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

* [dpdk-stable] patch 'app/testpmd: fix stdout flush after printing stats' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (32 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/octeontx: fix vdev name' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/bonding: fix LACP negotiation' " Yongseok Koh
                   ` (72 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Igor Romanov; +Cc: Andrew Rybchenko, Bernard Iremonger, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 2d6a611d4fc6feda3b5285854a2bbf3b3f37cbfb Mon Sep 17 00:00:00 2001
From: Igor Romanov <igor.romanov@oktetlabs.ru>
Date: Mon, 18 Mar 2019 11:35:47 +0000
Subject: [PATCH] app/testpmd: fix stdout flush after printing stats

[ upstream commit 683d1e82a0f2caae1a9c6f1209ab4d743373a173 ]

User can specify stats period(n). The statistics should be available
to user every n second. But the print_stats() function does not
force stdout to be flushed, so for instance, a user reading testpmd's
stdout through pipe will not be able to read it until the stdout
buffer is filled.

Fixes: cfea1f3048d1 ("app/testpmd: print statistics periodically")

Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 app/test-pmd/testpmd.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index 2d9ca04df1..5db60c38e6 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -2507,6 +2507,8 @@ print_stats(void)
 	printf("\nPort statistics ====================================");
 	for (i = 0; i < cur_fwd_config.nb_fwd_ports; i++)
 		nic_stats_display(fwd_ports_ids[i]);
+
+	fflush(stdout);
 }
 
 static void
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:08.405446487 -0700
+++ 0035-app-testpmd-fix-stdout-flush-after-printing-stats.patch	2019-07-22 17:55:05.990469000 -0700
@@ -1,8 +1,10 @@
-From 683d1e82a0f2caae1a9c6f1209ab4d743373a173 Mon Sep 17 00:00:00 2001
+From 2d6a611d4fc6feda3b5285854a2bbf3b3f37cbfb Mon Sep 17 00:00:00 2001
 From: Igor Romanov <igor.romanov@oktetlabs.ru>
 Date: Mon, 18 Mar 2019 11:35:47 +0000
 Subject: [PATCH] app/testpmd: fix stdout flush after printing stats
 
+[ upstream commit 683d1e82a0f2caae1a9c6f1209ab4d743373a173 ]
+
 User can specify stats period(n). The statistics should be available
 to user every n second. But the print_stats() function does not
 force stdout to be flushed, so for instance, a user reading testpmd's
@@ -10,7 +12,6 @@
 buffer is filled.
 
 Fixes: cfea1f3048d1 ("app/testpmd: print statistics periodically")
-Cc: stable@dpdk.org
 
 Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
 Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
@@ -20,10 +21,10 @@
  1 file changed, 2 insertions(+)
 
 diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
-index d9d0c16d4c..216be47f92 100644
+index 2d9ca04df1..5db60c38e6 100644
 --- a/app/test-pmd/testpmd.c
 +++ b/app/test-pmd/testpmd.c
-@@ -3046,6 +3046,8 @@ print_stats(void)
+@@ -2507,6 +2507,8 @@ print_stats(void)
  	printf("\nPort statistics ====================================");
  	for (i = 0; i < cur_fwd_config.nb_fwd_ports; i++)
  		nic_stats_display(fwd_ports_ids[i]);

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

* [dpdk-stable] patch 'net/bonding: fix LACP negotiation' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (33 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'app/testpmd: fix stdout flush after printing stats' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'doc: fix examples in bonding guide' " Yongseok Koh
                   ` (71 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Liang Zhang; +Cc: Chas Williams, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 75ce196d3b2b5d5bd8a119eff5c4137af5cec8c0 Mon Sep 17 00:00:00 2001
From: Liang Zhang <zhangliang@bigo.sg>
Date: Thu, 21 Mar 2019 18:22:47 +0800
Subject: [PATCH] net/bonding: fix LACP negotiation

[ upstream commit 56cbc08173995d6d57bd5927dfe9b11ad269bf8d ]

When monitor(port-mirroring) traffic from other LACP port-channel,
rx_machine_update may be receiving other LACP negotiation packets.
Thus bond mode 4 negotiation will fail.

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

Signed-off-by: Liang Zhang <zhangliang@bigo.sg>
Acked-by: Chas Williams <chas3@att.com>
---
 drivers/net/bonding/rte_eth_bond_8023ad.c         | 12 ++++++++++--
 drivers/net/bonding/rte_eth_bond_8023ad_private.h |  1 +
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c b/drivers/net/bonding/rte_eth_bond_8023ad.c
index 1351808c44..14b82bb304 100644
--- a/drivers/net/bonding/rte_eth_bond_8023ad.c
+++ b/drivers/net/bonding/rte_eth_bond_8023ad.c
@@ -805,13 +805,20 @@ static void
 rx_machine_update(struct bond_dev_private *internals, uint8_t slave_id,
 		struct rte_mbuf *lacp_pkt) {
 	struct lacpdu_header *lacp;
+	struct lacpdu_actor_partner_params *partner;
 
 	if (lacp_pkt != NULL) {
 		lacp = rte_pktmbuf_mtod(lacp_pkt, struct lacpdu_header *);
 		RTE_ASSERT(lacp->lacpdu.subtype == SLOW_SUBTYPE_LACP);
 
-		/* This is LACP frame so pass it to rx_machine */
-		rx_machine(internals, slave_id, &lacp->lacpdu);
+		partner = &lacp->lacpdu.partner;
+		if (is_same_ether_addr(&partner->port_params.system,
+			&internals->mode4.mac_addr)) {
+			/* This LACP frame is sending to the bonding port
+			 * so pass it to rx_machine.
+			 */
+			rx_machine(internals, slave_id, &lacp->lacpdu);
+		}
 		rte_pktmbuf_free(lacp_pkt);
 	} else
 		rx_machine(internals, slave_id, NULL);
@@ -1186,6 +1193,7 @@ bond_mode_8023ad_start(struct rte_eth_dev *bond_dev)
 	struct mode8023ad_private *mode4 = &internals->mode4;
 	static const uint64_t us = BOND_MODE_8023AX_UPDATE_TIMEOUT_MS * 1000;
 
+	rte_eth_macaddr_get(internals->port_id, &mode4->mac_addr);
 	if (mode4->slowrx_cb)
 		return rte_eal_alarm_set(us, &bond_mode_8023ad_ext_periodic_cb,
 					 bond_dev);
diff --git a/drivers/net/bonding/rte_eth_bond_8023ad_private.h b/drivers/net/bonding/rte_eth_bond_8023ad_private.h
index 433c7000d0..8923e38bbc 100644
--- a/drivers/net/bonding/rte_eth_bond_8023ad_private.h
+++ b/drivers/net/bonding/rte_eth_bond_8023ad_private.h
@@ -179,6 +179,7 @@ struct mode8023ad_private {
 	uint64_t update_timeout_us;
 	rte_eth_bond_8023ad_ext_slowrx_fn slowrx_cb;
 	uint8_t external_sm;
+	struct ether_addr mac_addr;
 
 	struct rte_eth_link slave_link;
 	/***< slave link properties */
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:08.458839417 -0700
+++ 0036-net-bonding-fix-LACP-negotiation.patch	2019-07-22 17:55:05.997473000 -0700
@@ -1,14 +1,15 @@
-From 56cbc08173995d6d57bd5927dfe9b11ad269bf8d Mon Sep 17 00:00:00 2001
+From 75ce196d3b2b5d5bd8a119eff5c4137af5cec8c0 Mon Sep 17 00:00:00 2001
 From: Liang Zhang <zhangliang@bigo.sg>
 Date: Thu, 21 Mar 2019 18:22:47 +0800
 Subject: [PATCH] net/bonding: fix LACP negotiation
 
+[ upstream commit 56cbc08173995d6d57bd5927dfe9b11ad269bf8d ]
+
 When monitor(port-mirroring) traffic from other LACP port-channel,
 rx_machine_update may be receiving other LACP negotiation packets.
 Thus bond mode 4 negotiation will fail.
 
 Fixes: 112891cd27e5 ("net/bonding: add dedicated HW queues for LACP control")
-Cc: stable@dpdk.org
 
 Signed-off-by: Liang Zhang <zhangliang@bigo.sg>
 Acked-by: Chas Williams <chas3@att.com>
@@ -18,10 +19,10 @@
  2 files changed, 11 insertions(+), 2 deletions(-)
 
 diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c b/drivers/net/bonding/rte_eth_bond_8023ad.c
-index dd847c6f6e..dac23ac7b6 100644
+index 1351808c44..14b82bb304 100644
 --- a/drivers/net/bonding/rte_eth_bond_8023ad.c
 +++ b/drivers/net/bonding/rte_eth_bond_8023ad.c
-@@ -784,13 +784,20 @@ static void
+@@ -805,13 +805,20 @@ static void
  rx_machine_update(struct bond_dev_private *internals, uint8_t slave_id,
  		struct rte_mbuf *lacp_pkt) {
  	struct lacpdu_header *lacp;
@@ -44,7 +45,7 @@
  		rte_pktmbuf_free(lacp_pkt);
  	} else
  		rx_machine(internals, slave_id, NULL);
-@@ -1165,6 +1172,7 @@ bond_mode_8023ad_start(struct rte_eth_dev *bond_dev)
+@@ -1186,6 +1193,7 @@ bond_mode_8023ad_start(struct rte_eth_dev *bond_dev)
  	struct mode8023ad_private *mode4 = &internals->mode4;
  	static const uint64_t us = BOND_MODE_8023AX_UPDATE_TIMEOUT_MS * 1000;
  
@@ -53,10 +54,10 @@
  		return rte_eal_alarm_set(us, &bond_mode_8023ad_ext_periodic_cb,
  					 bond_dev);
 diff --git a/drivers/net/bonding/rte_eth_bond_8023ad_private.h b/drivers/net/bonding/rte_eth_bond_8023ad_private.h
-index c51426b858..f91902ebd7 100644
+index 433c7000d0..8923e38bbc 100644
 --- a/drivers/net/bonding/rte_eth_bond_8023ad_private.h
 +++ b/drivers/net/bonding/rte_eth_bond_8023ad_private.h
-@@ -150,6 +150,7 @@ struct mode8023ad_private {
+@@ -179,6 +179,7 @@ struct mode8023ad_private {
  	uint64_t update_timeout_us;
  	rte_eth_bond_8023ad_ext_slowrx_fn slowrx_cb;
  	uint8_t external_sm;

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

* [dpdk-stable] patch 'doc: fix examples in bonding guide' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (34 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/bonding: fix LACP negotiation' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/bonding: fix port id types' " Yongseok Koh
                   ` (70 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: David Marchand; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From fa692b614ff628d8a42c0fbaae1a291058958b16 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Wed, 20 Mar 2019 12:47:18 +0100
Subject: [PATCH] doc: fix examples in bonding guide

[ upstream commit 86dc5089e696ce39eb6964b6d96c995656042049 ]

Removed incorrect space character and fixed PCI addresses.

Fixes: fc1f2750a3ec ("doc: programmers guide")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst b/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst
index 1ef231df93..3d4168d0fb 100644
--- a/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst
+++ b/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst
@@ -465,22 +465,22 @@ Create a bonded device in round robin mode with two slaves specified by their PC
 
 .. code-block:: console
 
-    $RTE_TARGET/app/testpmd -l 0-3 -n 4 --vdev 'net_bonding0,mode=0, slave=0000:00a:00.01,slave=0000:004:00.00' -- --port-topology=chained
+    $RTE_TARGET/app/testpmd -l 0-3 -n 4 --vdev 'net_bonding0,mode=0,slave=0000:0a:00.01,slave=0000:04:00.00' -- --port-topology=chained
 
 Create a bonded device in round robin mode with two slaves specified by their PCI address and an overriding MAC address:
 
 .. code-block:: console
 
-    $RTE_TARGET/app/testpmd -l 0-3 -n 4 --vdev 'net_bonding0,mode=0, slave=0000:00a:00.01,slave=0000:004:00.00,mac=00:1e:67:1d:fd:1d' -- --port-topology=chained
+    $RTE_TARGET/app/testpmd -l 0-3 -n 4 --vdev 'net_bonding0,mode=0,slave=0000:0a:00.01,slave=0000:04:00.00,mac=00:1e:67:1d:fd:1d' -- --port-topology=chained
 
 Create a bonded device in active backup mode with two slaves specified, and a primary slave specified by their PCI addresses:
 
 .. code-block:: console
 
-    $RTE_TARGET/app/testpmd -l 0-3 -n 4 --vdev 'net_bonding0,mode=1, slave=0000:00a:00.01,slave=0000:004:00.00,primary=0000:00a:00.01' -- --port-topology=chained
+    $RTE_TARGET/app/testpmd -l 0-3 -n 4 --vdev 'net_bonding0,mode=1,slave=0000:0a:00.01,slave=0000:04:00.00,primary=0000:0a:00.01' -- --port-topology=chained
 
 Create a bonded device in balance mode with two slaves specified by their PCI addresses, and a transmission policy of layer 3 + 4 forwarding:
 
 .. code-block:: console
 
-    $RTE_TARGET/app/testpmd -l 0-3 -n 4 --vdev 'net_bonding0,mode=2, slave=0000:00a:00.01,slave=0000:004:00.00,xmit_policy=l34' -- --port-topology=chained
+    $RTE_TARGET/app/testpmd -l 0-3 -n 4 --vdev 'net_bonding0,mode=2,slave=0000:0a:00.01,slave=0000:04:00.00,xmit_policy=l34' -- --port-topology=chained
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:08.511022722 -0700
+++ 0037-doc-fix-examples-in-bonding-guide.patch	2019-07-22 17:55:06.002471000 -0700
@@ -1,12 +1,13 @@
-From 86dc5089e696ce39eb6964b6d96c995656042049 Mon Sep 17 00:00:00 2001
+From fa692b614ff628d8a42c0fbaae1a291058958b16 Mon Sep 17 00:00:00 2001
 From: David Marchand <david.marchand@redhat.com>
 Date: Wed, 20 Mar 2019 12:47:18 +0100
 Subject: [PATCH] doc: fix examples in bonding guide
 
+[ upstream commit 86dc5089e696ce39eb6964b6d96c995656042049 ]
+
 Removed incorrect space character and fixed PCI addresses.
 
 Fixes: fc1f2750a3ec ("doc: programmers guide")
-Cc: stable@dpdk.org
 
 Signed-off-by: David Marchand <david.marchand@redhat.com>
 Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
@@ -15,10 +16,10 @@
  1 file changed, 4 insertions(+), 4 deletions(-)
 
 diff --git a/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst b/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst
-index 56abee547b..2459fd243e 100644
+index 1ef231df93..3d4168d0fb 100644
 --- a/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst
 +++ b/doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst
-@@ -477,22 +477,22 @@ Create a bonded device in round robin mode with two slaves specified by their PC
+@@ -465,22 +465,22 @@ Create a bonded device in round robin mode with two slaves specified by their PC
  
  .. code-block:: console
  

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

* [dpdk-stable] patch 'net/bonding: fix port id types' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (35 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'doc: fix examples in bonding guide' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/bonding: fix queue index " Yongseok Koh
                   ` (69 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: David Marchand; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 2a213ae92032aee77f189fcadfbedcfb061958ff Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Wed, 20 Mar 2019 12:47:19 +0100
Subject: [PATCH] net/bonding: fix port id types

[ upstream commit c4fa09ba8ed585ce68af01d69f1614a1425e86a5 ]

Following the port id conversion to 16bits, two references to bonding
port id have been missed.

Fixes: f8244c6399d9 ("ethdev: increase port id range")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/bonding/rte_eth_bond_pmd.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index 409bcb5d72..9c9bc0851c 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -2083,7 +2083,7 @@ void
 bond_ethdev_close(struct rte_eth_dev *dev)
 {
 	struct bond_dev_private *internals = dev->data->dev_private;
-	uint8_t bond_port_id = internals->port_id;
+	uint16_t bond_port_id = internals->port_id;
 	int skipped = 0;
 
 	RTE_LOG(INFO, EAL, "Closing bonded device %s\n", dev->device->name);
@@ -2530,7 +2530,7 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type,
 	if (type != RTE_ETH_EVENT_INTR_LSC || param == NULL)
 		return rc;
 
-	bonded_eth_dev = &rte_eth_devices[*(uint8_t *)param];
+	bonded_eth_dev = &rte_eth_devices[*(uint16_t *)param];
 
 	if (check_for_bonded_ethdev(bonded_eth_dev))
 		return rc;
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:08.563255296 -0700
+++ 0038-net-bonding-fix-port-id-types.patch	2019-07-22 17:55:06.011470000 -0700
@@ -1,13 +1,14 @@
-From c4fa09ba8ed585ce68af01d69f1614a1425e86a5 Mon Sep 17 00:00:00 2001
+From 2a213ae92032aee77f189fcadfbedcfb061958ff Mon Sep 17 00:00:00 2001
 From: David Marchand <david.marchand@redhat.com>
 Date: Wed, 20 Mar 2019 12:47:19 +0100
 Subject: [PATCH] net/bonding: fix port id types
 
+[ upstream commit c4fa09ba8ed585ce68af01d69f1614a1425e86a5 ]
+
 Following the port id conversion to 16bits, two references to bonding
 port id have been missed.
 
 Fixes: f8244c6399d9 ("ethdev: increase port id range")
-Cc: stable@dpdk.org
 
 Signed-off-by: David Marchand <david.marchand@redhat.com>
 Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
@@ -16,19 +17,19 @@
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
-index b0d191d132..df0a3b4190 100644
+index 409bcb5d72..9c9bc0851c 100644
 --- a/drivers/net/bonding/rte_eth_bond_pmd.c
 +++ b/drivers/net/bonding/rte_eth_bond_pmd.c
-@@ -2196,7 +2196,7 @@ void
+@@ -2083,7 +2083,7 @@ void
  bond_ethdev_close(struct rte_eth_dev *dev)
  {
  	struct bond_dev_private *internals = dev->data->dev_private;
 -	uint8_t bond_port_id = internals->port_id;
 +	uint16_t bond_port_id = internals->port_id;
  	int skipped = 0;
- 	struct rte_flow_error ferror;
  
-@@ -2663,7 +2663,7 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type,
+ 	RTE_LOG(INFO, EAL, "Closing bonded device %s\n", dev->device->name);
+@@ -2530,7 +2530,7 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type,
  	if (type != RTE_ETH_EVENT_INTR_LSC || param == NULL)
  		return rc;
  

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

* [dpdk-stable] patch 'net/bonding: fix queue index types' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (36 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/bonding: fix port id types' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'drivers/net: fix possible overflow using strlcat' " Yongseok Koh
                   ` (68 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: David Marchand; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 89b7893553da74bff1834830da24b0d4cbaa11aa Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Wed, 20 Mar 2019 12:47:22 +0100
Subject: [PATCH] net/bonding: fix queue index types

[ upstream commit 88245e7e215272203355f4a671526d193db7a595 ]

Caught by code review, rxq and txq indexes are on 16bits.

Fixes: d1d1e664c6c4 ("bonding: free queue memory when closing")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/bonding/rte_eth_bond_pmd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index 9c9bc0851c..728c037cae 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -2011,7 +2011,7 @@ out_err:
 static void
 bond_ethdev_free_queues(struct rte_eth_dev *dev)
 {
-	uint8_t i;
+	uint16_t i;
 
 	if (dev->data->rx_queues != NULL) {
 		for (i = 0; i < dev->data->nb_rx_queues; i++) {
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:08.615013192 -0700
+++ 0039-net-bonding-fix-queue-index-types.patch	2019-07-22 17:55:06.020470000 -0700
@@ -1,12 +1,13 @@
-From 88245e7e215272203355f4a671526d193db7a595 Mon Sep 17 00:00:00 2001
+From 89b7893553da74bff1834830da24b0d4cbaa11aa Mon Sep 17 00:00:00 2001
 From: David Marchand <david.marchand@redhat.com>
 Date: Wed, 20 Mar 2019 12:47:22 +0100
 Subject: [PATCH] net/bonding: fix queue index types
 
+[ upstream commit 88245e7e215272203355f4a671526d193db7a595 ]
+
 Caught by code review, rxq and txq indexes are on 16bits.
 
 Fixes: d1d1e664c6c4 ("bonding: free queue memory when closing")
-Cc: stable@dpdk.org
 
 Signed-off-by: David Marchand <david.marchand@redhat.com>
 Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
@@ -15,10 +16,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
-index ae66a70f44..58b6e4344b 100644
+index 9c9bc0851c..728c037cae 100644
 --- a/drivers/net/bonding/rte_eth_bond_pmd.c
 +++ b/drivers/net/bonding/rte_eth_bond_pmd.c
-@@ -2128,7 +2128,7 @@ out_err:
+@@ -2011,7 +2011,7 @@ out_err:
  static void
  bond_ethdev_free_queues(struct rte_eth_dev *dev)
  {

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

* [dpdk-stable] patch 'drivers/net: fix possible overflow using strlcat' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (37 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/bonding: fix queue index " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'examples/ipsec-secgw: fix AES-CTR block size' " Yongseok Koh
                   ` (67 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Chaitanya Babu Talluri; +Cc: Ferruh Yigit, Shahed Shaikh, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From fc1fbdf266926b553f4d2ffe8cfd959640be5c64 Mon Sep 17 00:00:00 2001
From: Chaitanya Babu Talluri <tallurix.chaitanya.babu@intel.com>
Date: Fri, 22 Mar 2019 07:51:42 +0000
Subject: [PATCH] drivers/net: fix possible overflow using strlcat

[ upstream commit faf8c3095ac649f3d893ee846e2aa7cf1b4ccf4d ]

strcat does not check the destination length and there might be
chances of string overflow so instead of strcat, strlcat is used.

Fixes: 540a211084a7 ("bnx2x: driver core")
Fixes: e163c18a15b0 ("net/i40e: update ptype and pctype info")

Signed-off-by: Chaitanya Babu Talluri <tallurix.chaitanya.babu@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Shahed Shaikh <shshaikh@marvell.com>
---
 drivers/net/bnx2x/bnx2x.c      | 5 +++--
 drivers/net/i40e/i40e_ethdev.c | 4 ++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c
index 15bc0d67c3..2beac31389 100644
--- a/drivers/net/bnx2x/bnx2x.c
+++ b/drivers/net/bnx2x/bnx2x.c
@@ -27,6 +27,7 @@
 #include <sys/stat.h>
 #include <fcntl.h>
 #include <zlib.h>
+#include <rte_string_fns.h>
 
 #define BNX2X_PMD_VER_PREFIX "BNX2X PMD"
 #define BNX2X_PMD_VERSION_MAJOR 1
@@ -11750,13 +11751,13 @@ static const char *get_bnx2x_flags(uint32_t flags)
 
 	for (i = 0; i < 5; i++)
 		if (flags & (1 << i)) {
-			strcat(flag_str, flag[i]);
+			strlcat(flag_str, flag[i], sizeof(flag_str));
 			flags ^= (1 << i);
 		}
 	if (flags) {
 		static char unknown[BNX2X_INFO_STR_MAX];
 		snprintf(unknown, 32, "Unknown flag mask %x", flags);
-		strcat(flag_str, unknown);
+		strlcat(flag_str, unknown, sizeof(flag_str));
 	}
 	return flag_str;
 }
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 970eb04607..74467454e7 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -11608,8 +11608,8 @@ i40e_update_customized_pctype(struct rte_eth_dev *dev, uint8_t *pkg,
 			for (n = 0; n < proto_num; n++) {
 				if (proto[n].proto_id != proto_id)
 					continue;
-				strcat(name, proto[n].name);
-				strcat(name, "_");
+				strlcat(name, proto[n].name, sizeof(name));
+				strlcat(name, "_", sizeof(name));
 				break;
 			}
 		}
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:08.671135766 -0700
+++ 0040-drivers-net-fix-possible-overflow-using-strlcat.patch	2019-07-22 17:55:06.052470000 -0700
@@ -1,14 +1,15 @@
-From faf8c3095ac649f3d893ee846e2aa7cf1b4ccf4d Mon Sep 17 00:00:00 2001
+From fc1fbdf266926b553f4d2ffe8cfd959640be5c64 Mon Sep 17 00:00:00 2001
 From: Chaitanya Babu Talluri <tallurix.chaitanya.babu@intel.com>
 Date: Fri, 22 Mar 2019 07:51:42 +0000
 Subject: [PATCH] drivers/net: fix possible overflow using strlcat
 
+[ upstream commit faf8c3095ac649f3d893ee846e2aa7cf1b4ccf4d ]
+
 strcat does not check the destination length and there might be
 chances of string overflow so instead of strcat, strlcat is used.
 
 Fixes: 540a211084a7 ("bnx2x: driver core")
 Fixes: e163c18a15b0 ("net/i40e: update ptype and pctype info")
-Cc: stable@dpdk.org
 
 Signed-off-by: Chaitanya Babu Talluri <tallurix.chaitanya.babu@intel.com>
 Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
@@ -19,10 +20,10 @@
  2 files changed, 5 insertions(+), 4 deletions(-)
 
 diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c
-index 26b3828e89..ab092e23f0 100644
+index 15bc0d67c3..2beac31389 100644
 --- a/drivers/net/bnx2x/bnx2x.c
 +++ b/drivers/net/bnx2x/bnx2x.c
-@@ -25,6 +25,7 @@
+@@ -27,6 +27,7 @@
  #include <sys/stat.h>
  #include <fcntl.h>
  #include <zlib.h>
@@ -30,7 +31,7 @@
  
  #define BNX2X_PMD_VER_PREFIX "BNX2X PMD"
  #define BNX2X_PMD_VERSION_MAJOR 1
-@@ -11741,13 +11742,13 @@ static const char *get_bnx2x_flags(uint32_t flags)
+@@ -11750,13 +11751,13 @@ static const char *get_bnx2x_flags(uint32_t flags)
  
  	for (i = 0; i < 5; i++)
  		if (flags & (1 << i)) {
@@ -47,10 +48,10 @@
  	return flag_str;
  }
 diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
-index 8191a6a736..63ec8136d1 100644
+index 970eb04607..74467454e7 100644
 --- a/drivers/net/i40e/i40e_ethdev.c
 +++ b/drivers/net/i40e/i40e_ethdev.c
-@@ -12202,8 +12202,8 @@ i40e_update_customized_pctype(struct rte_eth_dev *dev, uint8_t *pkg,
+@@ -11608,8 +11608,8 @@ i40e_update_customized_pctype(struct rte_eth_dev *dev, uint8_t *pkg,
  			for (n = 0; n < proto_num; n++) {
  				if (proto[n].proto_id != proto_id)
  					continue;

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

* [dpdk-stable] patch 'examples/ipsec-secgw: fix AES-CTR block size' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (38 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'drivers/net: fix possible overflow using strlcat' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'examples/ipsec-secgw: fix debug logs' " Yongseok Koh
                   ` (66 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Fan Zhang; +Cc: Konstantin Ananyev, Akhil Goyal, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 406181af775f015be96d1b2bef1221b29a54900a Mon Sep 17 00:00:00 2001
From: Fan Zhang <roy.fan.zhang@intel.com>
Date: Tue, 5 Mar 2019 14:40:41 +0000
Subject: [PATCH] examples/ipsec-secgw: fix AES-CTR block size

[ upstream commit 8d9a222507b291113e18e6bc46f3196a51fd181d ]

This patch fixes the incorrect block size for AES-CTR in
legacy mode. Originally, wrong block size will cause
esp_inbound() drop AES-CTR encrypted packets if the payload
sizes not equal to multiple times of 16.

Fixes: 4470c22de2e1 ("examples/ipsec-secgw: add AES-CTR")

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
---
 examples/ipsec-secgw/sa.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/ipsec-secgw/sa.c b/examples/ipsec-secgw/sa.c
index b9f4a21149..b51a230a33 100644
--- a/examples/ipsec-secgw/sa.c
+++ b/examples/ipsec-secgw/sa.c
@@ -101,7 +101,7 @@ const struct supported_cipher_algo cipher_algos[] = {
 		.keyword = "aes-128-ctr",
 		.algo = RTE_CRYPTO_CIPHER_AES_CTR,
 		.iv_len = 8,
-		.block_size = 16, /* XXX AESNI MB limition, should be 4 */
+		.block_size = 4,
 		.key_len = 20
 	}
 };
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:08.740136911 -0700
+++ 0041-examples-ipsec-secgw-fix-AES-CTR-block-size.patch	2019-07-22 17:55:06.057474000 -0700
@@ -1,15 +1,16 @@
-From 8d9a222507b291113e18e6bc46f3196a51fd181d Mon Sep 17 00:00:00 2001
+From 406181af775f015be96d1b2bef1221b29a54900a Mon Sep 17 00:00:00 2001
 From: Fan Zhang <roy.fan.zhang@intel.com>
 Date: Tue, 5 Mar 2019 14:40:41 +0000
 Subject: [PATCH] examples/ipsec-secgw: fix AES-CTR block size
 
+[ upstream commit 8d9a222507b291113e18e6bc46f3196a51fd181d ]
+
 This patch fixes the incorrect block size for AES-CTR in
 legacy mode. Originally, wrong block size will cause
 esp_inbound() drop AES-CTR encrypted packets if the payload
 sizes not equal to multiple times of 16.
 
 Fixes: 4470c22de2e1 ("examples/ipsec-secgw: add AES-CTR")
-Cc: stable@dpdk.org
 
 Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
 Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
@@ -19,18 +20,18 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/examples/ipsec-secgw/sa.c b/examples/ipsec-secgw/sa.c
-index 414fcd26cf..93e3620bcd 100644
+index b9f4a21149..b51a230a33 100644
 --- a/examples/ipsec-secgw/sa.c
 +++ b/examples/ipsec-secgw/sa.c
-@@ -80,7 +80,7 @@ const struct supported_cipher_algo cipher_algos[] = {
+@@ -101,7 +101,7 @@ const struct supported_cipher_algo cipher_algos[] = {
  		.keyword = "aes-128-ctr",
  		.algo = RTE_CRYPTO_CIPHER_AES_CTR,
  		.iv_len = 8,
 -		.block_size = 16, /* XXX AESNI MB limition, should be 4 */
 +		.block_size = 4,
  		.key_len = 20
- 	},
- 	{
+ 	}
+ };
 -- 
 2.21.0
 

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

* [dpdk-stable] patch 'examples/ipsec-secgw: fix debug logs' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (39 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'examples/ipsec-secgw: fix AES-CTR block size' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'cryptodev: fix driver name comparison' " Yongseok Koh
                   ` (65 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Bernard Iremonger; +Cc: Konstantin Ananyev, Akhil Goyal, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 5a9550b54eb791c78d0998d37abc9003c5b7948f Mon Sep 17 00:00:00 2001
From: Bernard Iremonger <bernard.iremonger@intel.com>
Date: Thu, 7 Mar 2019 10:34:52 +0000
Subject: [PATCH] examples/ipsec-secgw: fix debug logs

[ upstream commit da7a540e1dc64495785d4f0d6e6b20b27bf28580 ]

Improve debug code in esp.c, sa.c and ipsec-secgw.c

Fixes: f159e70b0922 ("examples/ipsec-secgw: support transport mode")
Fixes: ec17993a145a ("examples/ipsec-secgw: support security offload")
Fixes: 0d547ed03717 ("examples/ipsec-secgw: support configuration file")
Fixes: 906257e965b7 ("examples/ipsec-secgw: support IPv6")

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
---
 examples/ipsec-secgw/esp.c         |  5 +++--
 examples/ipsec-secgw/ipsec-secgw.c |  6 ++++--
 examples/ipsec-secgw/sa.c          | 21 ++++++++++++++++++---
 3 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/examples/ipsec-secgw/esp.c b/examples/ipsec-secgw/esp.c
index c3efe52b15..32989aaa4e 100644
--- a/examples/ipsec-secgw/esp.c
+++ b/examples/ipsec-secgw/esp.c
@@ -189,7 +189,7 @@ esp_inbound_post(struct rte_mbuf *m, struct ipsec_sa *sa,
 	}
 
 	if (cop->status != RTE_CRYPTO_OP_STATUS_SUCCESS) {
-		RTE_LOG(ERR, IPSEC_ESP, "failed crypto op\n");
+		RTE_LOG(ERR, IPSEC_ESP, "%s() failed crypto op\n", __func__);
 		return -1;
 	}
 
@@ -479,7 +479,8 @@ esp_outbound_post(struct rte_mbuf *m,
 	} else {
 		RTE_ASSERT(cop != NULL);
 		if (cop->status != RTE_CRYPTO_OP_STATUS_SUCCESS) {
-			RTE_LOG(ERR, IPSEC_ESP, "Failed crypto op\n");
+			RTE_LOG(ERR, IPSEC_ESP, "%s() failed crypto op\n",
+				__func__);
 			return -1;
 		}
 	}
diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c
index f98d529f5d..2b4b8900df 100644
--- a/examples/ipsec-secgw/ipsec-secgw.c
+++ b/examples/ipsec-secgw/ipsec-secgw.c
@@ -262,7 +262,8 @@ prepare_one_packet(struct rte_mbuf *pkt, struct ipsec_traffic *t)
 		}
 	} else {
 		/* Unknown/Unsupported type, drop the packet */
-		RTE_LOG(ERR, IPSEC, "Unsupported packet type\n");
+		RTE_LOG(ERR, IPSEC, "Unsupported packet type 0x%x\n",
+			rte_be_to_cpu_16(eth->ether_type));
 		rte_pktmbuf_free(pkt);
 	}
 }
@@ -807,7 +808,8 @@ main_loop(__attribute__((unused)) void *dummy)
 	qconf->outbound.session_pool = socket_ctx[socket_id].session_pool;
 
 	if (qconf->nb_rx_queue == 0) {
-		RTE_LOG(INFO, IPSEC, "lcore %u has nothing to do\n", lcore_id);
+		RTE_LOG(DEBUG, IPSEC, "lcore %u has nothing to do\n",
+			lcore_id);
 		return 0;
 	}
 
diff --git a/examples/ipsec-secgw/sa.c b/examples/ipsec-secgw/sa.c
index b51a230a33..eb83d94cdc 100644
--- a/examples/ipsec-secgw/sa.c
+++ b/examples/ipsec-secgw/sa.c
@@ -700,7 +700,22 @@ print_one_sa_rule(const struct ipsec_sa *sa, int inbound)
 		}
 		break;
 	case TRANSPORT:
-		printf("Transport");
+		printf("Transport ");
+		break;
+	}
+	printf(" type:");
+	switch (sa->type) {
+	case RTE_SECURITY_ACTION_TYPE_NONE:
+		printf("no-offload ");
+		break;
+	case RTE_SECURITY_ACTION_TYPE_INLINE_CRYPTO:
+		printf("inline-crypto-offload ");
+		break;
+	case RTE_SECURITY_ACTION_TYPE_INLINE_PROTOCOL:
+		printf("inline-protocol-offload ");
+		break;
+	case RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL:
+		printf("lookaside-protocol-offload ");
 		break;
 	}
 	printf("\n");
@@ -727,8 +742,8 @@ sa_create(const char *name, int32_t socket_id)
 	snprintf(s, sizeof(s), "%s_%u", name, socket_id);
 
 	/* Create SA array table */
-	printf("Creating SA context with %u maximum entries\n",
-			IPSEC_SA_MAX_ENTRIES);
+	printf("Creating SA context with %u maximum entries on socket %d\n",
+			IPSEC_SA_MAX_ENTRIES, socket_id);
 
 	mz_size = sizeof(struct sa_ctx);
 	mz = rte_memzone_reserve(s, mz_size, socket_id,
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:08.793138071 -0700
+++ 0042-examples-ipsec-secgw-fix-debug-logs.patch	2019-07-22 17:55:06.067473000 -0700
@@ -1,15 +1,16 @@
-From da7a540e1dc64495785d4f0d6e6b20b27bf28580 Mon Sep 17 00:00:00 2001
+From 5a9550b54eb791c78d0998d37abc9003c5b7948f Mon Sep 17 00:00:00 2001
 From: Bernard Iremonger <bernard.iremonger@intel.com>
 Date: Thu, 7 Mar 2019 10:34:52 +0000
 Subject: [PATCH] examples/ipsec-secgw: fix debug logs
 
+[ upstream commit da7a540e1dc64495785d4f0d6e6b20b27bf28580 ]
+
 Improve debug code in esp.c, sa.c and ipsec-secgw.c
 
 Fixes: f159e70b0922 ("examples/ipsec-secgw: support transport mode")
 Fixes: ec17993a145a ("examples/ipsec-secgw: support security offload")
 Fixes: 0d547ed03717 ("examples/ipsec-secgw: support configuration file")
 Fixes: 906257e965b7 ("examples/ipsec-secgw: support IPv6")
-Cc: stable@dpdk.org
 
 Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
 Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
@@ -21,10 +22,10 @@
  3 files changed, 25 insertions(+), 7 deletions(-)
 
 diff --git a/examples/ipsec-secgw/esp.c b/examples/ipsec-secgw/esp.c
-index e33232c989..faa84ddd13 100644
+index c3efe52b15..32989aaa4e 100644
 --- a/examples/ipsec-secgw/esp.c
 +++ b/examples/ipsec-secgw/esp.c
-@@ -162,7 +162,7 @@ esp_inbound_post(struct rte_mbuf *m, struct ipsec_sa *sa,
+@@ -189,7 +189,7 @@ esp_inbound_post(struct rte_mbuf *m, struct ipsec_sa *sa,
  	}
  
  	if (cop->status != RTE_CRYPTO_OP_STATUS_SUCCESS) {
@@ -33,7 +34,7 @@
  		return -1;
  	}
  
-@@ -455,7 +455,8 @@ esp_outbound_post(struct rte_mbuf *m,
+@@ -479,7 +479,8 @@ esp_outbound_post(struct rte_mbuf *m,
  	} else {
  		RTE_ASSERT(cop != NULL);
  		if (cop->status != RTE_CRYPTO_OP_STATUS_SUCCESS) {
@@ -44,11 +45,11 @@
  		}
  	}
 diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c
-index 8e7cd1b73b..b253eea2bf 100644
+index f98d529f5d..2b4b8900df 100644
 --- a/examples/ipsec-secgw/ipsec-secgw.c
 +++ b/examples/ipsec-secgw/ipsec-secgw.c
-@@ -260,7 +260,8 @@ prepare_one_packet(struct rte_mbuf *pkt, struct ipsec_traffic *t)
- 		pkt->l3_len = sizeof(struct ip6_hdr);
+@@ -262,7 +262,8 @@ prepare_one_packet(struct rte_mbuf *pkt, struct ipsec_traffic *t)
+ 		}
  	} else {
  		/* Unknown/Unsupported type, drop the packet */
 -		RTE_LOG(ERR, IPSEC, "Unsupported packet type\n");
@@ -56,9 +57,9 @@
 +			rte_be_to_cpu_16(eth->ether_type));
  		rte_pktmbuf_free(pkt);
  	}
- 
-@@ -984,7 +985,8 @@ main_loop(__attribute__((unused)) void *dummy)
- 			socket_ctx[socket_id].session_priv_pool;
+ }
+@@ -807,7 +808,8 @@ main_loop(__attribute__((unused)) void *dummy)
+ 	qconf->outbound.session_pool = socket_ctx[socket_id].session_pool;
  
  	if (qconf->nb_rx_queue == 0) {
 -		RTE_LOG(INFO, IPSEC, "lcore %u has nothing to do\n", lcore_id);
@@ -68,10 +69,10 @@
  	}
  
 diff --git a/examples/ipsec-secgw/sa.c b/examples/ipsec-secgw/sa.c
-index 93e3620bcd..a7298a30c2 100644
+index b51a230a33..eb83d94cdc 100644
 --- a/examples/ipsec-secgw/sa.c
 +++ b/examples/ipsec-secgw/sa.c
-@@ -688,7 +688,22 @@ print_one_sa_rule(const struct ipsec_sa *sa, int inbound)
+@@ -700,7 +700,22 @@ print_one_sa_rule(const struct ipsec_sa *sa, int inbound)
  		}
  		break;
  	case TRANSPORT:
@@ -95,7 +96,7 @@
  		break;
  	}
  	printf("\n");
-@@ -716,8 +731,8 @@ sa_create(const char *name, int32_t socket_id)
+@@ -727,8 +742,8 @@ sa_create(const char *name, int32_t socket_id)
  	snprintf(s, sizeof(s), "%s_%u", name, socket_id);
  
  	/* Create SA array table */

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

* [dpdk-stable] patch 'cryptodev: fix driver name comparison' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (40 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'examples/ipsec-secgw: fix debug logs' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'malloc: fix documentation of realloc function' " Yongseok Koh
                   ` (64 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Anoob Joseph; +Cc: Ankur Dwivedi, Fiona Trahe, Akhil Goyal, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 419290bfaa14ccc88cd2f3c1b21ea1f3d53c7a15 Mon Sep 17 00:00:00 2001
From: Anoob Joseph <anoobj@marvell.com>
Date: Mon, 11 Mar 2019 05:55:44 +0000
Subject: [PATCH] cryptodev: fix driver name comparison

[ upstream commit 2382aa8c8f5820a5783b32a82e364a63d486183f ]

The string compare to the length of driver name might give false
positives when there are drivers with similar names (one being the
subset of another).

Following is such a naming which could result in false positive.
1. crypto_driver
2. crypto_driver1

When strncmp with len = strlen("crypto_driver") is done, it could give
a false positive when compared against "crypto_driver1". For such cases,
'strlen + 1' is done, so that the NULL termination also would be
considered for the comparison.

Fixes: d11b0f30df88 ("cryptodev: introduce API and framework for crypto devices")

Signed-off-by: Ankur Dwivedi <adwivedi@marvell.com>
Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
---
 lib/librte_cryptodev/rte_cryptodev.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/librte_cryptodev/rte_cryptodev.c b/lib/librte_cryptodev/rte_cryptodev.c
index b8e14b8627..c9f2b6235f 100644
--- a/lib/librte_cryptodev/rte_cryptodev.c
+++ b/lib/librte_cryptodev/rte_cryptodev.c
@@ -495,7 +495,7 @@ rte_cryptodev_devices_get(const char *driver_name, uint8_t *devices,
 
 			cmp = strncmp(devs[i].device->driver->name,
 					driver_name,
-					strlen(driver_name));
+					strlen(driver_name) + 1);
 
 			if (cmp == 0)
 				devices[count++] = devs[i].data->dev_id;
@@ -1405,7 +1405,7 @@ rte_cryptodev_driver_id_get(const char *name)
 
 	TAILQ_FOREACH(driver, &cryptodev_driver_list, next) {
 		driver_name = driver->driver->name;
-		if (strncmp(driver_name, name, strlen(driver_name)) == 0)
+		if (strncmp(driver_name, name, strlen(driver_name) + 1) == 0)
 			return driver->id;
 	}
 	return -1;
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:08.850020102 -0700
+++ 0043-cryptodev-fix-driver-name-comparison.patch	2019-07-22 17:55:06.072470000 -0700
@@ -1,8 +1,10 @@
-From 2382aa8c8f5820a5783b32a82e364a63d486183f Mon Sep 17 00:00:00 2001
+From 419290bfaa14ccc88cd2f3c1b21ea1f3d53c7a15 Mon Sep 17 00:00:00 2001
 From: Anoob Joseph <anoobj@marvell.com>
 Date: Mon, 11 Mar 2019 05:55:44 +0000
 Subject: [PATCH] cryptodev: fix driver name comparison
 
+[ upstream commit 2382aa8c8f5820a5783b32a82e364a63d486183f ]
+
 The string compare to the length of driver name might give false
 positives when there are drivers with similar names (one being the
 subset of another).
@@ -17,7 +19,6 @@
 considered for the comparison.
 
 Fixes: d11b0f30df88 ("cryptodev: introduce API and framework for crypto devices")
-Cc: stable@dpdk.org
 
 Signed-off-by: Ankur Dwivedi <adwivedi@marvell.com>
 Signed-off-by: Anoob Joseph <anoobj@marvell.com>
@@ -28,10 +29,10 @@
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/lib/librte_cryptodev/rte_cryptodev.c b/lib/librte_cryptodev/rte_cryptodev.c
-index 7009735306..871d7dda8b 100644
+index b8e14b8627..c9f2b6235f 100644
 --- a/lib/librte_cryptodev/rte_cryptodev.c
 +++ b/lib/librte_cryptodev/rte_cryptodev.c
-@@ -586,7 +586,7 @@ rte_cryptodev_devices_get(const char *driver_name, uint8_t *devices,
+@@ -495,7 +495,7 @@ rte_cryptodev_devices_get(const char *driver_name, uint8_t *devices,
  
  			cmp = strncmp(devs[i].device->driver->name,
  					driver_name,
@@ -40,7 +41,7 @@
  
  			if (cmp == 0)
  				devices[count++] = devs[i].data->dev_id;
-@@ -1691,7 +1691,7 @@ rte_cryptodev_driver_id_get(const char *name)
+@@ -1405,7 +1405,7 @@ rte_cryptodev_driver_id_get(const char *name)
  
  	TAILQ_FOREACH(driver, &cryptodev_driver_list, next) {
  		driver_name = driver->driver->name;

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

* [dpdk-stable] patch 'malloc: fix documentation of realloc function' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (41 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'cryptodev: fix driver name comparison' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'eal/linux: fix log levels for pagemap reading failure' " Yongseok Koh
                   ` (63 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Anatoly Burakov; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From f699b4f17796b85733e367883ee576cb728244fa Mon Sep 17 00:00:00 2001
From: Anatoly Burakov <anatoly.burakov@intel.com>
Date: Fri, 22 Feb 2019 15:29:29 +0000
Subject: [PATCH] malloc: fix documentation of realloc function

[ upstream commit 929a91e99c22c022342382779f3a06ddaabb2ff5 ]

The documentation for rte_realloc claims that the resized area
will always reside on the same NUMA node. This is not actually
the case - while *resized* area will be on the same NUMA node,
if resizing the area is not possible, then the memory will be
reallocated using rte_malloc(), which can allocate memory on
another NUMA node, depending on which lcore rte_realloc() was
called from and which NUMA nodes have memory available.

Fix the API doc to match the actual code of rte_realloc().

Fixes: af75078fece3 ("first public release")

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 lib/librte_eal/common/include/rte_malloc.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_eal/common/include/rte_malloc.h b/lib/librte_eal/common/include/rte_malloc.h
index 5d4c11a7ca..fbdf01bfed 100644
--- a/lib/librte_eal/common/include/rte_malloc.h
+++ b/lib/librte_eal/common/include/rte_malloc.h
@@ -139,7 +139,7 @@ rte_calloc(const char *type, size_t num, size_t size, unsigned align);
 /**
  * Replacement function for realloc(), using huge-page memory. Reserved area
  * memory is resized, preserving contents. In NUMA systems, the new area
- * resides on the same NUMA socket as the old area.
+ * may not reside on the same NUMA node as the old one.
  *
  * @param ptr
  *   Pointer to already allocated memory
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:08.902534062 -0700
+++ 0044-malloc-fix-documentation-of-realloc-function.patch	2019-07-22 17:55:06.077474000 -0700
@@ -1,8 +1,10 @@
-From 929a91e99c22c022342382779f3a06ddaabb2ff5 Mon Sep 17 00:00:00 2001
+From f699b4f17796b85733e367883ee576cb728244fa Mon Sep 17 00:00:00 2001
 From: Anatoly Burakov <anatoly.burakov@intel.com>
 Date: Fri, 22 Feb 2019 15:29:29 +0000
 Subject: [PATCH] malloc: fix documentation of realloc function
 
+[ upstream commit 929a91e99c22c022342382779f3a06ddaabb2ff5 ]
+
 The documentation for rte_realloc claims that the resized area
 will always reside on the same NUMA node. This is not actually
 the case - while *resized* area will be on the same NUMA node,
@@ -14,7 +16,6 @@
 Fix the API doc to match the actual code of rte_realloc().
 
 Fixes: af75078fece3 ("first public release")
-Cc: stable@dpdk.org
 
 Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
 ---
@@ -22,10 +23,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/lib/librte_eal/common/include/rte_malloc.h b/lib/librte_eal/common/include/rte_malloc.h
-index 5fbde4ed8b..5ff1a39a2e 100644
+index 5d4c11a7ca..fbdf01bfed 100644
 --- a/lib/librte_eal/common/include/rte_malloc.h
 +++ b/lib/librte_eal/common/include/rte_malloc.h
-@@ -111,7 +111,7 @@ rte_calloc(const char *type, size_t num, size_t size, unsigned align);
+@@ -139,7 +139,7 @@ rte_calloc(const char *type, size_t num, size_t size, unsigned align);
  /**
   * Replacement function for realloc(), using huge-page memory. Reserved area
   * memory is resized, preserving contents. In NUMA systems, the new area

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

* [dpdk-stable] patch 'eal/linux: fix log levels for pagemap reading failure' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (42 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'malloc: fix documentation of realloc function' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'test/spinlock: remove delay for correct benchmarking' " Yongseok Koh
                   ` (62 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Kevin Traynor; +Cc: Aaron Conole, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 1aea12c0f929b8b73b11e0866d1a6eef865e3ba3 Mon Sep 17 00:00:00 2001
From: Kevin Traynor <ktraynor@redhat.com>
Date: Thu, 14 Feb 2019 17:56:56 +0000
Subject: [PATCH] eal/linux: fix log levels for pagemap reading failure

[ backported from upstream commit c0d9052afbc711d85350c6e1252affda66e2f88b ]

Commit cdc242f260e7 says:
    For Linux kernel 4.0 and newer, the ability to obtain
    physical page frame numbers for unprivileged users from
    /proc/self/pagemap was removed. Instead, when an IOMMU
    is present, simply choose our own DMA addresses instead.

In this case the user still sees error messages, so adjust
the log levels. Later, other checks will ensure that errors
are logged in the appropriate cases.

Fixes: cdc242f260e7 ("eal/linux: support running as unprivileged user")

Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
Acked-by: Aaron Conole <aconole@redhat.com>
---
 lib/librte_eal/linuxapp/eal/eal_memory.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c b/lib/librte_eal/linuxapp/eal/eal_memory.c
index 8d0456b560..f1938ecfcb 100644
--- a/lib/librte_eal/linuxapp/eal/eal_memory.c
+++ b/lib/librte_eal/linuxapp/eal/eal_memory.c
@@ -154,7 +154,7 @@ rte_mem_virt2phy(const void *virtaddr)
 
 	fd = open("/proc/self/pagemap", O_RDONLY);
 	if (fd < 0) {
-		RTE_LOG(ERR, EAL, "%s(): cannot open /proc/self/pagemap: %s\n",
+		RTE_LOG(INFO, EAL, "%s(): cannot open /proc/self/pagemap: %s\n",
 			__func__, strerror(errno));
 		return RTE_BAD_IOVA;
 	}
@@ -162,8 +162,9 @@ rte_mem_virt2phy(const void *virtaddr)
 	virt_pfn = (unsigned long)virtaddr / page_size;
 	offset = sizeof(uint64_t) * virt_pfn;
 	if (lseek(fd, offset, SEEK_SET) == (off_t) -1) {
-		RTE_LOG(ERR, EAL, "%s(): seek error in /proc/self/pagemap: %s\n",
-				__func__, strerror(errno));
+		RTE_LOG(INFO, EAL,
+			"%s(): seek error in /proc/self/pagemap: %s\n",
+			__func__, strerror(errno));
 		close(fd);
 		return RTE_BAD_IOVA;
 	}
@@ -171,13 +172,14 @@ rte_mem_virt2phy(const void *virtaddr)
 	retval = read(fd, &page, PFN_MASK_SIZE);
 	close(fd);
 	if (retval < 0) {
-		RTE_LOG(ERR, EAL, "%s(): cannot read /proc/self/pagemap: %s\n",
+		RTE_LOG(INFO, EAL, "%s(): cannot read /proc/self/pagemap: %s\n",
 				__func__, strerror(errno));
 		return RTE_BAD_IOVA;
 	} else if (retval != PFN_MASK_SIZE) {
-		RTE_LOG(ERR, EAL, "%s(): read %d bytes from /proc/self/pagemap "
-				"but expected %d:\n",
-				__func__, retval, PFN_MASK_SIZE);
+		RTE_LOG(INFO, EAL,
+			"%s(): read %d bytes from /proc/self/pagemap "
+			"but expected %d:\n",
+			__func__, retval, PFN_MASK_SIZE);
 		return RTE_BAD_IOVA;
 	}
 
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:08.951312246 -0700
+++ 0045-eal-linux-fix-log-levels-for-pagemap-reading-failure.patch	2019-07-22 17:55:06.084470000 -0700
@@ -1,8 +1,10 @@
-From c0d9052afbc711d85350c6e1252affda66e2f88b Mon Sep 17 00:00:00 2001
+From 1aea12c0f929b8b73b11e0866d1a6eef865e3ba3 Mon Sep 17 00:00:00 2001
 From: Kevin Traynor <ktraynor@redhat.com>
 Date: Thu, 14 Feb 2019 17:56:56 +0000
 Subject: [PATCH] eal/linux: fix log levels for pagemap reading failure
 
+[ backported from upstream commit c0d9052afbc711d85350c6e1252affda66e2f88b ]
+
 Commit cdc242f260e7 says:
     For Linux kernel 4.0 and newer, the ability to obtain
     physical page frame numbers for unprivileged users from
@@ -14,19 +16,18 @@
 are logged in the appropriate cases.
 
 Fixes: cdc242f260e7 ("eal/linux: support running as unprivileged user")
-Cc: stable@dpdk.org
 
 Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
 Acked-by: Aaron Conole <aconole@redhat.com>
 ---
- lib/librte_eal/linux/eal/eal_memory.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
+ lib/librte_eal/linuxapp/eal/eal_memory.c | 16 +++++++++-------
+ 1 file changed, 9 insertions(+), 7 deletions(-)
 
-diff --git a/lib/librte_eal/linux/eal/eal_memory.c b/lib/librte_eal/linux/eal/eal_memory.c
-index 1b96b576e0..f6ee403ad6 100644
---- a/lib/librte_eal/linux/eal/eal_memory.c
-+++ b/lib/librte_eal/linux/eal/eal_memory.c
-@@ -114,7 +114,7 @@ rte_mem_virt2phy(const void *virtaddr)
+diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c b/lib/librte_eal/linuxapp/eal/eal_memory.c
+index 8d0456b560..f1938ecfcb 100644
+--- a/lib/librte_eal/linuxapp/eal/eal_memory.c
++++ b/lib/librte_eal/linuxapp/eal/eal_memory.c
+@@ -154,7 +154,7 @@ rte_mem_virt2phy(const void *virtaddr)
  
  	fd = open("/proc/self/pagemap", O_RDONLY);
  	if (fd < 0) {
@@ -35,16 +36,19 @@
  			__func__, strerror(errno));
  		return RTE_BAD_IOVA;
  	}
-@@ -122,7 +122,7 @@ rte_mem_virt2phy(const void *virtaddr)
+@@ -162,8 +162,9 @@ rte_mem_virt2phy(const void *virtaddr)
  	virt_pfn = (unsigned long)virtaddr / page_size;
  	offset = sizeof(uint64_t) * virt_pfn;
  	if (lseek(fd, offset, SEEK_SET) == (off_t) -1) {
 -		RTE_LOG(ERR, EAL, "%s(): seek error in /proc/self/pagemap: %s\n",
-+		RTE_LOG(INFO, EAL, "%s(): seek error in /proc/self/pagemap: %s\n",
- 				__func__, strerror(errno));
+-				__func__, strerror(errno));
++		RTE_LOG(INFO, EAL,
++			"%s(): seek error in /proc/self/pagemap: %s\n",
++			__func__, strerror(errno));
  		close(fd);
  		return RTE_BAD_IOVA;
-@@ -131,11 +131,11 @@ rte_mem_virt2phy(const void *virtaddr)
+ 	}
+@@ -171,13 +172,14 @@ rte_mem_virt2phy(const void *virtaddr)
  	retval = read(fd, &page, PFN_MASK_SIZE);
  	close(fd);
  	if (retval < 0) {
@@ -54,10 +58,15 @@
  		return RTE_BAD_IOVA;
  	} else if (retval != PFN_MASK_SIZE) {
 -		RTE_LOG(ERR, EAL, "%s(): read %d bytes from /proc/self/pagemap "
-+		RTE_LOG(INFO, EAL, "%s(): read %d bytes from /proc/self/pagemap "
- 				"but expected %d:\n",
- 				__func__, retval, PFN_MASK_SIZE);
+-				"but expected %d:\n",
+-				__func__, retval, PFN_MASK_SIZE);
++		RTE_LOG(INFO, EAL,
++			"%s(): read %d bytes from /proc/self/pagemap "
++			"but expected %d:\n",
++			__func__, retval, PFN_MASK_SIZE);
  		return RTE_BAD_IOVA;
+ 	}
+ 
 -- 
 2.21.0
 

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

* [dpdk-stable] patch 'test/spinlock: remove delay for correct benchmarking' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (43 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'eal/linux: fix log levels for pagemap reading failure' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'test/spinlock: amortize the cost of getting time' " Yongseok Koh
                   ` (61 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Gavin Hu
  Cc: Ruifeng Wang, Joyce Kong, Phil Yang, Honnappa Nagarahalli,
	Ola Liljedahl, Jerin Jacob, Nipun Gupta, Konstantin Ananyev,
	dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 8e802faf2304cbe790c8417547e147d8d6cc55ed Mon Sep 17 00:00:00 2001
From: Gavin Hu <gavin.hu@arm.com>
Date: Fri, 8 Mar 2019 15:56:35 +0800
Subject: [PATCH] test/spinlock: remove delay for correct benchmarking

[ upstream commit 9119ad305db027b5c87e27b13fde9d60f9aa9a1f ]

The test is to benchmark the performance of spinlock by counting the
number of spinlock acquire and release operations within the specified
time.
A typical pair of lock and unlock operations costs tens or hundreds of
nano seconds, in comparison to this, delaying 1 us outside of the locked
region is too much, compromising the goal of benchmarking the lock and
unlock performance.

Fixes: af75078fece3 ("first public release")

Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Joyce Kong <joyce.kong@arm.com>
Reviewed-by: Phil Yang <phil.yang@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Ola Liljedahl <ola.liljedahl@arm.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
---
 test/test/test_spinlock.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/test/test/test_spinlock.c b/test/test/test_spinlock.c
index bb34e0c64e..d15edf73ce 100644
--- a/test/test/test_spinlock.c
+++ b/test/test/test_spinlock.c
@@ -149,8 +149,6 @@ load_loop_fn(void *func_param)
 		lcount++;
 		if (use_lock)
 			rte_spinlock_unlock(&lk);
-		/* delay to make lock duty cycle slighlty realistic */
-		rte_delay_us(1);
 		time_diff = rte_get_timer_cycles() - begin;
 	}
 	lock_count[lcore] = lcount;
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:09.003096626 -0700
+++ 0046-test-spinlock-remove-delay-for-correct-benchmarking.patch	2019-07-22 17:55:06.089472000 -0700
@@ -1,8 +1,10 @@
-From 9119ad305db027b5c87e27b13fde9d60f9aa9a1f Mon Sep 17 00:00:00 2001
+From 8e802faf2304cbe790c8417547e147d8d6cc55ed Mon Sep 17 00:00:00 2001
 From: Gavin Hu <gavin.hu@arm.com>
 Date: Fri, 8 Mar 2019 15:56:35 +0800
 Subject: [PATCH] test/spinlock: remove delay for correct benchmarking
 
+[ upstream commit 9119ad305db027b5c87e27b13fde9d60f9aa9a1f ]
+
 The test is to benchmark the performance of spinlock by counting the
 number of spinlock acquire and release operations within the specified
 time.
@@ -12,7 +14,6 @@
 unlock performance.
 
 Fixes: af75078fece3 ("first public release")
-Cc: stable@dpdk.org
 
 Signed-off-by: Gavin Hu <gavin.hu@arm.com>
 Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
@@ -24,14 +25,14 @@
 Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
 Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
 ---
- app/test/test_spinlock.c | 2 --
+ test/test/test_spinlock.c | 2 --
  1 file changed, 2 deletions(-)
 
-diff --git a/app/test/test_spinlock.c b/app/test/test_spinlock.c
-index 73bff128e6..6795195aee 100644
---- a/app/test/test_spinlock.c
-+++ b/app/test/test_spinlock.c
-@@ -120,8 +120,6 @@ load_loop_fn(void *func_param)
+diff --git a/test/test/test_spinlock.c b/test/test/test_spinlock.c
+index bb34e0c64e..d15edf73ce 100644
+--- a/test/test/test_spinlock.c
++++ b/test/test/test_spinlock.c
+@@ -149,8 +149,6 @@ load_loop_fn(void *func_param)
  		lcount++;
  		if (use_lock)
  			rte_spinlock_unlock(&lk);

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

* [dpdk-stable] patch 'test/spinlock: amortize the cost of getting time' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (44 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'test/spinlock: remove delay for correct benchmarking' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'spinlock: reimplement with atomic one-way barrier' " Yongseok Koh
                   ` (60 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Gavin Hu
  Cc: Joyce Kong, Ruifeng Wang, Honnappa Nagarahalli, Nipun Gupta,
	Konstantin Ananyev, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 85be9f32ddebec7f4b692836e351c570474c2258 Mon Sep 17 00:00:00 2001
From: Gavin Hu <gavin.hu@arm.com>
Date: Fri, 8 Mar 2019 15:56:36 +0800
Subject: [PATCH] test/spinlock: amortize the cost of getting time

[ upstream commit a52c5530d8d2b21c1ff4a5b12b40216fb6ee06f1 ]

Instead of getting timestamps per iteration, amortize its overhead
can help getting more precise benchmarking results.

Fixes: af75078fece3 ("first public release")

Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Joyce Kong <joyce.kong@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
---
 test/test/test_spinlock.c | 29 ++++++++++++++++-------------
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/test/test/test_spinlock.c b/test/test/test_spinlock.c
index d15edf73ce..ea2f63b882 100644
--- a/test/test/test_spinlock.c
+++ b/test/test/test_spinlock.c
@@ -125,16 +125,16 @@ test_spinlock_recursive_per_core(__attribute__((unused)) void *arg)
 }
 
 static rte_spinlock_t lk = RTE_SPINLOCK_INITIALIZER;
-static uint64_t lock_count[RTE_MAX_LCORE] = {0};
+static uint64_t time_count[RTE_MAX_LCORE] = {0};
 
-#define TIME_MS 100
+#define MAX_LOOP 10000
 
 static int
 load_loop_fn(void *func_param)
 {
 	uint64_t time_diff = 0, begin;
 	uint64_t hz = rte_get_timer_hz();
-	uint64_t lcount = 0;
+	volatile uint64_t lcount = 0;
 	const int use_lock = *(int*)func_param;
 	const unsigned lcore = rte_lcore_id();
 
@@ -143,15 +143,15 @@ load_loop_fn(void *func_param)
 		while (rte_atomic32_read(&synchro) == 0);
 
 	begin = rte_get_timer_cycles();
-	while (time_diff < hz * TIME_MS / 1000) {
+	while (lcount < MAX_LOOP) {
 		if (use_lock)
 			rte_spinlock_lock(&lk);
 		lcount++;
 		if (use_lock)
 			rte_spinlock_unlock(&lk);
-		time_diff = rte_get_timer_cycles() - begin;
 	}
-	lock_count[lcore] = lcount;
+	time_diff = rte_get_timer_cycles() - begin;
+	time_count[lcore] = time_diff * 1000000 / hz;
 	return 0;
 }
 
@@ -165,14 +165,16 @@ test_spinlock_perf(void)
 
 	printf("\nTest with no lock on single core...\n");
 	load_loop_fn(&lock);
-	printf("Core [%u] count = %"PRIu64"\n", lcore, lock_count[lcore]);
-	memset(lock_count, 0, sizeof(lock_count));
+	printf("Core [%u] Cost Time = %"PRIu64" us\n", lcore,
+						time_count[lcore]);
+	memset(time_count, 0, sizeof(time_count));
 
 	printf("\nTest with lock on single core...\n");
 	lock = 1;
 	load_loop_fn(&lock);
-	printf("Core [%u] count = %"PRIu64"\n", lcore, lock_count[lcore]);
-	memset(lock_count, 0, sizeof(lock_count));
+	printf("Core [%u] Cost Time = %"PRIu64" us\n", lcore,
+						time_count[lcore]);
+	memset(time_count, 0, sizeof(time_count));
 
 	printf("\nTest with lock on %u cores...\n", rte_lcore_count());
 
@@ -187,11 +189,12 @@ test_spinlock_perf(void)
 	rte_eal_mp_wait_lcore();
 
 	RTE_LCORE_FOREACH(i) {
-		printf("Core [%u] count = %"PRIu64"\n", i, lock_count[i]);
-		total += lock_count[i];
+		printf("Core [%u] Cost Time = %"PRIu64" us\n", i,
+						time_count[i]);
+		total += time_count[i];
 	}
 
-	printf("Total count = %"PRIu64"\n", total);
+	printf("Total Cost Time = %"PRIu64" us\n", total);
 
 	return 0;
 }
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:09.053735050 -0700
+++ 0047-test-spinlock-amortize-the-cost-of-getting-time.patch	2019-07-22 17:55:06.094471000 -0700
@@ -1,13 +1,14 @@
-From a52c5530d8d2b21c1ff4a5b12b40216fb6ee06f1 Mon Sep 17 00:00:00 2001
+From 85be9f32ddebec7f4b692836e351c570474c2258 Mon Sep 17 00:00:00 2001
 From: Gavin Hu <gavin.hu@arm.com>
 Date: Fri, 8 Mar 2019 15:56:36 +0800
 Subject: [PATCH] test/spinlock: amortize the cost of getting time
 
+[ upstream commit a52c5530d8d2b21c1ff4a5b12b40216fb6ee06f1 ]
+
 Instead of getting timestamps per iteration, amortize its overhead
 can help getting more precise benchmarking results.
 
 Fixes: af75078fece3 ("first public release")
-Cc: stable@dpdk.org
 
 Signed-off-by: Gavin Hu <gavin.hu@arm.com>
 Reviewed-by: Joyce Kong <joyce.kong@arm.com>
@@ -16,14 +17,14 @@
 Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
 Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
 ---
- app/test/test_spinlock.c | 29 ++++++++++++++++-------------
+ test/test/test_spinlock.c | 29 ++++++++++++++++-------------
  1 file changed, 16 insertions(+), 13 deletions(-)
 
-diff --git a/app/test/test_spinlock.c b/app/test/test_spinlock.c
-index 6795195aee..6ac749597a 100644
---- a/app/test/test_spinlock.c
-+++ b/app/test/test_spinlock.c
-@@ -96,16 +96,16 @@ test_spinlock_recursive_per_core(__attribute__((unused)) void *arg)
+diff --git a/test/test/test_spinlock.c b/test/test/test_spinlock.c
+index d15edf73ce..ea2f63b882 100644
+--- a/test/test/test_spinlock.c
++++ b/test/test/test_spinlock.c
+@@ -125,16 +125,16 @@ test_spinlock_recursive_per_core(__attribute__((unused)) void *arg)
  }
  
  static rte_spinlock_t lk = RTE_SPINLOCK_INITIALIZER;
@@ -43,7 +44,7 @@
  	const int use_lock = *(int*)func_param;
  	const unsigned lcore = rte_lcore_id();
  
-@@ -114,15 +114,15 @@ load_loop_fn(void *func_param)
+@@ -143,15 +143,15 @@ load_loop_fn(void *func_param)
  		while (rte_atomic32_read(&synchro) == 0);
  
  	begin = rte_get_timer_cycles();
@@ -62,7 +63,7 @@
  	return 0;
  }
  
-@@ -136,14 +136,16 @@ test_spinlock_perf(void)
+@@ -165,14 +165,16 @@ test_spinlock_perf(void)
  
  	printf("\nTest with no lock on single core...\n");
  	load_loop_fn(&lock);
@@ -83,7 +84,7 @@
  
  	printf("\nTest with lock on %u cores...\n", rte_lcore_count());
  
-@@ -158,11 +160,12 @@ test_spinlock_perf(void)
+@@ -187,11 +189,12 @@ test_spinlock_perf(void)
  	rte_eal_mp_wait_lcore();
  
  	RTE_LCORE_FOREACH(i) {

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

* [dpdk-stable] patch 'spinlock: reimplement with atomic one-way barrier' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (45 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'test/spinlock: amortize the cost of getting time' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'eal/ppc: fix global memory " Yongseok Koh
                   ` (59 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Gavin Hu
  Cc: Phil Yang, Honnappa Nagarahalli, Ola Liljedahl, Steve Capper,
	Jerin Jacob, Nipun Gupta, Konstantin Ananyev, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 2f66f485b44da1c7bad27a92fe847a8b7888a831 Mon Sep 17 00:00:00 2001
From: Gavin Hu <gavin.hu@arm.com>
Date: Fri, 8 Mar 2019 15:56:37 +0800
Subject: [PATCH] spinlock: reimplement with atomic one-way barrier

[ upstream commit 453d8f736676255696bce3c5e01b43b543ff896c ]

The __sync builtin based implementation generates full memory barriers
('dmb ish') on Arm platforms. Using C11 atomic builtins to generate one way
barriers.

Here is the assembly code of __sync_compare_and_swap builtin.
__sync_bool_compare_and_swap(dst, exp, src);
   0x000000000090f1b0 <+16>:    e0 07 40 f9 ldr x0, [sp, #8]
   0x000000000090f1b4 <+20>:    e1 0f 40 79 ldrh    w1, [sp, #6]
   0x000000000090f1b8 <+24>:    e2 0b 40 79 ldrh    w2, [sp, #4]
   0x000000000090f1bc <+28>:    21 3c 00 12 and w1, w1, #0xffff
   0x000000000090f1c0 <+32>:    03 7c 5f 48 ldxrh   w3, [x0]
   0x000000000090f1c4 <+36>:    7f 00 01 6b cmp w3, w1
   0x000000000090f1c8 <+40>:    61 00 00 54 b.ne    0x90f1d4
<rte_atomic16_cmpset+52>  // b.any
   0x000000000090f1cc <+44>:    02 fc 04 48 stlxrh  w4, w2, [x0]
   0x000000000090f1d0 <+48>:    84 ff ff 35 cbnz    w4, 0x90f1c0
<rte_atomic16_cmpset+32>
   0x000000000090f1d4 <+52>:    bf 3b 03 d5 dmb ish
   0x000000000090f1d8 <+56>:    e0 17 9f 1a cset    w0, eq  // eq = none

The benchmarking results showed constant improvements on all available
platforms:
1. Cavium ThunderX2: 126% performance;
2. Hisilicon 1616: 30%;
3. Qualcomm Falkor: 13%;
4. Marvell ARMADA 8040 with A72 cores on macchiatobin: 3.7%

Here is the example test result on TX2:
$sudo ./build/app/test -l 16-27 -- i
RTE>>spinlock_autotest

*** spinlock_autotest without this patch ***
Test with lock on 12 cores...
Core [16] Cost Time = 53886 us
Core [17] Cost Time = 53605 us
Core [18] Cost Time = 53163 us
Core [19] Cost Time = 49419 us
Core [20] Cost Time = 34317 us
Core [21] Cost Time = 53408 us
Core [22] Cost Time = 53970 us
Core [23] Cost Time = 53930 us
Core [24] Cost Time = 53283 us
Core [25] Cost Time = 51504 us
Core [26] Cost Time = 50718 us
Core [27] Cost Time = 51730 us
Total Cost Time = 612933 us

*** spinlock_autotest with this patch ***
Test with lock on 12 cores...
Core [16] Cost Time = 18808 us
Core [17] Cost Time = 29497 us
Core [18] Cost Time = 29132 us
Core [19] Cost Time = 26150 us
Core [20] Cost Time = 21892 us
Core [21] Cost Time = 24377 us
Core [22] Cost Time = 27211 us
Core [23] Cost Time = 11070 us
Core [24] Cost Time = 29802 us
Core [25] Cost Time = 15793 us
Core [26] Cost Time = 7474 us
Core [27] Cost Time = 29550 us
Total Cost Time = 270756 us

In the tests on ThunderX2, with more cores contending, the performance gain
was even higher, indicating the __atomic implementation scales up better
than __sync.

Fixes: af75078fece3 ("first public release")

Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Phil Yang <phil.yang@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Ola Liljedahl <ola.liljedahl@arm.com>
Reviewed-by: Steve Capper <steve.capper@arm.com>
Reviewed-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
---
 .../common/include/generic/rte_spinlock.h      | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/lib/librte_eal/common/include/generic/rte_spinlock.h b/lib/librte_eal/common/include/generic/rte_spinlock.h
index 54f83a4c56..f260136f28 100644
--- a/lib/librte_eal/common/include/generic/rte_spinlock.h
+++ b/lib/librte_eal/common/include/generic/rte_spinlock.h
@@ -90,9 +90,14 @@ rte_spinlock_lock(rte_spinlock_t *sl);
 static inline void
 rte_spinlock_lock(rte_spinlock_t *sl)
 {
-	while (__sync_lock_test_and_set(&sl->locked, 1))
-		while(sl->locked)
+	int exp = 0;
+
+	while (!__atomic_compare_exchange_n(&sl->locked, &exp, 1, 0,
+				__ATOMIC_ACQUIRE, __ATOMIC_RELAXED)) {
+		while (__atomic_load_n(&sl->locked, __ATOMIC_RELAXED))
 			rte_pause();
+		exp = 0;
+	}
 }
 #endif
 
@@ -109,7 +114,7 @@ rte_spinlock_unlock (rte_spinlock_t *sl);
 static inline void
 rte_spinlock_unlock (rte_spinlock_t *sl)
 {
-	__sync_lock_release(&sl->locked);
+	__atomic_store_n(&sl->locked, 0, __ATOMIC_RELEASE);
 }
 #endif
 
@@ -128,7 +133,10 @@ rte_spinlock_trylock (rte_spinlock_t *sl);
 static inline int
 rte_spinlock_trylock (rte_spinlock_t *sl)
 {
-	return __sync_lock_test_and_set(&sl->locked,1) == 0;
+	int exp = 0;
+	return __atomic_compare_exchange_n(&sl->locked, &exp, 1,
+				0, /* disallow spurious failure */
+				__ATOMIC_ACQUIRE, __ATOMIC_RELAXED);
 }
 #endif
 
@@ -142,7 +150,7 @@ rte_spinlock_trylock (rte_spinlock_t *sl)
  */
 static inline int rte_spinlock_is_locked (rte_spinlock_t *sl)
 {
-	return sl->locked;
+	return __atomic_load_n(&sl->locked, __ATOMIC_ACQUIRE);
 }
 
 /**
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:09.104148109 -0700
+++ 0048-spinlock-reimplement-with-atomic-one-way-barrier.patch	2019-07-22 17:55:06.100479000 -0700
@@ -1,8 +1,10 @@
-From 453d8f736676255696bce3c5e01b43b543ff896c Mon Sep 17 00:00:00 2001
+From 2f66f485b44da1c7bad27a92fe847a8b7888a831 Mon Sep 17 00:00:00 2001
 From: Gavin Hu <gavin.hu@arm.com>
 Date: Fri, 8 Mar 2019 15:56:37 +0800
 Subject: [PATCH] spinlock: reimplement with atomic one-way barrier
 
+[ upstream commit 453d8f736676255696bce3c5e01b43b543ff896c ]
+
 The __sync builtin based implementation generates full memory barriers
 ('dmb ish') on Arm platforms. Using C11 atomic builtins to generate one way
 barriers.
@@ -71,7 +73,6 @@
 than __sync.
 
 Fixes: af75078fece3 ("first public release")
-Cc: stable@dpdk.org
 
 Signed-off-by: Gavin Hu <gavin.hu@arm.com>
 Reviewed-by: Phil Yang <phil.yang@arm.com>
@@ -86,10 +87,10 @@
  1 file changed, 13 insertions(+), 5 deletions(-)
 
 diff --git a/lib/librte_eal/common/include/generic/rte_spinlock.h b/lib/librte_eal/common/include/generic/rte_spinlock.h
-index c4c3fc31ec..87ae7a4f18 100644
+index 54f83a4c56..f260136f28 100644
 --- a/lib/librte_eal/common/include/generic/rte_spinlock.h
 +++ b/lib/librte_eal/common/include/generic/rte_spinlock.h
-@@ -61,9 +61,14 @@ rte_spinlock_lock(rte_spinlock_t *sl);
+@@ -90,9 +90,14 @@ rte_spinlock_lock(rte_spinlock_t *sl);
  static inline void
  rte_spinlock_lock(rte_spinlock_t *sl)
  {
@@ -106,7 +107,7 @@
  }
  #endif
  
-@@ -80,7 +85,7 @@ rte_spinlock_unlock (rte_spinlock_t *sl);
+@@ -109,7 +114,7 @@ rte_spinlock_unlock (rte_spinlock_t *sl);
  static inline void
  rte_spinlock_unlock (rte_spinlock_t *sl)
  {
@@ -115,7 +116,7 @@
  }
  #endif
  
-@@ -99,7 +104,10 @@ rte_spinlock_trylock (rte_spinlock_t *sl);
+@@ -128,7 +133,10 @@ rte_spinlock_trylock (rte_spinlock_t *sl);
  static inline int
  rte_spinlock_trylock (rte_spinlock_t *sl)
  {
@@ -127,7 +128,7 @@
  }
  #endif
  
-@@ -113,7 +121,7 @@ rte_spinlock_trylock (rte_spinlock_t *sl)
+@@ -142,7 +150,7 @@ rte_spinlock_trylock (rte_spinlock_t *sl)
   */
  static inline int rte_spinlock_is_locked (rte_spinlock_t *sl)
  {

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

* [dpdk-stable] patch 'eal/ppc: fix global memory barrier' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (46 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'spinlock: reimplement with atomic one-way barrier' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'bus/dpaa: fix Rx discard register mask' " Yongseok Koh
                   ` (58 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Dekel Peled; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From c58dfbbd961f83a6954bb8d6e60a7afbcbfbcdeb Mon Sep 17 00:00:00 2001
From: Dekel Peled <dekelp@mellanox.com>
Date: Mon, 18 Mar 2019 14:58:13 +0200
Subject: [PATCH] eal/ppc: fix global memory barrier

[ upstream commit 8015c5593acc3ed490d75c70ff67961b7e278e38 ]

From previous patch description: "to improve performance on PPC64,
use light weight sync instruction instead of sync instruction."

Excerpt from IBM doc [1], section "Memory barrier instructions":
"The second form of the sync instruction is light-weight sync,
or lwsync.
This form is used to control ordering for storage accesses to system
memory only. It does not create a memory barrier for accesses to
device memory."

This patch removes the use of lwsync, so calls to rte_wmb() and
rte_rmb() will provide correct memory barrier to ensure order of
accesses to system memory and device memory.

[1] https://www.ibm.com/developerworks/systems/articles/powerpc.html

Fixes: d23a6bd04d72 ("eal/ppc: fix memory barrier for IBM POWER")

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
---
 lib/librte_eal/common/include/arch/ppc_64/rte_atomic.h | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_atomic.h b/lib/librte_eal/common/include/arch/ppc_64/rte_atomic.h
index 3a80311bc2..68786cb062 100644
--- a/lib/librte_eal/common/include/arch/ppc_64/rte_atomic.h
+++ b/lib/librte_eal/common/include/arch/ppc_64/rte_atomic.h
@@ -63,11 +63,7 @@ extern "C" {
  * Guarantees that the STORE operations generated before the barrier
  * occur before the STORE operations generated after.
  */
-#ifdef RTE_ARCH_64
-#define	rte_wmb() asm volatile("lwsync" : : : "memory")
-#else
 #define	rte_wmb() asm volatile("sync" : : : "memory")
-#endif
 
 /**
  * Read memory barrier.
@@ -75,11 +71,7 @@ extern "C" {
  * Guarantees that the LOAD operations generated before the barrier
  * occur before the LOAD operations generated after.
  */
-#ifdef RTE_ARCH_64
-#define	rte_rmb() asm volatile("lwsync" : : : "memory")
-#else
 #define	rte_rmb() asm volatile("sync" : : : "memory")
-#endif
 
 #define rte_smp_mb() rte_mb()
 
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:09.156817037 -0700
+++ 0049-eal-ppc-fix-global-memory-barrier.patch	2019-07-22 17:55:06.108471000 -0700
@@ -1,8 +1,10 @@
-From 8015c5593acc3ed490d75c70ff67961b7e278e38 Mon Sep 17 00:00:00 2001
+From c58dfbbd961f83a6954bb8d6e60a7afbcbfbcdeb Mon Sep 17 00:00:00 2001
 From: Dekel Peled <dekelp@mellanox.com>
 Date: Mon, 18 Mar 2019 14:58:13 +0200
 Subject: [PATCH] eal/ppc: fix global memory barrier
 
+[ upstream commit 8015c5593acc3ed490d75c70ff67961b7e278e38 ]
+
 From previous patch description: "to improve performance on PPC64,
 use light weight sync instruction instead of sync instruction."
 
@@ -20,7 +22,6 @@
 [1] https://www.ibm.com/developerworks/systems/articles/powerpc.html
 
 Fixes: d23a6bd04d72 ("eal/ppc: fix memory barrier for IBM POWER")
-Cc: stable@dpdk.org
 
 Signed-off-by: Dekel Peled <dekelp@mellanox.com>
 ---
@@ -28,7 +29,7 @@
  1 file changed, 8 deletions(-)
 
 diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_atomic.h b/lib/librte_eal/common/include/arch/ppc_64/rte_atomic.h
-index ce38350bdc..797381c0f5 100644
+index 3a80311bc2..68786cb062 100644
 --- a/lib/librte_eal/common/include/arch/ppc_64/rte_atomic.h
 +++ b/lib/librte_eal/common/include/arch/ppc_64/rte_atomic.h
 @@ -63,11 +63,7 @@ extern "C" {

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

* [dpdk-stable] patch 'bus/dpaa: fix Rx discard register mask' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (47 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'eal/ppc: fix global memory " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'power: fix frequency list buffer validation' " Yongseok Koh
                   ` (57 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Shreyansh Jain; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 680cb4c98389055ca331513ae8bd64976630e502 Mon Sep 17 00:00:00 2001
From: Shreyansh Jain <shreyansh.jain@nxp.com>
Date: Fri, 22 Feb 2019 10:09:44 +0000
Subject: [PATCH] bus/dpaa: fix Rx discard register mask

[ upstream commit 6880caed6b33ef0a4e06ec4b3c41ab40a2b5c12a ]

Current value of 'fmbm_rfsdm' register (0x010CE3F0) doesn't include
the bit to drop colored (red) packets. New value (0x010EE3F0) fixes
this.
Check with 'fmbm_rffc' register of fm_port_bmi_regs.

Fixes: 6d6b4f49a155 ("bus/dpaa: add FMAN hardware operations")

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
---
 drivers/bus/dpaa/base/fman/fman_hw.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/bus/dpaa/base/fman/fman_hw.c b/drivers/bus/dpaa/base/fman/fman_hw.c
index d66efa12a6..509e43f2b8 100644
--- a/drivers/bus/dpaa/base/fman/fman_hw.c
+++ b/drivers/bus/dpaa/base/fman/fman_hw.c
@@ -584,9 +584,9 @@ fman_if_discard_rx_errors(struct fman_if *fm_if)
 	out_be32(fmbm_rfsem, 0);
 
 	/* Configure the discard mask to discard the error packets which have
-	 * DMA errors, Frame size error, Header error etc. The mask 0x010CE3F0
+	 * DMA errors, Frame size error, Header error etc. The mask 0x010EE3F0
 	 * is to configured discard all the errors which come in the FD[STATUS]
 	 */
 	fmbm_rfsdm = &((struct rx_bmi_regs *)__if->bmi_map)->fmbm_rfsdm;
-	out_be32(fmbm_rfsdm, 0x010CE3F0);
+	out_be32(fmbm_rfsdm, 0x010EE3F0);
 }
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:09.210867562 -0700
+++ 0050-bus-dpaa-fix-Rx-discard-register-mask.patch	2019-07-22 17:55:06.114470000 -0700
@@ -1,15 +1,16 @@
-From 6880caed6b33ef0a4e06ec4b3c41ab40a2b5c12a Mon Sep 17 00:00:00 2001
+From 680cb4c98389055ca331513ae8bd64976630e502 Mon Sep 17 00:00:00 2001
 From: Shreyansh Jain <shreyansh.jain@nxp.com>
 Date: Fri, 22 Feb 2019 10:09:44 +0000
 Subject: [PATCH] bus/dpaa: fix Rx discard register mask
 
+[ upstream commit 6880caed6b33ef0a4e06ec4b3c41ab40a2b5c12a ]
+
 Current value of 'fmbm_rfsdm' register (0x010CE3F0) doesn't include
 the bit to drop colored (red) packets. New value (0x010EE3F0) fixes
 this.
 Check with 'fmbm_rffc' register of fm_port_bmi_regs.
 
 Fixes: 6d6b4f49a155 ("bus/dpaa: add FMAN hardware operations")
-Cc: stable@dpdk.org
 
 Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
 ---
@@ -17,10 +18,10 @@
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/drivers/bus/dpaa/base/fman/fman_hw.c b/drivers/bus/dpaa/base/fman/fman_hw.c
-index 4ebbc3d340..9ab8e835dc 100644
+index d66efa12a6..509e43f2b8 100644
 --- a/drivers/bus/dpaa/base/fman/fman_hw.c
 +++ b/drivers/bus/dpaa/base/fman/fman_hw.c
-@@ -603,9 +603,9 @@ fman_if_discard_rx_errors(struct fman_if *fm_if)
+@@ -584,9 +584,9 @@ fman_if_discard_rx_errors(struct fman_if *fm_if)
  	out_be32(fmbm_rfsem, 0);
  
  	/* Configure the discard mask to discard the error packets which have

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

* [dpdk-stable] patch 'power: fix frequency list buffer validation' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (48 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'bus/dpaa: fix Rx discard register mask' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'bus/fslmc: remove unused include of error.h' " Yongseok Koh
                   ` (56 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Kevin Traynor; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 94fa1bf6191c3ba3bbeb7025493a737068621674 Mon Sep 17 00:00:00 2001
From: Kevin Traynor <ktraynor@redhat.com>
Date: Wed, 6 Feb 2019 12:19:06 +0000
Subject: [PATCH] power: fix frequency list buffer validation

[ upstream commit e1e4dafbc7b83c695eb745fe033f5c1e9e344454 ]

The frequency list buffer was already validated in
power_acpi_cpufreq_freqs(), so the newly added check was redundant.
To keep consistency with power_pstate_cpufreq_freqs(), remove the
original check and update the log message.

Fixes: 2e6ccdb4e088 ("power: fix frequency list to handle null buffer")

Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
---
 lib/librte_power/rte_power_acpi_cpufreq.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/librte_power/rte_power_acpi_cpufreq.c b/lib/librte_power/rte_power_acpi_cpufreq.c
index 6b0cdb2eb4..9a2fa81d28 100644
--- a/lib/librte_power/rte_power_acpi_cpufreq.c
+++ b/lib/librte_power/rte_power_acpi_cpufreq.c
@@ -465,8 +465,8 @@ rte_power_acpi_cpufreq_freqs(unsigned lcore_id, uint32_t *freqs, uint32_t num)
 {
 	struct rte_power_info *pi;
 
-	if (lcore_id >= RTE_MAX_LCORE || !freqs) {
-		RTE_LOG(ERR, POWER, "Invalid input parameter\n");
+	if (lcore_id >= RTE_MAX_LCORE) {
+		RTE_LOG(ERR, POWER, "Invalid lcore ID\n");
 		return 0;
 	}
 
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:09.261363083 -0700
+++ 0051-power-fix-frequency-list-buffer-validation.patch	2019-07-22 17:55:06.118471000 -0700
@@ -1,26 +1,27 @@
-From e1e4dafbc7b83c695eb745fe033f5c1e9e344454 Mon Sep 17 00:00:00 2001
+From 94fa1bf6191c3ba3bbeb7025493a737068621674 Mon Sep 17 00:00:00 2001
 From: Kevin Traynor <ktraynor@redhat.com>
 Date: Wed, 6 Feb 2019 12:19:06 +0000
 Subject: [PATCH] power: fix frequency list buffer validation
 
+[ upstream commit e1e4dafbc7b83c695eb745fe033f5c1e9e344454 ]
+
 The frequency list buffer was already validated in
 power_acpi_cpufreq_freqs(), so the newly added check was redundant.
 To keep consistency with power_pstate_cpufreq_freqs(), remove the
 original check and update the log message.
 
 Fixes: 2e6ccdb4e088 ("power: fix frequency list to handle null buffer")
-Cc: stable@dpdk.org
 
 Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
 ---
- lib/librte_power/power_acpi_cpufreq.c | 4 ++--
+ lib/librte_power/rte_power_acpi_cpufreq.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
-diff --git a/lib/librte_power/power_acpi_cpufreq.c b/lib/librte_power/power_acpi_cpufreq.c
-index 45412f0b99..534efe817d 100644
---- a/lib/librte_power/power_acpi_cpufreq.c
-+++ b/lib/librte_power/power_acpi_cpufreq.c
-@@ -440,8 +440,8 @@ power_acpi_cpufreq_freqs(unsigned int lcore_id, uint32_t *freqs, uint32_t num)
+diff --git a/lib/librte_power/rte_power_acpi_cpufreq.c b/lib/librte_power/rte_power_acpi_cpufreq.c
+index 6b0cdb2eb4..9a2fa81d28 100644
+--- a/lib/librte_power/rte_power_acpi_cpufreq.c
++++ b/lib/librte_power/rte_power_acpi_cpufreq.c
+@@ -465,8 +465,8 @@ rte_power_acpi_cpufreq_freqs(unsigned lcore_id, uint32_t *freqs, uint32_t num)
  {
  	struct rte_power_info *pi;
  

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

* [dpdk-stable] patch 'bus/fslmc: remove unused include of error.h' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (49 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'power: fix frequency list buffer validation' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'bus/fslmc: fix build with musl libc' " Yongseok Koh
                   ` (55 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Natanael Copa; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 850c203481ee27c98f04d5974781d678c8a95b3b Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Wed, 13 Mar 2019 18:06:48 +0100
Subject: [PATCH] bus/fslmc: remove unused include of error.h

[ upstream commit 0ebe8561a1898db1fb881a9b3d2aa33822287e50 ]

Fixes following build error with musl libc:

In file included from drivers/bus/fslmc/qbman/qbman_debug.c:6:
drivers/bus/fslmc/qbman/include/compat.h:21:10: fatal error:
error.h: No such file or directory
 #include <error.h>
          ^~~~~~~~~

Apparently it is not used anywere in qbman so simply remove the include.

Fixes: 531b17a780dc ("bus/fslmc: add QBMAN driver to bus")

Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
---
 drivers/bus/fslmc/qbman/include/compat.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/bus/fslmc/qbman/include/compat.h b/drivers/bus/fslmc/qbman/include/compat.h
index 423087cbb7..dcda35d4d8 100644
--- a/drivers/bus/fslmc/qbman/include/compat.h
+++ b/drivers/bus/fslmc/qbman/include/compat.h
@@ -39,7 +39,6 @@
 #include <string.h>
 #include <malloc.h>
 #include <unistd.h>
-#include <error.h>
 #include <linux/types.h>
 #include <rte_atomic.h>
 
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:09.313288040 -0700
+++ 0052-bus-fslmc-remove-unused-include-of-error.h.patch	2019-07-22 17:55:06.123477000 -0700
@@ -1,8 +1,10 @@
-From 0ebe8561a1898db1fb881a9b3d2aa33822287e50 Mon Sep 17 00:00:00 2001
+From 850c203481ee27c98f04d5974781d678c8a95b3b Mon Sep 17 00:00:00 2001
 From: Natanael Copa <ncopa@alpinelinux.org>
 Date: Wed, 13 Mar 2019 18:06:48 +0100
 Subject: [PATCH] bus/fslmc: remove unused include of error.h
 
+[ upstream commit 0ebe8561a1898db1fb881a9b3d2aa33822287e50 ]
+
 Fixes following build error with musl libc:
 
 In file included from drivers/bus/fslmc/qbman/qbman_debug.c:6:
@@ -14,7 +16,6 @@
 Apparently it is not used anywere in qbman so simply remove the include.
 
 Fixes: 531b17a780dc ("bus/fslmc: add QBMAN driver to bus")
-Cc: stable@dpdk.org
 
 Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
 ---
@@ -22,10 +23,10 @@
  1 file changed, 1 deletion(-)
 
 diff --git a/drivers/bus/fslmc/qbman/include/compat.h b/drivers/bus/fslmc/qbman/include/compat.h
-index 655bff4b6b..e85a90ce7a 100644
+index 423087cbb7..dcda35d4d8 100644
 --- a/drivers/bus/fslmc/qbman/include/compat.h
 +++ b/drivers/bus/fslmc/qbman/include/compat.h
-@@ -17,7 +17,6 @@
+@@ -39,7 +39,6 @@
  #include <string.h>
  #include <malloc.h>
  #include <unistd.h>

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

* [dpdk-stable] patch 'bus/fslmc: fix build with musl libc' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (50 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'bus/fslmc: remove unused include of error.h' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'app/test: " Yongseok Koh
                   ` (54 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Natanael Copa; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From fbed20e51e8b6527f0959437c0f3f646f9b3e9b7 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Wed, 13 Mar 2019 18:06:47 +0100
Subject: [PATCH] bus/fslmc: fix build with musl libc

[ upstream commit da1a31d92d65b88e068724da342ea46dfaa70036 ]

This fixes the following compile error with musl libc:

drivers/bus/fslmc/qbman/include/compat.h:41:10: error:
'stdout' undeclared (first use in this function)
   fflush(stdout); \
          ^~~~~~

Fixes: 531b17a780dc ("bus/fslmc: add QBMAN driver to bus")

Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
---
 drivers/bus/fslmc/qbman/include/compat.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/bus/fslmc/qbman/include/compat.h b/drivers/bus/fslmc/qbman/include/compat.h
index dcda35d4d8..17d1e7857a 100644
--- a/drivers/bus/fslmc/qbman/include/compat.h
+++ b/drivers/bus/fslmc/qbman/include/compat.h
@@ -33,6 +33,7 @@
 #ifndef _GNU_SOURCE
 #define _GNU_SOURCE
 #endif
+#include <stdio.h>
 #include <stdint.h>
 #include <stdlib.h>
 #include <errno.h>
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:09.361442337 -0700
+++ 0053-bus-fslmc-fix-build-with-musl-libc.patch	2019-07-22 17:55:06.139471000 -0700
@@ -1,8 +1,10 @@
-From da1a31d92d65b88e068724da342ea46dfaa70036 Mon Sep 17 00:00:00 2001
+From fbed20e51e8b6527f0959437c0f3f646f9b3e9b7 Mon Sep 17 00:00:00 2001
 From: Natanael Copa <ncopa@alpinelinux.org>
 Date: Wed, 13 Mar 2019 18:06:47 +0100
 Subject: [PATCH] bus/fslmc: fix build with musl libc
 
+[ upstream commit da1a31d92d65b88e068724da342ea46dfaa70036 ]
+
 This fixes the following compile error with musl libc:
 
 drivers/bus/fslmc/qbman/include/compat.h:41:10: error:
@@ -11,7 +13,6 @@
           ^~~~~~
 
 Fixes: 531b17a780dc ("bus/fslmc: add QBMAN driver to bus")
-Cc: stable@dpdk.org
 
 Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
 ---
@@ -19,10 +20,10 @@
  1 file changed, 1 insertion(+)
 
 diff --git a/drivers/bus/fslmc/qbman/include/compat.h b/drivers/bus/fslmc/qbman/include/compat.h
-index e85a90ce7a..1ddd69e127 100644
+index dcda35d4d8..17d1e7857a 100644
 --- a/drivers/bus/fslmc/qbman/include/compat.h
 +++ b/drivers/bus/fslmc/qbman/include/compat.h
-@@ -11,6 +11,7 @@
+@@ -33,6 +33,7 @@
  #ifndef _GNU_SOURCE
  #define _GNU_SOURCE
  #endif

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

* [dpdk-stable] patch 'app/test: fix build with musl libc' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (51 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'bus/fslmc: fix build with musl libc' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'app/testpmd: remove useless casts on statistics' " Yongseok Koh
                   ` (53 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Natanael Copa; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 4aef738cbe8db4fcd996eb5fba469b7e63438836 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Wed, 13 Mar 2019 18:06:50 +0100
Subject: [PATCH] app/test: fix build with musl libc

[ upstream commit 816d76c53e246b97ee6dfc8343efa5959ea7270d ]

Fix following build error with musl libc:

app/test/test_eal_flags.c:152:55: error:
'O_RDONLY' undeclared (first use in this function)
      fd = openat(dirfd(hugepage_dir), dirent->d_name, O_RDONLY);
                                                       ^~~~~~~~

Fixes: 45f1b6e8680a ("app: add new tests on eal flags")

Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
---
 test/test/test_eal_flags.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/test/test/test_eal_flags.c b/test/test/test_eal_flags.c
index 55bbe717e5..59e137759f 100644
--- a/test/test/test_eal_flags.c
+++ b/test/test/test_eal_flags.c
@@ -45,6 +45,7 @@
 #include <sys/wait.h>
 #include <sys/file.h>
 #include <limits.h>
+#include <fcntl.h>
 
 #include <rte_per_lcore.h>
 #include <rte_debug.h>
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:09.411764701 -0700
+++ 0054-app-test-fix-build-with-musl-libc.patch	2019-07-22 17:55:06.144471000 -0700
@@ -1,8 +1,10 @@
-From 816d76c53e246b97ee6dfc8343efa5959ea7270d Mon Sep 17 00:00:00 2001
+From 4aef738cbe8db4fcd996eb5fba469b7e63438836 Mon Sep 17 00:00:00 2001
 From: Natanael Copa <ncopa@alpinelinux.org>
 Date: Wed, 13 Mar 2019 18:06:50 +0100
 Subject: [PATCH] app/test: fix build with musl libc
 
+[ upstream commit 816d76c53e246b97ee6dfc8343efa5959ea7270d ]
+
 Fix following build error with musl libc:
 
 app/test/test_eal_flags.c:152:55: error:
@@ -11,18 +13,17 @@
                                                        ^~~~~~~~
 
 Fixes: 45f1b6e8680a ("app: add new tests on eal flags")
-Cc: stable@dpdk.org
 
 Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
 ---
- app/test/test_eal_flags.c | 1 +
+ test/test/test_eal_flags.c | 1 +
  1 file changed, 1 insertion(+)
 
-diff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c
-index 1a64b09007..d626dd7128 100644
---- a/app/test/test_eal_flags.c
-+++ b/app/test/test_eal_flags.c
-@@ -17,6 +17,7 @@
+diff --git a/test/test/test_eal_flags.c b/test/test/test_eal_flags.c
+index 55bbe717e5..59e137759f 100644
+--- a/test/test/test_eal_flags.c
++++ b/test/test/test_eal_flags.c
+@@ -45,6 +45,7 @@
  #include <sys/wait.h>
  #include <sys/file.h>
  #include <limits.h>

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

* [dpdk-stable] patch 'app/testpmd: remove useless casts on statistics' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (52 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'app/test: " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'ethdev: fix a typo' " Yongseok Koh
                   ` (52 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: David Marchand
  Cc: Andrew Rybchenko, Maxime Coquelin, Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 3390fad3c1d75b4aba0d7584e333053e7985bad5 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Mon, 25 Mar 2019 09:51:45 +0100
Subject: [PATCH] app/testpmd: remove useless casts on statistics

[ upstream commit 7718296d06916d0b2029763913944f0067a2d0dd ]

Caught by code review while investigating the fwd stats display code.

Fixes: af75078fece3 ("first public release")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 app/test-pmd/testpmd.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index 5db60c38e6..f8c76a6f60 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -988,7 +988,7 @@ fwd_port_stats_display(portid_t port_id, struct rte_eth_stats *stats)
 		printf("  RX-packets: %-14"PRIu64" RX-dropped: %-14"PRIu64"RX-total: "
 		       "%-"PRIu64"\n",
 		       stats->ipackets, stats->imissed,
-		       (uint64_t) (stats->ipackets + stats->imissed));
+		       stats->ipackets + stats->imissed);
 
 		if (cur_fwd_eng == &csum_fwd_engine)
 			printf("  Bad-ipcsum: %-14"PRIu64" Bad-l4csum: %-14"PRIu64" \n",
@@ -1001,13 +1001,13 @@ fwd_port_stats_display(portid_t port_id, struct rte_eth_stats *stats)
 		printf("  TX-packets: %-14"PRIu64" TX-dropped: %-14"PRIu64"TX-total: "
 		       "%-"PRIu64"\n",
 		       stats->opackets, port->tx_dropped,
-		       (uint64_t) (stats->opackets + port->tx_dropped));
+		       stats->opackets + port->tx_dropped);
 	}
 	else {
 		printf("  RX-packets:             %14"PRIu64"    RX-dropped:%14"PRIu64"    RX-total:"
 		       "%14"PRIu64"\n",
 		       stats->ipackets, stats->imissed,
-		       (uint64_t) (stats->ipackets + stats->imissed));
+		       stats->ipackets + stats->imissed);
 
 		if (cur_fwd_eng == &csum_fwd_engine)
 			printf("  Bad-ipcsum:%14"PRIu64"    Bad-l4csum:%14"PRIu64"\n",
@@ -1021,7 +1021,7 @@ fwd_port_stats_display(portid_t port_id, struct rte_eth_stats *stats)
 		printf("  TX-packets:             %14"PRIu64"    TX-dropped:%14"PRIu64"    TX-total:"
 		       "%14"PRIu64"\n",
 		       stats->opackets, port->tx_dropped,
-		       (uint64_t) (stats->opackets + port->tx_dropped));
+		       stats->opackets + port->tx_dropped);
 	}
 
 #ifdef RTE_TEST_PMD_RECORD_BURST_STATS
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:09.465175013 -0700
+++ 0055-app-testpmd-remove-useless-casts-on-statistics.patch	2019-07-22 17:55:06.150471000 -0700
@@ -1,12 +1,13 @@
-From 7718296d06916d0b2029763913944f0067a2d0dd Mon Sep 17 00:00:00 2001
+From 3390fad3c1d75b4aba0d7584e333053e7985bad5 Mon Sep 17 00:00:00 2001
 From: David Marchand <david.marchand@redhat.com>
 Date: Mon, 25 Mar 2019 09:51:45 +0100
 Subject: [PATCH] app/testpmd: remove useless casts on statistics
 
+[ upstream commit 7718296d06916d0b2029763913944f0067a2d0dd ]
+
 Caught by code review while investigating the fwd stats display code.
 
 Fixes: af75078fece3 ("first public release")
-Cc: stable@dpdk.org
 
 Signed-off-by: David Marchand <david.marchand@redhat.com>
 Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
@@ -17,10 +18,10 @@
  1 file changed, 4 insertions(+), 4 deletions(-)
 
 diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
-index 05a3dce49f..c78d524578 100644
+index 5db60c38e6..f8c76a6f60 100644
 --- a/app/test-pmd/testpmd.c
 +++ b/app/test-pmd/testpmd.c
-@@ -1376,7 +1376,7 @@ fwd_port_stats_display(portid_t port_id, struct rte_eth_stats *stats)
+@@ -988,7 +988,7 @@ fwd_port_stats_display(portid_t port_id, struct rte_eth_stats *stats)
  		printf("  RX-packets: %-14"PRIu64" RX-dropped: %-14"PRIu64"RX-total: "
  		       "%-"PRIu64"\n",
  		       stats->ipackets, stats->imissed,
@@ -28,8 +29,8 @@
 +		       stats->ipackets + stats->imissed);
  
  		if (cur_fwd_eng == &csum_fwd_engine)
- 			printf("  Bad-ipcsum: %-14"PRIu64" Bad-l4csum: %-14"PRIu64"Bad-outer-l4csum: %-14"PRIu64"\n",
-@@ -1390,13 +1390,13 @@ fwd_port_stats_display(portid_t port_id, struct rte_eth_stats *stats)
+ 			printf("  Bad-ipcsum: %-14"PRIu64" Bad-l4csum: %-14"PRIu64" \n",
+@@ -1001,13 +1001,13 @@ fwd_port_stats_display(portid_t port_id, struct rte_eth_stats *stats)
  		printf("  TX-packets: %-14"PRIu64" TX-dropped: %-14"PRIu64"TX-total: "
  		       "%-"PRIu64"\n",
  		       stats->opackets, port->tx_dropped,
@@ -44,8 +45,8 @@
 +		       stats->ipackets + stats->imissed);
  
  		if (cur_fwd_eng == &csum_fwd_engine)
- 			printf("  Bad-ipcsum:%14"PRIu64"    Bad-l4csum:%14"PRIu64"    Bad-outer-l4csum: %-14"PRIu64"\n",
-@@ -1411,7 +1411,7 @@ fwd_port_stats_display(portid_t port_id, struct rte_eth_stats *stats)
+ 			printf("  Bad-ipcsum:%14"PRIu64"    Bad-l4csum:%14"PRIu64"\n",
+@@ -1021,7 +1021,7 @@ fwd_port_stats_display(portid_t port_id, struct rte_eth_stats *stats)
  		printf("  TX-packets:             %14"PRIu64"    TX-dropped:%14"PRIu64"    TX-total:"
  		       "%14"PRIu64"\n",
  		       stats->opackets, port->tx_dropped,

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

* [dpdk-stable] patch 'ethdev: fix a typo' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (53 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'app/testpmd: remove useless casts on statistics' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/bnxt: fix Rx VLAN offload flags' " Yongseok Koh
                   ` (51 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Rami Rosen; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 36ce209bcaed3728ef274e655f0253f5bcd85b47 Mon Sep 17 00:00:00 2001
From: Rami Rosen <ramirose@gmail.com>
Date: Fri, 22 Mar 2019 17:17:53 +0200
Subject: [PATCH] ethdev: fix a typo

[ upstream commit a15b7a0e53d0764b36ac9d66949d7fc1bfaa2ef4 ]

This patch fixes a trivial typo in rte_ethdev.h.
retieve=>retrieve

Fixes: 80a1deb4c77a ("ethdev: add API to retrieve queue information")

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 lib/librte_ether/rte_ethdev.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index 2ef53a636a..1a730d3ae3 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -1052,7 +1052,7 @@ struct rte_eth_dev_info {
 
 /**
  * Ethernet device RX queue information structure.
- * Used to retieve information about configured queue.
+ * Used to retrieve information about configured queue.
  */
 struct rte_eth_rxq_info {
 	struct rte_mempool *mp;     /**< mempool used by that queue. */
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:09.517440059 -0700
+++ 0056-ethdev-fix-a-typo.patch	2019-07-22 17:55:06.159471000 -0700
@@ -1,25 +1,26 @@
-From a15b7a0e53d0764b36ac9d66949d7fc1bfaa2ef4 Mon Sep 17 00:00:00 2001
+From 36ce209bcaed3728ef274e655f0253f5bcd85b47 Mon Sep 17 00:00:00 2001
 From: Rami Rosen <ramirose@gmail.com>
 Date: Fri, 22 Mar 2019 17:17:53 +0200
 Subject: [PATCH] ethdev: fix a typo
 
+[ upstream commit a15b7a0e53d0764b36ac9d66949d7fc1bfaa2ef4 ]
+
 This patch fixes a trivial typo in rte_ethdev.h.
 retieve=>retrieve
 
 Fixes: 80a1deb4c77a ("ethdev: add API to retrieve queue information")
-Cc: stable@dpdk.org
 
 Signed-off-by: Rami Rosen <ramirose@gmail.com>
 Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
 ---
- lib/librte_ethdev/rte_ethdev.h | 2 +-
+ lib/librte_ether/rte_ethdev.h | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
-index 6b05dc6f6e..2be9b4ba10 100644
---- a/lib/librte_ethdev/rte_ethdev.h
-+++ b/lib/librte_ethdev/rte_ethdev.h
-@@ -1137,7 +1137,7 @@ struct rte_eth_dev_info {
+diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
+index 2ef53a636a..1a730d3ae3 100644
+--- a/lib/librte_ether/rte_ethdev.h
++++ b/lib/librte_ether/rte_ethdev.h
+@@ -1052,7 +1052,7 @@ struct rte_eth_dev_info {
  
  /**
   * Ethernet device RX queue information structure.

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

* [dpdk-stable] patch 'net/bnxt: fix Rx VLAN offload flags' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (54 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'ethdev: fix a typo' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/fm10k: fix VLAN strip offload flag' " Yongseok Koh
                   ` (50 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Ajit Khaparde, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 6b489a635e8d9dba5936d30f414312615c50c671 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <sthemmin@microsoft.com>
Date: Mon, 25 Mar 2019 14:27:54 -0700
Subject: [PATCH] net/bnxt: fix Rx VLAN offload flags

[ upstream commit 4339de851e55364d0f1f995babaa0006968870c0 ]

The bnxt driver is not correctly setting the receive VLAN offload
flags.  When VLAN is offloaded the driver must set the
PKT_RX_VLAN_STRIPPED flag.

Actually, several drivers have the same bug, only most of the
Intel drivers look right. Any driver that sets vlan_tci is probably
stripping the tag, and should be setting RX_VLAN_STRIPPED.

To quote rte_mbuf.h:

/**
 * The RX packet is a 802.1q VLAN packet, and the tci has been
 * saved in in mbuf->vlan_tci.
 * If the flag PKT_RX_VLAN_STRIPPED is also present, the VLAN
 * header has been stripped from mbuf data, else it is still
 * present.
 */

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

Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
 drivers/net/bnxt/bnxt_rxr.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c
index c5c54847a0..4aaad3563e 100644
--- a/drivers/net/bnxt/bnxt_rxr.c
+++ b/drivers/net/bnxt/bnxt_rxr.c
@@ -199,7 +199,7 @@ static void bnxt_tpa_start(struct bnxt_rx_queue *rxq,
 	if (tpa_start1->flags2 &
 	    rte_cpu_to_le_32(RX_TPA_START_CMPL_FLAGS2_META_FORMAT_VLAN)) {
 		mbuf->vlan_tci = rte_le_to_cpu_32(tpa_start1->metadata);
-		mbuf->ol_flags |= PKT_RX_VLAN;
+		mbuf->ol_flags |= PKT_RX_VLAN | PKT_RX_VLAN_STRIPPED;
 	}
 	if (likely(tpa_start1->flags2 &
 		   rte_cpu_to_le_32(RX_TPA_START_CMPL_FLAGS2_L4_CS_CALC)))
@@ -464,7 +464,7 @@ static int bnxt_rx_pkt(struct rte_mbuf **rx_pkt,
 			(RX_PKT_CMPL_METADATA_VID_MASK |
 			RX_PKT_CMPL_METADATA_DE |
 			RX_PKT_CMPL_METADATA_PRI_MASK);
-		mbuf->ol_flags |= PKT_RX_VLAN;
+		mbuf->ol_flags |= PKT_RX_VLAN | PKT_RX_VLAN_STRIPPED;
 	}
 
 	if (likely(RX_CMP_IP_CS_OK(rxcmp1)))
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:09.569517778 -0700
+++ 0057-net-bnxt-fix-Rx-VLAN-offload-flags.patch	2019-07-22 17:55:06.165472000 -0700
@@ -1,8 +1,10 @@
-From 4339de851e55364d0f1f995babaa0006968870c0 Mon Sep 17 00:00:00 2001
+From 6b489a635e8d9dba5936d30f414312615c50c671 Mon Sep 17 00:00:00 2001
 From: Stephen Hemminger <sthemmin@microsoft.com>
 Date: Mon, 25 Mar 2019 14:27:54 -0700
 Subject: [PATCH] net/bnxt: fix Rx VLAN offload flags
 
+[ upstream commit 4339de851e55364d0f1f995babaa0006968870c0 ]
+
 The bnxt driver is not correctly setting the receive VLAN offload
 flags.  When VLAN is offloaded the driver must set the
 PKT_RX_VLAN_STRIPPED flag.
@@ -22,7 +24,6 @@
  */
 
 Fixes: 2eb53b134aae ("net/bnxt: add initial Rx code")
-Cc: stable@dpdk.org
 
 Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
 Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
@@ -31,10 +32,10 @@
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c
-index 1bfc63d930..dc695e1777 100644
+index c5c54847a0..4aaad3563e 100644
 --- a/drivers/net/bnxt/bnxt_rxr.c
 +++ b/drivers/net/bnxt/bnxt_rxr.c
-@@ -154,7 +154,7 @@ static void bnxt_tpa_start(struct bnxt_rx_queue *rxq,
+@@ -199,7 +199,7 @@ static void bnxt_tpa_start(struct bnxt_rx_queue *rxq,
  	if (tpa_start1->flags2 &
  	    rte_cpu_to_le_32(RX_TPA_START_CMPL_FLAGS2_META_FORMAT_VLAN)) {
  		mbuf->vlan_tci = rte_le_to_cpu_32(tpa_start1->metadata);
@@ -43,7 +44,7 @@
  	}
  	if (likely(tpa_start1->flags2 &
  		   rte_cpu_to_le_32(RX_TPA_START_CMPL_FLAGS2_L4_CS_CALC)))
-@@ -437,7 +437,7 @@ static int bnxt_rx_pkt(struct rte_mbuf **rx_pkt,
+@@ -464,7 +464,7 @@ static int bnxt_rx_pkt(struct rte_mbuf **rx_pkt,
  			(RX_PKT_CMPL_METADATA_VID_MASK |
  			RX_PKT_CMPL_METADATA_DE |
  			RX_PKT_CMPL_METADATA_PRI_MASK);

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

* [dpdk-stable] patch 'net/fm10k: fix VLAN strip offload flag' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (55 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/bnxt: fix Rx VLAN offload flags' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/virtio: fix duplicate naming of include guard' " Yongseok Koh
                   ` (49 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Xiao Wang; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 76fe930def41f51fc31d76c31e27a0d9c0d857e9 Mon Sep 17 00:00:00 2001
From: Xiao Wang <xiao.w.wang@intel.com>
Date: Wed, 27 Mar 2019 13:09:03 +0800
Subject: [PATCH] net/fm10k: fix VLAN strip offload flag

[ upstream commit ae843c69aa55d25b1c0ef7984501b2356ed5fe88 ]

Since the VLAN header is stripped from mbuf data, PKT_RX_VLAN_STRIPPED
should be set in offload flag.

Fixes: 6b59a3bc82b1 ("fm10k: fix VLAN in Rx mbuf")
Fixes: 7092be8437bd ("fm10k: add vector Rx")

Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
---
 drivers/net/fm10k/fm10k_rxtx.c     | 4 ++--
 drivers/net/fm10k/fm10k_rxtx_vec.c | 6 ++++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/net/fm10k/fm10k_rxtx.c b/drivers/net/fm10k/fm10k_rxtx.c
index 59459212b3..979c16ef3d 100644
--- a/drivers/net/fm10k/fm10k_rxtx.c
+++ b/drivers/net/fm10k/fm10k_rxtx.c
@@ -163,7 +163,7 @@ fm10k_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
 		 * So, always PKT_RX_VLAN flag is set and vlan_tci
 		 * is valid for each RX packet's mbuf.
 		 */
-		mbuf->ol_flags |= PKT_RX_VLAN;
+		mbuf->ol_flags |= PKT_RX_VLAN | PKT_RX_VLAN_STRIPPED;
 		mbuf->vlan_tci = desc.w.vlan;
 		/**
 		 * mbuf->vlan_tci_outer is an idle field in fm10k driver,
@@ -324,7 +324,7 @@ fm10k_recv_scattered_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
 		 * So, always PKT_RX_VLAN flag is set and vlan_tci
 		 * is valid for each RX packet's mbuf.
 		 */
-		first_seg->ol_flags |= PKT_RX_VLAN;
+		first_seg->ol_flags |= PKT_RX_VLAN | PKT_RX_VLAN_STRIPPED;
 		first_seg->vlan_tci = desc.w.vlan;
 		/**
 		 * mbuf->vlan_tci_outer is an idle field in fm10k driver,
diff --git a/drivers/net/fm10k/fm10k_rxtx_vec.c b/drivers/net/fm10k/fm10k_rxtx_vec.c
index ce042d3d2a..1a66dc3dbf 100644
--- a/drivers/net/fm10k/fm10k_rxtx_vec.c
+++ b/drivers/net/fm10k/fm10k_rxtx_vec.c
@@ -81,8 +81,10 @@ fm10k_desc_to_olflags_v(__m128i descs[4], struct rte_mbuf **rx_pkts)
 
 	const __m128i pkttype_msk = _mm_set_epi16(
 			0x0000, 0x0000, 0x0000, 0x0000,
-			PKT_RX_VLAN, PKT_RX_VLAN,
-			PKT_RX_VLAN, PKT_RX_VLAN);
+			PKT_RX_VLAN | PKT_RX_VLAN_STRIPPED,
+			PKT_RX_VLAN | PKT_RX_VLAN_STRIPPED,
+			PKT_RX_VLAN | PKT_RX_VLAN_STRIPPED,
+			PKT_RX_VLAN | PKT_RX_VLAN_STRIPPED);
 
 	/* mask everything except rss type */
 	const __m128i rsstype_msk = _mm_set_epi16(
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:09.618386790 -0700
+++ 0058-net-fm10k-fix-VLAN-strip-offload-flag.patch	2019-07-22 17:55:06.170473000 -0700
@@ -1,14 +1,15 @@
-From ae843c69aa55d25b1c0ef7984501b2356ed5fe88 Mon Sep 17 00:00:00 2001
+From 76fe930def41f51fc31d76c31e27a0d9c0d857e9 Mon Sep 17 00:00:00 2001
 From: Xiao Wang <xiao.w.wang@intel.com>
 Date: Wed, 27 Mar 2019 13:09:03 +0800
 Subject: [PATCH] net/fm10k: fix VLAN strip offload flag
 
+[ upstream commit ae843c69aa55d25b1c0ef7984501b2356ed5fe88 ]
+
 Since the VLAN header is stripped from mbuf data, PKT_RX_VLAN_STRIPPED
 should be set in offload flag.
 
 Fixes: 6b59a3bc82b1 ("fm10k: fix VLAN in Rx mbuf")
 Fixes: 7092be8437bd ("fm10k: add vector Rx")
-Cc: stable@dpdk.org
 
 Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
 ---
@@ -17,10 +18,10 @@
  2 files changed, 6 insertions(+), 4 deletions(-)
 
 diff --git a/drivers/net/fm10k/fm10k_rxtx.c b/drivers/net/fm10k/fm10k_rxtx.c
-index 1d0f09d258..fb02e1152a 100644
+index 59459212b3..979c16ef3d 100644
 --- a/drivers/net/fm10k/fm10k_rxtx.c
 +++ b/drivers/net/fm10k/fm10k_rxtx.c
-@@ -134,7 +134,7 @@ fm10k_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
+@@ -163,7 +163,7 @@ fm10k_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
  		 * So, always PKT_RX_VLAN flag is set and vlan_tci
  		 * is valid for each RX packet's mbuf.
  		 */
@@ -29,7 +30,7 @@
  		mbuf->vlan_tci = desc.w.vlan;
  		/**
  		 * mbuf->vlan_tci_outer is an idle field in fm10k driver,
-@@ -295,7 +295,7 @@ fm10k_recv_scattered_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
+@@ -324,7 +324,7 @@ fm10k_recv_scattered_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
  		 * So, always PKT_RX_VLAN flag is set and vlan_tci
  		 * is valid for each RX packet's mbuf.
  		 */
@@ -39,10 +40,10 @@
  		/**
  		 * mbuf->vlan_tci_outer is an idle field in fm10k driver,
 diff --git a/drivers/net/fm10k/fm10k_rxtx_vec.c b/drivers/net/fm10k/fm10k_rxtx_vec.c
-index 005fda6305..96b46a2bdf 100644
+index ce042d3d2a..1a66dc3dbf 100644
 --- a/drivers/net/fm10k/fm10k_rxtx_vec.c
 +++ b/drivers/net/fm10k/fm10k_rxtx_vec.c
-@@ -52,8 +52,10 @@ fm10k_desc_to_olflags_v(__m128i descs[4], struct rte_mbuf **rx_pkts)
+@@ -81,8 +81,10 @@ fm10k_desc_to_olflags_v(__m128i descs[4], struct rte_mbuf **rx_pkts)
  
  	const __m128i pkttype_msk = _mm_set_epi16(
  			0x0000, 0x0000, 0x0000, 0x0000,

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

* [dpdk-stable] patch 'net/virtio: fix duplicate naming of include guard' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (56 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/fm10k: fix VLAN strip offload flag' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/virtio: remove useless condition' " Yongseok Koh
                   ` (48 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Andrius Sirvys; +Cc: Rami Rosen, Tiwei Bie, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From d1991b10b50b2abc91daa77adba3b89bcedd1b2c Mon Sep 17 00:00:00 2001
From: Andrius Sirvys <andrius.sirvys@intel.com>
Date: Thu, 21 Mar 2019 10:09:53 +0000
Subject: [PATCH] net/virtio: fix duplicate naming of include guard

[ upstream commit 1708804ea977668f82a944b29399d376f8e50e9f ]

"The macro name '_VHOST_NET_USER_H' of this include guard is used
in 2 different header files."

lib/librte_vhost/vhost_user.h has the same include guard.
Renamed the include guard in vhost.h to differentiate.

Fixes: 6a84c37e3975 ("net/virtio-user: add vhost-user adapter layer")

Signed-off-by: Andrius Sirvys <andrius.sirvys@intel.com>
Acked-by: Rami Rosen <ramirose@gmail.com>
Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
---
 drivers/net/virtio/virtio_user/vhost.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/virtio/virtio_user/vhost.h b/drivers/net/virtio/virtio_user/vhost.h
index 5c983bd407..b85e1b5df9 100644
--- a/drivers/net/virtio/virtio_user/vhost.h
+++ b/drivers/net/virtio/virtio_user/vhost.h
@@ -31,8 +31,8 @@
  *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef _VHOST_NET_USER_H
-#define _VHOST_NET_USER_H
+#ifndef _VIRTIO_USER_VHOST_H
+#define _VIRTIO_USER_VHOST_H
 
 #include <stdint.h>
 #include <linux/types.h>
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:09.669839560 -0700
+++ 0059-net-virtio-fix-duplicate-naming-of-include-guard.patch	2019-07-22 17:55:06.175473000 -0700
@@ -1,8 +1,10 @@
-From 1708804ea977668f82a944b29399d376f8e50e9f Mon Sep 17 00:00:00 2001
+From d1991b10b50b2abc91daa77adba3b89bcedd1b2c Mon Sep 17 00:00:00 2001
 From: Andrius Sirvys <andrius.sirvys@intel.com>
 Date: Thu, 21 Mar 2019 10:09:53 +0000
 Subject: [PATCH] net/virtio: fix duplicate naming of include guard
 
+[ upstream commit 1708804ea977668f82a944b29399d376f8e50e9f ]
+
 "The macro name '_VHOST_NET_USER_H' of this include guard is used
 in 2 different header files."
 
@@ -10,7 +12,6 @@
 Renamed the include guard in vhost.h to differentiate.
 
 Fixes: 6a84c37e3975 ("net/virtio-user: add vhost-user adapter layer")
-Cc: stable@dpdk.org
 
 Signed-off-by: Andrius Sirvys <andrius.sirvys@intel.com>
 Acked-by: Rami Rosen <ramirose@gmail.com>
@@ -20,11 +21,11 @@
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/drivers/net/virtio/virtio_user/vhost.h b/drivers/net/virtio/virtio_user/vhost.h
-index 83a85cc6f1..55f47036bb 100644
+index 5c983bd407..b85e1b5df9 100644
 --- a/drivers/net/virtio/virtio_user/vhost.h
 +++ b/drivers/net/virtio/virtio_user/vhost.h
-@@ -2,8 +2,8 @@
-  * Copyright(c) 2010-2016 Intel Corporation
+@@ -31,8 +31,8 @@
+  *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   */
  
 -#ifndef _VHOST_NET_USER_H

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

* [dpdk-stable] patch 'net/virtio: remove useless condition' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (57 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/virtio: fix duplicate naming of include guard' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'app/test: fix sprintf with strlcat' " Yongseok Koh
                   ` (47 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Rami Rosen, Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From e18e3c37d7f681e82452b5dd1158f392516ecde7 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 27 Mar 2019 14:08:43 -0700
Subject: [PATCH] net/virtio: remove useless condition

[ upstream commit 5c67301273fff63d81c343cee164a3d87918b567 ]

Since previous test is for mtu < 1519 the next else if
is always true. This causes the lgtm static tool to complain.
Not a real issue, just cosmetic.

Fixes: 76d4c652e07d ("virtio: add extended stats")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Rami Rosen <ramirose@gmail.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 drivers/net/virtio/virtio_rxtx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c
index 275b65f434..a88fb4fd4c 100644
--- a/drivers/net/virtio/virtio_rxtx.c
+++ b/drivers/net/virtio/virtio_rxtx.c
@@ -632,7 +632,7 @@ virtio_update_packet_stats(struct virtnet_stats *stats, struct rte_mbuf *mbuf)
 			stats->size_bins[0]++;
 		else if (s < 1519)
 			stats->size_bins[6]++;
-		else if (s >= 1519)
+		else
 			stats->size_bins[7]++;
 	}
 
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:09.720317720 -0700
+++ 0060-net-virtio-remove-useless-condition.patch	2019-07-22 17:55:06.180473000 -0700
@@ -1,14 +1,15 @@
-From 5c67301273fff63d81c343cee164a3d87918b567 Mon Sep 17 00:00:00 2001
+From e18e3c37d7f681e82452b5dd1158f392516ecde7 Mon Sep 17 00:00:00 2001
 From: Stephen Hemminger <stephen@networkplumber.org>
 Date: Wed, 27 Mar 2019 14:08:43 -0700
 Subject: [PATCH] net/virtio: remove useless condition
 
+[ upstream commit 5c67301273fff63d81c343cee164a3d87918b567 ]
+
 Since previous test is for mtu < 1519 the next else if
 is always true. This causes the lgtm static tool to complain.
 Not a real issue, just cosmetic.
 
 Fixes: 76d4c652e07d ("virtio: add extended stats")
-Cc: stable@dpdk.org
 
 Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
 Acked-by: Rami Rosen <ramirose@gmail.com>
@@ -18,10 +19,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c
-index ee30084e41..e6f3706d6f 100644
+index 275b65f434..a88fb4fd4c 100644
 --- a/drivers/net/virtio/virtio_rxtx.c
 +++ b/drivers/net/virtio/virtio_rxtx.c
-@@ -1109,7 +1109,7 @@ virtio_update_packet_stats(struct virtnet_stats *stats, struct rte_mbuf *mbuf)
+@@ -632,7 +632,7 @@ virtio_update_packet_stats(struct virtnet_stats *stats, struct rte_mbuf *mbuf)
  			stats->size_bins[0]++;
  		else if (s < 1519)
  			stats->size_bins[6]++;

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

* [dpdk-stable] patch 'app/test: fix sprintf with strlcat' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (58 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/virtio: remove useless condition' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'maintainers: update for IBM POWER' " Yongseok Koh
                   ` (46 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Pallantla Poornima; +Cc: Aaron Conole, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 97017119f78b24ddbedaebdd3aa7ed05e4e92ab3 Mon Sep 17 00:00:00 2001
From: Pallantla Poornima <pallantlax.poornima@intel.com>
Date: Wed, 13 Mar 2019 11:07:23 +0000
Subject: [PATCH] app/test: fix sprintf with strlcat

[ upstream commit 323643727f4c5653d9a1ddc552d95bae2b2c2e5c ]

sprintf function is not secure as it doesn't check the length of string.
More secure function strlcat is used.

Fixes: 727909c592 ("app/test: introduce dynamic commands list")

Signed-off-by: Pallantla Poornima <pallantlax.poornima@intel.com>
Reviewed-by: Aaron Conole <aconole@redhat.com>
---
 test/test/commands.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/test/test/commands.c b/test/test/commands.c
index 4097a3310a..0396f40007 100644
--- a/test/test/commands.c
+++ b/test/test/commands.c
@@ -72,6 +72,7 @@
 #include <cmdline_parse_num.h>
 #include <cmdline_parse_string.h>
 #include <cmdline.h>
+#include <rte_string_fns.h>
 
 #include "test.h"
 
@@ -380,23 +381,22 @@ cmdline_parse_ctx_t main_ctx[] = {
 int commands_init(void)
 {
 	struct test_command *t;
-	char *commands, *ptr;
+	char *commands;
 	int commands_len = 0;
 
 	TAILQ_FOREACH(t, &commands_list, next) {
 		commands_len += strlen(t->command) + 1;
 	}
 
-	commands = malloc(commands_len + 1);
+	commands = (char *)calloc(commands_len, sizeof(char));
 	if (!commands)
 		return -1;
 
-	ptr = commands;
 	TAILQ_FOREACH(t, &commands_list, next) {
-		ptr += sprintf(ptr, "%s#", t->command);
+		strlcat(commands, t->command, commands_len);
+		if (TAILQ_NEXT(t, next) != NULL)
+			strlcat(commands, "#", commands_len);
 	}
-	ptr--;
-	ptr[0] = '\0';
 
 	cmd_autotest_autotest.string_data.str = commands;
 	return 0;
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:09.771181352 -0700
+++ 0061-app-test-fix-sprintf-with-strlcat.patch	2019-07-22 17:55:06.184476000 -0700
@@ -1,25 +1,26 @@
-From 323643727f4c5653d9a1ddc552d95bae2b2c2e5c Mon Sep 17 00:00:00 2001
+From 97017119f78b24ddbedaebdd3aa7ed05e4e92ab3 Mon Sep 17 00:00:00 2001
 From: Pallantla Poornima <pallantlax.poornima@intel.com>
 Date: Wed, 13 Mar 2019 11:07:23 +0000
 Subject: [PATCH] app/test: fix sprintf with strlcat
 
+[ upstream commit 323643727f4c5653d9a1ddc552d95bae2b2c2e5c ]
+
 sprintf function is not secure as it doesn't check the length of string.
 More secure function strlcat is used.
 
 Fixes: 727909c592 ("app/test: introduce dynamic commands list")
-Cc: stable@dpdk.org
 
 Signed-off-by: Pallantla Poornima <pallantlax.poornima@intel.com>
 Reviewed-by: Aaron Conole <aconole@redhat.com>
 ---
- app/test/commands.c | 12 ++++++------
+ test/test/commands.c | 12 ++++++------
  1 file changed, 6 insertions(+), 6 deletions(-)
 
-diff --git a/app/test/commands.c b/app/test/commands.c
-index 94fbc310ed..8d5a03a954 100644
---- a/app/test/commands.c
-+++ b/app/test/commands.c
-@@ -44,6 +44,7 @@
+diff --git a/test/test/commands.c b/test/test/commands.c
+index 4097a3310a..0396f40007 100644
+--- a/test/test/commands.c
++++ b/test/test/commands.c
+@@ -72,6 +72,7 @@
  #include <cmdline_parse_num.h>
  #include <cmdline_parse_string.h>
  #include <cmdline.h>
@@ -27,7 +28,7 @@
  
  #include "test.h"
  
-@@ -365,23 +366,22 @@ cmdline_parse_ctx_t main_ctx[] = {
+@@ -380,23 +381,22 @@ cmdline_parse_ctx_t main_ctx[] = {
  int commands_init(void)
  {
  	struct test_command *t;

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

* [dpdk-stable] patch 'maintainers: update for IBM POWER' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (59 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'app/test: fix sprintf with strlcat' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'ring: fix an error message' " Yongseok Koh
                   ` (45 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: David Christensen; +Cc: Chao Zhu, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From df7af1790046af5ae51c2d282731af6dcf8f3fc4 Mon Sep 17 00:00:00 2001
From: David Christensen <drc@linux.vnet.ibm.com>
Date: Wed, 27 Mar 2019 15:31:39 -0700
Subject: [PATCH] maintainers: update for IBM POWER

[ backported from upstream commit a9d64ecc4cc3ce1a48f96b06f24430900c15e728 ]

Succeed Chao Zhu as maintainer of EAL for IBM POWER.

Signed-off-by: David Christensen <drc@linux.vnet.ibm.com>
Acked-by: Chao Zhu <chaozhu@linux.vnet.ibm.com>
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 449409a48d..1837bb5d36 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -174,7 +174,7 @@ F: drivers/net/i40e/i40e_rxtx_vec_neon.c
 F: drivers/net/virtio/virtio_rxtx_simple_neon.c
 
 IBM POWER
-M: Chao Zhu <chaozhu@linux.vnet.ibm.com>
+M: David Christensen <drc@linux.vnet.ibm.com>
 F: lib/librte_eal/common/arch/ppc_64/
 F: lib/librte_eal/common/include/arch/ppc_64/
 F: drivers/net/i40e/i40e_rxtx_vec_altivec.c
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:09.822654316 -0700
+++ 0062-maintainers-update-for-IBM-POWER.patch	2019-07-22 17:55:06.187475000 -0700
@@ -1,11 +1,11 @@
-From a9d64ecc4cc3ce1a48f96b06f24430900c15e728 Mon Sep 17 00:00:00 2001
+From df7af1790046af5ae51c2d282731af6dcf8f3fc4 Mon Sep 17 00:00:00 2001
 From: David Christensen <drc@linux.vnet.ibm.com>
 Date: Wed, 27 Mar 2019 15:31:39 -0700
 Subject: [PATCH] maintainers: update for IBM POWER
 
-Succeed Chao Zhu as maintainer of EAL for IBM POWER.
+[ backported from upstream commit a9d64ecc4cc3ce1a48f96b06f24430900c15e728 ]
 
-Cc: stable@dpdk.org
+Succeed Chao Zhu as maintainer of EAL for IBM POWER.
 
 Signed-off-by: David Christensen <drc@linux.vnet.ibm.com>
 Acked-by: Chao Zhu <chaozhu@linux.vnet.ibm.com>
@@ -14,13 +14,13 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/MAINTAINERS b/MAINTAINERS
-index 1783293c7d..9f34f905f7 100644
+index 449409a48d..1837bb5d36 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -242,7 +242,7 @@ F: drivers/net/i40e/i40e_rxtx_vec_neon.c
+@@ -174,7 +174,7 @@ F: drivers/net/i40e/i40e_rxtx_vec_neon.c
  F: drivers/net/virtio/virtio_rxtx_simple_neon.c
  
- IBM POWER (alpha)
+ IBM POWER
 -M: Chao Zhu <chaozhu@linux.vnet.ibm.com>
 +M: David Christensen <drc@linux.vnet.ibm.com>
  F: lib/librte_eal/common/arch/ppc_64/

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

* [dpdk-stable] patch 'ring: fix an error message' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (60 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'maintainers: update for IBM POWER' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'event/sw: fix enqueue checks in self-test' " Yongseok Koh
                   ` (44 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Rami Rosen, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From d407cbcdaf76a63af74c488e6ae15778e8bc409d Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 2 Apr 2019 08:30:26 -0700
Subject: [PATCH] ring: fix an error message

[ upstream commit c0c055f5f773adca467d256298d8e777024f085f ]

Log message should end with newline.

Fixes: 4e32101f9b01 ("ring: support freeing")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Rami Rosen <ramirose@gmail.com>
---
 lib/librte_ring/rte_ring.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/librte_ring/rte_ring.c b/lib/librte_ring/rte_ring.c
index 036467f4e4..2d5148d35e 100644
--- a/lib/librte_ring/rte_ring.c
+++ b/lib/librte_ring/rte_ring.c
@@ -245,7 +245,8 @@ rte_ring_free(struct rte_ring *r)
 	 * therefore, there is no memzone to free.
 	 */
 	if (r->memzone == NULL) {
-		RTE_LOG(ERR, RING, "Cannot free ring (not created with rte_ring_create()");
+		RTE_LOG(ERR, RING,
+			"Cannot free ring, not created with rte_ring_create()\n");
 		return;
 	}
 
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:09.873409668 -0700
+++ 0063-ring-fix-an-error-message.patch	2019-07-22 17:55:06.191471000 -0700
@@ -1,8 +1,10 @@
-From c0c055f5f773adca467d256298d8e777024f085f Mon Sep 17 00:00:00 2001
+From d407cbcdaf76a63af74c488e6ae15778e8bc409d Mon Sep 17 00:00:00 2001
 From: Stephen Hemminger <stephen@networkplumber.org>
 Date: Tue, 2 Apr 2019 08:30:26 -0700
 Subject: [PATCH] ring: fix an error message
 
+[ upstream commit c0c055f5f773adca467d256298d8e777024f085f ]
+
 Log message should end with newline.
 
 Fixes: 4e32101f9b01 ("ring: support freeing")
@@ -14,10 +16,10 @@
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/lib/librte_ring/rte_ring.c b/lib/librte_ring/rte_ring.c
-index d215aceccf..550549db39 100644
+index 036467f4e4..2d5148d35e 100644
 --- a/lib/librte_ring/rte_ring.c
 +++ b/lib/librte_ring/rte_ring.c
-@@ -189,7 +189,8 @@ rte_ring_free(struct rte_ring *r)
+@@ -245,7 +245,8 @@ rte_ring_free(struct rte_ring *r)
  	 * therefore, there is no memzone to free.
  	 */
  	if (r->memzone == NULL) {

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

* [dpdk-stable] patch 'event/sw: fix enqueue checks in self-test' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (61 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'ring: fix an error message' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'crypto/dpaa2_sec: fix session clearing' " Yongseok Koh
                   ` (43 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Harry van Haaren; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From ebc26b27da610bd244a1ec34dcabddc67bab7774 Mon Sep 17 00:00:00 2001
From: Harry van Haaren <harry.van.haaren@intel.com>
Date: Wed, 27 Mar 2019 18:45:46 +0000
Subject: [PATCH] event/sw: fix enqueue checks in self-test

[ upstream commit 1b03e2929114d4ebfc7a2159d0d45f0a3e9a7ba6 ]

This patch fixes a number of instances of the same return
value mis-check, where previously we checked for a negative
return value as error, however the API returns an unsigned
integer, so these return value checks are invalid.

The rte_event_enqueue_burst() API returns the number of
events enqueued, so in order to identify the error case,
we must check for != the number of intended enqueues.

Fixes: cd1a9e3eab55 ("test/eventdev: add SW tests for load balancing")

Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
---
 test/test/test_eventdev_sw.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/test/test/test_eventdev_sw.c b/test/test/test_eventdev_sw.c
index f524b6f81a..bc56048613 100644
--- a/test/test/test_eventdev_sw.c
+++ b/test/test/test_eventdev_sw.c
@@ -412,7 +412,7 @@ run_prio_packet_test(struct test *t)
 			.mbuf = arp
 		};
 		err = rte_event_enqueue_burst(evdev, t->port[0], &ev, 1);
-		if (err < 0) {
+		if (err != 1) {
 			printf("%d: error failed to enqueue\n", __LINE__);
 			return -1;
 		}
@@ -504,7 +504,7 @@ test_single_directed_packet(struct test *t)
 
 	/* generate pkt and enqueue */
 	err = rte_event_enqueue_burst(evdev, rx_enq, &ev, 1);
-	if (err < 0) {
+	if (err != 1) {
 		printf("%d: error failed to enqueue\n", __LINE__);
 		return -1;
 	}
@@ -573,7 +573,7 @@ test_directed_forward_credits(struct test *t)
 
 	for (i = 0; i < 1000; i++) {
 		err = rte_event_enqueue_burst(evdev, 0, &ev, 1);
-		if (err < 0) {
+		if (err != 1) {
 			printf("%d: error failed to enqueue\n", __LINE__);
 			return -1;
 		}
@@ -734,7 +734,7 @@ burst_packets(struct test *t)
 		};
 		/* generate pkt and enqueue */
 		err = rte_event_enqueue_burst(evdev, t->port[rx_port], &ev, 1);
-		if (err < 0) {
+		if (err != 1) {
 			printf("%d: Failed to enqueue\n", __LINE__);
 			return -1;
 		}
@@ -822,7 +822,7 @@ abuse_inflights(struct test *t)
 
 	/* Enqueue op only */
 	err = rte_event_enqueue_burst(evdev, t->port[rx_enq], &release_ev, 1);
-	if (err < 0) {
+	if (err != 1) {
 		printf("%d: Failed to enqueue\n", __LINE__);
 		return -1;
 	}
@@ -1985,7 +1985,7 @@ load_balancing(struct test *t)
 		};
 		/* generate pkt and enqueue */
 		err = rte_event_enqueue_burst(evdev, t->port[rx_enq], &ev, 1);
-		if (err < 0) {
+		if (err != 1) {
 			printf("%d: Failed to enqueue\n", __LINE__);
 			return -1;
 		}
@@ -2084,7 +2084,7 @@ load_balancing_history(struct test *t)
 		}
 		arp->hash.rss = flows1[i];
 		err = rte_event_enqueue_burst(evdev, t->port[rx_enq], &ev, 1);
-		if (err < 0) {
+		if (err != 1) {
 			printf("%d: Failed to enqueue\n", __LINE__);
 			return -1;
 		}
@@ -2134,7 +2134,7 @@ load_balancing_history(struct test *t)
 		arp->hash.rss = flows2[i];
 
 		err = rte_event_enqueue_burst(evdev, t->port[rx_enq], &ev, 1);
-		if (err < 0) {
+		if (err != 1) {
 			printf("%d: Failed to enqueue\n", __LINE__);
 			return -1;
 		}
@@ -2244,7 +2244,7 @@ invalid_qid(struct test *t)
 		};
 		/* generate pkt and enqueue */
 		err = rte_event_enqueue_burst(evdev, t->port[rx_enq], &ev, 1);
-		if (err < 0) {
+		if (err != 1) {
 			printf("%d: Failed to enqueue\n", __LINE__);
 			return -1;
 		}
@@ -2331,7 +2331,7 @@ single_packet(struct test *t)
 	arp->seqn = MAGIC_SEQN;
 
 	err = rte_event_enqueue_burst(evdev, t->port[rx_enq], &ev, 1);
-	if (err < 0) {
+	if (err != 1) {
 		printf("%d: Failed to enqueue\n", __LINE__);
 		return -1;
 	}
@@ -2375,7 +2375,7 @@ single_packet(struct test *t)
 
 	rte_pktmbuf_free(ev.mbuf);
 	err = rte_event_enqueue_burst(evdev, t->port[wrk_enq], &release_ev, 1);
-	if (err < 0) {
+	if (err != 1) {
 		printf("%d: Failed to enqueue\n", __LINE__);
 		return -1;
 	}
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:09.924454337 -0700
+++ 0064-event-sw-fix-enqueue-checks-in-self-test.patch	2019-07-22 17:55:06.197473000 -0700
@@ -1,8 +1,10 @@
-From 1b03e2929114d4ebfc7a2159d0d45f0a3e9a7ba6 Mon Sep 17 00:00:00 2001
+From ebc26b27da610bd244a1ec34dcabddc67bab7774 Mon Sep 17 00:00:00 2001
 From: Harry van Haaren <harry.van.haaren@intel.com>
 Date: Wed, 27 Mar 2019 18:45:46 +0000
 Subject: [PATCH] event/sw: fix enqueue checks in self-test
 
+[ upstream commit 1b03e2929114d4ebfc7a2159d0d45f0a3e9a7ba6 ]
+
 This patch fixes a number of instances of the same return
 value mis-check, where previously we checked for a negative
 return value as error, however the API returns an unsigned
@@ -13,18 +15,17 @@
 we must check for != the number of intended enqueues.
 
 Fixes: cd1a9e3eab55 ("test/eventdev: add SW tests for load balancing")
-Cc: stable@dpdk.org
 
 Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
 ---
- drivers/event/sw/sw_evdev_selftest.c | 22 +++++++++++-----------
+ test/test/test_eventdev_sw.c | 22 +++++++++++-----------
  1 file changed, 11 insertions(+), 11 deletions(-)
 
-diff --git a/drivers/event/sw/sw_evdev_selftest.c b/drivers/event/sw/sw_evdev_selftest.c
-index d00d5de613..38c21fa0fa 100644
---- a/drivers/event/sw/sw_evdev_selftest.c
-+++ b/drivers/event/sw/sw_evdev_selftest.c
-@@ -385,7 +385,7 @@ run_prio_packet_test(struct test *t)
+diff --git a/test/test/test_eventdev_sw.c b/test/test/test_eventdev_sw.c
+index f524b6f81a..bc56048613 100644
+--- a/test/test/test_eventdev_sw.c
++++ b/test/test/test_eventdev_sw.c
+@@ -412,7 +412,7 @@ run_prio_packet_test(struct test *t)
  			.mbuf = arp
  		};
  		err = rte_event_enqueue_burst(evdev, t->port[0], &ev, 1);
@@ -33,7 +34,7 @@
  			printf("%d: error failed to enqueue\n", __LINE__);
  			return -1;
  		}
-@@ -477,7 +477,7 @@ test_single_directed_packet(struct test *t)
+@@ -504,7 +504,7 @@ test_single_directed_packet(struct test *t)
  
  	/* generate pkt and enqueue */
  	err = rte_event_enqueue_burst(evdev, rx_enq, &ev, 1);
@@ -42,7 +43,7 @@
  		printf("%d: error failed to enqueue\n", __LINE__);
  		return -1;
  	}
-@@ -546,7 +546,7 @@ test_directed_forward_credits(struct test *t)
+@@ -573,7 +573,7 @@ test_directed_forward_credits(struct test *t)
  
  	for (i = 0; i < 1000; i++) {
  		err = rte_event_enqueue_burst(evdev, 0, &ev, 1);
@@ -51,7 +52,7 @@
  			printf("%d: error failed to enqueue\n", __LINE__);
  			return -1;
  		}
-@@ -707,7 +707,7 @@ burst_packets(struct test *t)
+@@ -734,7 +734,7 @@ burst_packets(struct test *t)
  		};
  		/* generate pkt and enqueue */
  		err = rte_event_enqueue_burst(evdev, t->port[rx_port], &ev, 1);
@@ -60,7 +61,7 @@
  			printf("%d: Failed to enqueue\n", __LINE__);
  			return -1;
  		}
-@@ -795,7 +795,7 @@ abuse_inflights(struct test *t)
+@@ -822,7 +822,7 @@ abuse_inflights(struct test *t)
  
  	/* Enqueue op only */
  	err = rte_event_enqueue_burst(evdev, t->port[rx_enq], &release_ev, 1);
@@ -69,7 +70,7 @@
  		printf("%d: Failed to enqueue\n", __LINE__);
  		return -1;
  	}
-@@ -2026,7 +2026,7 @@ load_balancing(struct test *t)
+@@ -1985,7 +1985,7 @@ load_balancing(struct test *t)
  		};
  		/* generate pkt and enqueue */
  		err = rte_event_enqueue_burst(evdev, t->port[rx_enq], &ev, 1);
@@ -78,7 +79,7 @@
  			printf("%d: Failed to enqueue\n", __LINE__);
  			return -1;
  		}
-@@ -2125,7 +2125,7 @@ load_balancing_history(struct test *t)
+@@ -2084,7 +2084,7 @@ load_balancing_history(struct test *t)
  		}
  		arp->hash.rss = flows1[i];
  		err = rte_event_enqueue_burst(evdev, t->port[rx_enq], &ev, 1);
@@ -87,7 +88,7 @@
  			printf("%d: Failed to enqueue\n", __LINE__);
  			return -1;
  		}
-@@ -2175,7 +2175,7 @@ load_balancing_history(struct test *t)
+@@ -2134,7 +2134,7 @@ load_balancing_history(struct test *t)
  		arp->hash.rss = flows2[i];
  
  		err = rte_event_enqueue_burst(evdev, t->port[rx_enq], &ev, 1);
@@ -96,7 +97,7 @@
  			printf("%d: Failed to enqueue\n", __LINE__);
  			return -1;
  		}
-@@ -2285,7 +2285,7 @@ invalid_qid(struct test *t)
+@@ -2244,7 +2244,7 @@ invalid_qid(struct test *t)
  		};
  		/* generate pkt and enqueue */
  		err = rte_event_enqueue_burst(evdev, t->port[rx_enq], &ev, 1);
@@ -105,7 +106,7 @@
  			printf("%d: Failed to enqueue\n", __LINE__);
  			return -1;
  		}
-@@ -2372,7 +2372,7 @@ single_packet(struct test *t)
+@@ -2331,7 +2331,7 @@ single_packet(struct test *t)
  	arp->seqn = MAGIC_SEQN;
  
  	err = rte_event_enqueue_burst(evdev, t->port[rx_enq], &ev, 1);
@@ -114,7 +115,7 @@
  		printf("%d: Failed to enqueue\n", __LINE__);
  		return -1;
  	}
-@@ -2416,7 +2416,7 @@ single_packet(struct test *t)
+@@ -2375,7 +2375,7 @@ single_packet(struct test *t)
  
  	rte_pktmbuf_free(ev.mbuf);
  	err = rte_event_enqueue_burst(evdev, t->port[wrk_enq], &release_ev, 1);

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

* [dpdk-stable] patch 'crypto/dpaa2_sec: fix session clearing' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (62 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'event/sw: fix enqueue checks in self-test' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'ring: fix namesize macro documentation block' " Yongseok Koh
                   ` (42 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Akhil Goyal; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From f94eafa5f247cb6fef41cc82162ec10b79eabf81 Mon Sep 17 00:00:00 2001
From: Akhil Goyal <akhil.goyal@nxp.com>
Date: Wed, 27 Mar 2019 11:53:30 +0000
Subject: [PATCH] crypto/dpaa2_sec: fix session clearing

[ upstream commit fd4f22fbd8f59b44e34badad09e3e55ff12184cd ]

private data should be cleared instead of the complete session

Fixes: 8d1f3a5d751b ("crypto/dpaa2_sec: support crypto operation")

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
---
 drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
index 8de8ef8dfc..8ccb663531 100644
--- a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
+++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
@@ -1990,7 +1990,7 @@ dpaa2_sec_session_clear(struct rte_cryptodev *dev,
 		rte_free(s->ctxt);
 		rte_free(s->cipher_key.data);
 		rte_free(s->auth_key.data);
-		memset(sess, 0, sizeof(dpaa2_sec_session));
+		memset(s, 0, sizeof(dpaa2_sec_session));
 		struct rte_mempool *sess_mp = rte_mempool_from_obj(sess_priv);
 		set_session_private_data(sess, index, NULL);
 		rte_mempool_put(sess_mp, sess_priv);
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:09.975707952 -0700
+++ 0065-crypto-dpaa2_sec-fix-session-clearing.patch	2019-07-22 17:55:06.203473000 -0700
@@ -1,12 +1,13 @@
-From fd4f22fbd8f59b44e34badad09e3e55ff12184cd Mon Sep 17 00:00:00 2001
+From f94eafa5f247cb6fef41cc82162ec10b79eabf81 Mon Sep 17 00:00:00 2001
 From: Akhil Goyal <akhil.goyal@nxp.com>
 Date: Wed, 27 Mar 2019 11:53:30 +0000
 Subject: [PATCH] crypto/dpaa2_sec: fix session clearing
 
+[ upstream commit fd4f22fbd8f59b44e34badad09e3e55ff12184cd ]
+
 private data should be cleared instead of the complete session
 
 Fixes: 8d1f3a5d751b ("crypto/dpaa2_sec: support crypto operation")
-Cc: stable@dpdk.org
 
 Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
 ---
@@ -14,17 +15,17 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
-index c2c22515db..d955ffc456 100644
+index 8de8ef8dfc..8ccb663531 100644
 --- a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
 +++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
-@@ -2912,7 +2912,7 @@ dpaa2_sec_sym_session_clear(struct rte_cryptodev *dev,
+@@ -1990,7 +1990,7 @@ dpaa2_sec_session_clear(struct rte_cryptodev *dev,
  		rte_free(s->ctxt);
  		rte_free(s->cipher_key.data);
  		rte_free(s->auth_key.data);
 -		memset(sess, 0, sizeof(dpaa2_sec_session));
 +		memset(s, 0, sizeof(dpaa2_sec_session));
  		struct rte_mempool *sess_mp = rte_mempool_from_obj(sess_priv);
- 		set_sym_session_private_data(sess, index, NULL);
+ 		set_session_private_data(sess, index, NULL);
  		rte_mempool_put(sess_mp, sess_priv);
 -- 
 2.21.0

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

* [dpdk-stable] patch 'ring: fix namesize macro documentation block' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (63 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'crypto/dpaa2_sec: fix session clearing' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/bonding: fix buffer length when printing strings' " Yongseok Koh
                   ` (41 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Gage Eads; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 33d410a26b7f4c1f5fe5dc40a8096632a0e3b081 Mon Sep 17 00:00:00 2001
From: Gage Eads <gage.eads@intel.com>
Date: Thu, 4 Apr 2019 07:34:54 -0500
Subject: [PATCH] ring: fix namesize macro documentation block

[ upstream commit 97c48e71fc030a2ff9ab55e4462a4d22f93e37b6 ]

'/**<' style comments apply to the previous member, which caused doxygen to
emit the RTE_RING_NAMESIZE documentation for RTE_RING_MZ_PREFIX.

Fixes: 38c9817ee1d8 ("mempool: adjust name size in related data types")

Signed-off-by: Gage Eads <gage.eads@intel.com>
---
 lib/librte_ring/rte_ring.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_ring/rte_ring.h b/lib/librte_ring/rte_ring.h
index 978c4dd173..935bfac6c5 100644
--- a/lib/librte_ring/rte_ring.h
+++ b/lib/librte_ring/rte_ring.h
@@ -112,7 +112,7 @@ enum rte_ring_queue_behavior {
 };
 
 #define RTE_RING_MZ_PREFIX "RG_"
-/**< The maximum length of a ring name. */
+/** The maximum length of a ring name. */
 #define RTE_RING_NAMESIZE (RTE_MEMZONE_NAMESIZE - \
 			   sizeof(RTE_RING_MZ_PREFIX) + 1)
 
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:10.026681484 -0700
+++ 0066-ring-fix-namesize-macro-documentation-block.patch	2019-07-22 17:55:06.208474000 -0700
@@ -1,13 +1,14 @@
-From 97c48e71fc030a2ff9ab55e4462a4d22f93e37b6 Mon Sep 17 00:00:00 2001
+From 33d410a26b7f4c1f5fe5dc40a8096632a0e3b081 Mon Sep 17 00:00:00 2001
 From: Gage Eads <gage.eads@intel.com>
 Date: Thu, 4 Apr 2019 07:34:54 -0500
 Subject: [PATCH] ring: fix namesize macro documentation block
 
+[ upstream commit 97c48e71fc030a2ff9ab55e4462a4d22f93e37b6 ]
+
 '/**<' style comments apply to the previous member, which caused doxygen to
 emit the RTE_RING_NAMESIZE documentation for RTE_RING_MZ_PREFIX.
 
 Fixes: 38c9817ee1d8 ("mempool: adjust name size in related data types")
-Cc: stable@dpdk.org
 
 Signed-off-by: Gage Eads <gage.eads@intel.com>
 ---
@@ -15,10 +16,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/lib/librte_ring/rte_ring.h b/lib/librte_ring/rte_ring.h
-index af5444a9f3..83d0f6f836 100644
+index 978c4dd173..935bfac6c5 100644
 --- a/lib/librte_ring/rte_ring.h
 +++ b/lib/librte_ring/rte_ring.h
-@@ -57,7 +57,7 @@ enum rte_ring_queue_behavior {
+@@ -112,7 +112,7 @@ enum rte_ring_queue_behavior {
  };
  
  #define RTE_RING_MZ_PREFIX "RG_"

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

* [dpdk-stable] patch 'net/bonding: fix buffer length when printing strings' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (64 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'ring: fix namesize macro documentation block' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'test/distributor: replace sprintf with strlcpy' " Yongseok Koh
                   ` (40 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 2680f3696c6b9f2941b946e46600096537622bd4 Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Wed, 3 Apr 2019 15:45:01 +0100
Subject: [PATCH] net/bonding: fix buffer length when printing strings

[ upstream commit f4206d16429cde8af71912be357bf3e1a3f2f315 ]

Using the size of the source string is incorrect when printing using
snprintf. Instead pass in the buffer size to be used appropriately.

Fixes: 457ecf2953fc ("bond: add debug info for mode 6")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/bonding/rte_eth_bond_pmd.c | 23 ++++++++++-------------
 1 file changed, 10 insertions(+), 13 deletions(-)

diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index 728c037cae..9694cfba8b 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -507,35 +507,31 @@ uint32_t burstnumberTX;
 #ifdef RTE_LIBRTE_BOND_DEBUG_ALB
 
 static void
-arp_op_name(uint16_t arp_op, char *buf)
+arp_op_name(uint16_t arp_op, char *buf, size_t buf_len)
 {
 	switch (arp_op) {
 	case ARP_OP_REQUEST:
-		snprintf(buf, sizeof("ARP Request"), "%s", "ARP Request");
+		snprintf(buf, buf_len, "%s", "ARP Request");
 		return;
 	case ARP_OP_REPLY:
-		snprintf(buf, sizeof("ARP Reply"), "%s", "ARP Reply");
+		snprintf(buf, buf_len, "%s", "ARP Reply");
 		return;
 	case ARP_OP_REVREQUEST:
-		snprintf(buf, sizeof("Reverse ARP Request"), "%s",
-				"Reverse ARP Request");
+		snprintf(buf, buf_len, "%s", "Reverse ARP Request");
 		return;
 	case ARP_OP_REVREPLY:
-		snprintf(buf, sizeof("Reverse ARP Reply"), "%s",
-				"Reverse ARP Reply");
+		snprintf(buf, buf_len, "%s", "Reverse ARP Reply");
 		return;
 	case ARP_OP_INVREQUEST:
-		snprintf(buf, sizeof("Peer Identify Request"), "%s",
-				"Peer Identify Request");
+		snprintf(buf, buf_len, "%s", "Peer Identify Request");
 		return;
 	case ARP_OP_INVREPLY:
-		snprintf(buf, sizeof("Peer Identify Reply"), "%s",
-				"Peer Identify Reply");
+		snprintf(buf, buf_len, "%s", "Peer Identify Reply");
 		return;
 	default:
 		break;
 	}
-	snprintf(buf, sizeof("Unknown"), "%s", "Unknown");
+	snprintf(buf, buf_len, "%s", "Unknown");
 	return;
 }
 #endif
@@ -652,7 +648,8 @@ mode6_debug(const char __attribute__((unused)) *info, struct ether_hdr *eth_h,
 		arp_h = (struct arp_hdr *)((char *)(eth_h + 1) + offset);
 		ipv4_addr_to_dot(arp_h->arp_data.arp_sip, src_ip, MaxIPv4String);
 		ipv4_addr_to_dot(arp_h->arp_data.arp_tip, dst_ip, MaxIPv4String);
-		arp_op_name(rte_be_to_cpu_16(arp_h->arp_op), ArpOp);
+		arp_op_name(rte_be_to_cpu_16(arp_h->arp_op),
+				ArpOp, sizeof(ArpOp));
 		MODE6_DEBUG(buf, src_ip, dst_ip, eth_h, ArpOp, port, *burstnumber);
 	}
 #endif
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:10.074701294 -0700
+++ 0067-net-bonding-fix-buffer-length-when-printing-strings.patch	2019-07-22 17:55:06.217474000 -0700
@@ -1,13 +1,14 @@
-From f4206d16429cde8af71912be357bf3e1a3f2f315 Mon Sep 17 00:00:00 2001
+From 2680f3696c6b9f2941b946e46600096537622bd4 Mon Sep 17 00:00:00 2001
 From: Bruce Richardson <bruce.richardson@intel.com>
 Date: Wed, 3 Apr 2019 15:45:01 +0100
 Subject: [PATCH] net/bonding: fix buffer length when printing strings
 
+[ upstream commit f4206d16429cde8af71912be357bf3e1a3f2f315 ]
+
 Using the size of the source string is incorrect when printing using
 snprintf. Instead pass in the buffer size to be used appropriately.
 
 Fixes: 457ecf2953fc ("bond: add debug info for mode 6")
-Cc: stable@dpdk.org
 
 Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
 ---
@@ -15,10 +16,10 @@
  1 file changed, 10 insertions(+), 13 deletions(-)
 
 diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
-index 58b6e4344b..154257ffe8 100644
+index 728c037cae..9694cfba8b 100644
 --- a/drivers/net/bonding/rte_eth_bond_pmd.c
 +++ b/drivers/net/bonding/rte_eth_bond_pmd.c
-@@ -489,35 +489,31 @@ uint32_t burstnumberTX;
+@@ -507,35 +507,31 @@ uint32_t burstnumberTX;
  #ifdef RTE_LIBRTE_BOND_DEBUG_ALB
  
  static void
@@ -62,7 +63,7 @@
  	return;
  }
  #endif
-@@ -621,7 +617,8 @@ mode6_debug(const char __attribute__((unused)) *info, struct ether_hdr *eth_h,
+@@ -652,7 +648,8 @@ mode6_debug(const char __attribute__((unused)) *info, struct ether_hdr *eth_h,
  		arp_h = (struct arp_hdr *)((char *)(eth_h + 1) + offset);
  		ipv4_addr_to_dot(arp_h->arp_data.arp_sip, src_ip, MaxIPv4String);
  		ipv4_addr_to_dot(arp_h->arp_data.arp_tip, dst_ip, MaxIPv4String);

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

* [dpdk-stable] patch 'test/distributor: replace sprintf with strlcpy' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (65 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/bonding: fix buffer length when printing strings' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'test/hash: replace sprintf with snprintf' " Yongseok Koh
                   ` (39 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Pallantla Poornima; +Cc: David Hunt, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 78301c59efc6a02c2209ec76c4a16ad66ab117b1 Mon Sep 17 00:00:00 2001
From: Pallantla Poornima <pallantlax.poornima@intel.com>
Date: Thu, 14 Feb 2019 09:45:49 +0000
Subject: [PATCH] test/distributor: replace sprintf with strlcpy

[ upstream commit 7ab0770233ed5bb89845abf6b978ef15b2520bd8 ]

sprintf function is not secure as it doesn't check the length of string.
replaced sprintf with strlcpy.

Fixes: f74df2c57e ("test/distributor: test single and burst API")

Signed-off-by: Pallantla Poornima <pallantlax.poornima@intel.com>
Acked-by: David Hunt <david.hunt@intel.com>
---
 test/test/test_distributor.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/test/test/test_distributor.c b/test/test/test_distributor.c
index 9fae688b8b..cff3477c59 100644
--- a/test/test/test_distributor.c
+++ b/test/test/test_distributor.c
@@ -40,6 +40,7 @@
 #include <rte_mempool.h>
 #include <rte_mbuf.h>
 #include <rte_distributor.h>
+#include <rte_string_fns.h>
 
 #define ITER_POWER 20 /* log 2 of how many iterations we do when timing. */
 #define BURST 32
@@ -671,9 +672,11 @@ test_distributor(void)
 
 		worker_params.dist = dist[i];
 		if (i)
-			sprintf(worker_params.name, "burst");
+			strlcpy(worker_params.name, "burst",
+					sizeof(worker_params.name));
 		else
-			sprintf(worker_params.name, "single");
+			strlcpy(worker_params.name, "single",
+					sizeof(worker_params.name));
 
 		rte_eal_mp_remote_launch(handle_work,
 				&worker_params, SKIP_MASTER);
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:10.125933403 -0700
+++ 0068-test-distributor-replace-sprintf-with-strlcpy.patch	2019-07-22 17:55:06.222472000 -0700
@@ -1,25 +1,26 @@
-From 7ab0770233ed5bb89845abf6b978ef15b2520bd8 Mon Sep 17 00:00:00 2001
+From 78301c59efc6a02c2209ec76c4a16ad66ab117b1 Mon Sep 17 00:00:00 2001
 From: Pallantla Poornima <pallantlax.poornima@intel.com>
 Date: Thu, 14 Feb 2019 09:45:49 +0000
 Subject: [PATCH] test/distributor: replace sprintf with strlcpy
 
+[ upstream commit 7ab0770233ed5bb89845abf6b978ef15b2520bd8 ]
+
 sprintf function is not secure as it doesn't check the length of string.
 replaced sprintf with strlcpy.
 
 Fixes: f74df2c57e ("test/distributor: test single and burst API")
-Cc: stable@dpdk.org
 
 Signed-off-by: Pallantla Poornima <pallantlax.poornima@intel.com>
 Acked-by: David Hunt <david.hunt@intel.com>
 ---
- app/test/test_distributor.c | 7 +++++--
+ test/test/test_distributor.c | 7 +++++--
  1 file changed, 5 insertions(+), 2 deletions(-)
 
-diff --git a/app/test/test_distributor.c b/app/test/test_distributor.c
-index 98919ec0cc..da3348fd1f 100644
---- a/app/test/test_distributor.c
-+++ b/app/test/test_distributor.c
-@@ -11,6 +11,7 @@
+diff --git a/test/test/test_distributor.c b/test/test/test_distributor.c
+index 9fae688b8b..cff3477c59 100644
+--- a/test/test/test_distributor.c
++++ b/test/test/test_distributor.c
+@@ -40,6 +40,7 @@
  #include <rte_mempool.h>
  #include <rte_mbuf.h>
  #include <rte_distributor.h>
@@ -27,7 +28,7 @@
  
  #define ITER_POWER 20 /* log 2 of how many iterations we do when timing. */
  #define BURST 32
-@@ -642,9 +643,11 @@ test_distributor(void)
+@@ -671,9 +672,11 @@ test_distributor(void)
  
  		worker_params.dist = dist[i];
  		if (i)

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

* [dpdk-stable] patch 'test/hash: replace sprintf with snprintf' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (66 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'test/distributor: replace sprintf with strlcpy' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'eal: fix typo in comment of vector function' " Yongseok Koh
                   ` (38 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Pallantla Poornima; +Cc: Yipeng Wang, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 3196b046aa13963fdbd5627c99dbe2a8b9ac4d5a Mon Sep 17 00:00:00 2001
From: Pallantla Poornima <pallantlax.poornima@intel.com>
Date: Tue, 26 Mar 2019 10:27:23 +0000
Subject: [PATCH] test/hash: replace sprintf with snprintf

[ upstream commit 8766e2a4782aecb6d474697617055e281149cc02 ]

sprintf function is not secure as it doesn't check the length of string.
More secure function snprintf is used.

Fixes: 473d1bebce ("hash: allow to store data in hash table")

Signed-off-by: Pallantla Poornima <pallantlax.poornima@intel.com>
Acked-by: Yipeng Wang <yipeng1.wang@intel.com>
---
 test/test/test_hash_perf.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/test/test/test_hash_perf.c b/test/test/test_hash_perf.c
index b0514b104f..b965d9b255 100644
--- a/test/test/test_hash_perf.c
+++ b/test/test/test_hash_perf.c
@@ -112,9 +112,11 @@ create_table(unsigned with_data, unsigned table_index)
 
 	if (with_data)
 		/* Table will store 8-byte data */
-		sprintf(name, "test_hash%d_data", hashtest_key_lens[table_index]);
+		snprintf(name, sizeof(name), "test_hash%u_data",
+				hashtest_key_lens[table_index]);
 	else
-		sprintf(name, "test_hash%d", hashtest_key_lens[table_index]);
+		snprintf(name, sizeof(name), "test_hash%u",
+				hashtest_key_lens[table_index]);
 
 	ut_params.name = name;
 	ut_params.key_len = hashtest_key_lens[table_index];
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:10.178141979 -0700
+++ 0069-test-hash-replace-sprintf-with-snprintf.patch	2019-07-22 17:55:06.236472000 -0700
@@ -1,25 +1,26 @@
-From 8766e2a4782aecb6d474697617055e281149cc02 Mon Sep 17 00:00:00 2001
+From 3196b046aa13963fdbd5627c99dbe2a8b9ac4d5a Mon Sep 17 00:00:00 2001
 From: Pallantla Poornima <pallantlax.poornima@intel.com>
 Date: Tue, 26 Mar 2019 10:27:23 +0000
 Subject: [PATCH] test/hash: replace sprintf with snprintf
 
+[ upstream commit 8766e2a4782aecb6d474697617055e281149cc02 ]
+
 sprintf function is not secure as it doesn't check the length of string.
 More secure function snprintf is used.
 
 Fixes: 473d1bebce ("hash: allow to store data in hash table")
-Cc: stable@dpdk.org
 
 Signed-off-by: Pallantla Poornima <pallantlax.poornima@intel.com>
 Acked-by: Yipeng Wang <yipeng1.wang@intel.com>
 ---
- app/test/test_hash_perf.c | 6 ++++--
+ test/test/test_hash_perf.c | 6 ++++--
  1 file changed, 4 insertions(+), 2 deletions(-)
 
-diff --git a/app/test/test_hash_perf.c b/app/test/test_hash_perf.c
-index 5252111803..5648fce023 100644
---- a/app/test/test_hash_perf.c
-+++ b/app/test/test_hash_perf.c
-@@ -85,9 +85,11 @@ create_table(unsigned int with_data, unsigned int table_index,
+diff --git a/test/test/test_hash_perf.c b/test/test/test_hash_perf.c
+index b0514b104f..b965d9b255 100644
+--- a/test/test/test_hash_perf.c
++++ b/test/test/test_hash_perf.c
+@@ -112,9 +112,11 @@ create_table(unsigned with_data, unsigned table_index)
  
  	if (with_data)
  		/* Table will store 8-byte data */
@@ -31,8 +32,8 @@
 +		snprintf(name, sizeof(name), "test_hash%u",
 +				hashtest_key_lens[table_index]);
  
- 
- 	if (with_locks)
+ 	ut_params.name = name;
+ 	ut_params.key_len = hashtest_key_lens[table_index];
 -- 
 2.21.0
 

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

* [dpdk-stable] patch 'eal: fix typo in comment of vector function' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (67 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'test/hash: replace sprintf with snprintf' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'doc: fix links to doxygen and sphinx sites' " Yongseok Koh
                   ` (37 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Dekel Peled; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From fe848c3cb245629f02613ee7e620bd33cfd3d96d Mon Sep 17 00:00:00 2001
From: Dekel Peled <dekelp@mellanox.com>
Date: Mon, 1 Apr 2019 14:06:20 +0300
Subject: [PATCH] eal: fix typo in comment of vector function

[ upstream commit f129008f5aa6c55327d75c9b42292bf70e4e1647 ]

Remove redundant item 'a4' in comment.

Fixes: 86c743cf9140 ("eal: define generic vector types")

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
---
 lib/librte_eal/common/include/generic/rte_vect.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_eal/common/include/generic/rte_vect.h b/lib/librte_eal/common/include/generic/rte_vect.h
index 600ee9f397..6d1ffe9f1f 100644
--- a/lib/librte_eal/common/include/generic/rte_vect.h
+++ b/lib/librte_eal/common/include/generic/rte_vect.h
@@ -83,7 +83,7 @@ typedef uint16_t rte_v128u16_t __attribute__((vector_size(16), aligned(16)));
 /**
  * 128 bits vector size to use with unsigned 32 bits elements.
  *
- * a = (rte_v128u32_t){ a0, a1, a2, a3, a4 }
+ * a = (rte_v128u32_t){ a0, a1, a2, a3 }
  */
 typedef uint32_t rte_v128u32_t __attribute__((vector_size(16), aligned(16)));
 
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:10.241959038 -0700
+++ 0070-eal-fix-typo-in-comment-of-vector-function.patch	2019-07-22 17:55:06.242476000 -0700
@@ -1,12 +1,13 @@
-From f129008f5aa6c55327d75c9b42292bf70e4e1647 Mon Sep 17 00:00:00 2001
+From fe848c3cb245629f02613ee7e620bd33cfd3d96d Mon Sep 17 00:00:00 2001
 From: Dekel Peled <dekelp@mellanox.com>
 Date: Mon, 1 Apr 2019 14:06:20 +0300
 Subject: [PATCH] eal: fix typo in comment of vector function
 
+[ upstream commit f129008f5aa6c55327d75c9b42292bf70e4e1647 ]
+
 Remove redundant item 'a4' in comment.
 
 Fixes: 86c743cf9140 ("eal: define generic vector types")
-Cc: stable@dpdk.org
 
 Signed-off-by: Dekel Peled <dekelp@mellanox.com>
 ---
@@ -14,10 +15,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/lib/librte_eal/common/include/generic/rte_vect.h b/lib/librte_eal/common/include/generic/rte_vect.h
-index 11c6475b9b..3fc47979f8 100644
+index 600ee9f397..6d1ffe9f1f 100644
 --- a/lib/librte_eal/common/include/generic/rte_vect.h
 +++ b/lib/librte_eal/common/include/generic/rte_vect.h
-@@ -55,7 +55,7 @@ typedef uint16_t rte_v128u16_t __attribute__((vector_size(16), aligned(16)));
+@@ -83,7 +83,7 @@ typedef uint16_t rte_v128u16_t __attribute__((vector_size(16), aligned(16)));
  /**
   * 128 bits vector size to use with unsigned 32 bits elements.
   *

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

* [dpdk-stable] patch 'doc: fix links to doxygen and sphinx sites' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (68 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'eal: fix typo in comment of vector function' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'cfgfile: replace strcat with strlcat' " Yongseok Koh
                   ` (36 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Dekel Peled; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 37a027ac03795c7293effc026d9d21f78898654f Mon Sep 17 00:00:00 2001
From: Dekel Peled <dekelp@mellanox.com>
Date: Wed, 3 Apr 2019 14:04:11 +0300
Subject: [PATCH] doc: fix links to doxygen and sphinx sites

[ upstream commit 047b663a5935b701fbc739e5a3fb142539519378 ]

Update broken links, replace with valid links.

Fixes: 7798f17a0d62 ("doc: add documentation guidelines")

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
---
 doc/guides/contributing/documentation.rst | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/doc/guides/contributing/documentation.rst b/doc/guides/contributing/documentation.rst
index 6ccca11a28..0a0c39013b 100644
--- a/doc/guides/contributing/documentation.rst
+++ b/doc/guides/contributing/documentation.rst
@@ -37,14 +37,14 @@ The main directories that contain files related to documentation are shown below
        |-- ...
 
 
-The API documentation is built from `Doxygen <http://www.stack.nl/~dimitri/doxygen/>`_ comments in the header files.
+The API documentation is built from `Doxygen <http://www.doxygen.nl>`_ comments in the header files.
 These files are mainly in the ``lib/librte_*`` directories although some of the Poll Mode Drivers in ``drivers/net``
 are also documented with Doxygen.
 
 The configuration files that are used to control the Doxygen output are in the ``doc/api`` directory.
 
 The user guides such as *The Programmers Guide* and the *FreeBSD* and *Linux Getting Started* Guides are generated
-from RST markup text files using the `Sphinx <http://sphinx-doc.org/index.html>`_ Documentation Generator.
+from RST markup text files using the `Sphinx <http://sphinx-doc.org>`_ Documentation Generator.
 
 These files are included in the ``doc/guides/`` directory.
 The output is controlled by the ``doc/guides/conf.py`` file.
@@ -171,7 +171,8 @@ For full support with figure and table captioning the latest version of Sphinx c
    sudo pip install --upgrade sphinx
    sudo pip install --upgrade sphinx_rtd_theme
 
-For further information on getting started with Sphinx see the `Sphinx Tutorial <http://sphinx-doc.org/tutorial.html>`_.
+For further information on getting started with Sphinx see the
+`Sphinx Getting Started <http://www.sphinx-doc.org/en/master/usage/quickstart.html>`_.
 
 .. Note::
 
@@ -593,7 +594,7 @@ Doxygen Guidelines
 
 The DPDK API is documented using Doxygen comment annotations in the header files.
 Doxygen is a very powerful tool, it is extremely configurable and with a little effort can be used to create expressive documents.
-See the `Doxygen website <http://www.stack.nl/~dimitri/doxygen/>`_ for full details on how to use it.
+See the `Doxygen website <http://www.doxygen.nl>`_ for full details on how to use it.
 
 The following are some guidelines for use of Doxygen in the DPDK API documentation:
 
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:10.296568905 -0700
+++ 0071-doc-fix-links-to-doxygen-and-sphinx-sites.patch	2019-07-22 17:55:06.247477000 -0700
@@ -1,12 +1,13 @@
-From 047b663a5935b701fbc739e5a3fb142539519378 Mon Sep 17 00:00:00 2001
+From 37a027ac03795c7293effc026d9d21f78898654f Mon Sep 17 00:00:00 2001
 From: Dekel Peled <dekelp@mellanox.com>
 Date: Wed, 3 Apr 2019 14:04:11 +0300
 Subject: [PATCH] doc: fix links to doxygen and sphinx sites
 
+[ upstream commit 047b663a5935b701fbc739e5a3fb142539519378 ]
+
 Update broken links, replace with valid links.
 
 Fixes: 7798f17a0d62 ("doc: add documentation guidelines")
-Cc: stable@dpdk.org
 
 Signed-off-by: Dekel Peled <dekelp@mellanox.com>
 ---
@@ -14,10 +15,10 @@
  1 file changed, 5 insertions(+), 4 deletions(-)
 
 diff --git a/doc/guides/contributing/documentation.rst b/doc/guides/contributing/documentation.rst
-index baf0921fbd..9d381919b3 100644
+index 6ccca11a28..0a0c39013b 100644
 --- a/doc/guides/contributing/documentation.rst
 +++ b/doc/guides/contributing/documentation.rst
-@@ -39,14 +39,14 @@ The main directories that contain files related to documentation are shown below
+@@ -37,14 +37,14 @@ The main directories that contain files related to documentation are shown below
         |-- ...
  
  
@@ -34,7 +35,7 @@
  
  These files are included in the ``doc/guides/`` directory.
  The output is controlled by the ``doc/guides/conf.py`` file.
-@@ -173,7 +173,8 @@ For full support with figure and table captioning the latest version of Sphinx c
+@@ -171,7 +171,8 @@ For full support with figure and table captioning the latest version of Sphinx c
     sudo pip install --upgrade sphinx
     sudo pip install --upgrade sphinx_rtd_theme
  
@@ -44,7 +45,7 @@
  
  .. Note::
  
-@@ -595,7 +596,7 @@ Doxygen Guidelines
+@@ -593,7 +594,7 @@ Doxygen Guidelines
  
  The DPDK API is documented using Doxygen comment annotations in the header files.
  Doxygen is a very powerful tool, it is extremely configurable and with a little effort can be used to create expressive documents.

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

* [dpdk-stable] patch 'cfgfile: replace strcat with strlcat' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (69 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'doc: fix links to doxygen and sphinx sites' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'app/testpmd: fix typo in comment' " Yongseok Koh
                   ` (35 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Chaitanya Babu Talluri; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 80ed2ca13bbcd1d803bb2db8f4d5c3f20cbacc45 Mon Sep 17 00:00:00 2001
From: Chaitanya Babu Talluri <tallurix.chaitanya.babu@intel.com>
Date: Fri, 8 Mar 2019 12:45:50 +0000
Subject: [PATCH] cfgfile: replace strcat with strlcat

[ backported from upstream commit bb411b952d6c70dc93de22aa3d092e385239de6c ]

Replace strcat with strlcat to avoid buffer overflow.

Fixes: a6a47ac9c2 ("cfgfile: rework load function")

Signed-off-by: Chaitanya Babu Talluri <tallurix.chaitanya.babu@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 lib/librte_cfgfile/rte_cfgfile.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/librte_cfgfile/rte_cfgfile.c b/lib/librte_cfgfile/rte_cfgfile.c
index eacf93a8c3..0453a77665 100644
--- a/lib/librte_cfgfile/rte_cfgfile.c
+++ b/lib/librte_cfgfile/rte_cfgfile.c
@@ -36,6 +36,7 @@
 #include <string.h>
 #include <ctype.h>
 #include <errno.h>
+#include <rte_string_fns.h>
 #include <rte_common.h>
 
 #include "rte_cfgfile.h"
@@ -253,10 +254,11 @@ rte_cfgfile_load_with_params(const char *filename, int flags,
 			_strip(split[1], strlen(split[1]));
 			char *end = memchr(split[1], '\\', strlen(split[1]));
 
+			size_t split_len = strlen(split[1]) + 1;
 			while (end != NULL) {
 				if (*(end+1) == params->comment_character) {
 					*end = '\0';
-					strcat(split[1], end+1);
+					strlcat(split[1], end+1, split_len);
 				} else
 					end++;
 				end = memchr(end, '\\', strlen(end));
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:10.351681493 -0700
+++ 0072-cfgfile-replace-strcat-with-strlcat.patch	2019-07-22 17:55:06.251472000 -0700
@@ -1,24 +1,33 @@
-From bb411b952d6c70dc93de22aa3d092e385239de6c Mon Sep 17 00:00:00 2001
+From 80ed2ca13bbcd1d803bb2db8f4d5c3f20cbacc45 Mon Sep 17 00:00:00 2001
 From: Chaitanya Babu Talluri <tallurix.chaitanya.babu@intel.com>
 Date: Fri, 8 Mar 2019 12:45:50 +0000
 Subject: [PATCH] cfgfile: replace strcat with strlcat
 
+[ backported from upstream commit bb411b952d6c70dc93de22aa3d092e385239de6c ]
+
 Replace strcat with strlcat to avoid buffer overflow.
 
 Fixes: a6a47ac9c2 ("cfgfile: rework load function")
-Cc: stable@dpdk.org
 
 Signed-off-by: Chaitanya Babu Talluri <tallurix.chaitanya.babu@intel.com>
 Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
 ---
- lib/librte_cfgfile/rte_cfgfile.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
+ lib/librte_cfgfile/rte_cfgfile.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
 
 diff --git a/lib/librte_cfgfile/rte_cfgfile.c b/lib/librte_cfgfile/rte_cfgfile.c
-index 6110dba76b..f8e7627a51 100644
+index eacf93a8c3..0453a77665 100644
 --- a/lib/librte_cfgfile/rte_cfgfile.c
 +++ b/lib/librte_cfgfile/rte_cfgfile.c
-@@ -224,10 +224,11 @@ rte_cfgfile_load_with_params(const char *filename, int flags,
+@@ -36,6 +36,7 @@
+ #include <string.h>
+ #include <ctype.h>
+ #include <errno.h>
++#include <rte_string_fns.h>
+ #include <rte_common.h>
+ 
+ #include "rte_cfgfile.h"
+@@ -253,10 +254,11 @@ rte_cfgfile_load_with_params(const char *filename, int flags,
  			_strip(split[1], strlen(split[1]));
  			char *end = memchr(split[1], '\\', strlen(split[1]));
  

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

* [dpdk-stable] patch 'app/testpmd: fix typo in comment' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (70 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'cfgfile: replace strcat with strlcat' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'net: fix Tx VLAN flag for offload emulation' " Yongseok Koh
                   ` (34 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Dekel Peled; +Cc: Bernard Iremonger, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From c79c6141532ac017d49e36726bf3d23362d1a63c Mon Sep 17 00:00:00 2001
From: Dekel Peled <dekelp@mellanox.com>
Date: Sun, 31 Mar 2019 13:36:11 +0300
Subject: [PATCH] app/testpmd: fix typo in comment

[ upstream commit 51db3a89b2da78af9ae95ca3d9a390bb07eda496 ]

Correct minor typing mistake:
then ==> the

Fixes: 79bec05b32b7 ("app/testpmd: add ability to split outgoing packets")

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 app/test-pmd/csumonly.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c
index 4800e74e5e..ae59e76c31 100644
--- a/app/test-pmd/csumonly.c
+++ b/app/test-pmd/csumonly.c
@@ -528,7 +528,7 @@ mbuf_copy_split(const struct rte_mbuf *ms, struct rte_mbuf *md[],
 
 /*
  * Allocate a new mbuf with up to tx_pkt_nb_segs segments.
- * Copy packet contents and offload information into then new segmented mbuf.
+ * Copy packet contents and offload information into the new segmented mbuf.
  */
 static struct rte_mbuf *
 pkt_copy_split(const struct rte_mbuf *pkt)
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:10.399295084 -0700
+++ 0073-app-testpmd-fix-typo-in-comment.patch	2019-07-22 17:55:06.256473000 -0700
@@ -1,13 +1,14 @@
-From 51db3a89b2da78af9ae95ca3d9a390bb07eda496 Mon Sep 17 00:00:00 2001
+From c79c6141532ac017d49e36726bf3d23362d1a63c Mon Sep 17 00:00:00 2001
 From: Dekel Peled <dekelp@mellanox.com>
 Date: Sun, 31 Mar 2019 13:36:11 +0300
 Subject: [PATCH] app/testpmd: fix typo in comment
 
+[ upstream commit 51db3a89b2da78af9ae95ca3d9a390bb07eda496 ]
+
 Correct minor typing mistake:
 then ==> the
 
 Fixes: 79bec05b32b7 ("app/testpmd: add ability to split outgoing packets")
-Cc: stable@dpdk.org
 
 Signed-off-by: Dekel Peled <dekelp@mellanox.com>
 Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
@@ -16,10 +17,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c
-index ffeee20511..f4f2a7b298 100644
+index 4800e74e5e..ae59e76c31 100644
 --- a/app/test-pmd/csumonly.c
 +++ b/app/test-pmd/csumonly.c
-@@ -575,7 +575,7 @@ mbuf_copy_split(const struct rte_mbuf *ms, struct rte_mbuf *md[],
+@@ -528,7 +528,7 @@ mbuf_copy_split(const struct rte_mbuf *ms, struct rte_mbuf *md[],
  
  /*
   * Allocate a new mbuf with up to tx_pkt_nb_segs segments.

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

* [dpdk-stable] patch 'net: fix Tx VLAN flag for offload emulation' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (71 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'app/testpmd: fix typo in comment' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'examples/l2fwd-cat: fix build on FreeBSD' " Yongseok Koh
                   ` (33 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Bill Hong; +Cc: Chas Williams, Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 94717db993e40c0d839f28a8ad41ef8c2a93a5ee Mon Sep 17 00:00:00 2001
From: Bill Hong <bhong@brocade.com>
Date: Mon, 25 Mar 2019 11:05:41 -0400
Subject: [PATCH] net: fix Tx VLAN flag for offload emulation

[ backported from upstream commit 9ea1b3ccfcfd556ec5144fa91041cf8f86814c5f ]

A PMD might use rte_vlan_insert to implement Tx VLAN offload. Typically
the PMD will insert the VLAN header in the transmit path and then
attempt to send the packets. If this fails, the packets are returned to
the application which may attempt to send these packets again. If the
PKT_TX_VLAN flag is not cleared, the transmit path may attempt to insert
the VLAN header again.

Fixes: 47aa48b969f8 ("net: fix stripped VLAN flag for offload emulation")

Signed-off-by: Bill Hong <bhong@brocade.com>
Signed-off-by: Chas Williams <chas3@att.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.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 f7a9a86958..9ae2b4e96f 100644
--- a/lib/librte_net/rte_ether.h
+++ b/lib/librte_net/rte_ether.h
@@ -409,7 +409,7 @@ static inline int rte_vlan_insert(struct rte_mbuf **m)
 	vh = (struct vlan_hdr *) (nh + 1);
 	vh->vlan_tci = rte_cpu_to_be_16((*m)->vlan_tci);
 
-	(*m)->ol_flags &= ~PKT_RX_VLAN_STRIPPED;
+	(*m)->ol_flags &= ~(PKT_RX_VLAN_STRIPPED | PKT_TX_VLAN_PKT);
 
 	return 0;
 }
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:10.450863787 -0700
+++ 0074-net-fix-Tx-VLAN-flag-for-offload-emulation.patch	2019-07-22 17:55:06.259474000 -0700
@@ -1,8 +1,10 @@
-From 9ea1b3ccfcfd556ec5144fa91041cf8f86814c5f Mon Sep 17 00:00:00 2001
+From 94717db993e40c0d839f28a8ad41ef8c2a93a5ee Mon Sep 17 00:00:00 2001
 From: Bill Hong <bhong@brocade.com>
 Date: Mon, 25 Mar 2019 11:05:41 -0400
 Subject: [PATCH] net: fix Tx VLAN flag for offload emulation
 
+[ backported from upstream commit 9ea1b3ccfcfd556ec5144fa91041cf8f86814c5f ]
+
 A PMD might use rte_vlan_insert to implement Tx VLAN offload. Typically
 the PMD will insert the VLAN header in the transmit path and then
 attempt to send the packets. If this fails, the packets are returned to
@@ -11,7 +13,6 @@
 the VLAN header again.
 
 Fixes: 47aa48b969f8 ("net: fix stripped VLAN flag for offload emulation")
-Cc: stable@dpdk.org
 
 Signed-off-by: Bill Hong <bhong@brocade.com>
 Signed-off-by: Chas Williams <chas3@att.com>
@@ -21,15 +22,15 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/lib/librte_net/rte_ether.h b/lib/librte_net/rte_ether.h
-index 54822df751..3a87ff1849 100644
+index f7a9a86958..9ae2b4e96f 100644
 --- a/lib/librte_net/rte_ether.h
 +++ b/lib/librte_net/rte_ether.h
-@@ -410,7 +410,7 @@ static inline int rte_vlan_insert(struct rte_mbuf **m)
+@@ -409,7 +409,7 @@ static inline int rte_vlan_insert(struct rte_mbuf **m)
  	vh = (struct vlan_hdr *) (nh + 1);
  	vh->vlan_tci = rte_cpu_to_be_16((*m)->vlan_tci);
  
 -	(*m)->ol_flags &= ~PKT_RX_VLAN_STRIPPED;
-+	(*m)->ol_flags &= ~(PKT_RX_VLAN_STRIPPED | PKT_TX_VLAN);
++	(*m)->ol_flags &= ~(PKT_RX_VLAN_STRIPPED | PKT_TX_VLAN_PKT);
  
  	return 0;
  }

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

* [dpdk-stable] patch 'examples/l2fwd-cat: fix build on FreeBSD' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (72 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'net: fix Tx VLAN flag for offload emulation' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'app/crypto-perf: check range of socket id' " Yongseok Koh
                   ` (32 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: David Marchand, Luca Boccassi, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From f6bed6abddaa61038e03ba8137d55c4191ebb8d9 Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Tue, 9 Apr 2019 11:55:38 +0100
Subject: [PATCH] examples/l2fwd-cat: fix build on FreeBSD

[ upstream commit d51e5ec7b1a52e841f006794a2451266c3209b50 ]

The definition of CPU_AND differs from Linux to BSD, so we need to use
RTE_CPU_AND instead.

Fixes: f6baccbc2b3b ("examples/l2fwd-cat: add sample application for PQoS CAT and CDP")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 examples/l2fwd-cat/cat.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/l2fwd-cat/cat.c b/examples/l2fwd-cat/cat.c
index 689dcb11f0..76400920ad 100644
--- a/examples/l2fwd-cat/cat.c
+++ b/examples/l2fwd-cat/cat.c
@@ -374,7 +374,7 @@ check_cpus_overlapping(void)
 
 	for (i = 0; i < m_config_count; i++) {
 		for (j = i + 1; j < m_config_count; j++) {
-			CPU_AND(&mask,
+			RTE_CPU_AND(&mask,
 				&m_config[i].cpumask,
 				&m_config[j].cpumask);
 
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:10.501271537 -0700
+++ 0075-examples-l2fwd-cat-fix-build-on-FreeBSD.patch	2019-07-22 17:55:06.264472000 -0700
@@ -1,13 +1,14 @@
-From d51e5ec7b1a52e841f006794a2451266c3209b50 Mon Sep 17 00:00:00 2001
+From f6bed6abddaa61038e03ba8137d55c4191ebb8d9 Mon Sep 17 00:00:00 2001
 From: Bruce Richardson <bruce.richardson@intel.com>
 Date: Tue, 9 Apr 2019 11:55:38 +0100
 Subject: [PATCH] examples/l2fwd-cat: fix build on FreeBSD
 
+[ upstream commit d51e5ec7b1a52e841f006794a2451266c3209b50 ]
+
 The definition of CPU_AND differs from Linux to BSD, so we need to use
 RTE_CPU_AND instead.
 
 Fixes: f6baccbc2b3b ("examples/l2fwd-cat: add sample application for PQoS CAT and CDP")
-Cc: stable@dpdk.org
 
 Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
 Reviewed-by: David Marchand <david.marchand@redhat.com>
@@ -17,10 +18,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/examples/l2fwd-cat/cat.c b/examples/l2fwd-cat/cat.c
-index a6081e6766..502c6b3278 100644
+index 689dcb11f0..76400920ad 100644
 --- a/examples/l2fwd-cat/cat.c
 +++ b/examples/l2fwd-cat/cat.c
-@@ -345,7 +345,7 @@ check_cpus_overlapping(void)
+@@ -374,7 +374,7 @@ check_cpus_overlapping(void)
  
  	for (i = 0; i < m_config_count; i++) {
  		for (j = i + 1; j < m_config_count; j++) {

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

* [dpdk-stable] patch 'app/crypto-perf: check range of socket id' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (73 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'examples/l2fwd-cat: fix build on FreeBSD' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'kni: fix build with Linux 5.1' " Yongseok Koh
                   ` (31 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Fan Zhang, Akhil Goyal, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From a8f98008f0c72ab92ace60037b5eaa9b2d4f3533 Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Mon, 8 Apr 2019 10:25:14 +0100
Subject: [PATCH] app/crypto-perf: check range of socket id

[ upstream commit 64c469b9e7d8faa85745adbfaf02d17cbb5b2bb4 ]

The socket_id is used as an array index so should be within the range
of zero to max numa nodes. Add a range check to ensure we don't get
excessive values.

Coverity issue: 336812
Coverity issue: 336829
Fixes: 2c59bd32b70d ("cryptodev: do not create session mempool internally")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
---
 app/test-crypto-perf/main.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/app/test-crypto-perf/main.c b/app/test-crypto-perf/main.c
index be861cc0f9..e027589cfd 100644
--- a/app/test-crypto-perf/main.c
+++ b/app/test-crypto-perf/main.c
@@ -156,6 +156,11 @@ cperf_initialize_cryptodev(struct cperf_options *opts, uint8_t *enabled_cdevs,
 
 		struct rte_cryptodev_info cdev_info;
 		uint8_t socket_id = rte_cryptodev_socket_id(cdev_id);
+		/* range check the socket_id - negative values become big
+		 * positive ones due to use of unsigned value
+		 */
+		if (socket_id >= RTE_MAX_NUMA_NODES)
+			socket_id = 0;
 
 		rte_cryptodev_info_get(cdev_id, &cdev_info);
 		if (opts->nb_qps > cdev_info.max_nb_queue_pairs) {
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:10.551016626 -0700
+++ 0076-app-crypto-perf-check-range-of-socket-id.patch	2019-07-22 17:55:06.268473000 -0700
@@ -1,8 +1,10 @@
-From 64c469b9e7d8faa85745adbfaf02d17cbb5b2bb4 Mon Sep 17 00:00:00 2001
+From a8f98008f0c72ab92ace60037b5eaa9b2d4f3533 Mon Sep 17 00:00:00 2001
 From: Bruce Richardson <bruce.richardson@intel.com>
 Date: Mon, 8 Apr 2019 10:25:14 +0100
 Subject: [PATCH] app/crypto-perf: check range of socket id
 
+[ upstream commit 64c469b9e7d8faa85745adbfaf02d17cbb5b2bb4 ]
+
 The socket_id is used as an array index so should be within the range
 of zero to max numa nodes. Add a range check to ensure we don't get
 excessive values.
@@ -10,7 +12,6 @@
 Coverity issue: 336812
 Coverity issue: 336829
 Fixes: 2c59bd32b70d ("cryptodev: do not create session mempool internally")
-CC: stable@dpdk.org
 
 Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
 Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
@@ -20,10 +21,10 @@
  1 file changed, 5 insertions(+)
 
 diff --git a/app/test-crypto-perf/main.c b/app/test-crypto-perf/main.c
-index 175c639fbe..4247f6add9 100644
+index be861cc0f9..e027589cfd 100644
 --- a/app/test-crypto-perf/main.c
 +++ b/app/test-crypto-perf/main.c
-@@ -183,6 +183,11 @@ cperf_initialize_cryptodev(struct cperf_options *opts, uint8_t *enabled_cdevs)
+@@ -156,6 +156,11 @@ cperf_initialize_cryptodev(struct cperf_options *opts, uint8_t *enabled_cdevs,
  
  		struct rte_cryptodev_info cdev_info;
  		uint8_t socket_id = rte_cryptodev_socket_id(cdev_id);

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

* [dpdk-stable] patch 'kni: fix build with Linux 5.1' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (74 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'app/crypto-perf: check range of socket id' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/bnx2x: fix memory leak' " Yongseok Koh
                   ` (30 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Bruce Richardson, Rami Rosen, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 6d9f117716d2cc2e63589a93161e49a9bb008551 Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Mon, 8 Apr 2019 15:22:26 +0100
Subject: [PATCH] kni: fix build with Linux 5.1

[ upstream commit db9178c24c1643b5ef58f2a9ff87c3eef8e0e1e4 ]

Build error seen with Linux kernel 5.1 and
when CONFIG_RTE_KNI_KMOD_ETHTOOL is enabled.

Build error:
kernel/linux/kni/igb_main.c:2352:18:
  error: initialization of ... from incompatible pointer type ...
  [-Werror=incompatible-pointer-types]
    .ndo_fdb_add  = igb_ndo_fdb_add,
                      ^~~~~~~~~~~~~~~

ndo_fdb_add() is changed in Linux kernel version 5.1 and now requires
a new parameter, 'struct netlink_ext_ack *extack':
Linux Commit 87b0984ebfab ("net: Add extack argument to ndo_fdb_add()")

ndo_fdb_add() parameter updated with compile time Linux kernel version
check.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Tested-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Rami Rosen <ramirose@gmail.com>
---
 lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | 6 ++++++
 lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h  | 4 ++++
 2 files changed, 10 insertions(+)

diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c
index 6d8c2c774e..a1d9a73615 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c
+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c
@@ -2127,7 +2127,13 @@ static int igb_ndo_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
 #ifdef HAVE_NDO_FDB_ADD_VID
 			   u16 vid,
 #endif
+#ifdef HAVE_NDO_FDB_ADD_EXTACK
+			   u16 flags,
+			   struct netlink_ext_ack *extack)
+#else
 			   u16 flags)
+#endif
+
 #else
 static int igb_ndo_fdb_add(struct ndmsg *ndm,
 			   struct net_device *dev,
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
index 0ca7a22a81..8153ecf17f 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
@@ -3960,6 +3960,10 @@ skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type)
 #define HAVE_NDO_BRIDGE_SETLINK_EXTACK
 #endif /* >= 5.0.0 */
 
+#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(5,1,0) )
+#define HAVE_NDO_FDB_ADD_EXTACK
+#endif /* >= 5.1.0 */
+
 #if defined(timer_setup) && defined(from_timer)
 #define HAVE_TIMER_SETUP
 #endif
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:10.601235503 -0700
+++ 0077-kni-fix-build-with-Linux-5.1.patch	2019-07-22 17:55:06.288473000 -0700
@@ -1,8 +1,10 @@
-From db9178c24c1643b5ef58f2a9ff87c3eef8e0e1e4 Mon Sep 17 00:00:00 2001
+From 6d9f117716d2cc2e63589a93161e49a9bb008551 Mon Sep 17 00:00:00 2001
 From: Ferruh Yigit <ferruh.yigit@intel.com>
 Date: Mon, 8 Apr 2019 15:22:26 +0100
 Subject: [PATCH] kni: fix build with Linux 5.1
 
+[ upstream commit db9178c24c1643b5ef58f2a9ff87c3eef8e0e1e4 ]
+
 Build error seen with Linux kernel 5.1 and
 when CONFIG_RTE_KNI_KMOD_ETHTOOL is enabled.
 
@@ -20,21 +22,19 @@
 ndo_fdb_add() parameter updated with compile time Linux kernel version
 check.
 
-Cc: stable@dpdk.org
-
 Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
 Tested-by: Bruce Richardson <bruce.richardson@intel.com>
 Reviewed-by: Rami Rosen <ramirose@gmail.com>
 ---
- kernel/linux/kni/ethtool/igb/igb_main.c | 6 ++++++
- kernel/linux/kni/ethtool/igb/kcompat.h  | 4 ++++
+ lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c | 6 ++++++
+ lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h  | 4 ++++
  2 files changed, 10 insertions(+)
 
-diff --git a/kernel/linux/kni/ethtool/igb/igb_main.c b/kernel/linux/kni/ethtool/igb/igb_main.c
-index 0b4faeae52..cda2b063d8 100644
---- a/kernel/linux/kni/ethtool/igb/igb_main.c
-+++ b/kernel/linux/kni/ethtool/igb/igb_main.c
-@@ -2112,7 +2112,13 @@ static int igb_ndo_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
+diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c
+index 6d8c2c774e..a1d9a73615 100644
+--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c
++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c
+@@ -2127,7 +2127,13 @@ static int igb_ndo_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
  #ifdef HAVE_NDO_FDB_ADD_VID
  			   u16 vid,
  #endif
@@ -48,11 +48,11 @@
  #else
  static int igb_ndo_fdb_add(struct ndmsg *ndm,
  			   struct net_device *dev,
-diff --git a/kernel/linux/kni/ethtool/igb/kcompat.h b/kernel/linux/kni/ethtool/igb/kcompat.h
-index 11b15f3a99..649a69c814 100644
---- a/kernel/linux/kni/ethtool/igb/kcompat.h
-+++ b/kernel/linux/kni/ethtool/igb/kcompat.h
-@@ -3945,6 +3945,10 @@ skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type)
+diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
+index 0ca7a22a81..8153ecf17f 100644
+--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
+@@ -3960,6 +3960,10 @@ skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type)
  #define HAVE_NDO_BRIDGE_SETLINK_EXTACK
  #endif /* >= 5.0.0 */
  

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

* [dpdk-stable] patch 'net/bnx2x: fix memory leak' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (75 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'kni: fix build with Linux 5.1' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/bnx2x: fix ramrod timeout' " Yongseok Koh
                   ` (29 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Shahed Shaikh; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 7ddff92e2127b203d2f1f025e4ba6720fe9bc4e0 Mon Sep 17 00:00:00 2001
From: Shahed Shaikh <shshaikh@marvell.com>
Date: Thu, 11 Apr 2019 18:47:38 -0700
Subject: [PATCH] net/bnx2x: fix memory leak

[ upstream commit 68ed0742256dde2335cb1f6560ef94e7b29febed ]

We allocate DMA memory but never free after using it.
Add function to free DMA memory.

Fixes: b5bf7719221d ("bnx2x: driver support routines")

Signed-off-by: Shahed Shaikh <shshaikh@marvell.com>
---
 drivers/net/bnx2x/bnx2x.c    | 15 +++++++++++++++
 drivers/net/bnx2x/bnx2x.h    |  3 ++-
 drivers/net/bnx2x/ecore_sp.h | 17 +++++++++--------
 3 files changed, 26 insertions(+), 9 deletions(-)

diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c
index 2beac31389..5e53782e94 100644
--- a/drivers/net/bnx2x/bnx2x.c
+++ b/drivers/net/bnx2x/bnx2x.c
@@ -189,6 +189,7 @@ bnx2x_dma_alloc(struct bnx2x_softc *sc, size_t size, struct bnx2x_dma *dma,
 	}
 	dma->paddr = (uint64_t) z->iova;
 	dma->vaddr = z->addr;
+	dma->mzone = (const void *)z;
 
 	PMD_DRV_LOG(DEBUG, sc,
 		    "%s: virt=%p phys=%" PRIx64, msg, dma->vaddr, dma->paddr);
@@ -196,6 +197,19 @@ bnx2x_dma_alloc(struct bnx2x_softc *sc, size_t size, struct bnx2x_dma *dma,
 	return 0;
 }
 
+void bnx2x_dma_free(struct bnx2x_dma *dma)
+{
+	if (dma->mzone == NULL)
+		return;
+
+	rte_memzone_free((const struct rte_memzone *)dma->mzone);
+	dma->sc = NULL;
+	dma->paddr = 0;
+	dma->vaddr = NULL;
+	dma->nseg = 0;
+	dma->mzone = NULL;
+}
+
 static int bnx2x_acquire_hw_lock(struct bnx2x_softc *sc, uint32_t resource)
 {
 	uint32_t lock_status;
@@ -2442,6 +2456,7 @@ static int bnx2x_alloc_mem(struct bnx2x_softc *sc)
 
 static void bnx2x_free_fw_stats_mem(struct bnx2x_softc *sc)
 {
+	bnx2x_dma_free(&sc->fw_stats_dma);
 	sc->fw_stats_num = 0;
 
 	sc->fw_stats_req_size = 0;
diff --git a/drivers/net/bnx2x/bnx2x.h b/drivers/net/bnx2x/bnx2x.h
index 2ec7a45c61..88f788a35f 100644
--- a/drivers/net/bnx2x/bnx2x.h
+++ b/drivers/net/bnx2x/bnx2x.h
@@ -321,6 +321,7 @@ struct bnx2x_dma {
 	rte_iova_t              paddr;
 	void                    *vaddr;
 	int                     nseg;
+	const void		*mzone;
 	char                    msg[RTE_MEMZONE_NAMESIZE - 6];
 };
 
@@ -1752,7 +1753,7 @@ int  bnx2x_cmpxchg(volatile int *addr, int old, int new);
 
 int bnx2x_dma_alloc(struct bnx2x_softc *sc, size_t size,
 		struct bnx2x_dma *dma, const char *msg, uint32_t align);
-
+void bnx2x_dma_free(struct bnx2x_dma *dma);
 uint32_t bnx2x_dmae_opcode_add_comp(uint32_t opcode, uint8_t comp_type);
 uint32_t bnx2x_dmae_opcode_clr_src_reset(uint32_t opcode);
 uint32_t bnx2x_dmae_opcode(struct bnx2x_softc *sc, uint8_t src_type,
diff --git a/drivers/net/bnx2x/ecore_sp.h b/drivers/net/bnx2x/ecore_sp.h
index 7e52245a27..6b179898c4 100644
--- a/drivers/net/bnx2x/ecore_sp.h
+++ b/drivers/net/bnx2x/ecore_sp.h
@@ -153,14 +153,15 @@ typedef rte_spinlock_t ECORE_MUTEX_SPIN;
 		}							\
 	} while (0)
 
-#define ECORE_ILT_FREE(x, y, size)                   \
-    do {                                             \
-	if (x) {                                     \
-	    rte_free(x);                             \
-	    x = NULL;                                \
-	    y = 0;                                   \
-	}                                            \
-    } while (0)
+#define ECORE_ILT_FREE(x, y, size)					\
+	do {								\
+		if (x) {						\
+			bnx2x_dma_free((struct bnx2x_dma *)x);		\
+			rte_free(x);					\
+			x = NULL;					\
+			y = 0;						\
+		}							\
+	} while (0)
 
 #define ECORE_IS_VALID_ETHER_ADDR(_mac) TRUE
 
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:10.661523890 -0700
+++ 0078-net-bnx2x-fix-memory-leak.patch	2019-07-22 17:55:06.309475000 -0700
@@ -1,13 +1,14 @@
-From 68ed0742256dde2335cb1f6560ef94e7b29febed Mon Sep 17 00:00:00 2001
+From 7ddff92e2127b203d2f1f025e4ba6720fe9bc4e0 Mon Sep 17 00:00:00 2001
 From: Shahed Shaikh <shshaikh@marvell.com>
 Date: Thu, 11 Apr 2019 18:47:38 -0700
 Subject: [PATCH] net/bnx2x: fix memory leak
 
+[ upstream commit 68ed0742256dde2335cb1f6560ef94e7b29febed ]
+
 We allocate DMA memory but never free after using it.
 Add function to free DMA memory.
 
 Fixes: b5bf7719221d ("bnx2x: driver support routines")
-Cc: stable@dpdk.org
 
 Signed-off-by: Shahed Shaikh <shshaikh@marvell.com>
 ---
@@ -17,10 +18,10 @@
  3 files changed, 26 insertions(+), 9 deletions(-)
 
 diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c
-index ab092e23f0..298bc414a7 100644
+index 2beac31389..5e53782e94 100644
 --- a/drivers/net/bnx2x/bnx2x.c
 +++ b/drivers/net/bnx2x/bnx2x.c
-@@ -185,6 +185,7 @@ bnx2x_dma_alloc(struct bnx2x_softc *sc, size_t size, struct bnx2x_dma *dma,
+@@ -189,6 +189,7 @@ bnx2x_dma_alloc(struct bnx2x_softc *sc, size_t size, struct bnx2x_dma *dma,
  	}
  	dma->paddr = (uint64_t) z->iova;
  	dma->vaddr = z->addr;
@@ -28,7 +29,7 @@
  
  	PMD_DRV_LOG(DEBUG, sc,
  		    "%s: virt=%p phys=%" PRIx64, msg, dma->vaddr, dma->paddr);
-@@ -192,6 +193,19 @@ bnx2x_dma_alloc(struct bnx2x_softc *sc, size_t size, struct bnx2x_dma *dma,
+@@ -196,6 +197,19 @@ bnx2x_dma_alloc(struct bnx2x_softc *sc, size_t size, struct bnx2x_dma *dma,
  	return 0;
  }
  
@@ -48,7 +49,7 @@
  static int bnx2x_acquire_hw_lock(struct bnx2x_softc *sc, uint32_t resource)
  {
  	uint32_t lock_status;
-@@ -2436,6 +2450,7 @@ static int bnx2x_alloc_mem(struct bnx2x_softc *sc)
+@@ -2442,6 +2456,7 @@ static int bnx2x_alloc_mem(struct bnx2x_softc *sc)
  
  static void bnx2x_free_fw_stats_mem(struct bnx2x_softc *sc)
  {
@@ -57,10 +58,10 @@
  
  	sc->fw_stats_req_size = 0;
 diff --git a/drivers/net/bnx2x/bnx2x.h b/drivers/net/bnx2x/bnx2x.h
-index 32a12294b1..9e82a89311 100644
+index 2ec7a45c61..88f788a35f 100644
 --- a/drivers/net/bnx2x/bnx2x.h
 +++ b/drivers/net/bnx2x/bnx2x.h
-@@ -319,6 +319,7 @@ struct bnx2x_dma {
+@@ -321,6 +321,7 @@ struct bnx2x_dma {
  	rte_iova_t              paddr;
  	void                    *vaddr;
  	int                     nseg;
@@ -68,7 +69,7 @@
  	char                    msg[RTE_MEMZONE_NAMESIZE - 6];
  };
  
-@@ -1753,7 +1754,7 @@ int  bnx2x_cmpxchg(volatile int *addr, int old, int new);
+@@ -1752,7 +1753,7 @@ int  bnx2x_cmpxchg(volatile int *addr, int old, int new);
  
  int bnx2x_dma_alloc(struct bnx2x_softc *sc, size_t size,
  		struct bnx2x_dma *dma, const char *msg, uint32_t align);
@@ -78,10 +79,10 @@
  uint32_t bnx2x_dmae_opcode_clr_src_reset(uint32_t opcode);
  uint32_t bnx2x_dmae_opcode(struct bnx2x_softc *sc, uint8_t src_type,
 diff --git a/drivers/net/bnx2x/ecore_sp.h b/drivers/net/bnx2x/ecore_sp.h
-index f295bf5af5..7126097db6 100644
+index 7e52245a27..6b179898c4 100644
 --- a/drivers/net/bnx2x/ecore_sp.h
 +++ b/drivers/net/bnx2x/ecore_sp.h
-@@ -151,14 +151,15 @@ typedef rte_spinlock_t ECORE_MUTEX_SPIN;
+@@ -153,14 +153,15 @@ typedef rte_spinlock_t ECORE_MUTEX_SPIN;
  		}							\
  	} while (0)
  

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

* [dpdk-stable] patch 'net/bnx2x: fix ramrod timeout' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (76 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/bnx2x: fix memory leak' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/bnx2x: fix DMAE " Yongseok Koh
                   ` (28 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Shahed Shaikh; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From c939dd7f21db0a6065d766b34b8e38e8afb70615 Mon Sep 17 00:00:00 2001
From: Shahed Shaikh <shshaikh@marvell.com>
Date: Thu, 11 Apr 2019 18:47:39 -0700
Subject: [PATCH] net/bnx2x: fix ramrod timeout

[ upstream commit 8bd31421c593e5f3e2ee2a4d7d3c6a74489838c6 ]

There is a race condition while processing RAMROD
completion in fast path queue through interrupt handler
and polling method.

Interrupt handler invoked from actual interrupt event
and from RAMROD processing polling flow may create a
situation where one flow will read and clear a fastpath
interrupt without actually processing the RAMROD completion.
Thus, causing a RAMROD timeout even though HW sent an
completion event.

Fix this by introducing an atomic variable which will be
set only when interrupt handler needs to process RAMROD
completion.

Fixes: 540a211084a7 ("bnx2x: driver core")

Signed-off-by: Shahed Shaikh <shshaikh@marvell.com>
---
 drivers/net/bnx2x/bnx2x.c        | 18 ++++++++++++------
 drivers/net/bnx2x/bnx2x.h        |  4 ++--
 drivers/net/bnx2x/bnx2x_ethdev.c |  2 +-
 drivers/net/bnx2x/ecore_sp.c     | 12 ++++++++++--
 4 files changed, 25 insertions(+), 11 deletions(-)

diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c
index 5e53782e94..8d6a191be0 100644
--- a/drivers/net/bnx2x/bnx2x.c
+++ b/drivers/net/bnx2x/bnx2x.c
@@ -128,7 +128,7 @@ static __rte_noinline
 int bnx2x_nic_load(struct bnx2x_softc *sc);
 
 static int bnx2x_handle_sp_tq(struct bnx2x_softc *sc);
-static void bnx2x_handle_fp_tq(struct bnx2x_fastpath *fp, int scan_fp);
+static void bnx2x_handle_fp_tq(struct bnx2x_fastpath *fp);
 static void bnx2x_ack_sb(struct bnx2x_softc *sc, uint8_t igu_sb_id,
 			 uint8_t storm, uint16_t index, uint8_t op,
 			 uint8_t update);
@@ -1118,6 +1118,12 @@ bnx2x_sp_post(struct bnx2x_softc *sc, int command, int cid, uint32_t data_hi,
 		    atomic_load_acq_long(&sc->cq_spq_left),
 		    atomic_load_acq_long(&sc->eq_spq_left));
 
+	/* RAMROD completion is processed in bnx2x_intr_legacy()
+	 * which can run from different contexts.
+	 * Ask bnx2x_intr_intr() to process RAMROD
+	 * completion whenever it gets scheduled.
+	 */
+	rte_atomic32_set(&sc->scan_fp, 1);
 	bnx2x_sp_prod_update(sc);
 
 	return 0;
@@ -4545,7 +4551,7 @@ static int bnx2x_handle_sp_tq(struct bnx2x_softc *sc)
 	return rc;
 }
 
-static void bnx2x_handle_fp_tq(struct bnx2x_fastpath *fp, int scan_fp)
+static void bnx2x_handle_fp_tq(struct bnx2x_fastpath *fp)
 {
 	struct bnx2x_softc *sc = fp->sc;
 	uint8_t more_rx = FALSE;
@@ -4560,14 +4566,14 @@ static void bnx2x_handle_fp_tq(struct bnx2x_fastpath *fp, int scan_fp)
 	/* update the fastpath index */
 	bnx2x_update_fp_sb_idx(fp);
 
-	if (scan_fp) {
+	if (rte_atomic32_read(&sc->scan_fp) == 1) {
 		if (bnx2x_has_rx_work(fp)) {
 			more_rx = bnx2x_rxeof(sc, fp);
 		}
 
 		if (more_rx) {
 			/* still more work to do */
-			bnx2x_handle_fp_tq(fp, scan_fp);
+			bnx2x_handle_fp_tq(fp);
 			return;
 		}
 	}
@@ -4583,7 +4589,7 @@ static void bnx2x_handle_fp_tq(struct bnx2x_fastpath *fp, int scan_fp)
  * then calls a separate routine to handle the various
  * interrupt causes: link, RX, and TX.
  */
-int bnx2x_intr_legacy(struct bnx2x_softc *sc, int scan_fp)
+int bnx2x_intr_legacy(struct bnx2x_softc *sc)
 {
 	struct bnx2x_fastpath *fp;
 	uint32_t status, mask;
@@ -4615,7 +4621,7 @@ int bnx2x_intr_legacy(struct bnx2x_softc *sc, int scan_fp)
 		/* acknowledge and disable further fastpath interrupts */
 			bnx2x_ack_sb(sc, fp->igu_sb_id, USTORM_ID,
 				     0, IGU_INT_DISABLE, 0);
-			bnx2x_handle_fp_tq(fp, scan_fp);
+			bnx2x_handle_fp_tq(fp);
 			status &= ~mask;
 		}
 	}
diff --git a/drivers/net/bnx2x/bnx2x.h b/drivers/net/bnx2x/bnx2x.h
index 88f788a35f..d050b2a5d6 100644
--- a/drivers/net/bnx2x/bnx2x.h
+++ b/drivers/net/bnx2x/bnx2x.h
@@ -1089,7 +1089,7 @@ struct bnx2x_softc {
 #define PERIODIC_STOP 0
 #define PERIODIC_GO   1
 	volatile unsigned long periodic_flags;
-
+	rte_atomic32_t	scan_fp;
 	struct bnx2x_fastpath fp[MAX_RSS_CHAINS];
 	struct bnx2x_sp_objs  sp_objs[MAX_RSS_CHAINS];
 
@@ -1938,7 +1938,7 @@ int bnx2x_tx_encap(struct bnx2x_tx_queue *txq, struct rte_mbuf *m0);
 uint8_t bnx2x_txeof(struct bnx2x_softc *sc, struct bnx2x_fastpath *fp);
 void bnx2x_print_adapter_info(struct bnx2x_softc *sc);
 void bnx2x_print_device_info(struct bnx2x_softc *sc);
-int bnx2x_intr_legacy(struct bnx2x_softc *sc, int scan_fp);
+int bnx2x_intr_legacy(struct bnx2x_softc *sc);
 void bnx2x_link_status_update(struct bnx2x_softc *sc);
 int bnx2x_complete_sp(struct bnx2x_softc *sc);
 int bnx2x_set_storm_rx_mode(struct bnx2x_softc *sc);
diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c b/drivers/net/bnx2x/bnx2x_ethdev.c
index 23f643af0a..70f5d797db 100644
--- a/drivers/net/bnx2x/bnx2x_ethdev.c
+++ b/drivers/net/bnx2x/bnx2x_ethdev.c
@@ -169,7 +169,7 @@ bnx2x_interrupt_action(struct rte_eth_dev *dev)
 	struct bnx2x_softc *sc = dev->data->dev_private;
 	uint32_t link_status;
 
-	bnx2x_intr_legacy(sc, 0);
+	bnx2x_intr_legacy(sc);
 
 	if (sc->periodic_flags & PERIODIC_GO)
 		bnx2x_periodic_callout(sc);
diff --git a/drivers/net/bnx2x/ecore_sp.c b/drivers/net/bnx2x/ecore_sp.c
index f000a781b0..d8f167a970 100644
--- a/drivers/net/bnx2x/ecore_sp.c
+++ b/drivers/net/bnx2x/ecore_sp.c
@@ -293,25 +293,33 @@ static int ecore_state_wait(struct bnx2x_softc *sc, int state,
 		cnt *= 20;
 
 	ECORE_MSG(sc, "waiting for state to become %d", state);
+	/* being over protective to remind bnx2x_intr_legacy() to
+	 * process RAMROD
+	 */
+	rte_atomic32_set(&sc->scan_fp, 1);
 
 	ECORE_MIGHT_SLEEP();
 	while (cnt--) {
-		bnx2x_intr_legacy(sc, 1);
+		bnx2x_intr_legacy(sc);
 		if (!ECORE_TEST_BIT(state, pstate)) {
 #ifdef ECORE_STOP_ON_ERROR
 			ECORE_MSG(sc, "exit  (cnt %d)", 5000 - cnt);
 #endif
+			rte_atomic32_set(&sc->scan_fp, 0);
 			return ECORE_SUCCESS;
 		}
 
 		ECORE_WAIT(sc, delay_us);
 
-		if (sc->panic)
+		if (sc->panic) {
+			rte_atomic32_set(&sc->scan_fp, 0);
 			return ECORE_IO;
+		}
 	}
 
 	/* timeout! */
 	PMD_DRV_LOG(ERR, sc, "timeout waiting for state %d", state);
+	rte_atomic32_set(&sc->scan_fp, 0);
 #ifdef ECORE_STOP_ON_ERROR
 	ecore_panic();
 #endif
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:10.722505093 -0700
+++ 0079-net-bnx2x-fix-ramrod-timeout.patch	2019-07-22 17:55:06.337475000 -0700
@@ -1,8 +1,10 @@
-From 8bd31421c593e5f3e2ee2a4d7d3c6a74489838c6 Mon Sep 17 00:00:00 2001
+From c939dd7f21db0a6065d766b34b8e38e8afb70615 Mon Sep 17 00:00:00 2001
 From: Shahed Shaikh <shshaikh@marvell.com>
 Date: Thu, 11 Apr 2019 18:47:39 -0700
 Subject: [PATCH] net/bnx2x: fix ramrod timeout
 
+[ upstream commit 8bd31421c593e5f3e2ee2a4d7d3c6a74489838c6 ]
+
 There is a race condition while processing RAMROD
 completion in fast path queue through interrupt handler
 and polling method.
@@ -19,7 +21,6 @@
 completion.
 
 Fixes: 540a211084a7 ("bnx2x: driver core")
-Cc: stable@dpdk.org
 
 Signed-off-by: Shahed Shaikh <shshaikh@marvell.com>
 ---
@@ -30,10 +31,10 @@
  4 files changed, 25 insertions(+), 11 deletions(-)
 
 diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c
-index 298bc414a7..f32db6d12a 100644
+index 5e53782e94..8d6a191be0 100644
 --- a/drivers/net/bnx2x/bnx2x.c
 +++ b/drivers/net/bnx2x/bnx2x.c
-@@ -124,7 +124,7 @@ static __rte_noinline
+@@ -128,7 +128,7 @@ static __rte_noinline
  int bnx2x_nic_load(struct bnx2x_softc *sc);
  
  static int bnx2x_handle_sp_tq(struct bnx2x_softc *sc);
@@ -42,7 +43,7 @@
  static void bnx2x_ack_sb(struct bnx2x_softc *sc, uint8_t igu_sb_id,
  			 uint8_t storm, uint16_t index, uint8_t op,
  			 uint8_t update);
-@@ -1114,6 +1114,12 @@ bnx2x_sp_post(struct bnx2x_softc *sc, int command, int cid, uint32_t data_hi,
+@@ -1118,6 +1118,12 @@ bnx2x_sp_post(struct bnx2x_softc *sc, int command, int cid, uint32_t data_hi,
  		    atomic_load_acq_long(&sc->cq_spq_left),
  		    atomic_load_acq_long(&sc->eq_spq_left));
  
@@ -55,7 +56,7 @@
  	bnx2x_sp_prod_update(sc);
  
  	return 0;
-@@ -4539,7 +4545,7 @@ static int bnx2x_handle_sp_tq(struct bnx2x_softc *sc)
+@@ -4545,7 +4551,7 @@ static int bnx2x_handle_sp_tq(struct bnx2x_softc *sc)
  	return rc;
  }
  
@@ -64,7 +65,7 @@
  {
  	struct bnx2x_softc *sc = fp->sc;
  	uint8_t more_rx = FALSE;
-@@ -4554,14 +4560,14 @@ static void bnx2x_handle_fp_tq(struct bnx2x_fastpath *fp, int scan_fp)
+@@ -4560,14 +4566,14 @@ static void bnx2x_handle_fp_tq(struct bnx2x_fastpath *fp, int scan_fp)
  	/* update the fastpath index */
  	bnx2x_update_fp_sb_idx(fp);
  
@@ -81,7 +82,7 @@
  			return;
  		}
  	}
-@@ -4577,7 +4583,7 @@ static void bnx2x_handle_fp_tq(struct bnx2x_fastpath *fp, int scan_fp)
+@@ -4583,7 +4589,7 @@ static void bnx2x_handle_fp_tq(struct bnx2x_fastpath *fp, int scan_fp)
   * then calls a separate routine to handle the various
   * interrupt causes: link, RX, and TX.
   */
@@ -90,7 +91,7 @@
  {
  	struct bnx2x_fastpath *fp;
  	uint32_t status, mask;
-@@ -4609,7 +4615,7 @@ int bnx2x_intr_legacy(struct bnx2x_softc *sc, int scan_fp)
+@@ -4615,7 +4621,7 @@ int bnx2x_intr_legacy(struct bnx2x_softc *sc, int scan_fp)
  		/* acknowledge and disable further fastpath interrupts */
  			bnx2x_ack_sb(sc, fp->igu_sb_id, USTORM_ID,
  				     0, IGU_INT_DISABLE, 0);
@@ -100,10 +101,10 @@
  		}
  	}
 diff --git a/drivers/net/bnx2x/bnx2x.h b/drivers/net/bnx2x/bnx2x.h
-index 9e82a89311..bb80310014 100644
+index 88f788a35f..d050b2a5d6 100644
 --- a/drivers/net/bnx2x/bnx2x.h
 +++ b/drivers/net/bnx2x/bnx2x.h
-@@ -1090,7 +1090,7 @@ struct bnx2x_softc {
+@@ -1089,7 +1089,7 @@ struct bnx2x_softc {
  #define PERIODIC_STOP 0
  #define PERIODIC_GO   1
  	volatile unsigned long periodic_flags;
@@ -112,7 +113,7 @@
  	struct bnx2x_fastpath fp[MAX_RSS_CHAINS];
  	struct bnx2x_sp_objs  sp_objs[MAX_RSS_CHAINS];
  
-@@ -1939,7 +1939,7 @@ int bnx2x_tx_encap(struct bnx2x_tx_queue *txq, struct rte_mbuf *m0);
+@@ -1938,7 +1938,7 @@ int bnx2x_tx_encap(struct bnx2x_tx_queue *txq, struct rte_mbuf *m0);
  uint8_t bnx2x_txeof(struct bnx2x_softc *sc, struct bnx2x_fastpath *fp);
  void bnx2x_print_adapter_info(struct bnx2x_softc *sc);
  void bnx2x_print_device_info(struct bnx2x_softc *sc);
@@ -122,10 +123,10 @@
  int bnx2x_complete_sp(struct bnx2x_softc *sc);
  int bnx2x_set_storm_rx_mode(struct bnx2x_softc *sc);
 diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c b/drivers/net/bnx2x/bnx2x_ethdev.c
-index 5b4c5cf84b..bcb899a57c 100644
+index 23f643af0a..70f5d797db 100644
 --- a/drivers/net/bnx2x/bnx2x_ethdev.c
 +++ b/drivers/net/bnx2x/bnx2x_ethdev.c
-@@ -113,7 +113,7 @@ bnx2x_interrupt_action(struct rte_eth_dev *dev)
+@@ -169,7 +169,7 @@ bnx2x_interrupt_action(struct rte_eth_dev *dev)
  	struct bnx2x_softc *sc = dev->data->dev_private;
  	uint32_t link_status;
  
@@ -135,10 +136,10 @@
  	if (sc->periodic_flags & PERIODIC_GO)
  		bnx2x_periodic_callout(sc);
 diff --git a/drivers/net/bnx2x/ecore_sp.c b/drivers/net/bnx2x/ecore_sp.c
-index 6d2bb815c4..43194095bc 100644
+index f000a781b0..d8f167a970 100644
 --- a/drivers/net/bnx2x/ecore_sp.c
 +++ b/drivers/net/bnx2x/ecore_sp.c
-@@ -291,25 +291,33 @@ static int ecore_state_wait(struct bnx2x_softc *sc, int state,
+@@ -293,25 +293,33 @@ static int ecore_state_wait(struct bnx2x_softc *sc, int state,
  		cnt *= 20;
  
  	ECORE_MSG(sc, "waiting for state to become %d", state);

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

* [dpdk-stable] patch 'net/bnx2x: fix DMAE timeout' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (77 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/bnx2x: fix ramrod timeout' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/bnx2x: fix race for periodic flags' " Yongseok Koh
                   ` (27 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Shahed Shaikh; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 78d871bd76608549cd0f2f74755a82085f1da99b Mon Sep 17 00:00:00 2001
From: Shahed Shaikh <shshaikh@marvell.com>
Date: Thu, 11 Apr 2019 18:47:40 -0700
Subject: [PATCH] net/bnx2x: fix DMAE timeout

[ upstream commit e166e0db8cf6c0e391a40f1a75a678bec930c970 ]

In some cases, DPDK application may send packets
while PMD is going through load or unload flow.
This causes firmware to access invalid/unallocated
memory to process transmit buffer. Which results in
error on PCI bus and chip further blocks access to host,
causing a DMAE timeout.

Fix this issue by installing dummy empty transmit and receive
handlers at the beginning of unload path (rte_eth_dev_stop())
and install actual transmit and receive handlers after successful
load of the PMD port (rte_eth_dev_start()). This way, application
won't be able to send packets while device is going through
load/unload flow.

Fixes: 540a211084a7 ("bnx2x: driver core")

Signed-off-by: Shahed Shaikh <shshaikh@marvell.com>
---
 drivers/net/bnx2x/bnx2x_ethdev.c |  9 ++++-----
 drivers/net/bnx2x/bnx2x_rxtx.c   | 21 ++++++++++++++++-----
 drivers/net/bnx2x/bnx2x_rxtx.h   |  3 ++-
 3 files changed, 22 insertions(+), 11 deletions(-)

diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c b/drivers/net/bnx2x/bnx2x_ethdev.c
index 70f5d797db..997e9ba1a0 100644
--- a/drivers/net/bnx2x/bnx2x_ethdev.c
+++ b/drivers/net/bnx2x/bnx2x_ethdev.c
@@ -297,6 +297,7 @@ bnx2x_dev_configure(struct rte_eth_dev *dev)
 		return -ENXIO;
 	}
 
+	bnx2x_dev_rxtx_init_dummy(dev);
 	return 0;
 }
 
@@ -326,11 +327,7 @@ bnx2x_dev_start(struct rte_eth_dev *dev)
 			PMD_DRV_LOG(ERR, sc, "rte_intr_enable failed");
 	}
 
-	ret = bnx2x_dev_rx_init(dev);
-	if (ret != 0) {
-		PMD_DRV_LOG(DEBUG, sc, "bnx2x_dev_rx_init returned error code");
-		return -3;
-	}
+	bnx2x_dev_rxtx_init(dev);
 
 	bnx2x_print_device_info(sc);
 
@@ -345,6 +342,8 @@ bnx2x_dev_stop(struct rte_eth_dev *dev)
 
 	PMD_INIT_FUNC_TRACE(sc);
 
+	bnx2x_dev_rxtx_init_dummy(dev);
+
 	if (IS_PF(sc)) {
 		rte_intr_disable(&sc->pci_dev->intr_handle);
 		rte_intr_callback_unregister(&sc->pci_dev->intr_handle,
diff --git a/drivers/net/bnx2x/bnx2x_rxtx.c b/drivers/net/bnx2x/bnx2x_rxtx.c
index fdbc90e9bb..5ebe66790a 100644
--- a/drivers/net/bnx2x/bnx2x_rxtx.c
+++ b/drivers/net/bnx2x/bnx2x_rxtx.c
@@ -323,7 +323,6 @@ bnx2x_dev_tx_queue_setup(struct rte_eth_dev *dev,
 	txq->tx_bd_tail = 0;
 	txq->tx_bd_head = 0;
 	txq->nb_tx_avail = txq->nb_tx_desc;
-	dev->tx_pkt_burst = bnx2x_xmit_pkts;
 	dev->data->tx_queues[queue_idx] = txq;
 	if (!sc->tx_queues) sc->tx_queues = dev->data->tx_queues;
 
@@ -452,14 +451,26 @@ next_rx:
 	return nb_rx;
 }
 
-int
-bnx2x_dev_rx_init(struct rte_eth_dev *dev)
+static uint16_t
+bnx2x_rxtx_pkts_dummy(__rte_unused void *p_rxq,
+		      __rte_unused struct rte_mbuf **rx_pkts,
+		      __rte_unused uint16_t nb_pkts)
 {
-	dev->rx_pkt_burst = bnx2x_recv_pkts;
-
 	return 0;
 }
 
+void bnx2x_dev_rxtx_init_dummy(struct rte_eth_dev *dev)
+{
+	dev->rx_pkt_burst = bnx2x_rxtx_pkts_dummy;
+	dev->tx_pkt_burst = bnx2x_rxtx_pkts_dummy;
+}
+
+void bnx2x_dev_rxtx_init(struct rte_eth_dev *dev)
+{
+	dev->rx_pkt_burst = bnx2x_recv_pkts;
+	dev->tx_pkt_burst = bnx2x_xmit_pkts;
+}
+
 void
 bnx2x_dev_clear_queues(struct rte_eth_dev *dev)
 {
diff --git a/drivers/net/bnx2x/bnx2x_rxtx.h b/drivers/net/bnx2x/bnx2x_rxtx.h
index 9600e0f1ce..b2c1f881b1 100644
--- a/drivers/net/bnx2x/bnx2x_rxtx.h
+++ b/drivers/net/bnx2x/bnx2x_rxtx.h
@@ -77,7 +77,8 @@ int bnx2x_dev_tx_queue_setup(struct rte_eth_dev *dev, uint16_t tx_queue_id,
 
 void bnx2x_dev_rx_queue_release(void *rxq);
 void bnx2x_dev_tx_queue_release(void *txq);
-int bnx2x_dev_rx_init(struct rte_eth_dev *dev);
+void bnx2x_dev_rxtx_init(struct rte_eth_dev *dev);
+void bnx2x_dev_rxtx_init_dummy(struct rte_eth_dev *dev);
 void bnx2x_dev_clear_queues(struct rte_eth_dev *dev);
 
 #endif /* _BNX2X_RXTX_H_ */
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:10.786067293 -0700
+++ 0080-net-bnx2x-fix-DMAE-timeout.patch	2019-07-22 17:55:06.345473000 -0700
@@ -1,8 +1,10 @@
-From e166e0db8cf6c0e391a40f1a75a678bec930c970 Mon Sep 17 00:00:00 2001
+From 78d871bd76608549cd0f2f74755a82085f1da99b Mon Sep 17 00:00:00 2001
 From: Shahed Shaikh <shshaikh@marvell.com>
 Date: Thu, 11 Apr 2019 18:47:40 -0700
 Subject: [PATCH] net/bnx2x: fix DMAE timeout
 
+[ upstream commit e166e0db8cf6c0e391a40f1a75a678bec930c970 ]
+
 In some cases, DPDK application may send packets
 while PMD is going through load or unload flow.
 This causes firmware to access invalid/unallocated
@@ -18,7 +20,6 @@
 load/unload flow.
 
 Fixes: 540a211084a7 ("bnx2x: driver core")
-Cc: stable@dpdk.org
 
 Signed-off-by: Shahed Shaikh <shshaikh@marvell.com>
 ---
@@ -28,10 +29,10 @@
  3 files changed, 22 insertions(+), 11 deletions(-)
 
 diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c b/drivers/net/bnx2x/bnx2x_ethdev.c
-index bcb899a57c..f85766c687 100644
+index 70f5d797db..997e9ba1a0 100644
 --- a/drivers/net/bnx2x/bnx2x_ethdev.c
 +++ b/drivers/net/bnx2x/bnx2x_ethdev.c
-@@ -213,6 +213,7 @@ bnx2x_dev_configure(struct rte_eth_dev *dev)
+@@ -297,6 +297,7 @@ bnx2x_dev_configure(struct rte_eth_dev *dev)
  		return -ENXIO;
  	}
  
@@ -39,7 +40,7 @@
  	return 0;
  }
  
-@@ -242,11 +243,7 @@ bnx2x_dev_start(struct rte_eth_dev *dev)
+@@ -326,11 +327,7 @@ bnx2x_dev_start(struct rte_eth_dev *dev)
  			PMD_DRV_LOG(ERR, sc, "rte_intr_enable failed");
  	}
  
@@ -52,7 +53,7 @@
  
  	bnx2x_print_device_info(sc);
  
-@@ -261,6 +258,8 @@ bnx2x_dev_stop(struct rte_eth_dev *dev)
+@@ -345,6 +342,8 @@ bnx2x_dev_stop(struct rte_eth_dev *dev)
  
  	PMD_INIT_FUNC_TRACE(sc);
  
@@ -62,10 +63,10 @@
  		rte_intr_disable(&sc->pci_dev->intr_handle);
  		rte_intr_callback_unregister(&sc->pci_dev->intr_handle,
 diff --git a/drivers/net/bnx2x/bnx2x_rxtx.c b/drivers/net/bnx2x/bnx2x_rxtx.c
-index ca28aaccfa..e5a2b25b56 100644
+index fdbc90e9bb..5ebe66790a 100644
 --- a/drivers/net/bnx2x/bnx2x_rxtx.c
 +++ b/drivers/net/bnx2x/bnx2x_rxtx.c
-@@ -311,7 +311,6 @@ bnx2x_dev_tx_queue_setup(struct rte_eth_dev *dev,
+@@ -323,7 +323,6 @@ bnx2x_dev_tx_queue_setup(struct rte_eth_dev *dev,
  	txq->tx_bd_tail = 0;
  	txq->tx_bd_head = 0;
  	txq->nb_tx_avail = txq->nb_tx_desc;
@@ -73,7 +74,7 @@
  	dev->data->tx_queues[queue_idx] = txq;
  	if (!sc->tx_queues) sc->tx_queues = dev->data->tx_queues;
  
-@@ -441,14 +440,26 @@ next_rx:
+@@ -452,14 +451,26 @@ next_rx:
  	return nb_rx;
  }
  
@@ -105,10 +106,10 @@
  bnx2x_dev_clear_queues(struct rte_eth_dev *dev)
  {
 diff --git a/drivers/net/bnx2x/bnx2x_rxtx.h b/drivers/net/bnx2x/bnx2x_rxtx.h
-index 6ad4928c10..3f4692b47d 100644
+index 9600e0f1ce..b2c1f881b1 100644
 --- a/drivers/net/bnx2x/bnx2x_rxtx.h
 +++ b/drivers/net/bnx2x/bnx2x_rxtx.h
-@@ -74,7 +74,8 @@ int bnx2x_dev_tx_queue_setup(struct rte_eth_dev *dev, uint16_t tx_queue_id,
+@@ -77,7 +77,8 @@ int bnx2x_dev_tx_queue_setup(struct rte_eth_dev *dev, uint16_t tx_queue_id,
  
  void bnx2x_dev_rx_queue_release(void *rxq);
  void bnx2x_dev_tx_queue_release(void *txq);

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

* [dpdk-stable] patch 'net/bnx2x: fix race for periodic flags' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (78 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/bnx2x: fix DMAE " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/bnx2x: fix optic module verification' " Yongseok Koh
                   ` (26 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Rasesh Mody; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From df8a13f3b793ed4cd6d9c01e2c8f47c8a3b544cb Mon Sep 17 00:00:00 2001
From: Rasesh Mody <rmody@marvell.com>
Date: Thu, 11 Apr 2019 18:47:41 -0700
Subject: [PATCH] net/bnx2x: fix race for periodic flags

[ upstream commit c19eafccb22e1b1ca52439a936908cfd6fd12ff1 ]

The periodic callout function and the interrupt handler both modify the
periodic flags. There is a possible race condition when an application
is going through dev_stop()/dev_start() and an interrupt handler is
invoked. We also need to ensure that periodic polling is not invoked in
interrupt context.

This patch handles such case by using separate variable to check for
interrupt context. Also, atomically load and store the periodic flag
value.

Fixes: 0f6ebeee2402 ("net/bnx2x: fix call to link handling periodic function")

Signed-off-by: Rasesh Mody <rmody@marvell.com>
---
 drivers/net/bnx2x/bnx2x_ethdev.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c b/drivers/net/bnx2x/bnx2x_ethdev.c
index 997e9ba1a0..efd6fd6c6a 100644
--- a/drivers/net/bnx2x/bnx2x_ethdev.c
+++ b/drivers/net/bnx2x/bnx2x_ethdev.c
@@ -164,14 +164,15 @@ bnx2x_link_update(struct rte_eth_dev *dev)
 }
 
 static void
-bnx2x_interrupt_action(struct rte_eth_dev *dev)
+bnx2x_interrupt_action(struct rte_eth_dev *dev, int intr_cxt)
 {
 	struct bnx2x_softc *sc = dev->data->dev_private;
 	uint32_t link_status;
 
 	bnx2x_intr_legacy(sc);
 
-	if (sc->periodic_flags & PERIODIC_GO)
+	if ((atomic_load_acq_long(&sc->periodic_flags) == PERIODIC_GO) &&
+	    !intr_cxt)
 		bnx2x_periodic_callout(sc);
 	link_status = REG_RD(sc, sc->link_params.shmem_base +
 			offsetof(struct shmem_region,
@@ -188,9 +189,7 @@ bnx2x_interrupt_handler(void *param)
 
 	PMD_DEBUG_PERIODIC_LOG(INFO, sc, "Interrupt handled");
 
-	atomic_store_rel_long(&sc->periodic_flags, PERIODIC_STOP);
-	bnx2x_interrupt_action(dev);
-	atomic_store_rel_long(&sc->periodic_flags, PERIODIC_GO);
+	bnx2x_interrupt_action(dev, 1);
 	rte_intr_enable(&sc->pci_dev->intr_handle);
 }
 
@@ -201,7 +200,7 @@ static void bnx2x_periodic_start(void *param)
 	int ret = 0;
 
 	atomic_store_rel_long(&sc->periodic_flags, PERIODIC_GO);
-	bnx2x_interrupt_action(dev);
+	bnx2x_interrupt_action(dev, 0);
 	if (IS_PF(sc)) {
 		ret = rte_eal_alarm_set(BNX2X_SP_TIMER_PERIOD,
 					bnx2x_periodic_start, (void *)dev);
@@ -221,6 +220,8 @@ void bnx2x_periodic_stop(void *param)
 	atomic_store_rel_long(&sc->periodic_flags, PERIODIC_STOP);
 
 	rte_eal_alarm_cancel(bnx2x_periodic_start, (void *)dev);
+
+	PMD_DRV_LOG(DEBUG, sc, "Periodic poll stopped");
 }
 
 /*
@@ -310,8 +311,10 @@ bnx2x_dev_start(struct rte_eth_dev *dev)
 	PMD_INIT_FUNC_TRACE(sc);
 
 	/* start the periodic callout */
-	if (sc->periodic_flags & PERIODIC_STOP)
+	if (atomic_load_acq_long(&sc->periodic_flags) == PERIODIC_STOP) {
 		bnx2x_periodic_start(dev);
+		PMD_DRV_LOG(DEBUG, sc, "Periodic poll re-started");
+	}
 
 	ret = bnx2x_init(sc);
 	if (ret) {
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:10.836916169 -0700
+++ 0081-net-bnx2x-fix-race-for-periodic-flags.patch	2019-07-22 17:55:06.350473000 -0700
@@ -1,8 +1,10 @@
-From c19eafccb22e1b1ca52439a936908cfd6fd12ff1 Mon Sep 17 00:00:00 2001
+From df8a13f3b793ed4cd6d9c01e2c8f47c8a3b544cb Mon Sep 17 00:00:00 2001
 From: Rasesh Mody <rmody@marvell.com>
 Date: Thu, 11 Apr 2019 18:47:41 -0700
 Subject: [PATCH] net/bnx2x: fix race for periodic flags
 
+[ upstream commit c19eafccb22e1b1ca52439a936908cfd6fd12ff1 ]
+
 The periodic callout function and the interrupt handler both modify the
 periodic flags. There is a possible race condition when an application
 is going through dev_stop()/dev_start() and an interrupt handler is
@@ -14,7 +16,6 @@
 value.
 
 Fixes: 0f6ebeee2402 ("net/bnx2x: fix call to link handling periodic function")
-Cc: stable@dpdk.org
 
 Signed-off-by: Rasesh Mody <rmody@marvell.com>
 ---
@@ -22,10 +23,10 @@
  1 file changed, 10 insertions(+), 7 deletions(-)
 
 diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c b/drivers/net/bnx2x/bnx2x_ethdev.c
-index f85766c687..3063aea647 100644
+index 997e9ba1a0..efd6fd6c6a 100644
 --- a/drivers/net/bnx2x/bnx2x_ethdev.c
 +++ b/drivers/net/bnx2x/bnx2x_ethdev.c
-@@ -108,14 +108,15 @@ bnx2x_link_update(struct rte_eth_dev *dev)
+@@ -164,14 +164,15 @@ bnx2x_link_update(struct rte_eth_dev *dev)
  }
  
  static void
@@ -43,7 +44,7 @@
  		bnx2x_periodic_callout(sc);
  	link_status = REG_RD(sc, sc->link_params.shmem_base +
  			offsetof(struct shmem_region,
-@@ -132,9 +133,7 @@ bnx2x_interrupt_handler(void *param)
+@@ -188,9 +189,7 @@ bnx2x_interrupt_handler(void *param)
  
  	PMD_DEBUG_PERIODIC_LOG(INFO, sc, "Interrupt handled");
  
@@ -54,7 +55,7 @@
  	rte_intr_enable(&sc->pci_dev->intr_handle);
  }
  
-@@ -145,7 +144,7 @@ static void bnx2x_periodic_start(void *param)
+@@ -201,7 +200,7 @@ static void bnx2x_periodic_start(void *param)
  	int ret = 0;
  
  	atomic_store_rel_long(&sc->periodic_flags, PERIODIC_GO);
@@ -63,7 +64,7 @@
  	if (IS_PF(sc)) {
  		ret = rte_eal_alarm_set(BNX2X_SP_TIMER_PERIOD,
  					bnx2x_periodic_start, (void *)dev);
-@@ -165,6 +164,8 @@ void bnx2x_periodic_stop(void *param)
+@@ -221,6 +220,8 @@ void bnx2x_periodic_stop(void *param)
  	atomic_store_rel_long(&sc->periodic_flags, PERIODIC_STOP);
  
  	rte_eal_alarm_cancel(bnx2x_periodic_start, (void *)dev);
@@ -72,7 +73,7 @@
  }
  
  /*
-@@ -226,8 +227,10 @@ bnx2x_dev_start(struct rte_eth_dev *dev)
+@@ -310,8 +311,10 @@ bnx2x_dev_start(struct rte_eth_dev *dev)
  	PMD_INIT_FUNC_TRACE(sc);
  
  	/* start the periodic callout */

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

* [dpdk-stable] patch 'net/bnx2x: fix optic module verification' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (79 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/bnx2x: fix race for periodic flags' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'app/testpmd: set fixed flag for exact link speed' " Yongseok Koh
                   ` (25 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Rasesh Mody; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From a69513a470dd5388eb4345bda394827021a416be Mon Sep 17 00:00:00 2001
From: Rasesh Mody <rmody@marvell.com>
Date: Thu, 11 Apr 2019 18:47:42 -0700
Subject: [PATCH] net/bnx2x: fix optic module verification

[ upstream commit 5a6af6baa8c64ab31bd457b12be1f5173194bec6 ]

Enable the optic module vendor and part number verification from driver
by setting appropriate flags. Link handling module in conjunction with
FW performs optic module verification.

Without this fix the SFP is powered down and the link doesn't come up,
if module verification is enforced in nvram setting.

Fixes: 540a211084a7 ("bnx2x: driver core")

Signed-off-by: Rasesh Mody <rmody@marvell.com>
---
 drivers/net/bnx2x/bnx2x.c | 21 +++++++++++++++++++++
 drivers/net/bnx2x/bnx2x.h |  2 ++
 2 files changed, 23 insertions(+)

diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c
index 8d6a191be0..9f19099173 100644
--- a/drivers/net/bnx2x/bnx2x.c
+++ b/drivers/net/bnx2x/bnx2x.c
@@ -8111,6 +8111,27 @@ static int bnx2x_get_shmem_info(struct bnx2x_softc *sc)
 		    ~ELINK_FEATURE_CONFIG_OVERRIDE_PREEMPHASIS_ENABLED;
 	}
 
+	val = sc->devinfo.bc_ver >> 8;
+	if (val < BNX2X_BC_VER) {
+		/* for now only warn later we might need to enforce this */
+		PMD_DRV_LOG(NOTICE, sc, "This driver needs bc_ver %X but found %X, please upgrade BC\n",
+			    BNX2X_BC_VER, val);
+	}
+	sc->link_params.feature_config_flags |=
+				(val >= REQ_BC_VER_4_VRFY_FIRST_PHY_OPT_MDL) ?
+				ELINK_FEATURE_CONFIG_BC_SUPPORTS_OPT_MDL_VRFY :
+				0;
+
+	sc->link_params.feature_config_flags |=
+		(val >= REQ_BC_VER_4_VRFY_SPECIFIC_PHY_OPT_MDL) ?
+		ELINK_FEATURE_CONFIG_BC_SUPPORTS_DUAL_PHY_OPT_MDL_VRFY : 0;
+	sc->link_params.feature_config_flags |=
+		(val >= REQ_BC_VER_4_VRFY_AFEX_SUPPORTED) ?
+		ELINK_FEATURE_CONFIG_BC_SUPPORTS_AFEX : 0;
+	sc->link_params.feature_config_flags |=
+		(val >= REQ_BC_VER_4_SFP_TX_DISABLE_SUPPORTED) ?
+		ELINK_FEATURE_CONFIG_BC_SUPPORTS_SFP_TX_DISABLED : 0;
+
 	/* get the initial value of the link params */
 	sc->link_params.multi_phy_config =
 	    SHMEM_RD(sc, dev_info.port_hw_config[port].multi_phy_config);
diff --git a/drivers/net/bnx2x/bnx2x.h b/drivers/net/bnx2x/bnx2x.h
index d050b2a5d6..8a707340c9 100644
--- a/drivers/net/bnx2x/bnx2x.h
+++ b/drivers/net/bnx2x/bnx2x.h
@@ -121,6 +121,8 @@ int bnx2x_ilog2(int x)
 #define ilog2(x) bnx2x_ilog2(x)
 #endif
 
+#define BNX2X_BC_VER		0x040200
+
 #include "ecore_sp.h"
 
 struct bnx2x_device_type {
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:10.887236324 -0700
+++ 0082-net-bnx2x-fix-optic-module-verification.patch	2019-07-22 17:55:06.370473000 -0700
@@ -1,8 +1,10 @@
-From 5a6af6baa8c64ab31bd457b12be1f5173194bec6 Mon Sep 17 00:00:00 2001
+From a69513a470dd5388eb4345bda394827021a416be Mon Sep 17 00:00:00 2001
 From: Rasesh Mody <rmody@marvell.com>
 Date: Thu, 11 Apr 2019 18:47:42 -0700
 Subject: [PATCH] net/bnx2x: fix optic module verification
 
+[ upstream commit 5a6af6baa8c64ab31bd457b12be1f5173194bec6 ]
+
 Enable the optic module vendor and part number verification from driver
 by setting appropriate flags. Link handling module in conjunction with
 FW performs optic module verification.
@@ -11,7 +13,6 @@
 if module verification is enforced in nvram setting.
 
 Fixes: 540a211084a7 ("bnx2x: driver core")
-Cc: stable@dpdk.org
 
 Signed-off-by: Rasesh Mody <rmody@marvell.com>
 ---
@@ -20,10 +21,10 @@
  2 files changed, 23 insertions(+)
 
 diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c
-index f32db6d12a..3e705c7a10 100644
+index 8d6a191be0..9f19099173 100644
 --- a/drivers/net/bnx2x/bnx2x.c
 +++ b/drivers/net/bnx2x/bnx2x.c
-@@ -8103,6 +8103,27 @@ static int bnx2x_get_shmem_info(struct bnx2x_softc *sc)
+@@ -8111,6 +8111,27 @@ static int bnx2x_get_shmem_info(struct bnx2x_softc *sc)
  		    ~ELINK_FEATURE_CONFIG_OVERRIDE_PREEMPHASIS_ENABLED;
  	}
  
@@ -52,10 +53,10 @@
  	sc->link_params.multi_phy_config =
  	    SHMEM_RD(sc, dev_info.port_hw_config[port].multi_phy_config);
 diff --git a/drivers/net/bnx2x/bnx2x.h b/drivers/net/bnx2x/bnx2x.h
-index bb80310014..ef1688ff3b 100644
+index d050b2a5d6..8a707340c9 100644
 --- a/drivers/net/bnx2x/bnx2x.h
 +++ b/drivers/net/bnx2x/bnx2x.h
-@@ -119,6 +119,8 @@ int bnx2x_ilog2(int x)
+@@ -121,6 +121,8 @@ int bnx2x_ilog2(int x)
  #define ilog2(x) bnx2x_ilog2(x)
  #endif
  

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

* [dpdk-stable] patch 'app/testpmd: set fixed flag for exact link speed' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (80 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/bnx2x: fix optic module verification' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'vhost: fix device leak on connection add failure' " Yongseok Koh
                   ` (24 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Andrew Rybchenko; +Cc: Bernard Iremonger, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 4d68663719dd3a49c4f9f9e764fef372ec900d77 Mon Sep 17 00:00:00 2001
From: Andrew Rybchenko <arybchenko@solarflare.com>
Date: Fri, 12 Apr 2019 14:12:33 +0100
Subject: [PATCH] app/testpmd: set fixed flag for exact link speed

[ upstream commit bdca79053b6aea504d02691d9319fa976062457f ]

Setting exact link speed makes sense if auto-negotiation is
disabled. Fixed flag is required to disable auto-negotiation.

Fixes: 88fbedcd5e5a ("app/testpmd: move speed and duplex parsing in a function")

Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 app/test-pmd/cmdline.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 7a3a818723..b007264e15 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -1318,17 +1318,17 @@ parse_and_check_speed_duplex(char *speedstr, char *duplexstr, uint32_t *speed)
 			return -1;
 		}
 		if (!strcmp(speedstr, "1000")) {
-			*speed = ETH_LINK_SPEED_1G;
+			*speed = ETH_LINK_SPEED_1G | ETH_LINK_SPEED_FIXED;
 		} else if (!strcmp(speedstr, "10000")) {
-			*speed = ETH_LINK_SPEED_10G;
+			*speed = ETH_LINK_SPEED_10G | ETH_LINK_SPEED_FIXED;
 		} else if (!strcmp(speedstr, "25000")) {
-			*speed = ETH_LINK_SPEED_25G;
+			*speed = ETH_LINK_SPEED_25G | ETH_LINK_SPEED_FIXED;
 		} else if (!strcmp(speedstr, "40000")) {
-			*speed = ETH_LINK_SPEED_40G;
+			*speed = ETH_LINK_SPEED_40G | ETH_LINK_SPEED_FIXED;
 		} else if (!strcmp(speedstr, "50000")) {
-			*speed = ETH_LINK_SPEED_50G;
+			*speed = ETH_LINK_SPEED_50G | ETH_LINK_SPEED_FIXED;
 		} else if (!strcmp(speedstr, "100000")) {
-			*speed = ETH_LINK_SPEED_100G;
+			*speed = ETH_LINK_SPEED_100G | ETH_LINK_SPEED_FIXED;
 		} else if (!strcmp(speedstr, "auto")) {
 			*speed = ETH_LINK_SPEED_AUTONEG;
 		} else {
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:10.947879262 -0700
+++ 0083-app-testpmd-set-fixed-flag-for-exact-link-speed.patch	2019-07-22 17:55:06.388474000 -0700
@@ -1,13 +1,14 @@
-From bdca79053b6aea504d02691d9319fa976062457f Mon Sep 17 00:00:00 2001
+From 4d68663719dd3a49c4f9f9e764fef372ec900d77 Mon Sep 17 00:00:00 2001
 From: Andrew Rybchenko <arybchenko@solarflare.com>
 Date: Fri, 12 Apr 2019 14:12:33 +0100
 Subject: [PATCH] app/testpmd: set fixed flag for exact link speed
 
+[ upstream commit bdca79053b6aea504d02691d9319fa976062457f ]
+
 Setting exact link speed makes sense if auto-negotiation is
 disabled. Fixed flag is required to disable auto-negotiation.
 
 Fixes: 88fbedcd5e5a ("app/testpmd: move speed and duplex parsing in a function")
-Cc: stable@dpdk.org
 
 Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
 Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
@@ -16,10 +17,10 @@
  1 file changed, 6 insertions(+), 6 deletions(-)
 
 diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
-index 2ab03c1113..691d818a6c 100644
+index 7a3a818723..b007264e15 100644
 --- a/app/test-pmd/cmdline.c
 +++ b/app/test-pmd/cmdline.c
-@@ -1440,17 +1440,17 @@ parse_and_check_speed_duplex(char *speedstr, char *duplexstr, uint32_t *speed)
+@@ -1318,17 +1318,17 @@ parse_and_check_speed_duplex(char *speedstr, char *duplexstr, uint32_t *speed)
  			return -1;
  		}
  		if (!strcmp(speedstr, "1000")) {

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

* [dpdk-stable] patch 'vhost: fix device leak on connection add failure' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (81 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'app/testpmd: set fixed flag for exact link speed' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'vhost: fix silent queue enabling with legacy guests' " Yongseok Koh
                   ` (23 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Ilya Maximets; +Cc: David Marchand, Jens Freimann, Tiwei Bie, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 97e6c612b762e72ff6e33d5a2e310851cf1030a7 Mon Sep 17 00:00:00 2001
From: Ilya Maximets <i.maximets@samsung.com>
Date: Thu, 11 Apr 2019 13:23:06 +0300
Subject: [PATCH] vhost: fix device leak on connection add failure

[ upstream commit a21510e750430914a5638a8925e87609a32cbbff ]

Need to destroy allocated device if application fails to
add new connection or we have fdset failure.

Fixes: acbff5c67ea7 ("vhost: fix crash when exceeding file descriptors")
Fixes: efba12a78ddf ("vhost: add user callbacks for socket open/close")

Reported-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Jens Freimann <jfreimann@redhat.com>
Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
---
 lib/librte_vhost/socket.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/librte_vhost/socket.c b/lib/librte_vhost/socket.c
index a3fd3dc23d..88be697c2f 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)
 			RTE_LOG(ERR, VHOST_CONFIG,
 				"failed to add vhost user connection with fd %d\n",
 				fd);
-			goto err;
+			goto err_cleanup;
 		}
 	}
 
@@ -258,7 +258,7 @@ vhost_user_add_connection(int fd, struct vhost_user_socket *vsocket)
 		if (vsocket->notify_ops->destroy_connection)
 			vsocket->notify_ops->destroy_connection(conn->vid);
 
-		goto err;
+		goto err_cleanup;
 	}
 
 	pthread_mutex_lock(&vsocket->conn_mutex);
@@ -266,6 +266,8 @@ vhost_user_add_connection(int fd, struct vhost_user_socket *vsocket)
 	pthread_mutex_unlock(&vsocket->conn_mutex);
 	return;
 
+err_cleanup:
+	vhost_destroy_device(vid);
 err:
 	free(conn);
 	close(fd);
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:11.011245623 -0700
+++ 0084-vhost-fix-device-leak-on-connection-add-failure.patch	2019-07-22 17:55:06.392476000 -0700
@@ -1,14 +1,15 @@
-From a21510e750430914a5638a8925e87609a32cbbff Mon Sep 17 00:00:00 2001
+From 97e6c612b762e72ff6e33d5a2e310851cf1030a7 Mon Sep 17 00:00:00 2001
 From: Ilya Maximets <i.maximets@samsung.com>
 Date: Thu, 11 Apr 2019 13:23:06 +0300
 Subject: [PATCH] vhost: fix device leak on connection add failure
 
+[ upstream commit a21510e750430914a5638a8925e87609a32cbbff ]
+
 Need to destroy allocated device if application fails to
 add new connection or we have fdset failure.
 
 Fixes: acbff5c67ea7 ("vhost: fix crash when exceeding file descriptors")
 Fixes: efba12a78ddf ("vhost: add user callbacks for socket open/close")
-Cc: stable@dpdk.org
 
 Reported-by: David Marchand <david.marchand@redhat.com>
 Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
@@ -20,10 +21,10 @@
  1 file changed, 4 insertions(+), 2 deletions(-)
 
 diff --git a/lib/librte_vhost/socket.c b/lib/librte_vhost/socket.c
-index 3da9de62c4..f0fdb83f7d 100644
+index a3fd3dc23d..88be697c2f 100644
 --- a/lib/librte_vhost/socket.c
 +++ b/lib/librte_vhost/socket.c
-@@ -240,7 +240,7 @@ vhost_user_add_connection(int fd, struct vhost_user_socket *vsocket)
+@@ -241,7 +241,7 @@ vhost_user_add_connection(int fd, struct vhost_user_socket *vsocket)
  			RTE_LOG(ERR, VHOST_CONFIG,
  				"failed to add vhost user connection with fd %d\n",
  				fd);
@@ -32,7 +33,7 @@
  		}
  	}
  
-@@ -257,7 +257,7 @@ vhost_user_add_connection(int fd, struct vhost_user_socket *vsocket)
+@@ -258,7 +258,7 @@ vhost_user_add_connection(int fd, struct vhost_user_socket *vsocket)
  		if (vsocket->notify_ops->destroy_connection)
  			vsocket->notify_ops->destroy_connection(conn->vid);
  
@@ -41,8 +42,8 @@
  	}
  
  	pthread_mutex_lock(&vsocket->conn_mutex);
-@@ -267,6 +267,8 @@ vhost_user_add_connection(int fd, struct vhost_user_socket *vsocket)
- 	fdset_pipe_notify(&vhost_user.fdset);
+@@ -266,6 +266,8 @@ vhost_user_add_connection(int fd, struct vhost_user_socket *vsocket)
+ 	pthread_mutex_unlock(&vsocket->conn_mutex);
  	return;
  
 +err_cleanup:

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

* [dpdk-stable] patch 'vhost: fix silent queue enabling with legacy guests' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (82 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'vhost: fix device leak on connection add failure' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/virtio: fix dangling pointer on failure' " Yongseok Koh
                   ` (22 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Ilya Maximets; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 6a14f03694ffb0a06cd8535106e2597a35246c39 Mon Sep 17 00:00:00 2001
From: Ilya Maximets <i.maximets@samsung.com>
Date: Fri, 12 Apr 2019 16:09:49 +0300
Subject: [PATCH] vhost: fix silent queue enabling with legacy guests

[ upstream commit 966027b4b3a3e1059bf31ca07340914f6b8bb53a ]

vhost should notify the application in case of all vring state changes.

In general, application should not care about negotiation of
VHOST_USER_F_PROTOCOL_FEATURES. Protocol details like this should
be hidden by the vhost library.

With this patch applications like OVS will be able to assume that
all vrings disabled by default and only process 'vring_state_changed'
events.

Fixes: 321203a54ba7 ("vhost: enable rings at the right time")

Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 lib/librte_vhost/vhost_user.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
index 61e82d1544..84c18f9650 100644
--- a/lib/librte_vhost/vhost_user.c
+++ b/lib/librte_vhost/vhost_user.c
@@ -867,8 +867,12 @@ vhost_user_set_vring_kick(struct virtio_net **pdev, struct VhostUserMsg *pmsg)
 	 * the ring starts already enabled. Otherwise, it is enabled via
 	 * the SET_VRING_ENABLE message.
 	 */
-	if (!(dev->features & (1ULL << VHOST_USER_F_PROTOCOL_FEATURES)))
+	if (!(dev->features & (1ULL << VHOST_USER_F_PROTOCOL_FEATURES))) {
 		vq->enabled = 1;
+		if (dev->notify_ops->vring_state_changed)
+			dev->notify_ops->vring_state_changed(
+				dev->vid, file.index, 1);
+	}
 
 	if (vq->kickfd >= 0)
 		close(vq->kickfd);
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:11.064738695 -0700
+++ 0085-vhost-fix-silent-queue-enabling-with-legacy-guests.patch	2019-07-22 17:55:06.397478000 -0700
@@ -1,8 +1,10 @@
-From 966027b4b3a3e1059bf31ca07340914f6b8bb53a Mon Sep 17 00:00:00 2001
+From 6a14f03694ffb0a06cd8535106e2597a35246c39 Mon Sep 17 00:00:00 2001
 From: Ilya Maximets <i.maximets@samsung.com>
 Date: Fri, 12 Apr 2019 16:09:49 +0300
 Subject: [PATCH] vhost: fix silent queue enabling with legacy guests
 
+[ upstream commit 966027b4b3a3e1059bf31ca07340914f6b8bb53a ]
+
 vhost should notify the application in case of all vring state changes.
 
 In general, application should not care about negotiation of
@@ -14,7 +16,6 @@
 events.
 
 Fixes: 321203a54ba7 ("vhost: enable rings at the right time")
-Cc: stable@dpdk.org
 
 Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
 Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
@@ -23,10 +24,10 @@
  1 file changed, 5 insertions(+), 1 deletion(-)
 
 diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
-index 23beed97d0..c9e29ece8f 100644
+index 61e82d1544..84c18f9650 100644
 --- a/lib/librte_vhost/vhost_user.c
 +++ b/lib/librte_vhost/vhost_user.c
-@@ -1231,8 +1231,12 @@ vhost_user_set_vring_kick(struct virtio_net **pdev, struct VhostUserMsg *msg,
+@@ -867,8 +867,12 @@ vhost_user_set_vring_kick(struct virtio_net **pdev, struct VhostUserMsg *pmsg)
  	 * the ring starts already enabled. Otherwise, it is enabled via
  	 * the SET_VRING_ENABLE message.
  	 */

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

* [dpdk-stable] patch 'net/virtio: fix dangling pointer on failure' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (83 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'vhost: fix silent queue enabling with legacy guests' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'examples/vhost_scsi: fix null-check for parameter' " Yongseok Koh
                   ` (21 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Aaron Conole; +Cc: Michael Santana, Tiwei Bie, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 842ee58a1d02aeca33d0720fa06c06d22ab43c63 Mon Sep 17 00:00:00 2001
From: Aaron Conole <aconole@redhat.com>
Date: Mon, 15 Apr 2019 10:48:18 -0400
Subject: [PATCH] net/virtio: fix dangling pointer on failure

[ upstream commit 7dee8c79483e370a346d68060b0b890b273e9a46 ]

When eth_virtio_dev_init() is cleaning up, it does not correctly set
the mac_addrs variable to NULL, which will lead to a double free.

Found during unit-test fixes.

Fixes: 43d18765c027 ("net/virtio: fix memory leak on failure")

Reported-by: Michael Santana <msantana@redhat.com>
Signed-off-by: Aaron Conole <aconole@redhat.com>
Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
---
 drivers/net/virtio/virtio_ethdev.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index b242abb0fc..b3e55ff3bc 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -1625,6 +1625,7 @@ eth_virtio_dev_init(struct rte_eth_dev *eth_dev)
 
 out:
 	rte_free(eth_dev->data->mac_addrs);
+	eth_dev->data->mac_addrs = NULL;
 	return ret;
 }
 
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:11.118331881 -0700
+++ 0086-net-virtio-fix-dangling-pointer-on-failure.patch	2019-07-22 17:55:06.407478000 -0700
@@ -1,15 +1,16 @@
-From 7dee8c79483e370a346d68060b0b890b273e9a46 Mon Sep 17 00:00:00 2001
+From 842ee58a1d02aeca33d0720fa06c06d22ab43c63 Mon Sep 17 00:00:00 2001
 From: Aaron Conole <aconole@redhat.com>
 Date: Mon, 15 Apr 2019 10:48:18 -0400
 Subject: [PATCH] net/virtio: fix dangling pointer on failure
 
+[ upstream commit 7dee8c79483e370a346d68060b0b890b273e9a46 ]
+
 When eth_virtio_dev_init() is cleaning up, it does not correctly set
 the mac_addrs variable to NULL, which will lead to a double free.
 
 Found during unit-test fixes.
 
 Fixes: 43d18765c027 ("net/virtio: fix memory leak on failure")
-Cc: stable@dpdk.org
 
 Reported-by: Michael Santana <msantana@redhat.com>
 Signed-off-by: Aaron Conole <aconole@redhat.com>
@@ -19,10 +20,10 @@
  1 file changed, 1 insertion(+)
 
 diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
-index 2272bb2e56..d25c08f0a2 100644
+index b242abb0fc..b3e55ff3bc 100644
 --- a/drivers/net/virtio/virtio_ethdev.c
 +++ b/drivers/net/virtio/virtio_ethdev.c
-@@ -1862,6 +1862,7 @@ eth_virtio_dev_init(struct rte_eth_dev *eth_dev)
+@@ -1625,6 +1625,7 @@ eth_virtio_dev_init(struct rte_eth_dev *eth_dev)
  
  out:
  	rte_free(eth_dev->data->mac_addrs);

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

* [dpdk-stable] patch 'examples/vhost_scsi: fix null-check for parameter' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (84 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/virtio: fix dangling pointer on failure' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/i40e: fix dereference before null check in mbuf release' " Yongseok Koh
                   ` (20 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Tiwei Bie, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 8ceef396b56d3332852315afb5eacecf84692ec3 Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Mon, 8 Apr 2019 10:46:37 +0100
Subject: [PATCH] examples/vhost_scsi: fix null-check for parameter

[ upstream commit 6fd5b5734faf2f902aebf57e966e5adb0499a1ff ]

Coverity points out that there is a check in the main thread loop for the
ctrlr->bdev being NULL, but by that stage the pointer has already been
dereferenced. Therefore, for safety, before we enter the loop do an
initial check on the parameter structure.

Coverity issue: 158657
Fixes: db75c7af19bb ("examples/vhost_scsi: introduce a new sample app")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
---
 examples/vhost_scsi/vhost_scsi.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/examples/vhost_scsi/vhost_scsi.c b/examples/vhost_scsi/vhost_scsi.c
index b40f993639..afa96e237c 100644
--- a/examples/vhost_scsi/vhost_scsi.c
+++ b/examples/vhost_scsi/vhost_scsi.c
@@ -315,6 +315,12 @@ ctrlr_worker(void *arg)
 	cpu_set_t cpuset;
 	pthread_t thread;
 
+	if (ctrlr == NULL || ctrlr->bdev == NULL) {
+		fprintf(stderr, "%s: Error, invalid argument passed to worker thread\n",
+				__func__);
+		exit(0);
+	}
+
 	thread = pthread_self();
 	CPU_ZERO(&cpuset);
 	CPU_SET(0, &cpuset);
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:11.169858753 -0700
+++ 0087-examples-vhost_scsi-fix-null-check-for-parameter.patch	2019-07-22 17:55:06.411476000 -0700
@@ -1,8 +1,10 @@
-From 6fd5b5734faf2f902aebf57e966e5adb0499a1ff Mon Sep 17 00:00:00 2001
+From 8ceef396b56d3332852315afb5eacecf84692ec3 Mon Sep 17 00:00:00 2001
 From: Bruce Richardson <bruce.richardson@intel.com>
 Date: Mon, 8 Apr 2019 10:46:37 +0100
 Subject: [PATCH] examples/vhost_scsi: fix null-check for parameter
 
+[ upstream commit 6fd5b5734faf2f902aebf57e966e5adb0499a1ff ]
+
 Coverity points out that there is a check in the main thread loop for the
 ctrlr->bdev being NULL, but by that stage the pointer has already been
 dereferenced. Therefore, for safety, before we enter the loop do an
@@ -10,7 +12,6 @@
 
 Coverity issue: 158657
 Fixes: db75c7af19bb ("examples/vhost_scsi: introduce a new sample app")
-Cc: stable@dpdk.org
 
 Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
 Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
@@ -19,10 +20,10 @@
  1 file changed, 6 insertions(+)
 
 diff --git a/examples/vhost_scsi/vhost_scsi.c b/examples/vhost_scsi/vhost_scsi.c
-index 2908ff68b7..513af0cca4 100644
+index b40f993639..afa96e237c 100644
 --- a/examples/vhost_scsi/vhost_scsi.c
 +++ b/examples/vhost_scsi/vhost_scsi.c
-@@ -285,6 +285,12 @@ ctrlr_worker(void *arg)
+@@ -315,6 +315,12 @@ ctrlr_worker(void *arg)
  	cpu_set_t cpuset;
  	pthread_t thread;
  

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

* [dpdk-stable] patch 'net/i40e: fix dereference before null check in mbuf release' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (85 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'examples/vhost_scsi: fix null-check for parameter' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'bitrate: fix unchecked return value' " Yongseok Koh
                   ` (19 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Rami Rosen, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From cf47880d5c627576d2565aae5cc6bf7ee416de4b Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Mon, 8 Apr 2019 10:46:38 +0100
Subject: [PATCH] net/i40e: fix dereference before null check in mbuf release

[ upstream commit 3f1b8bf9139ab94aa5ba1334499c3928ec630359 ]

Coverity flags that the txq variable is used before it's checked for NULL.
Also fix typo in error message.

Coverity issue: 195023
Fixes: 24853544c84c ("net/i40e: fix mbuf free in vector Tx")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Rami Rosen <ramirose@gmail.com>
---
 drivers/net/i40e/i40e_rxtx.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
index 1725be66ef..44a730181c 100644
--- a/drivers/net/i40e/i40e_rxtx.c
+++ b/drivers/net/i40e/i40e_rxtx.c
@@ -2309,13 +2309,13 @@ i40e_tx_queue_release_mbufs(struct i40e_tx_queue *txq)
 	struct rte_eth_dev *dev;
 	uint16_t i;
 
-	dev = &rte_eth_devices[txq->port_id];
-
 	if (!txq || !txq->sw_ring) {
-		PMD_DRV_LOG(DEBUG, "Pointer to rxq or sw_ring is NULL");
+		PMD_DRV_LOG(DEBUG, "Pointer to txq or sw_ring is NULL");
 		return;
 	}
 
+	dev = &rte_eth_devices[txq->port_id];
+
 	/**
 	 *  vPMD tx will not set sw_ring's mbuf to NULL after free,
 	 *  so need to free remains more carefully.
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:11.219516162 -0700
+++ 0088-net-i40e-fix-dereference-before-null-check-in-mbuf-r.patch	2019-07-22 17:55:06.418474000 -0700
@@ -1,14 +1,15 @@
-From 3f1b8bf9139ab94aa5ba1334499c3928ec630359 Mon Sep 17 00:00:00 2001
+From cf47880d5c627576d2565aae5cc6bf7ee416de4b Mon Sep 17 00:00:00 2001
 From: Bruce Richardson <bruce.richardson@intel.com>
 Date: Mon, 8 Apr 2019 10:46:38 +0100
 Subject: [PATCH] net/i40e: fix dereference before null check in mbuf release
 
+[ upstream commit 3f1b8bf9139ab94aa5ba1334499c3928ec630359 ]
+
 Coverity flags that the txq variable is used before it's checked for NULL.
 Also fix typo in error message.
 
 Coverity issue: 195023
 Fixes: 24853544c84c ("net/i40e: fix mbuf free in vector Tx")
-Cc: stable@dpdk.org
 
 Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
 Acked-by: Rami Rosen <ramirose@gmail.com>
@@ -17,10 +18,10 @@
  1 file changed, 3 insertions(+), 3 deletions(-)
 
 diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
-index 58ed8145db..1489552da4 100644
+index 1725be66ef..44a730181c 100644
 --- a/drivers/net/i40e/i40e_rxtx.c
 +++ b/drivers/net/i40e/i40e_rxtx.c
-@@ -2423,13 +2423,13 @@ i40e_tx_queue_release_mbufs(struct i40e_tx_queue *txq)
+@@ -2309,13 +2309,13 @@ i40e_tx_queue_release_mbufs(struct i40e_tx_queue *txq)
  	struct rte_eth_dev *dev;
  	uint16_t i;
  

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

* [dpdk-stable] patch 'bitrate: fix unchecked return value' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (86 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/i40e: fix dereference before null check in mbuf release' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/ixgbe: fix warning with GCC 9' " Yongseok Koh
                   ` (18 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Andrius Sirvys; +Cc: Rami Rosen, John McNamara, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From f74b758583a7c302902b14b0646884e3617e5d13 Mon Sep 17 00:00:00 2001
From: Andrius Sirvys <andrius.sirvys@intel.com>
Date: Thu, 18 Apr 2019 09:52:06 +0100
Subject: [PATCH] bitrate: fix unchecked return value

[ upstream commit 72ec13b0a1192d7a1503c12474cb0f11d2efe087 ]

Checking the return value of rte_metrics_update_values, if failed
returning that value.
Coverity had picked up that that the return value wasn't being checked.

Coverity issue: 336863
Fixes: 2ad7ba9a6567 ("bitrate: add bitrate statistics library")

Signed-off-by: Andrius Sirvys <andrius.sirvys@intel.com>
Acked-by: Rami Rosen <ramirose@gmail.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
---
 lib/librte_bitratestats/rte_bitrate.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/librte_bitratestats/rte_bitrate.c b/lib/librte_bitratestats/rte_bitrate.c
index d39edbf627..92e7c775c1 100644
--- a/lib/librte_bitratestats/rte_bitrate.c
+++ b/lib/librte_bitratestats/rte_bitrate.c
@@ -96,6 +96,7 @@ rte_stats_bitrate_calc(struct rte_stats_bitrates *bitrate_data,
 	int64_t delta;
 	const int64_t alpha_percent = 20;
 	uint64_t values[6];
+	int ret;
 
 	if (bitrate_data == NULL)
 		return -EINVAL;
@@ -153,7 +154,10 @@ rte_stats_bitrate_calc(struct rte_stats_bitrates *bitrate_data,
 	values[3] = port_data->mean_obits;
 	values[4] = port_data->peak_ibits;
 	values[5] = port_data->peak_obits;
-	rte_metrics_update_values(port_id, bitrate_data->id_stats_set,
+	ret = rte_metrics_update_values(port_id, bitrate_data->id_stats_set,
 		values, ARRAY_SIZE(values));
+	if (ret < 0)
+		return ret;
+
 	return 0;
 }
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:11.271543637 -0700
+++ 0089-bitrate-fix-unchecked-return-value.patch	2019-07-22 17:55:06.422474000 -0700
@@ -1,15 +1,16 @@
-From 72ec13b0a1192d7a1503c12474cb0f11d2efe087 Mon Sep 17 00:00:00 2001
+From f74b758583a7c302902b14b0646884e3617e5d13 Mon Sep 17 00:00:00 2001
 From: Andrius Sirvys <andrius.sirvys@intel.com>
 Date: Thu, 18 Apr 2019 09:52:06 +0100
 Subject: [PATCH] bitrate: fix unchecked return value
 
+[ upstream commit 72ec13b0a1192d7a1503c12474cb0f11d2efe087 ]
+
 Checking the return value of rte_metrics_update_values, if failed
 returning that value.
 Coverity had picked up that that the return value wasn't being checked.
 
 Coverity issue: 336863
 Fixes: 2ad7ba9a6567 ("bitrate: add bitrate statistics library")
-Cc: stable@dpdk.org
 
 Signed-off-by: Andrius Sirvys <andrius.sirvys@intel.com>
 Acked-by: Rami Rosen <ramirose@gmail.com>
@@ -19,10 +20,10 @@
  1 file changed, 5 insertions(+), 1 deletion(-)
 
 diff --git a/lib/librte_bitratestats/rte_bitrate.c b/lib/librte_bitratestats/rte_bitrate.c
-index c4b28f6248..639e47547d 100644
+index d39edbf627..92e7c775c1 100644
 --- a/lib/librte_bitratestats/rte_bitrate.c
 +++ b/lib/librte_bitratestats/rte_bitrate.c
-@@ -67,6 +67,7 @@ rte_stats_bitrate_calc(struct rte_stats_bitrates *bitrate_data,
+@@ -96,6 +96,7 @@ rte_stats_bitrate_calc(struct rte_stats_bitrates *bitrate_data,
  	int64_t delta;
  	const int64_t alpha_percent = 20;
  	uint64_t values[6];
@@ -30,7 +31,7 @@
  
  	if (bitrate_data == NULL)
  		return -EINVAL;
-@@ -124,7 +125,10 @@ rte_stats_bitrate_calc(struct rte_stats_bitrates *bitrate_data,
+@@ -153,7 +154,10 @@ rte_stats_bitrate_calc(struct rte_stats_bitrates *bitrate_data,
  	values[3] = port_data->mean_obits;
  	values[4] = port_data->peak_ibits;
  	values[5] = port_data->peak_obits;

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

* [dpdk-stable] patch 'net/ixgbe: fix warning with GCC 9' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (87 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'bitrate: fix unchecked return value' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'bus/fslmc: " Yongseok Koh
                   ` (17 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 0f17f1cf19a5c6b95cc3d18f9fdde7ac4afb621c Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Wed, 1 May 2019 20:50:11 +0100
Subject: [PATCH] net/ixgbe: fix warning with GCC 9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit e81b0569cc6855fb4d95635d0ae8a749da5d0aed ]

Compiling on Fedora 30, we get the following warning, causing build failure
when Werror flag is set:

../drivers/net/ixgbe/ixgbe_rxtx.c:2141:14: warning:
‘nmb’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 2141 |    rxe->mbuf = nmb;
      |    ~~~~~~~~~~^~~~~

Initializing the value to "NULL" fixes the issue.

Fixes: 8eecb3295aed ("ixgbe: add LRO support")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/ixgbe/ixgbe_rxtx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
index ea6c038e00..a40b98567c 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
@@ -2058,7 +2058,7 @@ ixgbe_recv_pkts_lro(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts,
 		struct ixgbe_rx_entry *next_rxe = NULL;
 		struct rte_mbuf *first_seg;
 		struct rte_mbuf *rxm;
-		struct rte_mbuf *nmb;
+		struct rte_mbuf *nmb = NULL;
 		union ixgbe_adv_rx_desc rxd;
 		uint16_t data_len;
 		uint16_t next_id;
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:11.321399462 -0700
+++ 0090-net-ixgbe-fix-warning-with-GCC-9.patch	2019-07-22 17:55:06.431474000 -0700
@@ -1,4 +1,4 @@
-From e81b0569cc6855fb4d95635d0ae8a749da5d0aed Mon Sep 17 00:00:00 2001
+From 0f17f1cf19a5c6b95cc3d18f9fdde7ac4afb621c Mon Sep 17 00:00:00 2001
 From: Bruce Richardson <bruce.richardson@intel.com>
 Date: Wed, 1 May 2019 20:50:11 +0100
 Subject: [PATCH] net/ixgbe: fix warning with GCC 9
@@ -6,6 +6,8 @@
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
 
+[ upstream commit e81b0569cc6855fb4d95635d0ae8a749da5d0aed ]
+
 Compiling on Fedora 30, we get the following warning, causing build failure
 when Werror flag is set:
 
@@ -17,7 +19,6 @@
 Initializing the value to "NULL" fixes the issue.
 
 Fixes: 8eecb3295aed ("ixgbe: add LRO support")
-Cc: stable@dpdk.org
 
 Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
 ---
@@ -25,10 +26,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
-index e71d3c188a..1fbc754aea 100644
+index ea6c038e00..a40b98567c 100644
 --- a/drivers/net/ixgbe/ixgbe_rxtx.c
 +++ b/drivers/net/ixgbe/ixgbe_rxtx.c
-@@ -2029,7 +2029,7 @@ ixgbe_recv_pkts_lro(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts,
+@@ -2058,7 +2058,7 @@ ixgbe_recv_pkts_lro(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts,
  		struct ixgbe_rx_entry *next_rxe = NULL;
  		struct rte_mbuf *first_seg;
  		struct rte_mbuf *rxm;

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

* [dpdk-stable] patch 'bus/fslmc: fix warning with GCC 9' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (88 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'net/ixgbe: fix warning with GCC 9' " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:00 ` [dpdk-stable] patch 'build: fix crash by disabling AVX512 with binutils 2.31' " Yongseok Koh
                   ` (16 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 56d6d82a7c0f4128195ea8b4c0c380d6e2d4c360 Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Wed, 1 May 2019 20:50:12 +0100
Subject: [PATCH] bus/fslmc: fix warning with GCC 9

[ backported from upstream commit 33832c1471e22afaf2e616a7a0325ea9958ce278 ]

Printing a null pointer with %s is flagged as a warning by GCC 9, and
should not be done. Replace the %s with the word "null" itself.

Fixes: 828d51d8fc3e ("bus/fslmc: refactor scan and probe functions")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/bus/fslmc/fslmc_bus.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c
index b33a01e181..c7930b8691 100644
--- a/drivers/bus/fslmc/fslmc_bus.c
+++ b/drivers/bus/fslmc/fslmc_bus.c
@@ -165,8 +165,7 @@ scan_one_fslmc_device(char *dev_name)
 
 	t_ptr = strtok(NULL, ".");
 	if (!t_ptr) {
-		FSLMC_BUS_LOG(ERR, "Incorrect device string observed (%s).",
-			      t_ptr);
+		FSLMC_BUS_LOG(ERR, "Incorrect device string observed (null).")
 		goto cleanup;
 	}
 
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:11.382804447 -0700
+++ 0091-bus-fslmc-fix-warning-with-GCC-9.patch	2019-07-22 17:55:06.435477000 -0700
@@ -1,29 +1,31 @@
-From 33832c1471e22afaf2e616a7a0325ea9958ce278 Mon Sep 17 00:00:00 2001
+From 56d6d82a7c0f4128195ea8b4c0c380d6e2d4c360 Mon Sep 17 00:00:00 2001
 From: Bruce Richardson <bruce.richardson@intel.com>
 Date: Wed, 1 May 2019 20:50:12 +0100
 Subject: [PATCH] bus/fslmc: fix warning with GCC 9
 
+[ backported from upstream commit 33832c1471e22afaf2e616a7a0325ea9958ce278 ]
+
 Printing a null pointer with %s is flagged as a warning by GCC 9, and
 should not be done. Replace the %s with the word "null" itself.
 
 Fixes: 828d51d8fc3e ("bus/fslmc: refactor scan and probe functions")
-Cc: stable@dpdk.org
 
 Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
 ---
- drivers/bus/fslmc/fslmc_bus.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ drivers/bus/fslmc/fslmc_bus.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
 
 diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c
-index eaa39a2093..f6e66d22c7 100644
+index b33a01e181..c7930b8691 100644
 --- a/drivers/bus/fslmc/fslmc_bus.c
 +++ b/drivers/bus/fslmc/fslmc_bus.c
-@@ -197,7 +197,7 @@ scan_one_fslmc_device(char *dev_name)
+@@ -165,8 +165,7 @@ scan_one_fslmc_device(char *dev_name)
  
  	t_ptr = strtok(NULL, ".");
  	if (!t_ptr) {
--		DPAA2_BUS_ERR("Incorrect device string observed (%s)", t_ptr);
-+		DPAA2_BUS_ERR("Incorrect device string observed (null)");
+-		FSLMC_BUS_LOG(ERR, "Incorrect device string observed (%s).",
+-			      t_ptr);
++		FSLMC_BUS_LOG(ERR, "Incorrect device string observed (null).")
  		goto cleanup;
  	}
  

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

* [dpdk-stable] patch 'build: fix crash by disabling AVX512 with binutils 2.31' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (89 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'bus/fslmc: " Yongseok Koh
@ 2019-07-23  1:00 ` Yongseok Koh
  2019-07-23  1:01 ` [dpdk-stable] patch 'net/mlx5: fix comments mixing Rx and Tx' " Yongseok Koh
                   ` (15 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:00 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From d530adaf7034ff370a96310ffa1481f1bdc81e2b Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Thu, 2 May 2019 14:35:26 +0100
Subject: [PATCH] build: fix crash by disabling AVX512 with binutils 2.31

[ backported from upstream commit e19c6de3f2f12d0f49bdf9e787b3f43612c1df3c ]

On Skylake platform, with native build, KNI kernel module crashes
because of the corrupted values passed to kernel module.

The corruption occurs because the userspace kni library works
unexpectedly. Compiler [1] is using AVX512 instructions and generated
binary is wrong [2].

It turned around gcc does its job correct, but gas is generating binary
wrong. And expected binutils 2.30, 2.31 & 2.31.1 are affected. Issue has
been fixed in binutils 2.32 with:
Commit x86: don't mistakenly scale non-8-bit displacements

AVX512 was already disabled with bintuils 2.30 [3], extending it to
2.31 & 2.31.1 too.

[1] gcc (GCC) 8.3.1 20190223 (Red Hat 8.3.1-2)

[2] gcc bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90028

[3] Bugzilla ID 97 has the details.

Bugzilla ID: 249

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 mk/toolchain/gcc/rte.toolchain-compat.mk | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/mk/toolchain/gcc/rte.toolchain-compat.mk b/mk/toolchain/gcc/rte.toolchain-compat.mk
index 1828e7947b..64f0cbc6b9 100644
--- a/mk/toolchain/gcc/rte.toolchain-compat.mk
+++ b/mk/toolchain/gcc/rte.toolchain-compat.mk
@@ -54,7 +54,14 @@ ifneq ($(filter 2.30%,$(LD_VERSION)),)
 FORCE_DISABLE_AVX512 := y
 # print warning only once for librte_eal
 ifneq ($(filter %librte_eal,$(CURDIR)),)
-$(warning AVX512 support disabled because of ld 2.30. See Bug 97)
+$(warning AVX512 support disabled because of binutils 2.30. See Bug 97)
+endif
+endif
+ifneq ($(filter 2.31%,$(LD_VERSION)),)
+FORCE_DISABLE_AVX512 := y
+# print warning only once for librte_eal
+ifneq ($(filter %librte_eal,$(CURDIR)),)
+$(warning AVX512 support disabled because of binutils 2.31. See Bug 249)
 endif
 endif
 endif
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:11.431900831 -0700
+++ 0092-build-fix-crash-by-disabling-AVX512-with-binutils-2..patch	2019-07-22 17:55:06.440477000 -0700
@@ -1,8 +1,10 @@
-From e19c6de3f2f12d0f49bdf9e787b3f43612c1df3c Mon Sep 17 00:00:00 2001
+From d530adaf7034ff370a96310ffa1481f1bdc81e2b Mon Sep 17 00:00:00 2001
 From: Ferruh Yigit <ferruh.yigit@intel.com>
 Date: Thu, 2 May 2019 14:35:26 +0100
 Subject: [PATCH] build: fix crash by disabling AVX512 with binutils 2.31
 
+[ backported from upstream commit e19c6de3f2f12d0f49bdf9e787b3f43612c1df3c ]
+
 On Skylake platform, with native build, KNI kernel module crashes
 because of the corrupted values passed to kernel module.
 
@@ -25,53 +27,18 @@
 [3] Bugzilla ID 97 has the details.
 
 Bugzilla ID: 249
-Cc: stable@dpdk.org
 
 Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
 Acked-by: Bruce Richardson <bruce.richardson@intel.com>
 ---
- config/x86/meson.build                   | 4 ++++
- doc/guides/rel_notes/release_19_05.rst   | 6 ++++++
  mk/toolchain/gcc/rte.toolchain-compat.mk | 9 ++++++++-
- 3 files changed, 18 insertions(+), 1 deletion(-)
+ 1 file changed, 8 insertions(+), 1 deletion(-)
 
-diff --git a/config/x86/meson.build b/config/x86/meson.build
-index ca4d12506a..0a7bed75e2 100644
---- a/config/x86/meson.build
-+++ b/config/x86/meson.build
-@@ -10,6 +10,10 @@ if not is_windows
- 			message('Binutils 2.30 detected, disabling AVX512 support as workaround for bug #97')
- 		endif
- 	endif
-+	if ldver.contains('2.31') and cc.has_argument('-mno-avx512f')
-+		machine_args += '-mno-avx512f'
-+		message('Binutils 2.31 detected, disabling AVX512 support as workaround for bug #249')
-+	endif
- endif
- 
- # we require SSE4.2 for DPDK
-diff --git a/doc/guides/rel_notes/release_19_05.rst b/doc/guides/rel_notes/release_19_05.rst
-index 439725c8aa..468e325395 100644
---- a/doc/guides/rel_notes/release_19_05.rst
-+++ b/doc/guides/rel_notes/release_19_05.rst
-@@ -368,6 +368,12 @@ Known Issues
-    Also, make sure to start the actual text at the margin.
-    =========================================================
- 
-+* **On x86 platforms, AVX512 support is disabled with binutils 2.31**
-+
-+  Because a defect in binutils 2.31 AVX512 support is disabled.
-+  DPDK defect: https://bugs.dpdk.org/show_bug.cgi?id=249
-+  GCC defect: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90028
-+
- * **No software AES-XTS implementation.**
- 
-   There are currently no cryptodev software PMDs available which implement
 diff --git a/mk/toolchain/gcc/rte.toolchain-compat.mk b/mk/toolchain/gcc/rte.toolchain-compat.mk
-index df71e4a8b5..ea40a11c0c 100644
+index 1828e7947b..64f0cbc6b9 100644
 --- a/mk/toolchain/gcc/rte.toolchain-compat.mk
 +++ b/mk/toolchain/gcc/rte.toolchain-compat.mk
-@@ -27,7 +27,14 @@ ifneq ($(filter 2.30%,$(LD_VERSION)),)
+@@ -54,7 +54,14 @@ ifneq ($(filter 2.30%,$(LD_VERSION)),)
  FORCE_DISABLE_AVX512 := y
  # print warning only once for librte_eal
  ifneq ($(filter %librte_eal,$(CURDIR)),)

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

* [dpdk-stable] patch 'net/mlx5: fix comments mixing Rx and Tx' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (90 preceding siblings ...)
  2019-07-23  1:00 ` [dpdk-stable] patch 'build: fix crash by disabling AVX512 with binutils 2.31' " Yongseok Koh
@ 2019-07-23  1:01 ` Yongseok Koh
  2019-07-23  1:01 ` [dpdk-stable] patch 'doc: fix interactive commands in testpmd guide' " Yongseok Koh
                   ` (14 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:01 UTC (permalink / raw)
  To: Dekel Peled; +Cc: Shahaf Shuler, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From fe75912024b1b7b46473925d1cef375edb42ae29 Mon Sep 17 00:00:00 2001
From: Dekel Peled <dekelp@mellanox.com>
Date: Mon, 22 Apr 2019 18:24:11 +0300
Subject: [PATCH] net/mlx5: fix comments mixing Rx and Tx

[ upstream commit ebd4df0ffceef3ab4ad6ebf6f29c55363d045700 ]

In mlx5_rxq.c, in some comments, text includes "Tx" instead of "Rx".
In mlx5_txq.c, in some comments, text includes "Rx" instead of "Tx".

This patch fixes these typos.

Fixes: faf2667fe8d5 ("net/mlx5: separate DPDK from verbs Tx queue objects")
Fixes: a1366b1a2be3 ("net/mlx5: add reference counter on DPDK Rx queues")

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
---
 drivers/net/mlx5/mlx5_rxq.c | 6 +++---
 drivers/net/mlx5/mlx5_txq.c | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index 7161825a57..3048da985d 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -1030,7 +1030,7 @@ error:
  * @param dev
  *   Pointer to Ethernet device.
  * @param idx
- *   TX queue index.
+ *   RX queue index.
  *
  * @return
  *   A pointer to the queue if it exists, NULL otherwise.
@@ -1060,7 +1060,7 @@ mlx5_rxq_get(struct rte_eth_dev *dev, uint16_t idx)
  * @param dev
  *   Pointer to Ethernet device.
  * @param idx
- *   TX queue index.
+ *   RX queue index.
  *
  * @return
  *   1 while a reference on it exists, 0 when freed.
@@ -1094,7 +1094,7 @@ mlx5_rxq_release(struct rte_eth_dev *dev, uint16_t idx)
  * @param dev
  *   Pointer to Ethernet device.
  * @param idx
- *   TX queue index.
+ *   RX queue index.
  *
  * @return
  *   1 if the queue can be released, negative errno otherwise and rte_errno is
diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c
index 2ead2177fb..9c25efa451 100644
--- a/drivers/net/mlx5/mlx5_txq.c
+++ b/drivers/net/mlx5/mlx5_txq.c
@@ -301,7 +301,7 @@ mlx5_tx_uar_remap(struct rte_eth_dev *dev, int fd)
  * @param dev
  *   Pointer to Ethernet device.
  * @param idx
- *   Queue index in DPDK Rx queue array
+ *   Queue index in DPDK Tx queue array.
  *
  * @return
  *   The Verbs object initialised, NULL otherwise and rte_errno is set.
@@ -507,7 +507,7 @@ error:
  * @param dev
  *   Pointer to Ethernet device.
  * @param idx
- *   Queue index in DPDK Rx queue array
+ *   Queue index in DPDK Tx queue array.
  *
  * @return
  *   The Verbs object if it exists.
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:11.484383653 -0700
+++ 0093-net-mlx5-fix-comments-mixing-Rx-and-Tx.patch	2019-07-22 17:55:06.447478000 -0700
@@ -1,8 +1,10 @@
-From ebd4df0ffceef3ab4ad6ebf6f29c55363d045700 Mon Sep 17 00:00:00 2001
+From fe75912024b1b7b46473925d1cef375edb42ae29 Mon Sep 17 00:00:00 2001
 From: Dekel Peled <dekelp@mellanox.com>
 Date: Mon, 22 Apr 2019 18:24:11 +0300
 Subject: [PATCH] net/mlx5: fix comments mixing Rx and Tx
 
+[ upstream commit ebd4df0ffceef3ab4ad6ebf6f29c55363d045700 ]
+
 In mlx5_rxq.c, in some comments, text includes "Tx" instead of "Rx".
 In mlx5_txq.c, in some comments, text includes "Rx" instead of "Tx".
 
@@ -10,7 +12,6 @@
 
 Fixes: faf2667fe8d5 ("net/mlx5: separate DPDK from verbs Tx queue objects")
 Fixes: a1366b1a2be3 ("net/mlx5: add reference counter on DPDK Rx queues")
-Cc: stable@dpdk.org
 
 Signed-off-by: Dekel Peled <dekelp@mellanox.com>
 Acked-by: Shahaf Shuler <shahafs@mellanox.com>
@@ -20,10 +21,10 @@
  2 files changed, 5 insertions(+), 5 deletions(-)
 
 diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
-index 836bec95e5..9f27f607b7 100644
+index 7161825a57..3048da985d 100644
 --- a/drivers/net/mlx5/mlx5_rxq.c
 +++ b/drivers/net/mlx5/mlx5_rxq.c
-@@ -1493,7 +1493,7 @@ error:
+@@ -1030,7 +1030,7 @@ error:
   * @param dev
   *   Pointer to Ethernet device.
   * @param idx
@@ -32,7 +33,7 @@
   *
   * @return
   *   A pointer to the queue if it exists, NULL otherwise.
-@@ -1520,7 +1520,7 @@ mlx5_rxq_get(struct rte_eth_dev *dev, uint16_t idx)
+@@ -1060,7 +1060,7 @@ mlx5_rxq_get(struct rte_eth_dev *dev, uint16_t idx)
   * @param dev
   *   Pointer to Ethernet device.
   * @param idx
@@ -41,7 +42,7 @@
   *
   * @return
   *   1 while a reference on it exists, 0 when freed.
-@@ -1553,7 +1553,7 @@ mlx5_rxq_release(struct rte_eth_dev *dev, uint16_t idx)
+@@ -1094,7 +1094,7 @@ mlx5_rxq_release(struct rte_eth_dev *dev, uint16_t idx)
   * @param dev
   *   Pointer to Ethernet device.
   * @param idx
@@ -51,10 +52,10 @@
   * @return
   *   1 if the queue can be released, negative errno otherwise and rte_errno is
 diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c
-index 9965b2b771..dbe074fe3b 100644
+index 2ead2177fb..9c25efa451 100644
 --- a/drivers/net/mlx5/mlx5_txq.c
 +++ b/drivers/net/mlx5/mlx5_txq.c
-@@ -388,7 +388,7 @@ is_empw_burst_func(eth_tx_burst_t tx_pkt_burst)
+@@ -301,7 +301,7 @@ mlx5_tx_uar_remap(struct rte_eth_dev *dev, int fd)
   * @param dev
   *   Pointer to Ethernet device.
   * @param idx
@@ -63,7 +64,7 @@
   *
   * @return
   *   The Verbs object initialised, NULL otherwise and rte_errno is set.
-@@ -597,7 +597,7 @@ error:
+@@ -507,7 +507,7 @@ error:
   * @param dev
   *   Pointer to Ethernet device.
   * @param idx

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

* [dpdk-stable] patch 'doc: fix interactive commands in testpmd guide' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (91 preceding siblings ...)
  2019-07-23  1:01 ` [dpdk-stable] patch 'net/mlx5: fix comments mixing Rx and Tx' " Yongseok Koh
@ 2019-07-23  1:01 ` Yongseok Koh
  2019-07-23  1:01 ` [dpdk-stable] patch 'net/ring: avoid hard-coded length' " Yongseok Koh
                   ` (13 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:01 UTC (permalink / raw)
  To: Agalya Babu RadhaKrishnan; +Cc: Rami Rosen, Bernard Iremonger, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 5be232dcd54f06a423a5521208bb3852b0e14957 Mon Sep 17 00:00:00 2001
From: Agalya Babu RadhaKrishnan <agalyax.babu.radhakrishnan@intel.com>
Date: Tue, 23 Apr 2019 11:44:27 +0100
Subject: [PATCH] doc: fix interactive commands in testpmd guide

[ upstream commit d82ee2cc02bb619e6dd5c345a5b986afc6f8936a ]

Added some missing documentation for interactive mode commands

Fixes: 01b2092a5e4b ("testpmd: add dump commands for debug")
Fixes: caf05a1b8608 ("app/testpmd: new command to dump log types")
Fixes: 0f62d63593ed ("app/testpmd: support tunneled TSO in checksum engine")
Fixes: 8fff667578a7 ("app/testpmd: new command to add/remove multicast MAC addresses")
Fixes: ae03d0d18adf ("app/testpmd: command to configure MTU")
Fixes: f79959ea1504 ("app/testpmd: allow to configure RSS hash key")
Fixes: caf05a1b8608 ("app/testpmd: new command to dump log types")

Signed-off-by: Agalya Babu RadhaKrishnan <agalyax.babu.radhakrishnan@intel.com>
Reviewed-by: Rami Rosen <ramirose@gmail.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 doc/guides/testpmd_app_ug/testpmd_funcs.rst | 100 ++++++++++++++++++++
 1 file changed, 100 insertions(+)

diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index 7eea925616..285dd560bb 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -423,6 +423,56 @@ List all items from the pctype mapping table::
    testpmd> show port (port_id) pctype mapping
 
 
+dump physmem
+~~~~~~~~~~~~
+
+Dumps all physical memory segment layouts::
+
+   testpmd> dump_physmem
+
+dump memzone
+~~~~~~~~~~~~
+
+Dumps the layout of all memory zones::
+
+   testpmd> dump_memzone
+
+
+dump struct size
+~~~~~~~~~~~~~~~~
+
+Dumps the size of all memory structures::
+
+   testpmd> dump_struct_sizes
+
+dump ring
+~~~~~~~~~
+
+Dumps the status of all or specific element in DPDK rings::
+
+   testpmd> dump_ring [ring_name]
+
+dump mempool
+~~~~~~~~~~~~
+
+Dumps the statistics of all or specific memory pool::
+
+   testpmd> dump_mempool [mempool_name]
+
+dump devargs
+~~~~~~~~~~~~
+
+Dumps the user device list::
+
+   testpmd> dump_devargs
+
+dump log types
+~~~~~~~~~~~~~~
+
+Dumps the log level for all the dpdk modules::
+
+   testpmd> dump_log_types
+
 Configuration Functions
 -----------------------
 
@@ -956,6 +1006,20 @@ Display the status of TCP Segmentation Offload::
 
    testpmd> tso show (port_id)
 
+tunnel tso set
+~~~~~~~~~~~~~~
+
+Set tso segment size of tunneled packets for a port in csum engine::
+
+   testpmd> tunnel_tso set (tso_segsz) (port_id)
+
+tunnel tso show
+~~~~~~~~~~~~~~~
+
+Display the status of tunneled TCP Segmentation Offload for a port::
+
+   testpmd> tunnel_tso show (port_id)
+
 set port - gro
 ~~~~~~~~~~~~~~
 
@@ -1070,6 +1134,22 @@ Remove a MAC address from a port::
 
    testpmd> mac_addr remove (port_id) (XX:XX:XX:XX:XX:XX)
 
+mcast_addr add
+~~~~~~~~~~~~~~
+
+To add the multicast MAC address to/from the set of multicast addresses
+filtered by port::
+
+   testpmd> mcast_addr add (port_id) (mcast_addr)
+
+mcast_addr remove
+~~~~~~~~~~~~~~~~~
+
+To remove the multicast MAC address to/from the set of multicast addresses
+filtered by port::
+
+   testpmd> mcast_addr remove (port_id) (mcast_addr)
+
 mac_addr add (for VF)
 ~~~~~~~~~~~~~~~~~~~~~
 
@@ -1850,6 +1930,26 @@ where:
 * ``flow_type_id``: software flow type id as the index of the pctype mapping table.
 
 
+port config mtu
+~~~~~~~~~~~~~~~
+
+To configure MTU(Maximum Transmission Unit) on devices using testpmd::
+
+   testpmd> port config mtu (port_id) (value)
+
+port config rss hash key
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+To configure the RSS hash key used to compute the RSS
+hash of input [IP] packets received on port::
+
+   testpmd> port config <port_id> rss-hash-key (ipv4|ipv4-frag|\
+                     ipv4-tcp|ipv4-udp|ipv4-sctp|ipv4-other|\
+                     ipv6|ipv6-frag|ipv6-tcp|ipv6-udp|ipv6-sctp|\
+                     ipv6-other|l2-payload|ipv6-ex|ipv6-tcp-ex|\
+                     ipv6-udp-ex <string of hex digits \
+                     (variable length, NIC dependent)>)
+
 Link Bonding Functions
 ----------------------
 
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:11.537714430 -0700
+++ 0094-doc-fix-interactive-commands-in-testpmd-guide.patch	2019-07-22 17:55:06.455474000 -0700
@@ -1,8 +1,10 @@
-From d82ee2cc02bb619e6dd5c345a5b986afc6f8936a Mon Sep 17 00:00:00 2001
+From 5be232dcd54f06a423a5521208bb3852b0e14957 Mon Sep 17 00:00:00 2001
 From: Agalya Babu RadhaKrishnan <agalyax.babu.radhakrishnan@intel.com>
 Date: Tue, 23 Apr 2019 11:44:27 +0100
 Subject: [PATCH] doc: fix interactive commands in testpmd guide
 
+[ upstream commit d82ee2cc02bb619e6dd5c345a5b986afc6f8936a ]
+
 Added some missing documentation for interactive mode commands
 
 Fixes: 01b2092a5e4b ("testpmd: add dump commands for debug")
@@ -12,7 +14,6 @@
 Fixes: ae03d0d18adf ("app/testpmd: command to configure MTU")
 Fixes: f79959ea1504 ("app/testpmd: allow to configure RSS hash key")
 Fixes: caf05a1b8608 ("app/testpmd: new command to dump log types")
-Cc: stable@dpdk.org
 
 Signed-off-by: Agalya Babu RadhaKrishnan <agalyax.babu.radhakrishnan@intel.com>
 Reviewed-by: Rami Rosen <ramirose@gmail.com>
@@ -22,12 +23,12 @@
  1 file changed, 100 insertions(+)
 
 diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
-index e602df5609..89d494c5b0 100644
+index 7eea925616..285dd560bb 100644
 --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
 +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
-@@ -467,6 +467,56 @@ Show Tx metadata value set for a specific port::
+@@ -423,6 +423,56 @@ List all items from the pctype mapping table::
+    testpmd> show port (port_id) pctype mapping
  
-    testpmd> show port (port_id) tx_metadata
  
 +dump physmem
 +~~~~~~~~~~~~
@@ -82,7 +83,7 @@
  Configuration Functions
  -----------------------
  
-@@ -1041,6 +1091,20 @@ Display the status of TCP Segmentation Offload::
+@@ -956,6 +1006,20 @@ Display the status of TCP Segmentation Offload::
  
     testpmd> tso show (port_id)
  
@@ -103,7 +104,7 @@
  set port - gro
  ~~~~~~~~~~~~~~
  
-@@ -1162,6 +1226,22 @@ Remove a MAC address from a port::
+@@ -1070,6 +1134,22 @@ Remove a MAC address from a port::
  
     testpmd> mac_addr remove (port_id) (XX:XX:XX:XX:XX:XX)
  
@@ -126,9 +127,9 @@
  mac_addr add (for VF)
  ~~~~~~~~~~~~~~~~~~~~~
  
-@@ -2183,6 +2263,26 @@ testpmd will add this value to any Tx packet sent from this port::
+@@ -1850,6 +1930,26 @@ where:
+ * ``flow_type_id``: software flow type id as the index of the pctype mapping table.
  
-    testpmd> port config (port_id) tx_metadata (value)
  
 +port config mtu
 +~~~~~~~~~~~~~~~

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

* [dpdk-stable] patch 'net/ring: avoid hard-coded length' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (92 preceding siblings ...)
  2019-07-23  1:01 ` [dpdk-stable] patch 'doc: fix interactive commands in testpmd guide' " Yongseok Koh
@ 2019-07-23  1:01 ` Yongseok Koh
  2019-07-23  1:01 ` [dpdk-stable] patch 'net/ring: use calloc style where appropriate' " Yongseok Koh
                   ` (12 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:01 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From afd46f4e50472b3ea1ed3c0f92786bf2324912b9 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 23 Apr 2019 09:53:33 -0700
Subject: [PATCH] net/ring: avoid hard-coded length

[ upstream commit 1af59f5ddacaf9287f81e20b49207f28ecbb0e56 ]

Don't hard code string length in two place; use sizeof() instead.
Ring name should use RTE_RING_NAMESIZE.

Fixes: 96cb19521147 ("net/ring: use EAL APIs in PMD specific API")

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

diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c
index 77976ce777..6617e0d778 100644
--- a/drivers/net/ring/rte_eth_ring.c
+++ b/drivers/net/ring/rte_eth_ring.c
@@ -379,8 +379,8 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
 		.numa_node = numa_node,
 		.addr = &args,
 	};
-	char args_str[32] = { 0 };
-	char ring_name[32] = { 0 };
+	char args_str[32];
+	char ring_name[RTE_RING_NAMESIZE];
 	uint16_t port_id = RTE_MAX_ETHPORTS;
 	int ret;
 
@@ -398,8 +398,9 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
 		return -1;
 	}
 
-	snprintf(args_str, 32, "%s=%p", ETH_RING_INTERNAL_ARG, &args);
-	snprintf(ring_name, 32, "net_ring_%s", name);
+	snprintf(args_str, sizeof(args_str), "%s=%p",
+		 ETH_RING_INTERNAL_ARG, &args);
+	snprintf(ring_name, sizeof(ring_name), "net_ring_%s", name);
 
 	ret = rte_vdev_init(ring_name, args_str);
 	if (ret) {
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:11.599066393 -0700
+++ 0095-net-ring-avoid-hard-coded-length.patch	2019-07-22 17:55:06.460479000 -0700
@@ -1,13 +1,14 @@
-From 1af59f5ddacaf9287f81e20b49207f28ecbb0e56 Mon Sep 17 00:00:00 2001
+From afd46f4e50472b3ea1ed3c0f92786bf2324912b9 Mon Sep 17 00:00:00 2001
 From: Stephen Hemminger <stephen@networkplumber.org>
 Date: Tue, 23 Apr 2019 09:53:33 -0700
 Subject: [PATCH] net/ring: avoid hard-coded length
 
+[ upstream commit 1af59f5ddacaf9287f81e20b49207f28ecbb0e56 ]
+
 Don't hard code string length in two place; use sizeof() instead.
 Ring name should use RTE_RING_NAMESIZE.
 
 Fixes: 96cb19521147 ("net/ring: use EAL APIs in PMD specific API")
-Cc: stable@dpdk.org
 
 Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
 Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
@@ -16,10 +17,10 @@
  1 file changed, 5 insertions(+), 4 deletions(-)
 
 diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c
-index 91e5f5f8f2..2e4ca3b16a 100644
+index 77976ce777..6617e0d778 100644
 --- a/drivers/net/ring/rte_eth_ring.c
 +++ b/drivers/net/ring/rte_eth_ring.c
-@@ -362,8 +362,8 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
+@@ -379,8 +379,8 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
  		.numa_node = numa_node,
  		.addr = &args,
  	};
@@ -30,7 +31,7 @@
  	uint16_t port_id = RTE_MAX_ETHPORTS;
  	int ret;
  
-@@ -381,8 +381,9 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
+@@ -398,8 +398,9 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
  		return -1;
  	}
  

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

* [dpdk-stable] patch 'net/ring: use calloc style where appropriate' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (93 preceding siblings ...)
  2019-07-23  1:01 ` [dpdk-stable] patch 'net/ring: avoid hard-coded length' " Yongseok Koh
@ 2019-07-23  1:01 ` Yongseok Koh
  2019-07-23  1:01 ` [dpdk-stable] patch 'net/ring: check length of ring name' " Yongseok Koh
                   ` (11 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:01 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 08bc9acf89091907dea4b263069cb5d60428ae7c Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 23 Apr 2019 09:53:34 -0700
Subject: [PATCH] net/ring: use calloc style where appropriate

[ upstream commit 42a665a3227462c97222f623779a82c8d4f8c54e ]

Use rte_calloc_socket instead of computing size.

Fixes: 651c505af862 ("ring: enhance device setup from rings")

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

diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c
index 6617e0d778..781ca3cca8 100644
--- a/drivers/net/ring/rte_eth_ring.c
+++ b/drivers/net/ring/rte_eth_ring.c
@@ -288,15 +288,15 @@ do_eth_dev_ring_create(const char *name,
 	RTE_LOG(INFO, PMD, "Creating rings-backed ethdev on numa socket %u\n",
 			numa_node);
 
-	rx_queues_local = rte_zmalloc_socket(name,
-			sizeof(void *) * nb_rx_queues, 0, numa_node);
+	rx_queues_local = rte_calloc_socket(name, nb_rx_queues,
+					    sizeof(void *), 0, numa_node);
 	if (rx_queues_local == NULL) {
 		rte_errno = ENOMEM;
 		goto error;
 	}
 
-	tx_queues_local = rte_zmalloc_socket(name,
-			sizeof(void *) * nb_tx_queues, 0, numa_node);
+	tx_queues_local = rte_calloc_socket(name, nb_tx_queues,
+					    sizeof(void *), 0, numa_node);
 	if (tx_queues_local == NULL) {
 		rte_errno = ENOMEM;
 		goto error;
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:11.654346806 -0700
+++ 0096-net-ring-use-calloc-style-where-appropriate.patch	2019-07-22 17:55:06.466475000 -0700
@@ -1,12 +1,13 @@
-From 42a665a3227462c97222f623779a82c8d4f8c54e Mon Sep 17 00:00:00 2001
+From 08bc9acf89091907dea4b263069cb5d60428ae7c Mon Sep 17 00:00:00 2001
 From: Stephen Hemminger <stephen@networkplumber.org>
 Date: Tue, 23 Apr 2019 09:53:34 -0700
 Subject: [PATCH] net/ring: use calloc style where appropriate
 
+[ upstream commit 42a665a3227462c97222f623779a82c8d4f8c54e ]
+
 Use rte_calloc_socket instead of computing size.
 
 Fixes: 651c505af862 ("ring: enhance device setup from rings")
-Cc: stable@dpdk.org
 
 Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
 Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
@@ -15,11 +16,11 @@
  1 file changed, 4 insertions(+), 4 deletions(-)
 
 diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c
-index 2e4ca3b16a..0355f2b7c4 100644
+index 6617e0d778..781ca3cca8 100644
 --- a/drivers/net/ring/rte_eth_ring.c
 +++ b/drivers/net/ring/rte_eth_ring.c
-@@ -270,15 +270,15 @@ do_eth_dev_ring_create(const char *name,
- 	PMD_LOG(INFO, "Creating rings-backed ethdev on numa socket %u",
+@@ -288,15 +288,15 @@ do_eth_dev_ring_create(const char *name,
+ 	RTE_LOG(INFO, PMD, "Creating rings-backed ethdev on numa socket %u\n",
  			numa_node);
  
 -	rx_queues_local = rte_zmalloc_socket(name,

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

* [dpdk-stable] patch 'net/ring: check length of ring name' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (94 preceding siblings ...)
  2019-07-23  1:01 ` [dpdk-stable] patch 'net/ring: use calloc style where appropriate' " Yongseok Koh
@ 2019-07-23  1:01 ` Yongseok Koh
  2019-07-23  1:01 ` [dpdk-stable] patch 'net/ring: fix return value check' " Yongseok Koh
                   ` (10 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:01 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 43d68cd793f0656b608148826380738951b2340c Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 23 Apr 2019 09:53:35 -0700
Subject: [PATCH] net/ring: check length of ring name

[ upstream commit 70a6aeb4639b633bc322834bb6f07b6c45c7e52b ]

The ring name is passed in as part of this drivers API, but it
doesn't check that the name is not truncated.

Fixes: 96cb19521147 ("net/ring: use EAL APIs in PMD specific API")
Fixes: e1e4017751f1 ("ring: add new driver")

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

diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c
index 781ca3cca8..da165152a6 100644
--- a/drivers/net/ring/rte_eth_ring.c
+++ b/drivers/net/ring/rte_eth_ring.c
@@ -400,7 +400,12 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
 
 	snprintf(args_str, sizeof(args_str), "%s=%p",
 		 ETH_RING_INTERNAL_ARG, &args);
-	snprintf(ring_name, sizeof(ring_name), "net_ring_%s", name);
+
+	ret = snprintf(ring_name, sizeof(ring_name), "net_ring_%s", name);
+	if (ret >= (int)sizeof(ring_name)) {
+		rte_errno = ENAMETOOLONG;
+		return -1;
+	}
 
 	ret = rte_vdev_init(ring_name, args_str);
 	if (ret) {
@@ -434,7 +439,15 @@ eth_dev_ring_create(const char *name, const unsigned numa_node,
 			RTE_PMD_RING_MAX_TX_RINGS);
 
 	for (i = 0; i < num_rings; i++) {
-		snprintf(rng_name, sizeof(rng_name), "ETH_RXTX%u_%s", i, name);
+		int cc;
+
+		cc = snprintf(rng_name, sizeof(rng_name),
+			      "ETH_RXTX%u_%s", i, name);
+		if (cc >= (int)sizeof(rng_name)) {
+			rte_errno = ENAMETOOLONG;
+			return -1;
+		}
+
 		rxtx[i] = (action == DEV_CREATE) ?
 				rte_ring_create(rng_name, 1024, numa_node,
 						RING_F_SP_ENQ|RING_F_SC_DEQ) :
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:11.706342667 -0700
+++ 0097-net-ring-check-length-of-ring-name.patch	2019-07-22 17:55:06.471476000 -0700
@@ -1,14 +1,15 @@
-From 70a6aeb4639b633bc322834bb6f07b6c45c7e52b Mon Sep 17 00:00:00 2001
+From 43d68cd793f0656b608148826380738951b2340c Mon Sep 17 00:00:00 2001
 From: Stephen Hemminger <stephen@networkplumber.org>
 Date: Tue, 23 Apr 2019 09:53:35 -0700
 Subject: [PATCH] net/ring: check length of ring name
 
+[ upstream commit 70a6aeb4639b633bc322834bb6f07b6c45c7e52b ]
+
 The ring name is passed in as part of this drivers API, but it
 doesn't check that the name is not truncated.
 
 Fixes: 96cb19521147 ("net/ring: use EAL APIs in PMD specific API")
 Fixes: e1e4017751f1 ("ring: add new driver")
-Cc: stable@dpdk.org
 
 Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
 Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
@@ -17,10 +18,10 @@
  1 file changed, 15 insertions(+), 2 deletions(-)
 
 diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c
-index 0355f2b7c4..979993fd3e 100644
+index 781ca3cca8..da165152a6 100644
 --- a/drivers/net/ring/rte_eth_ring.c
 +++ b/drivers/net/ring/rte_eth_ring.c
-@@ -383,7 +383,12 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
+@@ -400,7 +400,12 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
  
  	snprintf(args_str, sizeof(args_str), "%s=%p",
  		 ETH_RING_INTERNAL_ARG, &args);
@@ -34,7 +35,7 @@
  
  	ret = rte_vdev_init(ring_name, args_str);
  	if (ret) {
-@@ -417,7 +422,15 @@ eth_dev_ring_create(const char *name, const unsigned int numa_node,
+@@ -434,7 +439,15 @@ eth_dev_ring_create(const char *name, const unsigned numa_node,
  			RTE_PMD_RING_MAX_TX_RINGS);
  
  	for (i = 0; i < num_rings; i++) {

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

* [dpdk-stable] patch 'net/ring: fix return value check' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (95 preceding siblings ...)
  2019-07-23  1:01 ` [dpdk-stable] patch 'net/ring: check length of ring name' " Yongseok Koh
@ 2019-07-23  1:01 ` Yongseok Koh
  2019-07-23  1:01 ` [dpdk-stable] patch 'net/kni: " Yongseok Koh
                   ` (9 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:01 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 7989f05f3498ecd1d33ca2fcdf6389efa3b660d5 Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Tue, 23 Apr 2019 16:23:32 +0100
Subject: [PATCH] net/ring: fix return value check

[ upstream commit e0474b94f8a36672d66be7408e3f7cf00e302329 ]

'rte_eth_dev_get_port_by_name()' return value is not checked caught by
coverity, adding return value check.

Coverity issue: 305853
Fixes: 96cb19521147 ("net/ring: use EAL APIs in PMD specific API")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/ring/rte_eth_ring.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c
index da165152a6..c56dc339d5 100644
--- a/drivers/net/ring/rte_eth_ring.c
+++ b/drivers/net/ring/rte_eth_ring.c
@@ -413,7 +413,11 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
 		return -1;
 	}
 
-	rte_eth_dev_get_port_by_name(ring_name, &port_id);
+	ret = rte_eth_dev_get_port_by_name(ring_name, &port_id);
+	if (ret) {
+		rte_errno = ENODEV;
+		return -1;
+	}
 
 	return port_id;
 }
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:11.762257794 -0700
+++ 0098-net-ring-fix-return-value-check.patch	2019-07-22 17:55:06.476479000 -0700
@@ -1,14 +1,15 @@
-From e0474b94f8a36672d66be7408e3f7cf00e302329 Mon Sep 17 00:00:00 2001
+From 7989f05f3498ecd1d33ca2fcdf6389efa3b660d5 Mon Sep 17 00:00:00 2001
 From: Ferruh Yigit <ferruh.yigit@intel.com>
 Date: Tue, 23 Apr 2019 16:23:32 +0100
 Subject: [PATCH] net/ring: fix return value check
 
+[ upstream commit e0474b94f8a36672d66be7408e3f7cf00e302329 ]
+
 'rte_eth_dev_get_port_by_name()' return value is not checked caught by
 coverity, adding return value check.
 
 Coverity issue: 305853
 Fixes: 96cb19521147 ("net/ring: use EAL APIs in PMD specific API")
-Cc: stable@dpdk.org
 
 Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
 Acked-by: Bruce Richardson <bruce.richardson@intel.com>
@@ -17,10 +18,10 @@
  1 file changed, 5 insertions(+), 1 deletion(-)
 
 diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c
-index 979993fd3e..ab963a03c4 100644
+index da165152a6..c56dc339d5 100644
 --- a/drivers/net/ring/rte_eth_ring.c
 +++ b/drivers/net/ring/rte_eth_ring.c
-@@ -396,7 +396,11 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
+@@ -413,7 +413,11 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[],
  		return -1;
  	}
  

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

* [dpdk-stable] patch 'net/kni: fix return value check' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (96 preceding siblings ...)
  2019-07-23  1:01 ` [dpdk-stable] patch 'net/ring: fix return value check' " Yongseok Koh
@ 2019-07-23  1:01 ` Yongseok Koh
  2019-07-23  1:01 ` [dpdk-stable] patch 'net/i40e: fix link speed for X722' " Yongseok Koh
                   ` (8 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:01 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From aae852b417fbe27abfac2eaf097d66a189f6bd16 Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Tue, 23 Apr 2019 16:36:21 +0100
Subject: [PATCH] net/kni: fix return value check

[ backported from upstream commit 994e039b953b06a385d4362e1729a150f1a02d77 ]

'rte_kni_release()' return value is not checked, adding it.

Coverity issue: 336837
Fixes: 75e2bc54c018 ("net/kni: add KNI PMD")

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

diff --git a/drivers/net/kni/rte_eth_kni.c b/drivers/net/kni/rte_eth_kni.c
index 218d5eb583..366b2a1488 100644
--- a/drivers/net/kni/rte_eth_kni.c
+++ b/drivers/net/kni/rte_eth_kni.c
@@ -464,6 +464,7 @@ eth_kni_remove(struct rte_vdev_device *vdev)
 	struct rte_eth_dev *eth_dev;
 	struct pmd_internals *internals;
 	const char *name;
+	int ret;
 
 	name = rte_vdev_device_name(vdev);
 	RTE_LOG(INFO, PMD, "Un-Initializing eth_kni for %s\n", name);
@@ -476,7 +477,9 @@ eth_kni_remove(struct rte_vdev_device *vdev)
 	eth_kni_dev_stop(eth_dev);
 
 	internals = eth_dev->data->dev_private;
-	rte_kni_release(internals->kni);
+	ret = rte_kni_release(internals->kni);
+	if (ret)
+		RTE_LOG(WARNING, PMD, "Not able to release kni for %s\n", name);
 
 	rte_free(internals);
 
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:11.812864888 -0700
+++ 0099-net-kni-fix-return-value-check.patch	2019-07-22 17:55:06.482475000 -0700
@@ -1,13 +1,14 @@
-From 994e039b953b06a385d4362e1729a150f1a02d77 Mon Sep 17 00:00:00 2001
+From aae852b417fbe27abfac2eaf097d66a189f6bd16 Mon Sep 17 00:00:00 2001
 From: Ferruh Yigit <ferruh.yigit@intel.com>
 Date: Tue, 23 Apr 2019 16:36:21 +0100
 Subject: [PATCH] net/kni: fix return value check
 
+[ backported from upstream commit 994e039b953b06a385d4362e1729a150f1a02d77 ]
+
 'rte_kni_release()' return value is not checked, adding it.
 
 Coverity issue: 336837
 Fixes: 75e2bc54c018 ("net/kni: add KNI PMD")
-Cc: stable@dpdk.org
 
 Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
 ---
@@ -15,27 +16,27 @@
  1 file changed, 4 insertions(+), 1 deletion(-)
 
 diff --git a/drivers/net/kni/rte_eth_kni.c b/drivers/net/kni/rte_eth_kni.c
-index 89f44737cb..1f232e4da1 100644
+index 218d5eb583..366b2a1488 100644
 --- a/drivers/net/kni/rte_eth_kni.c
 +++ b/drivers/net/kni/rte_eth_kni.c
-@@ -459,6 +459,7 @@ eth_kni_remove(struct rte_vdev_device *vdev)
+@@ -464,6 +464,7 @@ eth_kni_remove(struct rte_vdev_device *vdev)
  	struct rte_eth_dev *eth_dev;
  	struct pmd_internals *internals;
  	const char *name;
 +	int ret;
  
  	name = rte_vdev_device_name(vdev);
- 	PMD_LOG(INFO, "Un-Initializing eth_kni for %s", name);
-@@ -477,7 +478,9 @@ eth_kni_remove(struct rte_vdev_device *vdev)
+ 	RTE_LOG(INFO, PMD, "Un-Initializing eth_kni for %s\n", name);
+@@ -476,7 +477,9 @@ eth_kni_remove(struct rte_vdev_device *vdev)
  	eth_kni_dev_stop(eth_dev);
  
  	internals = eth_dev->data->dev_private;
 -	rte_kni_release(internals->kni);
 +	ret = rte_kni_release(internals->kni);
 +	if (ret)
-+		PMD_LOG(WARNING, "Not able to release kni for %s", name);
++		RTE_LOG(WARNING, PMD, "Not able to release kni for %s\n", name);
  
- 	rte_eth_dev_release_port(eth_dev);
+ 	rte_free(internals);
  
 -- 
 2.21.0

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

* [dpdk-stable] patch 'net/i40e: fix link speed for X722' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (97 preceding siblings ...)
  2019-07-23  1:01 ` [dpdk-stable] patch 'net/kni: " Yongseok Koh
@ 2019-07-23  1:01 ` Yongseok Koh
  2019-07-23  1:01 ` [dpdk-stable] patch 'net/mlx5: check Tx queue size overflow' " Yongseok Koh
                   ` (7 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:01 UTC (permalink / raw)
  To: Beilei Xing; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 83b55ae6306819b9a6240541d64773637bcd32c8 Mon Sep 17 00:00:00 2001
From: Beilei Xing <beilei.xing@intel.com>
Date: Tue, 30 Apr 2019 14:56:37 +0800
Subject: [PATCH] net/i40e: fix link speed for X722

[ upstream commit f2310dddf41c19c9c1d77dbd857d4fab1fb368b7 ]

If disable LSC when launching testpmd with X722, shown
link speed is 20G but not 10G. It's caused by wrongly
parsed link speed.
Correct it according to X722 datasheet.

Fixes: eef2daf2e199 ("net/i40e: fix link update no wait")

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/i40e/i40e_ethdev.c | 45 ++++++++++++++++++++--------------
 1 file changed, 27 insertions(+), 18 deletions(-)

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 74467454e7..e58c482ac7 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -2501,11 +2501,11 @@ update_link_reg(struct i40e_hw *hw, struct rte_eth_link *link)
 #define I40E_PRTMAC_MACC		0x001E24E0
 #define I40E_REG_MACC_25GB		0x00020000
 #define I40E_REG_SPEED_MASK		0x38000000
-#define I40E_REG_SPEED_100MB		0x00000000
-#define I40E_REG_SPEED_1GB		0x08000000
-#define I40E_REG_SPEED_10GB		0x10000000
-#define I40E_REG_SPEED_20GB		0x20000000
-#define I40E_REG_SPEED_25_40GB		0x18000000
+#define I40E_REG_SPEED_0		0x00000000
+#define I40E_REG_SPEED_1		0x08000000
+#define I40E_REG_SPEED_2		0x10000000
+#define I40E_REG_SPEED_3		0x18000000
+#define I40E_REG_SPEED_4		0x20000000
 	uint32_t link_speed;
 	uint32_t reg_val;
 
@@ -2519,26 +2519,35 @@ update_link_reg(struct i40e_hw *hw, struct rte_eth_link *link)
 
 	/* Parse the link status */
 	switch (link_speed) {
-	case I40E_REG_SPEED_100MB:
+	case I40E_REG_SPEED_0:
 		link->link_speed = ETH_SPEED_NUM_100M;
 		break;
-	case I40E_REG_SPEED_1GB:
+	case I40E_REG_SPEED_1:
 		link->link_speed = ETH_SPEED_NUM_1G;
 		break;
-	case I40E_REG_SPEED_10GB:
-		link->link_speed = ETH_SPEED_NUM_10G;
-		break;
-	case I40E_REG_SPEED_20GB:
-		link->link_speed = ETH_SPEED_NUM_20G;
+	case I40E_REG_SPEED_2:
+		if (hw->mac.type == I40E_MAC_X722)
+			link->link_speed = ETH_SPEED_NUM_2_5G;
+		else
+			link->link_speed = ETH_SPEED_NUM_10G;
 		break;
-	case I40E_REG_SPEED_25_40GB:
-		reg_val = I40E_READ_REG(hw, I40E_PRTMAC_MACC);
+	case I40E_REG_SPEED_3:
+		if (hw->mac.type == I40E_MAC_X722) {
+			link->link_speed = ETH_SPEED_NUM_5G;
+		} else {
+			reg_val = I40E_READ_REG(hw, I40E_PRTMAC_MACC);
 
-		if (reg_val & I40E_REG_MACC_25GB)
-			link->link_speed = ETH_SPEED_NUM_25G;
+			if (reg_val & I40E_REG_MACC_25GB)
+				link->link_speed = ETH_SPEED_NUM_25G;
+			else
+				link->link_speed = ETH_SPEED_NUM_40G;
+		}
+		break;
+	case I40E_REG_SPEED_4:
+		if (hw->mac.type == I40E_MAC_X722)
+			link->link_speed = ETH_SPEED_NUM_10G;
 		else
-			link->link_speed = ETH_SPEED_NUM_40G;
-
+			link->link_speed = ETH_SPEED_NUM_20G;
 		break;
 	default:
 		PMD_DRV_LOG(ERR, "Unknown link speed info %u", link_speed);
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:11.865193997 -0700
+++ 0100-net-i40e-fix-link-speed-for-X722.patch	2019-07-22 17:55:06.504474000 -0700
@@ -1,15 +1,16 @@
-From f2310dddf41c19c9c1d77dbd857d4fab1fb368b7 Mon Sep 17 00:00:00 2001
+From 83b55ae6306819b9a6240541d64773637bcd32c8 Mon Sep 17 00:00:00 2001
 From: Beilei Xing <beilei.xing@intel.com>
 Date: Tue, 30 Apr 2019 14:56:37 +0800
 Subject: [PATCH] net/i40e: fix link speed for X722
 
+[ upstream commit f2310dddf41c19c9c1d77dbd857d4fab1fb368b7 ]
+
 If disable LSC when launching testpmd with X722, shown
 link speed is 20G but not 10G. It's caused by wrongly
 parsed link speed.
 Correct it according to X722 datasheet.
 
 Fixes: eef2daf2e199 ("net/i40e: fix link update no wait")
-Cc: stable@dpdk.org
 
 Signed-off-by: Beilei Xing <beilei.xing@intel.com>
 Acked-by: Qi Zhang <qi.z.zhang@intel.com>
@@ -18,10 +19,10 @@
  1 file changed, 27 insertions(+), 18 deletions(-)
 
 diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
-index 62865c5fd9..2eea5232a0 100644
+index 74467454e7..e58c482ac7 100644
 --- a/drivers/net/i40e/i40e_ethdev.c
 +++ b/drivers/net/i40e/i40e_ethdev.c
-@@ -2670,11 +2670,11 @@ update_link_reg(struct i40e_hw *hw, struct rte_eth_link *link)
+@@ -2501,11 +2501,11 @@ update_link_reg(struct i40e_hw *hw, struct rte_eth_link *link)
  #define I40E_PRTMAC_MACC		0x001E24E0
  #define I40E_REG_MACC_25GB		0x00020000
  #define I40E_REG_SPEED_MASK		0x38000000
@@ -38,7 +39,7 @@
  	uint32_t link_speed;
  	uint32_t reg_val;
  
-@@ -2688,26 +2688,35 @@ update_link_reg(struct i40e_hw *hw, struct rte_eth_link *link)
+@@ -2519,26 +2519,35 @@ update_link_reg(struct i40e_hw *hw, struct rte_eth_link *link)
  
  	/* Parse the link status */
  	switch (link_speed) {

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

* [dpdk-stable] patch 'net/mlx5: check Tx queue size overflow' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (98 preceding siblings ...)
  2019-07-23  1:01 ` [dpdk-stable] patch 'net/i40e: fix link speed for X722' " Yongseok Koh
@ 2019-07-23  1:01 ` Yongseok Koh
  2019-07-23  1:01 ` [dpdk-stable] patch 'net/mlx5: fix max number of queues for NEON Tx' " Yongseok Koh
                   ` (6 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:01 UTC (permalink / raw)
  To: Yongseok Koh; +Cc: Shahaf Shuler, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 938c064f1133d84bc735071f12f9c603ed3ea7bf Mon Sep 17 00:00:00 2001
From: Yongseok Koh <yskoh@mellanox.com>
Date: Tue, 30 Apr 2019 18:01:43 -0700
Subject: [PATCH] net/mlx5: check Tx queue size overflow

[ backported from upstream commit f6d9ab4e769f0f95ecac1b418106e9f8137ca60c ]

If Tx packet inlining is enabled, rdma-core library should allocate large
Tx WQ enough to support it. It is better for PMD to calculate the size of
WQ based on the parameters and return error with appropriate message if it
exceeds the device capability.

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
---
 drivers/net/mlx5/mlx5_txq.c | 36 ++++++++++++++++++++++++++++++++----
 1 file changed, 32 insertions(+), 4 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c
index 9c25efa451..e3deef004e 100644
--- a/drivers/net/mlx5/mlx5_txq.c
+++ b/drivers/net/mlx5/mlx5_txq.c
@@ -595,6 +595,27 @@ mlx5_txq_ibv_verify(struct rte_eth_dev *dev)
 	return ret;
 }
 
+/**
+ * Calcuate the total number of WQEBB for Tx queue.
+ *
+ * Simplified version of calc_sq_size() in rdma-core.
+ *
+ * @param txq_ctrl
+ *   Pointer to Tx queue control structure.
+ *
+ * @return
+ *   The number of WQEBB.
+ */
+static int
+txq_calc_wqebb_cnt(struct mlx5_txq_ctrl *txq_ctrl)
+{
+	unsigned int wqe_size;
+	const unsigned int desc = 1 << txq_ctrl->txq.elts_n;
+
+	wqe_size = MLX5_WQE_SIZE + txq_ctrl->max_inline_data;
+	return rte_align32pow2(wqe_size * desc) / MLX5_WQE_SIZE;
+}
+
 /**
  * Create a DPDK Tx queue.
  *
@@ -640,10 +661,6 @@ mlx5_txq_new(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
 	tmpl->idx = idx;
 	if (priv->mps == MLX5_MPW_ENHANCED)
 		tmpl->txq.mpw_hdr_dseg = priv->mpw_hdr_dseg;
-	DRV_LOG(DEBUG, "port %u priv->device_attr.max_qp_wr is %d",
-		dev->data->port_id, priv->device_attr.orig_attr.max_qp_wr);
-	DRV_LOG(DEBUG, "port %u priv->device_attr.max_sge is %d",
-		dev->data->port_id, priv->device_attr.orig_attr.max_sge);
 	if (priv->txq_inline && (priv->txqs_n >= priv->txqs_inline)) {
 		unsigned int ds_cnt;
 
@@ -698,6 +715,17 @@ mlx5_txq_new(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
 	}
 	if (priv->tunnel_en)
 		tmpl->txq.tunnel_en = 1;
+	if (txq_calc_wqebb_cnt(tmpl) >
+	    priv->device_attr.orig_attr.max_qp_wr) {
+		DRV_LOG(ERR,
+			"port %u Tx WQEBB count (%d) exceeds the limit (%d),"
+			" try smaller queue size",
+			dev->data->port_id, txq_calc_wqebb_cnt(tmpl),
+			priv->device_attr.orig_attr.max_qp_wr);
+		rte_free(tmpl);
+		rte_errno = ENOMEM;
+		return NULL;
+	}
 	tmpl->txq.elts =
 		(struct rte_mbuf *(*)[1 << tmpl->txq.elts_n])(tmpl + 1);
 	tmpl->txq.mr_ctrl.cache_bh =
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:11.923539948 -0700
+++ 0101-net-mlx5-check-Tx-queue-size-overflow.patch	2019-07-22 17:55:06.509477000 -0700
@@ -1,26 +1,26 @@
-From f6d9ab4e769f0f95ecac1b418106e9f8137ca60c Mon Sep 17 00:00:00 2001
+From 938c064f1133d84bc735071f12f9c603ed3ea7bf Mon Sep 17 00:00:00 2001
 From: Yongseok Koh <yskoh@mellanox.com>
 Date: Tue, 30 Apr 2019 18:01:43 -0700
 Subject: [PATCH] net/mlx5: check Tx queue size overflow
 
+[ backported from upstream commit f6d9ab4e769f0f95ecac1b418106e9f8137ca60c ]
+
 If Tx packet inlining is enabled, rdma-core library should allocate large
 Tx WQ enough to support it. It is better for PMD to calculate the size of
 WQ based on the parameters and return error with appropriate message if it
 exceeds the device capability.
 
-Cc: stable@dpdk.org
-
 Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
 Acked-by: Shahaf Shuler <shahafs@mellanox.com>
 ---
- drivers/net/mlx5/mlx5_txq.c | 35 +++++++++++++++++++++++++++++++----
- 1 file changed, 31 insertions(+), 4 deletions(-)
+ drivers/net/mlx5/mlx5_txq.c | 36 ++++++++++++++++++++++++++++++++----
+ 1 file changed, 32 insertions(+), 4 deletions(-)
 
 diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c
-index 4d55fd413c..b281c45027 100644
+index 9c25efa451..e3deef004e 100644
 --- a/drivers/net/mlx5/mlx5_txq.c
 +++ b/drivers/net/mlx5/mlx5_txq.c
-@@ -678,6 +678,27 @@ mlx5_txq_ibv_verify(struct rte_eth_dev *dev)
+@@ -595,6 +595,27 @@ mlx5_txq_ibv_verify(struct rte_eth_dev *dev)
  	return ret;
  }
  
@@ -46,29 +46,37 @@
 +}
 +
  /**
-  * Set Tx queue parameters from device configuration.
+  * Create a DPDK Tx queue.
   *
-@@ -824,10 +845,16 @@ mlx5_txq_new(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
- 	tmpl->txq.port_id = dev->data->port_id;
- 	tmpl->txq.idx = idx;
- 	txq_set_params(tmpl);
--	DRV_LOG(DEBUG, "port %u device_attr.max_qp_wr is %d",
--		dev->data->port_id, priv->sh->device_attr.orig_attr.max_qp_wr);
--	DRV_LOG(DEBUG, "port %u device_attr.max_sge is %d",
--		dev->data->port_id, priv->sh->device_attr.orig_attr.max_sge);
+@@ -640,10 +661,6 @@ mlx5_txq_new(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
+ 	tmpl->idx = idx;
+ 	if (priv->mps == MLX5_MPW_ENHANCED)
+ 		tmpl->txq.mpw_hdr_dseg = priv->mpw_hdr_dseg;
+-	DRV_LOG(DEBUG, "port %u priv->device_attr.max_qp_wr is %d",
+-		dev->data->port_id, priv->device_attr.orig_attr.max_qp_wr);
+-	DRV_LOG(DEBUG, "port %u priv->device_attr.max_sge is %d",
+-		dev->data->port_id, priv->device_attr.orig_attr.max_sge);
+ 	if (priv->txq_inline && (priv->txqs_n >= priv->txqs_inline)) {
+ 		unsigned int ds_cnt;
+ 
+@@ -698,6 +715,17 @@ mlx5_txq_new(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
+ 	}
+ 	if (priv->tunnel_en)
+ 		tmpl->txq.tunnel_en = 1;
 +	if (txq_calc_wqebb_cnt(tmpl) >
-+	    priv->sh->device_attr.orig_attr.max_qp_wr) {
++	    priv->device_attr.orig_attr.max_qp_wr) {
 +		DRV_LOG(ERR,
 +			"port %u Tx WQEBB count (%d) exceeds the limit (%d),"
 +			" try smaller queue size",
 +			dev->data->port_id, txq_calc_wqebb_cnt(tmpl),
-+			priv->sh->device_attr.orig_attr.max_qp_wr);
++			priv->device_attr.orig_attr.max_qp_wr);
++		rte_free(tmpl);
 +		rte_errno = ENOMEM;
-+		goto error;
++		return NULL;
 +	}
  	tmpl->txq.elts =
  		(struct rte_mbuf *(*)[1 << tmpl->txq.elts_n])(tmpl + 1);
- 	rte_atomic32_inc(&tmpl->refcnt);
+ 	tmpl->txq.mr_ctrl.cache_bh =
 -- 
 2.21.0
 

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

* [dpdk-stable] patch 'net/mlx5: fix max number of queues for NEON Tx' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (99 preceding siblings ...)
  2019-07-23  1:01 ` [dpdk-stable] patch 'net/mlx5: check Tx queue size overflow' " Yongseok Koh
@ 2019-07-23  1:01 ` Yongseok Koh
  2019-07-23  1:01 ` [dpdk-stable] patch 'app/testpmd: revert fixed flag for exact link speed' " Yongseok Koh
                   ` (5 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:01 UTC (permalink / raw)
  To: Yongseok Koh; +Cc: Shahaf Shuler, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 6f72d0091807e85594022a80f1225602be6674af Mon Sep 17 00:00:00 2001
From: Yongseok Koh <yskoh@mellanox.com>
Date: Tue, 30 Apr 2019 18:37:17 -0700
Subject: [PATCH] net/mlx5: fix max number of queues for NEON Tx

[ upstream commit 9cc42c58931a428a94e9adf7019eb97faa8fddb1 ]

BlueField SmartNIC has 0xa2d2 as PCI device ID on both ARM and x86 host. On
ARM side, Tx inlining need not be used as PCI bandwidth is not bottleneck.
Vectorized Tx can still be used up to 16 queues. For other archs
(e.g., x86), keep using the default value.

Fixes: 09d8b41699bb ("net/mlx5: make vectorized Tx threshold configurable")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
---
 drivers/net/mlx5/mlx5_defs.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_defs.h b/drivers/net/mlx5/mlx5_defs.h
index 1de3bdc417..695c982f13 100644
--- a/drivers/net/mlx5/mlx5_defs.h
+++ b/drivers/net/mlx5/mlx5_defs.h
@@ -91,10 +91,11 @@
 /* Default maximum number of Tx queues for vectorized Tx. */
 #if defined(RTE_ARCH_ARM64)
 #define MLX5_VPMD_MAX_TXQS 8
+#define MLX5_VPMD_MAX_TXQS_BLUEFIELD 16
 #else
 #define MLX5_VPMD_MAX_TXQS 4
+#define MLX5_VPMD_MAX_TXQS_BLUEFIELD MLX5_VPMD_MAX_TXQS
 #endif
-#define MLX5_VPMD_MAX_TXQS_BLUEFIELD 16
 
 /* Threshold of buffer replenishment for vectorized Rx. */
 #define MLX5_VPMD_RXQ_RPLNSH_THRESH(n) \
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:11.973561912 -0700
+++ 0102-net-mlx5-fix-max-number-of-queues-for-NEON-Tx.patch	2019-07-22 17:55:06.514479000 -0700
@@ -1,15 +1,16 @@
-From 9cc42c58931a428a94e9adf7019eb97faa8fddb1 Mon Sep 17 00:00:00 2001
+From 6f72d0091807e85594022a80f1225602be6674af Mon Sep 17 00:00:00 2001
 From: Yongseok Koh <yskoh@mellanox.com>
 Date: Tue, 30 Apr 2019 18:37:17 -0700
 Subject: [PATCH] net/mlx5: fix max number of queues for NEON Tx
 
+[ upstream commit 9cc42c58931a428a94e9adf7019eb97faa8fddb1 ]
+
 BlueField SmartNIC has 0xa2d2 as PCI device ID on both ARM and x86 host. On
 ARM side, Tx inlining need not be used as PCI bandwidth is not bottleneck.
 Vectorized Tx can still be used up to 16 queues. For other archs
 (e.g., x86), keep using the default value.
 
 Fixes: 09d8b41699bb ("net/mlx5: make vectorized Tx threshold configurable")
-Cc: stable@dpdk.org
 
 Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
 Acked-by: Shahaf Shuler <shahafs@mellanox.com>
@@ -18,10 +19,10 @@
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/drivers/net/mlx5/mlx5_defs.h b/drivers/net/mlx5/mlx5_defs.h
-index 69b6960e94..13801a5c2d 100644
+index 1de3bdc417..695c982f13 100644
 --- a/drivers/net/mlx5/mlx5_defs.h
 +++ b/drivers/net/mlx5/mlx5_defs.h
-@@ -63,10 +63,11 @@
+@@ -91,10 +91,11 @@
  /* Default maximum number of Tx queues for vectorized Tx. */
  #if defined(RTE_ARCH_ARM64)
  #define MLX5_VPMD_MAX_TXQS 8

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

* [dpdk-stable] patch 'app/testpmd: revert fixed flag for exact link speed' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (100 preceding siblings ...)
  2019-07-23  1:01 ` [dpdk-stable] patch 'net/mlx5: fix max number of queues for NEON Tx' " Yongseok Koh
@ 2019-07-23  1:01 ` Yongseok Koh
  2019-07-23  1:01 ` [dpdk-stable] patch 'hash: fix doc about thread/process safety' " Yongseok Koh
                   ` (4 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:01 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From f9cc41bb20499bbbb44ac145ddc363c6e594e5f0 Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Wed, 24 Apr 2019 23:03:09 +0100
Subject: [PATCH] app/testpmd: revert fixed flag for exact link speed

[ upstream commit f53cc91f412a6e22023f39e61a19039fad5ec3eb ]

This reverts commit bdca79053b6aea504d02691d9319fa976062457f.

Not all PMDs support the fixed link speed set, and link speed can be set
even with auto negotiation enabled. Reverting the patch to not break
existing usage.

Fixes: bdca79053b6a ("app/testpmd: set fixed flag for exact link speed")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 app/test-pmd/cmdline.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index b007264e15..7a3a818723 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -1318,17 +1318,17 @@ parse_and_check_speed_duplex(char *speedstr, char *duplexstr, uint32_t *speed)
 			return -1;
 		}
 		if (!strcmp(speedstr, "1000")) {
-			*speed = ETH_LINK_SPEED_1G | ETH_LINK_SPEED_FIXED;
+			*speed = ETH_LINK_SPEED_1G;
 		} else if (!strcmp(speedstr, "10000")) {
-			*speed = ETH_LINK_SPEED_10G | ETH_LINK_SPEED_FIXED;
+			*speed = ETH_LINK_SPEED_10G;
 		} else if (!strcmp(speedstr, "25000")) {
-			*speed = ETH_LINK_SPEED_25G | ETH_LINK_SPEED_FIXED;
+			*speed = ETH_LINK_SPEED_25G;
 		} else if (!strcmp(speedstr, "40000")) {
-			*speed = ETH_LINK_SPEED_40G | ETH_LINK_SPEED_FIXED;
+			*speed = ETH_LINK_SPEED_40G;
 		} else if (!strcmp(speedstr, "50000")) {
-			*speed = ETH_LINK_SPEED_50G | ETH_LINK_SPEED_FIXED;
+			*speed = ETH_LINK_SPEED_50G;
 		} else if (!strcmp(speedstr, "100000")) {
-			*speed = ETH_LINK_SPEED_100G | ETH_LINK_SPEED_FIXED;
+			*speed = ETH_LINK_SPEED_100G;
 		} else if (!strcmp(speedstr, "auto")) {
 			*speed = ETH_LINK_SPEED_AUTONEG;
 		} else {
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:12.022051996 -0700
+++ 0103-app-testpmd-revert-fixed-flag-for-exact-link-speed.patch	2019-07-22 17:55:06.532475000 -0700
@@ -1,8 +1,10 @@
-From f53cc91f412a6e22023f39e61a19039fad5ec3eb Mon Sep 17 00:00:00 2001
+From f9cc41bb20499bbbb44ac145ddc363c6e594e5f0 Mon Sep 17 00:00:00 2001
 From: Ferruh Yigit <ferruh.yigit@intel.com>
 Date: Wed, 24 Apr 2019 23:03:09 +0100
 Subject: [PATCH] app/testpmd: revert fixed flag for exact link speed
 
+[ upstream commit f53cc91f412a6e22023f39e61a19039fad5ec3eb ]
+
 This reverts commit bdca79053b6aea504d02691d9319fa976062457f.
 
 Not all PMDs support the fixed link speed set, and link speed can be set
@@ -10,7 +12,6 @@
 existing usage.
 
 Fixes: bdca79053b6a ("app/testpmd: set fixed flag for exact link speed")
-Cc: stable@dpdk.org
 
 Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
 ---
@@ -18,10 +19,10 @@
  1 file changed, 6 insertions(+), 6 deletions(-)
 
 diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
-index f45ef8a1c7..c1042dd982 100644
+index b007264e15..7a3a818723 100644
 --- a/app/test-pmd/cmdline.c
 +++ b/app/test-pmd/cmdline.c
-@@ -1533,17 +1533,17 @@ parse_and_check_speed_duplex(char *speedstr, char *duplexstr, uint32_t *speed)
+@@ -1318,17 +1318,17 @@ parse_and_check_speed_duplex(char *speedstr, char *duplexstr, uint32_t *speed)
  			return -1;
  		}
  		if (!strcmp(speedstr, "1000")) {

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

* [dpdk-stable] patch 'hash: fix doc about thread/process safety' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (101 preceding siblings ...)
  2019-07-23  1:01 ` [dpdk-stable] patch 'app/testpmd: revert fixed flag for exact link speed' " Yongseok Koh
@ 2019-07-23  1:01 ` Yongseok Koh
  2019-07-23  1:01 ` [dpdk-stable] patch 'doc: fix broken link in LPM guide' " Yongseok Koh
                   ` (3 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:01 UTC (permalink / raw)
  To: Yipeng Wang
  Cc: Andrey Nikolaev, Pablo de Lara, Dharmik Thakkar, John McNamara,
	dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 081d9e4011780594c95e26a366f6e7284a54692d Mon Sep 17 00:00:00 2001
From: Yipeng Wang <yipeng1.wang@intel.com>
Date: Mon, 29 Apr 2019 02:40:16 -0700
Subject: [PATCH] hash: fix doc about thread/process safety

[ upstream commit c96b55df8eea9223ec60f99974a95eb1c305aec5 ]

rte_hash_hash is multi-thread safe but not multi-process safe
because of the use of function pointers. Previous document
and comment says the other way around. This commit fixes
the issue.

Fixes: fc1f2750a3ec ("doc: programmers guide")
Fixes: 48a399119619 ("hash: replace with cuckoo hash implementation")

Reported-by: Andrey Nikolaev <gentoorion@gmail.com>
Suggested-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Yipeng Wang <yipeng1.wang@intel.com>
Acked-by: Dharmik Thakkar <dharmik.thakkar@arm.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
---
 doc/guides/prog_guide/multi_proc_support.rst | 2 +-
 lib/librte_hash/rte_hash.h                   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/doc/guides/prog_guide/multi_proc_support.rst b/doc/guides/prog_guide/multi_proc_support.rst
index 9a9dca7fe4..d3a9dd4c3e 100644
--- a/doc/guides/prog_guide/multi_proc_support.rst
+++ b/doc/guides/prog_guide/multi_proc_support.rst
@@ -185,7 +185,7 @@ Some of these are documented below:
 
 *   The use of function pointers between multiple processes running based of different compiled binaries is not supported,
     since the location of a given function in one process may be different to its location in a second.
-    This prevents the librte_hash library from behaving properly as in a multi-threaded instance,
+    This prevents the librte_hash library from behaving properly as in a multi-process instance,
     since it uses a pointer to the hash function internally.
 
 To work around this issue, it is recommended that multi-process applications perform the hash calculations by directly calling
diff --git a/lib/librte_hash/rte_hash.h b/lib/librte_hash/rte_hash.h
index 5539e33893..a7a96c5b23 100644
--- a/lib/librte_hash/rte_hash.h
+++ b/lib/librte_hash/rte_hash.h
@@ -375,7 +375,7 @@ rte_hash_lookup_with_hash(const struct rte_hash *h,
 
 /**
  * Calc a hash value by key.
- * This operation is not multi-thread safe.
+ * This operation is not multi-process safe.
  *
  * @param h
  *   Hash table to look in.
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:12.085391042 -0700
+++ 0104-hash-fix-doc-about-thread-process-safety.patch	2019-07-22 17:55:06.539478000 -0700
@@ -1,8 +1,10 @@
-From c96b55df8eea9223ec60f99974a95eb1c305aec5 Mon Sep 17 00:00:00 2001
+From 081d9e4011780594c95e26a366f6e7284a54692d Mon Sep 17 00:00:00 2001
 From: Yipeng Wang <yipeng1.wang@intel.com>
 Date: Mon, 29 Apr 2019 02:40:16 -0700
 Subject: [PATCH] hash: fix doc about thread/process safety
 
+[ upstream commit c96b55df8eea9223ec60f99974a95eb1c305aec5 ]
+
 rte_hash_hash is multi-thread safe but not multi-process safe
 because of the use of function pointers. Previous document
 and comment says the other way around. This commit fixes
@@ -10,7 +12,6 @@
 
 Fixes: fc1f2750a3ec ("doc: programmers guide")
 Fixes: 48a399119619 ("hash: replace with cuckoo hash implementation")
-Cc: stable@dpdk.org
 
 Reported-by: Andrey Nikolaev <gentoorion@gmail.com>
 Suggested-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
@@ -23,10 +24,10 @@
  2 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/doc/guides/prog_guide/multi_proc_support.rst b/doc/guides/prog_guide/multi_proc_support.rst
-index 6196d3f21d..f6f012db18 100644
+index 9a9dca7fe4..d3a9dd4c3e 100644
 --- a/doc/guides/prog_guide/multi_proc_support.rst
 +++ b/doc/guides/prog_guide/multi_proc_support.rst
-@@ -176,7 +176,7 @@ Some of these are documented below:
+@@ -185,7 +185,7 @@ Some of these are documented below:
  
  *   The use of function pointers between multiple processes running based of different compiled binaries is not supported,
      since the location of a given function in one process may be different to its location in a second.
@@ -36,10 +37,10 @@
  
  To work around this issue, it is recommended that multi-process applications perform the hash calculations by directly calling
 diff --git a/lib/librte_hash/rte_hash.h b/lib/librte_hash/rte_hash.h
-index e5970b4688..4432aef767 100644
+index 5539e33893..a7a96c5b23 100644
 --- a/lib/librte_hash/rte_hash.h
 +++ b/lib/librte_hash/rte_hash.h
-@@ -463,7 +463,7 @@ rte_hash_lookup_with_hash(const struct rte_hash *h,
+@@ -375,7 +375,7 @@ rte_hash_lookup_with_hash(const struct rte_hash *h,
  
  /**
   * Calc a hash value by key.

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

* [dpdk-stable] patch 'doc: fix broken link in LPM guide' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (102 preceding siblings ...)
  2019-07-23  1:01 ` [dpdk-stable] patch 'hash: fix doc about thread/process safety' " Yongseok Koh
@ 2019-07-23  1:01 ` Yongseok Koh
  2019-07-23  1:01 ` [dpdk-stable] patch 'net/mlx5: fix release of Rx queue object' " Yongseok Koh
                   ` (2 subsequent siblings)
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:01 UTC (permalink / raw)
  To: Herakliusz Lipiec
  Cc: Rami Rosen, Vladimir Medvedkin, John McNamara, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From b5a1039727e23ca9b0e957a4656fc80400673c30 Mon Sep 17 00:00:00 2001
From: Herakliusz Lipiec <herakliusz.lipiec@intel.com>
Date: Wed, 24 Apr 2019 16:35:36 +0100
Subject: [PATCH] doc: fix broken link in LPM guide

[ upstream commit 193774a7997808e6333ee1d28d899495cfd6931e ]

Bugzilla ID: 235
Fixes: fc1f2750a3ec ("doc: programmers guide")

Signed-off-by: Herakliusz Lipiec <herakliusz.lipiec@intel.com>
Acked-by: Rami Rosen <ramirose@gmail.com>
Acked-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
---
 doc/guides/prog_guide/lpm_lib.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/guides/prog_guide/lpm_lib.rst b/doc/guides/prog_guide/lpm_lib.rst
index 8b5ff99cab..251e57c05b 100644
--- a/doc/guides/prog_guide/lpm_lib.rst
+++ b/doc/guides/prog_guide/lpm_lib.rst
@@ -222,4 +222,4 @@ References
     `http://www.ietf.org/rfc/rfc1519 <http://www.ietf.org/rfc/rfc1519>`_
 
 *   Pankaj Gupta, Algorithms for Routing Lookups and Packet Classification, PhD Thesis, Stanford University,
-    2000  (`http://klamath.stanford.edu/~pankaj/thesis/ thesis_1sided.pdf <http://klamath.stanford.edu/~pankaj/thesis/%20thesis_1sided.pdf>`_ )
+    2000  (`http://klamath.stanford.edu/~pankaj/thesis/thesis_1sided.pdf <http://klamath.stanford.edu/~pankaj/thesis/thesis_1sided.pdf>`_ )
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:12.136965063 -0700
+++ 0105-doc-fix-broken-link-in-LPM-guide.patch	2019-07-22 17:55:06.544478000 -0700
@@ -1,11 +1,12 @@
-From 193774a7997808e6333ee1d28d899495cfd6931e Mon Sep 17 00:00:00 2001
+From b5a1039727e23ca9b0e957a4656fc80400673c30 Mon Sep 17 00:00:00 2001
 From: Herakliusz Lipiec <herakliusz.lipiec@intel.com>
 Date: Wed, 24 Apr 2019 16:35:36 +0100
 Subject: [PATCH] doc: fix broken link in LPM guide
 
+[ upstream commit 193774a7997808e6333ee1d28d899495cfd6931e ]
+
 Bugzilla ID: 235
 Fixes: fc1f2750a3ec ("doc: programmers guide")
-Cc: stable@dpdk.org
 
 Signed-off-by: Herakliusz Lipiec <herakliusz.lipiec@intel.com>
 Acked-by: Rami Rosen <ramirose@gmail.com>
@@ -16,10 +17,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/doc/guides/prog_guide/lpm_lib.rst b/doc/guides/prog_guide/lpm_lib.rst
-index 99563a4a64..1609a57d0e 100644
+index 8b5ff99cab..251e57c05b 100644
 --- a/doc/guides/prog_guide/lpm_lib.rst
 +++ b/doc/guides/prog_guide/lpm_lib.rst
-@@ -195,4 +195,4 @@ References
+@@ -222,4 +222,4 @@ References
      `http://www.ietf.org/rfc/rfc1519 <http://www.ietf.org/rfc/rfc1519>`_
  
  *   Pankaj Gupta, Algorithms for Routing Lookups and Packet Classification, PhD Thesis, Stanford University,

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

* [dpdk-stable] patch 'net/mlx5: fix release of Rx queue object' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (103 preceding siblings ...)
  2019-07-23  1:01 ` [dpdk-stable] patch 'doc: fix broken link in LPM guide' " Yongseok Koh
@ 2019-07-23  1:01 ` Yongseok Koh
  2019-07-23  1:01 ` [dpdk-stable] patch 'doc: fix typo in mlx5 guide' " Yongseok Koh
  2019-07-23  1:01 ` [dpdk-stable] patch 'examples/ipsec-secgw: fix build error log' " Yongseok Koh
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:01 UTC (permalink / raw)
  To: Dekel Peled; +Cc: Shahaf Shuler, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 676e14b867f4a8254e3a3a88f1cf8db283520eca Mon Sep 17 00:00:00 2001
From: Dekel Peled <dekelp@mellanox.com>
Date: Tue, 7 May 2019 10:26:02 +0300
Subject: [PATCH] net/mlx5: fix release of Rx queue object

[ backported from upstream commit 10cfa5f2d4affef0561e5245aad4bc69b29cd671 ]

Function mlx5_rx_intr_disable() calls mlx5_rxq_ibv_get() and performs
some actions on the returned rxq_ibv.
It doesn't release the rxq_ibv when all is completed with success.

This patch adds call to mlx5_rxq_ibv_release() where it's missing.

Fixes: 09cb5b581762 ("net/mlx5: separate DPDK from verbs Rx queue objects")

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
---
 drivers/net/mlx5/mlx5_rxq.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index 3048da985d..c742d7fdf7 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -535,6 +535,7 @@ mlx5_rx_intr_disable(struct rte_eth_dev *dev, uint16_t rx_queue_id)
 	}
 	rxq_data->cq_arm_sn++;
 	ibv_ack_cq_events(rxq_ibv->cq, 1);
+	mlx5_rxq_ibv_release(rxq_ibv);
 	return 0;
 exit:
 	ret = rte_errno; /* Save rte_errno before cleanup. */
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:12.188010277 -0700
+++ 0106-net-mlx5-fix-release-of-Rx-queue-object.patch	2019-07-22 17:55:06.550476000 -0700
@@ -1,8 +1,10 @@
-From 10cfa5f2d4affef0561e5245aad4bc69b29cd671 Mon Sep 17 00:00:00 2001
+From 676e14b867f4a8254e3a3a88f1cf8db283520eca Mon Sep 17 00:00:00 2001
 From: Dekel Peled <dekelp@mellanox.com>
 Date: Tue, 7 May 2019 10:26:02 +0300
 Subject: [PATCH] net/mlx5: fix release of Rx queue object
 
+[ backported from upstream commit 10cfa5f2d4affef0561e5245aad4bc69b29cd671 ]
+
 Function mlx5_rx_intr_disable() calls mlx5_rxq_ibv_get() and performs
 some actions on the returned rxq_ibv.
 It doesn't release the rxq_ibv when all is completed with success.
@@ -10,7 +12,6 @@
 This patch adds call to mlx5_rxq_ibv_release() where it's missing.
 
 Fixes: 09cb5b581762 ("net/mlx5: separate DPDK from verbs Rx queue objects")
-Cc: stable@dpdk.org
 
 Signed-off-by: Dekel Peled <dekelp@mellanox.com>
 Acked-by: Shahaf Shuler <shahafs@mellanox.com>
@@ -19,13 +20,13 @@
  1 file changed, 1 insertion(+)
 
 diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
-index 85e6f29188..a00cb12980 100644
+index 3048da985d..c742d7fdf7 100644
 --- a/drivers/net/mlx5/mlx5_rxq.c
 +++ b/drivers/net/mlx5/mlx5_rxq.c
-@@ -730,6 +730,7 @@ mlx5_rx_intr_disable(struct rte_eth_dev *dev, uint16_t rx_queue_id)
+@@ -535,6 +535,7 @@ mlx5_rx_intr_disable(struct rte_eth_dev *dev, uint16_t rx_queue_id)
  	}
  	rxq_data->cq_arm_sn++;
- 	mlx5_glue->ack_cq_events(rxq_ibv->cq, 1);
+ 	ibv_ack_cq_events(rxq_ibv->cq, 1);
 +	mlx5_rxq_ibv_release(rxq_ibv);
  	return 0;
  exit:

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

* [dpdk-stable] patch 'doc: fix typo in mlx5 guide' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (104 preceding siblings ...)
  2019-07-23  1:01 ` [dpdk-stable] patch 'net/mlx5: fix release of Rx queue object' " Yongseok Koh
@ 2019-07-23  1:01 ` Yongseok Koh
  2019-07-23  1:01 ` [dpdk-stable] patch 'examples/ipsec-secgw: fix build error log' " Yongseok Koh
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:01 UTC (permalink / raw)
  To: Yongseok Koh; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From 31f94f14171e169a210ef6991cc896f4fb19c1f0 Mon Sep 17 00:00:00 2001
From: Yongseok Koh <yskoh@mellanox.com>
Date: Wed, 8 May 2019 02:24:09 -0700
Subject: [PATCH] doc: fix typo in mlx5 guide

[ upstream commit 4d6e0352e137a11972f40c18687be8135489a02e ]

Fixes: 43e9d9794cde ("net/mlx5: support upstream rdma-core")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 doc/guides/nics/mlx5.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
index ee588233c8..053c2fac59 100644
--- a/doc/guides/nics/mlx5.rst
+++ b/doc/guides/nics/mlx5.rst
@@ -380,7 +380,7 @@ Either RDMA Core library with a recent enough Linux kernel release
 (recommended) or Mellanox OFED, which provides compatibility with older
 releases.
 
-RMDA Core with Linux Kernel
+RDMA Core with Linux Kernel
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 - Minimal kernel version : v4.14 or the most recent 4.14-rc (see `Linux installation documentation`_)
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:12.237209129 -0700
+++ 0107-doc-fix-typo-in-mlx5-guide.patch	2019-07-22 17:55:06.555476000 -0700
@@ -1,10 +1,11 @@
-From 4d6e0352e137a11972f40c18687be8135489a02e Mon Sep 17 00:00:00 2001
+From 31f94f14171e169a210ef6991cc896f4fb19c1f0 Mon Sep 17 00:00:00 2001
 From: Yongseok Koh <yskoh@mellanox.com>
 Date: Wed, 8 May 2019 02:24:09 -0700
 Subject: [PATCH] doc: fix typo in mlx5 guide
 
+[ upstream commit 4d6e0352e137a11972f40c18687be8135489a02e ]
+
 Fixes: 43e9d9794cde ("net/mlx5: support upstream rdma-core")
-Cc: stable@dpdk.org
 
 Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
 Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
@@ -13,11 +14,11 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst
-index af1e408ead..325e9f697a 100644
+index ee588233c8..053c2fac59 100644
 --- a/doc/guides/nics/mlx5.rst
 +++ b/doc/guides/nics/mlx5.rst
-@@ -592,7 +592,7 @@ Either RDMA Core library with a recent enough Linux kernel release
- (recommended) or Mellanox OFED/EN, which provides compatibility with older
+@@ -380,7 +380,7 @@ Either RDMA Core library with a recent enough Linux kernel release
+ (recommended) or Mellanox OFED, which provides compatibility with older
  releases.
  
 -RMDA Core with Linux Kernel

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

* [dpdk-stable] patch 'examples/ipsec-secgw: fix build error log' has been queued to LTS release 17.11.7
  2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
                   ` (105 preceding siblings ...)
  2019-07-23  1:01 ` [dpdk-stable] patch 'doc: fix typo in mlx5 guide' " Yongseok Koh
@ 2019-07-23  1:01 ` Yongseok Koh
  106 siblings, 0 replies; 108+ messages in thread
From: Yongseok Koh @ 2019-07-23  1:01 UTC (permalink / raw)
  To: Marcin Smoczynski; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
From fcc745ad852d5d511d58319953b5c7dfc887c049 Mon Sep 17 00:00:00 2001
From: Marcin Smoczynski <marcinx.smoczynski@intel.com>
Date: Wed, 8 May 2019 15:09:56 +0200
Subject: [PATCH] examples/ipsec-secgw: fix build error log

[ upstream commit 96d8ea839bded055fbbc01bfca44a7df3710e2ef ]

Fix invalid indentation - extra whitespace before error directive which
is causing syntax error when no pkgconfig file for the DPDK is found and
RTE_SDK is not specified.

Fixes: d299106e8e31 ("examples/ipsec-secgw: add IPsec sample application")

Signed-off-by: Marcin Smoczynski <marcinx.smoczynski@intel.com>
---
 examples/ipsec-secgw/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/ipsec-secgw/Makefile b/examples/ipsec-secgw/Makefile
index 9fd33cb7f2..233a47abfd 100644
--- a/examples/ipsec-secgw/Makefile
+++ b/examples/ipsec-secgw/Makefile
@@ -30,7 +30,7 @@
 #   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 ifeq ($(RTE_SDK),)
-	$(error "Please define RTE_SDK environment variable")
+$(error "Please define RTE_SDK environment variable")
 endif
 
 # Default target, can be overridden by command line or environment
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:12.285062386 -0700
+++ 0108-examples-ipsec-secgw-fix-build-error-log.patch	2019-07-22 17:55:06.558477000 -0700
@@ -1,14 +1,15 @@
-From 96d8ea839bded055fbbc01bfca44a7df3710e2ef Mon Sep 17 00:00:00 2001
+From fcc745ad852d5d511d58319953b5c7dfc887c049 Mon Sep 17 00:00:00 2001
 From: Marcin Smoczynski <marcinx.smoczynski@intel.com>
 Date: Wed, 8 May 2019 15:09:56 +0200
 Subject: [PATCH] examples/ipsec-secgw: fix build error log
 
+[ upstream commit 96d8ea839bded055fbbc01bfca44a7df3710e2ef ]
+
 Fix invalid indentation - extra whitespace before error directive which
 is causing syntax error when no pkgconfig file for the DPDK is found and
 RTE_SDK is not specified.
 
 Fixes: d299106e8e31 ("examples/ipsec-secgw: add IPsec sample application")
-Cc: stable@dpdk.org
 
 Signed-off-by: Marcin Smoczynski <marcinx.smoczynski@intel.com>
 ---
@@ -16,18 +17,18 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/examples/ipsec-secgw/Makefile b/examples/ipsec-secgw/Makefile
-index ac042e4ce6..75f2bcd00b 100644
+index 9fd33cb7f2..233a47abfd 100644
 --- a/examples/ipsec-secgw/Makefile
 +++ b/examples/ipsec-secgw/Makefile
-@@ -53,7 +53,7 @@ clean:
- else
+@@ -30,7 +30,7 @@
+ #   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  
  ifeq ($(RTE_SDK),)
 -	$(error "Please define RTE_SDK environment variable")
 +$(error "Please define RTE_SDK environment variable")
  endif
  
- # Default target, detect a build directory, by looking for a path with a .config
+ # Default target, can be overridden by command line or environment
 -- 
 2.21.0
 

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

end of thread, other threads:[~2019-07-23  1:04 UTC | newest]

Thread overview: 108+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-23  0:59 [dpdk-stable] patch 'eal: improve musl compatibility of string functions' has been queued to LTS release 17.11.7 Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'net/mlx5: fix instruction hotspot on replenishing Rx buffer' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'drivers/net: do not use private ethdev data' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'net/sfc: log port ID as 16-bit unsigned integer on panic' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'net/sfc: remove control path logging from Rx queue count' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'net/virtio: remove forward declaration' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'eal: support strlcat function' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'mbuf: fix a typo' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'net/bnxt: support IOVA VA mode' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'doc: fix a minor typo in testpmd guide' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'net/bonding: avoid warning for invalid port' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'net/bonding: fix reset active slave' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'mk: fix build of shared library with libbsd' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'net/bnx2x: fix segfaults due to stale interrupt status' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'doc: remove reference to rte.doc.mk in programmers guide' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'examples/ethtool: fix two typos' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'doc: fix link in Linux getting started guide' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'mk: fix AVX512 disabled warning on non x86' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'bus/vdev: fix debug message on probing' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'eal: fix check when retrieving current CPU affinity' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'eal: remove dead code in core list parsing' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'net/enic: fix flow director SCTP matching' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'net/enic: fix SCTP match for flow API' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'net/enic: check for unsupported flow item types' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'net/ixgbe: fix crash on remove' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'net/mlx5: fix hex dump of error completion' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'net/mlx5: fix sync when handling Tx completions' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'net/i40e: fix time sync for 25G' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'net/qede: support IOVA VA mode' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'net/mlx5: fix packet inline on Tx queue wraparound' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'net/nfp: fix RSS query' " Yongseok Koh
2019-07-23  0:59 ` [dpdk-stable] patch 'app/testpmd: remove unused field from port struct' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'app/testpmd: fix a typo in log message' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'net/octeontx: fix vdev name' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'app/testpmd: fix stdout flush after printing stats' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'net/bonding: fix LACP negotiation' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'doc: fix examples in bonding guide' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'net/bonding: fix port id types' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'net/bonding: fix queue index " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'drivers/net: fix possible overflow using strlcat' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'examples/ipsec-secgw: fix AES-CTR block size' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'examples/ipsec-secgw: fix debug logs' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'cryptodev: fix driver name comparison' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'malloc: fix documentation of realloc function' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'eal/linux: fix log levels for pagemap reading failure' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'test/spinlock: remove delay for correct benchmarking' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'test/spinlock: amortize the cost of getting time' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'spinlock: reimplement with atomic one-way barrier' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'eal/ppc: fix global memory " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'bus/dpaa: fix Rx discard register mask' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'power: fix frequency list buffer validation' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'bus/fslmc: remove unused include of error.h' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'bus/fslmc: fix build with musl libc' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'app/test: " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'app/testpmd: remove useless casts on statistics' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'ethdev: fix a typo' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'net/bnxt: fix Rx VLAN offload flags' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'net/fm10k: fix VLAN strip offload flag' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'net/virtio: fix duplicate naming of include guard' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'net/virtio: remove useless condition' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'app/test: fix sprintf with strlcat' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'maintainers: update for IBM POWER' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'ring: fix an error message' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'event/sw: fix enqueue checks in self-test' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'crypto/dpaa2_sec: fix session clearing' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'ring: fix namesize macro documentation block' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'net/bonding: fix buffer length when printing strings' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'test/distributor: replace sprintf with strlcpy' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'test/hash: replace sprintf with snprintf' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'eal: fix typo in comment of vector function' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'doc: fix links to doxygen and sphinx sites' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'cfgfile: replace strcat with strlcat' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'app/testpmd: fix typo in comment' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'net: fix Tx VLAN flag for offload emulation' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'examples/l2fwd-cat: fix build on FreeBSD' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'app/crypto-perf: check range of socket id' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'kni: fix build with Linux 5.1' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'net/bnx2x: fix memory leak' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'net/bnx2x: fix ramrod timeout' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'net/bnx2x: fix DMAE " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'net/bnx2x: fix race for periodic flags' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'net/bnx2x: fix optic module verification' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'app/testpmd: set fixed flag for exact link speed' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'vhost: fix device leak on connection add failure' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'vhost: fix silent queue enabling with legacy guests' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'net/virtio: fix dangling pointer on failure' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'examples/vhost_scsi: fix null-check for parameter' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'net/i40e: fix dereference before null check in mbuf release' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'bitrate: fix unchecked return value' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'net/ixgbe: fix warning with GCC 9' " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'bus/fslmc: " Yongseok Koh
2019-07-23  1:00 ` [dpdk-stable] patch 'build: fix crash by disabling AVX512 with binutils 2.31' " Yongseok Koh
2019-07-23  1:01 ` [dpdk-stable] patch 'net/mlx5: fix comments mixing Rx and Tx' " Yongseok Koh
2019-07-23  1:01 ` [dpdk-stable] patch 'doc: fix interactive commands in testpmd guide' " Yongseok Koh
2019-07-23  1:01 ` [dpdk-stable] patch 'net/ring: avoid hard-coded length' " Yongseok Koh
2019-07-23  1:01 ` [dpdk-stable] patch 'net/ring: use calloc style where appropriate' " Yongseok Koh
2019-07-23  1:01 ` [dpdk-stable] patch 'net/ring: check length of ring name' " Yongseok Koh
2019-07-23  1:01 ` [dpdk-stable] patch 'net/ring: fix return value check' " Yongseok Koh
2019-07-23  1:01 ` [dpdk-stable] patch 'net/kni: " Yongseok Koh
2019-07-23  1:01 ` [dpdk-stable] patch 'net/i40e: fix link speed for X722' " Yongseok Koh
2019-07-23  1:01 ` [dpdk-stable] patch 'net/mlx5: check Tx queue size overflow' " Yongseok Koh
2019-07-23  1:01 ` [dpdk-stable] patch 'net/mlx5: fix max number of queues for NEON Tx' " Yongseok Koh
2019-07-23  1:01 ` [dpdk-stable] patch 'app/testpmd: revert fixed flag for exact link speed' " Yongseok Koh
2019-07-23  1:01 ` [dpdk-stable] patch 'hash: fix doc about thread/process safety' " Yongseok Koh
2019-07-23  1:01 ` [dpdk-stable] patch 'doc: fix broken link in LPM guide' " Yongseok Koh
2019-07-23  1:01 ` [dpdk-stable] patch 'net/mlx5: fix release of Rx queue object' " Yongseok Koh
2019-07-23  1:01 ` [dpdk-stable] patch 'doc: fix typo in mlx5 guide' " Yongseok Koh
2019-07-23  1:01 ` [dpdk-stable] patch 'examples/ipsec-secgw: fix build error log' " Yongseok Koh

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