patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1
@ 2018-11-29 13:20 Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/i40e: fix Rx instability with vector mode' " Kevin Traynor
                   ` (86 more replies)
  0 siblings, 87 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Radu Nicolau; +Cc: Bernard Iremonger, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 6dc9c99588a04768873c8b2d50c6e157c4ef83cf Mon Sep 17 00:00:00 2001
From: Radu Nicolau <radu.nicolau@intel.com>
Date: Fri, 23 Nov 2018 11:12:29 +0000
Subject: [PATCH] app/testpmd: fix port status for new bonded devices

[ backported from upstream commit 0ae8071784f353f426fd8ad9bbab2fe0ba39a670 ]

Set port status to stopped for newly added devices.

Fixes: 2950a769315e ("bond: testpmd support")

Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 app/test-pmd/cmdline.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 18612d763..d6046c6f1 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -5816,4 +5816,5 @@ static void cmd_create_bonded_device_parsed(void *parsed_result,
 		reconfig(port_id, res->socket);
 		rte_eth_promiscuous_enable(port_id);
+		ports[port_id].port_status = RTE_PORT_STOPPED;
 	}
 
-- 
2.19.0

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

* [dpdk-stable] patch 'net/i40e: fix Rx instability with vector mode' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:30   ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/vmxnet3: fix hot-unplug' " Kevin Traynor
                   ` (85 subsequent siblings)
  86 siblings, 1 reply; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Beilei Xing; +Cc: Konstantin Ananyev, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 710f8e2bcf60798ad1d7236d2609a50491c599a4 Mon Sep 17 00:00:00 2001
From: Beilei Xing <beilei.xing@intel.com>
Date: Mon, 5 Nov 2018 11:18:12 +0800
Subject: [PATCH] net/i40e: fix Rx instability with vector mode

[ upstream commit 054d1be48cc114c5d3bf87c7ebdf46703876e8d5 ]

Previously, there is instability during vector Rx if descriptor
number is not power of 2, e.g. process hang and some Rx packets
are unexpectedly empty. That's because vector Rx mode assumes Rx
descriptor number is power of 2 when doing bit mask.
This patch allows vector mode only when the number of Rx descriptor
is power of 2.

Fixes: 8e109464c022 ("i40e: allow vector Rx and Tx usage")
Fixes: a3c83a2527e1 ("net/i40e: enable runtime queue setup")

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
---
 doc/guides/nics/i40e.rst                |  7 +++++
 drivers/net/i40e/i40e_rxtx.c            |  5 ++++
 drivers/net/i40e/i40e_rxtx_vec_common.h | 38 +++++++++++++++++++++++++
 3 files changed, 50 insertions(+)

diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index 65d87f869..643756dcd 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -164,4 +164,11 @@ Runtime Config Options
   representors must be specified on the creation of the PF.
 
+Vector RX Pre-conditions
+~~~~~~~~~~~~~~~~~~~~~~~~
+For Vector RX it is assumed that the number of descriptor rings will be a power
+of 2. With this pre-condition, the ring pointer can easily scroll back to the
+head after hitting the tail without a conditional check. In addition Vector RX
+can use this assumption to do a bit mask using ``ring_size - 1``.
+
 Driver compilation and testing
 ------------------------------
diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
index 26c2f17bd..e0d53d022 100644
--- a/drivers/net/i40e/i40e_rxtx.c
+++ b/drivers/net/i40e/i40e_rxtx.c
@@ -1741,4 +1741,9 @@ i40e_dev_rx_queue_setup_runtime(struct rte_eth_dev *dev,
 		i40e_set_rx_function(dev);
 		return 0;
+	} else if (ad->rx_vec_allowed && !rte_is_power_of_2(rxq->nb_rx_desc)) {
+		PMD_DRV_LOG(ERR, "Vector mode is allowed, but descriptor"
+			    " number %d of queue %d isn't power of 2",
+			    rxq->nb_rx_desc, rxq->queue_id);
+		return -EINVAL;
 	}
 
diff --git a/drivers/net/i40e/i40e_rxtx_vec_common.h b/drivers/net/i40e/i40e_rxtx_vec_common.h
index 63cb17742..ccaffef99 100644
--- a/drivers/net/i40e/i40e_rxtx_vec_common.h
+++ b/drivers/net/i40e/i40e_rxtx_vec_common.h
@@ -193,6 +193,11 @@ i40e_rx_vec_dev_conf_condition_check_default(struct rte_eth_dev *dev)
 {
 #ifndef RTE_LIBRTE_IEEE1588
+	struct i40e_adapter *ad =
+		I40E_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct rte_eth_rxmode *rxmode = &dev->data->dev_conf.rxmode;
 	struct rte_fdir_conf *fconf = &dev->data->dev_conf.fdir_conf;
+	struct i40e_rx_queue *rxq;
+	uint16_t desc, i;
+	bool first_queue;
 
 	/* no fdir support */
@@ -210,4 +215,37 @@ i40e_rx_vec_dev_conf_condition_check_default(struct rte_eth_dev *dev)
 		return -1;
 
+	/**
+	 * Vector mode is allowed only when number of Rx queue
+	 * descriptor is power of 2.
+	 */
+	if (!dev->data->dev_started) {
+		first_queue = true;
+		for (i = 0; i < dev->data->nb_rx_queues; i++) {
+			rxq = dev->data->rx_queues[i];
+			if (!rxq)
+				continue;
+			desc = rxq->nb_rx_desc;
+			if (first_queue)
+				ad->rx_vec_allowed =
+					rte_is_power_of_2(desc);
+			else
+				ad->rx_vec_allowed =
+					ad->rx_vec_allowed ?
+					rte_is_power_of_2(desc) :
+					ad->rx_vec_allowed;
+			first_queue = false;
+		}
+	} else {
+		/* Only check the first queue's descriptor number */
+		for (i = 0; i < dev->data->nb_rx_queues; i++) {
+			rxq = dev->data->rx_queues[i];
+			if (!rxq)
+				continue;
+			desc = rxq->nb_rx_desc;
+			ad->rx_vec_allowed = rte_is_power_of_2(desc);
+			break;
+		}
+	}
+
 	return 0;
 #else
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:09:47.577168286 +0000
+++ 0001-net-i40e-fix-Rx-instability-with-vector-mode.patch	2018-11-29 13:09:47.000000000 +0000
@@ -1,8 +1,10 @@
-From 054d1be48cc114c5d3bf87c7ebdf46703876e8d5 Mon Sep 17 00:00:00 2001
+From 710f8e2bcf60798ad1d7236d2609a50491c599a4 Mon Sep 17 00:00:00 2001
 From: Beilei Xing <beilei.xing@intel.com>
 Date: Mon, 5 Nov 2018 11:18:12 +0800
 Subject: [PATCH] net/i40e: fix Rx instability with vector mode
 
+[ upstream commit 054d1be48cc114c5d3bf87c7ebdf46703876e8d5 ]
+
 Previously, there is instability during vector Rx if descriptor
 number is not power of 2, e.g. process hang and some Rx packets
 are unexpectedly empty. That's because vector Rx mode assumes Rx
@@ -12,7 +14,6 @@
 
 Fixes: 8e109464c022 ("i40e: allow vector Rx and Tx usage")
 Fixes: a3c83a2527e1 ("net/i40e: enable runtime queue setup")
-Cc: stable@dpdk.org
 
 Signed-off-by: Beilei Xing <beilei.xing@intel.com>
 Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
@@ -23,11 +24,11 @@
  3 files changed, 50 insertions(+)
 
 diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
-index ab3928a68..bfacbd117 100644
+index 65d87f869..643756dcd 100644
 --- a/doc/guides/nics/i40e.rst
 +++ b/doc/guides/nics/i40e.rst
-@@ -173,4 +173,11 @@ Runtime Config Options
-   -w 84:00.0,use-latest-supported-vec=1
+@@ -164,4 +164,11 @@ Runtime Config Options
+   representors must be specified on the creation of the PF.
  
 +Vector RX Pre-conditions
 +~~~~~~~~~~~~~~~~~~~~~~~~
@@ -39,10 +40,10 @@
  Driver compilation and testing
  ------------------------------
 diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
-index e76412207..e1152ff0e 100644
+index 26c2f17bd..e0d53d022 100644
 --- a/drivers/net/i40e/i40e_rxtx.c
 +++ b/drivers/net/i40e/i40e_rxtx.c
-@@ -1742,4 +1742,9 @@ i40e_dev_rx_queue_setup_runtime(struct rte_eth_dev *dev,
+@@ -1741,4 +1741,9 @@ i40e_dev_rx_queue_setup_runtime(struct rte_eth_dev *dev,
  		i40e_set_rx_function(dev);
  		return 0;
 +	} else if (ad->rx_vec_allowed && !rte_is_power_of_2(rxq->nb_rx_desc)) {
@@ -53,7 +54,7 @@
  	}
  
 diff --git a/drivers/net/i40e/i40e_rxtx_vec_common.h b/drivers/net/i40e/i40e_rxtx_vec_common.h
-index f00f6d648..0e6ffa007 100644
+index 63cb17742..ccaffef99 100644
 --- a/drivers/net/i40e/i40e_rxtx_vec_common.h
 +++ b/drivers/net/i40e/i40e_rxtx_vec_common.h
 @@ -193,6 +193,11 @@ i40e_rx_vec_dev_conf_condition_check_default(struct rte_eth_dev *dev)
@@ -68,7 +69,7 @@
 +	bool first_queue;
  
  	/* no fdir support */
-@@ -208,4 +213,37 @@ i40e_rx_vec_dev_conf_condition_check_default(struct rte_eth_dev *dev)
+@@ -210,4 +215,37 @@ i40e_rx_vec_dev_conf_condition_check_default(struct rte_eth_dev *dev)
  		return -1;
  
 +	/**

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

* [dpdk-stable] patch 'net/vmxnet3: fix hot-unplug' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/i40e: fix Rx instability with vector mode' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/e1000/base: fix uninitialized variable' " Kevin Traynor
                   ` (84 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Luca Boccassi; +Cc: Brian Russell, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From b2cb809a7a47684bb96f13f2eaea0b707d1d8872 Mon Sep 17 00:00:00 2001
From: Luca Boccassi <bluca@debian.org>
Date: Fri, 23 Nov 2018 14:06:44 +0000
Subject: [PATCH] net/vmxnet3: fix hot-unplug

[ backported from upstream commit 6c99085d972b5f0fddf9f986ea8907ed5dafd086 ]

The vmxnet3 driver can't call back into dev_close(), and possibly
dev_stop(), in dev_uninit().  When dev_uninit() is called, anything
that those routines would want to clean up has already been released.
Further, for complete cleanup, it is necessary to release any of the
queue resources during dev_close().
This allows a vmxnet3 device to be hot-unplugged without leaking
queues.
Also set RTE_ETH_DEV_CLOSE_REMOVE on close so that the port resources
can be deallocated.
Return EBUSY if remove is called before stop.

Fixes: dfaff37fc46d ("vmxnet3: import new vmxnet3 poll mode driver implementation")
Cc: stable@dpdk.org

Signed-off-by: Brian Russell <brussell@brocade.com>
Signed-off-by: Luca Boccassi <bluca@debian.org>
---
 drivers/net/vmxnet3/vmxnet3_ethdev.c | 37 ++++++++++++++++++++++------
 1 file changed, 30 insertions(+), 7 deletions(-)

diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c
index 2613cd135..610b8c8ea 100644
--- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
+++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
@@ -356,6 +356,8 @@ eth_vmxnet3_dev_uninit(struct rte_eth_dev *eth_dev)
 		return 0;
 
-	if (hw->adapter_stopped == 0)
-		vmxnet3_dev_close(eth_dev);
+	if (hw->adapter_stopped == 0) {
+		PMD_INIT_LOG(DEBUG, "Device has not been closed.");
+		return -EBUSY;
+	}
 
 	eth_dev->dev_ops = NULL;
@@ -804,5 +806,5 @@ vmxnet3_dev_stop(struct rte_eth_dev *dev)
 
 	if (hw->adapter_stopped == 1) {
-		PMD_INIT_LOG(DEBUG, "Device already closed.");
+		PMD_INIT_LOG(DEBUG, "Device already stopped.");
 		return;
 	}
@@ -828,5 +830,4 @@ vmxnet3_dev_stop(struct rte_eth_dev *dev)
 	VMXNET3_WRITE_BAR1_REG(hw, VMXNET3_REG_CMD, VMXNET3_CMD_RESET_DEV);
 	PMD_INIT_LOG(DEBUG, "Device reset.");
-	hw->adapter_stopped = 0;
 
 	vmxnet3_dev_clear_queues(dev);
@@ -838,4 +839,28 @@ vmxnet3_dev_stop(struct rte_eth_dev *dev)
 	link.link_autoneg = ETH_LINK_FIXED;
 	rte_eth_linkstatus_set(dev, &link);
+
+	hw->adapter_stopped = 1;
+}
+
+static void
+vmxnet3_free_queues(struct rte_eth_dev *dev)
+{
+	int i;
+
+	PMD_INIT_FUNC_TRACE();
+
+	for (i = 0; i < dev->data->nb_rx_queues; i++) {
+		void *rxq = dev->data->rx_queues[i];
+
+		vmxnet3_dev_rx_queue_release(rxq);
+	}
+	dev->data->nb_rx_queues = 0;
+
+	for (i = 0; i < dev->data->nb_tx_queues; i++) {
+		void *txq = dev->data->tx_queues[i];
+
+		vmxnet3_dev_tx_queue_release(txq);
+	}
+	dev->data->nb_tx_queues = 0;
 }
 
@@ -846,10 +871,8 @@ static void
 vmxnet3_dev_close(struct rte_eth_dev *dev)
 {
-	struct vmxnet3_hw *hw = dev->data->dev_private;
-
 	PMD_INIT_FUNC_TRACE();
 
 	vmxnet3_dev_stop(dev);
-	hw->adapter_stopped = 1;
+	vmxnet3_free_queues(dev);
 }
 
-- 
2.19.0

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

* [dpdk-stable] patch 'net/e1000/base: fix uninitialized variable' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/i40e: fix Rx instability with vector mode' " Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/vmxnet3: fix hot-unplug' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/ixgbe: stop link setup alarm handler before start' " Kevin Traynor
                   ` (83 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Yunjian Wang; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 8a9e79cb2827dbd95e9bba01a7df5b8d057a46bc Mon Sep 17 00:00:00 2001
From: Yunjian Wang <wangyunjian@huawei.com>
Date: Tue, 6 Nov 2018 15:57:01 +0800
Subject: [PATCH] net/e1000/base: fix uninitialized variable

[ upstream commit ba46f5e60f03fdc357e5fcbc370eb2812c3120ff ]

This patch fixes the variable 'phy_word' may be used uninitialized.

Fixes: 5b6439cf03a4 ("e1000/base: support different EEARBC for i210")

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

diff --git a/drivers/net/e1000/base/e1000_i210.c b/drivers/net/e1000/base/e1000_i210.c
index 277331c42..c2abb43fb 100644
--- a/drivers/net/e1000/base/e1000_i210.c
+++ b/drivers/net/e1000/base/e1000_i210.c
@@ -942,4 +942,5 @@ STATIC s32 e1000_pll_workaround_i210(struct e1000_hw *hw)
 		nvm_word = E1000_INVM_DEFAULT_AL;
 	tmp_nvm = nvm_word | E1000_INVM_PLL_WO_VAL;
+	phy_word = E1000_PHY_PLL_UNCONF;
 	for (i = 0; i < E1000_MAX_PLL_TRIES; i++) {
 		/* check current state directly from internal PHY */
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.125846520 +0000
+++ 0003-net-e1000-base-fix-uninitialized-variable.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,12 +1,13 @@
-From ba46f5e60f03fdc357e5fcbc370eb2812c3120ff Mon Sep 17 00:00:00 2001
+From 8a9e79cb2827dbd95e9bba01a7df5b8d057a46bc Mon Sep 17 00:00:00 2001
 From: Yunjian Wang <wangyunjian@huawei.com>
 Date: Tue, 6 Nov 2018 15:57:01 +0800
 Subject: [PATCH] net/e1000/base: fix uninitialized variable
 
+[ upstream commit ba46f5e60f03fdc357e5fcbc370eb2812c3120ff ]
+
 This patch fixes the variable 'phy_word' may be used uninitialized.
 
 Fixes: 5b6439cf03a4 ("e1000/base: support different EEARBC for i210")
-Cc: stable@dpdk.org
 
 Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
 Acked-by: Qi Zhang <qi.z.zhang@intel.com>

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

* [dpdk-stable] patch 'net/ixgbe: stop link setup alarm handler before start' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (2 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/e1000/base: fix uninitialized variable' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/cxgbevf: add PCI uninitialization for VF' " Kevin Traynor
                   ` (82 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Ilya Maximets; +Cc: Anatoly Burakov, Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 954374b97b5ef5ffe2be5ee8b85c5650fe6f16c7 Mon Sep 17 00:00:00 2001
From: Ilya Maximets <i.maximets@samsung.com>
Date: Thu, 8 Nov 2018 13:24:01 +0300
Subject: [PATCH] net/ixgbe: stop link setup alarm handler before start

[ upstream commit 916193dda6fb400114c0ffc5615e74ca13d50720 ]

We should stop alarm handler before resetting the HW to
avoid concurrent device reconfiguration.

Fixes: 0408f47ba4d6 ("net/ixgbe: fix busy polling while fiber link update")

Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Tested-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/ixgbe/ixgbe_ethdev.c | 22 ++++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 0293022b2..6b04820da 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -2553,4 +2553,7 @@ ixgbe_dev_start(struct rte_eth_dev *dev)
 	}
 
+	/* Stop the link setup handler before resetting the HW. */
+	rte_eal_alarm_cancel(ixgbe_dev_setup_link_alarm_handler, dev);
+
 	/* disable uio/vfio intr/eventfd mapping */
 	rte_intr_disable(intr_handle);
@@ -2735,6 +2738,4 @@ ixgbe_dev_start(struct rte_eth_dev *dev)
 		goto error;
 
-	ixgbe_dev_link_update(dev, 0);
-
 skip_link_setup:
 
@@ -2772,4 +2773,10 @@ skip_link_setup:
 			    "before starting the port");
 
+	/*
+	 * Update link status right before return, because it may
+	 * start link configuration process in a separate thread.
+	 */
+	ixgbe_dev_link_update(dev, 0);
+
 	return 0;
 
@@ -5067,4 +5074,7 @@ ixgbevf_dev_start(struct rte_eth_dev *dev)
 	PMD_INIT_FUNC_TRACE();
 
+	/* Stop the link setup handler before resetting the HW. */
+	rte_eal_alarm_cancel(ixgbe_dev_setup_link_alarm_handler, dev);
+
 	err = hw->mac.ops.reset_hw(hw);
 	if (err) {
@@ -5102,6 +5112,4 @@ ixgbevf_dev_start(struct rte_eth_dev *dev)
 	ixgbevf_dev_rxtx_start(dev);
 
-	ixgbevf_dev_link_update(dev, 0);
-
 	/* check and configure queue intr-vector mapping */
 	if (rte_intr_cap_multiple(intr_handle) &&
@@ -5141,4 +5149,10 @@ ixgbevf_dev_start(struct rte_eth_dev *dev)
 	ixgbevf_intr_enable(dev);
 
+	/*
+	 * Update link status right before return, because it may
+	 * start link configuration process in a separate thread.
+	 */
+	ixgbevf_dev_link_update(dev, 0);
+
 	return 0;
 }
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.150378059 +0000
+++ 0004-net-ixgbe-stop-link-setup-alarm-handler-before-start.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,13 +1,14 @@
-From 916193dda6fb400114c0ffc5615e74ca13d50720 Mon Sep 17 00:00:00 2001
+From 954374b97b5ef5ffe2be5ee8b85c5650fe6f16c7 Mon Sep 17 00:00:00 2001
 From: Ilya Maximets <i.maximets@samsung.com>
 Date: Thu, 8 Nov 2018 13:24:01 +0300
 Subject: [PATCH] net/ixgbe: stop link setup alarm handler before start
 
+[ upstream commit 916193dda6fb400114c0ffc5615e74ca13d50720 ]
+
 We should stop alarm handler before resetting the HW to
 avoid concurrent device reconfiguration.
 
 Fixes: 0408f47ba4d6 ("net/ixgbe: fix busy polling while fiber link update")
-CC: stable@dpdk.org
 
 Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
 Tested-by: Anatoly Burakov <anatoly.burakov@intel.com>
@@ -17,10 +18,10 @@
  1 file changed, 18 insertions(+), 4 deletions(-)
 
 diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
-index c9e82d515..8148577f5 100644
+index 0293022b2..6b04820da 100644
 --- a/drivers/net/ixgbe/ixgbe_ethdev.c
 +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
-@@ -2550,4 +2550,7 @@ ixgbe_dev_start(struct rte_eth_dev *dev)
+@@ -2553,4 +2553,7 @@ ixgbe_dev_start(struct rte_eth_dev *dev)
  	}
  
 +	/* Stop the link setup handler before resetting the HW. */
@@ -28,14 +29,14 @@
 +
  	/* disable uio/vfio intr/eventfd mapping */
  	rte_intr_disable(intr_handle);
-@@ -2732,6 +2735,4 @@ ixgbe_dev_start(struct rte_eth_dev *dev)
+@@ -2735,6 +2738,4 @@ ixgbe_dev_start(struct rte_eth_dev *dev)
  		goto error;
  
 -	ixgbe_dev_link_update(dev, 0);
 -
  skip_link_setup:
  
-@@ -2769,4 +2770,10 @@ skip_link_setup:
+@@ -2772,4 +2773,10 @@ skip_link_setup:
  			    "before starting the port");
  
 +	/*
@@ -46,7 +47,7 @@
 +
  	return 0;
  
-@@ -5062,4 +5069,7 @@ ixgbevf_dev_start(struct rte_eth_dev *dev)
+@@ -5067,4 +5074,7 @@ ixgbevf_dev_start(struct rte_eth_dev *dev)
  	PMD_INIT_FUNC_TRACE();
  
 +	/* Stop the link setup handler before resetting the HW. */
@@ -54,14 +55,14 @@
 +
  	err = hw->mac.ops.reset_hw(hw);
  	if (err) {
-@@ -5097,6 +5107,4 @@ ixgbevf_dev_start(struct rte_eth_dev *dev)
+@@ -5102,6 +5112,4 @@ ixgbevf_dev_start(struct rte_eth_dev *dev)
  	ixgbevf_dev_rxtx_start(dev);
  
 -	ixgbevf_dev_link_update(dev, 0);
 -
  	/* check and configure queue intr-vector mapping */
  	if (rte_intr_cap_multiple(intr_handle) &&
-@@ -5136,4 +5144,10 @@ ixgbevf_dev_start(struct rte_eth_dev *dev)
+@@ -5141,4 +5149,10 @@ ixgbevf_dev_start(struct rte_eth_dev *dev)
  	ixgbevf_intr_enable(dev);
  
 +	/*

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

* [dpdk-stable] patch 'net/cxgbevf: add PCI uninitialization for VF' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (3 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/ixgbe: stop link setup alarm handler before start' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/cxgbe: check Rx config before doing VLAN strip offload' " Kevin Traynor
                   ` (81 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Rahul Lakkireddy; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 8e7a8a0626b30b50a6546ec2ec7ee016422695da Mon Sep 17 00:00:00 2001
From: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Date: Fri, 9 Nov 2018 13:26:23 +0530
Subject: [PATCH] net/cxgbevf: add PCI uninitialization for VF

[ upstream commit 854f4bf07cd2f857eae1af10a92a01673f262a5b ]

Fixes: 2195df6d11bd ("net/cxgbe: rework ethdev device allocation")

Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
---
 drivers/net/cxgbe/cxgbevf_ethdev.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/drivers/net/cxgbe/cxgbevf_ethdev.c b/drivers/net/cxgbe/cxgbevf_ethdev.c
index 3b32ca9d4..a6458d533 100644
--- a/drivers/net/cxgbe/cxgbevf_ethdev.c
+++ b/drivers/net/cxgbe/cxgbevf_ethdev.c
@@ -178,4 +178,14 @@ out_free_adapter:
 }
 
+static int eth_cxgbevf_dev_uninit(struct rte_eth_dev *eth_dev)
+{
+	struct port_info *pi = (struct port_info *)(eth_dev->data->dev_private);
+	struct adapter *adap = pi->adapter;
+
+	/* Free up other ports and all resources */
+	cxgbe_close(adap);
+	return 0;
+}
+
 static int eth_cxgbevf_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
 				 struct rte_pci_device *pci_dev)
@@ -187,5 +197,5 @@ static int eth_cxgbevf_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
 static int eth_cxgbevf_pci_remove(struct rte_pci_device *pci_dev)
 {
-	return rte_eth_dev_pci_generic_remove(pci_dev, NULL);
+	return rte_eth_dev_pci_generic_remove(pci_dev, eth_cxgbevf_dev_uninit);
 }
 
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.181937104 +0000
+++ 0005-net-cxgbevf-add-PCI-uninitialization-for-VF.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,10 +1,11 @@
-From 854f4bf07cd2f857eae1af10a92a01673f262a5b Mon Sep 17 00:00:00 2001
+From 8e7a8a0626b30b50a6546ec2ec7ee016422695da Mon Sep 17 00:00:00 2001
 From: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
 Date: Fri, 9 Nov 2018 13:26:23 +0530
 Subject: [PATCH] net/cxgbevf: add PCI uninitialization for VF
 
+[ upstream commit 854f4bf07cd2f857eae1af10a92a01673f262a5b ]
+
 Fixes: 2195df6d11bd ("net/cxgbe: rework ethdev device allocation")
-Cc: stable@dpdk.org
 
 Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
 ---

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

* [dpdk-stable] patch 'net/cxgbe: check Rx config before doing VLAN strip offload' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (4 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/cxgbevf: add PCI uninitialization for VF' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/cxgbe: fix check for redefined match items' " Kevin Traynor
                   ` (80 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Rahul Lakkireddy; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 8d4e115f6312a2be193e84c2782467536dcfde70 Mon Sep 17 00:00:00 2001
From: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Date: Fri, 9 Nov 2018 13:26:24 +0530
Subject: [PATCH] net/cxgbe: check Rx config before doing VLAN strip offload

[ upstream commit 6507fb6f0aa11082a3a5eb36857b024f903b69d3 ]

Fixes: 436125e64174 ("net/cxgbe: update to Rx/Tx offload API")

Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
---
 drivers/net/cxgbe/cxgbe_main.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/net/cxgbe/cxgbe_main.c b/drivers/net/cxgbe/cxgbe_main.c
index c3938e8db..c9b0758c6 100644
--- a/drivers/net/cxgbe/cxgbe_main.c
+++ b/drivers/net/cxgbe/cxgbe_main.c
@@ -1320,16 +1320,20 @@ int link_start(struct port_info *pi)
 {
 	struct adapter *adapter = pi->adapter;
-	int ret;
+	u64 conf_offloads;
 	unsigned int mtu;
+	int ret;
 
 	mtu = pi->eth_dev->data->dev_conf.rxmode.max_rx_pkt_len -
 	      (ETHER_HDR_LEN + ETHER_CRC_LEN);
 
+	conf_offloads = pi->eth_dev->data->dev_conf.rxmode.offloads;
+
 	/*
 	 * We do not set address filters and promiscuity here, the stack does
 	 * that step explicitly.
 	 */
-	ret = t4_set_rxmode(adapter, adapter->mbox, pi->viid, mtu, -1, -1,
-			    -1, 1, true);
+	ret = t4_set_rxmode(adapter, adapter->mbox, pi->viid, mtu, -1, -1, -1,
+			    !!(conf_offloads & DEV_RX_OFFLOAD_VLAN_STRIP),
+			    true);
 	if (ret == 0) {
 		ret = t4_change_mac(adapter, adapter->mbox, pi->viid,
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.205342698 +0000
+++ 0006-net-cxgbe-check-Rx-config-before-doing-VLAN-strip-of.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,10 +1,11 @@
-From 6507fb6f0aa11082a3a5eb36857b024f903b69d3 Mon Sep 17 00:00:00 2001
+From 8d4e115f6312a2be193e84c2782467536dcfde70 Mon Sep 17 00:00:00 2001
 From: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
 Date: Fri, 9 Nov 2018 13:26:24 +0530
 Subject: [PATCH] net/cxgbe: check Rx config before doing VLAN strip offload
 
+[ upstream commit 6507fb6f0aa11082a3a5eb36857b024f903b69d3 ]
+
 Fixes: 436125e64174 ("net/cxgbe: update to Rx/Tx offload API")
-Cc: stable@dpdk.org
 
 Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
 ---
@@ -12,10 +13,10 @@
  1 file changed, 7 insertions(+), 3 deletions(-)
 
 diff --git a/drivers/net/cxgbe/cxgbe_main.c b/drivers/net/cxgbe/cxgbe_main.c
-index 88dc851f8..409c9f821 100644
+index c3938e8db..c9b0758c6 100644
 --- a/drivers/net/cxgbe/cxgbe_main.c
 +++ b/drivers/net/cxgbe/cxgbe_main.c
-@@ -1340,16 +1340,20 @@ int link_start(struct port_info *pi)
+@@ -1320,16 +1320,20 @@ int link_start(struct port_info *pi)
  {
  	struct adapter *adapter = pi->adapter;
 -	int ret;
@@ -38,7 +39,7 @@
 +			    !!(conf_offloads & DEV_RX_OFFLOAD_VLAN_STRIP),
 +			    true);
  	if (ret == 0) {
- 		ret = cxgbe_mpstcam_modify(pi, (int)pi->xact_addr_filt,
+ 		ret = t4_change_mac(adapter, adapter->mbox, pi->viid,
 -- 
 2.19.0
 

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

* [dpdk-stable] patch 'net/cxgbe: fix check for redefined match items' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (5 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/cxgbe: check Rx config before doing VLAN strip offload' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/cxgbe: increase completion wait time for flow operations' " Kevin Traynor
                   ` (79 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Rahul Lakkireddy; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 5612f0c10f8ed8319e823e46b1321fc732ec0560 Mon Sep 17 00:00:00 2001
From: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Date: Fri, 9 Nov 2018 13:26:25 +0530
Subject: [PATCH] net/cxgbe: fix check for redefined match items

[ upstream commit 15fb77f62cc819b998b191d885d3b15091a40bad ]

Fix issue where ethertype is set to 0x800 for IPv4 by ether match
item and IPv4 match item also inherently sets ethertype to 0x800.

Current logic returns error when IPv4 match item is parsed. So, fix
by only bailing if the redefined match items have different values.

Fixes: ee61f5113b17 ("net/cxgbe: parse and validate flows")

Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
---
 drivers/net/cxgbe/cxgbe_flow.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/drivers/net/cxgbe/cxgbe_flow.c b/drivers/net/cxgbe/cxgbe_flow.c
index 038d479d6..9b3222147 100644
--- a/drivers/net/cxgbe/cxgbe_flow.c
+++ b/drivers/net/cxgbe/cxgbe_flow.c
@@ -8,12 +8,10 @@
 #define __CXGBE_FILL_FS(__v, __m, fs, elem, e) \
 do { \
-	if (!((fs)->val.elem || (fs)->mask.elem)) { \
-		(fs)->val.elem = (__v); \
-		(fs)->mask.elem = (__m); \
-	} else { \
+	if ((fs)->mask.elem && ((fs)->val.elem != (__v))) \
 		return rte_flow_error_set(e, EINVAL, RTE_FLOW_ERROR_TYPE_ITEM, \
-					  NULL, "a filter can be specified" \
-					  " only once"); \
-	} \
+					  NULL, "Redefined match item with" \
+					  " different values found"); \
+	(fs)->val.elem = (__v); \
+	(fs)->mask.elem = (__m); \
 } while (0)
 
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.228539655 +0000
+++ 0007-net-cxgbe-fix-check-for-redefined-match-items.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,8 +1,10 @@
-From 15fb77f62cc819b998b191d885d3b15091a40bad Mon Sep 17 00:00:00 2001
+From 5612f0c10f8ed8319e823e46b1321fc732ec0560 Mon Sep 17 00:00:00 2001
 From: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
 Date: Fri, 9 Nov 2018 13:26:25 +0530
 Subject: [PATCH] net/cxgbe: fix check for redefined match items
 
+[ upstream commit 15fb77f62cc819b998b191d885d3b15091a40bad ]
+
 Fix issue where ethertype is set to 0x800 for IPv4 by ether match
 item and IPv4 match item also inherently sets ethertype to 0x800.
 
@@ -10,7 +12,6 @@
 by only bailing if the redefined match items have different values.
 
 Fixes: ee61f5113b17 ("net/cxgbe: parse and validate flows")
-Cc: stable@dpdk.org
 
 Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
 ---
@@ -18,7 +19,7 @@
  1 file changed, 5 insertions(+), 7 deletions(-)
 
 diff --git a/drivers/net/cxgbe/cxgbe_flow.c b/drivers/net/cxgbe/cxgbe_flow.c
-index 54ec7e595..a8f076e6c 100644
+index 038d479d6..9b3222147 100644
 --- a/drivers/net/cxgbe/cxgbe_flow.c
 +++ b/drivers/net/cxgbe/cxgbe_flow.c
 @@ -8,12 +8,10 @@

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

* [dpdk-stable] patch 'net/cxgbe: increase completion wait time for flow operations' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (6 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/cxgbe: fix check for redefined match items' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/cxgbe: fix wrong ingress port value set in filter spec' " Kevin Traynor
                   ` (78 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Rahul Lakkireddy; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From dd484e1a2ea80d57e0449a90730005b51a6246ec Mon Sep 17 00:00:00 2001
From: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Date: Fri, 9 Nov 2018 13:26:26 +0530
Subject: [PATCH] net/cxgbe: increase completion wait time for flow operations

[ upstream commit f1e9d2afea71d159406d8f9a9078aca9f40d713c ]

Under heavy load, flow related operations can take more time to
complete. Increase max completion wait time to 10 seconds. Also
increase max receive budget to read more replies from firmware
in every cycle.

Fixes: 9eb2c9a48072 ("net/cxgbe: implement flow create operation")

Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
---
 drivers/net/cxgbe/cxgbe_flow.c | 4 ++--
 drivers/net/cxgbe/cxgbe_flow.h | 5 +++--
 drivers/net/cxgbe/cxgbe_main.c | 8 ++++----
 3 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/drivers/net/cxgbe/cxgbe_flow.c b/drivers/net/cxgbe/cxgbe_flow.c
index 9b3222147..6ec246c7a 100644
--- a/drivers/net/cxgbe/cxgbe_flow.c
+++ b/drivers/net/cxgbe/cxgbe_flow.c
@@ -538,5 +538,5 @@ static int __cxgbe_flow_create(struct rte_eth_dev *dev, struct rte_flow *flow)
 	/* Poll the FW for reply */
 	err = cxgbe_poll_for_completion(&adap->sge.fw_evtq,
-					CXGBE_FLOW_POLL_US,
+					CXGBE_FLOW_POLL_MS,
 					CXGBE_FLOW_POLL_CNT,
 					&ctx.completion);
@@ -623,5 +623,5 @@ static int __cxgbe_flow_destroy(struct rte_eth_dev *dev, struct rte_flow *flow)
 	/* Poll the FW for reply */
 	err = cxgbe_poll_for_completion(&adap->sge.fw_evtq,
-					CXGBE_FLOW_POLL_US,
+					CXGBE_FLOW_POLL_MS,
 					CXGBE_FLOW_POLL_CNT,
 					&ctx.completion);
diff --git a/drivers/net/cxgbe/cxgbe_flow.h b/drivers/net/cxgbe/cxgbe_flow.h
index 0f7504745..0c0f16ad5 100644
--- a/drivers/net/cxgbe/cxgbe_flow.h
+++ b/drivers/net/cxgbe/cxgbe_flow.h
@@ -10,6 +10,7 @@
 #include "cxgbe.h"
 
-#define CXGBE_FLOW_POLL_US  10
-#define CXGBE_FLOW_POLL_CNT 10
+/* Max poll time is 100 * 100msec = 10 sec */
+#define CXGBE_FLOW_POLL_MS  100 /* 100 milliseconds */
+#define CXGBE_FLOW_POLL_CNT 100 /* Max number of times to poll */
 
 struct chrte_fparse {
diff --git a/drivers/net/cxgbe/cxgbe_main.c b/drivers/net/cxgbe/cxgbe_main.c
index c9b0758c6..d8705163c 100644
--- a/drivers/net/cxgbe/cxgbe_main.c
+++ b/drivers/net/cxgbe/cxgbe_main.c
@@ -152,5 +152,5 @@ out:
  * cxgbe_poll_for_completion: Poll rxq for completion
  * @q: rxq to poll
- * @us: microseconds to delay
+ * @ms: milliseconds to delay
  * @cnt: number of times to poll
  * @c: completion to check for 'done' status
@@ -159,9 +159,9 @@ out:
  * expires.
  */
-int cxgbe_poll_for_completion(struct sge_rspq *q, unsigned int us,
+int cxgbe_poll_for_completion(struct sge_rspq *q, unsigned int ms,
 			      unsigned int cnt, struct t4_completion *c)
 {
 	unsigned int i;
-	unsigned int work_done, budget = 4;
+	unsigned int work_done, budget = 32;
 
 	if (!c)
@@ -176,5 +176,5 @@ int cxgbe_poll_for_completion(struct sge_rspq *q, unsigned int us,
 		}
 		t4_os_unlock(&c->lock);
-		udelay(us);
+		rte_delay_ms(ms);
 	}
 	return -ETIMEDOUT;
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.251797770 +0000
+++ 0008-net-cxgbe-increase-completion-wait-time-for-flow-ope.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,15 +1,16 @@
-From f1e9d2afea71d159406d8f9a9078aca9f40d713c Mon Sep 17 00:00:00 2001
+From dd484e1a2ea80d57e0449a90730005b51a6246ec Mon Sep 17 00:00:00 2001
 From: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
 Date: Fri, 9 Nov 2018 13:26:26 +0530
 Subject: [PATCH] net/cxgbe: increase completion wait time for flow operations
 
+[ upstream commit f1e9d2afea71d159406d8f9a9078aca9f40d713c ]
+
 Under heavy load, flow related operations can take more time to
 complete. Increase max completion wait time to 10 seconds. Also
 increase max receive budget to read more replies from firmware
 in every cycle.
 
 Fixes: 9eb2c9a48072 ("net/cxgbe: implement flow create operation")
-Cc: stable@dpdk.org
 
 Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
 ---
@@ -19,17 +20,17 @@
  3 files changed, 9 insertions(+), 8 deletions(-)
 
 diff --git a/drivers/net/cxgbe/cxgbe_flow.c b/drivers/net/cxgbe/cxgbe_flow.c
-index a8f076e6c..4deaff8f2 100644
+index 9b3222147..6ec246c7a 100644
 --- a/drivers/net/cxgbe/cxgbe_flow.c
 +++ b/drivers/net/cxgbe/cxgbe_flow.c
-@@ -798,5 +798,5 @@ static int __cxgbe_flow_create(struct rte_eth_dev *dev, struct rte_flow *flow)
+@@ -538,5 +538,5 @@ static int __cxgbe_flow_create(struct rte_eth_dev *dev, struct rte_flow *flow)
  	/* Poll the FW for reply */
  	err = cxgbe_poll_for_completion(&adap->sge.fw_evtq,
 -					CXGBE_FLOW_POLL_US,
 +					CXGBE_FLOW_POLL_MS,
  					CXGBE_FLOW_POLL_CNT,
  					&ctx.completion);
-@@ -884,5 +884,5 @@ static int __cxgbe_flow_destroy(struct rte_eth_dev *dev, struct rte_flow *flow)
+@@ -623,5 +623,5 @@ static int __cxgbe_flow_destroy(struct rte_eth_dev *dev, struct rte_flow *flow)
  	/* Poll the FW for reply */
  	err = cxgbe_poll_for_completion(&adap->sge.fw_evtq,
 -					CXGBE_FLOW_POLL_US,
@@ -37,10 +38,10 @@
  					CXGBE_FLOW_POLL_CNT,
  					&ctx.completion);
 diff --git a/drivers/net/cxgbe/cxgbe_flow.h b/drivers/net/cxgbe/cxgbe_flow.h
-index 718bf3d05..ec8e47aeb 100644
+index 0f7504745..0c0f16ad5 100644
 --- a/drivers/net/cxgbe/cxgbe_flow.h
 +++ b/drivers/net/cxgbe/cxgbe_flow.h
-@@ -11,6 +11,7 @@
+@@ -10,6 +10,7 @@
  #include "cxgbe.h"
  
 -#define CXGBE_FLOW_POLL_US  10
@@ -51,17 +52,17 @@
  
  struct chrte_fparse {
 diff --git a/drivers/net/cxgbe/cxgbe_main.c b/drivers/net/cxgbe/cxgbe_main.c
-index 409c9f821..ec080e5d3 100644
+index c9b0758c6..d8705163c 100644
 --- a/drivers/net/cxgbe/cxgbe_main.c
 +++ b/drivers/net/cxgbe/cxgbe_main.c
-@@ -158,5 +158,5 @@ out:
+@@ -152,5 +152,5 @@ out:
   * cxgbe_poll_for_completion: Poll rxq for completion
   * @q: rxq to poll
 - * @us: microseconds to delay
 + * @ms: milliseconds to delay
   * @cnt: number of times to poll
   * @c: completion to check for 'done' status
-@@ -165,9 +165,9 @@ out:
+@@ -159,9 +159,9 @@ out:
   * expires.
   */
 -int cxgbe_poll_for_completion(struct sge_rspq *q, unsigned int us,
@@ -73,7 +74,7 @@
 +	unsigned int work_done, budget = 32;
  
  	if (!c)
-@@ -182,5 +182,5 @@ int cxgbe_poll_for_completion(struct sge_rspq *q, unsigned int us,
+@@ -176,5 +176,5 @@ int cxgbe_poll_for_completion(struct sge_rspq *q, unsigned int us,
  		}
  		t4_os_unlock(&c->lock);
 -		udelay(us);

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

* [dpdk-stable] patch 'net/cxgbe: fix wrong ingress port value set in filter spec' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (7 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/cxgbe: increase completion wait time for flow operations' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/thunderx: fix Tx desc corruption in scatter-gather mode' " Kevin Traynor
                   ` (77 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Rahul Lakkireddy; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 617071df24ec403d46196f35b3bd988041327981 Mon Sep 17 00:00:00 2001
From: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Date: Fri, 9 Nov 2018 13:26:27 +0530
Subject: [PATCH] net/cxgbe: fix wrong ingress port value set in filter spec

[ upstream commit 34ca5e3eb7ac8d6ba81de2fa6b55565ab599511b ]

Set the "value" in the filter spec and not the "mask". Also, remove
duplicate comparison for hardware supported match items already done
earlier.

Fixes: af44a577988b ("net/cxgbe: support to offload flows to HASH region")

Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
---
 drivers/net/cxgbe/cxgbe_filter.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/net/cxgbe/cxgbe_filter.c b/drivers/net/cxgbe/cxgbe_filter.c
index 7f0d38001..059ee0e41 100644
--- a/drivers/net/cxgbe/cxgbe_filter.c
+++ b/drivers/net/cxgbe/cxgbe_filter.c
@@ -246,6 +246,6 @@ static u64 hash_filter_ntuple(const struct filter_entry *f)
 	u16 tcp_proto = IPPROTO_TCP; /* TCP Protocol Number */
 
-	if (tp->port_shift >= 0)
-		ntuple |= (u64)f->fs.mask.iport << tp->port_shift;
+	if (tp->port_shift >= 0 && f->fs.mask.iport)
+		ntuple |= (u64)f->fs.val.iport << tp->port_shift;
 
 	if (tp->protocol_shift >= 0) {
@@ -259,7 +259,4 @@ static u64 hash_filter_ntuple(const struct filter_entry *f)
 		ntuple |= (u64)(f->fs.val.ethtype) << tp->ethertype_shift;
 
-	if (ntuple != tp->hash_filter_mask)
-		return 0;
-
 	return ntuple;
 }
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.277033442 +0000
+++ 0009-net-cxgbe-fix-wrong-ingress-port-value-set-in-filter.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,14 +1,15 @@
-From 34ca5e3eb7ac8d6ba81de2fa6b55565ab599511b Mon Sep 17 00:00:00 2001
+From 617071df24ec403d46196f35b3bd988041327981 Mon Sep 17 00:00:00 2001
 From: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
 Date: Fri, 9 Nov 2018 13:26:27 +0530
 Subject: [PATCH] net/cxgbe: fix wrong ingress port value set in filter spec
 
+[ upstream commit 34ca5e3eb7ac8d6ba81de2fa6b55565ab599511b ]
+
 Set the "value" in the filter spec and not the "mask". Also, remove
 duplicate comparison for hardware supported match items already done
 earlier.
 
 Fixes: af44a577988b ("net/cxgbe: support to offload flows to HASH region")
-Cc: stable@dpdk.org
 
 Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
 ---
@@ -16,10 +17,10 @@
  1 file changed, 2 insertions(+), 5 deletions(-)
 
 diff --git a/drivers/net/cxgbe/cxgbe_filter.c b/drivers/net/cxgbe/cxgbe_filter.c
-index ef1102be3..3a7912e48 100644
+index 7f0d38001..059ee0e41 100644
 --- a/drivers/net/cxgbe/cxgbe_filter.c
 +++ b/drivers/net/cxgbe/cxgbe_filter.c
-@@ -264,6 +264,6 @@ static u64 hash_filter_ntuple(const struct filter_entry *f)
+@@ -246,6 +246,6 @@ static u64 hash_filter_ntuple(const struct filter_entry *f)
  	u16 tcp_proto = IPPROTO_TCP; /* TCP Protocol Number */
  
 -	if (tp->port_shift >= 0)
@@ -28,8 +29,8 @@
 +		ntuple |= (u64)f->fs.val.iport << tp->port_shift;
  
  	if (tp->protocol_shift >= 0) {
-@@ -279,7 +279,4 @@ static u64 hash_filter_ntuple(const struct filter_entry *f)
- 		ntuple |= (u64)(f->fs.val.macidx) << tp->macmatch_shift;
+@@ -259,7 +259,4 @@ static u64 hash_filter_ntuple(const struct filter_entry *f)
+ 		ntuple |= (u64)(f->fs.val.ethtype) << tp->ethertype_shift;
  
 -	if (ntuple != tp->hash_filter_mask)
 -		return 0;

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

* [dpdk-stable] patch 'net/thunderx: fix Tx desc corruption in scatter-gather mode' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (8 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/cxgbe: fix wrong ingress port value set in filter spec' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'vhost: fix IOVA access for packed ring' " Kevin Traynor
                   ` (76 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Subrahmanyam Nilla; +Cc: Nithin Dabilpuram, Jerin Jacob, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From e6c57f0fccffeebb0d86bd0f4f612b0a671e47e1 Mon Sep 17 00:00:00 2001
From: Subrahmanyam Nilla <snilla@caviumnetworks.com>
Date: Fri, 9 Nov 2018 05:50:55 +0000
Subject: [PATCH] net/thunderx: fix Tx desc corruption in scatter-gather mode

[ upstream commit 823ebfc219f3fa53361afc7ce663f72464bfb3ff ]

For performance reasons, word1 of send_hdr_s
sub descriptor was not cleared assuming it is always
having default value of zero since it comes from fixed
offsets of SQ buffer.
This is causing issues in case of SG mode because,
the size of send command might change and hence the word1
of send_hdr_s is not always at fixed offsets of the SQ buffer
and hence not having default value of zero.

This fixes the issue by clearing the word1 in case of SG mode
for every packet.

Fixes: 1c421f18e095 ("net/thunderx: add single and multi-segment Tx")

Signed-off-by: Subrahmanyam Nilla <snilla@caviumnetworks.com>
Signed-off-by: Nithin Dabilpuram <nithin.dabilpuram@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 drivers/net/thunderx/nicvf_rxtx.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/net/thunderx/nicvf_rxtx.c b/drivers/net/thunderx/nicvf_rxtx.c
index 247c35685..1c4287431 100644
--- a/drivers/net/thunderx/nicvf_rxtx.c
+++ b/drivers/net/thunderx/nicvf_rxtx.c
@@ -62,4 +62,12 @@ fill_sq_desc_header(union sq_entry_t *entry, struct rte_mbuf *pkt)
 }
 
+static inline void __hot
+fill_sq_desc_header_zero_w1(union sq_entry_t *entry,
+				struct rte_mbuf *pkt)
+{
+	fill_sq_desc_header(entry, pkt);
+	entry->buff[1] = 0ULL;
+}
+
 void __hot
 nicvf_single_pool_free_xmited_buffers(struct nicvf_txq *sq)
@@ -205,5 +213,5 @@ nicvf_xmit_pkts_multiseg(void *tx_queue, struct rte_mbuf **tx_pkts,
 
 		txbuffs[tail] = NULL;
-		fill_sq_desc_header(desc_ptr + tail, pkt);
+		fill_sq_desc_header_zero_w1(desc_ptr + tail, pkt);
 		tail = (tail + 1) & qlen_mask;
 
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.301913308 +0000
+++ 0010-net-thunderx-fix-Tx-desc-corruption-in-scatter-gathe.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,8 +1,10 @@
-From 823ebfc219f3fa53361afc7ce663f72464bfb3ff Mon Sep 17 00:00:00 2001
+From e6c57f0fccffeebb0d86bd0f4f612b0a671e47e1 Mon Sep 17 00:00:00 2001
 From: Subrahmanyam Nilla <snilla@caviumnetworks.com>
 Date: Fri, 9 Nov 2018 05:50:55 +0000
 Subject: [PATCH] net/thunderx: fix Tx desc corruption in scatter-gather mode
 
+[ upstream commit 823ebfc219f3fa53361afc7ce663f72464bfb3ff ]
+
 For performance reasons, word1 of send_hdr_s
 sub descriptor was not cleared assuming it is always
 having default value of zero since it comes from fixed
@@ -16,7 +18,6 @@
 for every packet.
 
 Fixes: 1c421f18e095 ("net/thunderx: add single and multi-segment Tx")
-Cc: stable@dpdk.org
 
 Signed-off-by: Subrahmanyam Nilla <snilla@caviumnetworks.com>
 Signed-off-by: Nithin Dabilpuram <nithin.dabilpuram@caviumnetworks.com>

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

* [dpdk-stable] patch 'vhost: fix IOVA access for packed ring' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (9 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/thunderx: fix Tx desc corruption in scatter-gather mode' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/virtio-user: fix typo in error message' " Kevin Traynor
                   ` (75 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Tiwei Bie; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 8b5b2dc3c24c53e7c657ae18a9baabc4f8261855 Mon Sep 17 00:00:00 2001
From: Tiwei Bie <tiwei.bie@intel.com>
Date: Tue, 6 Nov 2018 14:40:21 +0800
Subject: [PATCH] vhost: fix IOVA access for packed ring

[ upstream commit 30affaeebc5655793622370d9d64695d9f785670 ]

We should apply for RO access when receiving packets from the
VM and apply for RW access when sending packets to the VM.

Fixes: a922401f35cc ("vhost: add Rx support for packed ring")
Fixes: ae999ce49dcb ("vhost: add Tx support for packed ring")

Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 lib/librte_vhost/virtio_net.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/librte_vhost/virtio_net.c b/lib/librte_vhost/virtio_net.c
index 8ad30c94a..5e1a1a727 100644
--- a/lib/librte_vhost/virtio_net.c
+++ b/lib/librte_vhost/virtio_net.c
@@ -599,5 +599,5 @@ reserve_avail_buf_packed(struct virtio_net *dev, struct vhost_virtqueue *vq,
 						buf_vec, &vec_idx,
 						&buf_id, &len,
-						VHOST_ACCESS_RO) < 0))
+						VHOST_ACCESS_RW) < 0))
 			return -1;
 
@@ -1504,5 +1504,5 @@ virtio_dev_tx_packed(struct virtio_net *dev, struct vhost_virtqueue *vq,
 						buf_vec, &nr_vec,
 						&buf_id, &dummy_len,
-						VHOST_ACCESS_RW) < 0))
+						VHOST_ACCESS_RO) < 0))
 			break;
 
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.324538200 +0000
+++ 0011-vhost-fix-IOVA-access-for-packed-ring.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,14 +1,15 @@
-From 30affaeebc5655793622370d9d64695d9f785670 Mon Sep 17 00:00:00 2001
+From 8b5b2dc3c24c53e7c657ae18a9baabc4f8261855 Mon Sep 17 00:00:00 2001
 From: Tiwei Bie <tiwei.bie@intel.com>
 Date: Tue, 6 Nov 2018 14:40:21 +0800
 Subject: [PATCH] vhost: fix IOVA access for packed ring
 
+[ upstream commit 30affaeebc5655793622370d9d64695d9f785670 ]
+
 We should apply for RO access when receiving packets from the
 VM and apply for RW access when sending packets to the VM.
 
 Fixes: a922401f35cc ("vhost: add Rx support for packed ring")
 Fixes: ae999ce49dcb ("vhost: add Tx support for packed ring")
-Cc: stable@dpdk.org
 
 Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
 Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>

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

* [dpdk-stable] patch 'net/virtio-user: fix typo in error message' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (10 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'vhost: fix IOVA access for packed ring' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'vhost/crypto: fix packet copy in chaining mode' " Kevin Traynor
                   ` (74 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Tiwei Bie; +Cc: Jens Freimann, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 791899adb62238e6f03b97d995710297021b2651 Mon Sep 17 00:00:00 2001
From: Tiwei Bie <tiwei.bie@intel.com>
Date: Tue, 6 Nov 2018 14:40:22 +0800
Subject: [PATCH] net/virtio-user: fix typo in error message

[ upstream commit 2dac0df47c5666fe53513a9320cc95f1c5e72d4e ]

The param we are checking is VIRTIO_USER_ARG_PATH, instead
of VIRTIO_USER_ARG_QUEUE_SIZE.

Fixes: ce2eabdd43ec ("net/virtio-user: add virtual device")

Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Reviewed-by: Jens Freimann <jfreimann@redhat.com>
---
 drivers/net/virtio/virtio_user_ethdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/virtio/virtio_user_ethdev.c b/drivers/net/virtio/virtio_user_ethdev.c
index b9860a23e..bf781810a 100644
--- a/drivers/net/virtio/virtio_user_ethdev.c
+++ b/drivers/net/virtio/virtio_user_ethdev.c
@@ -488,5 +488,5 @@ virtio_user_pmd_probe(struct rte_vdev_device *dev)
 	} else {
 		PMD_INIT_LOG(ERR, "arg %s is mandatory for virtio_user",
-			  VIRTIO_USER_ARG_QUEUE_SIZE);
+			     VIRTIO_USER_ARG_PATH);
 		goto end;
 	}
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.347807084 +0000
+++ 0012-net-virtio-user-fix-typo-in-error-message.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,13 +1,14 @@
-From 2dac0df47c5666fe53513a9320cc95f1c5e72d4e Mon Sep 17 00:00:00 2001
+From 791899adb62238e6f03b97d995710297021b2651 Mon Sep 17 00:00:00 2001
 From: Tiwei Bie <tiwei.bie@intel.com>
 Date: Tue, 6 Nov 2018 14:40:22 +0800
 Subject: [PATCH] net/virtio-user: fix typo in error message
 
+[ upstream commit 2dac0df47c5666fe53513a9320cc95f1c5e72d4e ]
+
 The param we are checking is VIRTIO_USER_ARG_PATH, instead
 of VIRTIO_USER_ARG_QUEUE_SIZE.
 
 Fixes: ce2eabdd43ec ("net/virtio-user: add virtual device")
-Cc: stable@dpdk.org
 
 Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
 Reviewed-by: Jens Freimann <jfreimann@redhat.com>
@@ -16,10 +17,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/drivers/net/virtio/virtio_user_ethdev.c b/drivers/net/virtio/virtio_user_ethdev.c
-index 61b7c0a38..f8791391a 100644
+index b9860a23e..bf781810a 100644
 --- a/drivers/net/virtio/virtio_user_ethdev.c
 +++ b/drivers/net/virtio/virtio_user_ethdev.c
-@@ -485,5 +485,5 @@ virtio_user_pmd_probe(struct rte_vdev_device *dev)
+@@ -488,5 +488,5 @@ virtio_user_pmd_probe(struct rte_vdev_device *dev)
  	} else {
  		PMD_INIT_LOG(ERR, "arg %s is mandatory for virtio_user",
 -			  VIRTIO_USER_ARG_QUEUE_SIZE);

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

* [dpdk-stable] patch 'vhost/crypto: fix packet copy in chaining mode' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (11 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/virtio-user: fix typo in error message' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/virtio: fix unchecked return value' " Kevin Traynor
                   ` (73 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Fan Zhang; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From fac3c5ab38573c74522e5e4ab479087ef1293a4e Mon Sep 17 00:00:00 2001
From: Fan Zhang <roy.fan.zhang@intel.com>
Date: Tue, 6 Nov 2018 16:22:48 +0000
Subject: [PATCH] vhost/crypto: fix packet copy in chaining mode

[ upstream commit cd1e8f03abf0323e6210ae89a80b89b242a35260 ]

This patch fixes the incorrect packet content copy in the
chaining mode. Originally the content before cipher offset is
overwritten by all zeros. This patch fixes the problem by
making sure the correct write back source and destination
settings during set up.

Fixes: 3bb595ecd682 ("vhost/crypto: add request handler")

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 lib/librte_vhost/vhost_crypto.c | 464 ++++++++++++++++++++++++--------
 1 file changed, 350 insertions(+), 114 deletions(-)

diff --git a/lib/librte_vhost/vhost_crypto.c b/lib/librte_vhost/vhost_crypto.c
index 1affeddfe..340c8a942 100644
--- a/lib/librte_vhost/vhost_crypto.c
+++ b/lib/librte_vhost/vhost_crypto.c
@@ -199,4 +199,5 @@ struct vhost_crypto {
 	struct rte_mempool *mbuf_pool;
 	struct rte_mempool *sess_pool;
+	struct rte_mempool *wb_pool;
 
 	/** DPDK cryptodev ID */
@@ -216,4 +217,11 @@ struct vhost_crypto {
 } __rte_cache_aligned;
 
+struct vhost_crypto_writeback_data {
+	uint8_t *src;
+	uint8_t *dst;
+	uint64_t len;
+	struct vhost_crypto_writeback_data *next;
+};
+
 struct vhost_crypto_data_req {
 	struct vring_desc *head;
@@ -221,6 +229,6 @@ struct vhost_crypto_data_req {
 	struct virtio_crypto_inhdr *inhdr;
 	struct vhost_virtqueue *vq;
-	struct vring_desc *wb_desc;
-	uint16_t wb_len;
+	struct vhost_crypto_writeback_data *wb;
+	struct rte_mempool *wb_pool;
 	uint16_t desc_idx;
 	uint16_t len;
@@ -508,8 +516,6 @@ move_desc(struct vring_desc *head, struct vring_desc **cur_desc,
 	}
 
-	if (unlikely(left > 0)) {
-		VC_LOG_ERR("Incorrect virtio descriptor");
+	if (unlikely(left > 0))
 		return -1;
-	}
 
 	*cur_desc = &head[desc->next];
@@ -517,4 +523,20 @@ move_desc(struct vring_desc *head, struct vring_desc **cur_desc,
 }
 
+static __rte_always_inline void *
+get_data_ptr(struct vhost_crypto_data_req *vc_req, struct vring_desc *cur_desc,
+		uint8_t perm)
+{
+	void *data;
+	uint64_t dlen = cur_desc->len;
+
+	data = IOVA_TO_VVA(void *, vc_req, cur_desc->addr, &dlen, perm);
+	if (unlikely(!data || dlen != cur_desc->len)) {
+		VC_LOG_ERR("Failed to map object");
+		return NULL;
+	}
+
+	return data;
+}
+
 static int
 copy_data(void *dst_data, struct vhost_crypto_data_req *vc_req,
@@ -533,8 +555,6 @@ copy_data(void *dst_data, struct vhost_crypto_data_req *vc_req,
 	src = IOVA_TO_VVA(uint8_t *, vc_req, desc->addr, &dlen,
 			VHOST_ACCESS_RO);
-	if (unlikely(!src || !dlen)) {
-		VC_LOG_ERR("Failed to map descriptor");
+	if (unlikely(!src || !dlen))
 		return -1;
-	}
 
 	rte_memcpy((uint8_t *)data, src, dlen);
@@ -611,71 +631,156 @@ copy_data(void *dst_data, struct vhost_crypto_data_req *vc_req,
 }
 
-static __rte_always_inline void *
-get_data_ptr(struct vhost_crypto_data_req *vc_req, struct vring_desc **cur_desc,
-		uint32_t size, uint8_t perm)
+static void
+write_back_data(struct vhost_crypto_data_req *vc_req)
 {
-	void *data;
-	uint64_t dlen = (*cur_desc)->len;
+	struct vhost_crypto_writeback_data *wb_data = vc_req->wb, *wb_last;
 
-	data = IOVA_TO_VVA(void *, vc_req, (*cur_desc)->addr, &dlen, perm);
-	if (unlikely(!data || dlen != (*cur_desc)->len)) {
-		VC_LOG_ERR("Failed to map object");
-		return NULL;
+	while (wb_data) {
+		rte_prefetch0(wb_data->next);
+		rte_memcpy(wb_data->dst, wb_data->src, wb_data->len);
+		wb_last = wb_data;
+		wb_data = wb_data->next;
+		rte_mempool_put(vc_req->wb_pool, wb_last);
 	}
+}
 
-	if (unlikely(move_desc(vc_req->head, cur_desc, size) < 0))
-		return NULL;
+static void
+free_wb_data(struct vhost_crypto_writeback_data *wb_data,
+		struct rte_mempool *mp)
+{
+	while (wb_data->next != NULL)
+		free_wb_data(wb_data->next, mp);
 
-	return data;
+	rte_mempool_put(mp, wb_data);
 }
 
-static int
-write_back_data(struct rte_crypto_op *op, struct vhost_crypto_data_req *vc_req)
+/**
+ * The function will allocate a vhost_crypto_writeback_data linked list
+ * containing the source and destination data pointers for the write back
+ * operation after dequeued from Cryptodev PMD queues.
+ *
+ * @param vc_req
+ *   The vhost crypto data request pointer
+ * @param cur_desc
+ *   The pointer of the current in use descriptor pointer. The content of
+ *   cur_desc is expected to be updated after the function execution.
+ * @param end_wb_data
+ *   The last write back data element to be returned. It is used only in cipher
+ *   and hash chain operations.
+ * @param src
+ *   The source data pointer
+ * @param offset
+ *   The offset to both source and destination data. For source data the offset
+ *   is the number of bytes between src and start point of cipher operation. For
+ *   destination data the offset is the number of bytes from *cur_desc->addr
+ *   to the point where the src will be written to.
+ * @param write_back_len
+ *   The size of the write back length.
+ * @return
+ *   The pointer to the start of the write back data linked list.
+ */
+static struct vhost_crypto_writeback_data *
+prepare_write_back_data(struct vhost_crypto_data_req *vc_req,
+		struct vring_desc **cur_desc,
+		struct vhost_crypto_writeback_data **end_wb_data,
+		uint8_t *src,
+		uint32_t offset,
+		uint64_t write_back_len)
 {
-	struct rte_mbuf *mbuf = op->sym->m_dst;
-	struct vring_desc *head = vc_req->head;
-	struct vring_desc *desc = vc_req->wb_desc;
-	int left = vc_req->wb_len;
-	uint32_t to_write;
-	uint8_t *src_data = mbuf->buf_addr, *dst;
+	struct vhost_crypto_writeback_data *wb_data, *head;
+	struct vring_desc *desc = *cur_desc;
 	uint64_t dlen;
+	uint8_t *dst;
+	int ret;
 
-	rte_prefetch0(&head[desc->next]);
-	to_write = RTE_MIN(desc->len, (uint32_t)left);
-	dlen = desc->len;
-	dst = IOVA_TO_VVA(uint8_t *, vc_req, desc->addr, &dlen,
-			VHOST_ACCESS_RW);
-	if (unlikely(!dst || dlen != desc->len)) {
-		VC_LOG_ERR("Failed to map descriptor");
-		return -1;
+	ret = rte_mempool_get(vc_req->wb_pool, (void **)&head);
+	if (unlikely(ret < 0)) {
+		VC_LOG_ERR("no memory");
+		goto error_exit;
 	}
 
-	rte_memcpy(dst, src_data, to_write);
-	left -= to_write;
-	src_data += to_write;
+	wb_data = head;
 
-	while ((desc->flags & VRING_DESC_F_NEXT) && left > 0) {
-		desc = &head[desc->next];
-		rte_prefetch0(&head[desc->next]);
-		to_write = RTE_MIN(desc->len, (uint32_t)left);
+	if (likely(desc->len > offset)) {
+		wb_data->src = src + offset;
 		dlen = desc->len;
-		dst = IOVA_TO_VVA(uint8_t *, vc_req, desc->addr, &dlen,
-				VHOST_ACCESS_RW);
+		dst = IOVA_TO_VVA(uint8_t *, vc_req, desc->addr,
+			&dlen, VHOST_ACCESS_RW) + offset;
 		if (unlikely(!dst || dlen != desc->len)) {
 			VC_LOG_ERR("Failed to map descriptor");
-			return -1;
+			goto error_exit;
 		}
 
-		rte_memcpy(dst, src_data, to_write);
-		left -= to_write;
-		src_data += to_write;
-	}
+		wb_data->dst = dst;
+		wb_data->len = desc->len - offset;
+		write_back_len -= wb_data->len;
+		src += offset + wb_data->len;
+		offset = 0;
+
+		if (unlikely(write_back_len)) {
+			ret = rte_mempool_get(vc_req->wb_pool,
+					(void **)&(wb_data->next));
+			if (unlikely(ret < 0)) {
+				VC_LOG_ERR("no memory");
+				goto error_exit;
+			}
+
+			wb_data = wb_data->next;
+		} else
+			wb_data->next = NULL;
+	} else
+		offset -= desc->len;
+
+	while (write_back_len) {
+		desc = &vc_req->head[desc->next];
+		if (unlikely(!(desc->flags & VRING_DESC_F_WRITE))) {
+			VC_LOG_ERR("incorrect descriptor");
+			goto error_exit;
+		}
+
+		if (desc->len <= offset) {
+			offset -= desc->len;
+			continue;
+		}
 
-	if (unlikely(left < 0)) {
-		VC_LOG_ERR("Incorrect virtio descriptor");
-		return -1;
+		dlen = desc->len;
+		dst = IOVA_TO_VVA(uint8_t *, vc_req, desc->addr, &dlen,
+				VHOST_ACCESS_RW) + offset;
+		if (unlikely(dst == NULL || dlen != desc->len)) {
+			VC_LOG_ERR("Failed to map descriptor");
+			goto error_exit;
+		}
+
+		wb_data->src = src;
+		wb_data->dst = dst;
+		wb_data->len = RTE_MIN(desc->len - offset, write_back_len);
+		write_back_len -= wb_data->len;
+		src += wb_data->len;
+		offset = 0;
+
+		if (write_back_len) {
+			ret = rte_mempool_get(vc_req->wb_pool,
+					(void **)&(wb_data->next));
+			if (unlikely(ret < 0)) {
+				VC_LOG_ERR("no memory");
+				goto error_exit;
+			}
+
+			wb_data = wb_data->next;
+		} else
+			wb_data->next = NULL;
 	}
 
-	return 0;
+	*cur_desc = &vc_req->head[desc->next];
+
+	*end_wb_data = wb_data;
+
+	return head;
+
+error_exit:
+	if (head)
+		free_wb_data(head, vc_req->wb_pool);
+
+	return NULL;
 }
 
@@ -687,4 +792,5 @@ prepare_sym_cipher_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
 {
 	struct vring_desc *desc = cur_desc;
+	struct vhost_crypto_writeback_data *ewb = NULL;
 	struct rte_mbuf *m_src = op->sym->m_src, *m_dst = op->sym->m_dst;
 	uint8_t *iv_data = rte_crypto_op_ctod_offset(op, uint8_t *, IV_OFFSET);
@@ -705,6 +811,5 @@ prepare_sym_cipher_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
 		m_src->buf_iova = gpa_to_hpa(vcrypto->dev, desc->addr,
 				cipher->para.src_data_len);
-		m_src->buf_addr = get_data_ptr(vc_req, &desc,
-				cipher->para.src_data_len, VHOST_ACCESS_RO);
+		m_src->buf_addr = get_data_ptr(vc_req, desc, VHOST_ACCESS_RO);
 		if (unlikely(m_src->buf_iova == 0 ||
 				m_src->buf_addr == NULL)) {
@@ -713,6 +818,16 @@ prepare_sym_cipher_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
 			goto error_exit;
 		}
+
+		if (unlikely(move_desc(vc_req->head, &desc,
+				cipher->para.src_data_len) < 0)) {
+			VC_LOG_ERR("Incorrect descriptor");
+			ret = VIRTIO_CRYPTO_ERR;
+			goto error_exit;
+		}
+
 		break;
 	case RTE_VHOST_CRYPTO_ZERO_COPY_DISABLE:
+		vc_req->wb_pool = vcrypto->wb_pool;
+
 		if (unlikely(cipher->para.src_data_len >
 				RTE_MBUF_DEFAULT_BUF_SIZE)) {
@@ -745,6 +860,5 @@ prepare_sym_cipher_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
 		m_dst->buf_iova = gpa_to_hpa(vcrypto->dev,
 				desc->addr, cipher->para.dst_data_len);
-		m_dst->buf_addr = get_data_ptr(vc_req, &desc,
-				cipher->para.dst_data_len, VHOST_ACCESS_RW);
+		m_dst->buf_addr = get_data_ptr(vc_req, desc, VHOST_ACCESS_RW);
 		if (unlikely(m_dst->buf_iova == 0 || m_dst->buf_addr == NULL)) {
 			VC_LOG_ERR("zero_copy may fail due to cross page data");
@@ -753,14 +867,22 @@ prepare_sym_cipher_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
 		}
 
+		if (unlikely(move_desc(vc_req->head, &desc,
+				cipher->para.dst_data_len) < 0)) {
+			VC_LOG_ERR("Incorrect descriptor");
+			ret = VIRTIO_CRYPTO_ERR;
+			goto error_exit;
+		}
+
 		m_dst->data_len = cipher->para.dst_data_len;
 		break;
 	case RTE_VHOST_CRYPTO_ZERO_COPY_DISABLE:
-		vc_req->wb_desc = desc;
-		vc_req->wb_len = cipher->para.dst_data_len;
-		if (unlikely(move_desc(vc_req->head, &desc,
-				vc_req->wb_len) < 0)) {
+		vc_req->wb = prepare_write_back_data(vc_req, &desc, &ewb,
+				rte_pktmbuf_mtod(m_src, uint8_t *), 0,
+				cipher->para.dst_data_len);
+		if (unlikely(vc_req->wb == NULL)) {
 			ret = VIRTIO_CRYPTO_ERR;
 			goto error_exit;
 		}
+
 		break;
 	default:
@@ -776,5 +898,5 @@ prepare_sym_cipher_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
 	op->sym->cipher.data.length = cipher->para.src_data_len;
 
-	vc_req->inhdr = get_data_ptr(vc_req, &desc, INHDR_LEN, VHOST_ACCESS_WO);
+	vc_req->inhdr = get_data_ptr(vc_req, desc, VHOST_ACCESS_WO);
 	if (unlikely(vc_req->inhdr == NULL)) {
 		ret = VIRTIO_CRYPTO_BADMSG;
@@ -788,4 +910,7 @@ prepare_sym_cipher_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
 
 error_exit:
+	if (vc_req->wb)
+		free_wb_data(vc_req->wb, vc_req->wb_pool);
+
 	vc_req->len = INHDR_LEN;
 	return ret;
@@ -798,5 +923,6 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
 		struct vring_desc *cur_desc)
 {
-	struct vring_desc *desc = cur_desc;
+	struct vring_desc *desc = cur_desc, *digest_desc;
+	struct vhost_crypto_writeback_data *ewb = NULL, *ewb2 = NULL;
 	struct rte_mbuf *m_src = op->sym->m_src, *m_dst = op->sym->m_dst;
 	uint8_t *iv_data = rte_crypto_op_ctod_offset(op, uint8_t *, IV_OFFSET);
@@ -814,12 +940,12 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
 
 	m_src->data_len = chain->para.src_data_len;
-	m_dst->data_len = chain->para.dst_data_len;
 
 	switch (vcrypto->option) {
 	case RTE_VHOST_CRYPTO_ZERO_COPY_ENABLE:
+		m_dst->data_len = chain->para.dst_data_len;
+
 		m_src->buf_iova = gpa_to_hpa(vcrypto->dev, desc->addr,
 				chain->para.src_data_len);
-		m_src->buf_addr = get_data_ptr(vc_req, &desc,
-				chain->para.src_data_len, VHOST_ACCESS_RO);
+		m_src->buf_addr = get_data_ptr(vc_req, desc, VHOST_ACCESS_RO);
 		if (unlikely(m_src->buf_iova == 0 || m_src->buf_addr == NULL)) {
 			VC_LOG_ERR("zero_copy may fail due to cross page data");
@@ -827,6 +953,15 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
 			goto error_exit;
 		}
+
+		if (unlikely(move_desc(vc_req->head, &desc,
+				chain->para.src_data_len) < 0)) {
+			VC_LOG_ERR("Incorrect descriptor");
+			ret = VIRTIO_CRYPTO_ERR;
+			goto error_exit;
+		}
 		break;
 	case RTE_VHOST_CRYPTO_ZERO_COPY_DISABLE:
+		vc_req->wb_pool = vcrypto->wb_pool;
+
 		if (unlikely(chain->para.src_data_len >
 				RTE_MBUF_DEFAULT_BUF_SIZE)) {
@@ -840,4 +975,5 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
 			goto error_exit;
 		}
+
 		break;
 	default:
@@ -858,6 +994,5 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
 		m_dst->buf_iova = gpa_to_hpa(vcrypto->dev,
 				desc->addr, chain->para.dst_data_len);
-		m_dst->buf_addr = get_data_ptr(vc_req, &desc,
-				chain->para.dst_data_len, VHOST_ACCESS_RW);
+		m_dst->buf_addr = get_data_ptr(vc_req, desc, VHOST_ACCESS_RW);
 		if (unlikely(m_dst->buf_iova == 0 || m_dst->buf_addr == NULL)) {
 			VC_LOG_ERR("zero_copy may fail due to cross page data");
@@ -866,8 +1001,15 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
 		}
 
+		if (unlikely(move_desc(vc_req->head, &desc,
+				chain->para.dst_data_len) < 0)) {
+			VC_LOG_ERR("Incorrect descriptor");
+			ret = VIRTIO_CRYPTO_ERR;
+			goto error_exit;
+		}
+
 		op->sym->auth.digest.phys_addr = gpa_to_hpa(vcrypto->dev,
 				desc->addr, chain->para.hash_result_len);
-		op->sym->auth.digest.data = get_data_ptr(vc_req, &desc,
-				chain->para.hash_result_len, VHOST_ACCESS_RW);
+		op->sym->auth.digest.data = get_data_ptr(vc_req, desc,
+				VHOST_ACCESS_RW);
 		if (unlikely(op->sym->auth.digest.phys_addr == 0)) {
 			VC_LOG_ERR("zero_copy may fail due to cross page data");
@@ -875,20 +1017,38 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
 			goto error_exit;
 		}
+
+		if (unlikely(move_desc(vc_req->head, &desc,
+				chain->para.hash_result_len) < 0)) {
+			VC_LOG_ERR("Incorrect descriptor");
+			ret = VIRTIO_CRYPTO_ERR;
+			goto error_exit;
+		}
+
 		break;
 	case RTE_VHOST_CRYPTO_ZERO_COPY_DISABLE:
-		digest_offset = m_dst->data_len;
-		digest_addr = rte_pktmbuf_mtod_offset(m_dst, void *,
+		vc_req->wb = prepare_write_back_data(vc_req, &desc, &ewb,
+				rte_pktmbuf_mtod(m_src, uint8_t *),
+				chain->para.cipher_start_src_offset,
+				chain->para.dst_data_len -
+				chain->para.cipher_start_src_offset);
+		if (unlikely(vc_req->wb == NULL)) {
+			ret = VIRTIO_CRYPTO_ERR;
+			goto error_exit;
+		}
+
+		digest_offset = m_src->data_len;
+		digest_addr = rte_pktmbuf_mtod_offset(m_src, void *,
 				digest_offset);
+		digest_desc = desc;
 
-		vc_req->wb_desc = desc;
-		vc_req->wb_len = m_dst->data_len + chain->para.hash_result_len;
-
-		if (unlikely(move_desc(vc_req->head, &desc,
-				chain->para.dst_data_len) < 0)) {
-			ret = VIRTIO_CRYPTO_BADMSG;
+		/** create a wb_data for digest */
+		ewb->next = prepare_write_back_data(vc_req, &desc, &ewb2,
+				digest_addr, 0, chain->para.hash_result_len);
+		if (unlikely(ewb->next == NULL)) {
+			ret = VIRTIO_CRYPTO_ERR;
 			goto error_exit;
 		}
 
-		if (unlikely(copy_data(digest_addr, vc_req, &desc,
+		if (unlikely(copy_data(digest_addr, vc_req, &digest_desc,
 				chain->para.hash_result_len)) < 0) {
 			ret = VIRTIO_CRYPTO_BADMSG;
@@ -897,5 +1057,5 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
 
 		op->sym->auth.digest.data = digest_addr;
-		op->sym->auth.digest.phys_addr = rte_pktmbuf_iova_offset(m_dst,
+		op->sym->auth.digest.phys_addr = rte_pktmbuf_iova_offset(m_src,
 				digest_offset);
 		break;
@@ -906,5 +1066,5 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
 
 	/* record inhdr */
-	vc_req->inhdr = get_data_ptr(vc_req, &desc, INHDR_LEN, VHOST_ACCESS_WO);
+	vc_req->inhdr = get_data_ptr(vc_req, desc, VHOST_ACCESS_WO);
 	if (unlikely(vc_req->inhdr == NULL)) {
 		ret = VIRTIO_CRYPTO_BADMSG;
@@ -929,4 +1089,6 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
 
 error_exit:
+	if (vc_req->wb)
+		free_wb_data(vc_req->wb, vc_req->wb_pool);
 	vc_req->len = INHDR_LEN;
 	return ret;
@@ -969,5 +1131,5 @@ vhost_crypto_process_one_req(struct vhost_crypto *vcrypto,
 	vc_req->zero_copy = vcrypto->option;
 
-	req = get_data_ptr(vc_req, &desc, sizeof(*req), VHOST_ACCESS_RO);
+	req = get_data_ptr(vc_req, desc, VHOST_ACCESS_RO);
 	if (unlikely(req == NULL)) {
 		switch (vcrypto->option) {
@@ -990,4 +1152,10 @@ vhost_crypto_process_one_req(struct vhost_crypto *vcrypto,
 			goto error_exit;
 		}
+	} else {
+		if (unlikely(move_desc(vc_req->head, &desc,
+				sizeof(*req)) < 0)) {
+			VC_LOG_ERR("Incorrect descriptor");
+			goto error_exit;
+		}
 	}
 
@@ -1064,5 +1232,4 @@ vhost_crypto_finalize_one_request(struct rte_crypto_op *op,
 	struct vhost_crypto_data_req *vc_req = rte_mbuf_to_priv(m_src);
 	uint16_t desc_idx;
-	int ret = 0;
 
 	if (unlikely(!vc_req)) {
@@ -1079,9 +1246,6 @@ vhost_crypto_finalize_one_request(struct rte_crypto_op *op,
 		vc_req->inhdr->status = VIRTIO_CRYPTO_ERR;
 	else {
-		if (vc_req->zero_copy == 0) {
-			ret = write_back_data(op, vc_req);
-			if (unlikely(ret != 0))
-				vc_req->inhdr->status = VIRTIO_CRYPTO_ERR;
-		}
+		if (vc_req->zero_copy == 0)
+			write_back_data(vc_req);
 	}
 
@@ -1089,7 +1253,9 @@ vhost_crypto_finalize_one_request(struct rte_crypto_op *op,
 	vc_req->vq->used->ring[desc_idx].len = vc_req->len;
 
-	rte_mempool_put(m_dst->pool, (void *)m_dst);
 	rte_mempool_put(m_src->pool, (void *)m_src);
 
+	if (m_dst)
+		rte_mempool_put(m_dst->pool, (void *)m_dst);
+
 	return vc_req->vq;
 }
@@ -1188,4 +1354,16 @@ rte_vhost_crypto_create(int vid, uint8_t cryptodev_id,
 	}
 
+	snprintf(name, 127, "WB_POOL_VM_%u", (uint32_t)vid);
+	vcrypto->wb_pool = rte_mempool_create(name,
+			VHOST_CRYPTO_MBUF_POOL_SIZE,
+			sizeof(struct vhost_crypto_writeback_data),
+			128, 0, NULL, NULL, NULL, NULL,
+			rte_socket_id(), 0);
+	if (!vcrypto->wb_pool) {
+		VC_LOG_ERR("Failed to creath mempool");
+		ret = -ENOMEM;
+		goto error_exit;
+	}
+
 	dev->extern_data = vcrypto;
 	dev->extern_ops.pre_msg_handle = NULL;
@@ -1224,4 +1402,5 @@ rte_vhost_crypto_free(int vid)
 	rte_hash_free(vcrypto->session_map);
 	rte_mempool_free(vcrypto->mbuf_pool);
+	rte_mempool_free(vcrypto->wb_pool);
 	rte_free(vcrypto);
 
@@ -1259,9 +1438,28 @@ rte_vhost_crypto_set_zero_copy(int vid, enum rte_vhost_crypto_zero_copy option)
 		return 0;
 
-	if (!(rte_mempool_full(vcrypto->mbuf_pool))) {
+	if (!(rte_mempool_full(vcrypto->mbuf_pool)) ||
+			!(rte_mempool_full(vcrypto->wb_pool))) {
 		VC_LOG_ERR("Cannot update zero copy as mempool is not full");
 		return -EINVAL;
 	}
 
+	if (option == RTE_VHOST_CRYPTO_ZERO_COPY_DISABLE) {
+		char name[128];
+
+		snprintf(name, 127, "WB_POOL_VM_%u", (uint32_t)vid);
+		vcrypto->wb_pool = rte_mempool_create(name,
+				VHOST_CRYPTO_MBUF_POOL_SIZE,
+				sizeof(struct vhost_crypto_writeback_data),
+				128, 0, NULL, NULL, NULL, NULL,
+				rte_socket_id(), 0);
+		if (!vcrypto->wb_pool) {
+			VC_LOG_ERR("Failed to creath mbuf pool");
+			return -ENOMEM;
+		}
+	} else {
+		rte_mempool_free(vcrypto->wb_pool);
+		vcrypto->wb_pool = NULL;
+	}
+
 	vcrypto->option = (uint8_t)option;
 
@@ -1279,7 +1477,6 @@ rte_vhost_crypto_fetch_requests(int vid, uint32_t qid,
 	uint16_t avail_idx;
 	uint16_t start_idx;
-	uint16_t required;
 	uint16_t count;
-	uint16_t i;
+	uint16_t i = 0;
 
 	if (unlikely(dev == NULL)) {
@@ -1313,25 +1510,64 @@ rte_vhost_crypto_fetch_requests(int vid, uint32_t qid,
 	 * we need only 1 mbuf as src and dst
 	 */
-	required = count * 2;
-	if (unlikely(rte_mempool_get_bulk(vcrypto->mbuf_pool, (void **)mbufs,
-			required) < 0)) {
-		VC_LOG_ERR("Insufficient memory");
-		return -ENOMEM;
-	}
-
-	for (i = 0; i < count; i++) {
-		uint16_t used_idx = (start_idx + i) & (vq->size - 1);
-		uint16_t desc_idx = vq->avail->ring[used_idx];
-		struct vring_desc *head = &vq->desc[desc_idx];
-		struct rte_crypto_op *op = ops[i];
-
-		op->sym->m_src = mbufs[i * 2];
-		op->sym->m_dst = mbufs[i * 2 + 1];
-		op->sym->m_src->data_off = 0;
-		op->sym->m_dst->data_off = 0;
-
-		if (unlikely(vhost_crypto_process_one_req(vcrypto, vq, op, head,
-				desc_idx)) < 0)
-			break;
+	switch (vcrypto->option) {
+	case RTE_VHOST_CRYPTO_ZERO_COPY_ENABLE:
+		if (unlikely(rte_mempool_get_bulk(vcrypto->mbuf_pool,
+				(void **)mbufs, count * 2) < 0)) {
+			VC_LOG_ERR("Insufficient memory");
+			return -ENOMEM;
+		}
+
+		for (i = 0; i < count; i++) {
+			uint16_t used_idx = (start_idx + i) & (vq->size - 1);
+			uint16_t desc_idx = vq->avail->ring[used_idx];
+			struct vring_desc *head = &vq->desc[desc_idx];
+			struct rte_crypto_op *op = ops[i];
+
+			op->sym->m_src = mbufs[i * 2];
+			op->sym->m_dst = mbufs[i * 2 + 1];
+			op->sym->m_src->data_off = 0;
+			op->sym->m_dst->data_off = 0;
+
+			if (unlikely(vhost_crypto_process_one_req(vcrypto, vq,
+					op, head, desc_idx)) < 0)
+				break;
+		}
+
+		if (unlikely(i < count))
+			rte_mempool_put_bulk(vcrypto->mbuf_pool,
+					(void **)&mbufs[i * 2],
+					(count - i) * 2);
+
+		break;
+
+	case RTE_VHOST_CRYPTO_ZERO_COPY_DISABLE:
+		if (unlikely(rte_mempool_get_bulk(vcrypto->mbuf_pool,
+				(void **)mbufs, count) < 0)) {
+			VC_LOG_ERR("Insufficient memory");
+			return -ENOMEM;
+		}
+
+		for (i = 0; i < count; i++) {
+			uint16_t used_idx = (start_idx + i) & (vq->size - 1);
+			uint16_t desc_idx = vq->avail->ring[used_idx];
+			struct vring_desc *head = &vq->desc[desc_idx];
+			struct rte_crypto_op *op = ops[i];
+
+			op->sym->m_src = mbufs[i];
+			op->sym->m_dst = NULL;
+			op->sym->m_src->data_off = 0;
+
+			if (unlikely(vhost_crypto_process_one_req(vcrypto, vq,
+					op, head, desc_idx)) < 0)
+				break;
+		}
+
+		if (unlikely(i < count))
+			rte_mempool_put_bulk(vcrypto->mbuf_pool,
+					(void **)&mbufs[i],
+					count - i);
+
+		break;
+
 	}
 
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.371781800 +0000
+++ 0013-vhost-crypto-fix-packet-copy-in-chaining-mode.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,8 +1,10 @@
-From cd1e8f03abf0323e6210ae89a80b89b242a35260 Mon Sep 17 00:00:00 2001
+From fac3c5ab38573c74522e5e4ab479087ef1293a4e Mon Sep 17 00:00:00 2001
 From: Fan Zhang <roy.fan.zhang@intel.com>
 Date: Tue, 6 Nov 2018 16:22:48 +0000
 Subject: [PATCH] vhost/crypto: fix packet copy in chaining mode
 
+[ upstream commit cd1e8f03abf0323e6210ae89a80b89b242a35260 ]
+
 This patch fixes the incorrect packet content copy in the
 chaining mode. Originally the content before cipher offset is
 overwritten by all zeros. This patch fixes the problem by
@@ -10,7 +12,6 @@
 settings during set up.
 
 Fixes: 3bb595ecd682 ("vhost/crypto: add request handler")
-Cc: stable@dpdk.org
 
 Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
 Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
@@ -19,7 +20,7 @@
  1 file changed, 350 insertions(+), 114 deletions(-)
 
 diff --git a/lib/librte_vhost/vhost_crypto.c b/lib/librte_vhost/vhost_crypto.c
-index 5472bead0..dd01afc08 100644
+index 1affeddfe..340c8a942 100644
 --- a/lib/librte_vhost/vhost_crypto.c
 +++ b/lib/librte_vhost/vhost_crypto.c
 @@ -199,4 +199,5 @@ struct vhost_crypto {
@@ -49,7 +50,7 @@
 +	struct rte_mempool *wb_pool;
  	uint16_t desc_idx;
  	uint16_t len;
-@@ -507,8 +515,6 @@ move_desc(struct vring_desc *head, struct vring_desc **cur_desc,
+@@ -508,8 +516,6 @@ move_desc(struct vring_desc *head, struct vring_desc **cur_desc,
  	}
  
 -	if (unlikely(left > 0)) {
@@ -59,7 +60,7 @@
 -	}
  
  	*cur_desc = &head[desc->next];
-@@ -516,4 +522,20 @@ move_desc(struct vring_desc *head, struct vring_desc **cur_desc,
+@@ -517,4 +523,20 @@ move_desc(struct vring_desc *head, struct vring_desc **cur_desc,
  }
  
 +static __rte_always_inline void *
@@ -80,7 +81,7 @@
 +
  static int
  copy_data(void *dst_data, struct vhost_crypto_data_req *vc_req,
-@@ -532,8 +554,6 @@ copy_data(void *dst_data, struct vhost_crypto_data_req *vc_req,
+@@ -533,8 +555,6 @@ copy_data(void *dst_data, struct vhost_crypto_data_req *vc_req,
  	src = IOVA_TO_VVA(uint8_t *, vc_req, desc->addr, &dlen,
  			VHOST_ACCESS_RO);
 -	if (unlikely(!src || !dlen)) {
@@ -90,7 +91,7 @@
 -	}
  
  	rte_memcpy((uint8_t *)data, src, dlen);
-@@ -610,71 +630,156 @@ copy_data(void *dst_data, struct vhost_crypto_data_req *vc_req,
+@@ -611,71 +631,156 @@ copy_data(void *dst_data, struct vhost_crypto_data_req *vc_req,
  }
  
 -static __rte_always_inline void *
@@ -293,13 +294,13 @@
 +	return NULL;
  }
  
-@@ -686,4 +791,5 @@ prepare_sym_cipher_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
+@@ -687,4 +792,5 @@ prepare_sym_cipher_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
  {
  	struct vring_desc *desc = cur_desc;
 +	struct vhost_crypto_writeback_data *ewb = NULL;
  	struct rte_mbuf *m_src = op->sym->m_src, *m_dst = op->sym->m_dst;
  	uint8_t *iv_data = rte_crypto_op_ctod_offset(op, uint8_t *, IV_OFFSET);
-@@ -704,6 +810,5 @@ prepare_sym_cipher_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
+@@ -705,6 +811,5 @@ prepare_sym_cipher_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
  		m_src->buf_iova = gpa_to_hpa(vcrypto->dev, desc->addr,
  				cipher->para.src_data_len);
 -		m_src->buf_addr = get_data_ptr(vc_req, &desc,
@@ -307,7 +308,7 @@
 +		m_src->buf_addr = get_data_ptr(vc_req, desc, VHOST_ACCESS_RO);
  		if (unlikely(m_src->buf_iova == 0 ||
  				m_src->buf_addr == NULL)) {
-@@ -712,6 +817,16 @@ prepare_sym_cipher_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
+@@ -713,6 +818,16 @@ prepare_sym_cipher_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
  			goto error_exit;
  		}
 +
@@ -324,7 +325,7 @@
 +
  		if (unlikely(cipher->para.src_data_len >
  				RTE_MBUF_DEFAULT_BUF_SIZE)) {
-@@ -744,6 +859,5 @@ prepare_sym_cipher_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
+@@ -745,6 +860,5 @@ prepare_sym_cipher_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
  		m_dst->buf_iova = gpa_to_hpa(vcrypto->dev,
  				desc->addr, cipher->para.dst_data_len);
 -		m_dst->buf_addr = get_data_ptr(vc_req, &desc,
@@ -332,7 +333,7 @@
 +		m_dst->buf_addr = get_data_ptr(vc_req, desc, VHOST_ACCESS_RW);
  		if (unlikely(m_dst->buf_iova == 0 || m_dst->buf_addr == NULL)) {
  			VC_LOG_ERR("zero_copy may fail due to cross page data");
-@@ -752,14 +866,22 @@ prepare_sym_cipher_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
+@@ -753,14 +867,22 @@ prepare_sym_cipher_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
  		}
  
 +		if (unlikely(move_desc(vc_req->head, &desc,
@@ -359,14 +360,14 @@
 +
  		break;
  	default:
-@@ -775,5 +897,5 @@ prepare_sym_cipher_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
+@@ -776,5 +898,5 @@ prepare_sym_cipher_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
  	op->sym->cipher.data.length = cipher->para.src_data_len;
  
 -	vc_req->inhdr = get_data_ptr(vc_req, &desc, INHDR_LEN, VHOST_ACCESS_WO);
 +	vc_req->inhdr = get_data_ptr(vc_req, desc, VHOST_ACCESS_WO);
  	if (unlikely(vc_req->inhdr == NULL)) {
  		ret = VIRTIO_CRYPTO_BADMSG;
-@@ -787,4 +909,7 @@ prepare_sym_cipher_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
+@@ -788,4 +910,7 @@ prepare_sym_cipher_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
  
  error_exit:
 +	if (vc_req->wb)
@@ -374,7 +375,7 @@
 +
  	vc_req->len = INHDR_LEN;
  	return ret;
-@@ -797,5 +922,6 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
+@@ -798,5 +923,6 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
  		struct vring_desc *cur_desc)
  {
 -	struct vring_desc *desc = cur_desc;
@@ -382,7 +383,7 @@
 +	struct vhost_crypto_writeback_data *ewb = NULL, *ewb2 = NULL;
  	struct rte_mbuf *m_src = op->sym->m_src, *m_dst = op->sym->m_dst;
  	uint8_t *iv_data = rte_crypto_op_ctod_offset(op, uint8_t *, IV_OFFSET);
-@@ -813,12 +939,12 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
+@@ -814,12 +940,12 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
  
  	m_src->data_len = chain->para.src_data_len;
 -	m_dst->data_len = chain->para.dst_data_len;
@@ -398,7 +399,7 @@
 +		m_src->buf_addr = get_data_ptr(vc_req, desc, VHOST_ACCESS_RO);
  		if (unlikely(m_src->buf_iova == 0 || m_src->buf_addr == NULL)) {
  			VC_LOG_ERR("zero_copy may fail due to cross page data");
-@@ -826,6 +952,15 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
+@@ -827,6 +953,15 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
  			goto error_exit;
  		}
 +
@@ -414,13 +415,13 @@
 +
  		if (unlikely(chain->para.src_data_len >
  				RTE_MBUF_DEFAULT_BUF_SIZE)) {
-@@ -839,4 +974,5 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
+@@ -840,4 +975,5 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
  			goto error_exit;
  		}
 +
  		break;
  	default:
-@@ -857,6 +993,5 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
+@@ -858,6 +994,5 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
  		m_dst->buf_iova = gpa_to_hpa(vcrypto->dev,
  				desc->addr, chain->para.dst_data_len);
 -		m_dst->buf_addr = get_data_ptr(vc_req, &desc,
@@ -428,7 +429,7 @@
 +		m_dst->buf_addr = get_data_ptr(vc_req, desc, VHOST_ACCESS_RW);
  		if (unlikely(m_dst->buf_iova == 0 || m_dst->buf_addr == NULL)) {
  			VC_LOG_ERR("zero_copy may fail due to cross page data");
-@@ -865,8 +1000,15 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
+@@ -866,8 +1001,15 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
  		}
  
 +		if (unlikely(move_desc(vc_req->head, &desc,
@@ -446,7 +447,7 @@
 +				VHOST_ACCESS_RW);
  		if (unlikely(op->sym->auth.digest.phys_addr == 0)) {
  			VC_LOG_ERR("zero_copy may fail due to cross page data");
-@@ -874,20 +1016,38 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
+@@ -875,20 +1017,38 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
  			goto error_exit;
  		}
 +
@@ -494,35 +495,35 @@
 +		if (unlikely(copy_data(digest_addr, vc_req, &digest_desc,
  				chain->para.hash_result_len)) < 0) {
  			ret = VIRTIO_CRYPTO_BADMSG;
-@@ -896,5 +1056,5 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
+@@ -897,5 +1057,5 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
  
  		op->sym->auth.digest.data = digest_addr;
 -		op->sym->auth.digest.phys_addr = rte_pktmbuf_iova_offset(m_dst,
 +		op->sym->auth.digest.phys_addr = rte_pktmbuf_iova_offset(m_src,
  				digest_offset);
  		break;
-@@ -905,5 +1065,5 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
+@@ -906,5 +1066,5 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
  
  	/* record inhdr */
 -	vc_req->inhdr = get_data_ptr(vc_req, &desc, INHDR_LEN, VHOST_ACCESS_WO);
 +	vc_req->inhdr = get_data_ptr(vc_req, desc, VHOST_ACCESS_WO);
  	if (unlikely(vc_req->inhdr == NULL)) {
  		ret = VIRTIO_CRYPTO_BADMSG;
-@@ -928,4 +1088,6 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
+@@ -929,4 +1089,6 @@ prepare_sym_chain_op(struct vhost_crypto *vcrypto, struct rte_crypto_op *op,
  
  error_exit:
 +	if (vc_req->wb)
 +		free_wb_data(vc_req->wb, vc_req->wb_pool);
  	vc_req->len = INHDR_LEN;
  	return ret;
-@@ -968,5 +1130,5 @@ vhost_crypto_process_one_req(struct vhost_crypto *vcrypto,
+@@ -969,5 +1131,5 @@ vhost_crypto_process_one_req(struct vhost_crypto *vcrypto,
  	vc_req->zero_copy = vcrypto->option;
  
 -	req = get_data_ptr(vc_req, &desc, sizeof(*req), VHOST_ACCESS_RO);
 +	req = get_data_ptr(vc_req, desc, VHOST_ACCESS_RO);
  	if (unlikely(req == NULL)) {
  		switch (vcrypto->option) {
-@@ -989,4 +1151,10 @@ vhost_crypto_process_one_req(struct vhost_crypto *vcrypto,
+@@ -990,4 +1152,10 @@ vhost_crypto_process_one_req(struct vhost_crypto *vcrypto,
  			goto error_exit;
  		}
 +	} else {
@@ -533,13 +534,13 @@
 +		}
  	}
  
-@@ -1063,5 +1231,4 @@ vhost_crypto_finalize_one_request(struct rte_crypto_op *op,
+@@ -1064,5 +1232,4 @@ vhost_crypto_finalize_one_request(struct rte_crypto_op *op,
  	struct vhost_crypto_data_req *vc_req = rte_mbuf_to_priv(m_src);
  	uint16_t desc_idx;
 -	int ret = 0;
  
  	if (unlikely(!vc_req)) {
-@@ -1078,9 +1245,6 @@ vhost_crypto_finalize_one_request(struct rte_crypto_op *op,
+@@ -1079,9 +1246,6 @@ vhost_crypto_finalize_one_request(struct rte_crypto_op *op,
  		vc_req->inhdr->status = VIRTIO_CRYPTO_ERR;
  	else {
 -		if (vc_req->zero_copy == 0) {
@@ -551,7 +552,7 @@
 +			write_back_data(vc_req);
  	}
  
-@@ -1088,7 +1252,9 @@ vhost_crypto_finalize_one_request(struct rte_crypto_op *op,
+@@ -1089,7 +1253,9 @@ vhost_crypto_finalize_one_request(struct rte_crypto_op *op,
  	vc_req->vq->used->ring[desc_idx].len = vc_req->len;
  
 -	rte_mempool_put(m_dst->pool, (void *)m_dst);
@@ -562,7 +563,7 @@
 +
  	return vc_req->vq;
  }
-@@ -1187,4 +1353,16 @@ rte_vhost_crypto_create(int vid, uint8_t cryptodev_id,
+@@ -1188,4 +1354,16 @@ rte_vhost_crypto_create(int vid, uint8_t cryptodev_id,
  	}
  
 +	snprintf(name, 127, "WB_POOL_VM_%u", (uint32_t)vid);
@@ -579,13 +580,13 @@
 +
  	dev->extern_data = vcrypto;
  	dev->extern_ops.pre_msg_handle = NULL;
-@@ -1223,4 +1401,5 @@ rte_vhost_crypto_free(int vid)
+@@ -1224,4 +1402,5 @@ rte_vhost_crypto_free(int vid)
  	rte_hash_free(vcrypto->session_map);
  	rte_mempool_free(vcrypto->mbuf_pool);
 +	rte_mempool_free(vcrypto->wb_pool);
  	rte_free(vcrypto);
  
-@@ -1258,9 +1437,28 @@ rte_vhost_crypto_set_zero_copy(int vid, enum rte_vhost_crypto_zero_copy option)
+@@ -1259,9 +1438,28 @@ rte_vhost_crypto_set_zero_copy(int vid, enum rte_vhost_crypto_zero_copy option)
  		return 0;
  
 -	if (!(rte_mempool_full(vcrypto->mbuf_pool))) {
@@ -615,7 +616,7 @@
 +
  	vcrypto->option = (uint8_t)option;
  
-@@ -1278,7 +1476,6 @@ rte_vhost_crypto_fetch_requests(int vid, uint32_t qid,
+@@ -1279,7 +1477,6 @@ rte_vhost_crypto_fetch_requests(int vid, uint32_t qid,
  	uint16_t avail_idx;
  	uint16_t start_idx;
 -	uint16_t required;
@@ -624,7 +625,7 @@
 +	uint16_t i = 0;
  
  	if (unlikely(dev == NULL)) {
-@@ -1312,25 +1509,64 @@ rte_vhost_crypto_fetch_requests(int vid, uint32_t qid,
+@@ -1313,25 +1510,64 @@ rte_vhost_crypto_fetch_requests(int vid, uint32_t qid,
  	 * we need only 1 mbuf as src and dst
  	 */
 -	required = count * 2;

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

* [dpdk-stable] patch 'net/virtio: fix unchecked return value' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (12 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'vhost/crypto: fix packet copy in chaining mode' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'vhost: remove unneeded null pointer check' " Kevin Traynor
                   ` (72 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Tiwei Bie; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 254dc4067fa088e5f7687231f9a0118b73d7bad5 Mon Sep 17 00:00:00 2001
From: Tiwei Bie <tiwei.bie@intel.com>
Date: Wed, 7 Nov 2018 17:01:01 +0800
Subject: [PATCH] net/virtio: fix unchecked return value

[ upstream commit ecfae1510edc1391285aa566a2d31e7eae8fc6d2 ]

Coverity issue: 302861
Fixes: 6ba1f63b5ab0 ("virtio: support specification 1.0")

Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 drivers/net/virtio/virtio_pci.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/net/virtio/virtio_pci.c b/drivers/net/virtio/virtio_pci.c
index 6bd22e54a..027be68c9 100644
--- a/drivers/net/virtio/virtio_pci.c
+++ b/drivers/net/virtio/virtio_pci.c
@@ -611,7 +611,13 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_hw *hw)
 			break;
 		case VIRTIO_PCI_CAP_NOTIFY_CFG:
-			rte_pci_read_config(dev, &hw->notify_off_multiplier,
+			ret = rte_pci_read_config(dev,
+					&hw->notify_off_multiplier,
 					4, pos + sizeof(cap));
-			hw->notify_base = get_cfg_addr(dev, &cap);
+			if (ret != 4)
+				PMD_INIT_LOG(DEBUG,
+					"failed to read notify_off_multiplier, ret %d",
+					ret);
+			else
+				hw->notify_base = get_cfg_addr(dev, &cap);
 			break;
 		case VIRTIO_PCI_CAP_DEVICE_CFG:
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.395577918 +0000
+++ 0014-net-virtio-fix-unchecked-return-value.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,11 +1,12 @@
-From ecfae1510edc1391285aa566a2d31e7eae8fc6d2 Mon Sep 17 00:00:00 2001
+From 254dc4067fa088e5f7687231f9a0118b73d7bad5 Mon Sep 17 00:00:00 2001
 From: Tiwei Bie <tiwei.bie@intel.com>
 Date: Wed, 7 Nov 2018 17:01:01 +0800
 Subject: [PATCH] net/virtio: fix unchecked return value
 
+[ upstream commit ecfae1510edc1391285aa566a2d31e7eae8fc6d2 ]
+
 Coverity issue: 302861
 Fixes: 6ba1f63b5ab0 ("virtio: support specification 1.0")
-Cc: stable@dpdk.org
 
 Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
 Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
@@ -14,10 +15,10 @@
  1 file changed, 8 insertions(+), 2 deletions(-)
 
 diff --git a/drivers/net/virtio/virtio_pci.c b/drivers/net/virtio/virtio_pci.c
-index 21110cd69..c8883c32e 100644
+index 6bd22e54a..027be68c9 100644
 --- a/drivers/net/virtio/virtio_pci.c
 +++ b/drivers/net/virtio/virtio_pci.c
-@@ -615,7 +615,13 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_hw *hw)
+@@ -611,7 +611,13 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_hw *hw)
  			break;
  		case VIRTIO_PCI_CAP_NOTIFY_CFG:
 -			rte_pci_read_config(dev, &hw->notify_off_multiplier,

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

* [dpdk-stable] patch 'vhost: remove unneeded null pointer check' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (13 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/virtio: fix unchecked return value' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/bnx2x: fix dynamic logging' " Kevin Traynor
                   ` (71 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Tiwei Bie; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 148cbf44ba826afe3d7474c8ccfb8df6b534e997 Mon Sep 17 00:00:00 2001
From: Tiwei Bie <tiwei.bie@intel.com>
Date: Wed, 7 Nov 2018 17:01:02 +0800
Subject: [PATCH] vhost: remove unneeded null pointer check

[ upstream commit 0541588a44bff07e4aae4c9cde8586326955c378 ]

The caller will guarantee that msg won't be null. Remove
the unneeded null pointer check which caused a Coverity
warning.

Coverity issue: 323484
Fixes: 8f972312b8f4 ("vhost: support vhost-user")

Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 lib/librte_vhost/vhost_user.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
index d19d78ce5..3738ae055 100644
--- a/lib/librte_vhost/vhost_user.c
+++ b/lib/librte_vhost/vhost_user.c
@@ -1425,5 +1425,5 @@ read_vhost_message(int sockfd, struct VhostUserMsg *msg)
 		return ret;
 
-	if (msg && msg->size) {
+	if (msg->size) {
 		if (msg->size > sizeof(msg->payload)) {
 			RTE_LOG(ERR, VHOST_CONFIG,
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.419233891 +0000
+++ 0015-vhost-remove-unneeded-null-pointer-check.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,15 +1,16 @@
-From 0541588a44bff07e4aae4c9cde8586326955c378 Mon Sep 17 00:00:00 2001
+From 148cbf44ba826afe3d7474c8ccfb8df6b534e997 Mon Sep 17 00:00:00 2001
 From: Tiwei Bie <tiwei.bie@intel.com>
 Date: Wed, 7 Nov 2018 17:01:02 +0800
 Subject: [PATCH] vhost: remove unneeded null pointer check
 
+[ upstream commit 0541588a44bff07e4aae4c9cde8586326955c378 ]
+
 The caller will guarantee that msg won't be null. Remove
 the unneeded null pointer check which caused a Coverity
 warning.
 
 Coverity issue: 323484
 Fixes: 8f972312b8f4 ("vhost: support vhost-user")
-Cc: stable@dpdk.org
 
 Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
 Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
@@ -18,10 +19,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
-index cc154f312..3ea64eba6 100644
+index d19d78ce5..3738ae055 100644
 --- a/lib/librte_vhost/vhost_user.c
 +++ b/lib/librte_vhost/vhost_user.c
-@@ -1733,5 +1733,5 @@ read_vhost_message(int sockfd, struct VhostUserMsg *msg)
+@@ -1425,5 +1425,5 @@ read_vhost_message(int sockfd, struct VhostUserMsg *msg)
  		return ret;
  
 -	if (msg && msg->size) {

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

* [dpdk-stable] patch 'net/bnx2x: fix dynamic logging' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (14 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'vhost: remove unneeded null pointer check' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/bnx2x: fix VF link state update' " Kevin Traynor
                   ` (70 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Rasesh Mody; +Cc: Stephen Hemminger, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 416f760dbfe770be9207c9f25385c6b8bb77a2f6 Mon Sep 17 00:00:00 2001
From: Rasesh Mody <rasesh.mody@cavium.com>
Date: Thu, 8 Nov 2018 21:19:26 +0000
Subject: [PATCH] net/bnx2x: fix dynamic logging

[ upstream commit 853c782496534446f60189be2516c4bb933f11df ]

Use rte_log() rather than RTE_LOG() for dynamic logging. Rearrange
dynamic log types to the top and configurable log types to bottom.
Remove unused RTE_LIBRTE_BNX2X_DEBUG_TX_FREE

Fixes: ba7eeb035a5f ("net/bnx2x: fix logging to include device name")

Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/net/bnx2x/bnx2x_logs.h | 35 ++++++++++++++++------------------
 1 file changed, 16 insertions(+), 19 deletions(-)

diff --git a/drivers/net/bnx2x/bnx2x_logs.h b/drivers/net/bnx2x/bnx2x_logs.h
index 753bccdf4..f0cf69c16 100644
--- a/drivers/net/bnx2x/bnx2x_logs.h
+++ b/drivers/net/bnx2x/bnx2x_logs.h
@@ -11,12 +11,22 @@
 extern int bnx2x_logtype_init;
 #define PMD_INIT_LOG(level, sc, fmt, args...) \
-	RTE_LOG(level, PMD, \
+	rte_log(RTE_LOG_ ## level, bnx2x_logtype_init, \
 	"[bnx2x_pmd: %s] %s() " fmt "\n", (sc)->devinfo.name, __func__, ##args)
 
 #define PMD_INIT_FUNC_TRACE(sc) PMD_INIT_LOG(DEBUG, sc, " >>")
 
+extern int bnx2x_logtype_driver;
+#define PMD_DRV_LOG_RAW(level, sc, fmt, args...) \
+	rte_log(RTE_LOG_ ## level, bnx2x_logtype_driver, \
+		"[%s:%d(%s)] " fmt,	__func__, __LINE__, \
+		(sc)->devinfo.name ? (sc)->devinfo.name : "", ## args)
+
+#define PMD_DRV_LOG(level, sc, fmt, args...) \
+	PMD_DRV_LOG_RAW(level, sc, fmt "\n", ## args)
+
 #ifdef RTE_LIBRTE_BNX2X_DEBUG_RX
 #define PMD_RX_LOG(level, fmt, args...) \
-	RTE_LOG(level, PMD, "%s(): " fmt "\n", __func__, ## args)
+	rte_log(RTE_LOG_ ## level, bnx2x_logtype_driver, \
+	"%s(): " fmt "\n", __func__, ## args)
 #else
 #define PMD_RX_LOG(level, fmt, args...) do { } while(0)
@@ -25,27 +35,14 @@ extern int bnx2x_logtype_init;
 #ifdef RTE_LIBRTE_BNX2X_DEBUG_TX
 #define PMD_TX_LOG(level, fmt, args...) \
-	RTE_LOG(level, PMD, "%s(): " fmt "\n", __func__, ## args)
+	rte_log(RTE_LOG_ ## level, bnx2x_logtype_driver, \
+		"%s(): " fmt "\n", __func__, ## args)
 #else
 #define PMD_TX_LOG(level, fmt, args...) do { } while(0)
 #endif
 
-#ifdef RTE_LIBRTE_BNX2X_DEBUG_TX_FREE
-#define PMD_TX_FREE_LOG(level, fmt, args...) \
-	RTE_LOG(level, PMD, "%s(): " fmt "\n", __func__, ## args)
-#else
-#define PMD_TX_FREE_LOG(level, fmt, args...) do { } while(0)
-#endif
-
-extern int bnx2x_logtype_driver;
-#define PMD_DRV_LOG_RAW(level, sc, fmt, args...) \
-	RTE_LOG(level, PMD, "[%s:%d(%s)] " fmt,	__func__, __LINE__, \
-		(sc)->devinfo.name ? (sc)->devinfo.name : "", ## args)
-
-#define PMD_DRV_LOG(level, sc, fmt, args...) \
-	PMD_DRV_LOG_RAW(level, sc, fmt "\n", ## args)
-
 #ifdef RTE_LIBRTE_BNX2X_DEBUG_PERIODIC
 #define PMD_DEBUG_PERIODIC_LOG(level, sc, fmt, args...) \
-	RTE_LOG(level, PMD, "%s(%s): " fmt "\n", __func__, \
+	rte_log(RTE_LOG_ ## level, bnx2x_logtype_driver, \
+		"%s(%s): " fmt "\n", __func__, \
 		(sc)->devinfo.name ? (sc)->devinfo.name : "", ## args)
 #else
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.443701579 +0000
+++ 0016-net-bnx2x-fix-dynamic-logging.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,14 +1,15 @@
-From 853c782496534446f60189be2516c4bb933f11df Mon Sep 17 00:00:00 2001
+From 416f760dbfe770be9207c9f25385c6b8bb77a2f6 Mon Sep 17 00:00:00 2001
 From: Rasesh Mody <rasesh.mody@cavium.com>
 Date: Thu, 8 Nov 2018 21:19:26 +0000
 Subject: [PATCH] net/bnx2x: fix dynamic logging
 
+[ upstream commit 853c782496534446f60189be2516c4bb933f11df ]
+
 Use rte_log() rather than RTE_LOG() for dynamic logging. Rearrange
 dynamic log types to the top and configurable log types to bottom.
 Remove unused RTE_LIBRTE_BNX2X_DEBUG_TX_FREE
 
 Fixes: ba7eeb035a5f ("net/bnx2x: fix logging to include device name")
-Cc: stable@dpdk.org
 
 Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
 Acked-by: Stephen Hemminger <stephen@networkplumber.org>

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

* [dpdk-stable] patch 'net/bnx2x: fix VF link state update' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (15 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/bnx2x: fix dynamic logging' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/bonding: fix crash when stopping mode 4 port' " Kevin Traynor
                   ` (69 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Rasesh Mody; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From e2ac0b8aca9a15a45ad3bd112955b71b9abc0667 Mon Sep 17 00:00:00 2001
From: Rasesh Mody <rasesh.mody@cavium.com>
Date: Thu, 8 Nov 2018 21:19:30 +0000
Subject: [PATCH] net/bnx2x: fix VF link state update

[ upstream commit 39ae74caa0d1158df15ea1e2f8e893eee1a2189d ]

In general the VF driver should not access the chip. For VF link status
update, VF driver should not use HW lock, use bnx2x_link_report_locked()
instead.
Add few prints for releasing previously held HW locks.

Fixes: a9b58b15ed51 ("net/bnx2x: fix to add PHY lock")

Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
---
 drivers/net/bnx2x/bnx2x.c | 25 +++++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)

diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c
index 279759366..a6d2687a2 100644
--- a/drivers/net/bnx2x/bnx2x.c
+++ b/drivers/net/bnx2x/bnx2x.c
@@ -200,6 +200,10 @@ static int bnx2x_acquire_hw_lock(struct bnx2x_softc *sc, uint32_t resource)
 	int cnt;
 
+#ifndef RTE_LIBRTE_BNX2X_DEBUG_PERIODIC
 	if (resource)
 		PMD_INIT_FUNC_TRACE(sc);
+#else
+	PMD_INIT_FUNC_TRACE(sc);
+#endif
 
 	/* validate the resource is within range */
@@ -249,6 +253,10 @@ static int bnx2x_release_hw_lock(struct bnx2x_softc *sc, uint32_t resource)
 	uint32_t hw_lock_control_reg;
 
+#ifndef RTE_LIBRTE_BNX2X_DEBUG_PERIODIC
 	if (resource)
 		PMD_INIT_FUNC_TRACE(sc);
+#else
+	PMD_INIT_FUNC_TRACE(sc);
+#endif
 
 	/* validate the resource is within range */
@@ -7042,5 +7050,5 @@ void bnx2x_link_status_update(struct bnx2x_softc *sc)
 		bnx2x_link_report(sc);
 	} else {
-		bnx2x_link_report(sc);
+		bnx2x_link_report_locked(sc);
 		bnx2x_stats_handle(sc, STATS_EVENT_LINK_UP);
 	}
@@ -9389,4 +9397,6 @@ static int bnx2x_prev_unload(struct bnx2x_softc *sc)
 	uint32_t rc = 0;
 
+	PMD_INIT_FUNC_TRACE(sc);
+
 	/*
 	 * Clear HW from errors which may have resulted from an interrupted
@@ -9396,20 +9406,21 @@ static int bnx2x_prev_unload(struct bnx2x_softc *sc)
 
 	/* Release previously held locks */
-	if (SC_FUNC(sc) <= 5)
-		hw_lock_reg = (MISC_REG_DRIVER_CONTROL_1 + SC_FUNC(sc) * 8);
-	else
-		hw_lock_reg =
-		    (MISC_REG_DRIVER_CONTROL_7 + (SC_FUNC(sc) - 6) * 8);
+	hw_lock_reg = (SC_FUNC(sc) <= 5) ?
+			(MISC_REG_DRIVER_CONTROL_1 + SC_FUNC(sc) * 8) :
+			(MISC_REG_DRIVER_CONTROL_7 + (SC_FUNC(sc) - 6) * 8);
 
 	hw_lock_val = (REG_RD(sc, hw_lock_reg));
 	if (hw_lock_val) {
 		if (hw_lock_val & HW_LOCK_RESOURCE_NVRAM) {
+			PMD_DRV_LOG(DEBUG, sc, "Releasing previously held NVRAM lock\n");
 			REG_WR(sc, MCP_REG_MCPR_NVM_SW_ARB,
 			       (MCPR_NVM_SW_ARB_ARB_REQ_CLR1 << SC_PORT(sc)));
 		}
+		PMD_DRV_LOG(DEBUG, sc, "Releasing previously held HW lock\n");
 		REG_WR(sc, hw_lock_reg, 0xffffffff);
 	}
 
 	if (MCPR_ACCESS_LOCK_LOCK & REG_RD(sc, MCP_REG_MCPR_ACCESS_LOCK)) {
+		PMD_DRV_LOG(DEBUG, sc, "Releasing previously held ALR\n");
 		REG_WR(sc, MCP_REG_MCPR_ACCESS_LOCK, 0);
 	}
@@ -9741,4 +9752,6 @@ int bnx2x_attach(struct bnx2x_softc *sc)
 		    (SHMEM_RD(sc, func_mb[SC_FW_MB_IDX(sc)].drv_mb_header) &
 		     DRV_MSG_SEQ_NUMBER_MASK);
+		PMD_DRV_LOG(DEBUG, sc, "prev unload fw_seq 0x%04x",
+			    sc->fw_seq);
 		bnx2x_prev_unload(sc);
 	}
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.466044197 +0000
+++ 0017-net-bnx2x-fix-VF-link-state-update.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,15 +1,16 @@
-From 39ae74caa0d1158df15ea1e2f8e893eee1a2189d Mon Sep 17 00:00:00 2001
+From e2ac0b8aca9a15a45ad3bd112955b71b9abc0667 Mon Sep 17 00:00:00 2001
 From: Rasesh Mody <rasesh.mody@cavium.com>
 Date: Thu, 8 Nov 2018 21:19:30 +0000
 Subject: [PATCH] net/bnx2x: fix VF link state update
 
+[ upstream commit 39ae74caa0d1158df15ea1e2f8e893eee1a2189d ]
+
 In general the VF driver should not access the chip. For VF link status
 update, VF driver should not use HW lock, use bnx2x_link_report_locked()
 instead.
 Add few prints for releasing previously held HW locks.
 
 Fixes: a9b58b15ed51 ("net/bnx2x: fix to add PHY lock")
-Cc: stable@dpdk.org
 
 Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
 ---

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

* [dpdk-stable] patch 'net/bonding: fix crash when stopping mode 4 port' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (16 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/bnx2x: fix VF link state update' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: fallback quietly if pkg-config is unavailable' " Kevin Traynor
                   ` (68 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Radu Nicolau; +Cc: Chas Williams, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 598a25cee224700a2411521878b2ad670db94303 Mon Sep 17 00:00:00 2001
From: Radu Nicolau <radu.nicolau@intel.com>
Date: Thu, 8 Nov 2018 15:26:42 +0000
Subject: [PATCH] net/bonding: fix crash when stopping mode 4 port

[ upstream commit 0911d4ec01839c9149a0df5758d00d9d57a47cea ]

When stopping a bonded port all slaves are deactivated. Attempting
to deactivate a slave that was never activated will result in a segfault
when mode 4 is used.

Fixes: 7486331308f6 ("net/bonding: stop and deactivate slaves on stop")

Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Chas Williams <chas3@att.com>
---
 drivers/net/bonding/rte_eth_bond_pmd.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index d03f7ce7e..e3e2e83be 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -2180,7 +2180,12 @@ bond_ethdev_stop(struct rte_eth_dev *eth_dev)
 	internals->link_status_polling_enabled = 0;
 	for (i = 0; i < internals->slave_count; i++) {
-		internals->slaves[i].last_link_status = 0;
-		rte_eth_dev_stop(internals->slaves[i].port_id);
-		deactivate_slave(eth_dev, internals->slaves[i].port_id);
+		uint16_t slave_id = internals->slaves[i].port_id;
+		if (find_slave_by_id(internals->active_slaves,
+				internals->active_slave_count, slave_id) !=
+						internals->active_slave_count) {
+			internals->slaves[i].last_link_status = 0;
+			rte_eth_dev_stop(slave_id);
+			deactivate_slave(eth_dev, slave_id);
+		}
 	}
 }
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.499945566 +0000
+++ 0018-net-bonding-fix-crash-when-stopping-mode-4-port.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,14 +1,15 @@
-From 0911d4ec01839c9149a0df5758d00d9d57a47cea Mon Sep 17 00:00:00 2001
+From 598a25cee224700a2411521878b2ad670db94303 Mon Sep 17 00:00:00 2001
 From: Radu Nicolau <radu.nicolau@intel.com>
 Date: Thu, 8 Nov 2018 15:26:42 +0000
 Subject: [PATCH] net/bonding: fix crash when stopping mode 4 port
 
+[ upstream commit 0911d4ec01839c9149a0df5758d00d9d57a47cea ]
+
 When stopping a bonded port all slaves are deactivated. Attempting
 to deactivate a slave that was never activated will result in a segfault
 when mode 4 is used.
 
 Fixes: 7486331308f6 ("net/bonding: stop and deactivate slaves on stop")
-Cc: stable@dpdk.org
 
 Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
 Acked-by: Chas Williams <chas3@att.com>
@@ -17,10 +18,10 @@
  1 file changed, 8 insertions(+), 3 deletions(-)
 
 diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
-index 1a6d8e4df..2661620ab 100644
+index d03f7ce7e..e3e2e83be 100644
 --- a/drivers/net/bonding/rte_eth_bond_pmd.c
 +++ b/drivers/net/bonding/rte_eth_bond_pmd.c
-@@ -2182,7 +2182,12 @@ bond_ethdev_stop(struct rte_eth_dev *eth_dev)
+@@ -2180,7 +2180,12 @@ bond_ethdev_stop(struct rte_eth_dev *eth_dev)
  	internals->link_status_polling_enabled = 0;
  	for (i = 0; i < internals->slave_count; i++) {
 -		internals->slaves[i].last_link_status = 0;

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

* [dpdk-stable] patch 'net/mlx5: fallback quietly if pkg-config is unavailable' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (17 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/bonding: fix crash when stopping mode 4 port' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/qede: fix crash when configure fails' " Kevin Traynor
                   ` (67 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Luca Boccassi; +Cc: Thomas Monjalon, Shahaf Shuler, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 2db19a3d6b42be55a8653be9c6a88c2acdbc232b Mon Sep 17 00:00:00 2001
From: Luca Boccassi <bluca@debian.org>
Date: Fri, 9 Nov 2018 22:48:07 +0000
Subject: [PATCH] net/mlx5: fallback quietly if pkg-config is unavailable

[ upstream commit 0c9df53de400e187238fb0b2cf379c1739ed78ac ]

Don't fail the build if pkg-config can't be found, instead print the
linker flag as it was doing before the change.

Fixes: b6b87939193a ("net/mlx5: use pkg-config to handle SUSE libmnl")

Reported-by: Thomas Monjalon <thomas@monjalon.net>
Signed-off-by: Luca Boccassi <bluca@debian.org>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
---
 drivers/net/mlx5/Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/mlx5/Makefile b/drivers/net/mlx5/Makefile
index 08b616567..04d77c6fd 100644
--- a/drivers/net/mlx5/Makefile
+++ b/drivers/net/mlx5/Makefile
@@ -50,5 +50,5 @@ CFLAGS += -D_XOPEN_SOURCE=600
 CFLAGS += $(WERROR_FLAGS)
 CFLAGS += -Wno-strict-prototypes
-CFLAGS += $(shell pkg-config --cflags libmnl)
+CFLAGS += $(shell command -v pkg-config > /dev/null 2>&1 && pkg-config --cflags libmnl)
 ifeq ($(CONFIG_RTE_LIBRTE_MLX5_DLOPEN_DEPS),y)
 CFLAGS += -DMLX5_GLUE='"$(LIB_GLUE)"'
@@ -59,5 +59,5 @@ else
 LDLIBS += -libverbs -lmlx5
 endif
-LDLIBS += $(shell pkg-config --libs libmnl)
+LDLIBS += $(shell command -v pkg-config > /dev/null 2>&1 && pkg-config --libs libmnl || echo "-lmnl")
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
 LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.536320115 +0000
+++ 0019-net-mlx5-fallback-quietly-if-pkg-config-is-unavailab.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,13 +1,14 @@
-From 0c9df53de400e187238fb0b2cf379c1739ed78ac Mon Sep 17 00:00:00 2001
+From 2db19a3d6b42be55a8653be9c6a88c2acdbc232b Mon Sep 17 00:00:00 2001
 From: Luca Boccassi <bluca@debian.org>
 Date: Fri, 9 Nov 2018 22:48:07 +0000
 Subject: [PATCH] net/mlx5: fallback quietly if pkg-config is unavailable
 
+[ upstream commit 0c9df53de400e187238fb0b2cf379c1739ed78ac ]
+
 Don't fail the build if pkg-config can't be found, instead print the
 linker flag as it was doing before the change.
 
 Fixes: b6b87939193a ("net/mlx5: use pkg-config to handle SUSE libmnl")
-Cc: stable@dpdk.org
 
 Reported-by: Thomas Monjalon <thomas@monjalon.net>
 Signed-off-by: Luca Boccassi <bluca@debian.org>
@@ -17,17 +18,17 @@
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/drivers/net/mlx5/Makefile b/drivers/net/mlx5/Makefile
-index 7a50bccd2..895cdfeed 100644
+index 08b616567..04d77c6fd 100644
 --- a/drivers/net/mlx5/Makefile
 +++ b/drivers/net/mlx5/Makefile
-@@ -52,5 +52,5 @@ CFLAGS += -D_XOPEN_SOURCE=600
+@@ -50,5 +50,5 @@ CFLAGS += -D_XOPEN_SOURCE=600
  CFLAGS += $(WERROR_FLAGS)
  CFLAGS += -Wno-strict-prototypes
 -CFLAGS += $(shell pkg-config --cflags libmnl)
 +CFLAGS += $(shell command -v pkg-config > /dev/null 2>&1 && pkg-config --cflags libmnl)
  ifeq ($(CONFIG_RTE_LIBRTE_MLX5_DLOPEN_DEPS),y)
  CFLAGS += -DMLX5_GLUE='"$(LIB_GLUE)"'
-@@ -61,5 +61,5 @@ else
+@@ -59,5 +59,5 @@ else
  LDLIBS += -libverbs -lmlx5
  endif
 -LDLIBS += $(shell pkg-config --libs libmnl)

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

* [dpdk-stable] patch 'net/qede: fix crash when configure fails' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (18 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: fallback quietly if pkg-config is unavailable' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'app/testpmd: fix L4 length for UDP checksum' " Kevin Traynor
                   ` (66 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Timothy Redaelli; +Cc: Rasesh Mody, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 4ccc689fb102088eb3e706ad7b51ffa5b16245ef Mon Sep 17 00:00:00 2001
From: Timothy Redaelli <tredaelli@redhat.com>
Date: Fri, 9 Nov 2018 16:45:40 +0100
Subject: [PATCH] net/qede: fix crash when configure fails

[ upstream commit 69d3e963e446be9c8d98638223589e8cdf44dd9e ]

Currently, if configuration fails (for example if a 100G card is used
with an odd number of RX/TX queues) QEDE crashes due to a null pointer
dereference.

This commit fixes it by checking that the pointer is not NULL before
using it.

Fixes: 7105b24f4bb8 ("net/qede: fix memory alloc for multiple port reconfig")

Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
Acked-by: Rasesh Mody <rasesh.mody@cavium.com>
---
 drivers/net/qede/qede_rxtx.c | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/drivers/net/qede/qede_rxtx.c b/drivers/net/qede/qede_rxtx.c
index 675c0a033..963a8b421 100644
--- a/drivers/net/qede/qede_rxtx.c
+++ b/drivers/net/qede/qede_rxtx.c
@@ -236,10 +236,11 @@ void qede_rx_queue_release(void *rx_queue)
 {
 	struct qede_rx_queue *rxq = rx_queue;
-	struct qede_dev *qdev = rxq->qdev;
-	struct ecore_dev *edev = QEDE_INIT_EDEV(qdev);
-
-	PMD_INIT_FUNC_TRACE(edev);
+	struct qede_dev *qdev;
+	struct ecore_dev *edev;
 
 	if (rxq) {
+		qdev = rxq->qdev;
+		edev = QEDE_INIT_EDEV(qdev);
+		PMD_INIT_FUNC_TRACE(edev);
 		qede_rx_queue_release_mbufs(rxq);
 		qdev->ops->common->chain_free(edev, &rxq->rx_bd_ring);
@@ -400,10 +401,11 @@ void qede_tx_queue_release(void *tx_queue)
 {
 	struct qede_tx_queue *txq = tx_queue;
-	struct qede_dev *qdev = txq->qdev;
-	struct ecore_dev *edev = QEDE_INIT_EDEV(qdev);
-
-	PMD_INIT_FUNC_TRACE(edev);
+	struct qede_dev *qdev;
+	struct ecore_dev *edev;
 
 	if (txq) {
+		qdev = txq->qdev;
+		edev = QEDE_INIT_EDEV(qdev);
+		PMD_INIT_FUNC_TRACE(edev);
 		qede_tx_queue_release_mbufs(txq);
 		qdev->ops->common->chain_free(edev, &txq->tx_pbl);
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.559278678 +0000
+++ 0020-net-qede-fix-crash-when-configure-fails.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,8 +1,10 @@
-From 69d3e963e446be9c8d98638223589e8cdf44dd9e Mon Sep 17 00:00:00 2001
+From 4ccc689fb102088eb3e706ad7b51ffa5b16245ef Mon Sep 17 00:00:00 2001
 From: Timothy Redaelli <tredaelli@redhat.com>
 Date: Fri, 9 Nov 2018 16:45:40 +0100
 Subject: [PATCH] net/qede: fix crash when configure fails
 
+[ upstream commit 69d3e963e446be9c8d98638223589e8cdf44dd9e ]
+
 Currently, if configuration fails (for example if a 100G card is used
 with an odd number of RX/TX queues) QEDE crashes due to a null pointer
 dereference.
@@ -11,7 +13,6 @@
 using it.
 
 Fixes: 7105b24f4bb8 ("net/qede: fix memory alloc for multiple port reconfig")
-Cc: stable@dpdk.org
 
 Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
 Acked-by: Rasesh Mody <rasesh.mody@cavium.com>
@@ -20,7 +21,7 @@
  1 file changed, 10 insertions(+), 8 deletions(-)
 
 diff --git a/drivers/net/qede/qede_rxtx.c b/drivers/net/qede/qede_rxtx.c
-index 8a4772f46..296189107 100644
+index 675c0a033..963a8b421 100644
 --- a/drivers/net/qede/qede_rxtx.c
 +++ b/drivers/net/qede/qede_rxtx.c
 @@ -236,10 +236,11 @@ void qede_rx_queue_release(void *rx_queue)

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

* [dpdk-stable] patch 'app/testpmd: fix L4 length for UDP checksum' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (19 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/qede: fix crash when configure fails' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/octeontx: fix mbuf corruption with large private sizes' " Kevin Traynor
                   ` (65 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Raslan Darawsheh; +Cc: Ophir Munk, Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 53d09f8b3df311c88e4f692074bcdbc97573d55f Mon Sep 17 00:00:00 2001
From: Raslan Darawsheh <rasland@mellanox.com>
Date: Sun, 11 Nov 2018 15:31:37 +0000
Subject: [PATCH] app/testpmd: fix L4 length for UDP checksum

[ upstream commit 2b5651c026d8d1a687a8f7a210b1b8f13f906911 ]

testpmd only sets the L4 len in case of TCP packets.
some PMD's like tap rely on mbuf meta data to calculate csum

This will set the L4 len for UDP packets same as TCP

Fixes: 160c3dc9458c ("app/testpmd: introduce IP parsing functions in csum fwd engine")

Signed-off-by: Raslan Darawsheh <rasland@mellanox.com>
Signed-off-by: Ophir Munk <ophirmu@mellanox.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 app/test-pmd/csumonly.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c
index 494829266..4821157f7 100644
--- a/app/test-pmd/csumonly.c
+++ b/app/test-pmd/csumonly.c
@@ -112,5 +112,7 @@ parse_ipv4(struct ipv4_hdr *ipv4_hdr, struct testpmd_offload_info *info)
 		tcp_hdr = (struct tcp_hdr *)((char *)ipv4_hdr + info->l3_len);
 		info->l4_len = (tcp_hdr->data_off & 0xf0) >> 2;
-	} else
+	} else if (info->l4_proto == IPPROTO_UDP)
+		info->l4_len = sizeof(struct udp_hdr);
+	else
 		info->l4_len = 0;
 }
@@ -129,5 +131,7 @@ parse_ipv6(struct ipv6_hdr *ipv6_hdr, struct testpmd_offload_info *info)
 		tcp_hdr = (struct tcp_hdr *)((char *)ipv6_hdr + info->l3_len);
 		info->l4_len = (tcp_hdr->data_off & 0xf0) >> 2;
-	} else
+	} else if (info->l4_proto == IPPROTO_UDP)
+		info->l4_len = sizeof(struct udp_hdr);
+	else
 		info->l4_len = 0;
 }
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.585847360 +0000
+++ 0021-app-testpmd-fix-L4-length-for-UDP-checksum.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,15 +1,16 @@
-From 2b5651c026d8d1a687a8f7a210b1b8f13f906911 Mon Sep 17 00:00:00 2001
+From 53d09f8b3df311c88e4f692074bcdbc97573d55f Mon Sep 17 00:00:00 2001
 From: Raslan Darawsheh <rasland@mellanox.com>
 Date: Sun, 11 Nov 2018 15:31:37 +0000
 Subject: [PATCH] app/testpmd: fix L4 length for UDP checksum
 
+[ upstream commit 2b5651c026d8d1a687a8f7a210b1b8f13f906911 ]
+
 testpmd only sets the L4 len in case of TCP packets.
 some PMD's like tap rely on mbuf meta data to calculate csum
 
 This will set the L4 len for UDP packets same as TCP
 
 Fixes: 160c3dc9458c ("app/testpmd: introduce IP parsing functions in csum fwd engine")
-CC: stable@dpdk.org
 
 Signed-off-by: Raslan Darawsheh <rasland@mellanox.com>
 Signed-off-by: Ophir Munk <ophirmu@mellanox.com>
@@ -19,7 +20,7 @@
  1 file changed, 6 insertions(+), 2 deletions(-)
 
 diff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c
-index dce4b9be7..ffeee2051 100644
+index 494829266..4821157f7 100644
 --- a/app/test-pmd/csumonly.c
 +++ b/app/test-pmd/csumonly.c
 @@ -112,5 +112,7 @@ parse_ipv4(struct ipv4_hdr *ipv4_hdr, struct testpmd_offload_info *info)

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

* [dpdk-stable] patch 'net/octeontx: fix mbuf corruption with large private sizes' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (20 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'app/testpmd: fix L4 length for UDP checksum' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/qede: fix Tx tunnel offload support mask' " Kevin Traynor
                   ` (64 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Nitin Saxena; +Cc: Jerin Jacob, Anoob Joseph, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 880234be51cf1911645a7fd65305e0dbc553539a Mon Sep 17 00:00:00 2001
From: Nitin Saxena <nitin.saxena@caviumnetworks.com>
Date: Mon, 12 Nov 2018 17:54:09 +0000
Subject: [PATCH] net/octeontx: fix mbuf corruption with large private sizes

[ upstream commit 679dfdc96ef9ae0b1a54098fc19986f93621c8cb ]

When the priv_size of the mbuf is > 128 bytes, the mbuf would not be
properly constructed. This would lead to a corrupt mbuf.

This patch fixes the issue by accounting for
rte_pktmbuf_priv_size(pool) and RTE_PKTMBUF_HEADROOM
while configuring first skip register calculation.

Fixes: 197438ee9f18 ("net/octeontx: add Rx queue setup and release ops")

Suggested-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Signed-off-by: Anoob Joseph <anoob.joseph@caviumnetworks.com>
Signed-off-by: Nitin Saxena <nitin.saxena@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 drivers/net/octeontx/base/octeontx_pki_var.h | 13 +++++++++++--
 drivers/net/octeontx/octeontx_ethdev.c       |  3 ++-
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/drivers/net/octeontx/base/octeontx_pki_var.h b/drivers/net/octeontx/base/octeontx_pki_var.h
index c793b655a..f4661d24e 100644
--- a/drivers/net/octeontx/base/octeontx_pki_var.h
+++ b/drivers/net/octeontx/base/octeontx_pki_var.h
@@ -8,6 +8,15 @@
 #include <rte_byteorder.h>
 
-#define OCTTX_PACKET_WQE_SKIP		128
-#define OCTTX_PACKET_FIRST_SKIP		240
+#define OCTTX_PACKET_WQE_SKIP			128
+#define OCTTX_PACKET_FIRST_SKIP_MAXREGVAL	496
+#define OCTTX_PACKET_FIRST_SKIP_MAXLEN		512
+#define OCTTX_PACKET_FIRST_SKIP_ADJUST(x)				\
+		(RTE_MIN(x, OCTTX_PACKET_FIRST_SKIP_MAXREGVAL))
+#define OCTTX_PACKET_FIRST_SKIP_SUM(p)					\
+				(OCTTX_PACKET_WQE_SKIP			\
+				+ rte_pktmbuf_priv_size(p)		\
+				+ RTE_PKTMBUF_HEADROOM)
+#define OCTTX_PACKET_FIRST_SKIP(p)					\
+	OCTTX_PACKET_FIRST_SKIP_ADJUST(OCTTX_PACKET_FIRST_SKIP_SUM(p))
 #define OCTTX_PACKET_LATER_SKIP		128
 
diff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/octeontx/octeontx_ethdev.c
index 0f3d5d673..328187c70 100644
--- a/drivers/net/octeontx/octeontx_ethdev.c
+++ b/drivers/net/octeontx/octeontx_ethdev.c
@@ -853,8 +853,9 @@ octeontx_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t qidx,
 
 		pktbuf_conf.wqe_skip = OCTTX_PACKET_WQE_SKIP;
-		pktbuf_conf.first_skip = OCTTX_PACKET_FIRST_SKIP;
+		pktbuf_conf.first_skip = OCTTX_PACKET_FIRST_SKIP(mb_pool);
 		pktbuf_conf.later_skip = OCTTX_PACKET_LATER_SKIP;
 		pktbuf_conf.mbuff_size = (mb_pool->elt_size -
 					RTE_PKTMBUF_HEADROOM -
+					rte_pktmbuf_priv_size(mb_pool) -
 					sizeof(struct rte_mbuf));
 
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.609879259 +0000
+++ 0022-net-octeontx-fix-mbuf-corruption-with-large-private-.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,8 +1,10 @@
-From 679dfdc96ef9ae0b1a54098fc19986f93621c8cb Mon Sep 17 00:00:00 2001
+From 880234be51cf1911645a7fd65305e0dbc553539a Mon Sep 17 00:00:00 2001
 From: Nitin Saxena <nitin.saxena@caviumnetworks.com>
 Date: Mon, 12 Nov 2018 17:54:09 +0000
 Subject: [PATCH] net/octeontx: fix mbuf corruption with large private sizes
 
+[ upstream commit 679dfdc96ef9ae0b1a54098fc19986f93621c8cb ]
+
 When the priv_size of the mbuf is > 128 bytes, the mbuf would not be
 properly constructed. This would lead to a corrupt mbuf.
 
@@ -11,7 +13,6 @@
 while configuring first skip register calculation.
 
 Fixes: 197438ee9f18 ("net/octeontx: add Rx queue setup and release ops")
-Cc: stable@dpdk.org
 
 Suggested-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
 Signed-off-by: Anoob Joseph <anoob.joseph@caviumnetworks.com>
@@ -45,10 +46,10 @@
  #define OCTTX_PACKET_LATER_SKIP		128
  
 diff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/octeontx/octeontx_ethdev.c
-index 068148624..a3063be42 100644
+index 0f3d5d673..328187c70 100644
 --- a/drivers/net/octeontx/octeontx_ethdev.c
 +++ b/drivers/net/octeontx/octeontx_ethdev.c
-@@ -845,8 +845,9 @@ octeontx_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t qidx,
+@@ -853,8 +853,9 @@ octeontx_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t qidx,
  
  		pktbuf_conf.wqe_skip = OCTTX_PACKET_WQE_SKIP;
 -		pktbuf_conf.first_skip = OCTTX_PACKET_FIRST_SKIP;

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

* [dpdk-stable] patch 'net/qede: fix Tx tunnel offload support mask' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (21 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/octeontx: fix mbuf corruption with large private sizes' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'ethdev: fix invalid configuration after failure' " Kevin Traynor
                   ` (63 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Shahed Shaikh; +Cc: Ferruh Yigit, Rasesh Mody, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 2f99aad6ec549118d30f2cf038ba0644fc3f043d Mon Sep 17 00:00:00 2001
From: Shahed Shaikh <shahed.shaikh@cavium.com>
Date: Mon, 12 Nov 2018 18:19:38 +0000
Subject: [PATCH] net/qede: fix Tx tunnel offload support mask

[ upstream commit 49d3978d5723a3a71c348e1623cd10d489c0d4c0 ]

Tunneling offloads are represented by multi-bit values. So, feature
wise tunneling offload can only be entirely supported/unsupported
using PKT_TX_TUNNEL_MASK. Its upon PMDs to further isolate which of
the tunneling offload types are supported by respective PMD.
Using subset of bits from PKT_TX_TUNNEL_MASK to indicate supported vs
unsupported offloads can lead to undesired result.

Use PKT_TX_TUNNEL_MASK in QEDE_TX_OFFLOAD_MASK and use independent
value of supported PKT_TX_TUNNEL_* in .tx_pkt_prepare() to mark
supported tunnel offloads.

Fixes: 44346c24b790 ("net/qede: fix VXLAN tunnel Tx offload flag setting")

Suggested-by: Ferruh Yigit <ferruh.yigit@intel.com>
Signed-off-by: Shahed Shaikh <shahed.shaikh@cavium.com>
Reviewed-by: Rasesh Mody <rasesh.mody@cavium.com>
---
 drivers/net/qede/qede_rxtx.c | 12 ++++++++++++
 drivers/net/qede/qede_rxtx.h |  5 +----
 2 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/drivers/net/qede/qede_rxtx.c b/drivers/net/qede/qede_rxtx.c
index 963a8b421..23494d0f3 100644
--- a/drivers/net/qede/qede_rxtx.c
+++ b/drivers/net/qede/qede_rxtx.c
@@ -1762,4 +1762,16 @@ qede_xmit_prep_pkts(__rte_unused void *p_txq, struct rte_mbuf **tx_pkts,
 		}
 		if (ol_flags & QEDE_TX_OFFLOAD_NOTSUP_MASK) {
+			/* We support only limited tunnel protocols */
+			if (ol_flags & PKT_TX_TUNNEL_MASK) {
+				uint64_t temp;
+
+				temp = ol_flags & PKT_TX_TUNNEL_MASK;
+				if (temp == PKT_TX_TUNNEL_VXLAN ||
+				    temp == PKT_TX_TUNNEL_GENEVE ||
+				    temp == PKT_TX_TUNNEL_MPLSINUDP ||
+				    temp == PKT_TX_TUNNEL_GRE)
+					break;
+			}
+
 			rte_errno = -ENOTSUP;
 			break;
diff --git a/drivers/net/qede/qede_rxtx.h b/drivers/net/qede/qede_rxtx.h
index 8bd8d1c5a..70e6a1df2 100644
--- a/drivers/net/qede/qede_rxtx.h
+++ b/drivers/net/qede/qede_rxtx.h
@@ -154,8 +154,5 @@
 #define QEDE_TX_OFFLOAD_MASK (QEDE_TX_CSUM_OFFLOAD_MASK | \
 			      PKT_TX_VLAN_PKT		| \
-			      PKT_TX_TUNNEL_VXLAN	| \
-			      PKT_TX_TUNNEL_GENEVE	| \
-			      PKT_TX_TUNNEL_MPLSINUDP   | \
-			      PKT_TX_TUNNEL_GRE)
+			      PKT_TX_TUNNEL_MASK)
 
 #define QEDE_TX_OFFLOAD_NOTSUP_MASK \
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.634915768 +0000
+++ 0023-net-qede-fix-Tx-tunnel-offload-support-mask.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,8 +1,10 @@
-From 49d3978d5723a3a71c348e1623cd10d489c0d4c0 Mon Sep 17 00:00:00 2001
+From 2f99aad6ec549118d30f2cf038ba0644fc3f043d Mon Sep 17 00:00:00 2001
 From: Shahed Shaikh <shahed.shaikh@cavium.com>
 Date: Mon, 12 Nov 2018 18:19:38 +0000
 Subject: [PATCH] net/qede: fix Tx tunnel offload support mask
 
+[ upstream commit 49d3978d5723a3a71c348e1623cd10d489c0d4c0 ]
+
 Tunneling offloads are represented by multi-bit values. So, feature
 wise tunneling offload can only be entirely supported/unsupported
 using PKT_TX_TUNNEL_MASK. Its upon PMDs to further isolate which of
@@ -15,7 +17,6 @@
 supported tunnel offloads.
 
 Fixes: 44346c24b790 ("net/qede: fix VXLAN tunnel Tx offload flag setting")
-Cc: stable@dpdk.org
 
 Suggested-by: Ferruh Yigit <ferruh.yigit@intel.com>
 Signed-off-by: Shahed Shaikh <shahed.shaikh@cavium.com>
@@ -26,7 +27,7 @@
  2 files changed, 13 insertions(+), 4 deletions(-)
 
 diff --git a/drivers/net/qede/qede_rxtx.c b/drivers/net/qede/qede_rxtx.c
-index 296189107..0e33be1a3 100644
+index 963a8b421..23494d0f3 100644
 --- a/drivers/net/qede/qede_rxtx.c
 +++ b/drivers/net/qede/qede_rxtx.c
 @@ -1762,4 +1762,16 @@ qede_xmit_prep_pkts(__rte_unused void *p_txq, struct rte_mbuf **tx_pkts,
@@ -47,7 +48,7 @@
  			rte_errno = -ENOTSUP;
  			break;
 diff --git a/drivers/net/qede/qede_rxtx.h b/drivers/net/qede/qede_rxtx.h
-index d3a41e92e..0afadd8da 100644
+index 8bd8d1c5a..70e6a1df2 100644
 --- a/drivers/net/qede/qede_rxtx.h
 +++ b/drivers/net/qede/qede_rxtx.h
 @@ -154,8 +154,5 @@

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

* [dpdk-stable] patch 'ethdev: fix invalid configuration after failure' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (22 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/qede: fix Tx tunnel offload support mask' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'ethdev: fix device info getting' " Kevin Traynor
                   ` (62 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Wenzhuo Lu; +Cc: Ferruh Yigit, Andrew Rybchenko, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 3be9c9bdfb09b4f25d3e26ddf56856be2b24e7ed Mon Sep 17 00:00:00 2001
From: Wenzhuo Lu <wenzhuo.lu@intel.com>
Date: Tue, 13 Nov 2018 11:12:36 +0000
Subject: [PATCH] ethdev: fix invalid configuration after failure

[ upstream commit aa28ec5d27b0ead28877081b30ccf0b74a16bbcd ]

The new configuration is stored during the rte_eth_dev_configure() API
but the API may fail. After failure stored configuration will be
invalid since it is not fully applied to the device.

We better roll the configuration back after failure.

Fixes: af75078fece3 ("first public release")

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
 lib/librte_ethdev/rte_ethdev.c | 49 +++++++++++++++++++++++++---------
 1 file changed, 36 insertions(+), 13 deletions(-)

diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
index 07335a1d6..85e80b313 100644
--- a/lib/librte_ethdev/rte_ethdev.c
+++ b/lib/librte_ethdev/rte_ethdev.c
@@ -1020,6 +1020,8 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 	struct rte_eth_dev *dev;
 	struct rte_eth_dev_info dev_info;
+	struct rte_eth_conf orig_conf;
 	struct rte_eth_conf local_conf = *dev_conf;
 	int diag;
+	int ret;
 
 	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -EINVAL);
@@ -1068,4 +1070,7 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 	}
 
+	 /* Store original config, as rollback required on failure */
+	memcpy(&orig_conf, &dev->data->dev_conf, sizeof(dev->data->dev_conf));
+
 	/* Copy the dev_conf parameter into the dev structure */
 	memcpy(&dev->data->dev_conf, &local_conf, sizeof(dev->data->dev_conf));
@@ -1079,5 +1084,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 		RTE_ETHDEV_LOG(ERR, "Ethdev port_id=%u nb_rx_queues=%u > %u\n",
 			port_id, nb_rx_q, dev_info.max_rx_queues);
-		return -EINVAL;
+		ret = -EINVAL;
+		goto rollback;
 	}
 
@@ -1085,5 +1091,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 		RTE_ETHDEV_LOG(ERR, "Ethdev port_id=%u nb_tx_queues=%u > %u\n",
 			port_id, nb_tx_q, dev_info.max_tx_queues);
-		return -EINVAL;
+		ret = -EINVAL;
+		goto rollback;
 	}
 
@@ -1093,5 +1100,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 		RTE_ETHDEV_LOG(ERR, "Driver %s does not support lsc\n",
 			dev->device->driver->name);
-		return -EINVAL;
+		ret = -EINVAL;
+		goto rollback;
 	}
 	if ((dev_conf->intr_conf.rmv == 1) &&
@@ -1099,5 +1107,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 		RTE_ETHDEV_LOG(ERR, "Driver %s does not support rmv\n",
 			dev->device->driver->name);
-		return -EINVAL;
+		ret = -EINVAL;
+		goto rollback;
 	}
 
@@ -1112,5 +1121,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 				port_id, dev_conf->rxmode.max_rx_pkt_len,
 				dev_info.max_rx_pktlen);
-			return -EINVAL;
+			ret = -EINVAL;
+			goto rollback;
 		} else if (dev_conf->rxmode.max_rx_pkt_len < ETHER_MIN_LEN) {
 			RTE_ETHDEV_LOG(ERR,
@@ -1118,5 +1128,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 				port_id, dev_conf->rxmode.max_rx_pkt_len,
 				(unsigned)ETHER_MIN_LEN);
-			return -EINVAL;
+			ret = -EINVAL;
+			goto rollback;
 		}
 	} else {
@@ -1137,5 +1148,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 			dev_info.rx_offload_capa,
 			__func__);
-		return -EINVAL;
+		ret = -EINVAL;
+		goto rollback;
 	}
 	if ((local_conf.txmode.offloads & dev_info.tx_offload_capa) !=
@@ -1147,5 +1159,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 			dev_info.tx_offload_capa,
 			__func__);
-		return -EINVAL;
+		ret = -EINVAL;
+		goto rollback;
 	}
 
@@ -1166,5 +1179,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 			port_id, dev_conf->rx_adv_conf.rss_conf.rss_hf,
 			dev_info.flow_type_rss_offloads);
-		return -EINVAL;
+		ret = -EINVAL;
+		goto rollback;
 	}
 
@@ -1177,5 +1191,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 			"Port%u rte_eth_dev_rx_queue_config = %d\n",
 			port_id, diag);
-		return diag;
+		ret = diag;
+		goto rollback;
 	}
 
@@ -1186,5 +1201,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 			port_id, diag);
 		rte_eth_dev_rx_queue_config(dev, 0);
-		return diag;
+		ret = diag;
+		goto rollback;
 	}
 
@@ -1195,5 +1211,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 		rte_eth_dev_rx_queue_config(dev, 0);
 		rte_eth_dev_tx_queue_config(dev, 0);
-		return eth_err(port_id, diag);
+		ret = eth_err(port_id, diag);
+		goto rollback;
 	}
 
@@ -1205,8 +1222,14 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 		rte_eth_dev_rx_queue_config(dev, 0);
 		rte_eth_dev_tx_queue_config(dev, 0);
-		return eth_err(port_id, diag);
+		ret = eth_err(port_id, diag);
+		goto rollback;
 	}
 
 	return 0;
+
+rollback:
+	memcpy(&dev->data->dev_conf, &orig_conf, sizeof(dev->data->dev_conf));
+
+	return ret;
 }
 
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.660236544 +0000
+++ 0024-ethdev-fix-invalid-configuration-after-failure.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,8 +1,10 @@
-From aa28ec5d27b0ead28877081b30ccf0b74a16bbcd Mon Sep 17 00:00:00 2001
+From 3be9c9bdfb09b4f25d3e26ddf56856be2b24e7ed Mon Sep 17 00:00:00 2001
 From: Wenzhuo Lu <wenzhuo.lu@intel.com>
 Date: Tue, 13 Nov 2018 11:12:36 +0000
 Subject: [PATCH] ethdev: fix invalid configuration after failure
 
+[ upstream commit aa28ec5d27b0ead28877081b30ccf0b74a16bbcd ]
+
 The new configuration is stored during the rte_eth_dev_configure() API
 but the API may fail. After failure stored configuration will be
 invalid since it is not fully applied to the device.
@@ -10,7 +12,6 @@
 We better roll the configuration back after failure.
 
 Fixes: af75078fece3 ("first public release")
-Cc: stable@dpdk.org
 
 Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
 Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
@@ -20,10 +21,10 @@
  1 file changed, 36 insertions(+), 13 deletions(-)
 
 diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
-index 8eaa5fcc7..04dff1f5e 100644
+index 07335a1d6..85e80b313 100644
 --- a/lib/librte_ethdev/rte_ethdev.c
 +++ b/lib/librte_ethdev/rte_ethdev.c
-@@ -1093,6 +1093,8 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
+@@ -1020,6 +1020,8 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
  	struct rte_eth_dev *dev;
  	struct rte_eth_dev_info dev_info;
 +	struct rte_eth_conf orig_conf;
@@ -32,7 +33,7 @@
 +	int ret;
  
  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -EINVAL);
-@@ -1141,4 +1143,7 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
+@@ -1068,4 +1070,7 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
  	}
  
 +	 /* Store original config, as rollback required on failure */
@@ -40,7 +41,7 @@
 +
  	/* Copy the dev_conf parameter into the dev structure */
  	memcpy(&dev->data->dev_conf, &local_conf, sizeof(dev->data->dev_conf));
-@@ -1152,5 +1157,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
+@@ -1079,5 +1084,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
  		RTE_ETHDEV_LOG(ERR, "Ethdev port_id=%u nb_rx_queues=%u > %u\n",
  			port_id, nb_rx_q, dev_info.max_rx_queues);
 -		return -EINVAL;
@@ -48,7 +49,7 @@
 +		goto rollback;
  	}
  
-@@ -1158,5 +1164,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
+@@ -1085,5 +1091,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
  		RTE_ETHDEV_LOG(ERR, "Ethdev port_id=%u nb_tx_queues=%u > %u\n",
  			port_id, nb_tx_q, dev_info.max_tx_queues);
 -		return -EINVAL;
@@ -56,7 +57,7 @@
 +		goto rollback;
  	}
  
-@@ -1166,5 +1173,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
+@@ -1093,5 +1100,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
  		RTE_ETHDEV_LOG(ERR, "Driver %s does not support lsc\n",
  			dev->device->driver->name);
 -		return -EINVAL;
@@ -64,7 +65,7 @@
 +		goto rollback;
  	}
  	if ((dev_conf->intr_conf.rmv == 1) &&
-@@ -1172,5 +1180,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
+@@ -1099,5 +1107,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
  		RTE_ETHDEV_LOG(ERR, "Driver %s does not support rmv\n",
  			dev->device->driver->name);
 -		return -EINVAL;
@@ -72,7 +73,7 @@
 +		goto rollback;
  	}
  
-@@ -1185,5 +1194,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
+@@ -1112,5 +1121,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
  				port_id, dev_conf->rxmode.max_rx_pkt_len,
  				dev_info.max_rx_pktlen);
 -			return -EINVAL;
@@ -80,7 +81,7 @@
 +			goto rollback;
  		} else if (dev_conf->rxmode.max_rx_pkt_len < ETHER_MIN_LEN) {
  			RTE_ETHDEV_LOG(ERR,
-@@ -1191,5 +1201,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
+@@ -1118,5 +1128,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
  				port_id, dev_conf->rxmode.max_rx_pkt_len,
  				(unsigned)ETHER_MIN_LEN);
 -			return -EINVAL;
@@ -88,7 +89,7 @@
 +			goto rollback;
  		}
  	} else {
-@@ -1210,5 +1221,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
+@@ -1137,5 +1148,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
  			dev_info.rx_offload_capa,
  			__func__);
 -		return -EINVAL;
@@ -96,7 +97,7 @@
 +		goto rollback;
  	}
  	if ((local_conf.txmode.offloads & dev_info.tx_offload_capa) !=
-@@ -1220,5 +1232,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
+@@ -1147,5 +1159,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
  			dev_info.tx_offload_capa,
  			__func__);
 -		return -EINVAL;
@@ -104,7 +105,7 @@
 +		goto rollback;
  	}
  
-@@ -1231,5 +1244,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
+@@ -1166,5 +1179,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
  			port_id, dev_conf->rx_adv_conf.rss_conf.rss_hf,
  			dev_info.flow_type_rss_offloads);
 -		return -EINVAL;
@@ -112,7 +113,7 @@
 +		goto rollback;
  	}
  
-@@ -1242,5 +1256,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
+@@ -1177,5 +1191,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
  			"Port%u rte_eth_dev_rx_queue_config = %d\n",
  			port_id, diag);
 -		return diag;
@@ -120,7 +121,7 @@
 +		goto rollback;
  	}
  
-@@ -1251,5 +1266,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
+@@ -1186,5 +1201,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
  			port_id, diag);
  		rte_eth_dev_rx_queue_config(dev, 0);
 -		return diag;
@@ -128,7 +129,7 @@
 +		goto rollback;
  	}
  
-@@ -1260,5 +1276,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
+@@ -1195,5 +1211,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
  		rte_eth_dev_rx_queue_config(dev, 0);
  		rte_eth_dev_tx_queue_config(dev, 0);
 -		return eth_err(port_id, diag);
@@ -136,7 +137,7 @@
 +		goto rollback;
  	}
  
-@@ -1270,8 +1287,14 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
+@@ -1205,8 +1222,14 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
  		rte_eth_dev_rx_queue_config(dev, 0);
  		rte_eth_dev_tx_queue_config(dev, 0);
 -		return eth_err(port_id, diag);

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

* [dpdk-stable] patch 'ethdev: fix device info getting' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (23 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'ethdev: fix invalid configuration after failure' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/sfc/base: fix field order in filter spec struct' " Kevin Traynor
                   ` (61 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Wenzhuo Lu; +Cc: Ferruh Yigit, Andrew Rybchenko, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 9cd64ef01b250f08db274fd9f28bad5e5f4f6d9c Mon Sep 17 00:00:00 2001
From: Wenzhuo Lu <wenzhuo.lu@intel.com>
Date: Tue, 13 Nov 2018 11:12:37 +0000
Subject: [PATCH] ethdev: fix device info getting

[ upstream commit 1a411a6fdbf18574153eb91bc9cc8b63025a2050 ]

The device information cannot be gotten correctly before
the configuration is set. Because on some NICs the
information has dependence on the configuration.

Fixes: 3be82f5cc5e3 ("ethdev: support PMD-tuned Tx/Rx parameters")

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
 lib/librte_ethdev/rte_ethdev.c | 35 +++++++++++++++++++---------------
 1 file changed, 20 insertions(+), 15 deletions(-)

diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
index 85e80b313..196b27c95 100644
--- a/lib/librte_ethdev/rte_ethdev.c
+++ b/lib/librte_ethdev/rte_ethdev.c
@@ -1032,4 +1032,20 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->dev_configure, -ENOTSUP);
 
+	if (dev->data->dev_started) {
+		RTE_ETHDEV_LOG(ERR,
+			"Port %u must be stopped to allow configuration\n",
+			port_id);
+		return -EBUSY;
+	}
+
+	 /* Store original config, as rollback required on failure */
+	memcpy(&orig_conf, &dev->data->dev_conf, sizeof(dev->data->dev_conf));
+
+	/*
+	 * Copy the dev_conf parameter into the dev structure.
+	 * rte_eth_dev_info_get() requires dev_conf, copy it before dev_info get
+	 */
+	memcpy(&dev->data->dev_conf, &local_conf, sizeof(dev->data->dev_conf));
+
 	rte_eth_dev_info_get(port_id, &dev_info);
 
@@ -1053,5 +1069,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 			"Number of RX queues requested (%u) is greater than max supported(%d)\n",
 			nb_rx_q, RTE_MAX_QUEUES_PER_PORT);
-		return -EINVAL;
+		ret = -EINVAL;
+		goto rollback;
 	}
 
@@ -1060,20 +1077,8 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 			"Number of TX queues requested (%u) is greater than max supported(%d)\n",
 			nb_tx_q, RTE_MAX_QUEUES_PER_PORT);
-		return -EINVAL;
+		ret = -EINVAL;
+		goto rollback;
 	}
 
-	if (dev->data->dev_started) {
-		RTE_ETHDEV_LOG(ERR,
-			"Port %u must be stopped to allow configuration\n",
-			port_id);
-		return -EBUSY;
-	}
-
-	 /* Store original config, as rollback required on failure */
-	memcpy(&orig_conf, &dev->data->dev_conf, sizeof(dev->data->dev_conf));
-
-	/* Copy the dev_conf parameter into the dev structure */
-	memcpy(&dev->data->dev_conf, &local_conf, sizeof(dev->data->dev_conf));
-
 	/*
 	 * Check that the numbers of RX and TX queues are not greater
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.687043120 +0000
+++ 0025-ethdev-fix-device-info-getting.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,14 +1,15 @@
-From 1a411a6fdbf18574153eb91bc9cc8b63025a2050 Mon Sep 17 00:00:00 2001
+From 9cd64ef01b250f08db274fd9f28bad5e5f4f6d9c Mon Sep 17 00:00:00 2001
 From: Wenzhuo Lu <wenzhuo.lu@intel.com>
 Date: Tue, 13 Nov 2018 11:12:37 +0000
 Subject: [PATCH] ethdev: fix device info getting
 
+[ upstream commit 1a411a6fdbf18574153eb91bc9cc8b63025a2050 ]
+
 The device information cannot be gotten correctly before
 the configuration is set. Because on some NICs the
 information has dependence on the configuration.
 
 Fixes: 3be82f5cc5e3 ("ethdev: support PMD-tuned Tx/Rx parameters")
-Cc: stable@dpdk.org
 
 Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
 Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
@@ -18,10 +19,10 @@
  1 file changed, 20 insertions(+), 15 deletions(-)
 
 diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
-index 04dff1f5e..0f01138ea 100644
+index 85e80b313..196b27c95 100644
 --- a/lib/librte_ethdev/rte_ethdev.c
 +++ b/lib/librte_ethdev/rte_ethdev.c
-@@ -1105,4 +1105,20 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
+@@ -1032,4 +1032,20 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
  	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->dev_configure, -ENOTSUP);
  
 +	if (dev->data->dev_started) {
@@ -42,7 +43,7 @@
 +
  	rte_eth_dev_info_get(port_id, &dev_info);
  
-@@ -1126,5 +1142,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
+@@ -1053,5 +1069,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
  			"Number of RX queues requested (%u) is greater than max supported(%d)\n",
  			nb_rx_q, RTE_MAX_QUEUES_PER_PORT);
 -		return -EINVAL;
@@ -50,7 +51,7 @@
 +		goto rollback;
  	}
  
-@@ -1133,20 +1150,8 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
+@@ -1060,20 +1077,8 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
  			"Number of TX queues requested (%u) is greater than max supported(%d)\n",
  			nb_tx_q, RTE_MAX_QUEUES_PER_PORT);
 -		return -EINVAL;

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

* [dpdk-stable] patch 'net/sfc/base: fix field order in filter spec struct' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (24 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'ethdev: fix device info getting' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/enic: fix size check in Tx prepare handler' " Kevin Traynor
                   ` (60 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Igor Romanov; +Cc: Andrew Rybchenko, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 74346fda9eb6067033bd31aee4bbf09bfc5b458c Mon Sep 17 00:00:00 2001
From: Igor Romanov <igor.romanov@oktetlabs.ru>
Date: Tue, 13 Nov 2018 15:02:44 +0000
Subject: [PATCH] net/sfc/base: fix field order in filter spec struct

[ upstream commit f7c8539801480bf39f1792daf562c664ee6ad37b ]

Fields in the struct efx_filter_spec_t starting from efs_outer_vid
are hashed for software filter lookup. efs_mark is not a matching
criteria. Exclude efs_mark from hash.

Fixes: 5f78af523912 ("net/sfc: support MARK and FLAG actions in flow API")

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

diff --git a/drivers/net/sfc/base/efx.h b/drivers/net/sfc/base/efx.h
index 24fdd867d..13e0c92e7 100644
--- a/drivers/net/sfc/base/efx.h
+++ b/drivers/net/sfc/base/efx.h
@@ -2705,4 +2705,6 @@ typedef struct efx_filter_spec_s {
 	uint16_t			efs_dmaq_id;
 	uint32_t			efs_rss_context;
+	uint32_t			efs_mark;
+	/* Fields below here are hashed for software filter lookup */
 	uint16_t			efs_outer_vid;
 	uint16_t			efs_inner_vid;
@@ -2718,5 +2720,4 @@ typedef struct efx_filter_spec_s {
 	uint8_t				efs_vni_or_vsid[EFX_VNI_OR_VSID_LEN];
 	uint8_t				efs_ifrm_loc_mac[EFX_MAC_ADDR_LEN];
-	uint32_t			efs_mark;
 } efx_filter_spec_t;
 
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.714214168 +0000
+++ 0026-net-sfc-base-fix-field-order-in-filter-spec-struct.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,14 +1,15 @@
-From f7c8539801480bf39f1792daf562c664ee6ad37b Mon Sep 17 00:00:00 2001
+From 74346fda9eb6067033bd31aee4bbf09bfc5b458c Mon Sep 17 00:00:00 2001
 From: Igor Romanov <igor.romanov@oktetlabs.ru>
 Date: Tue, 13 Nov 2018 15:02:44 +0000
 Subject: [PATCH] net/sfc/base: fix field order in filter spec struct
 
+[ upstream commit f7c8539801480bf39f1792daf562c664ee6ad37b ]
+
 Fields in the struct efx_filter_spec_t starting from efs_outer_vid
 are hashed for software filter lookup. efs_mark is not a matching
 criteria. Exclude efs_mark from hash.
 
 Fixes: 5f78af523912 ("net/sfc: support MARK and FLAG actions in flow API")
-Cc: stable@dpdk.org
 
 Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
 Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
@@ -17,17 +18,17 @@
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/drivers/net/sfc/base/efx.h b/drivers/net/sfc/base/efx.h
-index 8e10e8934..2e847b6ce 100644
+index 24fdd867d..13e0c92e7 100644
 --- a/drivers/net/sfc/base/efx.h
 +++ b/drivers/net/sfc/base/efx.h
-@@ -2879,4 +2879,6 @@ typedef struct efx_filter_spec_s {
+@@ -2705,4 +2705,6 @@ typedef struct efx_filter_spec_s {
  	uint16_t			efs_dmaq_id;
  	uint32_t			efs_rss_context;
 +	uint32_t			efs_mark;
 +	/* Fields below here are hashed for software filter lookup */
  	uint16_t			efs_outer_vid;
  	uint16_t			efs_inner_vid;
-@@ -2892,5 +2894,4 @@ typedef struct efx_filter_spec_s {
+@@ -2718,5 +2720,4 @@ typedef struct efx_filter_spec_s {
  	uint8_t				efs_vni_or_vsid[EFX_VNI_OR_VSID_LEN];
  	uint8_t				efs_ifrm_loc_mac[EFX_MAC_ADDR_LEN];
 -	uint32_t			efs_mark;

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

* [dpdk-stable] patch 'net/enic: fix size check in Tx prepare handler' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (25 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/sfc/base: fix field order in filter spec struct' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/ixgbevf: fix link state' " Kevin Traynor
                   ` (59 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Hyong Youb Kim; +Cc: John Daley, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 32898b7e5d6decd525ec1cc98beec611a2842b87 Mon Sep 17 00:00:00 2001
From: Hyong Youb Kim <hyonkim@cisco.com>
Date: Tue, 13 Nov 2018 07:38:10 -0800
Subject: [PATCH] net/enic: fix size check in Tx prepare handler

[ upstream commit 7ac790d63bf0045d79b1c9f3bf692fc460fcd375 ]

The current code wrongly assumes that packets are non-TSO and ends up
rejecting large TSO packets. Check non-TSO and TSO max packet sizes
separately.

Fixes: 5a12c387405a ("net/enic: check maximum packet size in Tx prepare handler")

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

diff --git a/drivers/net/enic/enic_rxtx.c b/drivers/net/enic/enic_rxtx.c
index 0eb113d75..6ccb2e1ad 100644
--- a/drivers/net/enic/enic_rxtx.c
+++ b/drivers/net/enic/enic_rxtx.c
@@ -655,9 +655,20 @@ uint16_t enic_prep_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
 	for (i = 0; i != nb_pkts; i++) {
 		m = tx_pkts[i];
-		if (unlikely(m->pkt_len > ENIC_TX_MAX_PKT_SIZE)) {
-			rte_errno = EINVAL;
-			return i;
-		}
 		ol_flags = m->ol_flags;
+		if (!(ol_flags & PKT_TX_TCP_SEG)) {
+			if (unlikely(m->pkt_len > ENIC_TX_MAX_PKT_SIZE)) {
+				rte_errno = EINVAL;
+				return i;
+			}
+		} else {
+			uint16_t header_len;
+
+			header_len = m->l2_len + m->l3_len + m->l4_len;
+			if (m->tso_segsz + header_len > ENIC_TX_MAX_PKT_SIZE) {
+				rte_errno = EINVAL;
+				return i;
+			}
+		}
+
 		if (ol_flags & wq->tx_offload_notsup_mask) {
 			rte_errno = ENOTSUP;
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.742625578 +0000
+++ 0027-net-enic-fix-size-check-in-Tx-prepare-handler.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,14 +1,15 @@
-From 7ac790d63bf0045d79b1c9f3bf692fc460fcd375 Mon Sep 17 00:00:00 2001
+From 32898b7e5d6decd525ec1cc98beec611a2842b87 Mon Sep 17 00:00:00 2001
 From: Hyong Youb Kim <hyonkim@cisco.com>
 Date: Tue, 13 Nov 2018 07:38:10 -0800
 Subject: [PATCH] net/enic: fix size check in Tx prepare handler
 
+[ upstream commit 7ac790d63bf0045d79b1c9f3bf692fc460fcd375 ]
+
 The current code wrongly assumes that packets are non-TSO and ends up
 rejecting large TSO packets. Check non-TSO and TSO max packet sizes
 separately.
 
 Fixes: 5a12c387405a ("net/enic: check maximum packet size in Tx prepare handler")
-Cc: stable@dpdk.org
 
 Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
 Reviewed-by: John Daley <johndale@cisco.com>
@@ -17,10 +18,10 @@
  1 file changed, 15 insertions(+), 4 deletions(-)
 
 diff --git a/drivers/net/enic/enic_rxtx.c b/drivers/net/enic/enic_rxtx.c
-index 5189ee635..0aadd3426 100644
+index 0eb113d75..6ccb2e1ad 100644
 --- a/drivers/net/enic/enic_rxtx.c
 +++ b/drivers/net/enic/enic_rxtx.c
-@@ -394,9 +394,20 @@ uint16_t enic_prep_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
+@@ -655,9 +655,20 @@ uint16_t enic_prep_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
  	for (i = 0; i != nb_pkts; i++) {
  		m = tx_pkts[i];
 -		if (unlikely(m->pkt_len > ENIC_TX_MAX_PKT_SIZE)) {

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

* [dpdk-stable] patch 'net/ixgbevf: fix link state' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (26 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/enic: fix size check in Tx prepare handler' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'app/testpmd: fix memory leak for TM object' " Kevin Traynor
                   ` (58 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Yanglong Wu; +Cc: Rosen Xu, Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From dddf7cc46a056d3b0f1da9fda67b3334f6778143 Mon Sep 17 00:00:00 2001
From: Yanglong Wu <yanglong.wu@intel.com>
Date: Tue, 13 Nov 2018 14:34:43 +0800
Subject: [PATCH] net/ixgbevf: fix link state

[ upstream commit 91546fb62e675943a574c2542c0486f2928fed49 ]

For ixgbevf kernel driver, link status changes from down to up
will trigger vf kernel driver send IXGBE_VF_RESET message to pf
kernel driver, after this, vf kernel driver will disable and enable
it self. By these series operations, the vf kernel driver report
link up. Besides, all these operations handles in kernel thread.
For DPDK user space driver, it only gets link status changes from
down to up, but miss IXGBE_VF_RESET message sending and reset itself.
If we will add fully implementation of link status change for DPDK
user space driver, we need take much more modification. We have
aligned that for link status changes from down to up we only notify
link is up, users need to reset vf port.

Fixes: dc66e5fd01b9 ("net/ixgbe: improve link state check on VF")

Signed-off-by: Rosen Xu <rosen.xu@intel.com>
Signed-off-by: Yanglong Wu <yanglong.wu@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/ixgbe/ixgbe_ethdev.c | 15 +--------------
 1 file changed, 1 insertion(+), 14 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 6b04820da..9de9c0c3e 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -3884,9 +3884,4 @@ ixgbevf_check_link(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
 		   int *link_up, int wait_to_complete)
 {
-	/**
-	 * for a quick link status checking, wait_to_compelet == 0,
-	 * skip PF link status checking
-	 */
-	bool no_pflink_check = wait_to_complete == 0;
 	struct ixgbe_mbx_info *mbx = &hw->mbx;
 	struct ixgbe_mac_info *mac = &hw->mac;
@@ -3949,12 +3944,4 @@ ixgbevf_check_link(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
 	}
 
-	if (no_pflink_check) {
-		if (*speed == IXGBE_LINK_SPEED_UNKNOWN)
-			mac->get_link_status = true;
-		else
-			mac->get_link_status = false;
-
-		goto out;
-	}
 	/* if the read failed it could just be a mailbox collision, best wait
 	 * until we are called again and don't report an error
@@ -3966,5 +3953,5 @@ ixgbevf_check_link(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
 		/* msg is not CTS and is NACK we must have lost CTS status */
 		if (in_msg & IXGBE_VT_MSGTYPE_NACK)
-			ret_val = -1;
+			mac->get_link_status = false;
 		goto out;
 	}
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.765752130 +0000
+++ 0028-net-ixgbevf-fix-link-state.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,8 +1,10 @@
-From 91546fb62e675943a574c2542c0486f2928fed49 Mon Sep 17 00:00:00 2001
+From dddf7cc46a056d3b0f1da9fda67b3334f6778143 Mon Sep 17 00:00:00 2001
 From: Yanglong Wu <yanglong.wu@intel.com>
 Date: Tue, 13 Nov 2018 14:34:43 +0800
 Subject: [PATCH] net/ixgbevf: fix link state
 
+[ upstream commit 91546fb62e675943a574c2542c0486f2928fed49 ]
+
 For ixgbevf kernel driver, link status changes from down to up
 will trigger vf kernel driver send IXGBE_VF_RESET message to pf
 kernel driver, after this, vf kernel driver will disable and enable
@@ -16,7 +18,6 @@
 link is up, users need to reset vf port.
 
 Fixes: dc66e5fd01b9 ("net/ixgbe: improve link state check on VF")
-Cc: stable@dpdk.org
 
 Signed-off-by: Rosen Xu <rosen.xu@intel.com>
 Signed-off-by: Yanglong Wu <yanglong.wu@intel.com>
@@ -26,10 +27,10 @@
  1 file changed, 1 insertion(+), 14 deletions(-)
 
 diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
-index 8148577f5..91ba6201d 100644
+index 6b04820da..9de9c0c3e 100644
 --- a/drivers/net/ixgbe/ixgbe_ethdev.c
 +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
-@@ -3881,9 +3881,4 @@ ixgbevf_check_link(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
+@@ -3884,9 +3884,4 @@ ixgbevf_check_link(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
  		   int *link_up, int wait_to_complete)
  {
 -	/**
@@ -39,7 +40,7 @@
 -	bool no_pflink_check = wait_to_complete == 0;
  	struct ixgbe_mbx_info *mbx = &hw->mbx;
  	struct ixgbe_mac_info *mac = &hw->mac;
-@@ -3946,12 +3941,4 @@ ixgbevf_check_link(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
+@@ -3949,12 +3944,4 @@ ixgbevf_check_link(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
  	}
  
 -	if (no_pflink_check) {
@@ -52,7 +53,7 @@
 -	}
  	/* if the read failed it could just be a mailbox collision, best wait
  	 * until we are called again and don't report an error
-@@ -3963,5 +3950,5 @@ ixgbevf_check_link(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
+@@ -3966,5 +3953,5 @@ ixgbevf_check_link(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
  		/* msg is not CTS and is NACK we must have lost CTS status */
  		if (in_msg & IXGBE_VT_MSGTYPE_NACK)
 -			ret_val = -1;

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

* [dpdk-stable] patch 'app/testpmd: fix memory leak for TM object' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (27 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/ixgbevf: fix link state' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'app/testpmd: fix memory allocation for DSCP table' " Kevin Traynor
                   ` (57 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Jasvinder Singh; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 99230ce4f6926047d498281ff93b771350ee7630 Mon Sep 17 00:00:00 2001
From: Jasvinder Singh <jasvinder.singh@intel.com>
Date: Tue, 6 Nov 2018 10:23:06 +0000
Subject: [PATCH] app/testpmd: fix memory leak for TM object

[ upstream commit 8bf02b320e27ec27af12d345663f557b04a4c677 ]

Fixes memory leak for shared shaper object of the traffic manager.

Fixes: 5b590fbe09b6 ("app/testpmd: add traffic management forwarding mode")

Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 app/test-pmd/softnicfwd.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/app/test-pmd/softnicfwd.c b/app/test-pmd/softnicfwd.c
index 7ff622806..94e6669d3 100644
--- a/app/test-pmd/softnicfwd.c
+++ b/app/test-pmd/softnicfwd.c
@@ -459,4 +459,5 @@ softport_tm_tc_node_add(portid_t port_id,
 						shaper_profile_id);
 
+					free(tnp.shared_shaper_id);
 					return -1;
 				}
@@ -474,4 +475,5 @@ softport_tm_tc_node_add(portid_t port_id,
 						h->tc_node_id[pos][k]);
 
+					free(tnp.shared_shaper_id);
 					return -1;
 				}
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.795147572 +0000
+++ 0029-app-testpmd-fix-memory-leak-for-TM-object.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,12 +1,13 @@
-From 8bf02b320e27ec27af12d345663f557b04a4c677 Mon Sep 17 00:00:00 2001
+From 99230ce4f6926047d498281ff93b771350ee7630 Mon Sep 17 00:00:00 2001
 From: Jasvinder Singh <jasvinder.singh@intel.com>
 Date: Tue, 6 Nov 2018 10:23:06 +0000
 Subject: [PATCH] app/testpmd: fix memory leak for TM object
 
+[ upstream commit 8bf02b320e27ec27af12d345663f557b04a4c677 ]
+
 Fixes memory leak for shared shaper object of the traffic manager.
 
 Fixes: 5b590fbe09b6 ("app/testpmd: add traffic management forwarding mode")
-Cc: stable@dpdk.org
 
 Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
 Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>

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

* [dpdk-stable] patch 'app/testpmd: fix memory allocation for DSCP table' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (28 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'app/testpmd: fix memory leak for TM object' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'crypto/ccp: fix resource leak' " Kevin Traynor
                   ` (56 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Jasvinder Singh; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 9ea49e5abf874e263b42c73c25177c4be32be213 Mon Sep 17 00:00:00 2001
From: Jasvinder Singh <jasvinder.singh@intel.com>
Date: Tue, 6 Nov 2018 10:26:40 +0000
Subject: [PATCH] app/testpmd: fix memory allocation for DSCP table

[ upstream commit 459463ae6c2602de54c72330f31c206ac59387ea ]

The patch fixes the memory allocation for the meter DSCP table.

Fixes: e63b50162aa3 ("app/testpmd: clean metering and policing commands")

Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 app/test-pmd/cmdline_mtr.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/app/test-pmd/cmdline_mtr.c b/app/test-pmd/cmdline_mtr.c
index 63f32828f..846de88db 100644
--- a/app/test-pmd/cmdline_mtr.c
+++ b/app/test-pmd/cmdline_mtr.c
@@ -75,5 +75,5 @@ parse_uint(uint64_t *value, const char *str)
 
 static int
-parse_dscp_table_entries(char *str, enum rte_mtr_color *dscp_table)
+parse_dscp_table_entries(char *str, enum rte_mtr_color **dscp_table)
 {
 	char *token;
@@ -85,7 +85,7 @@ parse_dscp_table_entries(char *str, enum rte_mtr_color *dscp_table)
 
 	/* Allocate memory for dscp table */
-	dscp_table = (enum rte_mtr_color *)malloc(MAX_DSCP_TABLE_ENTRIES *
+	*dscp_table = (enum rte_mtr_color *)malloc(MAX_DSCP_TABLE_ENTRIES *
 		sizeof(enum rte_mtr_color));
-	if (dscp_table == NULL)
+	if (*dscp_table == NULL)
 		return -1;
 
@@ -93,13 +93,13 @@ parse_dscp_table_entries(char *str, enum rte_mtr_color *dscp_table)
 		if (strcmp(token, "G") == 0 ||
 			strcmp(token, "g") == 0)
-			dscp_table[i++] = RTE_MTR_GREEN;
+			*dscp_table[i++] = RTE_MTR_GREEN;
 		else if (strcmp(token, "Y") == 0 ||
 			strcmp(token, "y") == 0)
-			dscp_table[i++] = RTE_MTR_YELLOW;
+			*dscp_table[i++] = RTE_MTR_YELLOW;
 		else if (strcmp(token, "R") == 0 ||
 			strcmp(token, "r") == 0)
-			dscp_table[i++] = RTE_MTR_RED;
+			*dscp_table[i++] = RTE_MTR_RED;
 		else {
-			free(dscp_table);
+			free(*dscp_table);
 			return -1;
 		}
@@ -109,5 +109,5 @@ parse_dscp_table_entries(char *str, enum rte_mtr_color *dscp_table)
 		token = strtok_r(str, PARSE_DELIMITER, &str);
 		if (token == NULL) {
-			free(dscp_table);
+			free(*dscp_table);
 			return -1;
 		}
@@ -118,5 +118,5 @@ parse_dscp_table_entries(char *str, enum rte_mtr_color *dscp_table)
 static int
 parse_meter_color_str(char *c_str, uint32_t *use_prev_meter_color,
-	enum rte_mtr_color *dscp_table)
+	enum rte_mtr_color **dscp_table)
 {
 	char *token;
@@ -196,5 +196,5 @@ parse_policer_action_string(char *p_str, uint32_t action_mask,
 static int
 parse_multi_token_string(char *t_str, uint16_t *port_id,
-	uint32_t *mtr_id, enum rte_mtr_color *dscp_table)
+	uint32_t *mtr_id, enum rte_mtr_color **dscp_table)
 {
 	char *token;
@@ -795,5 +795,5 @@ static void cmd_create_port_meter_parsed(void *parsed_result,
 
 	/* Parse meter input color string params */
-	ret = parse_meter_color_str(c_str, &use_prev_meter_color, dscp_table);
+	ret = parse_meter_color_str(c_str, &use_prev_meter_color, &dscp_table);
 	if (ret) {
 		printf(" Meter input color params string parse error\n");
@@ -1142,5 +1142,5 @@ static void cmd_set_port_meter_dscp_table_parsed(void *parsed_result,
 
 	/* Parse string */
-	ret = parse_multi_token_string(t_str, &port_id, &mtr_id, dscp_table);
+	ret = parse_multi_token_string(t_str, &port_id, &mtr_id, &dscp_table);
 	if (ret) {
 		printf(" Multi token string parse error\n");
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.818359100 +0000
+++ 0030-app-testpmd-fix-memory-allocation-for-DSCP-table.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,12 +1,13 @@
-From 459463ae6c2602de54c72330f31c206ac59387ea Mon Sep 17 00:00:00 2001
+From 9ea49e5abf874e263b42c73c25177c4be32be213 Mon Sep 17 00:00:00 2001
 From: Jasvinder Singh <jasvinder.singh@intel.com>
 Date: Tue, 6 Nov 2018 10:26:40 +0000
 Subject: [PATCH] app/testpmd: fix memory allocation for DSCP table
 
+[ upstream commit 459463ae6c2602de54c72330f31c206ac59387ea ]
+
 The patch fixes the memory allocation for the meter DSCP table.
 
 Fixes: e63b50162aa3 ("app/testpmd: clean metering and policing commands")
-Cc: stable@dpdk.org
 
 Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
 Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>

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

* [dpdk-stable] patch 'crypto/ccp: fix resource leak' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (29 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'app/testpmd: fix memory allocation for DSCP table' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'crypto/aesni_mb: fix queue pair free' " Kevin Traynor
                   ` (55 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Ravi Kumar, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 94b8e8a7c7c9dda9c22c26e3981cb9dcdb2a08c8 Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Sun, 28 Oct 2018 03:19:27 +0000
Subject: [PATCH] crypto/ccp: fix resource leak

[ upstream commit 5ef2566e0df8b36ae7cd91b6ef6adb4cdc3e7d99 ]

File *fp, opened but not closed, this patch add fclose(fp)

Fixes: ef4b04f87fa6 ("crypto/ccp: support device init")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Reviewed-by: Ravi Kumar <ravi1.kumar@amd.com>
---
 drivers/crypto/ccp/ccp_pci.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/crypto/ccp/ccp_pci.c b/drivers/crypto/ccp/ccp_pci.c
index 59152ca5d..1702a09c4 100644
--- a/drivers/crypto/ccp/ccp_pci.c
+++ b/drivers/crypto/ccp/ccp_pci.c
@@ -32,10 +32,13 @@ ccp_check_pci_uio_module(void)
 		while (fgets(buf, sizeof(buf), fp) != NULL) {
 			if (!strncmp(buf, uio_module_names[i],
-				     strlen(uio_module_names[i])))
+				     strlen(uio_module_names[i]))) {
+				fclose(fp);
 				return i;
+			}
 		}
 		i++;
 		rewind(fp);
 	}
+	fclose(fp);
 	printf("Insert igb_uio or uio_pci_generic kernel module(s)");
 	return -1;/* uio not inserted */
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.843481696 +0000
+++ 0031-crypto-ccp-fix-resource-leak.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,12 +1,13 @@
-From 5ef2566e0df8b36ae7cd91b6ef6adb4cdc3e7d99 Mon Sep 17 00:00:00 2001
+From 94b8e8a7c7c9dda9c22c26e3981cb9dcdb2a08c8 Mon Sep 17 00:00:00 2001
 From: Ferruh Yigit <ferruh.yigit@intel.com>
 Date: Sun, 28 Oct 2018 03:19:27 +0000
 Subject: [PATCH] crypto/ccp: fix resource leak
 
+[ upstream commit 5ef2566e0df8b36ae7cd91b6ef6adb4cdc3e7d99 ]
+
 File *fp, opened but not closed, this patch add fclose(fp)
 
 Fixes: ef4b04f87fa6 ("crypto/ccp: support device init")
-Cc: stable@dpdk.org
 
 Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
 Reviewed-by: Ravi Kumar <ravi1.kumar@amd.com>

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

* [dpdk-stable] patch 'crypto/aesni_mb: fix queue pair free' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (30 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'crypto/ccp: fix resource leak' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'examples/l3fwd-power: fix power library fallback' " Kevin Traynor
                   ` (54 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Fan Zhang; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 2394c7d7d54cfd28d597cff43e6e654679e290c9 Mon Sep 17 00:00:00 2001
From: Fan Zhang <roy.fan.zhang@intel.com>
Date: Tue, 16 Oct 2018 10:45:54 +0100
Subject: [PATCH] crypto/aesni_mb: fix queue pair free

[ upstream commit 1fd1aa0c91bf138a4e7f6f7ce60c8d850da73564 ]

This patch fixes the queue pair free for AESNI-MB PMD. Originally
the queue pair ring name are different than the object name,
caused the aesni_mb_pmd_qp_release() cannot find the ring to
release. This patch uses the same name between queue pair object
name and ring name.

Fixes: a831c318c54d ("crypto/aesni_mb: free ring memory on queue release")

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
---
 drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c
index ab26e5ae4..200023fd8 100644
--- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c
+++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c
@@ -450,12 +450,10 @@ aesni_mb_pmd_qp_set_unique_name(struct rte_cryptodev *dev,
 static struct rte_ring *
 aesni_mb_pmd_qp_create_processed_ops_ring(struct aesni_mb_qp *qp,
-		const char *str, unsigned int ring_size, int socket_id)
+		unsigned int ring_size, int socket_id)
 {
 	struct rte_ring *r;
 	char ring_name[RTE_CRYPTODEV_NAME_MAX_LEN];
 
-	unsigned int n = snprintf(ring_name, sizeof(ring_name),
-				"%s_%s",
-				qp->name, str);
+	unsigned int n = snprintf(ring_name, sizeof(ring_name), "%s", qp->name);
 
 	if (n >= sizeof(ring_name))
@@ -515,5 +513,5 @@ aesni_mb_pmd_qp_setup(struct rte_cryptodev *dev, uint16_t qp_id,
 
 	qp->ingress_queue = aesni_mb_pmd_qp_create_processed_ops_ring(qp,
-			"ingress", qp_conf->nb_descriptors, socket_id);
+			qp_conf->nb_descriptors, socket_id);
 	if (qp->ingress_queue == NULL) {
 		ret = -1;
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.867655142 +0000
+++ 0032-crypto-aesni_mb-fix-queue-pair-free.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,8 +1,10 @@
-From 1fd1aa0c91bf138a4e7f6f7ce60c8d850da73564 Mon Sep 17 00:00:00 2001
+From 2394c7d7d54cfd28d597cff43e6e654679e290c9 Mon Sep 17 00:00:00 2001
 From: Fan Zhang <roy.fan.zhang@intel.com>
 Date: Tue, 16 Oct 2018 10:45:54 +0100
 Subject: [PATCH] crypto/aesni_mb: fix queue pair free
 
+[ upstream commit 1fd1aa0c91bf138a4e7f6f7ce60c8d850da73564 ]
+
 This patch fixes the queue pair free for AESNI-MB PMD. Originally
 the queue pair ring name are different than the object name,
 caused the aesni_mb_pmd_qp_release() cannot find the ring to
@@ -10,7 +12,6 @@
 name and ring name.
 
 Fixes: a831c318c54d ("crypto/aesni_mb: free ring memory on queue release")
-Cc: stable@dpdk.org
 
 Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
 ---
@@ -18,10 +19,10 @@
  1 file changed, 3 insertions(+), 5 deletions(-)
 
 diff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c
-index 43f6c26ed..f3eff2685 100644
+index ab26e5ae4..200023fd8 100644
 --- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c
 +++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c
-@@ -536,12 +536,10 @@ aesni_mb_pmd_qp_set_unique_name(struct rte_cryptodev *dev,
+@@ -450,12 +450,10 @@ aesni_mb_pmd_qp_set_unique_name(struct rte_cryptodev *dev,
  static struct rte_ring *
  aesni_mb_pmd_qp_create_processed_ops_ring(struct aesni_mb_qp *qp,
 -		const char *str, unsigned int ring_size, int socket_id)
@@ -36,7 +37,7 @@
 +	unsigned int n = snprintf(ring_name, sizeof(ring_name), "%s", qp->name);
  
  	if (n >= sizeof(ring_name))
-@@ -601,5 +599,5 @@ aesni_mb_pmd_qp_setup(struct rte_cryptodev *dev, uint16_t qp_id,
+@@ -515,5 +513,5 @@ aesni_mb_pmd_qp_setup(struct rte_cryptodev *dev, uint16_t qp_id,
  
  	qp->ingress_queue = aesni_mb_pmd_qp_create_processed_ops_ring(qp,
 -			"ingress", qp_conf->nb_descriptors, socket_id);

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

* [dpdk-stable] patch 'examples/l3fwd-power: fix power library fallback' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (31 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'crypto/aesni_mb: fix queue pair free' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'test/power: fix ACPI cpufreq module miss " Kevin Traynor
                   ` (53 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Moti Haimovsky; +Cc: David Hunt, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 603d16d7ae3b6e162256f28e8d6348b70aa00513 Mon Sep 17 00:00:00 2001
From: Moti Haimovsky <motih@mellanox.com>
Date: Wed, 7 Nov 2018 14:09:28 +0000
Subject: [PATCH] examples/l3fwd-power: fix power library fallback

[ upstream commit 6265115f94d8d40fa1e78e8ea01f6de3a369c61f ]

This patch replaces the rte_exit routine with error printing when
init_power_library() fails and by that restores the previous behavior
of the program (which was to issue an error message and continue
working if init_power_library fails). This allows the user to still
experience the Rx interrupts feature of the DPDK demonstrated in
this program.

Fixes: f88e7c175a68 ("examples/l3fwd-power: add high/regular perf cores options")

Signed-off-by: Moti Haimovsky <motih@mellanox.com>
Acked-by: David Hunt <david.hunt@intel.com>
---
 examples/l3fwd-power/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
index d15cd520e..6e6c6b4f0 100644
--- a/examples/l3fwd-power/main.c
+++ b/examples/l3fwd-power/main.c
@@ -1684,5 +1684,5 @@ main(int argc, char **argv)
 
 	if (init_power_library())
-		rte_exit(EXIT_FAILURE, "init_power_library failed\n");
+		RTE_LOG(ERR, L3FWD_POWER, "init_power_library failed\n");
 
 	if (update_lcore_params() < 0)
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.893616992 +0000
+++ 0033-examples-l3fwd-power-fix-power-library-fallback.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,8 +1,10 @@
-From 6265115f94d8d40fa1e78e8ea01f6de3a369c61f Mon Sep 17 00:00:00 2001
+From 603d16d7ae3b6e162256f28e8d6348b70aa00513 Mon Sep 17 00:00:00 2001
 From: Moti Haimovsky <motih@mellanox.com>
 Date: Wed, 7 Nov 2018 14:09:28 +0000
 Subject: [PATCH] examples/l3fwd-power: fix power library fallback
 
+[ upstream commit 6265115f94d8d40fa1e78e8ea01f6de3a369c61f ]
+
 This patch replaces the rte_exit routine with error printing when
 init_power_library() fails and by that restores the previous behavior
 of the program (which was to issue an error message and continue
@@ -11,7 +13,6 @@
 this program.
 
 Fixes: f88e7c175a68 ("examples/l3fwd-power: add high/regular perf cores options")
-Cc: stable@dpdk.org
 
 Signed-off-by: Moti Haimovsky <motih@mellanox.com>
 Acked-by: David Hunt <david.hunt@intel.com>
@@ -20,10 +21,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
-index 0b3f8fe61..9c7b31564 100644
+index d15cd520e..6e6c6b4f0 100644
 --- a/examples/l3fwd-power/main.c
 +++ b/examples/l3fwd-power/main.c
-@@ -1958,5 +1958,5 @@ main(int argc, char **argv)
+@@ -1684,5 +1684,5 @@ main(int argc, char **argv)
  
  	if (init_power_library())
 -		rte_exit(EXIT_FAILURE, "init_power_library failed\n");

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

* [dpdk-stable] patch 'test/power: fix ACPI cpufreq module miss fallback' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (32 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'examples/l3fwd-power: fix power library fallback' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'test/kni: fix " Kevin Traynor
                   ` (52 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Pallantla Poornima; +Cc: Reshma Pattan, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 5c687a45825aa34efe381af1a9df304fb9f59629 Mon Sep 17 00:00:00 2001
From: Pallantla Poornima <pallantlax.poornima@intel.com>
Date: Tue, 13 Nov 2018 13:58:20 +0000
Subject: [PATCH] test/power: fix ACPI cpufreq module miss fallback

[ upstream commit 75ee240b2aab58a7f6c8ef903d73a10b63348099 ]

Power_acpi_cpufreq_autotest should not be run on VM and platforms
which dont have acpi_cpufreq module loaded.
Hence changed return as TEST_SKIPPED

Fixes: 0ea2dd4409 ("test: skip when required lib not available")

Signed-off-by: Pallantla Poornima <pallantlax.poornima@intel.com>
Acked-by: Reshma Pattan <reshma.pattan@intel.com>
---
 test/test/test_power_acpi_cpufreq.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/test/test/test_power_acpi_cpufreq.c b/test/test/test_power_acpi_cpufreq.c
index 22e541d65..6d637cc77 100644
--- a/test/test/test_power_acpi_cpufreq.c
+++ b/test/test/test_power_acpi_cpufreq.c
@@ -442,5 +442,5 @@ test_power_acpi_cpufreq(void)
 				"Power management environment\n", TEST_POWER_LCORE_ID);
 		rte_power_unset_env();
-		return -1;
+		return TEST_SKIPPED;
 	}
 
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.920912726 +0000
+++ 0034-test-power-fix-ACPI-cpufreq-module-miss-fallback.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,14 +1,15 @@
-From 75ee240b2aab58a7f6c8ef903d73a10b63348099 Mon Sep 17 00:00:00 2001
+From 5c687a45825aa34efe381af1a9df304fb9f59629 Mon Sep 17 00:00:00 2001
 From: Pallantla Poornima <pallantlax.poornima@intel.com>
 Date: Tue, 13 Nov 2018 13:58:20 +0000
 Subject: [PATCH] test/power: fix ACPI cpufreq module miss fallback
 
+[ upstream commit 75ee240b2aab58a7f6c8ef903d73a10b63348099 ]
+
 Power_acpi_cpufreq_autotest should not be run on VM and platforms
 which dont have acpi_cpufreq module loaded.
 Hence changed return as TEST_SKIPPED
 
 Fixes: 0ea2dd4409 ("test: skip when required lib not available")
-Cc: stable@dpdk.org
 
 Signed-off-by: Pallantla Poornima <pallantlax.poornima@intel.com>
 Acked-by: Reshma Pattan <reshma.pattan@intel.com>

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

* [dpdk-stable] patch 'test/kni: fix module miss fallback' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (33 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'test/power: fix ACPI cpufreq module miss " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'test/reorder: fix out of bound access' " Kevin Traynor
                   ` (51 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Pallantla Poornima; +Cc: Reshma Pattan, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 06e88687d459657ad4f5c8621f0449f5f79a75e2 Mon Sep 17 00:00:00 2001
From: Pallantla Poornima <pallantlax.poornima@intel.com>
Date: Tue, 13 Nov 2018 14:00:15 +0000
Subject: [PATCH] test/kni: fix module miss fallback

[ upstream commit 5835b7d3758b99e84ef362c521f193dd6d3a5c46 ]

Kni_autotest should be skipped if rte_kni.ko module is not loaded.
Hence changed return as TEST_SKIPPED.

Fixes: ee1caebc4d ("test/kni: check module dependency")

Signed-off-by: Pallantla Poornima <pallantlax.poornima@intel.com>
Acked-by: Reshma Pattan <reshma.pattan@intel.com>
---
 test/test/test_kni.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/test/test/test_kni.c b/test/test/test_kni.c
index 6c1420a16..42035ba86 100644
--- a/test/test/test_kni.c
+++ b/test/test/test_kni.c
@@ -482,5 +482,5 @@ test_kni(void)
 		if (errno == ENOENT) {
 			printf("Cannot run UT due to missing rte_kni module\n");
-			return -1;
+			return TEST_SKIPPED;
 		}
 		printf("opendir: %s", strerror(errno));
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.946978831 +0000
+++ 0035-test-kni-fix-module-miss-fallback.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,13 +1,14 @@
-From 5835b7d3758b99e84ef362c521f193dd6d3a5c46 Mon Sep 17 00:00:00 2001
+From 06e88687d459657ad4f5c8621f0449f5f79a75e2 Mon Sep 17 00:00:00 2001
 From: Pallantla Poornima <pallantlax.poornima@intel.com>
 Date: Tue, 13 Nov 2018 14:00:15 +0000
 Subject: [PATCH] test/kni: fix module miss fallback
 
+[ upstream commit 5835b7d3758b99e84ef362c521f193dd6d3a5c46 ]
+
 Kni_autotest should be skipped if rte_kni.ko module is not loaded.
 Hence changed return as TEST_SKIPPED.
 
 Fixes: ee1caebc4d ("test/kni: check module dependency")
-Cc: stable@dpdk.org
 
 Signed-off-by: Pallantla Poornima <pallantlax.poornima@intel.com>
 Acked-by: Reshma Pattan <reshma.pattan@intel.com>
@@ -16,10 +17,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/test/test/test_kni.c b/test/test/test_kni.c
-index f3c19b5a0..c92c09054 100644
+index 6c1420a16..42035ba86 100644
 --- a/test/test/test_kni.c
 +++ b/test/test/test_kni.c
-@@ -550,5 +550,5 @@ test_kni(void)
+@@ -482,5 +482,5 @@ test_kni(void)
  		if (errno == ENOENT) {
  			printf("Cannot run UT due to missing rte_kni module\n");
 -			return -1;

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

* [dpdk-stable] patch 'test/reorder: fix out of bound access' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (34 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'test/kni: fix " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'malloc: fix adjacency check to also include segment list' " Kevin Traynor
                   ` (50 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 9a46a347c841c4d9fd2de8d53cf88e004744d69f Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Tue, 13 Nov 2018 23:31:37 +0000
Subject: [PATCH] test/reorder: fix out of bound access

[ upstream commit 1af9bc9c60291e43aa26f8ee92371c8b04a9b55f ]

The value of array index 'i' is out of bound because of the previous
loop it has been used.

Assuming intention is using '0' since the check before free is robufs[0]
check, fixing according.

Fixes: ecd867faa860 ("test/reorder: fix freeing mbuf twice")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 test/test/test_reorder.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/test/test/test_reorder.c b/test/test/test_reorder.c
index ccee4d086..58fa9c71b 100644
--- a/test/test/test_reorder.c
+++ b/test/test/test_reorder.c
@@ -270,5 +270,5 @@ test_reorder_drain(void)
 	}
 	if (robufs[0] != NULL)
-		rte_pktmbuf_free(robufs[i]);
+		rte_pktmbuf_free(robufs[0]);
 
 	/* Insert more packets
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:35.973925344 +0000
+++ 0036-test-reorder-fix-out-of-bound-access.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,8 +1,10 @@
-From 1af9bc9c60291e43aa26f8ee92371c8b04a9b55f Mon Sep 17 00:00:00 2001
+From 9a46a347c841c4d9fd2de8d53cf88e004744d69f Mon Sep 17 00:00:00 2001
 From: Ferruh Yigit <ferruh.yigit@intel.com>
 Date: Tue, 13 Nov 2018 23:31:37 +0000
 Subject: [PATCH] test/reorder: fix out of bound access
 
+[ upstream commit 1af9bc9c60291e43aa26f8ee92371c8b04a9b55f ]
+
 The value of array index 'i' is out of bound because of the previous
 loop it has been used.
 
@@ -10,7 +12,6 @@
 check, fixing according.
 
 Fixes: ecd867faa860 ("test/reorder: fix freeing mbuf twice")
-Cc: stable@dpdk.org
 
 Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
 ---

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

* [dpdk-stable] patch 'malloc: fix adjacency check to also include segment list' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (35 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'test/reorder: fix out of bound access' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'build: set -mfpu=neon flag for armv7-a with meson' " Kevin Traynor
                   ` (49 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Anatoly Burakov; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From d0bf36bcd8d33115c1f4b6a493839f0b45e6b4c5 Mon Sep 17 00:00:00 2001
From: Anatoly Burakov <anatoly.burakov@intel.com>
Date: Wed, 14 Nov 2018 15:00:58 +0000
Subject: [PATCH] malloc: fix adjacency check to also include segment list

[ upstream commit 71aae4b421da9b741d1fb73a190a9facfec555b9 ]

It may so happen that two memory locations may be adjacent in
virtual memory, but belong to different segment lists. With
current code, such segments will be concatenated. Fix the
adjacency checking code to also check if the adjacent malloc
elements belong to the same memseg list.

Fixes: 66cc45e293ed ("mem: replace memseg with memseg lists")

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 lib/librte_eal/common/malloc_elem.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/librte_eal/common/malloc_elem.c b/lib/librte_eal/common/malloc_elem.c
index e0a8ed15b..d9f1162ef 100644
--- a/lib/librte_eal/common/malloc_elem.c
+++ b/lib/librte_eal/common/malloc_elem.c
@@ -313,5 +313,6 @@ static int
 next_elem_is_adjacent(struct malloc_elem *elem)
 {
-	return elem->next == RTE_PTR_ADD(elem, elem->size);
+	return elem->next == RTE_PTR_ADD(elem, elem->size) &&
+			elem->next->msl == elem->msl;
 }
 
@@ -319,5 +320,6 @@ static int
 prev_elem_is_adjacent(struct malloc_elem *elem)
 {
-	return elem == RTE_PTR_ADD(elem->prev, elem->prev->size);
+	return elem == RTE_PTR_ADD(elem->prev, elem->prev->size) &&
+			elem->prev->msl == elem->msl;
 }
 
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.004882486 +0000
+++ 0037-malloc-fix-adjacency-check-to-also-include-segment-l.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,8 +1,10 @@
-From 71aae4b421da9b741d1fb73a190a9facfec555b9 Mon Sep 17 00:00:00 2001
+From d0bf36bcd8d33115c1f4b6a493839f0b45e6b4c5 Mon Sep 17 00:00:00 2001
 From: Anatoly Burakov <anatoly.burakov@intel.com>
 Date: Wed, 14 Nov 2018 15:00:58 +0000
 Subject: [PATCH] malloc: fix adjacency check to also include segment list
 
+[ upstream commit 71aae4b421da9b741d1fb73a190a9facfec555b9 ]
+
 It may so happen that two memory locations may be adjacent in
 virtual memory, but belong to different segment lists. With
 current code, such segments will be concatenated. Fix the
@@ -10,7 +12,6 @@
 elements belong to the same memseg list.
 
 Fixes: 66cc45e293ed ("mem: replace memseg with memseg lists")
-Cc: stable@dpdk.org
 
 Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
 ---
@@ -18,10 +19,10 @@
  1 file changed, 4 insertions(+), 2 deletions(-)
 
 diff --git a/lib/librte_eal/common/malloc_elem.c b/lib/librte_eal/common/malloc_elem.c
-index 1a74660de..9d3dcb6a9 100644
+index e0a8ed15b..d9f1162ef 100644
 --- a/lib/librte_eal/common/malloc_elem.c
 +++ b/lib/librte_eal/common/malloc_elem.c
-@@ -317,5 +317,6 @@ static int
+@@ -313,5 +313,6 @@ static int
  next_elem_is_adjacent(struct malloc_elem *elem)
  {
 -	return elem->next == RTE_PTR_ADD(elem, elem->size);
@@ -29,7 +30,7 @@
 +			elem->next->msl == elem->msl;
  }
  
-@@ -323,5 +324,6 @@ static int
+@@ -319,5 +320,6 @@ static int
  prev_elem_is_adjacent(struct malloc_elem *elem)
  {
 -	return elem == RTE_PTR_ADD(elem->prev, elem->prev->size);

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

* [dpdk-stable] patch 'build: set -mfpu=neon flag for armv7-a with meson' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (36 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'malloc: fix adjacency check to also include segment list' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'efd: fix write unlock during ring creation' " Kevin Traynor
                   ` (48 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Luca Boccassi; +Cc: Christian Ehrhardt, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From d134dc958af966ddce61f8e66a48500c1ea6e8ad Mon Sep 17 00:00:00 2001
From: Luca Boccassi <bluca@debian.org>
Date: Thu, 15 Nov 2018 16:54:18 +0000
Subject: [PATCH] build: set -mfpu=neon flag for armv7-a with meson
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit daf6c3c10e91b1c0dcb872f385116dc4aa477556 ]

Building on armv7a with meson currenctly fails:

/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:10369:1: error:
    inlining failed in call to always_inline ‘vld1q_s32’: target
    specific option mismatch

Set -mfpu=neon on that architecture like the legacy makefiles do to fix
the issue.

Fixes: b1d48c41189a ("build: support ARM with meson")

Signed-off-by: Luca Boccassi <bluca@debian.org>
Acked-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
---
 config/arm/meson.build | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/config/arm/meson.build b/config/arm/meson.build
index 94cca490e..b497901b0 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -90,4 +90,7 @@ if cc.sizeof('void *') != 8
 	dpdk_conf.set('RTE_ARCH_ARM', 1)
 	dpdk_conf.set('RTE_ARCH_ARMv7', 1)
+	# the minimum architecture supported, armv7-a, needs the following,
+	# mk/machine/armv7a/rte.vars.mk sets it too
+	machine_args += '-mfpu=neon'
 else
 	dpdk_conf.set('RTE_CACHE_LINE_SIZE', 128)
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.031376954 +0000
+++ 0038-build-set-mfpu-neon-flag-for-armv7-a-with-meson.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,4 +1,4 @@
-From daf6c3c10e91b1c0dcb872f385116dc4aa477556 Mon Sep 17 00:00:00 2001
+From d134dc958af966ddce61f8e66a48500c1ea6e8ad Mon Sep 17 00:00:00 2001
 From: Luca Boccassi <bluca@debian.org>
 Date: Thu, 15 Nov 2018 16:54:18 +0000
 Subject: [PATCH] build: set -mfpu=neon flag for armv7-a with meson
@@ -6,6 +6,8 @@
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
 
+[ upstream commit daf6c3c10e91b1c0dcb872f385116dc4aa477556 ]
+
 Building on armv7a with meson currenctly fails:
 
 /usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:10369:1: error:
@@ -16,7 +18,6 @@
 the issue.
 
 Fixes: b1d48c41189a ("build: support ARM with meson")
-Cc: stable@dpdk.org
 
 Signed-off-by: Luca Boccassi <bluca@debian.org>
 Acked-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
@@ -25,7 +26,7 @@
  1 file changed, 3 insertions(+)
 
 diff --git a/config/arm/meson.build b/config/arm/meson.build
-index 4b23b3954..b75513855 100644
+index 94cca490e..b497901b0 100644
 --- a/config/arm/meson.build
 +++ b/config/arm/meson.build
 @@ -90,4 +90,7 @@ if cc.sizeof('void *') != 8

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

* [dpdk-stable] patch 'efd: fix write unlock during ring creation' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (37 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'build: set -mfpu=neon flag for armv7-a with meson' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/i40e: fix X710 Rx after reading some registers' " Kevin Traynor
                   ` (47 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Chaitanya Babu Talluri; +Cc: Reshma Pattan, Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From b2fa543c8a21f3464bf62695d5a8bd57cdd62898 Mon Sep 17 00:00:00 2001
From: Chaitanya Babu Talluri <tallurix.chaitanya.babu@intel.com>
Date: Wed, 14 Nov 2018 11:24:06 +0000
Subject: [PATCH] efd: fix write unlock during ring creation

[ upstream commit f493119397d0f5dbe33f67697ff09aa646e5f17c ]

In rte_efd_create() write lock has already been unlocked
before ring creation itself.
So second unlock after the ring creation has been removed.

Fixes: 56b6ef874f80 ("efd: new Elastic Flow Distributor library")

Signed-off-by: Chaitanya Babu Talluri <tallurix.chaitanya.babu@intel.com>
Acked-by: Reshma Pattan <reshma.pattan@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 lib/librte_efd/rte_efd.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/librte_efd/rte_efd.c b/lib/librte_efd/rte_efd.c
index a780e2fe8..e6e5cfda2 100644
--- a/lib/librte_efd/rte_efd.c
+++ b/lib/librte_efd/rte_efd.c
@@ -693,5 +693,6 @@ rte_efd_create(const char *name, uint32_t max_num_rules, uint32_t key_len,
 	if (r == NULL) {
 		RTE_LOG(ERR, EFD, "memory allocation failed\n");
-		goto error_unlock_exit;
+		rte_efd_free(table);
+		return NULL;
 	}
 
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.053239227 +0000
+++ 0039-efd-fix-write-unlock-during-ring-creation.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,14 +1,15 @@
-From f493119397d0f5dbe33f67697ff09aa646e5f17c Mon Sep 17 00:00:00 2001
+From b2fa543c8a21f3464bf62695d5a8bd57cdd62898 Mon Sep 17 00:00:00 2001
 From: Chaitanya Babu Talluri <tallurix.chaitanya.babu@intel.com>
 Date: Wed, 14 Nov 2018 11:24:06 +0000
 Subject: [PATCH] efd: fix write unlock during ring creation
 
+[ upstream commit f493119397d0f5dbe33f67697ff09aa646e5f17c ]
+
 In rte_efd_create() write lock has already been unlocked
 before ring creation itself.
 So second unlock after the ring creation has been removed.
 
 Fixes: 56b6ef874f80 ("efd: new Elastic Flow Distributor library")
-Cc: stable@dpdk.org
 
 Signed-off-by: Chaitanya Babu Talluri <tallurix.chaitanya.babu@intel.com>
 Acked-by: Reshma Pattan <reshma.pattan@intel.com>

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

* [dpdk-stable] patch 'net/i40e: fix X710 Rx after reading some registers' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (38 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'efd: fix write unlock during ring creation' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/ixgbe: fix maximum wait time in comment' " Kevin Traynor
                   ` (46 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Beilei Xing; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 73595fdc79e2250ad0954337845190e17027b9e5 Mon Sep 17 00:00:00 2001
From: Beilei Xing <beilei.xing@intel.com>
Date: Thu, 15 Nov 2018 11:17:02 +0800
Subject: [PATCH] net/i40e: fix X710 Rx after reading some registers

[ upstream commit 199efc4ac5409403d24a0f21fe382bbce86638ac ]

There's an issue that X710 can't receive any packet after
reading some special registers. That's because these
registers are only valid for X722, read access for non-X722
will cause ECC error.

Fixes: d9efd0136ac1 ("i40e: add EEPROM and registers dumping")

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/i40e/i40e_ethdev.c | 33 +++++++++++++++++++++++++++++++--
 1 file changed, 31 insertions(+), 2 deletions(-)

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 53b40fa1f..a26c72829 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -11468,4 +11468,30 @@ i40e_dev_rx_queue_intr_disable(struct rte_eth_dev *dev, uint16_t queue_id)
 }
 
+/**
+ * This function is used to check if the register is valid.
+ * Below is the valid registers list for X722 only:
+ * 0x2b800--0x2bb00
+ * 0x38700--0x38a00
+ * 0x3d800--0x3db00
+ * 0x208e00--0x209000
+ * 0x20be00--0x20c000
+ * 0x263c00--0x264000
+ * 0x265c00--0x266000
+ */
+static inline int i40e_valid_regs(enum i40e_mac_type type, uint32_t reg_offset)
+{
+	if ((type != I40E_MAC_X722) &&
+	    ((reg_offset >= 0x2b800 && reg_offset <= 0x2bb00) ||
+	     (reg_offset >= 0x38700 && reg_offset <= 0x38a00) ||
+	     (reg_offset >= 0x3d800 && reg_offset <= 0x3db00) ||
+	     (reg_offset >= 0x208e00 && reg_offset <= 0x209000) ||
+	     (reg_offset >= 0x20be00 && reg_offset <= 0x20c000) ||
+	     (reg_offset >= 0x263c00 && reg_offset <= 0x264000) ||
+	     (reg_offset >= 0x265c00 && reg_offset <= 0x266000)))
+		return 0;
+	else
+		return 1;
+}
+
 static int i40e_get_regs(struct rte_eth_dev *dev,
 			 struct rte_dev_reg_info *regs)
@@ -11509,6 +11535,9 @@ static int i40e_get_regs(struct rte_eth_dev *dev,
 					arr_idx2 * reg_info->stride2;
 				reg_offset += reg_info->base_addr;
-				ptr_data[reg_offset >> 2] =
-					I40E_READ_REG(hw, reg_offset);
+				if (!i40e_valid_regs(hw->mac.type, reg_offset))
+					ptr_data[reg_offset >> 2] = 0;
+				else
+					ptr_data[reg_offset >> 2] =
+						I40E_READ_REG(hw, reg_offset);
 			}
 	}
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.076210238 +0000
+++ 0040-net-i40e-fix-X710-Rx-after-reading-some-registers.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,15 +1,16 @@
-From 199efc4ac5409403d24a0f21fe382bbce86638ac Mon Sep 17 00:00:00 2001
+From 73595fdc79e2250ad0954337845190e17027b9e5 Mon Sep 17 00:00:00 2001
 From: Beilei Xing <beilei.xing@intel.com>
 Date: Thu, 15 Nov 2018 11:17:02 +0800
 Subject: [PATCH] net/i40e: fix X710 Rx after reading some registers
 
+[ upstream commit 199efc4ac5409403d24a0f21fe382bbce86638ac ]
+
 There's an issue that X710 can't receive any packet after
 reading some special registers. That's because these
 registers are only valid for X722, read access for non-X722
 will cause ECC error.
 
 Fixes: d9efd0136ac1 ("i40e: add EEPROM and registers dumping")
-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, 31 insertions(+), 2 deletions(-)
 
 diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
-index 790ecc3cc..3628d7f2a 100644
+index 53b40fa1f..a26c72829 100644
 --- a/drivers/net/i40e/i40e_ethdev.c
 +++ b/drivers/net/i40e/i40e_ethdev.c
-@@ -11610,4 +11610,30 @@ i40e_dev_rx_queue_intr_disable(struct rte_eth_dev *dev, uint16_t queue_id)
+@@ -11468,4 +11468,30 @@ i40e_dev_rx_queue_intr_disable(struct rte_eth_dev *dev, uint16_t queue_id)
  }
  
 +/**
@@ -52,7 +53,7 @@
 +
  static int i40e_get_regs(struct rte_eth_dev *dev,
  			 struct rte_dev_reg_info *regs)
-@@ -11651,6 +11677,9 @@ static int i40e_get_regs(struct rte_eth_dev *dev,
+@@ -11509,6 +11535,9 @@ static int i40e_get_regs(struct rte_eth_dev *dev,
  					arr_idx2 * reg_info->stride2;
  				reg_offset += reg_info->base_addr;
 -				ptr_data[reg_offset >> 2] =

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

* [dpdk-stable] patch 'net/ixgbe: fix maximum wait time in comment' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (39 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/i40e: fix X710 Rx after reading some registers' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx4: fix minor typo' " Kevin Traynor
                   ` (45 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Xiaolong Ye; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 49cdfbf63089661a2fbbcfe4d581aeb324d84518 Mon Sep 17 00:00:00 2001
From: Xiaolong Ye <xiaolong.ye@intel.com>
Date: Thu, 15 Nov 2018 15:20:05 +0800
Subject: [PATCH] net/ixgbe: fix maximum wait time in comment

[ upstream commit 73247f1ced303c16987bb366d38a2d8a0fc40db4 ]

As the code has changed the max wait time to 1000ms, the comment should
be changed accordingly.

Fixes: 64f1c8539c8c ("net/ixgbe: wait longer for link after fiber MAC setup")

Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/ixgbe/base/ixgbe_common.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ixgbe/base/ixgbe_common.c b/drivers/net/ixgbe/base/ixgbe_common.c
index 2fb0a072c..bfdcb2ac2 100644
--- a/drivers/net/ixgbe/base/ixgbe_common.c
+++ b/drivers/net/ixgbe/base/ixgbe_common.c
@@ -5294,5 +5294,5 @@ s32 ixgbe_setup_mac_link_multispeed_fiber(struct ixgbe_hw *hw,
 
 		/* Wait for the controller to acquire link.  Per IEEE 802.3ap,
-		 * Section 73.10.2, we may have to wait up to 500ms if KR is
+		 * Section 73.10.2, we may have to wait up to 1000ms if KR is
 		 * attempted.  82599 uses the same timing for 10g SFI.
 		 */
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.111991504 +0000
+++ 0041-net-ixgbe-fix-maximum-wait-time-in-comment.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,13 +1,14 @@
-From 73247f1ced303c16987bb366d38a2d8a0fc40db4 Mon Sep 17 00:00:00 2001
+From 49cdfbf63089661a2fbbcfe4d581aeb324d84518 Mon Sep 17 00:00:00 2001
 From: Xiaolong Ye <xiaolong.ye@intel.com>
 Date: Thu, 15 Nov 2018 15:20:05 +0800
 Subject: [PATCH] net/ixgbe: fix maximum wait time in comment
 
+[ upstream commit 73247f1ced303c16987bb366d38a2d8a0fc40db4 ]
+
 As the code has changed the max wait time to 1000ms, the comment should
 be changed accordingly.
 
 Fixes: 64f1c8539c8c ("net/ixgbe: wait longer for link after fiber MAC setup")
-Cc: stable@dpdk.org
 
 Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
 Acked-by: Qi Zhang <qi.z.zhang@intel.com>
@@ -16,10 +17,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/drivers/net/ixgbe/base/ixgbe_common.c b/drivers/net/ixgbe/base/ixgbe_common.c
-index 21f973e5e..fb50719fb 100644
+index 2fb0a072c..bfdcb2ac2 100644
 --- a/drivers/net/ixgbe/base/ixgbe_common.c
 +++ b/drivers/net/ixgbe/base/ixgbe_common.c
-@@ -5260,5 +5260,5 @@ s32 ixgbe_setup_mac_link_multispeed_fiber(struct ixgbe_hw *hw,
+@@ -5294,5 +5294,5 @@ s32 ixgbe_setup_mac_link_multispeed_fiber(struct ixgbe_hw *hw,
  
  		/* Wait for the controller to acquire link.  Per IEEE 802.3ap,
 -		 * Section 73.10.2, we may have to wait up to 500ms if KR is

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

* [dpdk-stable] patch 'net/mlx4: fix minor typo' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (40 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/ixgbe: fix maximum wait time in comment' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: fix minor typos' " Kevin Traynor
                   ` (44 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Ali Alnubani; +Cc: Shahaf Shuler, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 9ce0efbe970f9b81b6d76ca917349c2b3b04354b Mon Sep 17 00:00:00 2001
From: Ali Alnubani <alialnu@mellanox.com>
Date: Wed, 14 Nov 2018 07:48:09 +0000
Subject: [PATCH] net/mlx4: fix minor typo

[ upstream commit 96c0cc17fcd8df7f4e3431c68c63cdf6b1db06ed ]

Fixes: 9797bfcce1c9 ("net/mlx4: add new memory region support")

Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
---
 drivers/net/mlx4/mlx4_mr.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/mlx4/mlx4_mr.c b/drivers/net/mlx4/mlx4_mr.c
index bee858643..c2066ea4b 100644
--- a/drivers/net/mlx4/mlx4_mr.c
+++ b/drivers/net/mlx4/mlx4_mr.c
@@ -572,5 +572,5 @@ mlx4_mr_create(struct rte_eth_dev *dev, struct mlx4_mr_cache *entry,
 	 * given address belongs, in order to register maximum range. In the
 	 * best case where mempools are not dynamically recreated and
-	 * '--socket-mem' is speicified as an EAL option, it is very likely to
+	 * '--socket-mem' is specified as an EAL option, it is very likely to
 	 * have only one MR(LKey) per a socket and per a hugepage-size even
 	 * though the system memory is highly fragmented.
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.139664249 +0000
+++ 0042-net-mlx4-fix-minor-typo.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,10 +1,11 @@
-From 96c0cc17fcd8df7f4e3431c68c63cdf6b1db06ed Mon Sep 17 00:00:00 2001
+From 9ce0efbe970f9b81b6d76ca917349c2b3b04354b Mon Sep 17 00:00:00 2001
 From: Ali Alnubani <alialnu@mellanox.com>
 Date: Wed, 14 Nov 2018 07:48:09 +0000
 Subject: [PATCH] net/mlx4: fix minor typo
 
+[ upstream commit 96c0cc17fcd8df7f4e3431c68c63cdf6b1db06ed ]
+
 Fixes: 9797bfcce1c9 ("net/mlx4: add new memory region support")
-Cc: stable@dpdk.org
 
 Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
 Acked-by: Shahaf Shuler <shahafs@mellanox.com>

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

* [dpdk-stable] patch 'net/mlx5: fix minor typos' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (41 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx4: fix minor typo' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx4: fix initialization of struct members' " Kevin Traynor
                   ` (43 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Ali Alnubani; +Cc: Shahaf Shuler, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From ecb9c6515978022b8b71d39e2148d6733ca546bd Mon Sep 17 00:00:00 2001
From: Ali Alnubani <alialnu@mellanox.com>
Date: Wed, 14 Nov 2018 07:48:31 +0000
Subject: [PATCH] net/mlx5: fix minor typos

[ upstream commit d77b9aac5dafa1592e5a102f295ba80b10138ed1 ]

Fixes: e1114ff6a5ab ("net/mlx5: support e-switch flow count action")
Fixes: 974f1e7ef146 ("net/mlx5: add new memory region support")

Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
---
 drivers/net/mlx5/mlx5_mr.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_mr.c b/drivers/net/mlx5/mlx5_mr.c
index f4b15d3f6..f8b7dcaa0 100644
--- a/drivers/net/mlx5/mlx5_mr.c
+++ b/drivers/net/mlx5/mlx5_mr.c
@@ -571,5 +571,5 @@ mlx5_mr_create(struct rte_eth_dev *dev, struct mlx5_mr_cache *entry,
 	 * given address belongs, in order to register maximum range. In the
 	 * best case where mempools are not dynamically recreated and
-	 * '--socket-mem' is speicified as an EAL option, it is very likely to
+	 * '--socket-mem' is specified as an EAL option, it is very likely to
 	 * have only one MR(LKey) per a socket and per a hugepage-size even
 	 * though the system memory is highly fragmented.
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.162775975 +0000
+++ 0043-net-mlx5-fix-minor-typos.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,30 +1,19 @@
-From d77b9aac5dafa1592e5a102f295ba80b10138ed1 Mon Sep 17 00:00:00 2001
+From ecb9c6515978022b8b71d39e2148d6733ca546bd Mon Sep 17 00:00:00 2001
 From: Ali Alnubani <alialnu@mellanox.com>
 Date: Wed, 14 Nov 2018 07:48:31 +0000
 Subject: [PATCH] net/mlx5: fix minor typos
 
+[ upstream commit d77b9aac5dafa1592e5a102f295ba80b10138ed1 ]
+
 Fixes: e1114ff6a5ab ("net/mlx5: support e-switch flow count action")
 Fixes: 974f1e7ef146 ("net/mlx5: add new memory region support")
-Cc: stable@dpdk.org
 
 Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
 Acked-by: Shahaf Shuler <shahafs@mellanox.com>
 ---
- drivers/net/mlx5/mlx5_flow_tcf.c | 2 +-
- drivers/net/mlx5/mlx5_mr.c       | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
+ drivers/net/mlx5/mlx5_mr.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/drivers/net/mlx5/mlx5_flow_tcf.c b/drivers/net/mlx5/mlx5_flow_tcf.c
-index 91deb8873..98ecaec3f 100644
---- a/drivers/net/mlx5/mlx5_flow_tcf.c
-+++ b/drivers/net/mlx5/mlx5_flow_tcf.c
-@@ -5649,5 +5649,5 @@ flow_tcf_nl_filter_parse_and_get(struct nlmsghdr *cnlh,
-  * @param[out] data
-  *   Pointer to data area to be filled by the parsing routine.
-- *   assumed to be a pinter to struct flow_tcf_stats_basic.
-+ *   assumed to be a pointer to struct flow_tcf_stats_basic.
-  *
-  * @return
 diff --git a/drivers/net/mlx5/mlx5_mr.c b/drivers/net/mlx5/mlx5_mr.c
 index f4b15d3f6..f8b7dcaa0 100644
 --- a/drivers/net/mlx5/mlx5_mr.c

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

* [dpdk-stable] patch 'net/mlx4: fix initialization of struct members' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (42 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: fix minor typos' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: " Kevin Traynor
                   ` (42 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Ali Alnubani; +Cc: Shahaf Shuler, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 131bde364fc068a58936376088b33377f9554fa1 Mon Sep 17 00:00:00 2001
From: Ali Alnubani <alialnu@mellanox.com>
Date: Tue, 13 Nov 2018 19:11:06 +0000
Subject: [PATCH] net/mlx4: fix initialization of struct members

[ upstream commit d924d6b964d1dd4a720f61051c14507428b62e95 ]

This patch fixes compilation errors with meson and the clang
compiler caused by some of the struct members not being
initialized.

```
../drivers/net/mlx4/mlx4_mr.c:357:37: error: missing field 'end'
initializer [-Werror,-Wmissing-field-initializers]
                struct mlx4_mr_cache entry = { 0, };
                                                  ^
../drivers/net/mlx4/mlx4_mr.c:401:36: error: missing field 'end'
initializer [-Werror,-Wmissing-field-initializers]
                        struct mlx4_mr_cache ret = { 0, };
                                                        ^
../drivers/net/mlx4/mlx4_mr.c:691:35: error: missing field 'end'
initializer [-Werror,-Wmissing-field-initializers]
                struct mlx4_mr_cache ret = { 0, };
                                                ^
```

The compilation errors reproduce with
clang version 3.4.2 (tags/RELEASE_34/dot2-final) on RHEL.

Fixes: 9797bfcce1c9 ("net/mlx4: add new memory region support")

Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
---
 drivers/net/mlx4/mlx4_mr.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/net/mlx4/mlx4_mr.c b/drivers/net/mlx4/mlx4_mr.c
index c2066ea4b..726788a60 100644
--- a/drivers/net/mlx4/mlx4_mr.c
+++ b/drivers/net/mlx4/mlx4_mr.c
@@ -355,6 +355,7 @@ mr_insert_dev_cache(struct rte_eth_dev *dev, struct mlx4_mr *mr)
 	      dev->data->port_id, (void *)mr);
 	for (n = 0; n < mr->ms_bmp_n; ) {
-		struct mlx4_mr_cache entry = { 0, };
+		struct mlx4_mr_cache entry;
 
+		memset(&entry, 0, sizeof(entry));
 		/* Find a contiguous chunk and advance the index. */
 		n = mr_find_next_chunk(mr, &entry, n);
@@ -399,6 +400,7 @@ mr_lookup_dev_list(struct rte_eth_dev *dev, struct mlx4_mr_cache *entry,
 			continue;
 		for (n = 0; n < mr->ms_bmp_n; ) {
-			struct mlx4_mr_cache ret = { 0, };
+			struct mlx4_mr_cache ret;
 
+			memset(&ret, 0, sizeof(ret));
 			n = mr_find_next_chunk(mr, &ret, n);
 			if (addr >= ret.start && addr < ret.end) {
@@ -689,6 +691,7 @@ alloc_resources:
 	for (n = 0; n < ms_n; ++n) {
 		uintptr_t start;
-		struct mlx4_mr_cache ret = { 0, };
+		struct mlx4_mr_cache ret;
 
+		memset(&ret, 0, sizeof(ret));
 		start = data_re.start + n * msl->page_sz;
 		/* Exclude memsegs already registered by other MRs. */
@@ -1278,6 +1281,7 @@ mlx4_mr_dump_dev(struct rte_eth_dev *dev)
 			continue;
 		for (n = 0; n < mr->ms_bmp_n; ) {
-			struct mlx4_mr_cache ret = { 0, };
+			struct mlx4_mr_cache ret;
 
+			memset(&ret, 0, sizeof(ret));
 			n = mr_find_next_chunk(mr, &ret, n);
 			if (!ret.end)
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.190289893 +0000
+++ 0044-net-mlx4-fix-initialization-of-struct-members.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,8 +1,10 @@
-From d924d6b964d1dd4a720f61051c14507428b62e95 Mon Sep 17 00:00:00 2001
+From 131bde364fc068a58936376088b33377f9554fa1 Mon Sep 17 00:00:00 2001
 From: Ali Alnubani <alialnu@mellanox.com>
 Date: Tue, 13 Nov 2018 19:11:06 +0000
 Subject: [PATCH] net/mlx4: fix initialization of struct members
 
+[ upstream commit d924d6b964d1dd4a720f61051c14507428b62e95 ]
+
 This patch fixes compilation errors with meson and the clang
 compiler caused by some of the struct members not being
 initialized.
@@ -26,7 +28,6 @@
 clang version 3.4.2 (tags/RELEASE_34/dot2-final) on RHEL.
 
 Fixes: 9797bfcce1c9 ("net/mlx4: add new memory region support")
-Cc: stable@dpdk.org
 
 Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
 Acked-by: Shahaf Shuler <shahafs@mellanox.com>

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

* [dpdk-stable] patch 'net/mlx5: fix initialization of struct members' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (43 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx4: fix initialization of struct members' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx4: optimize Tx external memory registration' " Kevin Traynor
                   ` (41 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Ali Alnubani; +Cc: Shahaf Shuler, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 8c30982d9c5d1da706ba34cd87af1f2f1dd64c73 Mon Sep 17 00:00:00 2001
From: Ali Alnubani <alialnu@mellanox.com>
Date: Tue, 13 Nov 2018 19:11:07 +0000
Subject: [PATCH] net/mlx5: fix initialization of struct members

[ upstream commit 0c15f3c010322853078c20a2a9926d3fb5986548 ]

This patch fixes compilation errors with meson and the clang
compiler caused by some of the struct members not being
initialized.

```
../drivers/net/mlx5/mlx5_mr.c:345:37: error: missing field 'end'
initializer [-Werror,-Wmissing-field-initializers]
                struct mlx5_mr_cache entry = { 0, };
                                                  ^
../drivers/net/mlx5/mlx5_mr.c:389:36: error: missing field 'end'
initializer [-Werror,-Wmissing-field-initializers]
                        struct mlx5_mr_cache ret = { 0, };
                                                        ^
../drivers/net/mlx5/mlx5_mr.c:691:35: error: missing field 'end'
initializer [-Werror,-Wmissing-field-initializers]
                struct mlx5_mr_cache ret = { 0, };
                                                ^
```

The compilation errors reproduce with
clang version 3.4.2 (tags/RELEASE_34/dot2-final) on RHEL.

Fixes: e1114ff6a5ab ("net/mlx5: support e-switch flow count action")
Fixes: db48f9db5d9f ("net/mlx5: support new flow counter API")
Fixes: 974f1e7ef146 ("net/mlx5: add new memory region support")
Fixes: 65c9d24170c9 ("net/mlx5: enable loopback by configured mode")
Fixes: 87011737b715 ("mlx5: add software counters")

Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
---
 drivers/net/mlx5/mlx5_mr.c    | 9 ++++++---
 drivers/net/mlx5/mlx5_stats.c | 3 ++-
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_mr.c b/drivers/net/mlx5/mlx5_mr.c
index f8b7dcaa0..6d7653d7d 100644
--- a/drivers/net/mlx5/mlx5_mr.c
+++ b/drivers/net/mlx5/mlx5_mr.c
@@ -343,6 +343,7 @@ mr_insert_dev_cache(struct rte_eth_dev *dev, struct mlx5_mr *mr)
 		dev->data->port_id, (void *)mr);
 	for (n = 0; n < mr->ms_bmp_n; ) {
-		struct mlx5_mr_cache entry = { 0, };
+		struct mlx5_mr_cache entry;
 
+		memset(&entry, 0, sizeof(entry));
 		/* Find a contiguous chunk and advance the index. */
 		n = mr_find_next_chunk(mr, &entry, n);
@@ -387,6 +388,7 @@ mr_lookup_dev_list(struct rte_eth_dev *dev, struct mlx5_mr_cache *entry,
 			continue;
 		for (n = 0; n < mr->ms_bmp_n; ) {
-			struct mlx5_mr_cache ret = { 0, };
+			struct mlx5_mr_cache ret;
 
+			memset(&ret, 0, sizeof(ret));
 			n = mr_find_next_chunk(mr, &ret, n);
 			if (addr >= ret.start && addr < ret.end) {
@@ -689,6 +691,7 @@ alloc_resources:
 	for (n = 0; n < ms_n; ++n) {
 		uintptr_t start;
-		struct mlx5_mr_cache ret = { 0, };
+		struct mlx5_mr_cache ret;
 
+		memset(&ret, 0, sizeof(ret));
 		start = data_re.start + n * msl->page_sz;
 		/* Exclude memsegs already registered by other MRs. */
diff --git a/drivers/net/mlx5/mlx5_stats.c b/drivers/net/mlx5/mlx5_stats.c
index a14d1e491..fccb9af0d 100644
--- a/drivers/net/mlx5/mlx5_stats.c
+++ b/drivers/net/mlx5/mlx5_stats.c
@@ -355,8 +355,9 @@ mlx5_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
 {
 	struct priv *priv = dev->data->dev_private;
-	struct rte_eth_stats tmp = {0};
+	struct rte_eth_stats tmp;
 	unsigned int i;
 	unsigned int idx;
 
+	memset(&tmp, 0, sizeof(tmp));
 	/* Add software counters. */
 	for (i = 0; (i != priv->rxqs_n); ++i) {
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.214297565 +0000
+++ 0045-net-mlx5-fix-initialization-of-struct-members.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,8 +1,10 @@
-From 0c15f3c010322853078c20a2a9926d3fb5986548 Mon Sep 17 00:00:00 2001
+From 8c30982d9c5d1da706ba34cd87af1f2f1dd64c73 Mon Sep 17 00:00:00 2001
 From: Ali Alnubani <alialnu@mellanox.com>
 Date: Tue, 13 Nov 2018 19:11:07 +0000
 Subject: [PATCH] net/mlx5: fix initialization of struct members
 
+[ upstream commit 0c15f3c010322853078c20a2a9926d3fb5986548 ]
+
 This patch fixes compilation errors with meson and the clang
 compiler caused by some of the struct members not being
 initialized.
@@ -30,49 +32,14 @@
 Fixes: 974f1e7ef146 ("net/mlx5: add new memory region support")
 Fixes: 65c9d24170c9 ("net/mlx5: enable loopback by configured mode")
 Fixes: 87011737b715 ("mlx5: add software counters")
-Cc: stable@dpdk.org
 
 Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
 Acked-by: Shahaf Shuler <shahafs@mellanox.com>
 ---
- drivers/net/mlx5/mlx5_flow_tcf.c   | 3 ++-
- drivers/net/mlx5/mlx5_flow_verbs.c | 3 ++-
- drivers/net/mlx5/mlx5_mr.c         | 9 ++++++---
- drivers/net/mlx5/mlx5_rxq.c        | 3 ++-
- drivers/net/mlx5/mlx5_stats.c      | 3 ++-
- 5 files changed, 14 insertions(+), 7 deletions(-)
-
-diff --git a/drivers/net/mlx5/mlx5_flow_tcf.c b/drivers/net/mlx5/mlx5_flow_tcf.c
-index 98ecaec3f..2f6b7d637 100644
---- a/drivers/net/mlx5/mlx5_flow_tcf.c
-+++ b/drivers/net/mlx5/mlx5_flow_tcf.c
-@@ -5697,5 +5697,5 @@ flow_tcf_query_count(struct rte_eth_dev *dev,
- 			  struct rte_flow_error *error)
- {
--	struct flow_tcf_stats_basic sb_data = { 0 };
-+	struct flow_tcf_stats_basic sb_data;
- 	struct rte_flow_query_count *qc = data;
- 	struct priv *priv = dev->data->dev_private;
-@@ -5708,4 +5708,5 @@ flow_tcf_query_count(struct rte_eth_dev *dev,
- 	assert(qc);
- 
-+	memset(&sb_data, 0, sizeof(sb_data));
- 	dev_flow = LIST_FIRST(&flow->dev_flows);
- 	/* E-Switch flow can't be expanded. */
-diff --git a/drivers/net/mlx5/mlx5_flow_verbs.c b/drivers/net/mlx5/mlx5_flow_verbs.c
-index d6d95db56..13fbf2496 100644
---- a/drivers/net/mlx5/mlx5_flow_verbs.c
-+++ b/drivers/net/mlx5/mlx5_flow_verbs.c
-@@ -69,7 +69,8 @@ flow_verbs_counter_create(struct rte_eth_dev *dev,
- 	struct priv *priv = dev->data->dev_private;
- 	struct ibv_counters_init_attr init = {0};
--	struct ibv_counter_attach_attr attach = {0};
-+	struct ibv_counter_attach_attr attach;
- 	int ret;
- 
-+	memset(&attach, 0, sizeof(attach));
- 	counter->cs = mlx5_glue->create_counters(priv->ctx, &init);
- 	if (!counter->cs) {
+ drivers/net/mlx5/mlx5_mr.c    | 9 ++++++---
+ drivers/net/mlx5/mlx5_stats.c | 3 ++-
+ 2 files changed, 8 insertions(+), 4 deletions(-)
+
 diff --git a/drivers/net/mlx5/mlx5_mr.c b/drivers/net/mlx5/mlx5_mr.c
 index f8b7dcaa0..6d7653d7d 100644
 --- a/drivers/net/mlx5/mlx5_mr.c
@@ -104,23 +71,6 @@
 +		memset(&ret, 0, sizeof(ret));
  		start = data_re.start + n * msl->page_sz;
  		/* Exclude memsegs already registered by other MRs. */
-diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
-index eef485021..b27fc4798 100644
---- a/drivers/net/mlx5/mlx5_rxq.c
-+++ b/drivers/net/mlx5/mlx5_rxq.c
-@@ -1783,5 +1783,5 @@ mlx5_hrxq_new(struct rte_eth_dev *dev,
- 	struct ibv_qp *qp;
- #ifdef HAVE_IBV_DEVICE_TUNNEL_SUPPORT
--	struct mlx5dv_qp_init_attr qp_init_attr = {0};
-+	struct mlx5dv_qp_init_attr qp_init_attr;
- #endif
- 	int err;
-@@ -1796,4 +1796,5 @@ mlx5_hrxq_new(struct rte_eth_dev *dev,
- 	}
- #ifdef HAVE_IBV_DEVICE_TUNNEL_SUPPORT
-+	memset(&qp_init_attr, 0, sizeof(qp_init_attr));
- 	if (tunnel) {
- 		qp_init_attr.comp_mask =
 diff --git a/drivers/net/mlx5/mlx5_stats.c b/drivers/net/mlx5/mlx5_stats.c
 index a14d1e491..fccb9af0d 100644
 --- a/drivers/net/mlx5/mlx5_stats.c

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

* [dpdk-stable] patch 'net/mlx4: optimize Tx external memory registration' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (44 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: " Kevin Traynor
                   ` (40 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Yongseok Koh; +Cc: Shahaf Shuler, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 75e618f9df8bb4e2135aa48f1004ebd50b38f2dd Mon Sep 17 00:00:00 2001
From: Yongseok Koh <yskoh@mellanox.com>
Date: Thu, 15 Nov 2018 10:29:16 +0000
Subject: [PATCH] net/mlx4: optimize Tx external memory registration

[ upstream commit 1948776360d22ca09754982c7da8c75a032f3325 ]

There's some performance drop due to extra condition checks on the
datapath. Checking for external memory registration should be consolidated
to the existing bottom-half.

Fixes: 31912d992403 ("net/mlx4: support externally allocated static memory")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
---
 drivers/net/mlx4/mlx4_mr.c   | 28 +++++++++++++++++++++++++++-
 drivers/net/mlx4/mlx4_rxtx.h | 26 ++++++--------------------
 2 files changed, 33 insertions(+), 21 deletions(-)

diff --git a/drivers/net/mlx4/mlx4_mr.c b/drivers/net/mlx4/mlx4_mr.c
index 726788a60..a0094483a 100644
--- a/drivers/net/mlx4/mlx4_mr.c
+++ b/drivers/net/mlx4/mlx4_mr.c
@@ -1043,5 +1043,5 @@ mlx4_rx_addr2mr_bh(struct rxq *rxq, uintptr_t addr)
  *   Searched LKey on success, UINT32_MAX on no match.
  */
-uint32_t
+static uint32_t
 mlx4_tx_addr2mr_bh(struct txq *txq, uintptr_t addr)
 {
@@ -1054,4 +1054,30 @@ mlx4_tx_addr2mr_bh(struct txq *txq, uintptr_t addr)
 }
 
+/**
+ * Bottom-half of LKey search on Tx. If it can't be searched in the memseg
+ * list, register the mempool of the mbuf as externally allocated memory.
+ *
+ * @param txq
+ *   Pointer to Tx queue structure.
+ * @param mb
+ *   Pointer to mbuf.
+ *
+ * @return
+ *   Searched LKey on success, UINT32_MAX on no match.
+ */
+uint32_t
+mlx4_tx_mb2mr_bh(struct txq *txq, struct rte_mbuf *mb)
+{
+	uintptr_t addr = (uintptr_t)mb->buf_addr;
+	uint32_t lkey;
+
+	lkey = mlx4_tx_addr2mr_bh(txq, addr);
+	if (lkey == UINT32_MAX && rte_errno == ENXIO) {
+		/* Mempool may have externally allocated memory. */
+		return mlx4_tx_update_ext_mp(txq, addr, mlx4_mb2mp(mb));
+	}
+	return lkey;
+}
+
 /**
  * Flush all of the local cache entries.
diff --git a/drivers/net/mlx4/mlx4_rxtx.h b/drivers/net/mlx4/mlx4_rxtx.h
index 1be060cda..d7ec4e0c5 100644
--- a/drivers/net/mlx4/mlx4_rxtx.h
+++ b/drivers/net/mlx4/mlx4_rxtx.h
@@ -163,5 +163,5 @@ void mlx4_tx_queue_release(void *dpdk_txq);
 void mlx4_mr_flush_local_cache(struct mlx4_mr_ctrl *mr_ctrl);
 uint32_t mlx4_rx_addr2mr_bh(struct rxq *rxq, uintptr_t addr);
-uint32_t mlx4_tx_addr2mr_bh(struct txq *txq, uintptr_t addr);
+uint32_t mlx4_tx_mb2mr_bh(struct txq *txq, struct rte_mbuf *mb);
 uint32_t mlx4_tx_update_ext_mp(struct txq *txq, uintptr_t addr,
 			       struct rte_mempool *mp);
@@ -177,5 +177,5 @@ uint32_t mlx4_tx_update_ext_mp(struct txq *txq, uintptr_t addr,
  *   Memory pool where data is located for given mbuf.
  */
-static struct rte_mempool *
+static inline struct rte_mempool *
 mlx4_mb2mp(struct rte_mbuf *buf)
 {
@@ -226,7 +226,8 @@ mlx4_rx_addr2mr(struct rxq *rxq, uintptr_t addr)
  */
 static __rte_always_inline uint32_t
-mlx4_tx_addr2mr(struct txq *txq, uintptr_t addr)
+mlx4_tx_mb2mr(struct txq *txq, struct rte_mbuf *mb)
 {
 	struct mlx4_mr_ctrl *mr_ctrl = &txq->mr_ctrl;
+	uintptr_t addr = (uintptr_t)mb->buf_addr;
 	uint32_t lkey;
 
@@ -239,21 +240,6 @@ mlx4_tx_addr2mr(struct txq *txq, uintptr_t addr)
 	if (likely(lkey != UINT32_MAX))
 		return lkey;
-	/* Take slower bottom-half (binary search) on miss. */
-	return mlx4_tx_addr2mr_bh(txq, addr);
-}
-
-static __rte_always_inline uint32_t
-mlx4_tx_mb2mr(struct txq *txq, struct rte_mbuf *mb)
-{
-	uintptr_t addr = (uintptr_t)mb->buf_addr;
-	uint32_t lkey = mlx4_tx_addr2mr(txq, addr);
-
-	if (likely(lkey != UINT32_MAX))
-		return lkey;
-	if (rte_errno == ENXIO) {
-		/* Mempool may have externally allocated memory. */
-		lkey = mlx4_tx_update_ext_mp(txq, addr, mlx4_mb2mp(mb));
-	}
-	return lkey;
+	/* Take slower bottom-half on miss. */
+	return mlx4_tx_mb2mr_bh(txq, mb);
 }
 
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.245766408 +0000
+++ 0046-net-mlx4-optimize-Tx-external-memory-registration.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,14 +1,15 @@
-From 1948776360d22ca09754982c7da8c75a032f3325 Mon Sep 17 00:00:00 2001
+From 75e618f9df8bb4e2135aa48f1004ebd50b38f2dd Mon Sep 17 00:00:00 2001
 From: Yongseok Koh <yskoh@mellanox.com>
 Date: Thu, 15 Nov 2018 10:29:16 +0000
 Subject: [PATCH] net/mlx4: optimize Tx external memory registration
 
+[ upstream commit 1948776360d22ca09754982c7da8c75a032f3325 ]
+
 There's some performance drop due to extra condition checks on the
 datapath. Checking for external memory registration should be consolidated
 to the existing bottom-half.
 
 Fixes: 31912d992403 ("net/mlx4: support externally allocated static memory")
-Cc: stable@dpdk.org
 
 Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
 Acked-by: Shahaf Shuler <shahafs@mellanox.com>

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

* [dpdk-stable] patch 'net/mlx5: optimize Tx external memory registration' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (45 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx4: optimize Tx external memory registration' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: optimize Tx doorbell write' " Kevin Traynor
                   ` (39 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Yongseok Koh; +Cc: Shahaf Shuler, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 5c354a0f6dbcd7841296acc99e66454130d55d2a Mon Sep 17 00:00:00 2001
From: Yongseok Koh <yskoh@mellanox.com>
Date: Thu, 15 Nov 2018 10:29:17 +0000
Subject: [PATCH] net/mlx5: optimize Tx external memory registration

[ upstream commit feddd5d243b7b43d51d2e9655b9143c462384ea8 ]

There's some performance drop due to extra condition checks on the
datapath. Checking for external memory registration should be consolidated
to the existing bottom-half.

Fixes: 7e43a32ee060 ("net/mlx5: support externally allocated static memory")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
---
 drivers/net/mlx5/mlx5_mr.c   | 28 +++++++++++++++++++++++++++-
 drivers/net/mlx5/mlx5_rxtx.h | 26 ++++++--------------------
 2 files changed, 33 insertions(+), 21 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_mr.c b/drivers/net/mlx5/mlx5_mr.c
index 6d7653d7d..442b2d232 100644
--- a/drivers/net/mlx5/mlx5_mr.c
+++ b/drivers/net/mlx5/mlx5_mr.c
@@ -1046,5 +1046,5 @@ mlx5_rx_addr2mr_bh(struct mlx5_rxq_data *rxq, uintptr_t addr)
  *   Searched LKey on success, UINT32_MAX on no match.
  */
-uint32_t
+static uint32_t
 mlx5_tx_addr2mr_bh(struct mlx5_txq_data *txq, uintptr_t addr)
 {
@@ -1060,4 +1060,30 @@ mlx5_tx_addr2mr_bh(struct mlx5_txq_data *txq, uintptr_t addr)
 }
 
+/**
+ * Bottom-half of LKey search on Tx. If it can't be searched in the memseg
+ * list, register the mempool of the mbuf as externally allocated memory.
+ *
+ * @param txq
+ *   Pointer to Tx queue structure.
+ * @param mb
+ *   Pointer to mbuf.
+ *
+ * @return
+ *   Searched LKey on success, UINT32_MAX on no match.
+ */
+uint32_t
+mlx5_tx_mb2mr_bh(struct mlx5_txq_data *txq, struct rte_mbuf *mb)
+{
+	uintptr_t addr = (uintptr_t)mb->buf_addr;
+	uint32_t lkey;
+
+	lkey = mlx5_tx_addr2mr_bh(txq, addr);
+	if (lkey == UINT32_MAX && rte_errno == ENXIO) {
+		/* Mempool may have externally allocated memory. */
+		return mlx5_tx_update_ext_mp(txq, addr, mlx5_mb2mp(mb));
+	}
+	return lkey;
+}
+
 /**
  * Flush all of the local cache entries.
diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h
index 1db468c3b..e1dc6db21 100644
--- a/drivers/net/mlx5/mlx5_rxtx.h
+++ b/drivers/net/mlx5/mlx5_rxtx.h
@@ -363,5 +363,5 @@ uint16_t mlx5_rx_burst_vec(void *dpdk_txq, struct rte_mbuf **pkts,
 void mlx5_mr_flush_local_cache(struct mlx5_mr_ctrl *mr_ctrl);
 uint32_t mlx5_rx_addr2mr_bh(struct mlx5_rxq_data *rxq, uintptr_t addr);
-uint32_t mlx5_tx_addr2mr_bh(struct mlx5_txq_data *txq, uintptr_t addr);
+uint32_t mlx5_tx_mb2mr_bh(struct mlx5_txq_data *txq, struct rte_mbuf *mb);
 uint32_t mlx5_tx_update_ext_mp(struct mlx5_txq_data *txq, uintptr_t addr,
 			       struct rte_mempool *mp);
@@ -619,5 +619,5 @@ mlx5_tx_complete(struct mlx5_txq_data *txq)
  *   Memory pool where data is located for given mbuf.
  */
-static struct rte_mempool *
+static inline struct rte_mempool *
 mlx5_mb2mp(struct rte_mbuf *buf)
 {
@@ -668,7 +668,8 @@ mlx5_rx_addr2mr(struct mlx5_rxq_data *rxq, uintptr_t addr)
  */
 static __rte_always_inline uint32_t
-mlx5_tx_addr2mr(struct mlx5_txq_data *txq, uintptr_t addr)
+mlx5_tx_mb2mr(struct mlx5_txq_data *txq, struct rte_mbuf *mb)
 {
 	struct mlx5_mr_ctrl *mr_ctrl = &txq->mr_ctrl;
+	uintptr_t addr = (uintptr_t)mb->buf_addr;
 	uint32_t lkey;
 
@@ -681,21 +682,6 @@ mlx5_tx_addr2mr(struct mlx5_txq_data *txq, uintptr_t addr)
 	if (likely(lkey != UINT32_MAX))
 		return lkey;
-	/* Take slower bottom-half (binary search) on miss. */
-	return mlx5_tx_addr2mr_bh(txq, addr);
-}
-
-static __rte_always_inline uint32_t
-mlx5_tx_mb2mr(struct mlx5_txq_data *txq, struct rte_mbuf *mb)
-{
-	uintptr_t addr = (uintptr_t)mb->buf_addr;
-	uint32_t lkey = mlx5_tx_addr2mr(txq, addr);
-
-	if (likely(lkey != UINT32_MAX))
-		return lkey;
-	if (rte_errno == ENXIO) {
-		/* Mempool may have externally allocated memory. */
-		lkey = mlx5_tx_update_ext_mp(txq, addr, mlx5_mb2mp(mb));
-	}
-	return lkey;
+	/* Take slower bottom-half on miss. */
+	return mlx5_tx_mb2mr_bh(txq, mb);
 }
 
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.270910483 +0000
+++ 0047-net-mlx5-optimize-Tx-external-memory-registration.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,14 +1,15 @@
-From feddd5d243b7b43d51d2e9655b9143c462384ea8 Mon Sep 17 00:00:00 2001
+From 5c354a0f6dbcd7841296acc99e66454130d55d2a Mon Sep 17 00:00:00 2001
 From: Yongseok Koh <yskoh@mellanox.com>
 Date: Thu, 15 Nov 2018 10:29:17 +0000
 Subject: [PATCH] net/mlx5: optimize Tx external memory registration
 
+[ upstream commit feddd5d243b7b43d51d2e9655b9143c462384ea8 ]
+
 There's some performance drop due to extra condition checks on the
 datapath. Checking for external memory registration should be consolidated
 to the existing bottom-half.
 
 Fixes: 7e43a32ee060 ("net/mlx5: support externally allocated static memory")
-Cc: stable@dpdk.org
 
 Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
 Acked-by: Shahaf Shuler <shahafs@mellanox.com>
@@ -60,24 +61,24 @@
  /**
   * Flush all of the local cache entries.
 diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h
-index 1b6200f6c..59fb43fef 100644
+index 1db468c3b..e1dc6db21 100644
 --- a/drivers/net/mlx5/mlx5_rxtx.h
 +++ b/drivers/net/mlx5/mlx5_rxtx.h
-@@ -364,5 +364,5 @@ uint16_t mlx5_rx_burst_vec(void *dpdk_txq, struct rte_mbuf **pkts,
+@@ -363,5 +363,5 @@ uint16_t mlx5_rx_burst_vec(void *dpdk_txq, struct rte_mbuf **pkts,
  void mlx5_mr_flush_local_cache(struct mlx5_mr_ctrl *mr_ctrl);
  uint32_t mlx5_rx_addr2mr_bh(struct mlx5_rxq_data *rxq, uintptr_t addr);
 -uint32_t mlx5_tx_addr2mr_bh(struct mlx5_txq_data *txq, uintptr_t addr);
 +uint32_t mlx5_tx_mb2mr_bh(struct mlx5_txq_data *txq, struct rte_mbuf *mb);
  uint32_t mlx5_tx_update_ext_mp(struct mlx5_txq_data *txq, uintptr_t addr,
  			       struct rte_mempool *mp);
-@@ -620,5 +620,5 @@ mlx5_tx_complete(struct mlx5_txq_data *txq)
+@@ -619,5 +619,5 @@ mlx5_tx_complete(struct mlx5_txq_data *txq)
   *   Memory pool where data is located for given mbuf.
   */
 -static struct rte_mempool *
 +static inline struct rte_mempool *
  mlx5_mb2mp(struct rte_mbuf *buf)
  {
-@@ -669,7 +669,8 @@ mlx5_rx_addr2mr(struct mlx5_rxq_data *rxq, uintptr_t addr)
+@@ -668,7 +668,8 @@ mlx5_rx_addr2mr(struct mlx5_rxq_data *rxq, uintptr_t addr)
   */
  static __rte_always_inline uint32_t
 -mlx5_tx_addr2mr(struct mlx5_txq_data *txq, uintptr_t addr)
@@ -87,7 +88,7 @@
 +	uintptr_t addr = (uintptr_t)mb->buf_addr;
  	uint32_t lkey;
  
-@@ -682,21 +683,6 @@ mlx5_tx_addr2mr(struct mlx5_txq_data *txq, uintptr_t addr)
+@@ -681,21 +682,6 @@ mlx5_tx_addr2mr(struct mlx5_txq_data *txq, uintptr_t addr)
  	if (likely(lkey != UINT32_MAX))
  		return lkey;
 -	/* Take slower bottom-half (binary search) on miss. */

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

* [dpdk-stable] patch 'net/mlx5: optimize Tx doorbell write' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (46 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: optimize Rx buffer replenishment threshold' " Kevin Traynor
                   ` (38 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Yongseok Koh; +Cc: Shahaf Shuler, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 25edba0ea0a2262fd8b6efd3fa80b4060ead29f6 Mon Sep 17 00:00:00 2001
From: Yongseok Koh <yskoh@mellanox.com>
Date: Thu, 15 Nov 2018 10:29:19 +0000
Subject: [PATCH] net/mlx5: optimize Tx doorbell write

[ upstream commit 317e64739de05a67406f43dd1860433359a81435 ]

Unnecessary volatile attribute keeps compiler from further optimizing the
code and this results in a little performance drop (~2%). Because of memory
barriers, it is safe to remove.

Fixes: 6bf10ab69be0 ("net/mlx5: support 32-bit systems")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
---
 drivers/net/mlx5/mlx5_rxtx.h | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h
index e1dc6db21..d06e1e795 100644
--- a/drivers/net/mlx5/mlx5_rxtx.h
+++ b/drivers/net/mlx5/mlx5_rxtx.h
@@ -379,15 +379,14 @@ uint32_t mlx5_tx_update_ext_mp(struct mlx5_txq_data *txq, uintptr_t addr,
  */
 static __rte_always_inline void
-__mlx5_uar_write64_relaxed(uint64_t val, volatile void *addr,
+__mlx5_uar_write64_relaxed(uint64_t val, void *addr,
 			   rte_spinlock_t *lock __rte_unused)
 {
 #ifdef RTE_ARCH_64
-	rte_write64_relaxed(val, addr);
+	*(uint64_t *)addr = val;
 #else /* !RTE_ARCH_64 */
 	rte_spinlock_lock(lock);
-	rte_write32_relaxed(val, addr);
+	*(uint32_t *)addr = val;
 	rte_io_wmb();
-	rte_write32_relaxed(val >> 32,
-			    (volatile void *)((volatile char *)addr + 4));
+	*((uint32_t *)addr + 1) = val >> 32;
 	rte_spinlock_unlock(lock);
 #endif
@@ -407,5 +406,5 @@ __mlx5_uar_write64_relaxed(uint64_t val, volatile void *addr,
  */
 static __rte_always_inline void
-__mlx5_uar_write64(uint64_t val, volatile void *addr, rte_spinlock_t *lock)
+__mlx5_uar_write64(uint64_t val, void *addr, rte_spinlock_t *lock)
 {
 	rte_io_wmb();
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.294946977 +0000
+++ 0048-net-mlx5-optimize-Tx-doorbell-write.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,14 +1,15 @@
-From 317e64739de05a67406f43dd1860433359a81435 Mon Sep 17 00:00:00 2001
+From 25edba0ea0a2262fd8b6efd3fa80b4060ead29f6 Mon Sep 17 00:00:00 2001
 From: Yongseok Koh <yskoh@mellanox.com>
 Date: Thu, 15 Nov 2018 10:29:19 +0000
 Subject: [PATCH] net/mlx5: optimize Tx doorbell write
 
+[ upstream commit 317e64739de05a67406f43dd1860433359a81435 ]
+
 Unnecessary volatile attribute keeps compiler from further optimizing the
 code and this results in a little performance drop (~2%). Because of memory
 barriers, it is safe to remove.
 
 Fixes: 6bf10ab69be0 ("net/mlx5: support 32-bit systems")
-Cc: stable@dpdk.org
 
 Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
 Acked-by: Shahaf Shuler <shahafs@mellanox.com>
@@ -17,10 +18,10 @@
  1 file changed, 5 insertions(+), 6 deletions(-)
 
 diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h
-index 59fb43fef..e210453fe 100644
+index e1dc6db21..d06e1e795 100644
 --- a/drivers/net/mlx5/mlx5_rxtx.h
 +++ b/drivers/net/mlx5/mlx5_rxtx.h
-@@ -380,15 +380,14 @@ uint32_t mlx5_tx_update_ext_mp(struct mlx5_txq_data *txq, uintptr_t addr,
+@@ -379,15 +379,14 @@ uint32_t mlx5_tx_update_ext_mp(struct mlx5_txq_data *txq, uintptr_t addr,
   */
  static __rte_always_inline void
 -__mlx5_uar_write64_relaxed(uint64_t val, volatile void *addr,
@@ -40,7 +41,7 @@
 +	*((uint32_t *)addr + 1) = val >> 32;
  	rte_spinlock_unlock(lock);
  #endif
-@@ -408,5 +407,5 @@ __mlx5_uar_write64_relaxed(uint64_t val, volatile void *addr,
+@@ -407,5 +406,5 @@ __mlx5_uar_write64_relaxed(uint64_t val, volatile void *addr,
   */
  static __rte_always_inline void
 -__mlx5_uar_write64(uint64_t val, volatile void *addr, rte_spinlock_t *lock)

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

* [dpdk-stable] patch 'net/mlx5: optimize Rx buffer replenishment threshold' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (47 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: optimize Tx doorbell write' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: fix packet type for MPLS in UDP' " Kevin Traynor
                   ` (37 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Yongseok Koh; +Cc: Shahaf Shuler, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 91eb1e7be56db1c57651976e124091d43f350165 Mon Sep 17 00:00:00 2001
From: Yongseok Koh <yskoh@mellanox.com>
Date: Thu, 15 Nov 2018 10:29:20 +0000
Subject: [PATCH] net/mlx5: optimize Rx buffer replenishment threshold

[ upstream commit 545db54c7c0397ab27e1e0a62a97eef8b2f03576 ]

Due to redundant calculation per every burst, performance drops a little.

Fixes: e10245a13b2e ("net/mlx5: fix Rx buffer replenishment threshold")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
---
 drivers/net/mlx5/mlx5_rxq.c           | 2 ++
 drivers/net/mlx5/mlx5_rxtx.h          | 1 +
 drivers/net/mlx5/mlx5_rxtx_vec_neon.h | 2 +-
 drivers/net/mlx5/mlx5_rxtx_vec_sse.h  | 2 +-
 4 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index 1f7bfd441..8efa1e4a9 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -1464,4 +1464,6 @@ mlx5_rxq_new(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
 	tmpl->rxq.stats.idx = idx;
 	tmpl->rxq.elts_n = log2above(desc);
+	tmpl->rxq.rq_repl_thresh =
+		MLX5_VPMD_RXQ_RPLNSH_THRESH(1 << tmpl->rxq.elts_n);
 	tmpl->rxq.elts =
 		(struct rte_mbuf *(*)[1 << tmpl->rxq.elts_n])(tmpl + 1);
diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h
index d06e1e795..9281750e9 100644
--- a/drivers/net/mlx5/mlx5_rxtx.h
+++ b/drivers/net/mlx5/mlx5_rxtx.h
@@ -102,4 +102,5 @@ struct mlx5_rxq_data {
 	uint32_t rq_pi;
 	uint32_t cq_ci;
+	uint16_t rq_repl_thresh; /* Threshold for buffer replenishment. */
 	struct mlx5_mr_ctrl mr_ctrl; /* MR control descriptor. */
 	uint16_t mprq_max_memcpy_len; /* Maximum size of packet to memcpy. */
diff --git a/drivers/net/mlx5/mlx5_rxtx_vec_neon.h b/drivers/net/mlx5/mlx5_rxtx_vec_neon.h
index b37b7381c..e827ec423 100644
--- a/drivers/net/mlx5/mlx5_rxtx_vec_neon.h
+++ b/drivers/net/mlx5/mlx5_rxtx_vec_neon.h
@@ -734,5 +734,5 @@ rxq_burst_v(struct mlx5_rxq_data *rxq, struct rte_mbuf **pkts, uint16_t pkts_n,
 	 */
 	repl_n = q_n - (rxq->rq_ci - rxq->rq_pi);
-	if (repl_n >= MLX5_VPMD_RXQ_RPLNSH_THRESH(q_n))
+	if (repl_n >= rxq->rq_repl_thresh)
 		mlx5_rx_replenish_bulk_mbuf(rxq, repl_n);
 	/* See if there're unreturned mbufs from compressed CQE. */
diff --git a/drivers/net/mlx5/mlx5_rxtx_vec_sse.h b/drivers/net/mlx5/mlx5_rxtx_vec_sse.h
index 54b3783cf..ae78da9d6 100644
--- a/drivers/net/mlx5/mlx5_rxtx_vec_sse.h
+++ b/drivers/net/mlx5/mlx5_rxtx_vec_sse.h
@@ -719,5 +719,5 @@ rxq_burst_v(struct mlx5_rxq_data *rxq, struct rte_mbuf **pkts, uint16_t pkts_n,
 	 */
 	repl_n = q_n - (rxq->rq_ci - rxq->rq_pi);
-	if (repl_n >= MLX5_VPMD_RXQ_RPLNSH_THRESH(q_n))
+	if (repl_n >= rxq->rq_repl_thresh)
 		mlx5_rx_replenish_bulk_mbuf(rxq, repl_n);
 	/* See if there're unreturned mbufs from compressed CQE. */
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.319121911 +0000
+++ 0049-net-mlx5-optimize-Rx-buffer-replenishment-threshold.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,12 +1,13 @@
-From 545db54c7c0397ab27e1e0a62a97eef8b2f03576 Mon Sep 17 00:00:00 2001
+From 91eb1e7be56db1c57651976e124091d43f350165 Mon Sep 17 00:00:00 2001
 From: Yongseok Koh <yskoh@mellanox.com>
 Date: Thu, 15 Nov 2018 10:29:20 +0000
 Subject: [PATCH] net/mlx5: optimize Rx buffer replenishment threshold
 
+[ upstream commit 545db54c7c0397ab27e1e0a62a97eef8b2f03576 ]
+
 Due to redundant calculation per every burst, performance drops a little.
 
 Fixes: e10245a13b2e ("net/mlx5: fix Rx buffer replenishment threshold")
-Cc: stable@dpdk.org
 
 Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
 Acked-by: Shahaf Shuler <shahafs@mellanox.com>
@@ -18,10 +19,10 @@
  4 files changed, 5 insertions(+), 2 deletions(-)
 
 diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
-index b27fc4798..183da0e28 100644
+index 1f7bfd441..8efa1e4a9 100644
 --- a/drivers/net/mlx5/mlx5_rxq.c
 +++ b/drivers/net/mlx5/mlx5_rxq.c
-@@ -1469,4 +1469,6 @@ mlx5_rxq_new(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
+@@ -1464,4 +1464,6 @@ mlx5_rxq_new(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
  	tmpl->rxq.stats.idx = idx;
  	tmpl->rxq.elts_n = log2above(desc);
 +	tmpl->rxq.rq_repl_thresh =
@@ -29,7 +30,7 @@
  	tmpl->rxq.elts =
  		(struct rte_mbuf *(*)[1 << tmpl->rxq.elts_n])(tmpl + 1);
 diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h
-index e210453fe..f47d327cf 100644
+index d06e1e795..9281750e9 100644
 --- a/drivers/net/mlx5/mlx5_rxtx.h
 +++ b/drivers/net/mlx5/mlx5_rxtx.h
 @@ -102,4 +102,5 @@ struct mlx5_rxq_data {
@@ -39,10 +40,10 @@
  	struct mlx5_mr_ctrl mr_ctrl; /* MR control descriptor. */
  	uint16_t mprq_max_memcpy_len; /* Maximum size of packet to memcpy. */
 diff --git a/drivers/net/mlx5/mlx5_rxtx_vec_neon.h b/drivers/net/mlx5/mlx5_rxtx_vec_neon.h
-index 0b729f185..883fe1bf9 100644
+index b37b7381c..e827ec423 100644
 --- a/drivers/net/mlx5/mlx5_rxtx_vec_neon.h
 +++ b/drivers/net/mlx5/mlx5_rxtx_vec_neon.h
-@@ -733,5 +733,5 @@ rxq_burst_v(struct mlx5_rxq_data *rxq, struct rte_mbuf **pkts, uint16_t pkts_n,
+@@ -734,5 +734,5 @@ rxq_burst_v(struct mlx5_rxq_data *rxq, struct rte_mbuf **pkts, uint16_t pkts_n,
  	 */
  	repl_n = q_n - (rxq->rq_ci - rxq->rq_pi);
 -	if (repl_n >= MLX5_VPMD_RXQ_RPLNSH_THRESH(q_n))
@@ -50,10 +51,10 @@
  		mlx5_rx_replenish_bulk_mbuf(rxq, repl_n);
  	/* See if there're unreturned mbufs from compressed CQE. */
 diff --git a/drivers/net/mlx5/mlx5_rxtx_vec_sse.h b/drivers/net/mlx5/mlx5_rxtx_vec_sse.h
-index e0f95f923..14117c4bb 100644
+index 54b3783cf..ae78da9d6 100644
 --- a/drivers/net/mlx5/mlx5_rxtx_vec_sse.h
 +++ b/drivers/net/mlx5/mlx5_rxtx_vec_sse.h
-@@ -717,5 +717,5 @@ rxq_burst_v(struct mlx5_rxq_data *rxq, struct rte_mbuf **pkts, uint16_t pkts_n,
+@@ -719,5 +719,5 @@ rxq_burst_v(struct mlx5_rxq_data *rxq, struct rte_mbuf **pkts, uint16_t pkts_n,
  	 */
  	repl_n = q_n - (rxq->rq_ci - rxq->rq_pi);
 -	if (repl_n >= MLX5_VPMD_RXQ_RPLNSH_THRESH(q_n))

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

* [dpdk-stable] patch 'net/mlx5: fix packet type for MPLS in UDP' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (48 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: optimize Rx buffer replenishment threshold' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/ena: fix cleaning HW IO rings configuration' " Kevin Traynor
                   ` (36 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Dekel Peled; +Cc: Shahaf Shuler, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 21b4aa9fc63305533d85d7cfea96a3fc09fdda28 Mon Sep 17 00:00:00 2001
From: Dekel Peled <dekelp@mellanox.com>
Date: Thu, 15 Nov 2018 17:17:14 +0200
Subject: [PATCH] net/mlx5: fix packet type for MPLS in UDP

[ upstream commit c5e508f0c3f2c1a4cc943f588235dd7be0ab6dba ]

Change the relevant value in tunnels_info[] to match tunnel type.

Fixes: a4a5cd21d20a ("net/mlx5: add flow MPLS item")

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

diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 4f21215df..fee6f693e 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -402,5 +402,5 @@ static struct mlx5_flow_tunnel_info tunnels_info[] = {
 	{
 		.tunnel = MLX5_FLOW_LAYER_MPLS | MLX5_FLOW_LAYER_OUTER_L4_UDP,
-		.ptype = RTE_PTYPE_TUNNEL_MPLS_IN_GRE | RTE_PTYPE_L4_UDP,
+		.ptype = RTE_PTYPE_TUNNEL_MPLS_IN_UDP | RTE_PTYPE_L4_UDP,
 	},
 	{
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.345884547 +0000
+++ 0050-net-mlx5-fix-packet-type-for-MPLS-in-UDP.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,12 +1,13 @@
-From c5e508f0c3f2c1a4cc943f588235dd7be0ab6dba Mon Sep 17 00:00:00 2001
+From 21b4aa9fc63305533d85d7cfea96a3fc09fdda28 Mon Sep 17 00:00:00 2001
 From: Dekel Peled <dekelp@mellanox.com>
 Date: Thu, 15 Nov 2018 17:17:14 +0200
 Subject: [PATCH] net/mlx5: fix packet type for MPLS in UDP
 
+[ upstream commit c5e508f0c3f2c1a4cc943f588235dd7be0ab6dba ]
+
 Change the relevant value in tunnels_info[] to match tunnel type.
 
 Fixes: a4a5cd21d20a ("net/mlx5: add flow MPLS item")
-Cc: stable@dpdk.org
 
 Signed-off-by: Dekel Peled <dekelp@mellanox.com>
 Acked-by: Shahaf Shuler <shahafs@mellanox.com>
@@ -15,10 +16,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
-index c8fad5f00..97dc3e1f8 100644
+index 4f21215df..fee6f693e 100644
 --- a/drivers/net/mlx5/mlx5_flow.c
 +++ b/drivers/net/mlx5/mlx5_flow.c
-@@ -295,5 +295,5 @@ static struct mlx5_flow_tunnel_info tunnels_info[] = {
+@@ -402,5 +402,5 @@ static struct mlx5_flow_tunnel_info tunnels_info[] = {
  	{
  		.tunnel = MLX5_FLOW_LAYER_MPLS | MLX5_FLOW_LAYER_OUTER_L4_UDP,
 -		.ptype = RTE_PTYPE_TUNNEL_MPLS_IN_GRE | RTE_PTYPE_L4_UDP,

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

* [dpdk-stable] patch 'net/ena: fix cleaning HW IO rings configuration' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (49 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: fix packet type for MPLS in UDP' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/octeontx: fix failures when available ports > queues' " Kevin Traynor
                   ` (35 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Rafal Kozik; +Cc: Michal Krawczyk, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 6595edeaefccca9db7d9a4dff655dfec9d000337 Mon Sep 17 00:00:00 2001
From: Rafal Kozik <rk@semihalf.com>
Date: Wed, 14 Nov 2018 10:59:45 +0100
Subject: [PATCH] net/ena: fix cleaning HW IO rings configuration

[ upstream commit 778677dcb20cf29d966f239972b043f0640f55ef ]

When queues are stopped release Tx buffers.
During start initialize array of empty Tx/Rx reqs with default values.

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

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>
---
 drivers/net/ena/ena_ethdev.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index acb1a08e0..9e462099f 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -1081,4 +1081,5 @@ static int ena_create_io_queue(struct ena_ring *ring)
 		  0, 0, 0, 0, 0 };
 	uint16_t ena_qid;
+	unsigned int i;
 	int rc;
 
@@ -1091,8 +1092,12 @@ static int ena_create_io_queue(struct ena_ring *ring)
 		ctx.mem_queue_type = ena_dev->tx_mem_queue_type;
 		ctx.queue_size = adapter->tx_ring_size;
+		for (i = 0; i < ring->ring_size; i++)
+			ring->empty_tx_reqs[i] = i;
 	} else {
 		ena_qid = ENA_IO_RXQ_IDX(ring->id);
 		ctx.direction = ENA_COM_IO_QUEUE_DIRECTION_RX;
 		ctx.queue_size = adapter->rx_ring_size;
+		for (i = 0; i < ring->ring_size; i++)
+			ring->empty_rx_reqs[i] = i;
 	}
 	ctx.qid = ena_qid;
@@ -1137,4 +1142,6 @@ static void ena_free_io_queues_all(struct ena_adapter *adapter)
 		ena_qid = ENA_IO_TXQ_IDX(i);
 		ena_com_destroy_io_queue(ena_dev, ena_qid);
+
+		ena_tx_queue_release_bufs(&adapter->tx_ring[i]);
 	}
 
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.370653088 +0000
+++ 0051-net-ena-fix-cleaning-HW-IO-rings-configuration.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,13 +1,14 @@
-From 778677dcb20cf29d966f239972b043f0640f55ef Mon Sep 17 00:00:00 2001
+From 6595edeaefccca9db7d9a4dff655dfec9d000337 Mon Sep 17 00:00:00 2001
 From: Rafal Kozik <rk@semihalf.com>
 Date: Wed, 14 Nov 2018 10:59:45 +0100
 Subject: [PATCH] net/ena: fix cleaning HW IO rings configuration
 
+[ upstream commit 778677dcb20cf29d966f239972b043f0640f55ef ]
+
 When queues are stopped release Tx buffers.
 During start initialize array of empty Tx/Rx reqs with default values.
 
 Fixes: df238f84c0a2 ("net/ena: recreate HW IO rings on start and stop")
-Cc: stable@dpdk.org
 
 Signed-off-by: Rafal Kozik <rk@semihalf.com>
 Acked-by: Michal Krawczyk <mk@semihalf.com>
@@ -16,16 +17,16 @@
  1 file changed, 7 insertions(+)
 
 diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
-index 05a4fbe0e..3690afe3b 100644
+index acb1a08e0..9e462099f 100644
 --- a/drivers/net/ena/ena_ethdev.c
 +++ b/drivers/net/ena/ena_ethdev.c
-@@ -1097,4 +1097,5 @@ static int ena_create_io_queue(struct ena_ring *ring)
+@@ -1081,4 +1081,5 @@ static int ena_create_io_queue(struct ena_ring *ring)
  		  0, 0, 0, 0, 0 };
  	uint16_t ena_qid;
 +	unsigned int i;
  	int rc;
  
-@@ -1107,8 +1108,12 @@ static int ena_create_io_queue(struct ena_ring *ring)
+@@ -1091,8 +1092,12 @@ static int ena_create_io_queue(struct ena_ring *ring)
  		ctx.mem_queue_type = ena_dev->tx_mem_queue_type;
  		ctx.queue_size = adapter->tx_ring_size;
 +		for (i = 0; i < ring->ring_size; i++)
@@ -38,7 +39,7 @@
 +			ring->empty_rx_reqs[i] = i;
  	}
  	ctx.qid = ena_qid;
-@@ -1153,4 +1158,6 @@ static void ena_free_io_queues_all(struct ena_adapter *adapter)
+@@ -1137,4 +1142,6 @@ static void ena_free_io_queues_all(struct ena_adapter *adapter)
  		ena_qid = ENA_IO_TXQ_IDX(i);
  		ena_com_destroy_io_queue(ena_dev, ena_qid);
 +

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

* [dpdk-stable] patch 'net/octeontx: fix failures when available ports > queues' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (50 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/ena: fix cleaning HW IO rings configuration' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/avf: fix Tx offload mask' " Kevin Traynor
                   ` (34 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Anoob Joseph; +Cc: Pavan Nikhilesh, Jerin Jacob, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From ceff8ff1bfa1c890a2a70191e9f86d30c869929a Mon Sep 17 00:00:00 2001
From: Anoob Joseph <anoob.joseph@caviumnetworks.com>
Date: Wed, 14 Nov 2018 09:22:03 +0000
Subject: [PATCH] net/octeontx: fix failures when available ports > queues

[ upstream commit 7efd5202f7fecc3f995cbf214cdae834e7a7494f ]

When eth_octeontx is initialized before event_octeontx, eth_octeontx
would initiate setting up of the event device with the max ports and
queues available. If number of ports is more than the number of queues,
some ports would be left unused when the ports and queues are mapped
1:1. But even in that case the ports need to be setup, or otherwise it
would lead to a segmentation fault when event device is started.

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

Signed-off-by: Anoob Joseph <anoob.joseph@caviumnetworks.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 drivers/net/octeontx/octeontx_ethdev.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/octeontx/octeontx_ethdev.c
index 328187c70..01dbbe484 100644
--- a/drivers/net/octeontx/octeontx_ethdev.c
+++ b/drivers/net/octeontx/octeontx_ethdev.c
@@ -1246,13 +1246,6 @@ octeontx_probe(struct rte_vdev_device *dev)
 		goto parse_error;
 	}
-	if (pnum > qnum) {
-		/*
-		 * We don't poll on event ports
-		 * that do not have any queues assigned.
-		 */
-		pnum = qnum;
-		PMD_INIT_LOG(INFO,
-			"reducing number of active event ports to %d", pnum);
-	}
+
+	/* Enable all queues available */
 	for (i = 0; i < qnum; i++) {
 		res = rte_event_queue_setup(evdev, i, NULL);
@@ -1264,4 +1257,5 @@ octeontx_probe(struct rte_vdev_device *dev)
 	}
 
+	/* Enable all ports available */
 	for (i = 0; i < pnum; i++) {
 		res = rte_event_port_setup(evdev, i, NULL);
@@ -1272,4 +1266,12 @@ octeontx_probe(struct rte_vdev_device *dev)
 			goto parse_error;
 		}
+	}
+
+	/*
+	 * Do 1:1 links for ports & queues. All queues would be mapped to
+	 * one port. If there are more ports than queues, then some ports
+	 * won't be linked to any queue.
+	 */
+	for (i = 0; i < qnum; i++) {
 		/* Link one queue to one event port */
 		qlist = i;
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.394114438 +0000
+++ 0052-net-octeontx-fix-failures-when-available-ports-queue.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,8 +1,10 @@
-From 7efd5202f7fecc3f995cbf214cdae834e7a7494f Mon Sep 17 00:00:00 2001
+From ceff8ff1bfa1c890a2a70191e9f86d30c869929a Mon Sep 17 00:00:00 2001
 From: Anoob Joseph <anoob.joseph@caviumnetworks.com>
 Date: Wed, 14 Nov 2018 09:22:03 +0000
 Subject: [PATCH] net/octeontx: fix failures when available ports > queues
 
+[ upstream commit 7efd5202f7fecc3f995cbf214cdae834e7a7494f ]
+
 When eth_octeontx is initialized before event_octeontx, eth_octeontx
 would initiate setting up of the event device with the max ports and
 queues available. If number of ports is more than the number of queues,
@@ -11,7 +13,6 @@
 would lead to a segmentation fault when event device is started.
 
 Fixes: f7be70e5130e ("net/octeontx: add net device probe and remove")
-Cc: stable@dpdk.org
 
 Signed-off-by: Anoob Joseph <anoob.joseph@caviumnetworks.com>
 Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
@@ -21,10 +22,10 @@
  1 file changed, 11 insertions(+), 9 deletions(-)
 
 diff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/octeontx/octeontx_ethdev.c
-index a3063be42..046e12986 100644
+index 328187c70..01dbbe484 100644
 --- a/drivers/net/octeontx/octeontx_ethdev.c
 +++ b/drivers/net/octeontx/octeontx_ethdev.c
-@@ -1239,13 +1239,6 @@ octeontx_probe(struct rte_vdev_device *dev)
+@@ -1246,13 +1246,6 @@ octeontx_probe(struct rte_vdev_device *dev)
  		goto parse_error;
  	}
 -	if (pnum > qnum) {
@@ -40,13 +41,13 @@
 +	/* Enable all queues available */
  	for (i = 0; i < qnum; i++) {
  		res = rte_event_queue_setup(evdev, i, NULL);
-@@ -1257,4 +1250,5 @@ octeontx_probe(struct rte_vdev_device *dev)
+@@ -1264,4 +1257,5 @@ octeontx_probe(struct rte_vdev_device *dev)
  	}
  
 +	/* Enable all ports available */
  	for (i = 0; i < pnum; i++) {
  		res = rte_event_port_setup(evdev, i, NULL);
-@@ -1265,4 +1259,12 @@ octeontx_probe(struct rte_vdev_device *dev)
+@@ -1272,4 +1266,12 @@ octeontx_probe(struct rte_vdev_device *dev)
  			goto parse_error;
  		}
 +	}

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

* [dpdk-stable] patch 'net/avf: fix Tx offload mask' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (51 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/octeontx: fix failures when available ports > queues' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/bonding: fix possible silent failure in configuration' " Kevin Traynor
                   ` (33 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Zhirun Yan; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 6b8114cbbc0db4cf6391d7688f9a277d5abfa098 Mon Sep 17 00:00:00 2001
From: Zhirun Yan <zhirun.yan@intel.com>
Date: Fri, 16 Nov 2018 15:25:00 +0000
Subject: [PATCH] net/avf: fix Tx offload mask

[ upstream commit d31c844435e6aba171a41a47dd5818fe8c498337 ]

Tx offload mask is updated in following commit 1037ed842c37
("mbuf: fix Tx offload mask"). Currently, the new added offload
flags are not supported in PMD and application will fail to call
PMD transmit prepare function.

This patch updates AVF_TX_OFFFLOAD_MASK.

Fixes: 1037ed842c37 ("mbuf: fix Tx offload mask")

Signed-off-by: Zhirun Yan <zhirun.yan@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/avf/avf_rxtx.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/avf/avf_rxtx.h b/drivers/net/avf/avf_rxtx.h
index 898d2f387..ffc835d44 100644
--- a/drivers/net/avf/avf_rxtx.h
+++ b/drivers/net/avf/avf_rxtx.h
@@ -44,4 +44,8 @@
 
 #define AVF_TX_OFFLOAD_MASK (  \
+		PKT_TX_OUTER_IPV6 |		 \
+		PKT_TX_OUTER_IPV4 |		 \
+		PKT_TX_IPV6 |			 \
+		PKT_TX_IPV4 |			 \
 		PKT_TX_VLAN_PKT |		 \
 		PKT_TX_IP_CKSUM |		 \
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.418220347 +0000
+++ 0053-net-avf-fix-Tx-offload-mask.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,8 +1,10 @@
-From d31c844435e6aba171a41a47dd5818fe8c498337 Mon Sep 17 00:00:00 2001
+From 6b8114cbbc0db4cf6391d7688f9a277d5abfa098 Mon Sep 17 00:00:00 2001
 From: Zhirun Yan <zhirun.yan@intel.com>
 Date: Fri, 16 Nov 2018 15:25:00 +0000
 Subject: [PATCH] net/avf: fix Tx offload mask
 
+[ upstream commit d31c844435e6aba171a41a47dd5818fe8c498337 ]
+
 Tx offload mask is updated in following commit 1037ed842c37
 ("mbuf: fix Tx offload mask"). Currently, the new added offload
 flags are not supported in PMD and application will fail to call
@@ -11,7 +13,6 @@
 This patch updates AVF_TX_OFFFLOAD_MASK.
 
 Fixes: 1037ed842c37 ("mbuf: fix Tx offload mask")
-Cc: stable@dpdk.org
 
 Signed-off-by: Zhirun Yan <zhirun.yan@intel.com>
 Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>

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

* [dpdk-stable] patch 'net/bonding: fix possible silent failure in configuration' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (52 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/avf: fix Tx offload mask' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'app/testpmd: fix memory leak for DSCP table' " Kevin Traynor
                   ` (32 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Lee Daly; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From f55344c70ed8b4c2858a0bafe81cfe3bb9ac4533 Mon Sep 17 00:00:00 2001
From: Lee Daly <lee.daly@intel.com>
Date: Fri, 16 Nov 2018 16:48:02 +0000
Subject: [PATCH] net/bonding: fix possible silent failure in configuration

[ upstream commit 6f4ae7f5d97a295100fa541fd59ba0b4c96a8d9c ]

This patch checks the return value of function
rte_eth_bond_8023ad_agg_selection_set() in bond_ethdev_configure
for error return value.

Fixes: 6d72657ce379 ("net/bonding: add other aggregator modes")

Signed-off-by: Lee Daly <lee.daly@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/bonding/rte_eth_bond_pmd.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index e3e2e83be..253d9288e 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -3405,7 +3405,14 @@ bond_ethdev_configure(struct rte_eth_dev *dev)
 				     name);
 		}
-		if (internals->mode == BONDING_MODE_8023AD)
-			rte_eth_bond_8023ad_agg_selection_set(port_id,
-							      agg_mode);
+		if (internals->mode == BONDING_MODE_8023AD) {
+			int ret = rte_eth_bond_8023ad_agg_selection_set(port_id,
+					agg_mode);
+			if (ret < 0) {
+				RTE_BOND_LOG(ERR,
+					"Invalid args for agg selection set for bonded device %s",
+					name);
+				return -1;
+			}
+		}
 	}
 
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.438734394 +0000
+++ 0054-net-bonding-fix-possible-silent-failure-in-configura.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,14 +1,15 @@
-From 6f4ae7f5d97a295100fa541fd59ba0b4c96a8d9c Mon Sep 17 00:00:00 2001
+From f55344c70ed8b4c2858a0bafe81cfe3bb9ac4533 Mon Sep 17 00:00:00 2001
 From: Lee Daly <lee.daly@intel.com>
 Date: Fri, 16 Nov 2018 16:48:02 +0000
 Subject: [PATCH] net/bonding: fix possible silent failure in configuration
 
+[ upstream commit 6f4ae7f5d97a295100fa541fd59ba0b4c96a8d9c ]
+
 This patch checks the return value of function
 rte_eth_bond_8023ad_agg_selection_set() in bond_ethdev_configure
 for error return value.
 
 Fixes: 6d72657ce379 ("net/bonding: add other aggregator modes")
-Cc: stable@dpdk.org
 
 Signed-off-by: Lee Daly <lee.daly@intel.com>
 Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
@@ -17,10 +18,10 @@
  1 file changed, 10 insertions(+), 3 deletions(-)
 
 diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
-index 2661620ab..44deaf119 100644
+index e3e2e83be..253d9288e 100644
 --- a/drivers/net/bonding/rte_eth_bond_pmd.c
 +++ b/drivers/net/bonding/rte_eth_bond_pmd.c
-@@ -3424,7 +3424,14 @@ bond_ethdev_configure(struct rte_eth_dev *dev)
+@@ -3405,7 +3405,14 @@ bond_ethdev_configure(struct rte_eth_dev *dev)
  				     name);
  		}
 -		if (internals->mode == BONDING_MODE_8023AD)

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

* [dpdk-stable] patch 'app/testpmd: fix memory leak for DSCP table' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (53 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/bonding: fix possible silent failure in configuration' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'app/pdump: fix port id storage size' " Kevin Traynor
                   ` (31 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Jasvinder Singh; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From c77be5d82097f4c82dc413ae4c7c7637d1960683 Mon Sep 17 00:00:00 2001
From: Jasvinder Singh <jasvinder.singh@intel.com>
Date: Wed, 14 Nov 2018 11:58:59 +0000
Subject: [PATCH] app/testpmd: fix memory leak for DSCP table

[ upstream commit 5fe5678de9c508332ea37d90a8267c3a2066219e ]

Fix memory leak for dscp table reported by coverity

Coverity issue: 326961
Fixes: 281eeb8afc55 ("app/testpmd: add commands for metering and policing")

Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
---
 app/test-pmd/cmdline_mtr.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/app/test-pmd/cmdline_mtr.c b/app/test-pmd/cmdline_mtr.c
index 846de88db..c506d87ee 100644
--- a/app/test-pmd/cmdline_mtr.c
+++ b/app/test-pmd/cmdline_mtr.c
@@ -1149,13 +1149,13 @@ static void cmd_set_port_meter_dscp_table_parsed(void *parsed_result,
 
 	if (port_id_is_invalid(port_id, ENABLED_WARN))
-		return;
+		goto free_table;
 
 	/* Update Meter DSCP Table*/
 	ret = rte_mtr_meter_dscp_table_update(port_id, mtr_id,
 		dscp_table, &error);
-	if (ret != 0) {
+	if (ret != 0)
 		print_err_msg(&error);
-		return;
-	}
+
+free_table:
 	free(dscp_table);
 }
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.465538824 +0000
+++ 0055-app-testpmd-fix-memory-leak-for-DSCP-table.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,13 +1,14 @@
-From 5fe5678de9c508332ea37d90a8267c3a2066219e Mon Sep 17 00:00:00 2001
+From c77be5d82097f4c82dc413ae4c7c7637d1960683 Mon Sep 17 00:00:00 2001
 From: Jasvinder Singh <jasvinder.singh@intel.com>
 Date: Wed, 14 Nov 2018 11:58:59 +0000
 Subject: [PATCH] app/testpmd: fix memory leak for DSCP table
 
+[ upstream commit 5fe5678de9c508332ea37d90a8267c3a2066219e ]
+
 Fix memory leak for dscp table reported by coverity
 
 Coverity issue: 326961
 Fixes: 281eeb8afc55 ("app/testpmd: add commands for metering and policing")
-Cc: stable@dpdk.org
 
 Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
 ---

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

* [dpdk-stable] patch 'app/pdump: fix port id storage size' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (54 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'app/testpmd: fix memory leak for DSCP table' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'examples/ipv4_multicast: fix leak of cloned packets' " Kevin Traynor
                   ` (30 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Marko Kovacevic; +Cc: Reshma Pattan, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 0414a05cf4d929e35063c9842ccda5ab72a738bf Mon Sep 17 00:00:00 2001
From: Marko Kovacevic <marko.kovacevic@intel.com>
Date: Wed, 14 Nov 2018 08:56:45 +0000
Subject: [PATCH] app/pdump: fix port id storage size

[ upstream commit e772cf1bd0c10c13375d7de9acff842b76cb8f35 ]

port_id size should be uint16_t,
fix where it is defined as uint8_t

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

Signed-off-by: Marko Kovacevic <marko.kovacevic@intel.com>
Acked-by: Reshma Pattan <reshma.pattan@intel.com>
---
 app/pdump/main.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/app/pdump/main.c b/app/pdump/main.c
index ac2287124..af041feaa 100644
--- a/app/pdump/main.c
+++ b/app/pdump/main.c
@@ -120,6 +120,6 @@ struct pdump_tuples {
 	/* params for packet dumping */
 	enum pdump_by dump_by_type;
-	int rx_vdev_id;
-	int tx_vdev_id;
+	uint16_t rx_vdev_id;
+	uint16_t tx_vdev_id;
 	enum pcap_stream rx_vdev_stream_type;
 	enum pcap_stream tx_vdev_stream_type;
@@ -267,5 +267,5 @@ parse_pdump(const char *optarg)
 		if (ret < 0)
 			goto free_kvlist;
-		pt->port = (uint8_t) v.val;
+		pt->port = (uint16_t) v.val;
 		pt->dump_by_type = PORT_ID;
 	} else if (cnt2 == 1) {
@@ -436,5 +436,5 @@ disable_pdump(struct pdump_tuples *pt)
 
 static inline void
-pdump_rxtx(struct rte_ring *ring, uint8_t vdev_id, struct pdump_stats *stats)
+pdump_rxtx(struct rte_ring *ring, uint16_t vdev_id, struct pdump_stats *stats)
 {
 	/* write input packets of port to vdev for pdump */
@@ -463,5 +463,5 @@ pdump_rxtx(struct rte_ring *ring, uint8_t vdev_id, struct pdump_stats *stats)
 
 static void
-free_ring_data(struct rte_ring *ring, uint8_t vdev_id,
+free_ring_data(struct rte_ring *ring, uint16_t vdev_id,
 		struct pdump_stats *stats)
 {
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.488582808 +0000
+++ 0056-app-pdump-fix-port-id-storage-size.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,13 +1,14 @@
-From e772cf1bd0c10c13375d7de9acff842b76cb8f35 Mon Sep 17 00:00:00 2001
+From 0414a05cf4d929e35063c9842ccda5ab72a738bf Mon Sep 17 00:00:00 2001
 From: Marko Kovacevic <marko.kovacevic@intel.com>
 Date: Wed, 14 Nov 2018 08:56:45 +0000
 Subject: [PATCH] app/pdump: fix port id storage size
 
+[ upstream commit e772cf1bd0c10c13375d7de9acff842b76cb8f35 ]
+
 port_id size should be uint16_t,
 fix where it is defined as uint8_t
 
 Fixes: f8244c6399d9 ("ethdev: increase port id range")
-Cc: stable@dpdk.org
 
 Signed-off-by: Marko Kovacevic <marko.kovacevic@intel.com>
 Acked-by: Reshma Pattan <reshma.pattan@intel.com>
@@ -16,7 +17,7 @@
  1 file changed, 5 insertions(+), 5 deletions(-)
 
 diff --git a/app/pdump/main.c b/app/pdump/main.c
-index d96556ecf..9e86bf623 100644
+index ac2287124..af041feaa 100644
 --- a/app/pdump/main.c
 +++ b/app/pdump/main.c
 @@ -120,6 +120,6 @@ struct pdump_tuples {

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

* [dpdk-stable] patch 'examples/ipv4_multicast: fix leak of cloned packets' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (55 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'app/pdump: fix port id storage size' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:20 ` [dpdk-stable] patch 'test: fix interrupt check' " Kevin Traynor
                   ` (29 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Herakliusz Lipiec; +Cc: Dong Wang, Konstantin Ananyev, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 2c9a64f051b930810f083ff45a8f9459f26c69d8 Mon Sep 17 00:00:00 2001
From: Herakliusz Lipiec <herakliusz.lipiec@intel.com>
Date: Tue, 13 Nov 2018 11:49:29 +0000
Subject: [PATCH] examples/ipv4_multicast: fix leak of cloned packets

[ upstream commit 91dc9c13ba978fb8147240ed6fa20c41145bf0db ]

The ipv4_multicast sample application was dropping packets
when using mbuf clone. When creating an L2 header and copying
metadata from the source packet, the ol_flags were also copied
along with all the other metadata. Because the cloned packet
had IND_ATTACHED_MBUF flag set in its ol_flags,
this caused the packets to never be freed when using rte_pktmbuf_free.
Since copying ol_flags from the cloned packet is
not necessary in the first place, just don't do it.

Fixes: af75078fece3 ("first public release")

Reported-by: Dong Wang <dong1.wang@intel.com>
Signed-off-by: Herakliusz Lipiec <herakliusz.lipiec@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Dong Wang <dong1.wang@intel.com>
---
 doc/guides/sample_app_ug/ipv4_multicast.rst | 1 -
 examples/ipv4_multicast/main.c              | 2 --
 2 files changed, 3 deletions(-)

diff --git a/doc/guides/sample_app_ug/ipv4_multicast.rst b/doc/guides/sample_app_ug/ipv4_multicast.rst
index ce1474ec7..f6efa7f6f 100644
--- a/doc/guides/sample_app_ug/ipv4_multicast.rst
+++ b/doc/guides/sample_app_ug/ipv4_multicast.rst
@@ -320,5 +320,4 @@ It is the mcast_out_pkt() function that performs the packet duplication (either
         hdr->pkt.vlan_macip = pkt->pkt.vlan_macip;
         hdr->pkt.hash = pkt->pkt.hash;
-        hdr->ol_flags = pkt->ol_flags;
         rte_mbuf_sanity_check(hdr, RTE_MBUF_PKT, 1);
 
diff --git a/examples/ipv4_multicast/main.c b/examples/ipv4_multicast/main.c
index 331c32e71..dec680597 100644
--- a/examples/ipv4_multicast/main.c
+++ b/examples/ipv4_multicast/main.c
@@ -268,6 +268,4 @@ mcast_out_pkt(struct rte_mbuf *pkt, int use_clone)
 	hdr->hash = pkt->hash;
 
-	hdr->ol_flags = pkt->ol_flags;
-
 	__rte_mbuf_sanity_check(hdr, 1);
 	return hdr;
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.511473860 +0000
+++ 0057-examples-ipv4_multicast-fix-leak-of-cloned-packets.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,8 +1,10 @@
-From 91dc9c13ba978fb8147240ed6fa20c41145bf0db Mon Sep 17 00:00:00 2001
+From 2c9a64f051b930810f083ff45a8f9459f26c69d8 Mon Sep 17 00:00:00 2001
 From: Herakliusz Lipiec <herakliusz.lipiec@intel.com>
 Date: Tue, 13 Nov 2018 11:49:29 +0000
 Subject: [PATCH] examples/ipv4_multicast: fix leak of cloned packets
 
+[ upstream commit 91dc9c13ba978fb8147240ed6fa20c41145bf0db ]
+
 The ipv4_multicast sample application was dropping packets
 when using mbuf clone. When creating an L2 header and copying
 metadata from the source packet, the ol_flags were also copied
@@ -13,7 +15,6 @@
 not necessary in the first place, just don't do it.
 
 Fixes: af75078fece3 ("first public release")
-Cc: stable@dpdk.org
 
 Reported-by: Dong Wang <dong1.wang@intel.com>
 Signed-off-by: Herakliusz Lipiec <herakliusz.lipiec@intel.com>
@@ -35,10 +36,10 @@
          rte_mbuf_sanity_check(hdr, RTE_MBUF_PKT, 1);
  
 diff --git a/examples/ipv4_multicast/main.c b/examples/ipv4_multicast/main.c
-index 4073a4907..428ca4694 100644
+index 331c32e71..dec680597 100644
 --- a/examples/ipv4_multicast/main.c
 +++ b/examples/ipv4_multicast/main.c
-@@ -267,6 +267,4 @@ mcast_out_pkt(struct rte_mbuf *pkt, int use_clone)
+@@ -268,6 +268,4 @@ mcast_out_pkt(struct rte_mbuf *pkt, int use_clone)
  	hdr->hash = pkt->hash;
  
 -	hdr->ol_flags = pkt->ol_flags;

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

* [dpdk-stable] patch 'test: fix interrupt check' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (56 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'examples/ipv4_multicast: fix leak of cloned packets' " Kevin Traynor
@ 2018-11-29 13:20 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'test/power: skip KVM autotest if cannot run' " Kevin Traynor
                   ` (28 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:20 UTC (permalink / raw)
  To: Qiming Yang; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 587672ebd46bc85d6522b96ce4b39985bf7e6f45 Mon Sep 17 00:00:00 2001
From: Qiming Yang <qiming.yang@intel.com>
Date: Sat, 17 Nov 2018 01:04:00 +0800
Subject: [PATCH] test: fix interrupt check

[ upstream commit 1fc5606543f430386eea66c6d1600ae03b2929d2 ]

Fixed the interrupt type using error.
Check valid alarm should use TEST_INTERRUPT_HANDLE_VALID_ALARM.

Fixes: 493b8e173fe6 ("eal: add device event handle in interrupt thread")

Signed-off-by: Qiming Yang <qiming.yang@intel.com>
---
 test/test/test_interrupts.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/test/test/test_interrupts.c b/test/test/test_interrupts.c
index dc19175d3..4e82e9a22 100644
--- a/test/test/test_interrupts.c
+++ b/test/test/test_interrupts.c
@@ -425,5 +425,5 @@ test_interrupt(void)
 	printf("Check valid alarm interrupt full path\n");
 	if (test_interrupt_full_path_check(
-		TEST_INTERRUPT_HANDLE_VALID_DEV_EVENT) < 0) {
+		TEST_INTERRUPT_HANDLE_VALID_ALARM) < 0) {
 		printf("failure occurred during checking valid alarm "
 						"interrupt full path\n");
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.535903394 +0000
+++ 0058-test-fix-interrupt-check.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,13 +1,14 @@
-From 1fc5606543f430386eea66c6d1600ae03b2929d2 Mon Sep 17 00:00:00 2001
+From 587672ebd46bc85d6522b96ce4b39985bf7e6f45 Mon Sep 17 00:00:00 2001
 From: Qiming Yang <qiming.yang@intel.com>
 Date: Sat, 17 Nov 2018 01:04:00 +0800
 Subject: [PATCH] test: fix interrupt check
 
+[ upstream commit 1fc5606543f430386eea66c6d1600ae03b2929d2 ]
+
 Fixed the interrupt type using error.
 Check valid alarm should use TEST_INTERRUPT_HANDLE_VALID_ALARM.
 
 Fixes: 493b8e173fe6 ("eal: add device event handle in interrupt thread")
-Cc: stable@dpdk.org
 
 Signed-off-by: Qiming Yang <qiming.yang@intel.com>
 ---

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

* [dpdk-stable] patch 'test/power: skip KVM autotest if cannot run' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (57 preceding siblings ...)
  2018-11-29 13:20 ` [dpdk-stable] patch 'test: fix interrupt check' " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'test: release ring resources after PMD perf test' " Kevin Traynor
                   ` (27 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Pallantla Poornima; +Cc: Reshma Pattan, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From eff61775294c4bdbb8d58e45f834f8bdfbe1da1a Mon Sep 17 00:00:00 2001
From: Pallantla Poornima <pallantlax.poornima@intel.com>
Date: Thu, 15 Nov 2018 06:34:57 +0000
Subject: [PATCH] test/power: skip KVM autotest if cannot run

[ upstream commit f88bb9a674c74adac91b58ab2253b1752b34c8ac ]

power_kvm_vm_autotest should run on kvm vm and
virtio-ports should exist, if not test should skip.
Hence changed return as TEST_SKIPPED.

Fixes: 0ea2dd4409 ("test: skip when required lib not available")

Signed-off-by: Pallantla Poornima <pallantlax.poornima@intel.com>
Acked-by: Reshma Pattan <reshma.pattan@intel.com>
---
 test/test/test_power_kvm_vm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/test/test/test_power_kvm_vm.c b/test/test/test_power_kvm_vm.c
index bce706ded..785cd048d 100644
--- a/test/test/test_power_kvm_vm.c
+++ b/test/test/test_power_kvm_vm.c
@@ -102,5 +102,5 @@ test_power_kvm_vm(void)
 				TEST_POWER_VM_LCORE_ID);
 		rte_power_unset_env();
-		return -1;
+		return TEST_SKIPPED;
 	}
 
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.558190032 +0000
+++ 0059-test-power-skip-KVM-autotest-if-cannot-run.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,14 +1,15 @@
-From f88bb9a674c74adac91b58ab2253b1752b34c8ac Mon Sep 17 00:00:00 2001
+From eff61775294c4bdbb8d58e45f834f8bdfbe1da1a Mon Sep 17 00:00:00 2001
 From: Pallantla Poornima <pallantlax.poornima@intel.com>
 Date: Thu, 15 Nov 2018 06:34:57 +0000
 Subject: [PATCH] test/power: skip KVM autotest if cannot run
 
+[ upstream commit f88bb9a674c74adac91b58ab2253b1752b34c8ac ]
+
 power_kvm_vm_autotest should run on kvm vm and
 virtio-ports should exist, if not test should skip.
 Hence changed return as TEST_SKIPPED.
 
 Fixes: 0ea2dd4409 ("test: skip when required lib not available")
-Cc: stable@dpdk.org
 
 Signed-off-by: Pallantla Poornima <pallantlax.poornima@intel.com>
 Acked-by: Reshma Pattan <reshma.pattan@intel.com>

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

* [dpdk-stable] patch 'test: release ring resources after PMD perf test' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (58 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'test/power: skip KVM autotest if cannot run' " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'devtools: fix regex in symbol addition check' " Kevin Traynor
                   ` (26 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Phil Yang; +Cc: Gavin Hu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From c8ce9b37ad4eafcc0d3ec4a8ad89268dcee7554a Mon Sep 17 00:00:00 2001
From: Phil Yang <phil.yang@arm.com>
Date: Fri, 19 Oct 2018 19:00:38 +0800
Subject: [PATCH] test: release ring resources after PMD perf test

[ upstream commit bc44d448479846966f7aedb90fefe2fa5bd20d2e ]

Need to release the port and the ring resources after test. Otherwise,
it will cause failure to allocate memory when reentry the test.

Fixes: ea764af ("app/test: add performance test for ring driver")

Signed-off-by: Phil Yang <phil.yang@arm.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
---
 test/test/test_pmd_ring_perf.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/test/test/test_pmd_ring_perf.c b/test/test/test_pmd_ring_perf.c
index ad5004a69..6318da18f 100644
--- a/test/test/test_pmd_ring_perf.c
+++ b/test/test/test_pmd_ring_perf.c
@@ -11,4 +11,5 @@
 #include <rte_ethdev.h>
 #include <rte_eth_ring.h>
+#include <rte_bus_vdev.h>
 
 #include "test.h"
@@ -136,4 +137,6 @@ static int
 test_ring_pmd_perf(void)
 {
+	char name[RTE_ETH_NAME_MAX_LEN];
+
 	r = rte_ring_create(RING_NAME, RING_SIZE, rte_socket_id(),
 			RING_F_SP_ENQ|RING_F_SC_DEQ);
@@ -152,4 +155,9 @@ test_ring_pmd_perf(void)
 	test_bulk_enqueue_dequeue();
 
+	/* release port and ring resources */
+	rte_eth_dev_stop(ring_ethdev_port);
+	rte_eth_dev_get_name_by_port(ring_ethdev_port, name);
+	rte_vdev_uninit(name);
+	rte_ring_free(r);
 	return 0;
 }
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.580048591 +0000
+++ 0060-test-release-ring-resources-after-PMD-perf-test.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,13 +1,14 @@
-From bc44d448479846966f7aedb90fefe2fa5bd20d2e Mon Sep 17 00:00:00 2001
+From c8ce9b37ad4eafcc0d3ec4a8ad89268dcee7554a Mon Sep 17 00:00:00 2001
 From: Phil Yang <phil.yang@arm.com>
 Date: Fri, 19 Oct 2018 19:00:38 +0800
 Subject: [PATCH] test: release ring resources after PMD perf test
 
+[ upstream commit bc44d448479846966f7aedb90fefe2fa5bd20d2e ]
+
 Need to release the port and the ring resources after test. Otherwise,
 it will cause failure to allocate memory when reentry the test.
 
 Fixes: ea764af ("app/test: add performance test for ring driver")
-Cc: stable@dpdk.org
 
 Signed-off-by: Phil Yang <phil.yang@arm.com>
 Reviewed-by: Gavin Hu <gavin.hu@arm.com>

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

* [dpdk-stable] patch 'devtools: fix regex in symbol addition check' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (59 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'test: release ring resources after PMD perf test' " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-30 13:55   ` Neil Horman
  2018-11-29 13:21 ` [dpdk-stable] patch 'usertools: check for lspci dependency' " Kevin Traynor
                   ` (25 subsequent siblings)
  86 siblings, 1 reply; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Neil Horman; +Cc: Cody Doucette, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 947cfe55d758c6012761bc5c06a44dc6e531540d Mon Sep 17 00:00:00 2001
From: Neil Horman <nhorman@tuxdriver.com>
Date: Thu, 1 Nov 2018 09:54:10 -0400
Subject: [PATCH] devtools: fix regex in symbol addition check

[ upstream commit 5a5f4676eb93fa410b56df060a6d0c7603469f81 ]

The regex to determine the end of the map file chunk in a patch seems to
be wrong,  It was using perl regex syntax, which awk doesn't appear to
support (I'm still not sure how it was working previously).  Regardless,
it wasn't triggering and as a result symbols were getting added to the
mapdb that shouldn't be there.

Fix it by converting the regex to use traditional posix syntax, matching
only on the negation of the character class [^map]

Tested and shown to be working on the ip_frag patch set provided by
doucette@bu.edu

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

Reported-by: Cody Doucette <doucette@bu.edu>
Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
---
 devtools/check-symbol-change.sh | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/devtools/check-symbol-change.sh b/devtools/check-symbol-change.sh
index cf9cfc745..9fb214dc0 100755
--- a/devtools/check-symbol-change.sh
+++ b/devtools/check-symbol-change.sh
@@ -24,5 +24,5 @@ build_map_changes()
 		# When we hit this, turn off the in_map variable, which
 		# supresses the subordonate rules below
-		/[-+] a\/.*\.^(map)/ {in_map=0}
+		/[-+] a\/.*\.[^map]/ {in_map=0}
 
 		# Triggering this rule, which starts a line and ends it
@@ -154,5 +154,4 @@ build_map_changes "$patch" "$mapfile"
 check_for_rule_violations "$mapfile"
 exit_code=$?
-
 rm -f "$mapfile"
 
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.603235041 +0000
+++ 0061-devtools-fix-regex-in-symbol-addition-check.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,8 +1,10 @@
-From 5a5f4676eb93fa410b56df060a6d0c7603469f81 Mon Sep 17 00:00:00 2001
+From 947cfe55d758c6012761bc5c06a44dc6e531540d Mon Sep 17 00:00:00 2001
 From: Neil Horman <nhorman@tuxdriver.com>
 Date: Thu, 1 Nov 2018 09:54:10 -0400
 Subject: [PATCH] devtools: fix regex in symbol addition check
 
+[ upstream commit 5a5f4676eb93fa410b56df060a6d0c7603469f81 ]
+
 The regex to determine the end of the map file chunk in a patch seems to
 be wrong,  It was using perl regex syntax, which awk doesn't appear to
 support (I'm still not sure how it was working previously).  Regardless,
@@ -16,7 +18,6 @@
 doucette@bu.edu
 
 Fixes: 4bec48184e33 ("devtools: add checks for ABI symbol addition")
-Cc: stable@dpdk.org
 
 Reported-by: Cody Doucette <doucette@bu.edu>
 Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
@@ -25,7 +26,7 @@
  1 file changed, 1 insertion(+), 2 deletions(-)
 
 diff --git a/devtools/check-symbol-change.sh b/devtools/check-symbol-change.sh
-index c0d2a6da1..1d21e9165 100755
+index cf9cfc745..9fb214dc0 100755
 --- a/devtools/check-symbol-change.sh
 +++ b/devtools/check-symbol-change.sh
 @@ -24,5 +24,5 @@ build_map_changes()

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

* [dpdk-stable] patch 'usertools: check for lspci dependency' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (60 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'devtools: fix regex in symbol addition check' " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'doc: fix DESTDIR variable name in meson guide' " Kevin Traynor
                   ` (24 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Anatoly Burakov; +Cc: Rami Rosen, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 82ee91691f432c044863ec61057bdca8a503bee8 Mon Sep 17 00:00:00 2001
From: Anatoly Burakov <anatoly.burakov@intel.com>
Date: Tue, 13 Nov 2018 16:06:26 +0000
Subject: [PATCH] usertools: check for lspci dependency

[ upstream commit 1a5a9cb32a93da47fa6aa0da8407337feaf901f8 ]

On some distributions (such as CentOS 7) lspci may not be installed
by default, causing exceptions which are difficult to interpret.

Fix devbind script to check if lspci is installed at script startup.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Reviewed-by: Rami Rosen <roszenrami@gmail.com>
---
 usertools/dpdk-devbind.py | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/usertools/dpdk-devbind.py b/usertools/dpdk-devbind.py
index 7d564634c..40dc28a7d 100755
--- a/usertools/dpdk-devbind.py
+++ b/usertools/dpdk-devbind.py
@@ -656,4 +656,11 @@ def do_arg_actions():
 def main():
     '''program main function'''
+    # check if lspci is installed, suppress any output
+    with open(os.devnull, 'w') as devnull:
+        ret = subprocess.call(['which', 'lspci'],
+                              stdout=devnull, stderr=devnull)
+        if ret != 0:
+            print("'lspci' not found - please install 'pciutils'")
+            sys.exit(1)
     parse_args()
     check_modules()
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.625425651 +0000
+++ 0062-usertools-check-for-lspci-dependency.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,15 +1,15 @@
-From 1a5a9cb32a93da47fa6aa0da8407337feaf901f8 Mon Sep 17 00:00:00 2001
+From 82ee91691f432c044863ec61057bdca8a503bee8 Mon Sep 17 00:00:00 2001
 From: Anatoly Burakov <anatoly.burakov@intel.com>
 Date: Tue, 13 Nov 2018 16:06:26 +0000
 Subject: [PATCH] usertools: check for lspci dependency
 
+[ upstream commit 1a5a9cb32a93da47fa6aa0da8407337feaf901f8 ]
+
 On some distributions (such as CentOS 7) lspci may not be installed
 by default, causing exceptions which are difficult to interpret.
 
 Fix devbind script to check if lspci is installed at script startup.
 
-Cc: stable@dpdk.org
-
 Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
 Reviewed-by: Rami Rosen <roszenrami@gmail.com>
 ---

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

* [dpdk-stable] patch 'doc: fix DESTDIR variable name in meson guide' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (61 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'usertools: check for lspci dependency' " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'doc: fix NUMA library name in Linux " Kevin Traynor
                   ` (23 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Ilya Maximets; +Cc: Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From a198d7f5a62385cdb5c8c8bbb63ba70890509853 Mon Sep 17 00:00:00 2001
From: Ilya Maximets <i.maximets@samsung.com>
Date: Wed, 14 Nov 2018 15:04:38 +0300
Subject: [PATCH] doc: fix DESTDIR variable name in meson guide

[ upstream commit 8e78028467f5a63453558d3bf6f81014d84560a4 ]

ninja does not recognize 'DEST_DIR'.

Fixes: 9c3adc289c5e ("doc: add instructions on build using meson")

Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 doc/build-sdk-meson.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/build-sdk-meson.txt b/doc/build-sdk-meson.txt
index 9618e759e..de43f8518 100644
--- a/doc/build-sdk-meson.txt
+++ b/doc/build-sdk-meson.txt
@@ -131,5 +131,5 @@ Installing the Compiled Files
 Use ``ninja install`` to install the required DPDK files onto the system.
 The install prefix defaults to ``/usr/local`` but can be used as with other
-options above. The environment variable ``DEST_DIR`` can be used to adjust
+options above. The environment variable ``DESTDIR`` can be used to adjust
 the root directory for the install, for example when packaging.
 
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.647286241 +0000
+++ 0063-doc-fix-DESTDIR-variable-name-in-meson-guide.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,12 +1,13 @@
-From 8e78028467f5a63453558d3bf6f81014d84560a4 Mon Sep 17 00:00:00 2001
+From a198d7f5a62385cdb5c8c8bbb63ba70890509853 Mon Sep 17 00:00:00 2001
 From: Ilya Maximets <i.maximets@samsung.com>
 Date: Wed, 14 Nov 2018 15:04:38 +0300
 Subject: [PATCH] doc: fix DESTDIR variable name in meson guide
 
+[ upstream commit 8e78028467f5a63453558d3bf6f81014d84560a4 ]
+
 ninja does not recognize 'DEST_DIR'.
 
 Fixes: 9c3adc289c5e ("doc: add instructions on build using meson")
-Cc: stable@dpdk.org
 
 Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
 Acked-by: Bruce Richardson <bruce.richardson@intel.com>
@@ -15,10 +16,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/doc/build-sdk-meson.txt b/doc/build-sdk-meson.txt
-index 3d8a69c29..a4dd09194 100644
+index 9618e759e..de43f8518 100644
 --- a/doc/build-sdk-meson.txt
 +++ b/doc/build-sdk-meson.txt
-@@ -133,5 +133,5 @@ Installing the Compiled Files
+@@ -131,5 +131,5 @@ Installing the Compiled Files
  Use ``ninja install`` to install the required DPDK files onto the system.
  The install prefix defaults to ``/usr/local`` but can be used as with other
 -options above. The environment variable ``DEST_DIR`` can be used to adjust

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

* [dpdk-stable] patch 'doc: fix NUMA library name in Linux guide' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (62 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'doc: fix DESTDIR variable name in meson guide' " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'doc: add cross-compilation in sample apps " Kevin Traynor
                   ` (22 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Yong Wang; +Cc: Anatoly Burakov, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 8ee64a924981ddec3a4e6cb61aaa2228ee1b2653 Mon Sep 17 00:00:00 2001
From: Yong Wang <wang.yong19@zte.com.cn>
Date: Tue, 6 Nov 2018 21:40:52 -0500
Subject: [PATCH] doc: fix NUMA library name in Linux guide

[ upstream commit ee57170c4acb7b477091948caa8ea9e887222867 ]

The library for handling NUMA is not libnuma-devel, but numactl-devel
in Red Hat/Fedora and libnuma-dev in Debian/Ubuntu.

Signed-off-by: Yong Wang <wang.yong19@zte.com.cn>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 doc/guides/linux_gsg/sys_reqs.rst | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst
index e2230f37b..fbc9d54e4 100644
--- a/doc/guides/linux_gsg/sys_reqs.rst
+++ b/doc/guides/linux_gsg/sys_reqs.rst
@@ -65,5 +65,9 @@ Compilation of the DPDK
        higher than 13.10 or recent Debian distribution. The only supported  compiler is gcc 4.9+.
 
-*   libnuma-devel - library for handling NUMA (Non Uniform Memory Access).
+*   Library for handling NUMA (Non Uniform Memory Access).
+
+    * numactl-devel in Red Hat/Fedora;
+
+    * libnuma-dev in Debian/Ubuntu;
 
 *   Python, version 2.7+ or 3.2+, to use various helper scripts included in the DPDK package.
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.670724419 +0000
+++ 0064-doc-fix-NUMA-library-name-in-Linux-guide.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,8 +1,10 @@
-From ee57170c4acb7b477091948caa8ea9e887222867 Mon Sep 17 00:00:00 2001
+From 8ee64a924981ddec3a4e6cb61aaa2228ee1b2653 Mon Sep 17 00:00:00 2001
 From: Yong Wang <wang.yong19@zte.com.cn>
 Date: Tue, 6 Nov 2018 21:40:52 -0500
 Subject: [PATCH] doc: fix NUMA library name in Linux guide
 
+[ upstream commit ee57170c4acb7b477091948caa8ea9e887222867 ]
+
 The library for handling NUMA is not libnuma-devel, but numactl-devel
 in Red Hat/Fedora and libnuma-dev in Debian/Ubuntu.
 
@@ -13,7 +15,7 @@
  1 file changed, 5 insertions(+), 1 deletion(-)
 
 diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst
-index 96f5ce9b5..29c5f47a5 100644
+index e2230f37b..fbc9d54e4 100644
 --- a/doc/guides/linux_gsg/sys_reqs.rst
 +++ b/doc/guides/linux_gsg/sys_reqs.rst
 @@ -65,5 +65,9 @@ Compilation of the DPDK

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

* [dpdk-stable] patch 'doc: add cross-compilation in sample apps guide' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (63 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'doc: fix NUMA library name in Linux " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'doc: fix formatting in IP reassembly app " Kevin Traynor
                   ` (21 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Gavin Hu; +Cc: Honnappa Nagarahalli, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 9fad3ab1be7d63767f34ff5d5046c4761f42fae0 Mon Sep 17 00:00:00 2001
From: Gavin Hu <gavin.hu@arm.com>
Date: Mon, 17 Sep 2018 10:13:23 +0800
Subject: [PATCH] doc: add cross-compilation in sample apps guide

[ upstream commit f00d0d5fb652504ad6af2ab1a8b146b1cb86fe38 ]

Fixes: 7cacb05655 ("doc: add generic build instructions for sample apps")

Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
---
 doc/guides/sample_app_ug/compiling.rst | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/doc/guides/sample_app_ug/compiling.rst b/doc/guides/sample_app_ug/compiling.rst
index a2d75ed22..6f04743c8 100644
--- a/doc/guides/sample_app_ug/compiling.rst
+++ b/doc/guides/sample_app_ug/compiling.rst
@@ -10,5 +10,4 @@ To compile all the sample applications
 --------------------------------------
 
-
 Set the path to DPDK source code if its not set:
 
@@ -94,2 +93,16 @@ Build the application:
         export RTE_TARGET=build
         make
+
+To cross compile the sample application(s)
+------------------------------------------
+
+For cross compiling the sample application(s), please append 'CROSS=$(CROSS_COMPILER_PREFIX)' to the 'make' command.
+In example of AARCH64 cross compiling:
+
+    .. code-block:: console
+
+        export RTE_TARGET=build
+        export RTE_SDK=/path/to/rte_sdk
+        make -C examples CROSS=aarch64-linux-gnu-
+               or
+        make CROSS=aarch64-linux-gnu-
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.691902864 +0000
+++ 0065-doc-add-cross-compilation-in-sample-apps-guide.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,10 +1,11 @@
-From f00d0d5fb652504ad6af2ab1a8b146b1cb86fe38 Mon Sep 17 00:00:00 2001
+From 9fad3ab1be7d63767f34ff5d5046c4761f42fae0 Mon Sep 17 00:00:00 2001
 From: Gavin Hu <gavin.hu@arm.com>
 Date: Mon, 17 Sep 2018 10:13:23 +0800
 Subject: [PATCH] doc: add cross-compilation in sample apps guide
 
+[ upstream commit f00d0d5fb652504ad6af2ab1a8b146b1cb86fe38 ]
+
 Fixes: 7cacb05655 ("doc: add generic build instructions for sample apps")
-Cc: stable@dpdk.org
 
 Signed-off-by: Gavin Hu <gavin.hu@arm.com>
 Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>

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

* [dpdk-stable] patch 'doc: fix formatting in IP reassembly app guide' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (64 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'doc: add cross-compilation in sample apps " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'doc: fix function name in flow filtering " Kevin Traynor
                   ` (20 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Marko Kovacevic; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 838bff484461e7240f52fe930b3ca0202f0ee523 Mon Sep 17 00:00:00 2001
From: Marko Kovacevic <marko.kovacevic@intel.com>
Date: Thu, 16 Aug 2018 17:35:38 +0100
Subject: [PATCH] doc: fix formatting in IP reassembly app guide

[ upstream commit 49cc0a0d1a51fd7c10a0b6226784912028f04eb3 ]

Fixed formatting an extra header was added making it an extra
section when it was not intended.

Fixes: d0dff9ba445e ("doc: sample application user guide")

Signed-off-by: Marko Kovacevic <marko.kovacevic@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 doc/guides/sample_app_ug/ip_reassembly.rst | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/doc/guides/sample_app_ug/ip_reassembly.rst b/doc/guides/sample_app_ug/ip_reassembly.rst
index 18912cd2f..e1b56d7be 100644
--- a/doc/guides/sample_app_ug/ip_reassembly.rst
+++ b/doc/guides/sample_app_ug/ip_reassembly.rst
@@ -24,6 +24,6 @@ There are two key differences from the L2 Forwarding sample application:
 *   The second difference is that the application differentiates between IP and non-IP traffic by means of offload flags.
 
-The Longest Prefix Match (LPM for IPv4, LPM6 for IPv6) table is used to store/lookup an outgoing port number, associated with that IPv4 address. Any unmatched packets are forwarded to the originating port.Compiling the Application
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+The Longest Prefix Match (LPM for IPv4, LPM6 for IPv6) table is used to store/lookup an outgoing port number,
+associated with that IPv4 address. Any unmatched packets are forwarded to the originating port.
 
 
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.714015683 +0000
+++ 0066-doc-fix-formatting-in-IP-reassembly-app-guide.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,13 +1,14 @@
-From 49cc0a0d1a51fd7c10a0b6226784912028f04eb3 Mon Sep 17 00:00:00 2001
+From 838bff484461e7240f52fe930b3ca0202f0ee523 Mon Sep 17 00:00:00 2001
 From: Marko Kovacevic <marko.kovacevic@intel.com>
 Date: Thu, 16 Aug 2018 17:35:38 +0100
 Subject: [PATCH] doc: fix formatting in IP reassembly app guide
 
+[ upstream commit 49cc0a0d1a51fd7c10a0b6226784912028f04eb3 ]
+
 Fixed formatting an extra header was added making it an extra
 section when it was not intended.
 
 Fixes: d0dff9ba445e ("doc: sample application user guide")
-Cc: stable@dpdk.org
 
 Signed-off-by: Marko Kovacevic <marko.kovacevic@intel.com>
 Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>

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

* [dpdk-stable] patch 'doc: fix function name in flow filtering app guide' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (65 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'doc: fix formatting in IP reassembly app " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'ipc: fix access after async request failure' " Kevin Traynor
                   ` (19 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Rami Rosen; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 793d16868b86efccf968ca3229efdb37539b4757 Mon Sep 17 00:00:00 2001
From: Rami Rosen <ramirose@gmail.com>
Date: Thu, 8 Nov 2018 21:46:48 +0200
Subject: [PATCH] doc: fix function name in flow filtering app guide

[ upstream commit eaee9659037e7ee7c77feba76c1d940929f4a8af ]

This patch fixes a typo in flow_filtering.rst. There is no
method named generate_ipv4_rule in DPDK, it should be generate_ipv4_flow.

Signed-off-by: Rami Rosen <ramirose@gmail.com>
---
 doc/guides/sample_app_ug/flow_filtering.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/guides/sample_app_ug/flow_filtering.rst b/doc/guides/sample_app_ug/flow_filtering.rst
index bd0ae1e2f..b0ab179d1 100644
--- a/doc/guides/sample_app_ug/flow_filtering.rst
+++ b/doc/guides/sample_app_ug/flow_filtering.rst
@@ -370,5 +370,5 @@ The generate_ipv4_flow function
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-The generate_ipv4_rule function is responsible for creating the flow rule.
+The generate_ipv4_flow function is responsible for creating the flow rule.
 This function is located in the ``flow_blocks.c`` file.
 
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.735818329 +0000
+++ 0067-doc-fix-function-name-in-flow-filtering-app-guide.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,8 +1,10 @@
-From eaee9659037e7ee7c77feba76c1d940929f4a8af Mon Sep 17 00:00:00 2001
+From 793d16868b86efccf968ca3229efdb37539b4757 Mon Sep 17 00:00:00 2001
 From: Rami Rosen <ramirose@gmail.com>
 Date: Thu, 8 Nov 2018 21:46:48 +0200
 Subject: [PATCH] doc: fix function name in flow filtering app guide
 
+[ upstream commit eaee9659037e7ee7c77feba76c1d940929f4a8af ]
+
 This patch fixes a typo in flow_filtering.rst. There is no
 method named generate_ipv4_rule in DPDK, it should be generate_ipv4_flow.
 
@@ -12,10 +14,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/doc/guides/sample_app_ug/flow_filtering.rst b/doc/guides/sample_app_ug/flow_filtering.rst
-index 0d6fe2bb3..840d557c5 100644
+index bd0ae1e2f..b0ab179d1 100644
 --- a/doc/guides/sample_app_ug/flow_filtering.rst
 +++ b/doc/guides/sample_app_ug/flow_filtering.rst
-@@ -368,5 +368,5 @@ The generate_ipv4_flow function
+@@ -370,5 +370,5 @@ The generate_ipv4_flow function
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  
 -The generate_ipv4_rule function is responsible for creating the flow rule.

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

* [dpdk-stable] patch 'ipc: fix access after async request failure' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (66 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'doc: fix function name in flow filtering " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'eal: fix build with -O1' " Kevin Traynor
                   ` (18 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Anatoly Burakov; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 4f8eb35337f7778d64297863c8a6c5407a17f4f1 Mon Sep 17 00:00:00 2001
From: Anatoly Burakov <anatoly.burakov@intel.com>
Date: Tue, 20 Nov 2018 16:18:46 +0000
Subject: [PATCH] ipc: fix access after async request failure

[ upstream commit 615fcf55d24eeb3747b3300b25f61eed8f9053ab ]

Previous fix for rte_panic has moved setting of alarm before
sending the message. This means that whether we send a message,
the alarm would still trigger. The comment noted that cleanup
would happen in the alarm handler, but that's not what actually
happened - instead, in the event of failed send we freed the
memory in-place, before putting the request on the queue.

This works OK when the message is sent, but when sending the
message fails, the alarm would still trigger with a pointer
argument that points to non-existent memory, and cause
memory corruption.

There probably is a "proper" fix for this issue, with correct
handling of sent vs. unsent requests, however it would be
simpler just to sacrifice the sent request in the (extremely
unlikely) event of alarm set failing. The other process would
still send a response, but it will be ignored by the sender.

Fixes: 45e5f49e87fb ("ipc: remove panic in async request")

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 lib/librte_eal/common/eal_common_proc.c | 40 ++++++++-----------------
 1 file changed, 13 insertions(+), 27 deletions(-)

diff --git a/lib/librte_eal/common/eal_common_proc.c b/lib/librte_eal/common/eal_common_proc.c
index f65ef56c0..1c3f09aad 100644
--- a/lib/librte_eal/common/eal_common_proc.c
+++ b/lib/librte_eal/common/eal_common_proc.c
@@ -828,18 +828,17 @@ mp_request_async(const char *dst, struct rte_mp_msg *req,
 	}
 
-	/*
-	 * set the alarm before sending message. there are two possible error
-	 * scenarios to consider here:
-	 *
-	 * - if the alarm set fails, we free the memory right there
-	 * - if the alarm set succeeds but sending message fails, then the alarm
-	 *   will trigger and clean up the memory
-	 *
-	 * Even if the alarm triggers too early (i.e. immediately), we're still
-	 * holding the lock to pending requests queue, so the interrupt thread
-	 * will just spin until we release the lock, and either release the
-	 * memory, or doesn't find any pending requests in the queue because we
-	 * never added any due to send message failure.
-	 */
+	ret = send_msg(dst, req, MP_REQ);
+	if (ret < 0) {
+		RTE_LOG(ERR, EAL, "Fail to send request %s:%s\n",
+			dst, req->name);
+		ret = -1;
+		goto fail;
+	} else if (ret == 0) {
+		ret = 0;
+		goto fail;
+	}
+	param->user_reply.nb_sent++;
+
+	/* if alarm set fails, we simply ignore the reply */
 	if (rte_eal_alarm_set(ts->tv_sec * 1000000 + ts->tv_nsec / 1000,
 			      async_reply_handle, pending_req) < 0) {
@@ -849,19 +848,6 @@ mp_request_async(const char *dst, struct rte_mp_msg *req,
 		goto fail;
 	}
-
-	ret = send_msg(dst, req, MP_REQ);
-	if (ret < 0) {
-		RTE_LOG(ERR, EAL, "Fail to send request %s:%s\n",
-			dst, req->name);
-		ret = -1;
-		goto fail;
-	} else if (ret == 0) {
-		ret = 0;
-		goto fail;
-	}
 	TAILQ_INSERT_TAIL(&pending_requests.requests, pending_req, next);
 
-	param->user_reply.nb_sent++;
-
 	return 0;
 fail:
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.758587857 +0000
+++ 0068-ipc-fix-access-after-async-request-failure.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,8 +1,10 @@
-From 615fcf55d24eeb3747b3300b25f61eed8f9053ab Mon Sep 17 00:00:00 2001
+From 4f8eb35337f7778d64297863c8a6c5407a17f4f1 Mon Sep 17 00:00:00 2001
 From: Anatoly Burakov <anatoly.burakov@intel.com>
 Date: Tue, 20 Nov 2018 16:18:46 +0000
 Subject: [PATCH] ipc: fix access after async request failure
 
+[ upstream commit 615fcf55d24eeb3747b3300b25f61eed8f9053ab ]
+
 Previous fix for rte_panic has moved setting of alarm before
 sending the message. This means that whether we send a message,
 the alarm would still trigger. The comment noted that cleanup

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

* [dpdk-stable] patch 'eal: fix build with -O1' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (67 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'ipc: fix access after async request failure' " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'kni: fix possible uninitialized variable' " Kevin Traynor
                   ` (17 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 048dfa09bb606e52fe3d9cacf4608390d3377dd3 Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas@monjalon.net>
Date: Fri, 16 Nov 2018 17:58:50 +0100
Subject: [PATCH] eal: fix build with -O1

[ upstream commit e357e8ebd99c9c394a276fdffd37f13005cb1c63 ]

In case of optimized compilation, RTE_BUILD_BUG_ON use an external
variable which is neither defined, nor used.
It seems not optimized out in case of OPDL compiled with clang -O1:
	opdl_ring.c: undefined reference to `RTE_BUILD_BUG_ON_detected_error'
	clang-6.0: fatal error: linker command failed with exit code 1

Fixes: af75078fece3 ("first public release")

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 lib/librte_eal/common/include/rte_common.h | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/lib/librte_eal/common/include/rte_common.h b/lib/librte_eal/common/include/rte_common.h
index 069c13ec7..e873415aa 100644
--- a/lib/librte_eal/common/include/rte_common.h
+++ b/lib/librte_eal/common/include/rte_common.h
@@ -260,14 +260,5 @@ rte_is_aligned(void *ptr, unsigned align)
  * Triggers an error at compilation time if the condition is true.
  */
-#ifndef __OPTIMIZE__
 #define RTE_BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
-#else
-extern int RTE_BUILD_BUG_ON_detected_error;
-#define RTE_BUILD_BUG_ON(condition) do {             \
-	((void)sizeof(char[1 - 2*!!(condition)]));   \
-	if (condition)                               \
-		RTE_BUILD_BUG_ON_detected_error = 1; \
-} while(0)
-#endif
 
 /**
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.781645840 +0000
+++ 0069-eal-fix-build-with-O1.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,8 +1,10 @@
-From e357e8ebd99c9c394a276fdffd37f13005cb1c63 Mon Sep 17 00:00:00 2001
+From 048dfa09bb606e52fe3d9cacf4608390d3377dd3 Mon Sep 17 00:00:00 2001
 From: Thomas Monjalon <thomas@monjalon.net>
 Date: Fri, 16 Nov 2018 17:58:50 +0100
 Subject: [PATCH] eal: fix build with -O1
 
+[ upstream commit e357e8ebd99c9c394a276fdffd37f13005cb1c63 ]
+
 In case of optimized compilation, RTE_BUILD_BUG_ON use an external
 variable which is neither defined, nor used.
 It seems not optimized out in case of OPDL compiled with clang -O1:
@@ -10,7 +12,6 @@
 	clang-6.0: fatal error: linker command failed with exit code 1
 
 Fixes: af75078fece3 ("first public release")
-Cc: stable@dpdk.org
 
 Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
 ---
@@ -18,10 +19,10 @@
  1 file changed, 9 deletions(-)
 
 diff --git a/lib/librte_eal/common/include/rte_common.h b/lib/librte_eal/common/include/rte_common.h
-index d115b175c..66cdf60b2 100644
+index 069c13ec7..e873415aa 100644
 --- a/lib/librte_eal/common/include/rte_common.h
 +++ b/lib/librte_eal/common/include/rte_common.h
-@@ -271,14 +271,5 @@ rte_is_aligned(void *ptr, unsigned align)
+@@ -260,14 +260,5 @@ rte_is_aligned(void *ptr, unsigned align)
   * Triggers an error at compilation time if the condition is true.
   */
 -#ifndef __OPTIMIZE__

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

* [dpdk-stable] patch 'kni: fix possible uninitialized variable' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (68 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'eal: fix build with -O1' " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'net/mlx4: " Kevin Traynor
                   ` (16 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 9f20530c73315d3775781445fffa462b51156769 Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas@monjalon.net>
Date: Fri, 16 Nov 2018 17:58:51 +0100
Subject: [PATCH] kni: fix possible uninitialized variable

[ upstream commit a17842c1421c1b26f9deed4f6684abdba06e7a56 ]

This error can be raised:
	lib/librte_kni/rte_kni.c:531:15: error:
	'req' may be used uninitialized in this function

It should not happen because kni_fifo_get() would return 0 if
req is not initialized, so the function would return before using req.
But GCC complains about it in -O1 optimization,
and a NULL initialization is harmless here.

Fixes: 3fc5ca2f6352 ("kni: initial import")

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

diff --git a/lib/librte_kni/rte_kni.c b/lib/librte_kni/rte_kni.c
index 65f6a2b03..482d3662e 100644
--- a/lib/librte_kni/rte_kni.c
+++ b/lib/librte_kni/rte_kni.c
@@ -551,5 +551,5 @@ rte_kni_handle_request(struct rte_kni *kni)
 {
 	unsigned ret;
-	struct rte_kni_request *req;
+	struct rte_kni_request *req = NULL;
 
 	if (kni == NULL)
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.804731467 +0000
+++ 0070-kni-fix-possible-uninitialized-variable.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,8 +1,10 @@
-From a17842c1421c1b26f9deed4f6684abdba06e7a56 Mon Sep 17 00:00:00 2001
+From 9f20530c73315d3775781445fffa462b51156769 Mon Sep 17 00:00:00 2001
 From: Thomas Monjalon <thomas@monjalon.net>
 Date: Fri, 16 Nov 2018 17:58:51 +0100
 Subject: [PATCH] kni: fix possible uninitialized variable
 
+[ upstream commit a17842c1421c1b26f9deed4f6684abdba06e7a56 ]
+
 This error can be raised:
 	lib/librte_kni/rte_kni.c:531:15: error:
 	'req' may be used uninitialized in this function
@@ -13,7 +15,6 @@
 and a NULL initialization is harmless here.
 
 Fixes: 3fc5ca2f6352 ("kni: initial import")
-Cc: stable@dpdk.org
 
 Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
 ---
@@ -21,10 +22,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/lib/librte_kni/rte_kni.c b/lib/librte_kni/rte_kni.c
-index c9726d4f8..73aeccccf 100644
+index 65f6a2b03..482d3662e 100644
 --- a/lib/librte_kni/rte_kni.c
 +++ b/lib/librte_kni/rte_kni.c
-@@ -484,5 +484,5 @@ rte_kni_handle_request(struct rte_kni *kni)
+@@ -551,5 +551,5 @@ rte_kni_handle_request(struct rte_kni *kni)
  {
  	unsigned ret;
 -	struct rte_kni_request *req;

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

* [dpdk-stable] patch 'net/mlx4: fix possible uninitialized variable' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (69 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'kni: fix possible uninitialized variable' " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'eventdev: fix unlock in Rx adapter' " Kevin Traynor
                   ` (15 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From cb693419f6dd90bb78a7878c2604727a078f1593 Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas@monjalon.net>
Date: Fri, 16 Nov 2018 17:58:52 +0100
Subject: [PATCH] net/mlx4: fix possible uninitialized variable
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit 554f06d10b1c646f20d7011a30b26fb43507d596 ]

When compiling with gcc -O1, this error appears:
	drivers/net/mlx4/mlx4_ethdev.c: In function ‘mlx4_rxmode_toggle’:
	rte_log.h:321:3: error:
	‘mode’ may be used uninitialized in this function

The function mlx4_rxmode_toggle is never called with a value which
is not in the switch block, but GCC complains about it with -O1.
So the default case is "fixed" by setting string "undefined".

Fixes: eacaac7bae36 ("net/mlx4: restore promisc and allmulti support")

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 drivers/net/mlx4/mlx4_ethdev.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/mlx4/mlx4_ethdev.c b/drivers/net/mlx4/mlx4_ethdev.c
index 30deb3ef0..195a1b6df 100644
--- a/drivers/net/mlx4/mlx4_ethdev.c
+++ b/drivers/net/mlx4/mlx4_ethdev.c
@@ -361,4 +361,6 @@ mlx4_rxmode_toggle(struct rte_eth_dev *dev, enum rxmode_toggle toggle)
 		dev->data->all_multicast = toggle & 1;
 		break;
+	default:
+		mode = "undefined";
 	}
 	if (!mlx4_flow_sync(priv, &error))
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.826769246 +0000
+++ 0071-net-mlx4-fix-possible-uninitialized-variable.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,4 +1,4 @@
-From 554f06d10b1c646f20d7011a30b26fb43507d596 Mon Sep 17 00:00:00 2001
+From cb693419f6dd90bb78a7878c2604727a078f1593 Mon Sep 17 00:00:00 2001
 From: Thomas Monjalon <thomas@monjalon.net>
 Date: Fri, 16 Nov 2018 17:58:52 +0100
 Subject: [PATCH] net/mlx4: fix possible uninitialized variable
@@ -6,6 +6,8 @@
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
 
+[ upstream commit 554f06d10b1c646f20d7011a30b26fb43507d596 ]
+
 When compiling with gcc -O1, this error appears:
 	drivers/net/mlx4/mlx4_ethdev.c: In function ‘mlx4_rxmode_toggle’:
 	rte_log.h:321:3: error:
@@ -16,7 +18,6 @@
 So the default case is "fixed" by setting string "undefined".
 
 Fixes: eacaac7bae36 ("net/mlx4: restore promisc and allmulti support")
-Cc: stable@dpdk.org
 
 Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
 ---

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

* [dpdk-stable] patch 'eventdev: fix unlock in Rx adapter' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (70 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'net/mlx4: " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'config: enable more than 128 cores for arm64' " Kevin Traynor
                   ` (14 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Nikhil Rao; +Cc: Jerin Jacob, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 51c4f7b40b7532c02a398fa19d5dfb183cd2e9fb Mon Sep 17 00:00:00 2001
From: Nikhil Rao <nikhil.rao@intel.com>
Date: Wed, 21 Nov 2018 03:39:15 +0530
Subject: [PATCH] eventdev: fix unlock in Rx adapter

[ upstream commit e846cfdec34cc58b9a1a2438d313028246b8e986 ]

In the eth Rx adapter SW service function,
move the return to after the spinlock unlock.

Coverity issue: 302857
Fixes: a66a83744667 ("eventdev: fix Rx SW adapter stop")

Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 lib/librte_eventdev/rte_event_eth_rx_adapter.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.c b/lib/librte_eventdev/rte_event_eth_rx_adapter.c
index 71d008cd1..8831bc35f 100644
--- a/lib/librte_eventdev/rte_event_eth_rx_adapter.c
+++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.c
@@ -1166,6 +1166,6 @@ rxa_service_func(void *args)
 		return 0;
 	if (!rx_adapter->rxa_started) {
-		return 0;
 		rte_spinlock_unlock(&rx_adapter->rx_lock);
+		return 0;
 	}
 
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.849926990 +0000
+++ 0072-eventdev-fix-unlock-in-Rx-adapter.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,14 +1,15 @@
-From e846cfdec34cc58b9a1a2438d313028246b8e986 Mon Sep 17 00:00:00 2001
+From 51c4f7b40b7532c02a398fa19d5dfb183cd2e9fb Mon Sep 17 00:00:00 2001
 From: Nikhil Rao <nikhil.rao@intel.com>
 Date: Wed, 21 Nov 2018 03:39:15 +0530
 Subject: [PATCH] eventdev: fix unlock in Rx adapter
 
+[ upstream commit e846cfdec34cc58b9a1a2438d313028246b8e986 ]
+
 In the eth Rx adapter SW service function,
 move the return to after the spinlock unlock.
 
 Coverity issue: 302857
 Fixes: a66a83744667 ("eventdev: fix Rx SW adapter stop")
-Cc: stable@dpdk.org
 
 Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
 Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>

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

* [dpdk-stable] patch 'config: enable more than 128 cores for arm64' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (71 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'eventdev: fix unlock in Rx adapter' " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'net/i40e/base: fix comment referencing internal data' " Kevin Traynor
                   ` (13 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Joyce Kong; +Cc: Gavin Hu, Jerin Jacob, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From badffcd9073fe826640d56f754a14190f4ec2ca2 Mon Sep 17 00:00:00 2001
From: Joyce Kong <joyce.kong@arm.com>
Date: Thu, 22 Nov 2018 15:37:07 +0800
Subject: [PATCH] config: enable more than 128 cores for arm64

[ upstream commit 9b47ed438ab9dba47856c8e93880b88d94715519 ]

When running dpdk applications on cores whose ids are bigger
than original max_core setting, eal error as below:
EAL: Detected 104 lcore(s)
EAL: Detected 2 NUMA nodes
EAL: invalid core list
-l CORELIST core indexes between 0 and 128

The fix is to increase max_core to 256 on arm64 platform.

Fixes: b3ce00e5 ("mk: introduce ARMv8 architecture")

Signed-off-by: Joyce Kong <joyce.kong@arm.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 config/arm/meson.build                     | 1 +
 config/defconfig_arm64-armv8a-linuxapp-gcc | 1 +
 2 files changed, 2 insertions(+)

diff --git a/config/arm/meson.build b/config/arm/meson.build
index b497901b0..e96840b48 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -47,4 +47,5 @@ flags_common_default = [
 flags_generic = [
 	['RTE_MACHINE', '"armv8a"'],
+	['RTE_MAX_LCORE', 256],
 	['RTE_CACHE_LINE_SIZE', 128]]
 flags_cavium = [
diff --git a/config/defconfig_arm64-armv8a-linuxapp-gcc b/config/defconfig_arm64-armv8a-linuxapp-gcc
index 184274437..a6ed90c51 100644
--- a/config/defconfig_arm64-armv8a-linuxapp-gcc
+++ b/config/defconfig_arm64-armv8a-linuxapp-gcc
@@ -7,2 +7,3 @@
 CONFIG_RTE_TOOLCHAIN="gcc"
 CONFIG_RTE_TOOLCHAIN_GCC=y
+CONFIG_RTE_MAX_LCORE=256
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.874308818 +0000
+++ 0073-config-enable-more-than-128-cores-for-arm64.patch	2018-11-29 13:11:34.000000000 +0000
@@ -1,8 +1,10 @@
-From 9b47ed438ab9dba47856c8e93880b88d94715519 Mon Sep 17 00:00:00 2001
+From badffcd9073fe826640d56f754a14190f4ec2ca2 Mon Sep 17 00:00:00 2001
 From: Joyce Kong <joyce.kong@arm.com>
 Date: Thu, 22 Nov 2018 15:37:07 +0800
 Subject: [PATCH] config: enable more than 128 cores for arm64
 
+[ upstream commit 9b47ed438ab9dba47856c8e93880b88d94715519 ]
+
 When running dpdk applications on cores whose ids are bigger
 than original max_core setting, eal error as below:
 EAL: Detected 104 lcore(s)
@@ -13,7 +15,6 @@
 The fix is to increase max_core to 256 on arm64 platform.
 
 Fixes: b3ce00e5 ("mk: introduce ARMv8 architecture")
-Cc: stable@dpdk.org
 
 Signed-off-by: Joyce Kong <joyce.kong@arm.com>
 Reviewed-by: Gavin Hu <gavin.hu@arm.com>
@@ -24,7 +25,7 @@
  2 files changed, 2 insertions(+)
 
 diff --git a/config/arm/meson.build b/config/arm/meson.build
-index b75513855..3f917250d 100644
+index b497901b0..e96840b48 100644
 --- a/config/arm/meson.build
 +++ b/config/arm/meson.build
 @@ -47,4 +47,5 @@ flags_common_default = [

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

* [dpdk-stable] patch 'net/i40e/base: fix comment referencing internal data' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (72 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'config: enable more than 128 cores for arm64' " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'net/ena: fix out of order completion' " Kevin Traynor
                   ` (12 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From cc9111028507e70aa7ba062391f6dd4e487c737b Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Fri, 16 Nov 2018 16:29:57 +0000
Subject: [PATCH] net/i40e/base: fix comment referencing internal data

[ upstream commit 1a0833efde700134532aa8e2e8a069da7b9fe78b ]

DCR is Intel internal information, no need to be in public code.

Fixes: de2cd512b176 ("net/i40e/base: new AQ commands for cloud filter")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/i40e/base/i40e_adminq_cmd.h | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h
index 801c0ff1b..e8983c269 100644
--- a/drivers/net/i40e/base/i40e_adminq_cmd.h
+++ b/drivers/net/i40e/base/i40e_adminq_cmd.h
@@ -1433,6 +1433,5 @@ struct i40e_aqc_add_remove_cloud_filters_element_data {
 
 /* i40e_aqc_add_rm_cloud_filt_elem_ext is used when
- * I40E_AQC_ADD_REM_CLOUD_CMD_BIG_BUFFER flag is set. refer to
- * DCR288
+ * I40E_AQC_ADD_REM_CLOUD_CMD_BIG_BUFFER flag is set.
  */
 struct i40e_aqc_add_rm_cloud_filt_elem_ext {
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.895728291 +0000
+++ 0074-net-i40e-base-fix-comment-referencing-internal-data.patch	2018-11-29 13:11:35.000000000 +0000
@@ -1,12 +1,13 @@
-From 1a0833efde700134532aa8e2e8a069da7b9fe78b Mon Sep 17 00:00:00 2001
+From cc9111028507e70aa7ba062391f6dd4e487c737b Mon Sep 17 00:00:00 2001
 From: Ferruh Yigit <ferruh.yigit@intel.com>
 Date: Fri, 16 Nov 2018 16:29:57 +0000
 Subject: [PATCH] net/i40e/base: fix comment referencing internal data
 
+[ upstream commit 1a0833efde700134532aa8e2e8a069da7b9fe78b ]
+
 DCR is Intel internal information, no need to be in public code.
 
 Fixes: de2cd512b176 ("net/i40e/base: new AQ commands for cloud filter")
-Cc: stable@dpdk.org
 
 Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
 ---
@@ -14,10 +15,10 @@
  1 file changed, 1 insertion(+), 2 deletions(-)
 
 diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h
-index 83062602f..cf6ef63e3 100644
+index 801c0ff1b..e8983c269 100644
 --- a/drivers/net/i40e/base/i40e_adminq_cmd.h
 +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h
-@@ -1441,6 +1441,5 @@ struct i40e_aqc_cloud_filters_element_data {
+@@ -1433,6 +1433,5 @@ struct i40e_aqc_add_remove_cloud_filters_element_data {
  
  /* i40e_aqc_add_rm_cloud_filt_elem_ext is used when
 - * I40E_AQC_ADD_REM_CLOUD_CMD_BIG_BUFFER flag is set. refer to

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

* [dpdk-stable] patch 'net/ena: fix out of order completion' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (73 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'net/i40e/base: fix comment referencing internal data' " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'net/qede: fix Tx offload mask' " Kevin Traynor
                   ` (11 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Rafal Kozik; +Cc: Michal Krawczyk, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 68433fad2007db5d17b15a254bb7a34fa8b66951 Mon Sep 17 00:00:00 2001
From: Rafal Kozik <rk@semihalf.com>
Date: Wed, 21 Nov 2018 09:21:14 +0100
Subject: [PATCH] net/ena: fix out of order completion

[ upstream commit 79405ee175857cfdbb508f9d55e2a51d95483be6 ]

rx_buffer_info should be refill not linearly, but out of order.
IDs should be taken from empty_rx_reqs array.

rx_refill_buffer is introduced to temporary storage
bulk of mbufs taken from pool.

In case of error unused mbufs are put back to pool.

Fixes: c2034976673d ("net/ena: add Rx out of order completion")

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>
---
 drivers/net/ena/ena_ethdev.c | 40 +++++++++++++++++++++++++-----------
 drivers/net/ena/ena_ethdev.h |  1 +
 2 files changed, 29 insertions(+), 12 deletions(-)

diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index 9e462099f..87c95b2e7 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -761,4 +761,8 @@ static void ena_rx_queue_release(void *queue)
 	ring->rx_buffer_info = NULL;
 
+	if (ring->rx_refill_buffer)
+		rte_free(ring->rx_refill_buffer);
+	ring->rx_refill_buffer = NULL;
+
 	if (ring->empty_rx_reqs)
 		rte_free(ring->empty_rx_reqs);
@@ -1303,4 +1307,15 @@ static int ena_rx_queue_setup(struct rte_eth_dev *dev,
 	}
 
+	rxq->rx_refill_buffer = rte_zmalloc("rxq->rx_refill_buffer",
+					    sizeof(struct rte_mbuf *) * nb_desc,
+					    RTE_CACHE_LINE_SIZE);
+
+	if (!rxq->rx_refill_buffer) {
+		RTE_LOG(ERR, PMD, "failed to alloc mem for rx refill buffer\n");
+		rte_free(rxq->rx_buffer_info);
+		rxq->rx_buffer_info = NULL;
+		return -ENOMEM;
+	}
+
 	rxq->empty_rx_reqs = rte_zmalloc("rxq->empty_rx_reqs",
 					 sizeof(uint16_t) * nb_desc,
@@ -1310,4 +1325,6 @@ static int ena_rx_queue_setup(struct rte_eth_dev *dev,
 		rte_free(rxq->rx_buffer_info);
 		rxq->rx_buffer_info = NULL;
+		rte_free(rxq->rx_refill_buffer);
+		rxq->rx_refill_buffer = NULL;
 		return -ENOMEM;
 	}
@@ -1331,5 +1348,5 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, unsigned int count)
 	uint16_t next_to_use = rxq->next_to_use;
 	uint16_t in_use, req_id;
-	struct rte_mbuf **mbufs = &rxq->rx_buffer_info[0];
+	struct rte_mbuf **mbufs = rxq->rx_refill_buffer;
 
 	if (unlikely(!count))
@@ -1339,11 +1356,6 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, unsigned int count)
 	ena_assert_msg(((in_use + count) < ring_size), "bad ring state");
 
-	count = RTE_MIN(count,
-			(uint16_t)(ring_size - (next_to_use & ring_mask)));
-
 	/* get resources for incoming packets */
-	rc = rte_mempool_get_bulk(rxq->mb_pool,
-				  (void **)(&mbufs[next_to_use & ring_mask]),
-				  count);
+	rc = rte_mempool_get_bulk(rxq->mb_pool, (void **)mbufs, count);
 	if (unlikely(rc < 0)) {
 		rte_atomic64_inc(&rxq->adapter->drv_stats->rx_nombuf);
@@ -1354,8 +1366,9 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, unsigned int count)
 	for (i = 0; i < count; i++) {
 		uint16_t next_to_use_masked = next_to_use & ring_mask;
-		struct rte_mbuf *mbuf = mbufs[next_to_use_masked];
+		struct rte_mbuf *mbuf = mbufs[i];
 		struct ena_com_buf ebuf;
 
-		rte_prefetch0(mbufs[((next_to_use + 4) & ring_mask)]);
+		if (likely((i + 4) < count))
+			rte_prefetch0(mbufs[i + 4]);
 
 		req_id = rxq->empty_rx_reqs[next_to_use_masked];
@@ -1363,4 +1376,5 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, unsigned int count)
 		if (unlikely(rc < 0))
 			break;
+		rxq->rx_buffer_info[req_id] = mbuf;
 
 		/* prepare physical address for DMA transaction */
@@ -1371,7 +1385,6 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, unsigned int count)
 						&ebuf, req_id);
 		if (unlikely(rc)) {
-			rte_mempool_put_bulk(rxq->mb_pool, (void **)(&mbuf),
-					     count - i);
 			RTE_LOG(WARNING, PMD, "failed adding rx desc\n");
+			rxq->rx_buffer_info[req_id] = NULL;
 			break;
 		}
@@ -1379,7 +1392,10 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, unsigned int count)
 	}
 
-	if (unlikely(i < count))
+	if (unlikely(i < count)) {
 		RTE_LOG(WARNING, PMD, "refilled rx qid %d with only %d "
 			"buffers (from %d)\n", rxq->id, i, count);
+		rte_mempool_put_bulk(rxq->mb_pool, (void **)(&mbufs[i]),
+				     count - i);
+	}
 
 	/* When we submitted free recources to device... */
diff --git a/drivers/net/ena/ena_ethdev.h b/drivers/net/ena/ena_ethdev.h
index 2dc8129e0..322e90ace 100644
--- a/drivers/net/ena/ena_ethdev.h
+++ b/drivers/net/ena/ena_ethdev.h
@@ -88,4 +88,5 @@ struct ena_ring {
 		struct rte_mbuf **rx_buffer_info; /* contex of rx packet */
 	};
+	struct rte_mbuf **rx_refill_buffer;
 	unsigned int ring_size; /* number of tx/rx_buffer_info's entries */
 
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.920935195 +0000
+++ 0075-net-ena-fix-out-of-order-completion.patch	2018-11-29 13:11:35.000000000 +0000
@@ -1,8 +1,10 @@
-From 79405ee175857cfdbb508f9d55e2a51d95483be6 Mon Sep 17 00:00:00 2001
+From 68433fad2007db5d17b15a254bb7a34fa8b66951 Mon Sep 17 00:00:00 2001
 From: Rafal Kozik <rk@semihalf.com>
 Date: Wed, 21 Nov 2018 09:21:14 +0100
 Subject: [PATCH] net/ena: fix out of order completion
 
+[ upstream commit 79405ee175857cfdbb508f9d55e2a51d95483be6 ]
+
 rx_buffer_info should be refill not linearly, but out of order.
 IDs should be taken from empty_rx_reqs array.
 
@@ -12,7 +14,6 @@
 In case of error unused mbufs are put back to pool.
 
 Fixes: c2034976673d ("net/ena: add Rx out of order completion")
-Cc: stable@dpdk.org
 
 Signed-off-by: Rafal Kozik <rk@semihalf.com>
 Acked-by: Michal Krawczyk <mk@semihalf.com>
@@ -22,10 +23,10 @@
  2 files changed, 29 insertions(+), 12 deletions(-)
 
 diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
-index 3690afe3b..a07bd2b49 100644
+index 9e462099f..87c95b2e7 100644
 --- a/drivers/net/ena/ena_ethdev.c
 +++ b/drivers/net/ena/ena_ethdev.c
-@@ -777,4 +777,8 @@ static void ena_rx_queue_release(void *queue)
+@@ -761,4 +761,8 @@ static void ena_rx_queue_release(void *queue)
  	ring->rx_buffer_info = NULL;
  
 +	if (ring->rx_refill_buffer)
@@ -34,7 +35,7 @@
 +
  	if (ring->empty_rx_reqs)
  		rte_free(ring->empty_rx_reqs);
-@@ -1319,4 +1323,15 @@ static int ena_rx_queue_setup(struct rte_eth_dev *dev,
+@@ -1303,4 +1307,15 @@ static int ena_rx_queue_setup(struct rte_eth_dev *dev,
  	}
  
 +	rxq->rx_refill_buffer = rte_zmalloc("rxq->rx_refill_buffer",
@@ -50,21 +51,21 @@
 +
  	rxq->empty_rx_reqs = rte_zmalloc("rxq->empty_rx_reqs",
  					 sizeof(uint16_t) * nb_desc,
-@@ -1326,4 +1341,6 @@ static int ena_rx_queue_setup(struct rte_eth_dev *dev,
+@@ -1310,4 +1325,6 @@ static int ena_rx_queue_setup(struct rte_eth_dev *dev,
  		rte_free(rxq->rx_buffer_info);
  		rxq->rx_buffer_info = NULL;
 +		rte_free(rxq->rx_refill_buffer);
 +		rxq->rx_refill_buffer = NULL;
  		return -ENOMEM;
  	}
-@@ -1347,5 +1364,5 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, unsigned int count)
+@@ -1331,5 +1348,5 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, unsigned int count)
  	uint16_t next_to_use = rxq->next_to_use;
  	uint16_t in_use, req_id;
 -	struct rte_mbuf **mbufs = &rxq->rx_buffer_info[0];
 +	struct rte_mbuf **mbufs = rxq->rx_refill_buffer;
  
  	if (unlikely(!count))
-@@ -1355,11 +1372,6 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, unsigned int count)
+@@ -1339,11 +1356,6 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, unsigned int count)
  	ena_assert_msg(((in_use + count) < ring_size), "bad ring state");
  
 -	count = RTE_MIN(count,
@@ -77,7 +78,7 @@
 +	rc = rte_mempool_get_bulk(rxq->mb_pool, (void **)mbufs, count);
  	if (unlikely(rc < 0)) {
  		rte_atomic64_inc(&rxq->adapter->drv_stats->rx_nombuf);
-@@ -1370,8 +1382,9 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, unsigned int count)
+@@ -1354,8 +1366,9 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, unsigned int count)
  	for (i = 0; i < count; i++) {
  		uint16_t next_to_use_masked = next_to_use & ring_mask;
 -		struct rte_mbuf *mbuf = mbufs[next_to_use_masked];
@@ -89,13 +90,13 @@
 +			rte_prefetch0(mbufs[i + 4]);
  
  		req_id = rxq->empty_rx_reqs[next_to_use_masked];
-@@ -1379,4 +1392,5 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, unsigned int count)
+@@ -1363,4 +1376,5 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, unsigned int count)
  		if (unlikely(rc < 0))
  			break;
 +		rxq->rx_buffer_info[req_id] = mbuf;
  
  		/* prepare physical address for DMA transaction */
-@@ -1387,7 +1401,6 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, unsigned int count)
+@@ -1371,7 +1385,6 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, unsigned int count)
  						&ebuf, req_id);
  		if (unlikely(rc)) {
 -			rte_mempool_put_bulk(rxq->mb_pool, (void **)(&mbuf),
@@ -104,7 +105,7 @@
 +			rxq->rx_buffer_info[req_id] = NULL;
  			break;
  		}
-@@ -1395,7 +1408,10 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, unsigned int count)
+@@ -1379,7 +1392,10 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, unsigned int count)
  	}
  
 -	if (unlikely(i < count))

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

* [dpdk-stable] patch 'net/qede: fix Tx offload mask' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (74 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'net/ena: fix out of order completion' " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'net/ixgbe: fix TDH register write' " Kevin Traynor
                   ` (10 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Shahed Shaikh; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From bfc1b15c1c5d47fd9a17f7351615b6a6211e8fb4 Mon Sep 17 00:00:00 2001
From: Shahed Shaikh <shahed.shaikh@cavium.com>
Date: Wed, 21 Nov 2018 21:20:49 +0000
Subject: [PATCH] net/qede: fix Tx offload mask

[ upstream commit 3985ea528a9b74a49af4c8b557b7e145a21692af ]

Following commit updated the Tx offload mask
commit 1037ed842c37 ("mbuf: fix Tx offload mask").

So, not having PKT_TX_IPV6 and PKT_TX_IPV4 in qede PMDs supported
Tx offload mask breaks TSO support since application will fail in transmit
prepare function.

Fixes: 1037ed842c37 ("mbuf: fix Tx offload mask")

Signed-off-by: Shahed Shaikh <shahed.shaikh@cavium.com>
---
 drivers/net/qede/qede_rxtx.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/qede/qede_rxtx.h b/drivers/net/qede/qede_rxtx.h
index 70e6a1df2..2a0e345b5 100644
--- a/drivers/net/qede/qede_rxtx.h
+++ b/drivers/net/qede/qede_rxtx.h
@@ -150,5 +150,7 @@
 				   PKT_TX_UDP_CKSUM             | \
 				   PKT_TX_OUTER_IP_CKSUM        | \
-				   PKT_TX_TCP_SEG)
+				   PKT_TX_TCP_SEG		| \
+				   PKT_TX_IPV4			| \
+				   PKT_TX_IPV6)
 
 #define QEDE_TX_OFFLOAD_MASK (QEDE_TX_CSUM_OFFLOAD_MASK | \
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.945387300 +0000
+++ 0076-net-qede-fix-Tx-offload-mask.patch	2018-11-29 13:11:35.000000000 +0000
@@ -1,8 +1,10 @@
-From 3985ea528a9b74a49af4c8b557b7e145a21692af Mon Sep 17 00:00:00 2001
+From bfc1b15c1c5d47fd9a17f7351615b6a6211e8fb4 Mon Sep 17 00:00:00 2001
 From: Shahed Shaikh <shahed.shaikh@cavium.com>
 Date: Wed, 21 Nov 2018 21:20:49 +0000
 Subject: [PATCH] net/qede: fix Tx offload mask
 
+[ upstream commit 3985ea528a9b74a49af4c8b557b7e145a21692af ]
+
 Following commit updated the Tx offload mask
 commit 1037ed842c37 ("mbuf: fix Tx offload mask").
 
@@ -11,7 +13,6 @@
 prepare function.
 
 Fixes: 1037ed842c37 ("mbuf: fix Tx offload mask")
-Cc: stable@dpdk.org
 
 Signed-off-by: Shahed Shaikh <shahed.shaikh@cavium.com>
 ---
@@ -19,7 +20,7 @@
  1 file changed, 3 insertions(+), 1 deletion(-)
 
 diff --git a/drivers/net/qede/qede_rxtx.h b/drivers/net/qede/qede_rxtx.h
-index 0afadd8da..454daa07b 100644
+index 70e6a1df2..2a0e345b5 100644
 --- a/drivers/net/qede/qede_rxtx.h
 +++ b/drivers/net/qede/qede_rxtx.h
 @@ -150,5 +150,7 @@

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

* [dpdk-stable] patch 'net/ixgbe: fix TDH register write' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (75 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'net/qede: fix Tx offload mask' " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'vhost: fix packed ring constants declaration' " Kevin Traynor
                   ` (9 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Yanglong Wu; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From c17e2a231e0f1605711fca1d9415b1d46bea5747 Mon Sep 17 00:00:00 2001
From: Yanglong Wu <yanglong.wu@intel.com>
Date: Tue, 20 Nov 2018 13:59:21 +0800
Subject: [PATCH] net/ixgbe: fix TDH register write

[ upstream commit ff30a020bb400f04bf64a91416993862f45f9ada ]

The only time that software should write to the TDH register
is after a reset (hardware reset or CTRL.RST) and
before enabling the transmit function (TXDCTL.ENABLE).
If software were to write to this register while the transmit
function was enabled, the on-chip descriptor buffers might
be invalidated and the hardware could become confused.

Fixes: 029fd06d40fa ("ixgbe: queue start and stop")

Signed-off-by: Yanglong Wu <yanglong.wu@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@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 792727353..4bfd2a422 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
@@ -5265,4 +5265,5 @@ ixgbe_dev_tx_queue_start(struct rte_eth_dev *dev, uint16_t tx_queue_id)
 
 	txq = dev->data->tx_queues[tx_queue_id];
+	IXGBE_WRITE_REG(hw, IXGBE_TDH(txq->reg_idx), 0);
 	txdctl = IXGBE_READ_REG(hw, IXGBE_TXDCTL(txq->reg_idx));
 	txdctl |= IXGBE_TXDCTL_ENABLE;
@@ -5282,5 +5283,4 @@ ixgbe_dev_tx_queue_start(struct rte_eth_dev *dev, uint16_t tx_queue_id)
 	}
 	rte_wmb();
-	IXGBE_WRITE_REG(hw, IXGBE_TDH(txq->reg_idx), 0);
 	IXGBE_WRITE_REG(hw, IXGBE_TDT(txq->reg_idx), 0);
 	dev->data->tx_queue_state[tx_queue_id] = RTE_ETH_QUEUE_STATE_STARTED;
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.967718855 +0000
+++ 0077-net-ixgbe-fix-TDH-register-write.patch	2018-11-29 13:11:35.000000000 +0000
@@ -1,8 +1,10 @@
-From ff30a020bb400f04bf64a91416993862f45f9ada Mon Sep 17 00:00:00 2001
+From c17e2a231e0f1605711fca1d9415b1d46bea5747 Mon Sep 17 00:00:00 2001
 From: Yanglong Wu <yanglong.wu@intel.com>
 Date: Tue, 20 Nov 2018 13:59:21 +0800
 Subject: [PATCH] net/ixgbe: fix TDH register write
 
+[ upstream commit ff30a020bb400f04bf64a91416993862f45f9ada ]
+
 The only time that software should write to the TDH register
 is after a reset (hardware reset or CTRL.RST) and
 before enabling the transmit function (TXDCTL.ENABLE).
@@ -11,7 +13,6 @@
 be invalidated and the hardware could become confused.
 
 Fixes: 029fd06d40fa ("ixgbe: queue start and stop")
-Cc: stable@dpdk.org
 
 Signed-off-by: Yanglong Wu <yanglong.wu@intel.com>
 Acked-by: Qi Zhang <qi.z.zhang@intel.com>
@@ -20,7 +21,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
-index 2f0262ae1..ddc7efa87 100644
+index 792727353..4bfd2a422 100644
 --- a/drivers/net/ixgbe/ixgbe_rxtx.c
 +++ b/drivers/net/ixgbe/ixgbe_rxtx.c
 @@ -5265,4 +5265,5 @@ ixgbe_dev_tx_queue_start(struct rte_eth_dev *dev, uint16_t tx_queue_id)

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

* [dpdk-stable] patch 'vhost: fix packed ring constants declaration' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (76 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'net/ixgbe: fix TDH register write' " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'doc: remove old options from pdump guide' " Kevin Traynor
                   ` (8 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Maxime Coquelin; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From ed3f45987250ac5a9c4ff49024e38c218c5e2dcb Mon Sep 17 00:00:00 2001
From: Maxime Coquelin <maxime.coquelin@redhat.com>
Date: Thu, 22 Nov 2018 18:09:22 +0100
Subject: [PATCH] vhost: fix packed ring constants declaration

[ upstream commit 5a12b67e74989f582cfa21bb2129ce838eb18805 ]

The packed ring defines were declared only if kernel
header does not declare them.
The problem is that they are not applied in upstream kernel,
and some changes in the names have been required.

This patch declares the defines unconditionally, which
fixes potential build issues.

Fixes: 297b1e7350f6 ("vhost: add virtio packed virtqueue defines")

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 lib/librte_vhost/vhost.h | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h
index 25ffd7614..9ac607bad 100644
--- a/lib/librte_vhost/vhost.h
+++ b/lib/librte_vhost/vhost.h
@@ -220,11 +220,4 @@ struct vhost_msg {
 #define VIRTIO_F_RING_PACKED 34
 
-#define VRING_DESC_F_NEXT	1
-#define VRING_DESC_F_WRITE	2
-#define VRING_DESC_F_INDIRECT	4
-
-#define VRING_DESC_F_AVAIL	(1ULL << 7)
-#define VRING_DESC_F_USED	(1ULL << 15)
-
 struct vring_packed_desc {
 	uint64_t addr;
@@ -234,14 +227,21 @@ struct vring_packed_desc {
 };
 
+struct vring_packed_desc_event {
+	uint16_t off_wrap;
+	uint16_t flags;
+};
+#endif
+
+/*
+ * Declare below packed ring defines unconditionally
+ * as Kernel header might use different names.
+ */
+#define VRING_DESC_F_AVAIL	(1ULL << 7)
+#define VRING_DESC_F_USED	(1ULL << 15)
+
 #define VRING_EVENT_F_ENABLE 0x0
 #define VRING_EVENT_F_DISABLE 0x1
 #define VRING_EVENT_F_DESC 0x2
 
-struct vring_packed_desc_event {
-	uint16_t off_wrap;
-	uint16_t flags;
-};
-#endif
-
 /*
  * Available and used descs are in same order
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:36.995539140 +0000
+++ 0078-vhost-fix-packed-ring-constants-declaration.patch	2018-11-29 13:11:35.000000000 +0000
@@ -1,8 +1,10 @@
-From 5a12b67e74989f582cfa21bb2129ce838eb18805 Mon Sep 17 00:00:00 2001
+From ed3f45987250ac5a9c4ff49024e38c218c5e2dcb Mon Sep 17 00:00:00 2001
 From: Maxime Coquelin <maxime.coquelin@redhat.com>
 Date: Thu, 22 Nov 2018 18:09:22 +0100
 Subject: [PATCH] vhost: fix packed ring constants declaration
 
+[ upstream commit 5a12b67e74989f582cfa21bb2129ce838eb18805 ]
+
 The packed ring defines were declared only if kernel
 header does not declare them.
 The problem is that they are not applied in upstream kernel,
@@ -12,7 +14,6 @@
 fixes potential build issues.
 
 Fixes: 297b1e7350f6 ("vhost: add virtio packed virtqueue defines")
-Cc: stable@dpdk.org
 
 Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
 ---
@@ -20,7 +21,7 @@
  1 file changed, 13 insertions(+), 13 deletions(-)
 
 diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h
-index 760f42192..5218f1b12 100644
+index 25ffd7614..9ac607bad 100644
 --- a/lib/librte_vhost/vhost.h
 +++ b/lib/librte_vhost/vhost.h
 @@ -220,11 +220,4 @@ struct vhost_msg {

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

* [dpdk-stable] patch 'doc: remove old options from pdump guide' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (77 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'vhost: fix packed ring constants declaration' " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'eal/bsd: fix possible IOPL fd leak' " Kevin Traynor
                   ` (7 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Tiwei Bie; +Cc: Ferruh Yigit, John McNamara, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 60ed3c1d09d5bacc31f1add080ff4e6019d1e771 Mon Sep 17 00:00:00 2001
From: Tiwei Bie <tiwei.bie@intel.com>
Date: Thu, 22 Nov 2018 10:51:38 +0800
Subject: [PATCH] doc: remove old options from pdump guide

[ upstream commit 89745a4ce7fbf3817d0a96e18585079b0d9e60ec ]

The --server-socket-path and --client-socket-path options
have already been removed. So also remove them from the doc
to avoid confusion.

Fixes: 09f4aa2b955f ("app/pdump: remove unused socket path options")

Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
---
 doc/guides/tools/pdump.rst | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/doc/guides/tools/pdump.rst b/doc/guides/tools/pdump.rst
index 5168c81ab..7c2b73e72 100644
--- a/doc/guides/tools/pdump.rst
+++ b/doc/guides/tools/pdump.rst
@@ -43,6 +43,4 @@ The tool has a number of command line options:
                                    [mbuf-size=<mbuf data size>],
                                    [total-num-mbufs=<number of mbufs>]'
-                          [--server-socket-path=<server socket dir>]
-                          [--client-socket-path=<client socket dir>]
 
 The ``--pdump`` command line option is mandatory and it takes various sub arguments which are described in
@@ -57,12 +55,4 @@ below section.
       * Multiple instances of ``--pdump`` can be passed to capture packets on different port and queue combinations.
 
-The ``--server-socket-path`` command line option is optional. This represents the server socket directory.
-If no value is passed default values are used i.e. ``/var/run/.dpdk/`` for root users and ``~/.dpdk/``
-for non root users.
-
-The ``--client-socket-path`` command line option is optional. This represents the client socket directory.
-If no value is passed default values are used i.e. ``/var/run/.dpdk/`` for root users and ``~/.dpdk/``
-for non root users.
-
 
 The ``--pdump`` parameters
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:37.018780155 +0000
+++ 0079-doc-remove-old-options-from-pdump-guide.patch	2018-11-29 13:11:35.000000000 +0000
@@ -1,14 +1,15 @@
-From 89745a4ce7fbf3817d0a96e18585079b0d9e60ec Mon Sep 17 00:00:00 2001
+From 60ed3c1d09d5bacc31f1add080ff4e6019d1e771 Mon Sep 17 00:00:00 2001
 From: Tiwei Bie <tiwei.bie@intel.com>
 Date: Thu, 22 Nov 2018 10:51:38 +0800
 Subject: [PATCH] doc: remove old options from pdump guide
 
+[ upstream commit 89745a4ce7fbf3817d0a96e18585079b0d9e60ec ]
+
 The --server-socket-path and --client-socket-path options
 have already been removed. So also remove them from the doc
 to avoid confusion.
 
 Fixes: 09f4aa2b955f ("app/pdump: remove unused socket path options")
-Cc: stable@dpdk.org
 
 Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
 Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>

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

* [dpdk-stable] patch 'eal/bsd: fix possible IOPL fd leak' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (78 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'doc: remove old options from pdump guide' " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'net/virtio: avoid annoying IOPL error log' " Kevin Traynor
                   ` (6 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Ilya Maximets; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From c98848ffeb72fdeb8f140f17d7ab55da37bac2a5 Mon Sep 17 00:00:00 2001
From: Ilya Maximets <i.maximets@samsung.com>
Date: Fri, 23 Nov 2018 18:39:19 +0300
Subject: [PATCH] eal/bsd: fix possible IOPL fd leak

[ upstream commit 9e8b90fc6de98989583c9468769e5898bf6e9e0d ]

If rte_eal_iopl_init() will be called more than once we'll leak
the file descriptor.

Fixes: b46fe31862ec ("eal/bsd: fix virtio on FreeBSD")

Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 lib/librte_eal/bsdapp/eal/eal.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/librte_eal/bsdapp/eal/eal.c b/lib/librte_eal/bsdapp/eal/eal.c
index d7ae9d686..05ba83db2 100644
--- a/lib/librte_eal/bsdapp/eal/eal.c
+++ b/lib/librte_eal/bsdapp/eal/eal.c
@@ -545,7 +545,9 @@ int
 rte_eal_iopl_init(void)
 {
-	static int fd;
+	static int fd = -1;
+
+	if (fd < 0)
+		fd = open("/dev/io", O_RDWR);
 
-	fd = open("/dev/io", O_RDWR);
 	if (fd < 0)
 		return -1;
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:37.039263697 +0000
+++ 0080-eal-bsd-fix-possible-IOPL-fd-leak.patch	2018-11-29 13:11:35.000000000 +0000
@@ -1,13 +1,14 @@
-From 9e8b90fc6de98989583c9468769e5898bf6e9e0d Mon Sep 17 00:00:00 2001
+From c98848ffeb72fdeb8f140f17d7ab55da37bac2a5 Mon Sep 17 00:00:00 2001
 From: Ilya Maximets <i.maximets@samsung.com>
 Date: Fri, 23 Nov 2018 18:39:19 +0300
 Subject: [PATCH] eal/bsd: fix possible IOPL fd leak
 
+[ upstream commit 9e8b90fc6de98989583c9468769e5898bf6e9e0d ]
+
 If rte_eal_iopl_init() will be called more than once we'll leak
 the file descriptor.
 
 Fixes: b46fe31862ec ("eal/bsd: fix virtio on FreeBSD")
-Cc: stable@dpdk.org
 
 Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
 Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
@@ -16,10 +17,10 @@
  1 file changed, 4 insertions(+), 2 deletions(-)
 
 diff --git a/lib/librte_eal/bsdapp/eal/eal.c b/lib/librte_eal/bsdapp/eal/eal.c
-index 508cbc46f..b8152a75c 100644
+index d7ae9d686..05ba83db2 100644
 --- a/lib/librte_eal/bsdapp/eal/eal.c
 +++ b/lib/librte_eal/bsdapp/eal/eal.c
-@@ -557,7 +557,9 @@ int
+@@ -545,7 +545,9 @@ int
  rte_eal_iopl_init(void)
  {
 -	static int fd;

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

* [dpdk-stable] patch 'net/virtio: avoid annoying IOPL error log' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (79 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'eal/bsd: fix possible IOPL fd leak' " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'bus/pci: fix allocation of device path' " Kevin Traynor
                   ` (5 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Ilya Maximets; +Cc: David Marchand, Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 78a772363801eff514bce37236d0a6006a423dec Mon Sep 17 00:00:00 2001
From: Ilya Maximets <i.maximets@samsung.com>
Date: Fri, 23 Nov 2018 18:39:20 +0300
Subject: [PATCH] net/virtio: avoid annoying IOPL error log

[ upstream commit 705dced4a72a1053368c84c4b68f04f028a78b30 ]

In case of running with not enough capabilities, i.e. running as
non-root user any application linked with DPDK prints the message
about IOPL call failure even if it was just called like
'./testpmd --help'. For example, this breaks most of the OVS unit
tests if it built with DPDK support.

Let's register the virtio driver unconditionally and print error
message while probing the device. Silent iopl() call left in the
constructor to have privileges as early as possible as it was before.

Fixes: 565b85dcd9f4 ("eal: set iopl only when needed")

Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 drivers/net/virtio/virtio_ethdev.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index b8693ff80..e14862a97 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -1764,4 +1764,9 @@ static int eth_virtio_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
 	struct rte_pci_device *pci_dev)
 {
+	if (rte_eal_iopl_init() != 0) {
+		PMD_INIT_LOG(ERR, "IOPL call failed - cannot use virtio PMD");
+		return 1;
+	}
+
 	/* virtio pmd skips probe if device needs to work in vdpa mode */
 	if (vdpa_mode_selected(pci_dev->device.devargs))
@@ -1789,9 +1794,5 @@ static struct rte_pci_driver rte_virtio_pmd = {
 RTE_INIT(rte_virtio_pmd_init)
 {
-	if (rte_eal_iopl_init() != 0) {
-		PMD_INIT_LOG(ERR, "IOPL call failed - cannot use virtio PMD");
-		return;
-	}
-
+	rte_eal_iopl_init();
 	rte_pci_register(&rte_virtio_pmd);
 }
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:37.061915245 +0000
+++ 0081-net-virtio-avoid-annoying-IOPL-error-log.patch	2018-11-29 13:11:35.000000000 +0000
@@ -1,8 +1,10 @@
-From 705dced4a72a1053368c84c4b68f04f028a78b30 Mon Sep 17 00:00:00 2001
+From 78a772363801eff514bce37236d0a6006a423dec Mon Sep 17 00:00:00 2001
 From: Ilya Maximets <i.maximets@samsung.com>
 Date: Fri, 23 Nov 2018 18:39:20 +0300
 Subject: [PATCH] net/virtio: avoid annoying IOPL error log
 
+[ upstream commit 705dced4a72a1053368c84c4b68f04f028a78b30 ]
+
 In case of running with not enough capabilities, i.e. running as
 non-root user any application linked with DPDK prints the message
 about IOPL call failure even if it was just called like
@@ -14,7 +16,6 @@
 constructor to have privileges as early as possible as it was before.
 
 Fixes: 565b85dcd9f4 ("eal: set iopl only when needed")
-Cc: stable@dpdk.org
 
 Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
 Reviewed-by: David Marchand <david.marchand@redhat.com>
@@ -24,10 +25,10 @@
  1 file changed, 6 insertions(+), 5 deletions(-)
 
 diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
-index e1fe36a23..2ba66d291 100644
+index b8693ff80..e14862a97 100644
 --- a/drivers/net/virtio/virtio_ethdev.c
 +++ b/drivers/net/virtio/virtio_ethdev.c
-@@ -1761,4 +1761,9 @@ static int eth_virtio_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
+@@ -1764,4 +1764,9 @@ static int eth_virtio_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
  	struct rte_pci_device *pci_dev)
  {
 +	if (rte_eal_iopl_init() != 0) {
@@ -37,7 +38,7 @@
 +
  	/* virtio pmd skips probe if device needs to work in vdpa mode */
  	if (vdpa_mode_selected(pci_dev->device.devargs))
-@@ -1786,9 +1791,5 @@ static struct rte_pci_driver rte_virtio_pmd = {
+@@ -1789,9 +1794,5 @@ static struct rte_pci_driver rte_virtio_pmd = {
  RTE_INIT(rte_virtio_pmd_init)
  {
 -	if (rte_eal_iopl_init() != 0) {

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

* [dpdk-stable] patch 'bus/pci: fix allocation of device path' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (80 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'net/virtio: avoid annoying IOPL error log' " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'vfio: do not needlessly setup device in secondary process' " Kevin Traynor
                   ` (4 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: Stephen Hemminger, Andrew Rybchenko, Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 10d64262b89b1634e53bb6b56e2b25087bfba81e Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Fri, 23 Nov 2018 00:29:45 +0000
Subject: [PATCH] bus/pci: fix allocation of device path

[ upstream commit d3110b124af64199b0901223c7e0117f7480480f ]

The pci_resource_by_index called strlen() on uninitialized
memory which would lead to the wrong size of memory allocated
for the path portion of the resource map. This would either cause
excessively large allocation, or worse memory corruption.

Coverity issue: 300868
Fixes: ea9d56226e72 ("pci: introduce function to map uio resource by index")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 drivers/bus/pci/linux/pci_uio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/bus/pci/linux/pci_uio.c b/drivers/bus/pci/linux/pci_uio.c
index a7c14421a..09ecbb7aa 100644
--- a/drivers/bus/pci/linux/pci_uio.c
+++ b/drivers/bus/pci/linux/pci_uio.c
@@ -297,5 +297,5 @@ pci_uio_map_resource_by_index(struct rte_pci_device *dev, int res_idx,
 
 	/* allocate memory to keep path */
-	maps[map_idx].path = rte_malloc(NULL, strlen(devname) + 1, 0);
+	maps[map_idx].path = rte_malloc(NULL, sizeof(devname), 0);
 	if (maps[map_idx].path == NULL) {
 		RTE_LOG(ERR, EAL, "Cannot allocate memory for path: %s\n",
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:37.086630963 +0000
+++ 0082-bus-pci-fix-allocation-of-device-path.patch	2018-11-29 13:11:35.000000000 +0000
@@ -1,8 +1,10 @@
-From d3110b124af64199b0901223c7e0117f7480480f Mon Sep 17 00:00:00 2001
+From 10d64262b89b1634e53bb6b56e2b25087bfba81e Mon Sep 17 00:00:00 2001
 From: Ferruh Yigit <ferruh.yigit@intel.com>
 Date: Fri, 23 Nov 2018 00:29:45 +0000
 Subject: [PATCH] bus/pci: fix allocation of device path
 
+[ upstream commit d3110b124af64199b0901223c7e0117f7480480f ]
+
 The pci_resource_by_index called strlen() on uninitialized
 memory which would lead to the wrong size of memory allocated
 for the path portion of the resource map. This would either cause
@@ -10,7 +12,6 @@
 
 Coverity issue: 300868
 Fixes: ea9d56226e72 ("pci: introduce function to map uio resource by index")
-Cc: stable@dpdk.org
 
 Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
 Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>

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

* [dpdk-stable] patch 'vfio: do not needlessly setup device in secondary process' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (81 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'bus/pci: fix allocation of device path' " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'mem: fix division by zero in no-NUMA mode' " Kevin Traynor
                   ` (3 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Darek Stojaczyk; +Cc: Anatoly Burakov, Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 2de3da91ce9120561965583a962fd1fad3793916 Mon Sep 17 00:00:00 2001
From: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Date: Wed, 21 Nov 2018 19:41:32 +0100
Subject: [PATCH] vfio: do not needlessly setup device in secondary process

[ upstream commit 047e3f9f2a4a4b73da86b707af8a32039ba1cad7 ]

Setting up a device that wasn't setup in the primary
process will possibly break the primary process. That's
because the IPC message to retrieve the group fd in the
primary will also *open* that group if it wasn't opened
before. Even though the secondary process closes that fd
soon after as a part of its error handling path, the
primary process leaks it.

What's worse, opening that fd on the primary will
increment the process-local counter of opened groups.
If it was 0 before, then the group will never be added
to the vfio container, nor dpdk memory will be ever
mapped.

This patch moves the proper error checks earlier in the
code to fully prevent setting up devices in secondary
processes that weren't setup in the primary process.

Fixes: 2f4adfad0a69 ("vfio: add multiprocess support")

Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 drivers/bus/pci/linux/pci_vfio.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/bus/pci/linux/pci_vfio.c b/drivers/bus/pci/linux/pci_vfio.c
index 686386d6a..569953666 100644
--- a/drivers/bus/pci/linux/pci_vfio.c
+++ b/drivers/bus/pci/linux/pci_vfio.c
@@ -552,9 +552,4 @@ pci_vfio_map_resource_secondary(struct rte_pci_device *dev)
 			loc->domain, loc->bus, loc->devid, loc->function);
 
-	ret = rte_vfio_setup_device(rte_pci_get_sysfs_path(), pci_addr,
-					&vfio_dev_fd, &device_info);
-	if (ret)
-		return ret;
-
 	/* if we're in a secondary process, just find our tailq entry */
 	TAILQ_FOREACH(vfio_res, vfio_res_list, next) {
@@ -568,7 +563,12 @@ pci_vfio_map_resource_secondary(struct rte_pci_device *dev)
 		RTE_LOG(ERR, EAL, "  %s cannot find TAILQ entry for PCI device!\n",
 				pci_addr);
-		goto err_vfio_dev_fd;
+		return -1;
 	}
 
+	ret = rte_vfio_setup_device(rte_pci_get_sysfs_path(), pci_addr,
+					&vfio_dev_fd, &device_info);
+	if (ret)
+		return ret;
+
 	/* map BARs */
 	maps = vfio_res->maps;
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:37.108612284 +0000
+++ 0083-vfio-do-not-needlessly-setup-device-in-secondary-pro.patch	2018-11-29 13:11:35.000000000 +0000
@@ -1,8 +1,10 @@
-From 047e3f9f2a4a4b73da86b707af8a32039ba1cad7 Mon Sep 17 00:00:00 2001
+From 2de3da91ce9120561965583a962fd1fad3793916 Mon Sep 17 00:00:00 2001
 From: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
 Date: Wed, 21 Nov 2018 19:41:32 +0100
 Subject: [PATCH] vfio: do not needlessly setup device in secondary process
 
+[ upstream commit 047e3f9f2a4a4b73da86b707af8a32039ba1cad7 ]
+
 Setting up a device that wasn't setup in the primary
 process will possibly break the primary process. That's
 because the IPC message to retrieve the group fd in the
@@ -31,10 +33,10 @@
  1 file changed, 6 insertions(+), 6 deletions(-)
 
 diff --git a/drivers/bus/pci/linux/pci_vfio.c b/drivers/bus/pci/linux/pci_vfio.c
-index ffd26f195..54a4c959e 100644
+index 686386d6a..569953666 100644
 --- a/drivers/bus/pci/linux/pci_vfio.c
 +++ b/drivers/bus/pci/linux/pci_vfio.c
-@@ -795,9 +795,4 @@ pci_vfio_map_resource_secondary(struct rte_pci_device *dev)
+@@ -552,9 +552,4 @@ pci_vfio_map_resource_secondary(struct rte_pci_device *dev)
  			loc->domain, loc->bus, loc->devid, loc->function);
  
 -	ret = rte_vfio_setup_device(rte_pci_get_sysfs_path(), pci_addr,
@@ -44,7 +46,7 @@
 -
  	/* if we're in a secondary process, just find our tailq entry */
  	TAILQ_FOREACH(vfio_res, vfio_res_list, next) {
-@@ -811,7 +806,12 @@ pci_vfio_map_resource_secondary(struct rte_pci_device *dev)
+@@ -568,7 +563,12 @@ pci_vfio_map_resource_secondary(struct rte_pci_device *dev)
  		RTE_LOG(ERR, EAL, "  %s cannot find TAILQ entry for PCI device!\n",
  				pci_addr);
 -		goto err_vfio_dev_fd;

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

* [dpdk-stable] patch 'mem: fix division by zero in no-NUMA mode' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (82 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'vfio: do not needlessly setup device in secondary process' " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'fix indentation in symbol maps' " Kevin Traynor
                   ` (2 subsequent siblings)
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Anatoly Burakov; +Cc: David Hunt, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From d8415f93d6971646c60ac3103a768ed971d0d121 Mon Sep 17 00:00:00 2001
From: Anatoly Burakov <anatoly.burakov@intel.com>
Date: Mon, 26 Nov 2018 10:57:03 +0000
Subject: [PATCH] mem: fix division by zero in no-NUMA mode

[ upstream commit e45088b1e1972280427528cc055dfdfdec0ed1c3 ]

When RTE_EAL_NUMA_AWARE_HUGEPAGES is set to "n", not all memtypes
will be valid, because we skip some due to not supporting other
NUMA nodes, leading to a division by zero error down the line
because the necessary memtype fields weren't populated.

Fix it by limiting number of memtypes to number of memtypes we
have actually created.

Fixes: 1dd342d0fdc4 ("mem: improve segment list preallocation")

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Tested-by: David Hunt <david.hunt@intel.com>
---
 lib/librte_eal/linuxapp/eal/eal_memory.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c b/lib/librte_eal/linuxapp/eal/eal_memory.c
index f442dd5ec..069c766ab 100644
--- a/lib/librte_eal/linuxapp/eal/eal_memory.c
+++ b/lib/librte_eal/linuxapp/eal/eal_memory.c
@@ -2178,4 +2178,6 @@ memseg_primary_init(void)
 		}
 	}
+	/* number of memtypes could have been lower due to no NUMA support */
+	n_memtypes = cur_type;
 
 	/* set up limits for types */
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:37.131714763 +0000
+++ 0084-mem-fix-division-by-zero-in-no-NUMA-mode.patch	2018-11-29 13:11:35.000000000 +0000
@@ -1,8 +1,10 @@
-From e45088b1e1972280427528cc055dfdfdec0ed1c3 Mon Sep 17 00:00:00 2001
+From d8415f93d6971646c60ac3103a768ed971d0d121 Mon Sep 17 00:00:00 2001
 From: Anatoly Burakov <anatoly.burakov@intel.com>
 Date: Mon, 26 Nov 2018 10:57:03 +0000
 Subject: [PATCH] mem: fix division by zero in no-NUMA mode
 
+[ upstream commit e45088b1e1972280427528cc055dfdfdec0ed1c3 ]
+
 When RTE_EAL_NUMA_AWARE_HUGEPAGES is set to "n", not all memtypes
 will be valid, because we skip some due to not supporting other
 NUMA nodes, leading to a division by zero error down the line
@@ -12,7 +14,6 @@
 have actually created.
 
 Fixes: 1dd342d0fdc4 ("mem: improve segment list preallocation")
-Cc: stable@dpdk.org
 
 Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
 Tested-by: David Hunt <david.hunt@intel.com>
@@ -21,10 +22,10 @@
  1 file changed, 2 insertions(+)
 
 diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c b/lib/librte_eal/linuxapp/eal/eal_memory.c
-index 6f94621d4..32feb415d 100644
+index f442dd5ec..069c766ab 100644
 --- a/lib/librte_eal/linuxapp/eal/eal_memory.c
 +++ b/lib/librte_eal/linuxapp/eal/eal_memory.c
-@@ -2231,4 +2231,6 @@ memseg_primary_init(void)
+@@ -2178,4 +2178,6 @@ memseg_primary_init(void)
  		}
  	}
 +	/* number of memtypes could have been lower due to no NUMA support */

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

* [dpdk-stable] patch 'fix indentation in symbol maps' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (83 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'mem: fix division by zero in no-NUMA mode' " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'fix dpdk.org URLs' " Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'ethdev: eliminate interim variable' " Kevin Traynor
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: Allain Legacy, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 9fbfdbfb586758a5d652308228a15e2a201c5d92 Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas@monjalon.net>
Date: Mon, 26 Nov 2018 18:03:25 +0100
Subject: [PATCH] fix indentation in symbol maps

[ upstream commit c5f21bdae4650bc168638c7b4a2c789e245ba562 ]

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Allain Legacy <allain.legacy@windriver.com>
---
 drivers/net/avp/rte_pmd_avp_version.map            | 3 +--
 drivers/net/axgbe/rte_pmd_axgbe_version.map        | 3 +--
 drivers/net/bonding/rte_pmd_bond_version.map       | 9 ++++-----
 lib/librte_cfgfile/rte_cfgfile_version.map         | 4 ++--
 lib/librte_compressdev/rte_compressdev_version.map | 4 ++--
 lib/librte_cryptodev/rte_cryptodev_version.map     | 2 +-
 lib/librte_ip_frag/rte_ip_frag_version.map         | 4 ++--
 7 files changed, 13 insertions(+), 16 deletions(-)

diff --git a/drivers/net/avp/rte_pmd_avp_version.map b/drivers/net/avp/rte_pmd_avp_version.map
index af8f3f479..5352e7e3b 100644
--- a/drivers/net/avp/rte_pmd_avp_version.map
+++ b/drivers/net/avp/rte_pmd_avp_version.map
@@ -1,4 +1,3 @@
 DPDK_17.05 {
-
-    local: *;
+	local: *;
 };
diff --git a/drivers/net/axgbe/rte_pmd_axgbe_version.map b/drivers/net/axgbe/rte_pmd_axgbe_version.map
index b26efa67c..de8e412ff 100644
--- a/drivers/net/axgbe/rte_pmd_axgbe_version.map
+++ b/drivers/net/axgbe/rte_pmd_axgbe_version.map
@@ -1,4 +1,3 @@
 DPDK_18.05 {
-
-        local: *;
+	local: *;
 };
diff --git a/drivers/net/bonding/rte_pmd_bond_version.map b/drivers/net/bonding/rte_pmd_bond_version.map
index 03ddb44e7..00d955c48 100644
--- a/drivers/net/bonding/rte_pmd_bond_version.map
+++ b/drivers/net/bonding/rte_pmd_bond_version.map
@@ -47,9 +47,8 @@ DPDK_17.08 {
 	rte_eth_bond_8023ad_dedicated_queues_enable;
 	rte_eth_bond_8023ad_dedicated_queues_disable;
-        rte_eth_bond_8023ad_agg_selection_get;
-        rte_eth_bond_8023ad_agg_selection_set;
-        rte_eth_bond_8023ad_conf_get;
-        rte_eth_bond_8023ad_setup;
-
+	rte_eth_bond_8023ad_agg_selection_get;
+	rte_eth_bond_8023ad_agg_selection_set;
+	rte_eth_bond_8023ad_conf_get;
+	rte_eth_bond_8023ad_setup;
 
 } DPDK_16.07;
diff --git a/lib/librte_cfgfile/rte_cfgfile_version.map b/lib/librte_cfgfile/rte_cfgfile_version.map
index cc4a11f65..a0a11cea8 100644
--- a/lib/librte_cfgfile/rte_cfgfile_version.map
+++ b/lib/librte_cfgfile/rte_cfgfile_version.map
@@ -23,7 +23,7 @@ DPDK_16.04 {
 
 DPDK_17.05 {
-    global:
+	global:
 
-    rte_cfgfile_load_with_params;
+	rte_cfgfile_load_with_params;
 
 } DPDK_16.04;
diff --git a/lib/librte_compressdev/rte_compressdev_version.map b/lib/librte_compressdev/rte_compressdev_version.map
index 6f900b673..9e2d35285 100644
--- a/lib/librte_compressdev/rte_compressdev_version.map
+++ b/lib/librte_compressdev/rte_compressdev_version.map
@@ -1,4 +1,4 @@
 EXPERIMENTAL {
-        global:
+	global:
 
 	rte_compressdev_capability_get;
@@ -36,4 +36,4 @@ EXPERIMENTAL {
 	rte_comp_op_pool_create;
 
-        local: *;
+	local: *;
 };
diff --git a/lib/librte_cryptodev/rte_cryptodev_version.map b/lib/librte_cryptodev/rte_cryptodev_version.map
index 7ca007353..a695b61dc 100644
--- a/lib/librte_cryptodev/rte_cryptodev_version.map
+++ b/lib/librte_cryptodev/rte_cryptodev_version.map
@@ -90,5 +90,5 @@ DPDK_18.05 {
 
 EXPERIMENTAL {
-        global:
+	global:
 
 	rte_cryptodev_asym_capability_get;
diff --git a/lib/librte_ip_frag/rte_ip_frag_version.map b/lib/librte_ip_frag/rte_ip_frag_version.map
index d1acf07cb..5f67b2cb3 100644
--- a/lib/librte_ip_frag/rte_ip_frag_version.map
+++ b/lib/librte_ip_frag/rte_ip_frag_version.map
@@ -14,7 +14,7 @@ DPDK_2.0 {
 
 DPDK_17.08 {
-    global:
+	global:
 
-    rte_ip_frag_table_destroy;
+	rte_ip_frag_table_destroy;
 
 } DPDK_2.0;
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:37.156015053 +0000
+++ 0085-fix-indentation-in-symbol-maps.patch	2018-11-29 13:11:35.000000000 +0000
@@ -1,20 +1,21 @@
-From c5f21bdae4650bc168638c7b4a2c789e245ba562 Mon Sep 17 00:00:00 2001
+From 9fbfdbfb586758a5d652308228a15e2a201c5d92 Mon Sep 17 00:00:00 2001
 From: Thomas Monjalon <thomas@monjalon.net>
 Date: Mon, 26 Nov 2018 18:03:25 +0100
 Subject: [PATCH] fix indentation in symbol maps
 
+[ upstream commit c5f21bdae4650bc168638c7b4a2c789e245ba562 ]
+
 Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
 Acked-by: Allain Legacy <allain.legacy@windriver.com>
 ---
- drivers/net/avp/rte_pmd_avp_version.map         |  3 +--
- drivers/net/axgbe/rte_pmd_axgbe_version.map     |  3 +--
- drivers/net/bonding/rte_pmd_bond_version.map    |  9 ++++-----
- lib/librte_cfgfile/rte_cfgfile_version.map      |  4 ++--
- .../rte_compressdev_version.map                 |  4 ++--
- lib/librte_cryptodev/rte_cryptodev_version.map  |  2 +-
- lib/librte_ip_frag/rte_ip_frag_version.map      |  4 ++--
- lib/librte_power/rte_power_version.map          | 17 ++++++++---------
- 8 files changed, 21 insertions(+), 25 deletions(-)
+ drivers/net/avp/rte_pmd_avp_version.map            | 3 +--
+ drivers/net/axgbe/rte_pmd_axgbe_version.map        | 3 +--
+ drivers/net/bonding/rte_pmd_bond_version.map       | 9 ++++-----
+ lib/librte_cfgfile/rte_cfgfile_version.map         | 4 ++--
+ lib/librte_compressdev/rte_compressdev_version.map | 4 ++--
+ lib/librte_cryptodev/rte_cryptodev_version.map     | 2 +-
+ lib/librte_ip_frag/rte_ip_frag_version.map         | 4 ++--
+ 7 files changed, 13 insertions(+), 16 deletions(-)
 
 diff --git a/drivers/net/avp/rte_pmd_avp_version.map b/drivers/net/avp/rte_pmd_avp_version.map
 index af8f3f479..5352e7e3b 100644
@@ -96,7 +97,7 @@
  
  	rte_cryptodev_asym_capability_get;
 diff --git a/lib/librte_ip_frag/rte_ip_frag_version.map b/lib/librte_ip_frag/rte_ip_frag_version.map
-index d40d5515f..a193007c6 100644
+index d1acf07cb..5f67b2cb3 100644
 --- a/lib/librte_ip_frag/rte_ip_frag_version.map
 +++ b/lib/librte_ip_frag/rte_ip_frag_version.map
 @@ -14,7 +14,7 @@ DPDK_2.0 {
@@ -109,32 +110,6 @@
 +	rte_ip_frag_table_destroy;
  
  } DPDK_2.0;
-diff --git a/lib/librte_power/rte_power_version.map b/lib/librte_power/rte_power_version.map
-index 17a083b2b..042917360 100644
---- a/lib/librte_power/rte_power_version.map
-+++ b/lib/librte_power/rte_power_version.map
-@@ -36,13 +36,12 @@ DPDK_18.08 {
- 
- EXPERIMENTAL {
--        global:
--
--        rte_empty_poll_detection;
--        rte_power_empty_poll_stat_fetch;
--        rte_power_empty_poll_stat_free;
--        rte_power_empty_poll_stat_init;
--        rte_power_empty_poll_stat_update;
--        rte_power_poll_stat_fetch;
--        rte_power_poll_stat_update;
-+	global:
- 
-+	rte_empty_poll_detection;
-+	rte_power_empty_poll_stat_fetch;
-+	rte_power_empty_poll_stat_free;
-+	rte_power_empty_poll_stat_init;
-+	rte_power_empty_poll_stat_update;
-+	rte_power_poll_stat_fetch;
-+	rte_power_poll_stat_update;
- };
 -- 
 2.19.0
 

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

* [dpdk-stable] patch 'fix dpdk.org URLs' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (84 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'fix indentation in symbol maps' " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  2018-11-29 13:21 ` [dpdk-stable] patch 'ethdev: eliminate interim variable' " Kevin Traynor
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: John McNamara, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From ae1e15791379ca36d269d972dc83473b172f00e2 Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas@monjalon.net>
Date: Mon, 26 Nov 2018 18:51:14 +0100
Subject: [PATCH] fix dpdk.org URLs

[ upstream commit 43d162bc168e5c66346acf9f464495a088a5a9f0 ]

The DPDK website has a new URL scheme since June 2018.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: John McNamara <john.mcnamara@intel.com>
---
 app/test-eventdev/test_order_atq.c               |  2 +-
 app/test-eventdev/test_order_queue.c             |  2 +-
 app/test-eventdev/test_perf_atq.c                |  2 +-
 app/test-eventdev/test_perf_queue.c              |  2 +-
 app/test-eventdev/test_pipeline_atq.c            |  2 +-
 app/test-eventdev/test_pipeline_queue.c          |  2 +-
 doc/build-sdk-meson.txt                          |  2 +-
 doc/guides/contributing/documentation.rst        |  4 ++--
 doc/guides/contributing/patches.rst              | 14 +++++++-------
 doc/guides/contributing/stable.rst               |  6 +++---
 doc/guides/cryptodevs/qat.rst                    |  2 +-
 doc/guides/freebsd_gsg/install_from_ports.rst    |  2 +-
 doc/guides/howto/flow_bifurcation.rst            |  2 +-
 doc/guides/linux_gsg/nic_perf_intel_platform.rst |  2 +-
 doc/guides/nics/enic.rst                         |  2 +-
 doc/guides/prog_guide/cryptodev_lib.rst          |  2 +-
 doc/guides/prog_guide/event_timer_adapter.rst    |  4 ++--
 doc/guides/prog_guide/switch_representation.rst  |  4 ++--
 doc/guides/rel_notes/release_18_05.rst           | 10 +++++-----
 doc/guides/tools/testbbdev.rst                   |  3 ++-
 license/exceptions.txt                           |  2 +-
 21 files changed, 37 insertions(+), 36 deletions(-)

diff --git a/app/test-eventdev/test_order_atq.c b/app/test-eventdev/test_order_atq.c
index 35debcfdc..4a8546e7f 100644
--- a/app/test-eventdev/test_order_atq.c
+++ b/app/test-eventdev/test_order_atq.c
@@ -8,5 +8,5 @@
 #include "test_order_common.h"
 
-/* See http://dpdk.org/doc/guides/tools/testeventdev.html for test details */
+/* See http://doc.dpdk.org/guides/tools/testeventdev.html for test details */
 
 static inline __attribute__((always_inline)) void
diff --git a/app/test-eventdev/test_order_queue.c b/app/test-eventdev/test_order_queue.c
index 17f7b9845..a272c7a57 100644
--- a/app/test-eventdev/test_order_queue.c
+++ b/app/test-eventdev/test_order_queue.c
@@ -8,5 +8,5 @@
 #include "test_order_common.h"
 
-/* See http://dpdk.org/doc/guides/tools/testeventdev.html for test details */
+/* See http://doc.dpdk.org/guides/tools/testeventdev.html for test details */
 
 static inline __attribute__((always_inline)) void
diff --git a/app/test-eventdev/test_perf_atq.c b/app/test-eventdev/test_perf_atq.c
index 9715a2ce8..b76ca605b 100644
--- a/app/test-eventdev/test_perf_atq.c
+++ b/app/test-eventdev/test_perf_atq.c
@@ -5,5 +5,5 @@
 #include "test_perf_common.h"
 
-/* See http://dpdk.org/doc/guides/tools/testeventdev.html for test details */
+/* See http://doc.dpdk.org/guides/tools/testeventdev.html for test details */
 
 static inline int
diff --git a/app/test-eventdev/test_perf_queue.c b/app/test-eventdev/test_perf_queue.c
index 04ce94192..8efdec6f9 100644
--- a/app/test-eventdev/test_perf_queue.c
+++ b/app/test-eventdev/test_perf_queue.c
@@ -5,5 +5,5 @@
 #include "test_perf_common.h"
 
-/* See http://dpdk.org/doc/guides/tools/testeventdev.html for test details */
+/* See http://doc.dpdk.org/guides/tools/testeventdev.html for test details */
 
 static inline int
diff --git a/app/test-eventdev/test_pipeline_atq.c b/app/test-eventdev/test_pipeline_atq.c
index f0b2f9015..163b7bb8d 100644
--- a/app/test-eventdev/test_pipeline_atq.c
+++ b/app/test-eventdev/test_pipeline_atq.c
@@ -6,5 +6,5 @@
 #include "test_pipeline_common.h"
 
-/* See http://dpdk.org/doc/guides/tools/testeventdev.html for test details */
+/* See http://doc.dpdk.org/guides/tools/testeventdev.html for test details */
 
 static __rte_always_inline int
diff --git a/app/test-eventdev/test_pipeline_queue.c b/app/test-eventdev/test_pipeline_queue.c
index 2e0d93d99..7157ab520 100644
--- a/app/test-eventdev/test_pipeline_queue.c
+++ b/app/test-eventdev/test_pipeline_queue.c
@@ -6,5 +6,5 @@
 #include "test_pipeline_common.h"
 
-/* See http://dpdk.org/doc/guides/tools/testeventdev.html for test details */
+/* See http://doc.dpdk.org/guides/tools/testeventdev.html for test details */
 
 static __rte_always_inline int
diff --git a/doc/build-sdk-meson.txt b/doc/build-sdk-meson.txt
index de43f8518..66af83334 100644
--- a/doc/build-sdk-meson.txt
+++ b/doc/build-sdk-meson.txt
@@ -5,5 +5,5 @@ NOTE: Compiling and installing DPDK using ``meson`` and ``ninja``, rather
 than using ``make`` (GNU make) is EXPERIMENTAL. Official builds of DPDK
 should always be done using ``make``, as described in the ``Getting Started
-Guide`` documentation, and at "http://dpdk.org/doc/quick-start".
+Guide`` documentation, and at "http://core.dpdk.org/doc/quick-start".
 
 Summary
diff --git a/doc/guides/contributing/documentation.rst b/doc/guides/contributing/documentation.rst
index 6a075553d..94bd96c42 100644
--- a/doc/guides/contributing/documentation.rst
+++ b/doc/guides/contributing/documentation.rst
@@ -84,5 +84,5 @@ added to by the developer.
 
   The API documentation explains how to use the public DPDK functions.
-  The `API index page <http://dpdk.org/doc/api/>`_ shows the generated API documentation with related groups of functions.
+  The `API index page <http://doc.dpdk.org/api/>`_ shows the generated API documentation with related groups of functions.
 
   The API documentation should be updated via Doxygen comments when new functions are added.
@@ -659,5 +659,5 @@ The following are some guidelines for use of Doxygen in the DPDK API documentati
 
   In the API documentation the functions will be rendered as links, see the
-  `online section of the rte_ethdev.h docs <http://dpdk.org/doc/api/rte__ethdev_8h.html>`_ that contains the above text.
+  `online section of the rte_ethdev.h docs <http://doc.dpdk.org/api/rte__ethdev_8h.html>`_ that contains the above text.
 
 * The ``@see`` keyword can be used to create a *see also* link to another file or library.
diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst
index a3d788024..eb30e6911 100644
--- a/doc/guides/contributing/patches.rst
+++ b/doc/guides/contributing/patches.rst
@@ -29,7 +29,7 @@ The DPDK development process has the following features:
 * After the ``-rc2`` release all patches should target the main repository.
 
-The mailing list for DPDK development is `dev@dpdk.org <http://dpdk.org/ml/archives/dev/>`_.
-Contributors will need to `register for the mailing list <http://dpdk.org/ml/listinfo/dev>`_ in order to submit patches.
-It is also worth registering for the DPDK `Patchwork <http://dpdk.org/dev/patchwork/project/dpdk/list/>`_
+The mailing list for DPDK development is `dev@dpdk.org <http://mails.dpdk.org/archives/dev/>`_.
+Contributors will need to `register for the mailing list <http://mails.dpdk.org/listinfo/dev>`_ in order to submit patches.
+It is also worth registering for the DPDK `Patchwork <http://patches.dpdk.org/project/dpdk/list/>`_
 
 The development process requires some familiarity with the ``git`` version control system.
@@ -131,5 +131,5 @@ main repository::
     git clone http://dpdk.org/git/dpdk
 
-sub-repositories (`list <http://dpdk.org/browse/next>`_)::
+sub-repositories (`list <http://git.dpdk.org/next>`_)::
 
     git clone git://dpdk.org/next/dpdk-next-*
@@ -282,5 +282,5 @@ in the body of the commit message. For example::
 
 
-`Bugzilla <https://dpdk.org/tracker>`_
+`Bugzilla <https://bugs.dpdk.org>`_
 is a bug- or issue-tracking system.
 Bug-tracking systems allow individual or groups of developers
@@ -304,5 +304,5 @@ Patch for Stable Releases
 
 All fix patches to the master branch that are candidates for backporting
-should also be CCed to the `stable@dpdk.org <http://dpdk.org/ml/listinfo/stable>`_
+should also be CCed to the `stable@dpdk.org <http://mails.dpdk.org/listinfo/stable>`_
 mailing list.
 In the commit message body the Cc: stable@dpdk.org should be inserted as follows::
@@ -505,5 +505,5 @@ If the patch is in relation to a previous email thread you can add it to the sam
 
 The Message ID can be found in the raw text of emails or at the top of each Patchwork patch,
-`for example <http://dpdk.org/dev/patchwork/patch/7646/>`_.
+`for example <http://patches.dpdk.org/patch/7646/>`_.
 Shallow threading (``--thread --no-chain-reply-to``) is preferred for a patch series.
 
diff --git a/doc/guides/contributing/stable.rst b/doc/guides/contributing/stable.rst
index 1746c0461..2ac4f0a88 100644
--- a/doc/guides/contributing/stable.rst
+++ b/doc/guides/contributing/stable.rst
@@ -97,5 +97,5 @@ list.
 
 All fix patches to the master branch that are candidates for backporting
-should also be CCed to the `stable@dpdk.org <http://dpdk.org/ml/listinfo/stable>`_
+should also be CCed to the `stable@dpdk.org <http://mails.dpdk.org/listinfo/stable>`_
 mailing list.
 
@@ -108,8 +108,8 @@ A Stable Release will be released by:
 * Tagging the release with YY.MM.n (year, month, number).
 * Uploading a tarball of the release to dpdk.org.
-* Sending an announcement to the `announce@dpdk.org <http://dpdk.org/ml/listinfo/announce>`_
+* Sending an announcement to the `announce@dpdk.org <http://mails.dpdk.org/listinfo/announce>`_
   list.
 
-Stable releases are available on the `dpdk.org download page <http://dpdk.org/download>`_.
+Stable releases are available on the `dpdk.org download page <http://core.dpdk.org/download/>`_.
 
 
diff --git a/doc/guides/cryptodevs/qat.rst b/doc/guides/cryptodevs/qat.rst
index c2528bcaa..6fbaaedf7 100644
--- a/doc/guides/cryptodevs/qat.rst
+++ b/doc/guides/cryptodevs/qat.rst
@@ -93,5 +93,5 @@ Building the DPDK QAT cryptodev PMD
 
 To enable QAT crypto in DPDK, follow the instructions for modifying the compile-time
-configuration file as described `here <http://dpdk.org/doc/guides/linux_gsg/build_dpdk.html>`_.
+configuration file as described `here <http://doc.dpdk.org/guides/linux_gsg/build_dpdk.html>`_.
 
 
diff --git a/doc/guides/freebsd_gsg/install_from_ports.rst b/doc/guides/freebsd_gsg/install_from_ports.rst
index d6ce847f6..253328eb1 100644
--- a/doc/guides/freebsd_gsg/install_from_ports.rst
+++ b/doc/guides/freebsd_gsg/install_from_ports.rst
@@ -63,5 +63,5 @@ environmental variables should be set as below:
 
    To install a copy of the DPDK compiled using gcc, please download the
-   official DPDK package from http://dpdk.org/ and install manually using
+   official DPDK package from http://core.dpdk.org/download/ and install manually using
    the instructions given in the next chapter, :ref:`building_from_source`
 
diff --git a/doc/guides/howto/flow_bifurcation.rst b/doc/guides/howto/flow_bifurcation.rst
index bc9a0934d..eabf4d730 100644
--- a/doc/guides/howto/flow_bifurcation.rst
+++ b/doc/guides/howto/flow_bifurcation.rst
@@ -269,3 +269,3 @@ The typical procedure to achieve this is as follows:
 
    * For more details of the configuration, refer to the
-     `cloud filter test plan <http://dpdk.org/browse/tools/dts/tree/test_plans/cloud_filter_test_plan.rst>`_
+     `cloud filter test plan <http://git.dpdk.org/tools/dts/tree/test_plans/cloud_filter_test_plan.rst>`_
diff --git a/doc/guides/linux_gsg/nic_perf_intel_platform.rst b/doc/guides/linux_gsg/nic_perf_intel_platform.rst
index 987cd0a5a..cf5c9e0db 100644
--- a/doc/guides/linux_gsg/nic_perf_intel_platform.rst
+++ b/doc/guides/linux_gsg/nic_perf_intel_platform.rst
@@ -65,5 +65,5 @@ Network Interface Card Requirements
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Use a `DPDK supported <http://dpdk.org/doc/nics>`_ high end NIC such as the Intel XL710 40GbE.
+Use a `DPDK supported <http://core.dpdk.org/supported/>`_ high end NIC such as the Intel XL710 40GbE.
 
 Make sure each NIC has been flashed the latest version of NVM/firmware.
diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst
index 438a83d5f..08395097b 100644
--- a/doc/guides/nics/enic.rst
+++ b/doc/guides/nics/enic.rst
@@ -15,5 +15,5 @@ How to obtain ENIC PMD integrated DPDK
 
 ENIC PMD support is integrated into the DPDK suite. dpdk-<version>.tar.gz
-should be downloaded from http://dpdk.org
+should be downloaded from http://core.dpdk.org/download/
 
 
diff --git a/doc/guides/prog_guide/cryptodev_lib.rst b/doc/guides/prog_guide/cryptodev_lib.rst
index 90d01e936..8ee33c875 100644
--- a/doc/guides/prog_guide/cryptodev_lib.rst
+++ b/doc/guides/prog_guide/cryptodev_lib.rst
@@ -1044,3 +1044,3 @@ Asymmetric Crypto Device API
 
 The cryptodev Library API is described in the
-`DPDK API Reference <http://dpdk.org/doc/api/>`_
+`DPDK API Reference <http://doc.dpdk.org/api/>`_
diff --git a/doc/guides/prog_guide/event_timer_adapter.rst b/doc/guides/prog_guide/event_timer_adapter.rst
index 7bbbdfe90..3b4446ee9 100644
--- a/doc/guides/prog_guide/event_timer_adapter.rst
+++ b/doc/guides/prog_guide/event_timer_adapter.rst
@@ -6,5 +6,5 @@ Event Timer Adapter Library
 
 The DPDK
-`Event Device library <http://dpdk.org/doc/guides/prog_guide/eventdev.html>`_
+`Event Device library <http://doc.dpdk.org/guides/prog_guide/eventdev.html>`_
 introduces an event driven programming model which presents applications with
 an alternative to the polling model traditionally used in DPDK
@@ -22,5 +22,5 @@ software implementations of the timer mechanism; it will query an eventdev PMD
 to determine which implementation should be used.  The default software
 implementation manages timers using the DPDK
-`Timer library <http://dpdk.org/doc/guides/prog_guide/timer_lib.html>`_.
+`Timer library <http://doc.dpdk.org/guides/prog_guide/timer_lib.html>`_.
 
 Examples of using the API are presented in the `API Overview`_ and
diff --git a/doc/guides/prog_guide/switch_representation.rst b/doc/guides/prog_guide/switch_representation.rst
index f5ee516f6..e5c78c234 100644
--- a/doc/guides/prog_guide/switch_representation.rst
+++ b/doc/guides/prog_guide/switch_representation.rst
@@ -350,5 +350,5 @@ implement them. This is described in `flow API (rte_flow)`_.
 
 .. [6] `Generic flow API (rte_flow)
-       <http://dpdk.org/doc/guides/prog_guide/rte_flow.html>`_
+       <http://doc.dpdk.org/guides/prog_guide/rte_flow.html>`_
 
 Flow API (rte_flow)
@@ -738,5 +738,5 @@ are based on port representors **A**, **B** and **C**.
 
 .. [2] `Flow syntax
-    <http://dpdk.org/doc/guides/testpmd_app_ug/testpmd_funcs.html#flow-syntax>`_
+    <http://doc.dpdk.org/guides/testpmd_app_ug/testpmd_funcs.html#flow-syntax>`_
 
 Associating VF 1 with Physical Port 0
diff --git a/doc/guides/rel_notes/release_18_05.rst b/doc/guides/rel_notes/release_18_05.rst
index 8dc22b011..3413d8de1 100644
--- a/doc/guides/rel_notes/release_18_05.rst
+++ b/doc/guides/rel_notes/release_18_05.rst
@@ -595,5 +595,5 @@ Known Issues
   in the Bugzilla entry referenced below.
 
-  Bugzilla entry: https://dpdk.org/tracker/show_bug.cgi?id=50
+  Bugzilla entry: https://bugs.dpdk.org/show_bug.cgi?id=50
 
 * **pdump is not compatible with old applications.**
@@ -620,5 +620,5 @@ Known Issues
   can also be made persistent by adding ``kern.coredump=0`` to ``/etc/sysctl.conf``.
 
-  Bugzilla entry: https://dpdk.org/tracker/show_bug.cgi?id=53
+  Bugzilla entry: https://bugs.dpdk.org/show_bug.cgi?id=53
 
 * **ixgbe PMD crash on hotplug detach when no VF created.**
@@ -627,5 +627,5 @@ Known Issues
   cleanup when number of VF is zero.
 
-  Bugzilla entry: https://dpdk.org/tracker/show_bug.cgi?id=57
+  Bugzilla entry: https://bugs.dpdk.org/show_bug.cgi?id=57
 
 * **Bonding PMD may fail to accept new slave ports in certain conditions.**
@@ -634,5 +634,5 @@ Known Issues
   bonding may fail to register new slave ports.
 
-  Bugzilla entry: https://dpdk.org/tracker/show_bug.cgi?id=52.
+  Bugzilla entry: https://bugs.dpdk.org/show_bug.cgi?id=52.
 
 * **Unexpected performance regression in Vhost library.**
@@ -642,5 +642,5 @@ Known Issues
   when running micro-benchmarks.
 
-  Bugzilla entry: https://dpdk.org/tracker/show_bug.cgi?id=48
+  Bugzilla entry: https://bugs.dpdk.org/show_bug.cgi?id=48
 
 
diff --git a/doc/guides/tools/testbbdev.rst b/doc/guides/tools/testbbdev.rst
index 234a64f53..5caa90239 100644
--- a/doc/guides/tools/testbbdev.rst
+++ b/doc/guides/tools/testbbdev.rst
@@ -63,5 +63,6 @@ The following are the command-line options:
 ``-e EAL_PARAMS, --eal_params EAL_PARAMS``
  Specifies EAL arguments which are passed to the test app. For more details,
- refer to DPDK documentation at http://dpdk.org/doc.
+ refer to DPDK documentation at
+ http://doc.dpdk.org/guides/linux_gsg/linux_eal_parameters.html.
 
 ``-t TIMEOUT, --timeout TIMEOUT``
diff --git a/license/exceptions.txt b/license/exceptions.txt
index f2ef03706..f1cfa462f 100644
--- a/license/exceptions.txt
+++ b/license/exceptions.txt
@@ -2,5 +2,5 @@ This file will record any exceptions in DPDK Project with respect to DPDK
 IP License policy as defined in DPDK Charter available at:
 
-	http://dpdk.org/about/charter#ip
+	https://www.dpdk.org/charter/
 
 Note that following licenses are not exceptions:-
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:37.179526108 +0000
+++ 0086-fix-dpdk.org-URLs.patch	2018-11-29 13:11:35.000000000 +0000
@@ -1,11 +1,11 @@
-From 43d162bc168e5c66346acf9f464495a088a5a9f0 Mon Sep 17 00:00:00 2001
+From ae1e15791379ca36d269d972dc83473b172f00e2 Mon Sep 17 00:00:00 2001
 From: Thomas Monjalon <thomas@monjalon.net>
 Date: Mon, 26 Nov 2018 18:51:14 +0100
 Subject: [PATCH] fix dpdk.org URLs
 
-The DPDK website has a new URL scheme since June 2018.
+[ upstream commit 43d162bc168e5c66346acf9f464495a088a5a9f0 ]
 
-Cc: stable@dpdk.org
+The DPDK website has a new URL scheme since June 2018.
 
 Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
 Acked-by: John McNamara <john.mcnamara@intel.com>
@@ -20,7 +20,7 @@
  doc/guides/contributing/documentation.rst        |  4 ++--
  doc/guides/contributing/patches.rst              | 14 +++++++-------
  doc/guides/contributing/stable.rst               |  6 +++---
- doc/guides/cryptodevs/qat.rst                    |  4 ++--
+ doc/guides/cryptodevs/qat.rst                    |  2 +-
  doc/guides/freebsd_gsg/install_from_ports.rst    |  2 +-
  doc/guides/howto/flow_bifurcation.rst            |  2 +-
  doc/guides/linux_gsg/nic_perf_intel_platform.rst |  2 +-
@@ -31,7 +31,7 @@
  doc/guides/rel_notes/release_18_05.rst           | 10 +++++-----
  doc/guides/tools/testbbdev.rst                   |  3 ++-
  license/exceptions.txt                           |  2 +-
- 21 files changed, 38 insertions(+), 37 deletions(-)
+ 21 files changed, 37 insertions(+), 36 deletions(-)
 
 diff --git a/app/test-eventdev/test_order_atq.c b/app/test-eventdev/test_order_atq.c
 index 35debcfdc..4a8546e7f 100644
@@ -78,7 +78,7 @@
  
  static inline int
 diff --git a/app/test-eventdev/test_pipeline_atq.c b/app/test-eventdev/test_pipeline_atq.c
-index c60635bf6..fc4cb3bb7 100644
+index f0b2f9015..163b7bb8d 100644
 --- a/app/test-eventdev/test_pipeline_atq.c
 +++ b/app/test-eventdev/test_pipeline_atq.c
 @@ -6,5 +6,5 @@
@@ -89,7 +89,7 @@
  
  static __rte_always_inline int
 diff --git a/app/test-eventdev/test_pipeline_queue.c b/app/test-eventdev/test_pipeline_queue.c
-index 25217008c..e35e9eb4c 100644
+index 2e0d93d99..7157ab520 100644
 --- a/app/test-eventdev/test_pipeline_queue.c
 +++ b/app/test-eventdev/test_pipeline_queue.c
 @@ -6,5 +6,5 @@
@@ -100,7 +100,7 @@
  
  static __rte_always_inline int
 diff --git a/doc/build-sdk-meson.txt b/doc/build-sdk-meson.txt
-index a4dd09194..29a8bd387 100644
+index de43f8518..66af83334 100644
 --- a/doc/build-sdk-meson.txt
 +++ b/doc/build-sdk-meson.txt
 @@ -5,5 +5,5 @@ NOTE: Compiling and installing DPDK using ``meson`` and ``ninja``, rather
@@ -111,7 +111,7 @@
  
  Summary
 diff --git a/doc/guides/contributing/documentation.rst b/doc/guides/contributing/documentation.rst
-index 0165990ed..c28a95c34 100644
+index 6a075553d..94bd96c42 100644
 --- a/doc/guides/contributing/documentation.rst
 +++ b/doc/guides/contributing/documentation.rst
 @@ -84,5 +84,5 @@ added to by the developer.
@@ -121,7 +121,7 @@
 +  The `API index page <http://doc.dpdk.org/api/>`_ shows the generated API documentation with related groups of functions.
  
    The API documentation should be updated via Doxygen comments when new functions are added.
-@@ -654,5 +654,5 @@ The following are some guidelines for use of Doxygen in the DPDK API documentati
+@@ -659,5 +659,5 @@ The following are some guidelines for use of Doxygen in the DPDK API documentati
  
    In the API documentation the functions will be rendered as links, see the
 -  `online section of the rte_ethdev.h docs <http://dpdk.org/doc/api/rte__ethdev_8h.html>`_ that contains the above text.
@@ -129,7 +129,7 @@
  
  * The ``@see`` keyword can be used to create a *see also* link to another file or library.
 diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst
-index ffeb50436..a64bb0368 100644
+index a3d788024..eb30e6911 100644
 --- a/doc/guides/contributing/patches.rst
 +++ b/doc/guides/contributing/patches.rst
 @@ -29,7 +29,7 @@ The DPDK development process has the following features:
@@ -150,21 +150,21 @@
 +sub-repositories (`list <http://git.dpdk.org/next>`_)::
  
      git clone git://dpdk.org/next/dpdk-next-*
-@@ -287,5 +287,5 @@ in the body of the commit message. For example::
+@@ -282,5 +282,5 @@ in the body of the commit message. For example::
  
  
 -`Bugzilla <https://dpdk.org/tracker>`_
 +`Bugzilla <https://bugs.dpdk.org>`_
  is a bug- or issue-tracking system.
  Bug-tracking systems allow individual or groups of developers
-@@ -309,5 +309,5 @@ Patch for Stable Releases
+@@ -304,5 +304,5 @@ Patch for Stable Releases
  
  All fix patches to the master branch that are candidates for backporting
 -should also be CCed to the `stable@dpdk.org <http://dpdk.org/ml/listinfo/stable>`_
 +should also be CCed to the `stable@dpdk.org <http://mails.dpdk.org/listinfo/stable>`_
  mailing list.
  In the commit message body the Cc: stable@dpdk.org should be inserted as follows::
-@@ -510,5 +510,5 @@ If the patch is in relation to a previous email thread you can add it to the sam
+@@ -505,5 +505,5 @@ If the patch is in relation to a previous email thread you can add it to the sam
  
  The Message ID can be found in the raw text of emails or at the top of each Patchwork patch,
 -`for example <http://dpdk.org/dev/patchwork/patch/7646/>`_.
@@ -194,21 +194,14 @@
  
  
 diff --git a/doc/guides/cryptodevs/qat.rst b/doc/guides/cryptodevs/qat.rst
-index 1db98685a..9fb9f01d1 100644
+index c2528bcaa..6fbaaedf7 100644
 --- a/doc/guides/cryptodevs/qat.rst
 +++ b/doc/guides/cryptodevs/qat.rst
-@@ -8,5 +8,5 @@ QAT documentation consists of three parts:
+@@ -93,5 +93,5 @@ Building the DPDK QAT cryptodev PMD
  
- * Details of the symmetric crypto service below.
--* Details of the `compression service <http://dpdk.org/doc/guides/compressdevs/qat_comp.html>`_
-+* Details of the `compression service <http://doc.dpdk.org/guides/compressdevs/qat_comp.html>`_
-   in the compressdev drivers section.
- * Details of building the common QAT infrastructure and the PMDs to support the
-@@ -125,5 +125,5 @@ Configuring and Building the DPDK QAT PMDs
- 
- Further information on configuring, building and installing DPDK is described
--`here <http://dpdk.org/doc/guides/linux_gsg/build_dpdk.html>`_.
-+`here <http://doc.dpdk.org/guides/linux_gsg/build_dpdk.html>`_.
+ To enable QAT crypto in DPDK, follow the instructions for modifying the compile-time
+-configuration file as described `here <http://dpdk.org/doc/guides/linux_gsg/build_dpdk.html>`_.
++configuration file as described `here <http://doc.dpdk.org/guides/linux_gsg/build_dpdk.html>`_.
  
  
 diff --git a/doc/guides/freebsd_gsg/install_from_ports.rst b/doc/guides/freebsd_gsg/install_from_ports.rst
@@ -243,7 +236,7 @@
  
  Make sure each NIC has been flashed the latest version of NVM/firmware.
 diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst
-index 746d89123..bc38f51aa 100644
+index 438a83d5f..08395097b 100644
 --- a/doc/guides/nics/enic.rst
 +++ b/doc/guides/nics/enic.rst
 @@ -15,5 +15,5 @@ How to obtain ENIC PMD integrated DPDK

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

* [dpdk-stable] patch 'ethdev: eliminate interim variable' has been queued to stable release 18.08.1
  2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
                   ` (85 preceding siblings ...)
  2018-11-29 13:21 ` [dpdk-stable] patch 'fix dpdk.org URLs' " Kevin Traynor
@ 2018-11-29 13:21 ` Kevin Traynor
  86 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:21 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Andrew Rybchenko, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/08/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From e2e9e2f24918125b531f81a8d9782fa3b289057f Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Tue, 13 Nov 2018 11:12:38 +0000
Subject: [PATCH] ethdev: eliminate interim variable

[ upstream commit 68b931bff2872044258ffa16030ac83eb9fbd6b0 ]

`local_conf` variable was needed for offload conversions but no more
required. No functional difference, only interim variable eliminated.

Fixes: ab3ce1e0c193 ("ethdev: remove old offload API")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
 lib/librte_ethdev/rte_ethdev.c | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
index 196b27c95..84e868c31 100644
--- a/lib/librte_ethdev/rte_ethdev.c
+++ b/lib/librte_ethdev/rte_ethdev.c
@@ -1021,5 +1021,4 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 	struct rte_eth_dev_info dev_info;
 	struct rte_eth_conf orig_conf;
-	struct rte_eth_conf local_conf = *dev_conf;
 	int diag;
 	int ret;
@@ -1046,5 +1045,5 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 	 * rte_eth_dev_info_get() requires dev_conf, copy it before dev_info get
 	 */
-	memcpy(&dev->data->dev_conf, &local_conf, sizeof(dev->data->dev_conf));
+	memcpy(&dev->data->dev_conf, dev_conf, sizeof(dev->data->dev_conf));
 
 	rte_eth_dev_info_get(port_id, &dev_info);
@@ -1120,5 +1119,5 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 	 * length is supported by the configured device.
 	 */
-	if (local_conf.rxmode.offloads & DEV_RX_OFFLOAD_JUMBO_FRAME) {
+	if (dev_conf->rxmode.offloads & DEV_RX_OFFLOAD_JUMBO_FRAME) {
 		if (dev_conf->rxmode.max_rx_pkt_len > dev_info.max_rx_pktlen) {
 			RTE_ETHDEV_LOG(ERR,
@@ -1145,10 +1144,10 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 
 	/* Any requested offloading must be within its device capabilities */
-	if ((local_conf.rxmode.offloads & dev_info.rx_offload_capa) !=
-	     local_conf.rxmode.offloads) {
+	if ((dev_conf->rxmode.offloads & dev_info.rx_offload_capa) !=
+	     dev_conf->rxmode.offloads) {
 		RTE_ETHDEV_LOG(ERR,
 			"Ethdev port_id=%u requested Rx offloads 0x%"PRIx64" doesn't match Rx offloads "
 			"capabilities 0x%"PRIx64" in %s()\n",
-			port_id, local_conf.rxmode.offloads,
+			port_id, dev_conf->rxmode.offloads,
 			dev_info.rx_offload_capa,
 			__func__);
@@ -1156,10 +1155,10 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 		goto rollback;
 	}
-	if ((local_conf.txmode.offloads & dev_info.tx_offload_capa) !=
-	     local_conf.txmode.offloads) {
+	if ((dev_conf->txmode.offloads & dev_info.tx_offload_capa) !=
+	     dev_conf->txmode.offloads) {
 		RTE_ETHDEV_LOG(ERR,
 			"Ethdev port_id=%u requested Tx offloads 0x%"PRIx64" doesn't match Tx offloads "
 			"capabilities 0x%"PRIx64" in %s()\n",
-			port_id, local_conf.txmode.offloads,
+			port_id, dev_conf->txmode.offloads,
 			dev_info.tx_offload_capa,
 			__func__);
@@ -1168,6 +1167,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 	}
 
-	if ((local_conf.rxmode.offloads & DEV_RX_OFFLOAD_CRC_STRIP) &&
-			(local_conf.rxmode.offloads & DEV_RX_OFFLOAD_KEEP_CRC)) {
+	if ((dev_conf->rxmode.offloads & DEV_RX_OFFLOAD_CRC_STRIP) &&
+			(dev_conf->rxmode.offloads & DEV_RX_OFFLOAD_KEEP_CRC)) {
 		RTE_ETHDEV_LOG(ERR,
 			"Port id=%u not allowed to set both CRC STRIP and KEEP CRC offload flags\n",
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-29 13:11:37.216273129 +0000
+++ 0087-ethdev-eliminate-interim-variable.patch	2018-11-29 13:11:35.000000000 +0000
@@ -1,45 +1,46 @@
-From 68b931bff2872044258ffa16030ac83eb9fbd6b0 Mon Sep 17 00:00:00 2001
+From e2e9e2f24918125b531f81a8d9782fa3b289057f Mon Sep 17 00:00:00 2001
 From: Ferruh Yigit <ferruh.yigit@intel.com>
 Date: Tue, 13 Nov 2018 11:12:38 +0000
 Subject: [PATCH] ethdev: eliminate interim variable
 
+[ upstream commit 68b931bff2872044258ffa16030ac83eb9fbd6b0 ]
+
 `local_conf` variable was needed for offload conversions but no more
 required. No functional difference, only interim variable eliminated.
 
 Fixes: ab3ce1e0c193 ("ethdev: remove old offload API")
-Cc: stable@dpdk.org
 
 Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
 Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
 ---
- lib/librte_ethdev/rte_ethdev.c | 17 ++++++++---------
- 1 file changed, 8 insertions(+), 9 deletions(-)
+ lib/librte_ethdev/rte_ethdev.c | 21 ++++++++++-----------
+ 1 file changed, 10 insertions(+), 11 deletions(-)
 
 diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
-index 0f01138ea..5f858174b 100644
+index 196b27c95..84e868c31 100644
 --- a/lib/librte_ethdev/rte_ethdev.c
 +++ b/lib/librte_ethdev/rte_ethdev.c
-@@ -1094,5 +1094,4 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
+@@ -1021,5 +1021,4 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
  	struct rte_eth_dev_info dev_info;
  	struct rte_eth_conf orig_conf;
 -	struct rte_eth_conf local_conf = *dev_conf;
  	int diag;
  	int ret;
-@@ -1119,5 +1118,5 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
+@@ -1046,5 +1045,5 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
  	 * rte_eth_dev_info_get() requires dev_conf, copy it before dev_info get
  	 */
 -	memcpy(&dev->data->dev_conf, &local_conf, sizeof(dev->data->dev_conf));
 +	memcpy(&dev->data->dev_conf, dev_conf, sizeof(dev->data->dev_conf));
  
  	rte_eth_dev_info_get(port_id, &dev_info);
-@@ -1193,5 +1192,5 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
+@@ -1120,5 +1119,5 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
  	 * length is supported by the configured device.
  	 */
 -	if (local_conf.rxmode.offloads & DEV_RX_OFFLOAD_JUMBO_FRAME) {
 +	if (dev_conf->rxmode.offloads & DEV_RX_OFFLOAD_JUMBO_FRAME) {
  		if (dev_conf->rxmode.max_rx_pkt_len > dev_info.max_rx_pktlen) {
  			RTE_ETHDEV_LOG(ERR,
-@@ -1218,10 +1217,10 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
+@@ -1145,10 +1144,10 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
  
  	/* Any requested offloading must be within its device capabilities */
 -	if ((local_conf.rxmode.offloads & dev_info.rx_offload_capa) !=
@@ -53,7 +54,7 @@
 +			port_id, dev_conf->rxmode.offloads,
  			dev_info.rx_offload_capa,
  			__func__);
-@@ -1229,10 +1228,10 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
+@@ -1156,10 +1155,10 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
  		goto rollback;
  	}
 -	if ((local_conf.txmode.offloads & dev_info.tx_offload_capa) !=
@@ -67,6 +68,15 @@
 +			port_id, dev_conf->txmode.offloads,
  			dev_info.tx_offload_capa,
  			__func__);
+@@ -1168,6 +1167,6 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
+ 	}
+ 
+-	if ((local_conf.rxmode.offloads & DEV_RX_OFFLOAD_CRC_STRIP) &&
+-			(local_conf.rxmode.offloads & DEV_RX_OFFLOAD_KEEP_CRC)) {
++	if ((dev_conf->rxmode.offloads & DEV_RX_OFFLOAD_CRC_STRIP) &&
++			(dev_conf->rxmode.offloads & DEV_RX_OFFLOAD_KEEP_CRC)) {
+ 		RTE_ETHDEV_LOG(ERR,
+ 			"Port id=%u not allowed to set both CRC STRIP and KEEP CRC offload flags\n",
 -- 
 2.19.0
 

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

* Re: [dpdk-stable] patch 'net/i40e: fix Rx instability with vector mode' has been queued to stable release 18.08.1
  2018-11-29 13:20 ` [dpdk-stable] patch 'net/i40e: fix Rx instability with vector mode' " Kevin Traynor
@ 2018-11-29 13:30   ` Kevin Traynor
  0 siblings, 0 replies; 92+ messages in thread
From: Kevin Traynor @ 2018-11-29 13:30 UTC (permalink / raw)
  To: Beilei Xing; +Cc: Konstantin Ananyev, dpdk stable

On 11/29/2018 01:20 PM, Kevin Traynor wrote:
> Hi,
> 
> FYI, your patch has been queued to stable release 18.08.1
> 
> Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
> It will be pushed if I get no objections before 12/08/18. So please
> shout if anyone has objections.
> 
> Also note that after the patch there's a diff of the upstream commit vs the patch applied
> to the branch. If the code is different (ie: not only metadata diffs), due for example to
> a change in context or macro names, please double check it.
> 

Hi, this is a resend to stable - previous version had a conflict in the
docs because of context.

> Thanks.
> 
> Kevin Traynor
> 
> ---
> From 710f8e2bcf60798ad1d7236d2609a50491c599a4 Mon Sep 17 00:00:00 2001
> From: Beilei Xing <beilei.xing@intel.com>
> Date: Mon, 5 Nov 2018 11:18:12 +0800
> Subject: [PATCH] net/i40e: fix Rx instability with vector mode
> 
> [ upstream commit 054d1be48cc114c5d3bf87c7ebdf46703876e8d5 ]
> 
> Previously, there is instability during vector Rx if descriptor
> number is not power of 2, e.g. process hang and some Rx packets
> are unexpectedly empty. That's because vector Rx mode assumes Rx
> descriptor number is power of 2 when doing bit mask.
> This patch allows vector mode only when the number of Rx descriptor
> is power of 2.
> 
> Fixes: 8e109464c022 ("i40e: allow vector Rx and Tx usage")
> Fixes: a3c83a2527e1 ("net/i40e: enable runtime queue setup")
> 
> Signed-off-by: Beilei Xing <beilei.xing@intel.com>
> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
> ---
>  doc/guides/nics/i40e.rst                |  7 +++++
>  drivers/net/i40e/i40e_rxtx.c            |  5 ++++
>  drivers/net/i40e/i40e_rxtx_vec_common.h | 38 +++++++++++++++++++++++++
>  3 files changed, 50 insertions(+)
> 
> diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
> index 65d87f869..643756dcd 100644
> --- a/doc/guides/nics/i40e.rst
> +++ b/doc/guides/nics/i40e.rst
> @@ -164,4 +164,11 @@ Runtime Config Options
>    representors must be specified on the creation of the PF.
>  
> +Vector RX Pre-conditions
> +~~~~~~~~~~~~~~~~~~~~~~~~
> +For Vector RX it is assumed that the number of descriptor rings will be a power
> +of 2. With this pre-condition, the ring pointer can easily scroll back to the
> +head after hitting the tail without a conditional check. In addition Vector RX
> +can use this assumption to do a bit mask using ``ring_size - 1``.
> +
>  Driver compilation and testing
>  ------------------------------
> diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
> index 26c2f17bd..e0d53d022 100644
> --- a/drivers/net/i40e/i40e_rxtx.c
> +++ b/drivers/net/i40e/i40e_rxtx.c
> @@ -1741,4 +1741,9 @@ i40e_dev_rx_queue_setup_runtime(struct rte_eth_dev *dev,
>  		i40e_set_rx_function(dev);
>  		return 0;
> +	} else if (ad->rx_vec_allowed && !rte_is_power_of_2(rxq->nb_rx_desc)) {
> +		PMD_DRV_LOG(ERR, "Vector mode is allowed, but descriptor"
> +			    " number %d of queue %d isn't power of 2",
> +			    rxq->nb_rx_desc, rxq->queue_id);
> +		return -EINVAL;
>  	}
>  
> diff --git a/drivers/net/i40e/i40e_rxtx_vec_common.h b/drivers/net/i40e/i40e_rxtx_vec_common.h
> index 63cb17742..ccaffef99 100644
> --- a/drivers/net/i40e/i40e_rxtx_vec_common.h
> +++ b/drivers/net/i40e/i40e_rxtx_vec_common.h
> @@ -193,6 +193,11 @@ i40e_rx_vec_dev_conf_condition_check_default(struct rte_eth_dev *dev)
>  {
>  #ifndef RTE_LIBRTE_IEEE1588
> +	struct i40e_adapter *ad =
> +		I40E_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
>  	struct rte_eth_rxmode *rxmode = &dev->data->dev_conf.rxmode;
>  	struct rte_fdir_conf *fconf = &dev->data->dev_conf.fdir_conf;
> +	struct i40e_rx_queue *rxq;
> +	uint16_t desc, i;
> +	bool first_queue;
>  
>  	/* no fdir support */
> @@ -210,4 +215,37 @@ i40e_rx_vec_dev_conf_condition_check_default(struct rte_eth_dev *dev)
>  		return -1;
>  
> +	/**
> +	 * Vector mode is allowed only when number of Rx queue
> +	 * descriptor is power of 2.
> +	 */
> +	if (!dev->data->dev_started) {
> +		first_queue = true;
> +		for (i = 0; i < dev->data->nb_rx_queues; i++) {
> +			rxq = dev->data->rx_queues[i];
> +			if (!rxq)
> +				continue;
> +			desc = rxq->nb_rx_desc;
> +			if (first_queue)
> +				ad->rx_vec_allowed =
> +					rte_is_power_of_2(desc);
> +			else
> +				ad->rx_vec_allowed =
> +					ad->rx_vec_allowed ?
> +					rte_is_power_of_2(desc) :
> +					ad->rx_vec_allowed;
> +			first_queue = false;
> +		}
> +	} else {
> +		/* Only check the first queue's descriptor number */
> +		for (i = 0; i < dev->data->nb_rx_queues; i++) {
> +			rxq = dev->data->rx_queues[i];
> +			if (!rxq)
> +				continue;
> +			desc = rxq->nb_rx_desc;
> +			ad->rx_vec_allowed = rte_is_power_of_2(desc);
> +			break;
> +		}
> +	}
> +
>  	return 0;
>  #else
> 

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

* Re: [dpdk-stable] patch 'devtools: fix regex in symbol addition check' has been queued to stable release 18.08.1
  2018-11-29 13:21 ` [dpdk-stable] patch 'devtools: fix regex in symbol addition check' " Kevin Traynor
@ 2018-11-30 13:55   ` Neil Horman
  2018-11-30 20:36     ` Kevin Traynor
  0 siblings, 1 reply; 92+ messages in thread
From: Neil Horman @ 2018-11-30 13:55 UTC (permalink / raw)
  To: Kevin Traynor; +Cc: Cody Doucette, dpdk stable

On Thu, Nov 29, 2018 at 01:21:02PM +0000, Kevin Traynor wrote:
> Hi,
> 
> FYI, your patch has been queued to stable release 18.08.1
> 
> Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
> It will be pushed if I get no objections before 12/08/18. So please
> shout if anyone has objections.
> 
Sounds good, thanks

> Also note that after the patch there's a diff of the upstream commit vs the patch applied
> to the branch. If the code is different (ie: not only metadata diffs), due for example to
> a change in context or macro names, please double check it.
> 
I'm not sure what you mean by this.  Why are you not just cherry picking commit
5a5f4676eb93fa410b56df060a6d0c7603469f81 from the unstable tree?

Neil

> Thanks.
> 
> Kevin Traynor
> 
> ---
> From 947cfe55d758c6012761bc5c06a44dc6e531540d Mon Sep 17 00:00:00 2001
> From: Neil Horman <nhorman@tuxdriver.com>
> Date: Thu, 1 Nov 2018 09:54:10 -0400
> Subject: [PATCH] devtools: fix regex in symbol addition check
> 
> [ upstream commit 5a5f4676eb93fa410b56df060a6d0c7603469f81 ]
> 
> The regex to determine the end of the map file chunk in a patch seems to
> be wrong,  It was using perl regex syntax, which awk doesn't appear to
> support (I'm still not sure how it was working previously).  Regardless,
> it wasn't triggering and as a result symbols were getting added to the
> mapdb that shouldn't be there.
> 
> Fix it by converting the regex to use traditional posix syntax, matching
> only on the negation of the character class [^map]
> 
> Tested and shown to be working on the ip_frag patch set provided by
> doucette@bu.edu
> 
> Fixes: 4bec48184e33 ("devtools: add checks for ABI symbol addition")
> 
> Reported-by: Cody Doucette <doucette@bu.edu>
> Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
> ---
>  devtools/check-symbol-change.sh | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/devtools/check-symbol-change.sh b/devtools/check-symbol-change.sh
> index cf9cfc745..9fb214dc0 100755
> --- a/devtools/check-symbol-change.sh
> +++ b/devtools/check-symbol-change.sh
> @@ -24,5 +24,5 @@ build_map_changes()
>  		# When we hit this, turn off the in_map variable, which
>  		# supresses the subordonate rules below
> -		/[-+] a\/.*\.^(map)/ {in_map=0}
> +		/[-+] a\/.*\.[^map]/ {in_map=0}
>  
>  		# Triggering this rule, which starts a line and ends it
> @@ -154,5 +154,4 @@ build_map_changes "$patch" "$mapfile"
>  check_for_rule_violations "$mapfile"
>  exit_code=$?
> -
>  rm -f "$mapfile"
>  
> -- 
> 2.19.0
> 
> ---
>   Diff of the applied patch vs upstream commit (please double-check if non-empty:
> ---
> --- -	2018-11-29 13:11:36.603235041 +0000
> +++ 0061-devtools-fix-regex-in-symbol-addition-check.patch	2018-11-29 13:11:34.000000000 +0000
> @@ -1,8 +1,10 @@
> -From 5a5f4676eb93fa410b56df060a6d0c7603469f81 Mon Sep 17 00:00:00 2001
> +From 947cfe55d758c6012761bc5c06a44dc6e531540d Mon Sep 17 00:00:00 2001
>  From: Neil Horman <nhorman@tuxdriver.com>
>  Date: Thu, 1 Nov 2018 09:54:10 -0400
>  Subject: [PATCH] devtools: fix regex in symbol addition check
>  
> +[ upstream commit 5a5f4676eb93fa410b56df060a6d0c7603469f81 ]
> +
>  The regex to determine the end of the map file chunk in a patch seems to
>  be wrong,  It was using perl regex syntax, which awk doesn't appear to
>  support (I'm still not sure how it was working previously).  Regardless,
> @@ -16,7 +18,6 @@
>  doucette@bu.edu
>  
>  Fixes: 4bec48184e33 ("devtools: add checks for ABI symbol addition")
> -Cc: stable@dpdk.org
>  
>  Reported-by: Cody Doucette <doucette@bu.edu>
>  Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
> @@ -25,7 +26,7 @@
>   1 file changed, 1 insertion(+), 2 deletions(-)
>  
>  diff --git a/devtools/check-symbol-change.sh b/devtools/check-symbol-change.sh
> -index c0d2a6da1..1d21e9165 100755
> +index cf9cfc745..9fb214dc0 100755
>  --- a/devtools/check-symbol-change.sh
>  +++ b/devtools/check-symbol-change.sh
>  @@ -24,5 +24,5 @@ build_map_changes()
> 

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

* Re: [dpdk-stable] patch 'devtools: fix regex in symbol addition check' has been queued to stable release 18.08.1
  2018-11-30 13:55   ` Neil Horman
@ 2018-11-30 20:36     ` Kevin Traynor
  2018-12-01 19:13       ` Neil Horman
  0 siblings, 1 reply; 92+ messages in thread
From: Kevin Traynor @ 2018-11-30 20:36 UTC (permalink / raw)
  To: Neil Horman; +Cc: Cody Doucette, dpdk stable

On 11/30/2018 01:55 PM, Neil Horman wrote:
> On Thu, Nov 29, 2018 at 01:21:02PM +0000, Kevin Traynor wrote:
>> Hi,
>>
>> FYI, your patch has been queued to stable release 18.08.1
>>
>> Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
>> It will be pushed if I get no objections before 12/08/18. So please
>> shout if anyone has objections.
>>
> Sounds good, thanks
> 
>> Also note that after the patch there's a diff of the upstream commit vs the patch applied
>> to the branch. If the code is different (ie: not only metadata diffs), due for example to
>> a change in context or macro names, please double check it.
>>
> I'm not sure what you mean by this.  Why are you not just cherry picking commit
> 5a5f4676eb93fa410b56df060a6d0c7603469f81 from the unstable tree?
> 

Hi Neil, it's just a way of flagging to authors for cases where the
patch did not apply on stable and had to be modified. In that case, it
is requesting the author to check that the changes are correct. In this
and most cases, it can backport to stable with no modifications.

Kevin.

> Neil
> 
>> Thanks.
>>
>> Kevin Traynor
>>
>> ---
>> From 947cfe55d758c6012761bc5c06a44dc6e531540d Mon Sep 17 00:00:00 2001
>> From: Neil Horman <nhorman@tuxdriver.com>
>> Date: Thu, 1 Nov 2018 09:54:10 -0400
>> Subject: [PATCH] devtools: fix regex in symbol addition check
>>
>> [ upstream commit 5a5f4676eb93fa410b56df060a6d0c7603469f81 ]
>>
>> The regex to determine the end of the map file chunk in a patch seems to
>> be wrong,  It was using perl regex syntax, which awk doesn't appear to
>> support (I'm still not sure how it was working previously).  Regardless,
>> it wasn't triggering and as a result symbols were getting added to the
>> mapdb that shouldn't be there.
>>
>> Fix it by converting the regex to use traditional posix syntax, matching
>> only on the negation of the character class [^map]
>>
>> Tested and shown to be working on the ip_frag patch set provided by
>> doucette@bu.edu
>>
>> Fixes: 4bec48184e33 ("devtools: add checks for ABI symbol addition")
>>
>> Reported-by: Cody Doucette <doucette@bu.edu>
>> Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
>> ---
>>  devtools/check-symbol-change.sh | 3 +--
>>  1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/devtools/check-symbol-change.sh b/devtools/check-symbol-change.sh
>> index cf9cfc745..9fb214dc0 100755
>> --- a/devtools/check-symbol-change.sh
>> +++ b/devtools/check-symbol-change.sh
>> @@ -24,5 +24,5 @@ build_map_changes()
>>  		# When we hit this, turn off the in_map variable, which
>>  		# supresses the subordonate rules below
>> -		/[-+] a\/.*\.^(map)/ {in_map=0}
>> +		/[-+] a\/.*\.[^map]/ {in_map=0}
>>  
>>  		# Triggering this rule, which starts a line and ends it
>> @@ -154,5 +154,4 @@ build_map_changes "$patch" "$mapfile"
>>  check_for_rule_violations "$mapfile"
>>  exit_code=$?
>> -
>>  rm -f "$mapfile"
>>  
>> -- 
>> 2.19.0
>>
>> ---
>>   Diff of the applied patch vs upstream commit (please double-check if non-empty:
>> ---
>> --- -	2018-11-29 13:11:36.603235041 <sip:36603235041> +0000
>> +++ 0061-devtools-fix-regex-in-symbol-addition-check.patch	2018-11-29 13:11:34.000000000 <sip:34000000000> +0000
>> @@ -1,8 +1,10 @@
>> -From 5a5f4676eb93fa410b56df060a6d0c7603469f81 Mon Sep 17 00:00:00 2001
>> +From 947cfe55d758c6012761bc5c06a44dc6e531540d Mon Sep 17 00:00:00 2001
>>  From: Neil Horman <nhorman@tuxdriver.com>
>>  Date: Thu, 1 Nov 2018 09:54:10 -0400
>>  Subject: [PATCH] devtools: fix regex in symbol addition check
>>  
>> +[ upstream commit 5a5f4676eb93fa410b56df060a6d0c7603469f81 ]
>> +
>>  The regex to determine the end of the map file chunk in a patch seems to
>>  be wrong,  It was using perl regex syntax, which awk doesn't appear to
>>  support (I'm still not sure how it was working previously).  Regardless,
>> @@ -16,7 +18,6 @@
>>  doucette@bu.edu
>>  
>>  Fixes: 4bec48184e33 ("devtools: add checks for ABI symbol addition")
>> -Cc: stable@dpdk.org
>>  
>>  Reported-by: Cody Doucette <doucette@bu.edu>
>>  Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
>> @@ -25,7 +26,7 @@
>>   1 file changed, 1 insertion(+), 2 deletions(-)
>>  
>>  diff --git a/devtools/check-symbol-change.sh b/devtools/check-symbol-change.sh
>> -index c0d2a6da1..1d21e9165 100755
>> +index cf9cfc745..9fb214dc0 100755
>>  --- a/devtools/check-symbol-change.sh
>>  +++ b/devtools/check-symbol-change.sh
>>  @@ -24,5 +24,5 @@ build_map_changes()
>>

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

* Re: [dpdk-stable] patch 'devtools: fix regex in symbol addition check' has been queued to stable release 18.08.1
  2018-11-30 20:36     ` Kevin Traynor
@ 2018-12-01 19:13       ` Neil Horman
  0 siblings, 0 replies; 92+ messages in thread
From: Neil Horman @ 2018-12-01 19:13 UTC (permalink / raw)
  To: Kevin Traynor; +Cc: Cody Doucette, dpdk stable

On Fri, Nov 30, 2018 at 08:36:25PM +0000, Kevin Traynor wrote:
> On 11/30/2018 01:55 PM, Neil Horman wrote:
> > On Thu, Nov 29, 2018 at 01:21:02PM +0000, Kevin Traynor wrote:
> >> Hi,
> >>
> >> FYI, your patch has been queued to stable release 18.08.1
> >>
> >> Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
> >> It will be pushed if I get no objections before 12/08/18. So please
> >> shout if anyone has objections.
> >>
> > Sounds good, thanks
> > 
> >> Also note that after the patch there's a diff of the upstream commit vs the patch applied
> >> to the branch. If the code is different (ie: not only metadata diffs), due for example to
> >> a change in context or macro names, please double check it.
> >>
> > I'm not sure what you mean by this.  Why are you not just cherry picking commit
> > 5a5f4676eb93fa410b56df060a6d0c7603469f81 from the unstable tree?
> > 
> 
> Hi Neil, it's just a way of flagging to authors for cases where the
> patch did not apply on stable and had to be modified. In that case, it
> is requesting the author to check that the changes are correct. In this
> and most cases, it can backport to stable with no modifications.
> 
> Kevin.
> 
> > Neil
> > 
> >> Thanks.
> >>
> >> Kevin Traynor
> >>
> >> ---
> >> From 947cfe55d758c6012761bc5c06a44dc6e531540d Mon Sep 17 00:00:00 2001
> >> From: Neil Horman <nhorman@tuxdriver.com>
> >> Date: Thu, 1 Nov 2018 09:54:10 -0400
> >> Subject: [PATCH] devtools: fix regex in symbol addition check
> >>
> >> [ upstream commit 5a5f4676eb93fa410b56df060a6d0c7603469f81 ]
> >>
> >> The regex to determine the end of the map file chunk in a patch seems to
> >> be wrong,  It was using perl regex syntax, which awk doesn't appear to
> >> support (I'm still not sure how it was working previously).  Regardless,
> >> it wasn't triggering and as a result symbols were getting added to the
> >> mapdb that shouldn't be there.
> >>
> >> Fix it by converting the regex to use traditional posix syntax, matching
> >> only on the negation of the character class [^map]
> >>
> >> Tested and shown to be working on the ip_frag patch set provided by
> >> doucette@bu.edu
> >>
> >> Fixes: 4bec48184e33 ("devtools: add checks for ABI symbol addition")
> >>
> >> Reported-by: Cody Doucette <doucette@bu.edu>
> >> Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
> >> ---
> >>  devtools/check-symbol-change.sh | 3 +--
> >>  1 file changed, 1 insertion(+), 2 deletions(-)
> >>
> >> diff --git a/devtools/check-symbol-change.sh b/devtools/check-symbol-change.sh
> >> index cf9cfc745..9fb214dc0 100755
> >> --- a/devtools/check-symbol-change.sh
> >> +++ b/devtools/check-symbol-change.sh
> >> @@ -24,5 +24,5 @@ build_map_changes()
> >>  		# When we hit this, turn off the in_map variable, which
> >>  		# supresses the subordonate rules below
> >> -		/[-+] a\/.*\.^(map)/ {in_map=0}
> >> +		/[-+] a\/.*\.[^map]/ {in_map=0}
> >>  
> >>  		# Triggering this rule, which starts a line and ends it
> >> @@ -154,5 +154,4 @@ build_map_changes "$patch" "$mapfile"
> >>  check_for_rule_violations "$mapfile"
> >>  exit_code=$?
> >> -
> >>  rm -f "$mapfile"
> >>  
> >> -- 
> >> 2.19.0
> >>
> >> ---
> >>   Diff of the applied patch vs upstream commit (please double-check if non-empty:
> >> ---
> >> --- -	2018-11-29 13:11:36.603235041 <sip:36603235041> +0000
> >> +++ 0061-devtools-fix-regex-in-symbol-addition-check.patch	2018-11-29 13:11:34.000000000 <sip:34000000000> +0000
> >> @@ -1,8 +1,10 @@
> >> -From 5a5f4676eb93fa410b56df060a6d0c7603469f81 Mon Sep 17 00:00:00 2001
> >> +From 947cfe55d758c6012761bc5c06a44dc6e531540d Mon Sep 17 00:00:00 2001
> >>  From: Neil Horman <nhorman@tuxdriver.com>
> >>  Date: Thu, 1 Nov 2018 09:54:10 -0400
> >>  Subject: [PATCH] devtools: fix regex in symbol addition check
> >>  
> >> +[ upstream commit 5a5f4676eb93fa410b56df060a6d0c7603469f81 ]
> >> +
> >>  The regex to determine the end of the map file chunk in a patch seems to
> >>  be wrong,  It was using perl regex syntax, which awk doesn't appear to
> >>  support (I'm still not sure how it was working previously).  Regardless,
> >> @@ -16,7 +18,6 @@
> >>  doucette@bu.edu
> >>  
> >>  Fixes: 4bec48184e33 ("devtools: add checks for ABI symbol addition")
> >> -Cc: stable@dpdk.org
> >>  
> >>  Reported-by: Cody Doucette <doucette@bu.edu>
> >>  Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
> >> @@ -25,7 +26,7 @@
> >>   1 file changed, 1 insertion(+), 2 deletions(-)
> >>  
> >>  diff --git a/devtools/check-symbol-change.sh b/devtools/check-symbol-change.sh
> >> -index c0d2a6da1..1d21e9165 100755
> >> +index cf9cfc745..9fb214dc0 100755
> >>  --- a/devtools/check-symbol-change.sh
> >>  +++ b/devtools/check-symbol-change.sh
> >>  @@ -24,5 +24,5 @@ build_map_changes()
> >>
> 
> 
Ah, apologies.  Yes, your adaptations are good to go, thanks!
Neil

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

end of thread, other threads:[~2018-12-01 19:14 UTC | newest]

Thread overview: 92+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-29 13:20 [dpdk-stable] patch 'app/testpmd: fix port status for new bonded devices' has been queued to stable release 18.08.1 Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/i40e: fix Rx instability with vector mode' " Kevin Traynor
2018-11-29 13:30   ` Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/vmxnet3: fix hot-unplug' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/e1000/base: fix uninitialized variable' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/ixgbe: stop link setup alarm handler before start' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/cxgbevf: add PCI uninitialization for VF' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/cxgbe: check Rx config before doing VLAN strip offload' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/cxgbe: fix check for redefined match items' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/cxgbe: increase completion wait time for flow operations' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/cxgbe: fix wrong ingress port value set in filter spec' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/thunderx: fix Tx desc corruption in scatter-gather mode' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'vhost: fix IOVA access for packed ring' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/virtio-user: fix typo in error message' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'vhost/crypto: fix packet copy in chaining mode' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/virtio: fix unchecked return value' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'vhost: remove unneeded null pointer check' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/bnx2x: fix dynamic logging' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/bnx2x: fix VF link state update' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/bonding: fix crash when stopping mode 4 port' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: fallback quietly if pkg-config is unavailable' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/qede: fix crash when configure fails' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'app/testpmd: fix L4 length for UDP checksum' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/octeontx: fix mbuf corruption with large private sizes' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/qede: fix Tx tunnel offload support mask' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'ethdev: fix invalid configuration after failure' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'ethdev: fix device info getting' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/sfc/base: fix field order in filter spec struct' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/enic: fix size check in Tx prepare handler' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/ixgbevf: fix link state' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'app/testpmd: fix memory leak for TM object' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'app/testpmd: fix memory allocation for DSCP table' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'crypto/ccp: fix resource leak' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'crypto/aesni_mb: fix queue pair free' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'examples/l3fwd-power: fix power library fallback' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'test/power: fix ACPI cpufreq module miss " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'test/kni: fix " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'test/reorder: fix out of bound access' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'malloc: fix adjacency check to also include segment list' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'build: set -mfpu=neon flag for armv7-a with meson' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'efd: fix write unlock during ring creation' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/i40e: fix X710 Rx after reading some registers' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/ixgbe: fix maximum wait time in comment' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx4: fix minor typo' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: fix minor typos' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx4: fix initialization of struct members' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx4: optimize Tx external memory registration' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: optimize Tx doorbell write' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: optimize Rx buffer replenishment threshold' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/mlx5: fix packet type for MPLS in UDP' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/ena: fix cleaning HW IO rings configuration' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/octeontx: fix failures when available ports > queues' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/avf: fix Tx offload mask' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'net/bonding: fix possible silent failure in configuration' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'app/testpmd: fix memory leak for DSCP table' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'app/pdump: fix port id storage size' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'examples/ipv4_multicast: fix leak of cloned packets' " Kevin Traynor
2018-11-29 13:20 ` [dpdk-stable] patch 'test: fix interrupt check' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'test/power: skip KVM autotest if cannot run' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'test: release ring resources after PMD perf test' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'devtools: fix regex in symbol addition check' " Kevin Traynor
2018-11-30 13:55   ` Neil Horman
2018-11-30 20:36     ` Kevin Traynor
2018-12-01 19:13       ` Neil Horman
2018-11-29 13:21 ` [dpdk-stable] patch 'usertools: check for lspci dependency' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'doc: fix DESTDIR variable name in meson guide' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'doc: fix NUMA library name in Linux " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'doc: add cross-compilation in sample apps " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'doc: fix formatting in IP reassembly app " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'doc: fix function name in flow filtering " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'ipc: fix access after async request failure' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'eal: fix build with -O1' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'kni: fix possible uninitialized variable' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'net/mlx4: " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'eventdev: fix unlock in Rx adapter' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'config: enable more than 128 cores for arm64' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'net/i40e/base: fix comment referencing internal data' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'net/ena: fix out of order completion' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'net/qede: fix Tx offload mask' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'net/ixgbe: fix TDH register write' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'vhost: fix packed ring constants declaration' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'doc: remove old options from pdump guide' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'eal/bsd: fix possible IOPL fd leak' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'net/virtio: avoid annoying IOPL error log' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'bus/pci: fix allocation of device path' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'vfio: do not needlessly setup device in secondary process' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'mem: fix division by zero in no-NUMA mode' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'fix indentation in symbol maps' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'fix dpdk.org URLs' " Kevin Traynor
2018-11-29 13:21 ` [dpdk-stable] patch 'ethdev: eliminate interim variable' " Kevin Traynor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).