patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1
@ 2017-05-25  9:47 Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'crypto/scheduler: fix include of local headers' " Yuanhan Liu
                   ` (155 more replies)
  0 siblings, 156 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Ben Walker; +Cc: Yuanhan Liu, Shreyansh Jain, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 9859523c4285e13dbb291948ce6cc3fa17a270dc Mon Sep 17 00:00:00 2001
From: Ben Walker <benjamin.walker@intel.com>
Date: Tue, 21 Mar 2017 11:32:15 -0700
Subject: [PATCH] pci: fix device registration on FreeBSD

[ upstream commit 24a535796824049fab8570d0b29e658470375876 ]

The FreeBSD implementation wasn't registering new devices
with the device framework on start up. However, common
code attempts to unregister them on shutdown which causes
a SEGFAULT. This fix makes the FreeBSD code do the same
thing as the Linux code for registration.

Fixes: 13a1317d3ba7 ("pci: create device list and fallback on its members")

Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
---
 lib/librte_eal/bsdapp/eal/eal_pci.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/librte_eal/bsdapp/eal/eal_pci.c b/lib/librte_eal/bsdapp/eal/eal_pci.c
index 3a5c315..16a1743 100644
--- a/lib/librte_eal/bsdapp/eal/eal_pci.c
+++ b/lib/librte_eal/bsdapp/eal/eal_pci.c
@@ -314,6 +314,7 @@ pci_scan_one(int dev_pci_fd, struct pci_conf *conf)
 
 	/* device is valid, add in list (sorted) */
 	if (TAILQ_EMPTY(&pci_device_list)) {
+		rte_eal_device_insert(&dev->device);
 		TAILQ_INSERT_TAIL(&pci_device_list, dev, next);
 	}
 	else {
@@ -326,7 +327,7 @@ pci_scan_one(int dev_pci_fd, struct pci_conf *conf)
 				continue;
 			else if (ret < 0) {
 				TAILQ_INSERT_BEFORE(dev2, dev, next);
-				return 0;
+				rte_eal_device_insert(&dev->device);
 			} else { /* already registered */
 				dev2->kdrv = dev->kdrv;
 				dev2->max_vfs = dev->max_vfs;
@@ -334,9 +335,10 @@ pci_scan_one(int dev_pci_fd, struct pci_conf *conf)
 					dev->mem_resource,
 					sizeof(dev->mem_resource));
 				free(dev);
-				return 0;
 			}
+			return 0;
 		}
+		rte_eal_device_insert(&dev->device);
 		TAILQ_INSERT_TAIL(&pci_device_list, dev, next);
 	}
 
-- 
1.9.0

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

* [dpdk-stable] patch 'crypto/scheduler: fix include of local headers' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'kni: fix build with kernel 4.11' " Yuanhan Liu
                   ` (154 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From bb57d217da5f7bbb74d098ffb05a4baf2e7e54d3 Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Tue, 28 Mar 2017 11:58:16 +0100
Subject: [PATCH] crypto/scheduler: fix include of local headers

[ upstream commit b88161be422750fca0e66c76385d3d00912ba8fb ]

When a C file for a library/driver is including the public header files for
that library, those need to be included as local includes using quotes
rather than angle-brackets. Without doing so, parallel builds can fail, as
the compiler will only look for those headers in the global include folder
rather than locally, and the build system does not enforce that the headers
for a lib are installed before the rest of the lib is compiled.

Fixes: 097ab0bac017 ("crypto/scheduler: add API")
Fixes: 503e9c5afb38 ("crypto/scheduler: register as vdev driver")
Fixes: 31439ee72b2c ("crypto/scheduler: add API implementations")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/crypto/scheduler/rte_cryptodev_scheduler.c | 2 +-
 drivers/crypto/scheduler/rte_cryptodev_scheduler.h | 2 +-
 drivers/crypto/scheduler/scheduler_pmd.c           | 2 +-
 drivers/crypto/scheduler/scheduler_pmd_private.h   | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/crypto/scheduler/rte_cryptodev_scheduler.c b/drivers/crypto/scheduler/rte_cryptodev_scheduler.c
index 11e8143..2f49ad4 100644
--- a/drivers/crypto/scheduler/rte_cryptodev_scheduler.c
+++ b/drivers/crypto/scheduler/rte_cryptodev_scheduler.c
@@ -32,9 +32,9 @@
 #include <rte_reorder.h>
 #include <rte_cryptodev.h>
 #include <rte_cryptodev_pmd.h>
-#include <rte_cryptodev_scheduler.h>
 #include <rte_malloc.h>
 
+#include "rte_cryptodev_scheduler.h"
 #include "scheduler_pmd_private.h"
 
 /** update the scheduler pmd's capability with attaching device's
diff --git a/drivers/crypto/scheduler/rte_cryptodev_scheduler.h b/drivers/crypto/scheduler/rte_cryptodev_scheduler.h
index 7ef44e7..98ab8f2 100644
--- a/drivers/crypto/scheduler/rte_cryptodev_scheduler.h
+++ b/drivers/crypto/scheduler/rte_cryptodev_scheduler.h
@@ -34,7 +34,7 @@
 #ifndef _RTE_CRYPTO_SCHEDULER_H
 #define _RTE_CRYPTO_SCHEDULER_H
 
-#include <rte_cryptodev_scheduler_operations.h>
+#include "rte_cryptodev_scheduler_operations.h"
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/drivers/crypto/scheduler/scheduler_pmd.c b/drivers/crypto/scheduler/scheduler_pmd.c
index eeafbe6..7efdc91 100644
--- a/drivers/crypto/scheduler/scheduler_pmd.c
+++ b/drivers/crypto/scheduler/scheduler_pmd.c
@@ -37,8 +37,8 @@
 #include <rte_malloc.h>
 #include <rte_cpuflags.h>
 #include <rte_reorder.h>
-#include <rte_cryptodev_scheduler.h>
 
+#include "rte_cryptodev_scheduler.h"
 #include "scheduler_pmd_private.h"
 
 struct scheduler_init_params {
diff --git a/drivers/crypto/scheduler/scheduler_pmd_private.h b/drivers/crypto/scheduler/scheduler_pmd_private.h
index ac4690e..9a1409c 100644
--- a/drivers/crypto/scheduler/scheduler_pmd_private.h
+++ b/drivers/crypto/scheduler/scheduler_pmd_private.h
@@ -36,7 +36,7 @@
 
 #include <rte_hash.h>
 #include <rte_reorder.h>
-#include <rte_cryptodev_scheduler.h>
+#include "rte_cryptodev_scheduler.h"
 
 /**< Maximum number of bonded devices per devices */
 #ifndef MAX_SLAVES_NUM
-- 
1.9.0

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

* [dpdk-stable] patch 'kni: fix build with kernel 4.11' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'crypto/scheduler: fix include of local headers' " Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'vfio: fix disabling INTx' " Yuanhan Liu
                   ` (153 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Yuanhan Liu, Jerin Jacob, Pankaj Gupta, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From e4837ecefbefdfce7839589a3bf352b3f0ea849a Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Tue, 21 Mar 2017 09:54:48 +0000
Subject: [PATCH] kni: fix build with kernel 4.11
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit d4d2380cbb02980bf0334601d9ce6ec5400413f9 ]

compile error:
.../build/build/lib/librte_eal/linuxapp/kni/kni_net.c:124:6:
error: implicit declaration of function ‘signal_pending’
[-Werror=implicit-function-declaration]
  if (signal_pending(current) || ret_val <= 0) {
      ^~~~~~~~~~~~~~

Linux 4.11 moves signal function declarations to its own header file:
Linux: 174cd4b1e5fb ("sched/headers: Prepare to move signal wakeup &
sigpending methods from <linux/sched.h> into <linux/sched/signal.h>")

Use new header file "linux/sched/signal.h" to fix the build error.

Reported-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Tested-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Tested-by: Pankaj Gupta <pagupta@redhat.com>
---
 lib/librte_eal/linuxapp/kni/compat.h  | 6 ++++++
 lib/librte_eal/linuxapp/kni/kni_dev.h | 6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/lib/librte_eal/linuxapp/kni/compat.h b/lib/librte_eal/linuxapp/kni/compat.h
index 78da08e..d96275a 100644
--- a/lib/librte_eal/linuxapp/kni/compat.h
+++ b/lib/librte_eal/linuxapp/kni/compat.h
@@ -2,6 +2,8 @@
  * Minimal wrappers to allow compiling kni on older kernels.
  */
 
+#include <linux/version.h>
+
 #ifndef RHEL_RELEASE_VERSION
 #define RHEL_RELEASE_VERSION(a, b) (((a) << 8) + (b))
 #endif
@@ -67,3 +69,7 @@
 	(LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)))
 #undef NET_NAME_UNKNOWN
 #endif
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
+#define HAVE_SIGNAL_FUNCTIONS_OWN_HEADER
+#endif
diff --git a/lib/librte_eal/linuxapp/kni/kni_dev.h b/lib/librte_eal/linuxapp/kni/kni_dev.h
index 58cbadd..f0f6e61 100644
--- a/lib/librte_eal/linuxapp/kni/kni_dev.h
+++ b/lib/librte_eal/linuxapp/kni/kni_dev.h
@@ -30,9 +30,15 @@
 #endif
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 
+#include "compat.h"
+
 #include <linux/if.h>
 #include <linux/wait.h>
+#ifdef HAVE_SIGNAL_FUNCTIONS_OWN_HEADER
+#include <linux/sched/signal.h>
+#else
 #include <linux/sched.h>
+#endif
 #include <linux/netdevice.h>
 #include <linux/spinlock.h>
 #include <linux/list.h>
-- 
1.9.0

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

* [dpdk-stable] patch 'vfio: fix disabling INTx' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'crypto/scheduler: fix include of local headers' " Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'kni: fix build with kernel 4.11' " Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'mempool: fix crash when handler not found' " Yuanhan Liu
                   ` (152 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Nikhil Rao; +Cc: Yuanhan Liu, Anatoly Burakov, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 9c5d70346c94da81ee56814e147dee1afd40fd2d Mon Sep 17 00:00:00 2001
From: Nikhil Rao <nikhil.rao@intel.com>
Date: Wed, 29 Mar 2017 05:24:07 +0530
Subject: [PATCH] vfio: fix disabling INTx

[ upstream commit bb7927fd2179d7482de58d87352ecc50c69da427 ]

The flags member of irq_set should be ORed with VFIO_IRQ_SET_ACTION_MASK
and not VFIO_IRQ_SET_ACTION_UNMASK. The bug was found by code inspection.

Fixes: 5c782b3928b8 ("vfio: interrupts")

Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 lib/librte_eal/linuxapp/eal/eal_interrupts.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/librte_eal/linuxapp/eal/eal_interrupts.c b/lib/librte_eal/linuxapp/eal/eal_interrupts.c
index 92a19cb..9a88539 100644
--- a/lib/librte_eal/linuxapp/eal/eal_interrupts.c
+++ b/lib/librte_eal/linuxapp/eal/eal_interrupts.c
@@ -194,14 +194,14 @@ vfio_disable_intx(const struct rte_intr_handle *intr_handle) {
 	irq_set = (struct vfio_irq_set *) irq_set_buf;
 	irq_set->argsz = len;
 	irq_set->count = 1;
-	irq_set->flags = VFIO_IRQ_SET_DATA_NONE | VFIO_IRQ_SET_ACTION_UNMASK;
+	irq_set->flags = VFIO_IRQ_SET_DATA_NONE | VFIO_IRQ_SET_ACTION_MASK;
 	irq_set->index = VFIO_PCI_INTX_IRQ_INDEX;
 	irq_set->start = 0;
 
 	ret = ioctl(intr_handle->vfio_dev_fd, VFIO_DEVICE_SET_IRQS, irq_set);
 
 	if (ret) {
-		RTE_LOG(ERR, EAL, "Error unmasking INTx interrupts for fd %d\n",
+		RTE_LOG(ERR, EAL, "Error masking INTx interrupts for fd %d\n",
 						intr_handle->fd);
 		return -1;
 	}
-- 
1.9.0

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

* [dpdk-stable] patch 'mempool: fix crash when handler not found' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (2 preceding siblings ...)
  2017-05-25  9:47 ` [dpdk-stable] patch 'vfio: fix disabling INTx' " Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'vfio: fix secondary process start' " Yuanhan Liu
                   ` (151 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Shreyansh Jain; +Cc: Yuanhan Liu, Olivier Matz, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 1cc37260a96cf9ad6118c78885f18441eaf173eb Mon Sep 17 00:00:00 2001
From: Shreyansh Jain <shreyansh.jain@nxp.com>
Date: Fri, 31 Mar 2017 11:05:35 +0530
Subject: [PATCH] mempool: fix crash when handler not found

[ upstream commit 44cebef721a644dd4139596942d24d0967c1cfb3 ]

In case the stack or ring mempool handler are compiled as shared
library and not linked in with test binary, segfault is reported.
This is because return value of rte_mempool_set_ops_byname is not
being checked in rte_mempool_ops_alloc.

This patch handles error returned from rte_mempool_set_ops_byname
when a mempool is not found.

Fixes: 449c49b93a6b ("mempool: support handler operations")

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
---
 lib/librte_mempool/rte_mempool.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/lib/librte_mempool/rte_mempool.c b/lib/librte_mempool/rte_mempool.c
index 1c2aed8..5a07818 100644
--- a/lib/librte_mempool/rte_mempool.c
+++ b/lib/librte_mempool/rte_mempool.c
@@ -868,6 +868,7 @@ rte_mempool_create(const char *name, unsigned n, unsigned elt_size,
 	rte_mempool_obj_cb_t *obj_init, void *obj_init_arg,
 	int socket_id, unsigned flags)
 {
+	int ret;
 	struct rte_mempool *mp;
 
 	mp = rte_mempool_create_empty(name, n, elt_size, cache_size,
@@ -880,13 +881,16 @@ rte_mempool_create(const char *name, unsigned n, unsigned elt_size,
 	 * set the correct index into the table of ops structs.
 	 */
 	if ((flags & MEMPOOL_F_SP_PUT) && (flags & MEMPOOL_F_SC_GET))
-		rte_mempool_set_ops_byname(mp, "ring_sp_sc", NULL);
+		ret = rte_mempool_set_ops_byname(mp, "ring_sp_sc", NULL);
 	else if (flags & MEMPOOL_F_SP_PUT)
-		rte_mempool_set_ops_byname(mp, "ring_sp_mc", NULL);
+		ret = rte_mempool_set_ops_byname(mp, "ring_sp_mc", NULL);
 	else if (flags & MEMPOOL_F_SC_GET)
-		rte_mempool_set_ops_byname(mp, "ring_mp_sc", NULL);
+		ret = rte_mempool_set_ops_byname(mp, "ring_mp_sc", NULL);
 	else
-		rte_mempool_set_ops_byname(mp, "ring_mp_mc", NULL);
+		ret = rte_mempool_set_ops_byname(mp, "ring_mp_mc", NULL);
+
+	if (ret)
+		goto fail;
 
 	/* call the mempool priv initializer */
 	if (mp_init)
-- 
1.9.0

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

* [dpdk-stable] patch 'vfio: fix secondary process start' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (3 preceding siblings ...)
  2017-05-25  9:47 ` [dpdk-stable] patch 'mempool: fix crash when handler not found' " Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'nic_uio: fix device binding at boot' " Yuanhan Liu
                   ` (150 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Jianfeng Tan
  Cc: Yuanhan Liu, Pawel Rutkowski, Sergio Gonzalez Monroy, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From d232fe787d514c24f8cb952946b31a3cd412c850 Mon Sep 17 00:00:00 2001
From: Jianfeng Tan <jianfeng.tan@intel.com>
Date: Thu, 16 Mar 2017 16:28:44 +0000
Subject: [PATCH] vfio: fix secondary process start

[ upstream commit dd18a2f0b27614841f258c567407093c3d4fd6c5 ]

When binding with vfio-pci, secondary process cannot be started with
an error message:

    cannot find TAILQ entry for PCI device.

It's due to: struct rte_pci_addr is padded with 1 byte for alignment
by compiler. Then below comparison in commit 2f4adfad0a69
("vfio: add multiprocess support") will fail if the last byte is not
initialized.

    memcmp(&vfio_res->pci_addr, &dev->addr, sizeof(dev->addr)

And commit cdc242f260e7 ("eal/linux: support running as unprivileged user")
just triggers this bug by using a stack un-initialized variable.

The fix is to use rte_eal_compare_pci_addr() for pci addr comparison.

Fixes: 2f4adfad0a69 ("vfio: add multiprocess support")
Fixes: cdc242f260e7 ("eal/linux: support running as unprivileged user")

Reported-by: Pawel Rutkowski <pawelx.rutkowski@intel.com>
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
---
 lib/librte_eal/linuxapp/eal/eal_pci_vfio.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c b/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c
index 5f478c5..7d8b9fb 100644
--- a/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c
+++ b/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c
@@ -355,7 +355,8 @@ pci_vfio_map_resource(struct rte_pci_device *dev)
 	} else {
 		/* if we're in a secondary process, just find our tailq entry */
 		TAILQ_FOREACH(vfio_res, vfio_res_list, next) {
-			if (memcmp(&vfio_res->pci_addr, &dev->addr, sizeof(dev->addr)))
+			if (rte_eal_compare_pci_addr(&vfio_res->pci_addr,
+						     &dev->addr))
 				continue;
 			break;
 		}
-- 
1.9.0

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

* [dpdk-stable] patch 'nic_uio: fix device binding at boot' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (4 preceding siblings ...)
  2017-05-25  9:47 ` [dpdk-stable] patch 'vfio: fix secondary process start' " Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'examples/ip_fragmentation: fix check of packet type' " Yuanhan Liu
                   ` (149 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 21a8f58017e2c92589dfa6b9114f7a9c2d7e6b4b Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Fri, 24 Mar 2017 14:30:11 +0000
Subject: [PATCH] nic_uio: fix device binding at boot

[ upstream commit 8415429e43cc8df6215d17ac150f75f483058c29 ]

When loading nic_uio from /boot/loader.conf as specified in the Getting
Started Guide doc, the NIC devices were not bound at boot. Unloading the
nic_uio driver and reloading it would cause them to be bound, however.

The root cause appears to be the fact that when the module is loaded at
boot, the call to find the pci device when parsing the b:d:f parameter
fails to return the device. That means that later on when the device
is probed as part of a PCI scan, no action is taken as it's not recorded
as a device to be used.

We fix this by having the b:d:f string parsed again on probe if the
initial check to see if it's an already-known device fails. In my tests,
this causes the NIC devices to be successfully bound at boot time, as
well as leaving things working as before in the case the module is loaded
post-boot.

Fixes: 764bf26873b9 ("add FreeBSD support")

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

diff --git a/lib/librte_eal/bsdapp/nic_uio/nic_uio.c b/lib/librte_eal/bsdapp/nic_uio/nic_uio.c
index 99a4975..4bd7545 100644
--- a/lib/librte_eal/bsdapp/nic_uio/nic_uio.c
+++ b/lib/librte_eal/bsdapp/nic_uio/nic_uio.c
@@ -180,6 +180,10 @@ nic_uio_probe (device_t dev)
 	unsigned int device = pci_get_slot(dev);
 	unsigned int function = pci_get_function(dev);
 
+	char bdf_str[256];
+	char *token, *remaining;
+
+	/* First check if we found this on load */
 	for (i = 0; i < num_detached; i++)
 		if (bus == pci_get_bus(detached_devices[i]) &&
 		    device == pci_get_slot(detached_devices[i]) &&
@@ -188,6 +192,45 @@ nic_uio_probe (device_t dev)
 			return BUS_PROBE_SPECIFIC;
 		}
 
+	/* otherwise check if it's a new device and if it matches the BDF */
+	memset(bdf_str, 0, sizeof(bdf_str));
+	TUNABLE_STR_FETCH("hw.nic_uio.bdfs", bdf_str, sizeof(bdf_str));
+	remaining = bdf_str;
+	while (1) {
+		if (remaining == NULL || remaining[0] == '\0')
+			break;
+		token = strsep(&remaining, ",:");
+		if (token == NULL)
+			break;
+		bus = strtol(token, NULL, 10);
+		token = strsep(&remaining, ",:");
+		if (token == NULL)
+			break;
+		device = strtol(token, NULL, 10);
+		token = strsep(&remaining, ",:");
+		if (token == NULL)
+			break;
+		function = strtol(token, NULL, 10);
+
+		if (bus == pci_get_bus(dev) &&
+				device == pci_get_slot(dev) &&
+				function == pci_get_function(dev)) {
+
+			if (num_detached < MAX_DETACHED_DEVICES) {
+				printf("%s: probed dev=%p\n",
+					       __func__, dev);
+				detached_devices[num_detached++] = dev;
+				device_set_desc(dev, "DPDK PCI Device");
+				return BUS_PROBE_SPECIFIC;
+			} else {
+				printf("%s: reached MAX_DETACHED_DEVICES=%d. dev=%p won't be reattached\n",
+						__func__, MAX_DETACHED_DEVICES,
+						dev);
+				break;
+			}
+		}
+	}
+
 	return ENXIO;
 }
 
@@ -248,6 +291,7 @@ nic_uio_load(void)
 	memset(bdf_str, 0, sizeof(bdf_str));
 	TUNABLE_STR_FETCH("hw.nic_uio.bdfs", bdf_str, sizeof(bdf_str));
 	remaining = bdf_str;
+	printf("nic_uio: hw.nic_uio.bdfs = '%s'\n", bdf_str);
 	/*
 	 * Users should specify PCI BDFs in the format "b:d:f,b:d:f,b:d:f".
 	 *  But the code below does not try differentiate between : and ,
-- 
1.9.0

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

* [dpdk-stable] patch 'examples/ip_fragmentation: fix check of packet type' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (5 preceding siblings ...)
  2017-05-25  9:47 ` [dpdk-stable] patch 'nic_uio: fix device binding at boot' " Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'doc: fix a typo in howto guide' " Yuanhan Liu
                   ` (148 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Wei Dai; +Cc: Yuanhan Liu, Fangfang Wei, Konstantin Ananyev, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From bde40425ae5deb6d90d23758d3001581006676c9 Mon Sep 17 00:00:00 2001
From: Wei Dai <wei.dai@intel.com>
Date: Tue, 14 Mar 2017 22:47:49 +0800
Subject: [PATCH] examples/ip_fragmentation: fix check of packet type

[ upstream commit 201d52bc0df70fd5dde9a79b5b6cd70a21f6fd34 ]

The packet_type in mbuf is not correctly filled by ixgbe 82599 NIC.
To use the ether_type in ethernet header to check packet type is
more reliaber.

Fixes: 3c0184cc0c60 ("examples: replace some offload flags with packet type")
Fixes: ab351fe1c95c ("mbuf: remove packet type from offload flags")

Reported-by: Fangfang Wei <fangfangx.wei@intel.com>
Signed-off-by: Wei Dai <wei.dai@intel.com>
Tested-by: Fangfang Wei <fangfangx.wei@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
---
 examples/ip_fragmentation/main.c | 74 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 74 insertions(+)

diff --git a/examples/ip_fragmentation/main.c b/examples/ip_fragmentation/main.c
index e1e32c6..349a72c 100644
--- a/examples/ip_fragmentation/main.c
+++ b/examples/ip_fragmentation/main.c
@@ -653,6 +653,74 @@ check_all_ports_link_status(uint8_t port_num, uint32_t port_mask)
 	}
 }
 
+/* Check L3 packet type detection capablity of the NIC port */
+static int
+check_ptype(int portid)
+{
+	int i, ret;
+	int ptype_l3_ipv4 = 0, ptype_l3_ipv6 = 0;
+	uint32_t ptype_mask = RTE_PTYPE_L3_MASK;
+
+	ret = rte_eth_dev_get_supported_ptypes(portid, ptype_mask, NULL, 0);
+	if (ret <= 0)
+		return 0;
+
+	uint32_t ptypes[ret];
+
+	ret = rte_eth_dev_get_supported_ptypes(portid, ptype_mask, ptypes, ret);
+	for (i = 0; i < ret; ++i) {
+		if (ptypes[i] & RTE_PTYPE_L3_IPV4)
+			ptype_l3_ipv4 = 1;
+		if (ptypes[i] & RTE_PTYPE_L3_IPV6)
+			ptype_l3_ipv6 = 1;
+	}
+
+	if (ptype_l3_ipv4 == 0)
+		printf("port %d cannot parse RTE_PTYPE_L3_IPV4\n", portid);
+
+	if (ptype_l3_ipv6 == 0)
+		printf("port %d cannot parse RTE_PTYPE_L3_IPV6\n", portid);
+
+	if (ptype_l3_ipv4 && ptype_l3_ipv6)
+		return 1;
+
+	return 0;
+
+}
+
+/* Parse packet type of a packet by SW */
+static inline void
+parse_ptype(struct rte_mbuf *m)
+{
+	struct ether_hdr *eth_hdr;
+	uint32_t packet_type = RTE_PTYPE_UNKNOWN;
+	uint16_t ether_type;
+
+	eth_hdr = rte_pktmbuf_mtod(m, struct ether_hdr *);
+	ether_type = eth_hdr->ether_type;
+	if (ether_type == rte_cpu_to_be_16(ETHER_TYPE_IPv4))
+		packet_type |= RTE_PTYPE_L3_IPV4_EXT_UNKNOWN;
+	else if (ether_type == rte_cpu_to_be_16(ETHER_TYPE_IPv6))
+		packet_type |= RTE_PTYPE_L3_IPV6_EXT_UNKNOWN;
+
+	m->packet_type = packet_type;
+}
+
+/* callback function to detect packet type for a queue of a port */
+static uint16_t
+cb_parse_ptype(uint8_t port __rte_unused, uint16_t queue __rte_unused,
+		   struct rte_mbuf *pkts[], uint16_t nb_pkts,
+		   uint16_t max_pkts __rte_unused,
+		   void *user_param __rte_unused)
+{
+	uint16_t i;
+
+	for (i = 0; i < nb_pkts; ++i)
+		parse_ptype(pkts[i]);
+
+	return nb_pkts;
+}
+
 static int
 init_routing_table(void)
 {
@@ -944,6 +1012,12 @@ main(int argc, char **argv)
 				ret, portid);
 
 		rte_eth_promiscuous_enable(portid);
+
+		if (check_ptype(portid) == 0) {
+			rte_eth_add_rx_callback(portid, 0, cb_parse_ptype, NULL);
+			printf("Add Rx callback funciton to detect L3 packet type by SW :"
+				" port = %d\n", portid);
+		}
 	}
 
 	if (init_routing_table() < 0)
-- 
1.9.0

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

* [dpdk-stable] patch 'doc: fix a typo in howto guide' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (6 preceding siblings ...)
  2017-05-25  9:47 ` [dpdk-stable] patch 'examples/ip_fragmentation: fix check of packet type' " Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/tap: fix possibly unterminated string' " Yuanhan Liu
                   ` (147 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Yong Wang; +Cc: Yuanhan Liu, John McNamara, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 90a4f8e24cb9dd2eb00519b4c09fdedc1a199f83 Mon Sep 17 00:00:00 2001
From: Yong Wang <wang.yong19@zte.com.cn>
Date: Wed, 29 Mar 2017 04:27:35 -0400
Subject: [PATCH] doc: fix a typo in howto guide

[ upstream commit a29491c2f417c58cf02ace231d7a0215315e1346 ]

Fixes: 0ba3870e7559 ("doc: add guide to use virtio-user as exceptional path")

Signed-off-by: Yong Wang <wang.yong19@zte.com.cn>
Acked-by: John McNamara <john.mcnamara@intel.com>
---
 doc/guides/howto/virtio_user_as_exceptional_path.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/guides/howto/virtio_user_as_exceptional_path.rst b/doc/guides/howto/virtio_user_as_exceptional_path.rst
index 26a72e2..4076030 100644
--- a/doc/guides/howto/virtio_user_as_exceptional_path.rst
+++ b/doc/guides/howto/virtio_user_as_exceptional_path.rst
@@ -84,7 +84,7 @@ compiling the kernel and those kernel modules should be inserted.
 
         $(testpmd) -c 0xc -n 4 \
 		--vdev=virtio_user0,path=/dev/vhost-net,queue_size=1024 \
-		-- -i --txqflags=0x0 --disable-hw-vlan --enable-lro --crc-strip
+		-- -i --txqflags=0x0 --disable-hw-vlan --enable-lro --crc-strip \
 		--enable-rx-cksum --rxd=1024 --txd=1024
 
     This command runs testpmd with two ports, one physical NIC to communicate
-- 
1.9.0

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

* [dpdk-stable] patch 'net/tap: fix possibly unterminated string' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (7 preceding siblings ...)
  2017-05-25  9:47 ` [dpdk-stable] patch 'doc: fix a typo in howto guide' " Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/i40e: fix TC bitmap of VEB' " Yuanhan Liu
                   ` (146 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Keith Wiles; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 74cca4c16b0763666fd08d09bf7a2bda30a81037 Mon Sep 17 00:00:00 2001
From: Keith Wiles <keith.wiles@intel.com>
Date: Fri, 17 Feb 2017 09:43:04 -0600
Subject: [PATCH] net/tap: fix possibly unterminated string

[ upstream commit 865787886101310954ddc35eb5c29b3ab7b9c055 ]

Calling strncpy with a maximum size argument of 16 bytes on destination
array "ifr.ifr_ifrn.ifrn_name" of size 16 bytes might leave the
destination string unterminated.

Coverity issue: 1407499
Fixes: 6b38b2725cdb ("net/tap: fix multi-queue support")

Signed-off-by: Keith Wiles <keith.wiles@intel.com>
---
 drivers/net/tap/rte_eth_tap.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
index efc4426..47a7060 100644
--- a/drivers/net/tap/rte_eth_tap.c
+++ b/drivers/net/tap/rte_eth_tap.c
@@ -129,7 +129,7 @@ tun_alloc(struct pmd_internals *pmd, uint16_t qid)
 	memset(&ifr, 0, sizeof(struct ifreq));
 
 	ifr.ifr_flags = IFF_TAP | IFF_NO_PI;
-	strncpy(ifr.ifr_name, pmd->name, IFNAMSIZ);
+	snprintf(ifr.ifr_name, IFNAMSIZ, "%s", pmd->name);
 
 	RTE_LOG(DEBUG, PMD, "ifr_name '%s'\n", ifr.ifr_name);
 
@@ -297,7 +297,7 @@ tap_link_set_flags(struct pmd_internals *pmd, short flags, int add)
 		return -1;
 	}
 	memset(&ifr, 0, sizeof(ifr));
-	strncpy(ifr.ifr_name, pmd->name, IFNAMSIZ);
+	snprintf(ifr.ifr_name, IFNAMSIZ, "%s", pmd->name);
 	err = ioctl(s, SIOCGIFFLAGS, &ifr);
 	if (err < 0) {
 		RTE_LOG(WARNING, PMD, "Unable to get %s device flags: %s\n",
-- 
1.9.0

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

* [dpdk-stable] patch 'net/i40e: fix TC bitmap of VEB' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (8 preceding siblings ...)
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/tap: fix possibly unterminated string' " Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/i40e: fix memory allocation for hash table' " Yuanhan Liu
                   ` (145 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Wenzhuo Lu; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 1dacb45e82fae624e1bbc4424f0d07266162e2b5 Mon Sep 17 00:00:00 2001
From: Wenzhuo Lu <wenzhuo.lu@intel.com>
Date: Thu, 16 Feb 2017 11:29:17 +0800
Subject: [PATCH] net/i40e: fix TC bitmap of VEB

[ upstream commit a58d3e3b8e060279453a265557b42b9630c104bb ]

When setting up the VEB, default TC bitmap is used.

But after setting the default TC bitmap, it's not stored. So when we're
trying to get the enabled TCs on the VEB, it's always wrong.

Fixes: 5135f3ca49a7 ("i40e: enable DCB in VMDQ VSIs")

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 drivers/net/i40e/i40e_ethdev.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 303027b..d4b2a76 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -4339,6 +4339,7 @@ i40e_veb_setup(struct i40e_pf *pf, struct i40e_vsi *vsi)
 			    hw->aq.asq_last_status);
 		goto fail;
 	}
+	veb->enabled_tc = I40E_DEFAULT_TCMAP;
 
 	/* get statistics index */
 	ret = i40e_aq_get_veb_parameters(hw, veb->seid, NULL, NULL,
-- 
1.9.0

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

* [dpdk-stable] patch 'net/i40e: fix memory allocation for hash table' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (9 preceding siblings ...)
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/i40e: fix TC bitmap of VEB' " Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/mlx5: fix VLAN stripping indication' " Yuanhan Liu
                   ` (144 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Beilei Xing; +Cc: Yuanhan Liu, Ivan Nardi, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From e84541fbf4e260546b800e4081ab6c1e38151bb3 Mon Sep 17 00:00:00 2001
From: Beilei Xing <beilei.xing@intel.com>
Date: Fri, 17 Feb 2017 16:37:56 +0800
Subject: [PATCH] net/i40e: fix memory allocation for hash table

[ upstream commit d27a8fd01f596932f081e2b75383afe9d35543b7 ]

Testpmd failed to start in another hugetlbfs mount point on
i40e, the root cause is that hash table is always allocated
on socket 0.

Issue can be reproduced by forcing testpmd to allocate memory
only from node 1:

testpmd --socket-mem=0,8192 -- -i --socket-num=1

EAL: PCI device 0000:81:00.0 on NUMA socket 1
EAL:   probe driver: 8086:1572 net_i40e
PMD: eth_i40e_dev_init(): FW 4.40 API 1.4 NVM 04.05.03 eetrack 80001cd8
RING: Cannot reserve memory
HASH: memory allocation failed
PMD: i40e_init_ethtype_filter_list(): Failed to create ethertype hash
table!
EAL: Error - exiting with code: 1
  Cause: Requested device 0000:81:00.0 cannot be used

Fix the issue by assigning socket id during hash parameter definition.

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

Reported-by: Ivan Nardi <nardi.ivan@gmail.com>
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
---
 drivers/net/i40e/i40e_ethdev.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index d4b2a76..508fcc8 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -899,6 +899,8 @@ i40e_init_ethtype_filter_list(struct rte_eth_dev *dev)
 		.entries = I40E_MAX_ETHERTYPE_FILTER_NUM,
 		.key_len = sizeof(struct i40e_ethertype_filter_input),
 		.hash_func = rte_hash_crc,
+		.hash_func_init_val = 0,
+		.socket_id = rte_socket_id(),
 	};
 
 	/* Initialize ethertype filter rule list and hash */
@@ -942,6 +944,8 @@ i40e_init_tunnel_filter_list(struct rte_eth_dev *dev)
 		.entries = I40E_MAX_TUNNEL_FILTER_NUM,
 		.key_len = sizeof(struct i40e_tunnel_filter_input),
 		.hash_func = rte_hash_crc,
+		.hash_func_init_val = 0,
+		.socket_id = rte_socket_id(),
 	};
 
 	/* Initialize tunnel filter rule list and hash */
@@ -985,6 +989,8 @@ i40e_init_fdir_filter_list(struct rte_eth_dev *dev)
 		.entries = I40E_MAX_FDIR_FILTER_NUM,
 		.key_len = sizeof(struct rte_eth_fdir_input),
 		.hash_func = rte_hash_crc,
+		.hash_func_init_val = 0,
+		.socket_id = rte_socket_id(),
 	};
 
 	/* Initialize flow director filter rule list and hash */
-- 
1.9.0

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

* [dpdk-stable] patch 'net/mlx5: fix VLAN stripping indication' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (10 preceding siblings ...)
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/i40e: fix memory allocation for hash table' " Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/i40e: fix compile error' " Yuanhan Liu
                   ` (143 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Shahaf Shuler; +Cc: Yuanhan Liu, Nelio Laranjeiro, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 4376e7e2af4be48ccf1ec20e0d3cf08d3862be8d Mon Sep 17 00:00:00 2001
From: Shahaf Shuler <shahafs@mellanox.com>
Date: Mon, 20 Feb 2017 13:14:32 +0200
Subject: [PATCH] net/mlx5: fix VLAN stripping indication

[ upstream commit 9514fa2d1adb3d18ce803c77c8df90c8e2d8bd11 ]

The indication on vlan stripping was taken from the wrong location in the
completion entry.

Fixes: 9964b965ad69 ("net/mlx5: re-add Rx scatter support")

Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
---
 drivers/net/mlx5/mlx5_rxtx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c
index 88b0354..b2b7223 100644
--- a/drivers/net/mlx5/mlx5_rxtx.c
+++ b/drivers/net/mlx5/mlx5_rxtx.c
@@ -1447,7 +1447,7 @@ mlx5_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n)
 					pkt->ol_flags |=
 						rxq_cq_to_ol_flags(rxq, cqe);
 				}
-				if (cqe->hdr_type_etc &
+				if (ntohs(cqe->hdr_type_etc) &
 				    MLX5_CQE_VLAN_STRIPPED) {
 					pkt->ol_flags |= PKT_RX_VLAN_PKT |
 						PKT_RX_VLAN_STRIPPED;
-- 
1.9.0

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

* [dpdk-stable] patch 'net/i40e: fix compile error' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (11 preceding siblings ...)
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/mlx5: fix VLAN stripping indication' " Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/mlx5: fix startup when flow cannot be applied' " Yuanhan Liu
                   ` (142 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Qi Zhang; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 45feb9803fcac7ed052605c45485ea12af2cafb6 Mon Sep 17 00:00:00 2001
From: Qi Zhang <qi.z.zhang@intel.com>
Date: Mon, 20 Feb 2017 13:11:56 -0500
Subject: [PATCH] net/i40e: fix compile error

[ upstream commit 0be2953129666dc510092ab7f240b21d06e03da7 ]

Fix the compile error when RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC
is disabled.

Also fake_mbuf is required to be initialized and assigned to
additional sw_ring entries for vector PMD independent from
RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC config option.

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

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/i40e/i40e_rxtx.c | 2 +-
 drivers/net/i40e/i40e_rxtx.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
index 48429cc..40f4a45 100644
--- a/drivers/net/i40e/i40e_rxtx.c
+++ b/drivers/net/i40e/i40e_rxtx.c
@@ -2209,11 +2209,11 @@ i40e_reset_rx_queue(struct i40e_rx_queue *rxq)
 	for (i = 0; i < len * sizeof(union i40e_rx_desc); i++)
 		((volatile char *)rxq->rx_ring)[i] = 0;
 
-#ifdef RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC
 	memset(&rxq->fake_mbuf, 0x0, sizeof(rxq->fake_mbuf));
 	for (i = 0; i < RTE_PMD_I40E_RX_MAX_BURST; ++i)
 		rxq->sw_ring[rxq->nb_rx_desc + i].mbuf = &rxq->fake_mbuf;
 
+#ifdef RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC
 	rxq->rx_nb_avail = 0;
 	rxq->rx_next_avail = 0;
 	rxq->rx_free_trigger = (uint16_t)(rxq->rx_free_thresh - 1);
diff --git a/drivers/net/i40e/i40e_rxtx.h b/drivers/net/i40e/i40e_rxtx.h
index 9df8a56..4f7f319 100644
--- a/drivers/net/i40e/i40e_rxtx.h
+++ b/drivers/net/i40e/i40e_rxtx.h
@@ -119,11 +119,11 @@ struct i40e_rx_queue {
 	uint16_t nb_rx_hold; /**< number of held free RX desc */
 	struct rte_mbuf *pkt_first_seg; /**< first segment of current packet */
 	struct rte_mbuf *pkt_last_seg; /**< last segment of current packet */
+	struct rte_mbuf fake_mbuf; /**< dummy mbuf */
 #ifdef RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC
 	uint16_t rx_nb_avail; /**< number of staged packets ready */
 	uint16_t rx_next_avail; /**< index of next staged packets */
 	uint16_t rx_free_trigger; /**< triggers rx buffer allocation */
-	struct rte_mbuf fake_mbuf; /**< dummy mbuf */
 	struct rte_mbuf *rx_stage[RTE_PMD_I40E_RX_MAX_BURST * 2];
 #endif
 
-- 
1.9.0

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

* [dpdk-stable] patch 'net/mlx5: fix startup when flow cannot be applied' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (12 preceding siblings ...)
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/i40e: fix compile error' " Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/bnx2x: fix transmit queue free threshold' " Yuanhan Liu
                   ` (141 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Nélio Laranjeiro; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 254ec142796af68a03daf278de4c4dd093034936 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?N=C3=A9lio=20Laranjeiro?= <nelio.laranjeiro@6wind.com>
Date: Wed, 22 Feb 2017 10:57:52 +0100
Subject: [PATCH] net/mlx5: fix startup when flow cannot be applied

[ upstream commit c8d4ee50cc8529eda95aa9c8fc2d2e919166142d ]

When flows cannot be re-applied due to configuration modifications, the
start function should rollback the configuration done.

Fixes: 2097d0d1e2cc ("net/mlx5: support basic flow items and actions")

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
---
 drivers/net/mlx5/mlx5_trigger.c | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_trigger.c b/drivers/net/mlx5/mlx5_trigger.c
index 30addd2..0acbf28 100644
--- a/drivers/net/mlx5/mlx5_trigger.c
+++ b/drivers/net/mlx5/mlx5_trigger.c
@@ -82,17 +82,28 @@ mlx5_dev_start(struct rte_eth_dev *dev)
 		ERROR("%p: an error occurred while configuring hash RX queues:"
 		      " %s",
 		      (void *)priv, strerror(err));
-		/* Rollback. */
-		priv_special_flow_disable_all(priv);
-		priv_mac_addrs_disable(priv);
-		priv_destroy_hash_rxqs(priv);
+		goto error;
 	}
 	if (dev->data->dev_conf.fdir_conf.mode != RTE_FDIR_MODE_NONE)
 		priv_fdir_enable(priv);
-	priv_dev_interrupt_handler_install(priv, dev);
 	err = priv_flow_start(priv);
+	if (err) {
+		priv->started = 0;
+		ERROR("%p: an error occurred while configuring flows:"
+		      " %s",
+		      (void *)priv, strerror(err));
+		goto error;
+	}
+	priv_dev_interrupt_handler_install(priv, dev);
 	priv_xstats_init(priv);
 	priv_unlock(priv);
+	return 0;
+error:
+	/* Rollback. */
+	priv_special_flow_disable_all(priv);
+	priv_mac_addrs_disable(priv);
+	priv_destroy_hash_rxqs(priv);
+	priv_flow_stop(priv);
 	return -err;
 }
 
-- 
1.9.0

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

* [dpdk-stable] patch 'net/bnx2x: fix transmit queue free threshold' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (13 preceding siblings ...)
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/mlx5: fix startup when flow cannot be applied' " Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/e1000/base: fix multicast setting in VF' " Yuanhan Liu
                   ` (140 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Chas Williams; +Cc: Yuanhan Liu, Harish Patil, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From a12a1218efd3f0b0199cbdfac68a826308809123 Mon Sep 17 00:00:00 2001
From: Chas Williams <ciwillia@brocade.com>
Date: Fri, 10 Feb 2017 15:12:06 -0500
Subject: [PATCH] net/bnx2x: fix transmit queue free threshold

[ upstream commit f078565129809a4737de8eea1b3c4c24f5472c3b ]

The default tx_free_thresh is potentially larger than the allocated queue
which will result in TX queue cleanup never happening.  To fix this,
lower the default free threshold and ensure that the free threshold is
never greater than the maximum outstanding transmit buffers.

Fixes: 827ed2a118cc ("net/bnx2x: restructure Tx routine")

Signed-off-by: Chas Williams <ciwillia@brocade.com>
Acked-by: Harish Patil <harish.patil@qlogic.com>
---
 drivers/net/bnx2x/bnx2x_rxtx.c | 2 ++
 drivers/net/bnx2x/bnx2x_rxtx.h | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/bnx2x/bnx2x_rxtx.c b/drivers/net/bnx2x/bnx2x_rxtx.c
index 170e48f..adf0309 100644
--- a/drivers/net/bnx2x/bnx2x_rxtx.c
+++ b/drivers/net/bnx2x/bnx2x_rxtx.c
@@ -273,6 +273,8 @@ bnx2x_dev_tx_queue_setup(struct rte_eth_dev *dev,
 
 	txq->tx_free_thresh = tx_conf->tx_free_thresh ?
 		tx_conf->tx_free_thresh : DEFAULT_TX_FREE_THRESH;
+	txq->tx_free_thresh = min(txq->tx_free_thresh,
+				  txq->nb_tx_desc - BDS_PER_TX_PKT);
 
 	PMD_INIT_LOG(DEBUG, "fp[%02d] req_bd=%u, thresh=%u, usable_bd=%lu, "
 		     "total_bd=%lu, tx_pages=%u",
diff --git a/drivers/net/bnx2x/bnx2x_rxtx.h b/drivers/net/bnx2x/bnx2x_rxtx.h
index dd251aa..2e38ec2 100644
--- a/drivers/net/bnx2x/bnx2x_rxtx.h
+++ b/drivers/net/bnx2x/bnx2x_rxtx.h
@@ -11,7 +11,7 @@
 #ifndef _BNX2X_RXTX_H_
 #define _BNX2X_RXTX_H_
 
-#define DEFAULT_TX_FREE_THRESH   512
+#define DEFAULT_TX_FREE_THRESH   64
 #define RTE_PMD_BNX2X_TX_MAX_BURST 1
 
 /**
-- 
1.9.0

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

* [dpdk-stable] patch 'net/e1000/base: fix multicast setting in VF' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (14 preceding siblings ...)
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/bnx2x: fix transmit queue free threshold' " Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/mlx5: fix supported packets types' " Yuanhan Liu
                   ` (139 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Yong Wang; +Cc: Yuanhan Liu, Wenzhuo Lu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 3a84be8fd4091501ec125c56ab0448781fb9c944 Mon Sep 17 00:00:00 2001
From: Yong Wang <wang.yong19@zte.com.cn>
Date: Tue, 21 Feb 2017 04:33:23 -0500
Subject: [PATCH] net/e1000/base: fix multicast setting in VF

[ upstream commit f58ca2f9ef61654eca7b773ffac1c8e0ecfa3e5b ]

In function e1000_update_mc_addr_list_vf(), "msgbuf[0]" is used prior
to initialization at "msgbuf[0] |= E1000_VF_SET_MULTICAST_OVERFLOW".
And "msgbuf[0]" is overwritten at "msgbuf[0] = E1000_VF_SET_MULTICAST".

Fix it by moving the second line prior to the first one that mentioned
above.

Fixes: dffbaf7880a8 ("e1000: revert fix for multicast in VF")

Signed-off-by: Yong Wang <wang.yong19@zte.com.cn>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 drivers/net/e1000/base/e1000_vf.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/e1000/base/e1000_vf.c b/drivers/net/e1000/base/e1000_vf.c
index 7845b48..44ab018 100644
--- a/drivers/net/e1000/base/e1000_vf.c
+++ b/drivers/net/e1000/base/e1000_vf.c
@@ -421,12 +421,13 @@ void e1000_update_mc_addr_list_vf(struct e1000_hw *hw,
 
 	DEBUGOUT1("MC Addr Count = %d\n", mc_addr_count);
 
+	msgbuf[0] = E1000_VF_SET_MULTICAST;
+
 	if (mc_addr_count > 30) {
 		msgbuf[0] |= E1000_VF_SET_MULTICAST_OVERFLOW;
 		mc_addr_count = 30;
 	}
 
-	msgbuf[0] = E1000_VF_SET_MULTICAST;
 	msgbuf[0] |= mc_addr_count << E1000_VT_MSGINFO_SHIFT;
 
 	for (i = 0; i < mc_addr_count; i++) {
-- 
1.9.0

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

* [dpdk-stable] patch 'net/mlx5: fix supported packets types' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (15 preceding siblings ...)
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/e1000/base: fix multicast setting in VF' " Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/i40e: fix a typo in flow' " Yuanhan Liu
                   ` (138 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Nélio Laranjeiro; +Cc: Yuanhan Liu, Adrien Mazarguil, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From bc53dfc35a2137513b5dcf8727abfcfde44787e8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?N=C3=A9lio=20Laranjeiro?= <nelio.laranjeiro@6wind.com>
Date: Fri, 24 Feb 2017 10:16:56 +0100
Subject: [PATCH] net/mlx5: fix supported packets types

[ upstream commit c4ba54348b73c01052c8c3c21ee015d95668de61 ]

Fixes: 0603df73a077 ("net/mlx5: fix Rx packet validation and type")

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
---
 drivers/net/mlx5/mlx5_ethdev.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c
index 2145965..f6396f5 100644
--- a/drivers/net/mlx5/mlx5_ethdev.c
+++ b/drivers/net/mlx5/mlx5_ethdev.c
@@ -667,10 +667,10 @@ mlx5_dev_supported_ptypes_get(struct rte_eth_dev *dev)
 {
 	static const uint32_t ptypes[] = {
 		/* refers to rxq_cq_to_pkt_type() */
-		RTE_PTYPE_L3_IPV4,
-		RTE_PTYPE_L3_IPV6,
-		RTE_PTYPE_INNER_L3_IPV4,
-		RTE_PTYPE_INNER_L3_IPV6,
+		RTE_PTYPE_L3_IPV4_EXT_UNKNOWN,
+		RTE_PTYPE_L3_IPV6_EXT_UNKNOWN,
+		RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN,
+		RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN,
 		RTE_PTYPE_UNKNOWN
 
 	};
-- 
1.9.0

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

* [dpdk-stable] patch 'net/i40e: fix a typo in flow' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (16 preceding siblings ...)
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/mlx5: fix supported packets types' " Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/ixgbe/base: fix build error' " Yuanhan Liu
                   ` (137 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Rami Rosen; +Cc: Yuanhan Liu, John McNamara, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 114bb79b86c56bc6747f88ac39ba36e1714a73a9 Mon Sep 17 00:00:00 2001
From: Rami Rosen <rami.rosen@intel.com>
Date: Sun, 26 Feb 2017 23:53:59 -0500
Subject: [PATCH] net/i40e: fix a typo in flow

[ upstream commit d04e7d3d560442e2a4fa66ac7b6a4e43e803042b ]

This patch fixes a trivial typo in i40e_flow.c.

Fixes: 47c6782344b7 ("net/i40e: fix tunnel filter")
Fixes: d416530e6358 ("net/i40e: parse tunnel filter")

Signed-off-by: Rami Rosen <rami.rosen@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
---
 drivers/net/i40e/i40e_flow.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c
index c6e4d87..f163ce5 100644
--- a/drivers/net/i40e/i40e_flow.c
+++ b/drivers/net/i40e/i40e_flow.c
@@ -1309,7 +1309,7 @@ i40e_flow_parse_vxlan_pattern(const struct rte_flow_item *pattern,
 		case RTE_FLOW_ITEM_TYPE_IPV4:
 			filter->ip_type = RTE_TUNNEL_IPTYPE_IPV4;
 			/* IPv4 is used to describe protocol,
-			 * spec amd mask should be NULL.
+			 * spec and mask should be NULL.
 			 */
 			if (item->spec || item->mask) {
 				rte_flow_error_set(error, EINVAL,
@@ -1322,7 +1322,7 @@ i40e_flow_parse_vxlan_pattern(const struct rte_flow_item *pattern,
 		case RTE_FLOW_ITEM_TYPE_IPV6:
 			filter->ip_type = RTE_TUNNEL_IPTYPE_IPV6;
 			/* IPv6 is used to describe protocol,
-			 * spec amd mask should be NULL.
+			 * spec and mask should be NULL.
 			 */
 			if (item->spec || item->mask) {
 				rte_flow_error_set(error, EINVAL,
@@ -1334,7 +1334,7 @@ i40e_flow_parse_vxlan_pattern(const struct rte_flow_item *pattern,
 			break;
 		case RTE_FLOW_ITEM_TYPE_UDP:
 			/* UDP is used to describe protocol,
-			 * spec amd mask should be NULL.
+			 * spec and mask should be NULL.
 			 */
 			if (item->spec || item->mask) {
 				rte_flow_error_set(error, EINVAL,
-- 
1.9.0

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

* [dpdk-stable] patch 'net/ixgbe/base: fix build error' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (17 preceding siblings ...)
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/i40e: fix a typo in flow' " Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/mlx5: fix flow mark action handling' " Yuanhan Liu
                   ` (136 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Wenzhuo Lu; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 4d59683767b442dbe6bc1c57f9b525c9809f8514 Mon Sep 17 00:00:00 2001
From: Wenzhuo Lu <wenzhuo.lu@intel.com>
Date: Wed, 1 Mar 2017 14:04:51 +0800
Subject: [PATCH] net/ixgbe/base: fix build error

[ upstream commit 9dad5b9e892e5f7770a7b5992a523f8c6053ae79 ]

Fix ICC build error by removing the EWARN third parameter.

Build error:
.../drivers/net/ixgbe/base/ixgbe_phy.c(1543):
	error #268: the format string ends before this argument
			EWARN(hw, "WARNING: Intel (R) Network "
			^

.../drivers/net/ixgbe/base/ixgbe_phy.c(1805):
	error #268: the format string ends before this argument
			EWARN(hw, "WARNING: Intel (R) Network "
			^

Fixes: aa4fc14d2cee ("ixgbe: update base driver")
Fixes: b94a06c1b451 ("ixgbe/base: support qsfp and lco")

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 drivers/net/ixgbe/base/ixgbe_phy.c | 29 ++++++++---------------------
 1 file changed, 8 insertions(+), 21 deletions(-)

diff --git a/drivers/net/ixgbe/base/ixgbe_phy.c b/drivers/net/ixgbe/base/ixgbe_phy.c
index c953805..f44a11e 100644
--- a/drivers/net/ixgbe/base/ixgbe_phy.c
+++ b/drivers/net/ixgbe/base/ixgbe_phy.c
@@ -1540,16 +1540,10 @@ s32 ixgbe_identify_sfp_module_generic(struct ixgbe_hw *hw)
 				status = IXGBE_SUCCESS;
 			} else {
 				if (hw->allow_unsupported_sfp == true) {
-					EWARN(hw, "WARNING: Intel (R) Network "
-					      "Connections are quality tested "
-					      "using Intel (R) Ethernet Optics."
-					      " Using untested modules is not "
-					      "supported and may cause unstable"
-					      " operation or damage to the "
-					      "module or the adapter. Intel "
-					      "Corporation is not responsible "
-					      "for any harm caused by using "
-					      "untested modules.\n", status);
+					EWARN(hw,
+						"WARNING: Intel (R) Network Connections are quality tested using Intel (R) Ethernet Optics. "
+						"Using untested modules is not supported and may cause unstable operation or damage to the module or the adapter. "
+						"Intel Corporation is not responsible for any harm caused by using untested modules.\n");
 					status = IXGBE_SUCCESS;
 				} else {
 					DEBUGOUT("SFP+ module not supported\n");
@@ -1802,16 +1796,10 @@ s32 ixgbe_identify_qsfp_module_generic(struct ixgbe_hw *hw)
 				status = IXGBE_SUCCESS;
 			} else {
 				if (hw->allow_unsupported_sfp == true) {
-					EWARN(hw, "WARNING: Intel (R) Network "
-					      "Connections are quality tested "
-					      "using Intel (R) Ethernet Optics."
-					      " Using untested modules is not "
-					      "supported and may cause unstable"
-					      " operation or damage to the "
-					      "module or the adapter. Intel "
-					      "Corporation is not responsible "
-					      "for any harm caused by using "
-					      "untested modules.\n", status);
+					EWARN(hw,
+						"WARNING: Intel (R) Network Connections are quality tested using Intel (R) Ethernet Optics. "
+						"Using untested modules is not supported and may cause unstable operation or damage to the module or the adapter. "
+						"Intel Corporation is not responsible for any harm caused by using untested modules.\n");
 					status = IXGBE_SUCCESS;
 				} else {
 					DEBUGOUT("QSFP module not supported\n");
@@ -1836,7 +1824,6 @@ err_read_i2c_eeprom:
 	return IXGBE_ERR_SFP_NOT_PRESENT;
 }
 
-
 /**
  *  ixgbe_get_sfp_init_sequence_offsets - Provides offset of PHY init sequence
  *  @hw: pointer to hardware structure
-- 
1.9.0

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

* [dpdk-stable] patch 'net/mlx5: fix flow mark action handling' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (18 preceding siblings ...)
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/ixgbe/base: fix build error' " Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/mlx5: fix drop queue creation error' " Yuanhan Liu
                   ` (135 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Nélio Laranjeiro
  Cc: Yuanhan Liu, Mark Bloch, Adrien Mazarguil, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From ded5887d1bc40ef71bf947b7651b82ee2895573b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?N=C3=A9lio=20Laranjeiro?= <nelio.laranjeiro@6wind.com>
Date: Tue, 28 Feb 2017 10:20:01 +0100
Subject: [PATCH] net/mlx5: fix flow mark action handling

[ upstream commit c9c2a965ab83ca224663abe5ce38f774a081e83e ]

Mark value is always reported even when not requested or invalid.

Fixes: ea3bc3b1df94 ("net/mlx5: support mark flow action")

Reported-by: Mark Bloch <markb@mellanox.com>
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
---
 drivers/net/mlx5/mlx5_rxtx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c
index b2b7223..e152776 100644
--- a/drivers/net/mlx5/mlx5_rxtx.c
+++ b/drivers/net/mlx5/mlx5_rxtx.c
@@ -1431,7 +1431,7 @@ mlx5_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n)
 			}
 			if (rxq->mark &&
 			    ((cqe->sop_drop_qpn !=
-			      htonl(MLX5_FLOW_MARK_INVALID)) ||
+			      htonl(MLX5_FLOW_MARK_INVALID)) &&
 			     (cqe->sop_drop_qpn !=
 			      htonl(MLX5_FLOW_MARK_DEFAULT)))) {
 				pkt->hash.fdir.hi =
-- 
1.9.0

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

* [dpdk-stable] patch 'net/mlx5: fix drop queue creation error' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (19 preceding siblings ...)
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/mlx5: fix flow mark action handling' " Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/mlx5: fix resources free in the right function' " Yuanhan Liu
                   ` (134 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Nélio Laranjeiro; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From f2816e6d4f48161dacecdf1d522e2cc5e7326bfe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?N=C3=A9lio=20Laranjeiro?= <nelio.laranjeiro@6wind.com>
Date: Wed, 1 Mar 2017 13:49:40 +0100
Subject: [PATCH] net/mlx5: fix drop queue creation error

[ upstream commit b98b61c308f84eaf82977db6fbd792775486e4c1 ]

Creating a drop queue in mlx5 ends by creating a non polled queue, but if
the associated work queue could not be created the error was not handled
ending in a undefined situation.

Fixes: 2097d0d1e2cc ("net/mlx5: support basic flow items and actions")

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
---
 drivers/net/mlx5/mlx5_flow.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 23c1b5e..6765a77 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -902,6 +902,12 @@ priv_flow_create_action_queue(struct priv *priv,
 						 .pd = priv->pd,
 						 .cq = rte_flow->cq,
 						 });
+		if (!rte_flow->wq) {
+			rte_flow_error_set(error, ENOMEM,
+					   RTE_FLOW_ERROR_TYPE_HANDLE,
+					   NULL, "cannot allocate WQ");
+			goto error;
+		}
 	} else {
 		rxq = container_of((*priv->rxqs)[action->queue_id],
 				   struct rxq_ctrl, rxq);
-- 
1.9.0

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

* [dpdk-stable] patch 'net/mlx5: fix resources free in the right function' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (20 preceding siblings ...)
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/mlx5: fix drop queue creation error' " Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/ixgbe: fix Rx queue blocking issue' " Yuanhan Liu
                   ` (133 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Nélio Laranjeiro; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From facbf03dee4e0eea9663c0add4bc8bdacf060e8e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?N=C3=A9lio=20Laranjeiro?= <nelio.laranjeiro@6wind.com>
Date: Wed, 1 Mar 2017 13:49:41 +0100
Subject: [PATCH] net/mlx5: fix resources free in the right function

[ upstream commit 953007dd6eec6ee7faa1f26d91b213da4e5d069c ]

ibv_attr should be freed in the function which allocates the memory.

Fixes: 2097d0d1e2cc ("net/mlx5: support basic flow items and actions")

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
---
 drivers/net/mlx5/mlx5_flow.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 6765a77..0712926 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -974,7 +974,6 @@ error:
 		ibv_exp_destroy_wq(rte_flow->wq);
 	if (!rte_flow->rxq && rte_flow->cq)
 		ibv_destroy_cq(rte_flow->cq);
-	rte_free(rte_flow->ibv_attr);
 	rte_free(rte_flow);
 	return NULL;
 }
@@ -1068,6 +1067,8 @@ priv_flow_create(struct priv *priv,
 	}
 	rte_flow = priv_flow_create_action_queue(priv, flow.ibv_attr,
 						 &action, error);
+	if (!rte_flow)
+		goto exit;
 	return rte_flow;
 exit:
 	rte_free(flow.ibv_attr);
-- 
1.9.0

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

* [dpdk-stable] patch 'net/ixgbe: fix Rx queue blocking issue' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (21 preceding siblings ...)
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/mlx5: fix resources free in the right function' " Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/ixgbe: fix all queues drop setting of DCB' " Yuanhan Liu
                   ` (132 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Wenzhuo Lu; +Cc: Yuanhan Liu, Liang-Min Larry Wang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 4e1044f805aa9f31c71ecc18a485036edcefe834 Mon Sep 17 00:00:00 2001
From: Wenzhuo Lu <wenzhuo.lu@intel.com>
Date: Wed, 22 Feb 2017 10:59:35 +0800
Subject: [PATCH] net/ixgbe: fix Rx queue blocking issue

[ upstream commit 9941892b7a457da71ad38c73fbd7e19213fae2bb ]

In the IOV scenario, multi Rx queues can be assigned to one VF.
If the dropping is not enabled, when no descriptors are available
for one queue, this queue can block others.

Fixes: 00e30184daa0 ("ixgbe: add PF support")

Suggested-by: Liang-Min Larry Wang <liang-min.wang@intel.com>
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 drivers/net/ixgbe/ixgbe_pf.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ixgbe/ixgbe_pf.c b/drivers/net/ixgbe/ixgbe_pf.c
index 4715045..d88832e 100644
--- a/drivers/net/ixgbe/ixgbe_pf.c
+++ b/drivers/net/ixgbe/ixgbe_pf.c
@@ -397,15 +397,27 @@ ixgbe_vf_reset_msg(struct rte_eth_dev *dev, uint16_t vf)
 	uint32_t reg_offset, vf_shift;
 	const uint8_t VFRE_SHIFT = 5;  /* VFRE 32 bits per slot */
 	const uint8_t VFRE_MASK = (uint8_t)((1U << VFRE_SHIFT) - 1);
+	uint8_t  nb_q_per_pool;
+	int i;
 
 	vf_shift = vf & VFRE_MASK;
 	reg_offset = (vf >> VFRE_SHIFT) > 0 ? 1 : 0;
 
-	/* enable transmit and receive for vf */
+	/* enable transmit for vf */
 	reg = IXGBE_READ_REG(hw, IXGBE_VFTE(reg_offset));
 	reg |= (reg | (1 << vf_shift));
 	IXGBE_WRITE_REG(hw, IXGBE_VFTE(reg_offset), reg);
 
+	/* enable all queue drop for IOV */
+	nb_q_per_pool = RTE_ETH_DEV_SRIOV(dev).nb_q_per_pool;
+	for (i = vf * nb_q_per_pool; i < (vf + 1) * nb_q_per_pool; i++) {
+		IXGBE_WRITE_FLUSH(hw);
+		reg = IXGBE_QDE_ENABLE | IXGBE_QDE_WRITE;
+		reg |= i << IXGBE_QDE_IDX_SHIFT;
+		IXGBE_WRITE_REG(hw, IXGBE_QDE, reg);
+	}
+
+	/* enable receive for vf */
 	reg = IXGBE_READ_REG(hw, IXGBE_VFRE(reg_offset));
 	reg |= (reg | (1 << vf_shift));
 	IXGBE_WRITE_REG(hw, IXGBE_VFRE(reg_offset), reg);
-- 
1.9.0

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

* [dpdk-stable] patch 'net/ixgbe: fix all queues drop setting of DCB' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (22 preceding siblings ...)
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/ixgbe: fix Rx queue blocking issue' " Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/ixgbe: fix multi-queue mode check in SRIOV mode' " Yuanhan Liu
                   ` (131 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Wenzhuo Lu; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 71f26bc4502128b7249add4f5c2335baa50dd3b6 Mon Sep 17 00:00:00 2001
From: Wenzhuo Lu <wenzhuo.lu@intel.com>
Date: Mon, 27 Feb 2017 13:34:04 +0800
Subject: [PATCH] net/ixgbe: fix all queues drop setting of DCB

[ upstream commit 8552304c86f97e0d9ccb1884d06479a86f92f816 ]

DCB is split to RX and TX mode. All-queues-drop is set for TX mode.
It's not appropriate because all-queue-drop is a RX feature.
Move this setting from TX to RX.

Fixes: f3f9b17bb8a5 ("net/ixgbe: support multiqueue mode VMDq DCB with SRIOV")

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 drivers/net/ixgbe/ixgbe_rxtx.c | 38 +++++++++++++++++++++-----------------
 1 file changed, 21 insertions(+), 17 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
index 9502432..0368c66 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
@@ -3375,7 +3375,6 @@ ixgbe_dcb_tx_hw_config(struct rte_eth_dev *dev,
 		       struct ixgbe_dcb_config *dcb_config)
 {
 	uint32_t reg;
-	uint32_t q;
 	struct ixgbe_hw *hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 
 	PMD_INIT_FUNC_TRACE();
@@ -3395,18 +3394,6 @@ ixgbe_dcb_tx_hw_config(struct rte_eth_dev *dev,
 			reg |= IXGBE_MTQC_VT_ENA;
 		IXGBE_WRITE_REG(hw, IXGBE_MTQC, reg);
 
-		if (RTE_ETH_DEV_SRIOV(dev).active == 0) {
-			/* Disable drop for all queues in VMDQ mode*/
-			for (q = 0; q < 128; q++)
-				IXGBE_WRITE_REG(hw, IXGBE_QDE,
-						(IXGBE_QDE_WRITE | (q << IXGBE_QDE_IDX_SHIFT)));
-		} else {
-			/* Enable drop for all queues in SRIOV mode */
-			for (q = 0; q < 128; q++)
-				IXGBE_WRITE_REG(hw, IXGBE_QDE,
-						(IXGBE_QDE_WRITE | (q << IXGBE_QDE_IDX_SHIFT) | IXGBE_QDE_ENABLE));
-		}
-
 		/* Enable the Tx desc arbiter */
 		reg = IXGBE_READ_REG(hw, IXGBE_RTTDCS);
 		reg &= ~IXGBE_RTTDCS_ARBDIS;
@@ -3540,16 +3527,18 @@ ixgbe_dcb_tx_config(struct rte_eth_dev *dev,
 
 /**
  * ixgbe_dcb_rx_hw_config - Configure general DCB RX HW parameters
- * @hw: pointer to hardware structure
+ * @dev: pointer to eth_dev structure
  * @dcb_config: pointer to ixgbe_dcb_config structure
  */
 static void
-ixgbe_dcb_rx_hw_config(struct ixgbe_hw *hw,
-	       struct ixgbe_dcb_config *dcb_config)
+ixgbe_dcb_rx_hw_config(struct rte_eth_dev *dev,
+		       struct ixgbe_dcb_config *dcb_config)
 {
 	uint32_t reg;
 	uint32_t vlanctrl;
 	uint8_t i;
+	uint32_t q;
+	struct ixgbe_hw *hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 
 	PMD_INIT_FUNC_TRACE();
 	/*
@@ -3587,6 +3576,21 @@ ixgbe_dcb_rx_hw_config(struct ixgbe_hw *hw,
 		}
 
 		IXGBE_WRITE_REG(hw, IXGBE_MRQC, reg);
+
+		if (RTE_ETH_DEV_SRIOV(dev).active == 0) {
+			/* Disable drop for all queues in VMDQ mode*/
+			for (q = 0; q < IXGBE_MAX_RX_QUEUE_NUM; q++)
+				IXGBE_WRITE_REG(hw, IXGBE_QDE,
+						(IXGBE_QDE_WRITE |
+						 (q << IXGBE_QDE_IDX_SHIFT)));
+		} else {
+			/* Enable drop for all queues in SRIOV mode */
+			for (q = 0; q < IXGBE_MAX_RX_QUEUE_NUM; q++)
+				IXGBE_WRITE_REG(hw, IXGBE_QDE,
+						(IXGBE_QDE_WRITE |
+						 (q << IXGBE_QDE_IDX_SHIFT) |
+						 IXGBE_QDE_ENABLE));
+		}
 	}
 
 	/* VLNCTRL: enable vlan filtering and allow all vlan tags through */
@@ -3699,7 +3703,7 @@ ixgbe_dcb_hw_configure(struct rte_eth_dev *dev,
 		/* Get dcb TX configuration parameters from rte_eth_conf */
 		ixgbe_dcb_rx_config(dev, dcb_config);
 		/*Configure general DCB RX parameters*/
-		ixgbe_dcb_rx_hw_config(hw, dcb_config);
+		ixgbe_dcb_rx_hw_config(dev, dcb_config);
 		break;
 	default:
 		PMD_INIT_LOG(ERR, "Incorrect DCB RX mode configuration");
-- 
1.9.0

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

* [dpdk-stable] patch 'net/ixgbe: fix multi-queue mode check in SRIOV mode' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (23 preceding siblings ...)
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/ixgbe: fix all queues drop setting of DCB' " Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:47 ` [dpdk-stable] patch 'app/testpmd: fix init config for multi-queue " Yuanhan Liu
                   ` (130 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Jingjing Wu; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From f4da9b2156dd63330f09f103f79c76d438ce10af Mon Sep 17 00:00:00 2001
From: Jingjing Wu <jingjing.wu@intel.com>
Date: Tue, 28 Feb 2017 14:26:27 +0800
Subject: [PATCH] net/ixgbe: fix multi-queue mode check in SRIOV mode

[ upstream commit 1b51b0bbc2c8c6dcdabe5880f7187ea23ee17a4a ]

In SRIOV case, ETH_MQ_RX_VMDQ_DCB and ETH_MQ_RX_DCB should be considered as
the same meaning, due to the multi-queue mapping is the same SRIOV and VMDq
in ixgbe.

Fixes: 27b609cbd1c6 ("ethdev: move the multi-queue mode check to specific drivers")

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
---
 drivers/net/ixgbe/ixgbe_rxtx.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
index 0368c66..8751fe3 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
@@ -4139,9 +4139,8 @@ ixgbe_dev_mq_rx_configure(struct rte_eth_dev *dev)
 			break;
 		}
 	} else {
-		/*
-		 * SRIOV active scheme
-		 * Support RSS together with VMDq & SRIOV
+		/* SRIOV active scheme
+		 * Support RSS together with SRIOV.
 		 */
 		switch (dev->data->dev_conf.rxmode.mq_mode) {
 		case ETH_MQ_RX_RSS:
@@ -4149,10 +4148,13 @@ ixgbe_dev_mq_rx_configure(struct rte_eth_dev *dev)
 			ixgbe_config_vf_rss(dev);
 			break;
 		case ETH_MQ_RX_VMDQ_DCB:
+		case ETH_MQ_RX_DCB:
+		/* In SRIOV, the configuration is the same as VMDq case */
 			ixgbe_vmdq_dcb_configure(dev);
 			break;
-		/* FIXME if support DCB/RSS together with VMDq & SRIOV */
+		/* DCB/RSS together with SRIOV is not supported */
 		case ETH_MQ_RX_VMDQ_DCB_RSS:
+		case ETH_MQ_RX_DCB_RSS:
 			PMD_INIT_LOG(ERR,
 				"Could not support DCB/RSS with VMDq & SRIOV");
 			return -1;
-- 
1.9.0

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

* [dpdk-stable] patch 'app/testpmd: fix init config for multi-queue mode' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (24 preceding siblings ...)
  2017-05-25  9:47 ` [dpdk-stable] patch 'net/ixgbe: fix multi-queue mode check in SRIOV mode' " Yuanhan Liu
@ 2017-05-25  9:47 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'app/testpmd: fix TC mapping in DCB init config' " Yuanhan Liu
                   ` (129 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:47 UTC (permalink / raw)
  To: Jingjing Wu; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 8bec7f9866d7a6c6e1954b2a210d5099cc98624f Mon Sep 17 00:00:00 2001
From: Jingjing Wu <jingjing.wu@intel.com>
Date: Tue, 28 Feb 2017 14:26:28 +0800
Subject: [PATCH] app/testpmd: fix init config for multi-queue mode

[ upstream commit 5f592039add0aec4d30783c3abd3709a36c2da68 ]

In SRIOV mode, the mq_mode of rte_eth_rxmode should not carry VMDQ info
without rx_adv_conf setting.

Fixes: a30979f6ad7f ("app/testpmd: set Rx VMDq RSS mode")

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
---
 app/test-pmd/testpmd.c | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index bfb2f8e..f695807 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -1835,24 +1835,13 @@ init_port_config(void)
 			port->dev_conf.rx_adv_conf.rss_conf.rss_hf = 0;
 		}
 
-		if (port->dcb_flag == 0 && port->dev_info.max_vfs == 0) {
+		if (port->dcb_flag == 0) {
 			if( port->dev_conf.rx_adv_conf.rss_conf.rss_hf != 0)
 				port->dev_conf.rxmode.mq_mode = ETH_MQ_RX_RSS;
 			else
 				port->dev_conf.rxmode.mq_mode = ETH_MQ_RX_NONE;
 		}
 
-		if (port->dev_info.max_vfs != 0) {
-			if (port->dev_conf.rx_adv_conf.rss_conf.rss_hf != 0)
-				port->dev_conf.rxmode.mq_mode =
-					ETH_MQ_RX_VMDQ_RSS;
-			else
-				port->dev_conf.rxmode.mq_mode =
-					ETH_MQ_RX_NONE;
-
-			port->dev_conf.txmode.mq_mode = ETH_MQ_TX_NONE;
-		}
-
 		rxtx_port_config(port);
 
 		rte_eth_macaddr_get(pid, &port->eth_addr);
-- 
1.9.0

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

* [dpdk-stable] patch 'app/testpmd: fix TC mapping in DCB init config' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (25 preceding siblings ...)
  2017-05-25  9:47 ` [dpdk-stable] patch 'app/testpmd: fix init config for multi-queue " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: fix incorrect packet index reference' " Yuanhan Liu
                   ` (128 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Jingjing Wu; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From edb4a417c13d907feafd300d5c874d0f6407980f Mon Sep 17 00:00:00 2001
From: Jingjing Wu <jingjing.wu@intel.com>
Date: Tue, 28 Feb 2017 14:26:29 +0800
Subject: [PATCH] app/testpmd: fix TC mapping in DCB init config

[ upstream commit bcd0e4326647b1dcf564dbbdfd5d8a1a58224d75 ]

Fix the UP and TC mapping to divide multiple UPs to TCs instead of mapping
the UPs who are lager than num_tcs to TC0.

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

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
---
 app/test-pmd/testpmd.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index f695807..fa19f8f 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -1933,9 +1933,9 @@ get_eth_dcb_conf(struct rte_eth_conf *eth_conf,
 		rx_conf->nb_tcs = num_tcs;
 		tx_conf->nb_tcs = num_tcs;
 
-		for (i = 0; i < num_tcs; i++) {
-			rx_conf->dcb_tc[i] = i;
-			tx_conf->dcb_tc[i] = i;
+		for (i = 0; i < ETH_DCB_NUM_USER_PRIORITIES; i++) {
+			rx_conf->dcb_tc[i] = i % num_tcs;
+			tx_conf->dcb_tc[i] = i % num_tcs;
 		}
 		eth_conf->rxmode.mq_mode = ETH_MQ_RX_DCB_RSS;
 		eth_conf->rx_adv_conf.rss_conf.rss_hf = rss_hf;
-- 
1.9.0

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

* [dpdk-stable] patch 'net/i40e: fix incorrect packet index reference' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (26 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'app/testpmd: fix TC mapping in DCB init config' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/ixgbevf: set xstats id values' " Yuanhan Liu
                   ` (127 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Jerin Jacob; +Cc: Yuanhan Liu, Sunil Kulkarni, Jianbo Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 7d0d7eca4c31b979bdfe6696480962564a3b601f Mon Sep 17 00:00:00 2001
From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Date: Sat, 4 Mar 2017 17:30:32 +0530
Subject: [PATCH] net/i40e: fix incorrect packet index reference

[ upstream commit 45290ddae88f98bf355c17669aa21273e80fb19d ]

Fixes: ae0eb310f253 ("net/i40e: implement vector PMD for ARM")

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Signed-off-by: Sunil Kulkarni <sunil.kulkarni@caviumnetworks.com>
Acked-by: Jianbo Liu <jianbo.liu@linaro.org>
---
 drivers/net/i40e/i40e_rxtx_vec_neon.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/i40e/i40e_rxtx_vec_neon.c b/drivers/net/i40e/i40e_rxtx_vec_neon.c
index 011c54e..d235daa 100644
--- a/drivers/net/i40e/i40e_rxtx_vec_neon.c
+++ b/drivers/net/i40e/i40e_rxtx_vec_neon.c
@@ -205,7 +205,7 @@ desc_to_ptype_v(uint64x2_t descs[4], struct rte_mbuf **rx_pkts)
 	for (i = 0; i < 4; i++) {
 		tmp = vreinterpretq_u8_u64(vshrq_n_u64(descs[i], 30));
 		ptype = vgetq_lane_u8(tmp, 8);
-		rx_pkts[0]->packet_type = i40e_rxd_pkt_type_mapping(ptype);
+		rx_pkts[i]->packet_type = i40e_rxd_pkt_type_mapping(ptype);
 	}
 
 }
-- 
1.9.0

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

* [dpdk-stable] patch 'net/ixgbevf: set xstats id values' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (27 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: fix incorrect packet index reference' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/pcap: fix using mbuf after freeing it' " Yuanhan Liu
                   ` (126 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Ido Barnea; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 5ddd7d5c36d09c62e31c779f60f53920aa0de8a7 Mon Sep 17 00:00:00 2001
From: Ido Barnea <ibarnea@cisco.com>
Date: Thu, 9 Mar 2017 16:59:28 +0000
Subject: [PATCH] net/ixgbevf: set xstats id values

[ upstream commit 09deb982228ce70439976c8d4c2b92b0d0fb4172 ]

Without setting the id, calling xstats_get twice with same array causes
memory corruption.

Also, if IXGBEVF_NB_XSTATS will be different than 1 in the future,
this will cause issues.

Fixes: 156712ba40d3 ("ixgbevf: add extending stats")

Signed-off-by: Ido Barnea <ibarnea@cisco.com>
---
 drivers/net/ixgbe/ixgbe_ethdev.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 7169007..b699252 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -3249,6 +3249,7 @@ ixgbevf_dev_xstats_get(struct rte_eth_dev *dev, struct rte_eth_xstat *xstats,
 
 	/* Extended stats */
 	for (i = 0; i < IXGBEVF_NB_XSTATS; i++) {
+		xstats[i].id = i;
 		xstats[i].value = *(uint64_t *)(((char *)hw_stats) +
 			rte_ixgbevf_stats_strings[i].offset);
 	}
-- 
1.9.0

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

* [dpdk-stable] patch 'net/pcap: fix using mbuf after freeing it' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (28 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/ixgbevf: set xstats id values' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/ena: fix return of hash control flushing' " Yuanhan Liu
                   ` (125 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Johan Samuelsson; +Cc: Yuanhan Liu, Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From cf404c5d6749c185d793b561f354e33086220d05 Mon Sep 17 00:00:00 2001
From: Johan Samuelsson <johan.xb.samuelsson@ericsson.com>
Date: Mon, 13 Mar 2017 10:21:25 +0100
Subject: [PATCH] net/pcap: fix using mbuf after freeing it

[ upstream commit 8dc7358b286e79d0acac5e0eb6e1a70a9b8652b0 ]

Fixes: 2269e7e815a2 ("pcap: add Rx and Tx byte counters")

Signed-off-by: Johan Samuelsson <johan.xb.samuelsson@ericsson.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/pcap/rte_eth_pcap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net/pcap/rte_eth_pcap.c
index 7f0b650..075e3be 100644
--- a/drivers/net/pcap/rte_eth_pcap.c
+++ b/drivers/net/pcap/rte_eth_pcap.c
@@ -293,9 +293,9 @@ eth_pcap_tx_dumper(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
 			}
 		}
 
-		rte_pktmbuf_free(mbuf);
 		num_tx++;
 		tx_bytes += mbuf->pkt_len;
+		rte_pktmbuf_free(mbuf);
 	}
 
 	/*
-- 
1.9.0

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

* [dpdk-stable] patch 'net/ena: fix return of hash control flushing' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (29 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/pcap: fix using mbuf after freeing it' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/vmxnet3: fix queue size changes' " Yuanhan Liu
                   ` (124 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Yong Wang; +Cc: Yuanhan Liu, Jan Medala, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From bfecb19388c66747eb33867eeddc03ee39cbe275 Mon Sep 17 00:00:00 2001
From: Yong Wang <wang.yong19@zte.com.cn>
Date: Tue, 14 Feb 2017 07:37:43 -0500
Subject: [PATCH] net/ena: fix return of hash control flushing

[ upstream commit 1207f3f722f2103f3e796b450563745ccfc3beb5 ]

In function ena_com_set_hash_ctrl(), the return value is assigned to
"ret" variable, but it is not returned. Fix it by adding the return.

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

Signed-off-by: Yong Wang <wang.yong19@zte.com.cn>
Acked-by: Jan Medala <jan@semihalf.com>
---
 drivers/net/ena/base/ena_com.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ena/base/ena_com.c b/drivers/net/ena/base/ena_com.c
index bd6f3c6..778bc2e 100644
--- a/drivers/net/ena/base/ena_com.c
+++ b/drivers/net/ena/base/ena_com.c
@@ -2278,7 +2278,7 @@ int ena_com_set_hash_ctrl(struct ena_com_dev *ena_dev)
 					    sizeof(resp));
 	if (unlikely(ret)) {
 		ena_trc_err("Failed to set hash input. error: %d\n", ret);
-		ret = ENA_COM_INVAL;
+		return ENA_COM_INVAL;
 	}
 
 	return 0;
-- 
1.9.0

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

* [dpdk-stable] patch 'net/vmxnet3: fix queue size changes' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (30 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/ena: fix return of hash control flushing' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: fix broadcast promiscuous mode setting' " Yuanhan Liu
                   ` (123 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Chas Williams; +Cc: Yuanhan Liu, Jan Blunck, Shrikrishna Khare, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 66294018fc22fe3b8728d95df412c0da90a81e3c Mon Sep 17 00:00:00 2001
From: Chas Williams <ciwillia@brocade.com>
Date: Wed, 15 Mar 2017 08:35:10 -0400
Subject: [PATCH] net/vmxnet3: fix queue size changes

[ upstream commit 04df93d1edac6e240911ac4210920b58d1c27dcd ]

If the user reconfigures the queue size, then the previously allocated
memzone may potentially be too small.  Release the memzone when a queue
is released and allocate a new one each time a queue is setup.

While here convert to rte_eth_dma_zone_reserve() which does basically
the same things as the private function.

Fixes: dfaff37fc46d ("vmxnet3: import new vmxnet3 poll mode driver implementation")

Signed-off-by: Chas Williams <ciwillia@brocade.com>
Acked-by: Jan Blunck <jblunck@infradead.org>
Acked-by: Shrikrishna Khare <skhare@vmware.com>
---
 drivers/net/vmxnet3/vmxnet3_ring.h |  2 ++
 drivers/net/vmxnet3/vmxnet3_rxtx.c | 37 +++++++++++--------------------------
 2 files changed, 13 insertions(+), 26 deletions(-)

diff --git a/drivers/net/vmxnet3/vmxnet3_ring.h b/drivers/net/vmxnet3/vmxnet3_ring.h
index b50d2b0..a3d330c 100644
--- a/drivers/net/vmxnet3/vmxnet3_ring.h
+++ b/drivers/net/vmxnet3/vmxnet3_ring.h
@@ -138,6 +138,7 @@ typedef struct vmxnet3_tx_queue {
 	uint32_t                     qid;
 	struct Vmxnet3_TxQueueDesc   *shared;
 	struct vmxnet3_txq_stats     stats;
+	const struct rte_memzone     *mz;
 	bool                         stopped;
 	uint16_t                     queue_id;      /**< Device TX queue index. */
 	uint8_t                      port_id;       /**< Device port identifier. */
@@ -161,6 +162,7 @@ typedef struct vmxnet3_rx_queue {
 	struct rte_mbuf             *start_seg;
 	struct rte_mbuf             *last_seg;
 	struct vmxnet3_rxq_stats    stats;
+	const struct rte_memzone    *mz;
 	bool                        stopped;
 	uint16_t                    queue_id;      /**< Device RX queue index. */
 	uint8_t                     port_id;       /**< Device port identifier. */
diff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c b/drivers/net/vmxnet3/vmxnet3_rxtx.c
index b246884..12752f8 100644
--- a/drivers/net/vmxnet3/vmxnet3_rxtx.c
+++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c
@@ -201,6 +201,8 @@ vmxnet3_dev_tx_queue_release(void *txq)
 		vmxnet3_tx_cmd_ring_release_mbufs(&tq->cmd_ring);
 		/* Release the cmd_ring */
 		vmxnet3_cmd_ring_release(&tq->cmd_ring);
+		/* Release the memzone */
+		rte_memzone_free(tq->mz);
 	}
 }
 
@@ -218,6 +220,9 @@ vmxnet3_dev_rx_queue_release(void *rxq)
 		/* Release both the cmd_rings */
 		for (i = 0; i < VMXNET3_RX_CMDRING_SIZE; i++)
 			vmxnet3_cmd_ring_release(&rq->cmd_ring[i]);
+
+		/* Release the memzone */
+		rte_memzone_free(rq->mz);
 	}
 }
 
@@ -872,30 +877,6 @@ rcd_done:
 	return nb_rx;
 }
 
-/*
- * Create memzone for device rings. malloc can't be used as the physical address is
- * needed. If the memzone is already created, then this function returns a ptr
- * to the old one.
- */
-static const struct rte_memzone *
-ring_dma_zone_reserve(struct rte_eth_dev *dev, const char *ring_name,
-		      uint16_t queue_id, uint32_t ring_size, int socket_id)
-{
-	char z_name[RTE_MEMZONE_NAMESIZE];
-	const struct rte_memzone *mz;
-
-	snprintf(z_name, sizeof(z_name), "%s_%s_%d_%d",
-		 dev->driver->pci_drv.driver.name, ring_name,
-		 dev->data->port_id, queue_id);
-
-	mz = rte_memzone_lookup(z_name);
-	if (mz)
-		return mz;
-
-	return rte_memzone_reserve_aligned(z_name, ring_size,
-					   socket_id, 0, VMXNET3_RING_BA_ALIGN);
-}
-
 int
 vmxnet3_dev_tx_queue_setup(struct rte_eth_dev *dev,
 			   uint16_t queue_idx,
@@ -963,11 +944,13 @@ vmxnet3_dev_tx_queue_setup(struct rte_eth_dev *dev,
 	size += sizeof(struct Vmxnet3_TxCompDesc) * comp_ring->size;
 	size += sizeof(struct Vmxnet3_TxDataDesc) * data_ring->size;
 
-	mz = ring_dma_zone_reserve(dev, "txdesc", queue_idx, size, socket_id);
+	mz = rte_eth_dma_zone_reserve(dev, "txdesc", queue_idx, size,
+				      VMXNET3_RING_BA_ALIGN, socket_id);
 	if (mz == NULL) {
 		PMD_INIT_LOG(ERR, "ERROR: Creating queue descriptors zone");
 		return -ENOMEM;
 	}
+	txq->mz = mz;
 	memset(mz->addr, 0, mz->len);
 
 	/* cmd_ring initialization */
@@ -1065,11 +1048,13 @@ vmxnet3_dev_rx_queue_setup(struct rte_eth_dev *dev,
 	size = sizeof(struct Vmxnet3_RxDesc) * (ring0->size + ring1->size);
 	size += sizeof(struct Vmxnet3_RxCompDesc) * comp_ring->size;
 
-	mz = ring_dma_zone_reserve(dev, "rxdesc", queue_idx, size, socket_id);
+	mz = rte_eth_dma_zone_reserve(dev, "rxdesc", queue_idx, size,
+				      VMXNET3_RING_BA_ALIGN, socket_id);
 	if (mz == NULL) {
 		PMD_INIT_LOG(ERR, "ERROR: Creating queue descriptors zone");
 		return -ENOMEM;
 	}
+	rxq->mz = mz;
 	memset(mz->addr, 0, mz->len);
 
 	/* cmd_ring0 initialization */
-- 
1.9.0

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

* [dpdk-stable] patch 'net/i40e: fix broadcast promiscuous mode setting' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (31 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/vmxnet3: fix queue size changes' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/thunderx: fix 32-bit build' " Yuanhan Liu
                   ` (122 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Wenzhuo Lu; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From b77a87767dc9b1aa2a5f0c6c1c14f21e71bccd0a Mon Sep 17 00:00:00 2001
From: Wenzhuo Lu <wenzhuo.lu@intel.com>
Date: Thu, 16 Mar 2017 11:09:45 +0800
Subject: [PATCH] net/i40e: fix broadcast promiscuous mode setting

[ upstream commit 92717a8e9b02124e3ca982400bbe97bd4cb73979 ]

When setting up the VSIs, MAC filter is used for
receiving MAC broadcast packets.
We should follow it to implement the broadcast
promiscuous mode setting.

Fixes: 61fff9b4c68b ("net/i40e: set VF broadcast mode from PF")

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 drivers/net/i40e/i40e_ethdev.c | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 508fcc8..047855c 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -10961,6 +10961,9 @@ int rte_pmd_i40e_set_vf_broadcast(uint8_t port, uint16_t vf_id,
 	struct i40e_pf *pf;
 	struct i40e_vsi *vsi;
 	struct i40e_hw *hw;
+	struct i40e_mac_filter_info filter;
+	struct ether_addr broadcast = {
+		.addr_bytes = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff} };
 	int ret;
 
 	RTE_ETH_VALID_PORTID_OR_ERR_RET(port, -ENODEV);
@@ -10999,12 +11002,19 @@ int rte_pmd_i40e_set_vf_broadcast(uint8_t port, uint16_t vf_id,
 		return -EINVAL;
 	}
 
-	hw = I40E_VSI_TO_HW(vsi);
+	if (on) {
+		(void)rte_memcpy(&filter.mac_addr, &broadcast, ETHER_ADDR_LEN);
+		filter.filter_type = RTE_MACVLAN_PERFECT_MATCH;
+		ret = i40e_vsi_add_mac(vsi, &filter);
+	} else {
+		ret = i40e_vsi_delete_mac(vsi, &broadcast);
+	}
 
-	ret = i40e_aq_set_vsi_broadcast(hw, vsi->seid, on, NULL);
-	if (ret != I40E_SUCCESS) {
+	if (ret != I40E_SUCCESS && ret != I40E_ERR_PARAM) {
 		ret = -ENOTSUP;
 		PMD_DRV_LOG(ERR, "Failed to set VSI broadcast");
+	} else {
+		ret = 0;
 	}
 
 	return ret;
-- 
1.9.0

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

* [dpdk-stable] patch 'net/thunderx: fix 32-bit build' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (32 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: fix broadcast promiscuous mode setting' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/thunderx: fix build on FreeBSD' " Yuanhan Liu
                   ` (121 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Jerin Jacob; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 25b0ec3a665585b00ce7383e93c6a2b96141bf90 Mon Sep 17 00:00:00 2001
From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Date: Sun, 19 Mar 2017 20:18:46 +0530
Subject: [PATCH] net/thunderx: fix 32-bit build

[ upstream commit 6d76fde7dba39769c64bee03b62593cc66a1b0e3 ]

Fixes: e438796617dc ("net/thunderx: add PMD skeleton")

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 drivers/net/thunderx/nicvf_struct.h | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/net/thunderx/nicvf_struct.h b/drivers/net/thunderx/nicvf_struct.h
index c900e12..5bc6d57 100644
--- a/drivers/net/thunderx/nicvf_struct.h
+++ b/drivers/net/thunderx/nicvf_struct.h
@@ -43,8 +43,8 @@
 #include <rte_memory.h>
 
 struct nicvf_rbdr {
-	uint64_t rbdr_status;
-	uint64_t rbdr_door;
+	uintptr_t rbdr_status;
+	uintptr_t rbdr_door;
 	struct rbdr_entry_t *desc;
 	nicvf_phys_addr_t phys;
 	uint32_t buffsz;
@@ -58,8 +58,8 @@ struct nicvf_txq {
 	union sq_entry_t *desc;
 	nicvf_phys_addr_t phys;
 	struct rte_mbuf **txbuffs;
-	uint64_t sq_head;
-	uint64_t sq_door;
+	uintptr_t sq_head;
+	uintptr_t sq_door;
 	struct rte_mempool *pool;
 	struct nicvf *nic;
 	void (*pool_free)(struct nicvf_txq *sq);
@@ -74,8 +74,8 @@ struct nicvf_txq {
 
 struct nicvf_rxq {
 	uint64_t mbuf_phys_off;
-	uint64_t cq_status;
-	uint64_t cq_door;
+	uintptr_t cq_status;
+	uintptr_t cq_door;
 	nicvf_phys_addr_t phys;
 	union cq_entry_t *desc;
 	struct nicvf_rbdr *shared_rbdr;
-- 
1.9.0

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

* [dpdk-stable] patch 'net/thunderx: fix build on FreeBSD' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (33 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/thunderx: fix 32-bit build' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/mlx4: update link status upon probing with LSC' " Yuanhan Liu
                   ` (120 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Jerin Jacob; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 4b22cf725762b526aac1ad7a3ecc7651384b2569 Mon Sep 17 00:00:00 2001
From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Date: Sun, 19 Mar 2017 20:18:47 +0530
Subject: [PATCH] net/thunderx: fix build on FreeBSD

[ upstream commit fc2c80148ee5dcf0d695bb11100c21b767f4ebe4 ]

SIMPLEQ_* operations are not available in FreeBSD. Replacing
with equivalent STAILQ_* operations.

Fixes: f2546f8e51b8 ("net/thunderx/base: add functions to store qsets")

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 drivers/net/thunderx/base/nicvf_bsvf.c | 12 ++++++------
 drivers/net/thunderx/base/nicvf_bsvf.h |  2 +-
 drivers/net/thunderx/nicvf_ethdev.c    |  1 -
 3 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/drivers/net/thunderx/base/nicvf_bsvf.c b/drivers/net/thunderx/base/nicvf_bsvf.c
index 9e028a3..49a2646 100644
--- a/drivers/net/thunderx/base/nicvf_bsvf.c
+++ b/drivers/net/thunderx/base/nicvf_bsvf.c
@@ -37,7 +37,7 @@
 #include "nicvf_bsvf.h"
 #include "nicvf_plat.h"
 
-static SIMPLEQ_HEAD(, svf_entry) head = SIMPLEQ_HEAD_INITIALIZER(head);
+static STAILQ_HEAD(, svf_entry) head = STAILQ_HEAD_INITIALIZER(head);
 
 void
 nicvf_bsvf_push(struct svf_entry *entry)
@@ -45,7 +45,7 @@ nicvf_bsvf_push(struct svf_entry *entry)
 	assert(entry != NULL);
 	assert(entry->vf != NULL);
 
-	SIMPLEQ_INSERT_TAIL(&head, entry, next);
+	STAILQ_INSERT_TAIL(&head, entry, next);
 }
 
 struct svf_entry *
@@ -53,14 +53,14 @@ nicvf_bsvf_pop(void)
 {
 	struct svf_entry *entry;
 
-	assert(!SIMPLEQ_EMPTY(&head));
+	assert(!STAILQ_EMPTY(&head));
 
-	entry = SIMPLEQ_FIRST(&head);
+	entry = STAILQ_FIRST(&head);
 
 	assert(entry != NULL);
 	assert(entry->vf != NULL);
 
-	SIMPLEQ_REMOVE_HEAD(&head, next);
+	STAILQ_REMOVE_HEAD(&head, next);
 
 	return entry;
 }
@@ -68,5 +68,5 @@ nicvf_bsvf_pop(void)
 int
 nicvf_bsvf_empty(void)
 {
-	return SIMPLEQ_EMPTY(&head);
+	return STAILQ_EMPTY(&head);
 }
diff --git a/drivers/net/thunderx/base/nicvf_bsvf.h b/drivers/net/thunderx/base/nicvf_bsvf.h
index 5d5a25e..fb9b248 100644
--- a/drivers/net/thunderx/base/nicvf_bsvf.h
+++ b/drivers/net/thunderx/base/nicvf_bsvf.h
@@ -41,7 +41,7 @@ struct nicvf;
  * The base queue structure to hold secondary qsets.
  */
 struct svf_entry {
-	SIMPLEQ_ENTRY(svf_entry) next; /**< Next element's pointer */
+	STAILQ_ENTRY(svf_entry) next; /**< Next element's pointer */
 	struct nicvf *vf;              /**< Holder of a secondary qset */
 };
 
diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c
index 1060319..fa1cb32 100644
--- a/drivers/net/thunderx/nicvf_ethdev.c
+++ b/drivers/net/thunderx/nicvf_ethdev.c
@@ -41,7 +41,6 @@
 #include <inttypes.h>
 #include <netinet/in.h>
 #include <sys/queue.h>
-#include <sys/timerfd.h>
 
 #include <rte_alarm.h>
 #include <rte_atomic.h>
-- 
1.9.0

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

* [dpdk-stable] patch 'net/mlx4: update link status upon probing with LSC' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (34 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/thunderx: fix build on FreeBSD' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/nfp: clean Tx descriptor flags' " Yuanhan Liu
                   ` (119 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Gaetan Rivet; +Cc: Yuanhan Liu, Adrien Mazarguil, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 57c8b0ac34b9826c8b0510e2e653eca47bc22591 Mon Sep 17 00:00:00 2001
From: Gaetan Rivet <gaetan.rivet@6wind.com>
Date: Fri, 3 Mar 2017 16:39:56 +0100
Subject: [PATCH] net/mlx4: update link status upon probing with LSC

[ upstream commit 3fca2ab597d80dbb3052ec691342ca6a8e1e508b ]

If LSC interrupts are enabled, the application expects the link_update
ops to be executed by the PMD itself.

No link status change event is received upon probing, therefore the link
status update must be forced.

Fixes: c4da6caa426d ("mlx4: handle link status interrupts")

Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
---
 drivers/net/mlx4/mlx4.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c
index 79efaaa..6538e94 100644
--- a/drivers/net/mlx4/mlx4.c
+++ b/drivers/net/mlx4/mlx4.c
@@ -5836,6 +5836,9 @@ mlx4_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
 		/* Bring Ethernet device up. */
 		DEBUG("forcing Ethernet interface up");
 		priv_set_flags(priv, ~IFF_UP, IFF_UP);
+		/* Update link status once if waiting for LSC. */
+		if (eth_dev->data->dev_flags & RTE_ETH_DEV_INTR_LSC)
+			mlx4_link_update(eth_dev, 0);
 		continue;
 
 port_error:
-- 
1.9.0

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

* [dpdk-stable] patch 'net/nfp: clean Tx descriptor flags' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (35 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/mlx4: update link status upon probing with LSC' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/nfp: fix packet/data length conversion' " Yuanhan Liu
                   ` (118 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Alejandro Lucero; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From e0199f5a5e911916ebdff3b7357f0cc96aca7c12 Mon Sep 17 00:00:00 2001
From: Alejandro Lucero <alejandro.lucero@netronome.com>
Date: Tue, 21 Mar 2017 10:43:19 +0000
Subject: [PATCH] net/nfp: clean Tx descriptor flags

[ upstream commit 2dfcada3eba1c1f5ddb275a48dd044476ac53825 ]

When LSO, not doing this can led to firmware disruption. It does
not show as error because TCP ends up sending data again later on.

Fixes: 9ba3d0ae2090 ("net/nfp: add TSO support")

Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
---
 drivers/net/nfp/nfp_net.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
index d79f262..7b9b274 100644
--- a/drivers/net/nfp/nfp_net.c
+++ b/drivers/net/nfp/nfp_net.c
@@ -1665,16 +1665,22 @@ nfp_net_tx_tso(struct nfp_net_txq *txq, struct nfp_net_tx_desc *txd,
 	struct nfp_net_hw *hw = txq->hw;
 
 	if (!(hw->cap & NFP_NET_CFG_CTRL_LSO))
-		return;
+		goto clean_txd;
 
 	ol_flags = mb->ol_flags;
 
 	if (!(ol_flags & PKT_TX_TCP_SEG))
-		return;
+		goto clean_txd;
 
 	txd->l4_offset = mb->l2_len + mb->l3_len + mb->l4_len;
 	txd->lso = rte_cpu_to_le_16(mb->tso_segsz);
-	txd->flags |= PCIE_DESC_TX_LSO;
+	txd->flags = PCIE_DESC_TX_LSO;
+	return;
+
+clean_txd:
+	txd->flags = 0;
+	txd->l4_offset = 0;
+	txd->lso = 0;
 }
 
 /* nfp_net_tx_cksum - Set TX CSUM offload flags in TX descriptor */
-- 
1.9.0

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

* [dpdk-stable] patch 'net/nfp: fix packet/data length conversion' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (36 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/nfp: clean Tx descriptor flags' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/nfp: fix Rx interrupt' " Yuanhan Liu
                   ` (117 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Alejandro Lucero; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 2c37c9c3d3cde91c909e24f6e332a7747fca0197 Mon Sep 17 00:00:00 2001
From: Alejandro Lucero <alejandro.lucero@netronome.com>
Date: Tue, 21 Mar 2017 10:43:20 +0000
Subject: [PATCH] net/nfp: fix packet/data length conversion

[ upstream commit 19ac8c75df90ef90ef8100b13ee3fed2da5a5ac7 ]

Chained mbufs hold data_len as the length of that particular mbuf
and pkt_len as the full packet length including all the chained
mbufs. It is not clear from the mbuf definition if pkt_len should
be set for all the mbufs in a chain, but code there for handling
mbufs suggests just the first mbuf requires to have pkt_len set.

NFP PMD was assuming pkt_len is set in all the chained mbufs and
unit tests for gather dma were building mbufs with pkt_len always
set. This patch gets rid of that assumption.

Fixes: b812daadad0d ("nfp: add Rx and Tx")

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

diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
index 7b9b274..e402ea6 100644
--- a/drivers/net/nfp/nfp_net.c
+++ b/drivers/net/nfp/nfp_net.c
@@ -2102,6 +2102,7 @@ nfp_net_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 		 * Checksum and VLAN flags just in the first descriptor for a
 		 * multisegment packet, but TSO info needs to be in all of them.
 		 */
+		txd.data_len = pkt->pkt_len;
 		nfp_net_tx_tso(txq, &txd, pkt);
 		nfp_net_tx_cksum(txq, &txd, pkt);
 
@@ -2137,7 +2138,7 @@ nfp_net_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 
 			/* Filling descriptors fields */
 			txds->dma_len = dma_size;
-			txds->data_len = pkt->pkt_len;
+			txds->data_len = txd.data_len;
 			txds->dma_addr_hi = (dma_addr >> 32) & 0xff;
 			txds->dma_addr_lo = (dma_addr & 0xffffffff);
 			ASSERT(free_descs > 0);
-- 
1.9.0

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

* [dpdk-stable] patch 'net/nfp: fix Rx interrupt' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (37 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/nfp: fix packet/data length conversion' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: fix VLAN filter' " Yuanhan Liu
                   ` (116 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Alejandro Lucero; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 48fd10a9e4d6815fcf7d6b3aa3e34bfff870f861 Mon Sep 17 00:00:00 2001
From: Alejandro Lucero <alejandro.lucero@netronome.com>
Date: Tue, 21 Mar 2017 10:43:21 +0000
Subject: [PATCH] net/nfp: fix Rx interrupt

[ upstream commit 52822612980a35d04562ea0284e797b13cc08ce9 ]

Current code enables RX interrupts even if this it not
requested.

Fixes: ea121b28316d ("net/nfp: add Rx interrupts")

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

diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
index e402ea6..d1e6eac 100644
--- a/drivers/net/nfp/nfp_net.c
+++ b/drivers/net/nfp/nfp_net.c
@@ -708,7 +708,8 @@ nfp_net_start(struct rte_eth_dev *dev)
 			return -1;
 	}
 
-	nfp_configure_rx_interrupt(dev, intr_handle);
+	if (rte_intr_dp_is_en(intr_handle))
+		nfp_configure_rx_interrupt(dev, intr_handle);
 
 	rte_intr_enable(intr_handle);
 
-- 
1.9.0

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

* [dpdk-stable] patch 'net/i40e: fix VLAN filter' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (38 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/nfp: fix Rx interrupt' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/mlx5: fix reusing Rx/Tx queues' " Yuanhan Liu
                   ` (115 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Wenzhuo Lu; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 8755f34d9d4b6cf742b11f6b4cb6ef7e835a9c9b Mon Sep 17 00:00:00 2001
From: Wenzhuo Lu <wenzhuo.lu@intel.com>
Date: Wed, 22 Mar 2017 16:39:07 +0800
Subject: [PATCH] net/i40e: fix VLAN filter

[ upstream commit 9f0645cd147c8819deb8d844850c577b433f6b6a ]

VLAN filter is not working on i40e because driver need to
disable the VLAN promiscuous mode and set the VLAN filter
table.

Fixes: 5f2b0e3f7656 ("net/i40e: set VF VLAN filter from PF")

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 drivers/net/i40e/i40e_ethdev.c | 50 ++++++++++++++++++++++++++++++------------
 drivers/net/i40e/i40e_ethdev.h |  1 +
 2 files changed, 37 insertions(+), 14 deletions(-)

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 047855c..a3f8514 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -1873,6 +1873,7 @@ i40e_dev_start(struct rte_eth_dev *dev)
 	struct rte_pci_device *pci_dev = I40E_DEV_TO_PCI(dev);
 	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
 	uint32_t intr_vector = 0;
+	struct i40e_vsi *vsi;
 
 	hw->adapter_stopped = 0;
 
@@ -1951,6 +1952,15 @@ i40e_dev_start(struct rte_eth_dev *dev)
 			PMD_DRV_LOG(INFO, "fail to set vsi broadcast");
 	}
 
+	/* Enable the VLAN promiscuous mode. */
+	if (pf->vfs) {
+		for (i = 0; i < pf->vf_num; i++) {
+			vsi = pf->vfs[i].vsi;
+			i40e_aq_set_vsi_vlan_promisc(hw, vsi->seid,
+						     true, NULL);
+		}
+	}
+
 	/* Apply link configure */
 	if (dev->data->dev_conf.link_speeds & ~(ETH_LINK_SPEED_100M |
 				ETH_LINK_SPEED_1G | ETH_LINK_SPEED_10G |
@@ -4666,6 +4676,7 @@ i40e_vsi_setup(struct i40e_pf *pf,
 	vsi->parent_vsi = uplink_vsi ? uplink_vsi : pf->main_vsi;
 	vsi->user_param = user_param;
 	vsi->vlan_anti_spoof_on = 0;
+	vsi->vlan_filter_on = 0;
 	/* Allocate queues */
 	switch (vsi->type) {
 	case I40E_VSI_MAIN  :
@@ -6034,7 +6045,7 @@ i40e_set_vlan_filter(struct i40e_vsi *vsi,
 
 	i40e_store_vlan_filter(vsi, vlan_id, on);
 
-	if (!vsi->vlan_anti_spoof_on || !vlan_id)
+	if ((!vsi->vlan_anti_spoof_on && !vsi->vlan_filter_on) || !vlan_id)
 		return;
 
 	vlan_data.vlan_tag = rte_cpu_to_le_16(vlan_id);
@@ -10462,10 +10473,12 @@ rte_pmd_i40e_set_vf_vlan_anti_spoof(uint8_t port, uint16_t vf_id, uint8_t on)
 		return 0; /* already on or off */
 
 	vsi->vlan_anti_spoof_on = on;
-	ret = i40e_add_rm_all_vlan_filter(vsi, on);
-	if (ret) {
-		PMD_DRV_LOG(ERR, "Failed to remove VLAN filters.");
-		return -ENOTSUP;
+	if (!vsi->vlan_filter_on) {
+		ret = i40e_add_rm_all_vlan_filter(vsi, on);
+		if (ret) {
+			PMD_DRV_LOG(ERR, "Failed to add/remove VLAN filters.");
+			return -ENOTSUP;
+		}
 	}
 
 	vsi->info.valid_sections = cpu_to_le16(I40E_AQ_VSI_PROP_SECURITY_VALID);
@@ -10648,7 +10661,7 @@ i40e_vsi_set_tx_loopback(struct i40e_vsi *vsi, uint8_t on)
 		PMD_INIT_LOG(ERR, "Failed to remove MAC filters.");
 		return ret;
 	}
-	if (vsi->vlan_anti_spoof_on) {
+	if (vsi->vlan_anti_spoof_on || vsi->vlan_filter_on) {
 		ret = i40e_add_rm_all_vlan_filter(vsi, 0);
 		if (ret) {
 			PMD_INIT_LOG(ERR, "Failed to remove VLAN filters.");
@@ -10676,7 +10689,7 @@ i40e_vsi_set_tx_loopback(struct i40e_vsi *vsi, uint8_t on)
 	ret = i40e_vsi_restore_mac_filter(vsi);
 	if (ret)
 		return ret;
-	if (vsi->vlan_anti_spoof_on) {
+	if (vsi->vlan_anti_spoof_on || vsi->vlan_filter_on) {
 		ret = i40e_add_rm_all_vlan_filter(vsi, 1);
 		if (ret)
 			return ret;
@@ -11094,6 +11107,7 @@ int rte_pmd_i40e_set_vf_vlan_filter(uint8_t port, uint16_t vlan_id,
 	struct rte_eth_dev *dev;
 	struct i40e_pf *pf;
 	struct i40e_hw *hw;
+	struct i40e_vsi *vsi;
 	uint16_t vf_idx;
 	int ret = I40E_SUCCESS;
 
@@ -11132,14 +11146,22 @@ int rte_pmd_i40e_set_vf_vlan_filter(uint8_t port, uint16_t vlan_id,
 		return -ENODEV;
 	}
 
-	for (vf_idx = 0; vf_idx < 64 && ret == I40E_SUCCESS; vf_idx++) {
+	for (vf_idx = 0; vf_idx < pf->vf_num && ret == I40E_SUCCESS; vf_idx++) {
 		if (vf_mask & ((uint64_t)(1ULL << vf_idx))) {
-			if (on)
-				ret = i40e_vsi_add_vlan(pf->vfs[vf_idx].vsi,
-							vlan_id);
-			else
-				ret = i40e_vsi_delete_vlan(pf->vfs[vf_idx].vsi,
-							   vlan_id);
+			vsi = pf->vfs[vf_idx].vsi;
+			if (on) {
+				if (!vsi->vlan_filter_on) {
+					vsi->vlan_filter_on = true;
+					if (!vsi->vlan_anti_spoof_on)
+						i40e_add_rm_all_vlan_filter(
+							vsi, true);
+				}
+				i40e_aq_set_vsi_vlan_promisc(hw, vsi->seid,
+							     false, NULL);
+				ret = i40e_vsi_add_vlan(vsi, vlan_id);
+			} else {
+				ret = i40e_vsi_delete_vlan(vsi, vlan_id);
+			}
 		}
 	}
 
diff --git a/drivers/net/i40e/i40e_ethdev.h b/drivers/net/i40e/i40e_ethdev.h
index f545850..aebb097 100644
--- a/drivers/net/i40e/i40e_ethdev.h
+++ b/drivers/net/i40e/i40e_ethdev.h
@@ -364,6 +364,7 @@ struct i40e_vsi {
 	uint16_t nb_msix;   /* The max number of msix vector */
 	uint8_t enabled_tc; /* The traffic class enabled */
 	uint8_t vlan_anti_spoof_on; /* The VLAN anti-spoofing enabled */
+	uint8_t vlan_filter_on; /* The VLAN filter enabled */
 	struct i40e_bw_info bw_info; /* VSI bandwidth information */
 };
 
-- 
1.9.0

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

* [dpdk-stable] patch 'net/mlx5: fix reusing Rx/Tx queues' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (39 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: fix VLAN filter' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/ixgbe: fix TC bandwidth setting' " Yuanhan Liu
                   ` (114 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Yongseok Koh; +Cc: Yuanhan Liu, Nelio Laranjeiro, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 962782ddfe8ad754fe1537b86df45de9279fc0c2 Mon Sep 17 00:00:00 2001
From: Yongseok Koh <yskoh@mellanox.com>
Date: Tue, 21 Mar 2017 10:50:51 -0700
Subject: [PATCH] net/mlx5: fix reusing Rx/Tx queues

[ upstream commit 69a3d576f0c7f4e5ecf905a04e6e24eff6967fb0 ]

When configuring Rx/Tx queue, if queue already exists, it is reused. But if
the queue size is changed, it must be resized to not access/overwrite
invalid memory.

Fixes: 2e22920b85d9 ("mlx5: support non-scattered Tx and Rx")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
---
 drivers/net/mlx5/mlx5_rxq.c | 13 +++++++++++++
 drivers/net/mlx5/mlx5_txq.c | 13 +++++++++++++
 2 files changed, 26 insertions(+)

diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index 28e93d3..118f6d6 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -1247,6 +1247,19 @@ mlx5_rx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
 		}
 		(*priv->rxqs)[idx] = NULL;
 		rxq_cleanup(rxq_ctrl);
+		/* Resize if rxq size is changed. */
+		if (rxq_ctrl->rxq.elts_n != log2above(desc)) {
+			rxq_ctrl = rte_realloc(rxq_ctrl,
+					       sizeof(*rxq_ctrl) +
+					       desc * sizeof(struct rte_mbuf *),
+					       RTE_CACHE_LINE_SIZE);
+			if (!rxq_ctrl) {
+				ERROR("%p: unable to reallocate queue index %u",
+					(void *)dev, idx);
+				priv_unlock(priv);
+				return -ENOMEM;
+			}
+		}
 	} else {
 		rxq_ctrl = rte_calloc_socket("RXQ", 1, sizeof(*rxq_ctrl) +
 					     desc * sizeof(struct rte_mbuf *),
diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c
index 949035b..c9b2ae4 100644
--- a/drivers/net/mlx5/mlx5_txq.c
+++ b/drivers/net/mlx5/mlx5_txq.c
@@ -496,6 +496,19 @@ mlx5_tx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
 		}
 		(*priv->txqs)[idx] = NULL;
 		txq_cleanup(txq_ctrl);
+		/* Resize if txq size is changed. */
+		if (txq_ctrl->txq.elts_n != log2above(desc)) {
+			txq_ctrl = rte_realloc(txq_ctrl,
+					       sizeof(*txq_ctrl) +
+					       desc * sizeof(struct rte_mbuf *),
+					       RTE_CACHE_LINE_SIZE);
+			if (!txq_ctrl) {
+				ERROR("%p: unable to reallocate queue index %u",
+					(void *)dev, idx);
+				priv_unlock(priv);
+				return -ENOMEM;
+			}
+		}
 	} else {
 		txq_ctrl =
 			rte_calloc_socket("TXQ", 1,
-- 
1.9.0

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

* [dpdk-stable] patch 'net/ixgbe: fix TC bandwidth setting' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (40 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/mlx5: fix reusing Rx/Tx queues' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/mlx4: fix returned values upon failed probing' " Yuanhan Liu
                   ` (113 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Wenzhuo Lu; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From b94ac941b1267270901c894825f9b96a81dd8b04 Mon Sep 17 00:00:00 2001
From: Wenzhuo Lu <wenzhuo.lu@intel.com>
Date: Fri, 24 Mar 2017 10:51:03 +0800
Subject: [PATCH] net/ixgbe: fix TC bandwidth setting

[ upstream commit 1c4da4ef963a971701cd319ab78a431ca53bcb93 ]

4 and 8 TCs are supported on ixgbe. By default there're
8 TCs. So when initializing the device, the bandwidth for
8 TCs is set.
When changing the TC number, it's only considered setting
the bandwidth for 4 TCs. If the user change the number
from 4 to 8, the TCs' bandwidth is not right.

Fixes: 0807f80d35d0 ("ixgbe: DCB / flow control")

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 drivers/net/ixgbe/ixgbe_rxtx.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
index 8751fe3..537d7f4 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
@@ -3762,6 +3762,15 @@ ixgbe_dcb_hw_configure(struct rte_eth_dev *dev,
 			tc->path[IXGBE_DCB_TX_CONFIG].bwg_percent = 0;
 			tc->path[IXGBE_DCB_RX_CONFIG].bwg_percent = 0;
 		}
+	} else {
+		/* Re-configure 8 TCs BW */
+		for (i = 0; i < nb_tcs; i++) {
+			tc = &dcb_config->tc_config[i];
+			tc->path[IXGBE_DCB_TX_CONFIG].bwg_percent =
+				(uint8_t)(100 / nb_tcs + (i & 1));
+			tc->path[IXGBE_DCB_RX_CONFIG].bwg_percent =
+				(uint8_t)(100 / nb_tcs + (i & 1));
+		}
 	}
 
 	switch (hw->mac.type) {
-- 
1.9.0

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

* [dpdk-stable] patch 'net/mlx4: fix returned values upon failed probing' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (41 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/ixgbe: fix TC bandwidth setting' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/mlx5: " Yuanhan Liu
                   ` (112 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Gaetan Rivet; +Cc: Yuanhan Liu, Adrien Mazarguil, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From d07d589ff61b4d3a79438b36eed44876ba491f1b Mon Sep 17 00:00:00 2001
From: Gaetan Rivet <gaetan.rivet@6wind.com>
Date: Tue, 28 Mar 2017 16:13:11 +0200
Subject: [PATCH] net/mlx4: fix returned values upon failed probing

[ upstream commit 9e09761b43179caa3bc825a83b18e3b27ddf7f10 ]

Let error messages in place, but return unambiguous values upon
probing errors.

Fixes: 66e1591687ac ("mlx4: avoid init errors when kernel modules are not loaded")

Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
---
 drivers/net/mlx4/mlx4.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c
index 6538e94..6dc0526 100644
--- a/drivers/net/mlx4/mlx4.c
+++ b/drivers/net/mlx4/mlx4.c
@@ -5553,10 +5553,8 @@ mlx4_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
 	list = ibv_get_device_list(&i);
 	if (list == NULL) {
 		assert(errno);
-		if (errno == ENOSYS) {
-			WARN("cannot list devices, is ib_uverbs loaded?");
-			return 0;
-		}
+		if (errno == ENOSYS)
+			ERROR("cannot list devices, is ib_uverbs loaded?");
 		return -errno;
 	}
 	assert(i >= 0);
@@ -5588,11 +5586,11 @@ mlx4_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
 		ibv_free_device_list(list);
 		switch (err) {
 		case 0:
-			WARN("cannot access device, is mlx4_ib loaded?");
-			return 0;
+			ERROR("cannot access device, is mlx4_ib loaded?");
+			return -ENODEV;
 		case EINVAL:
-			WARN("cannot use device, are drivers up to date?");
-			return 0;
+			ERROR("cannot use device, are drivers up to date?");
+			return -EINVAL;
 		}
 		assert(err > 0);
 		return -err;
-- 
1.9.0

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

* [dpdk-stable] patch 'net/mlx5: fix returned values upon failed probing' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (42 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/mlx4: fix returned values upon failed probing' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/fm10k: fix pointer cast' " Yuanhan Liu
                   ` (111 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Gaetan Rivet; +Cc: Yuanhan Liu, Adrien Mazarguil, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 2e84390f812d023beea32ff0fba2967922065c24 Mon Sep 17 00:00:00 2001
From: Gaetan Rivet <gaetan.rivet@6wind.com>
Date: Tue, 28 Mar 2017 16:13:12 +0200
Subject: [PATCH] net/mlx5: fix returned values upon failed probing

[ upstream commit 5525aa8fad37f629cd73f57ff82891f67884d3dd ]

Fixes: 771fa900b73a ("mlx5: introduce new driver for Mellanox ConnectX-4 adapters")

Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
---
 drivers/net/mlx5/mlx5.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c
index d4bd469..e23b792 100644
--- a/drivers/net/mlx5/mlx5.c
+++ b/drivers/net/mlx5/mlx5.c
@@ -387,10 +387,8 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
 	list = ibv_get_device_list(&i);
 	if (list == NULL) {
 		assert(errno);
-		if (errno == ENOSYS) {
-			WARN("cannot list devices, is ib_uverbs loaded?");
-			return 0;
-		}
+		if (errno == ENOSYS)
+			ERROR("cannot list devices, is ib_uverbs loaded?");
 		return -errno;
 	}
 	assert(i >= 0);
@@ -446,11 +444,11 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
 		ibv_free_device_list(list);
 		switch (err) {
 		case 0:
-			WARN("cannot access device, is mlx5_ib loaded?");
-			return 0;
+			ERROR("cannot access device, is mlx5_ib loaded?");
+			return -ENODEV;
 		case EINVAL:
-			WARN("cannot use device, are drivers up to date?");
-			return 0;
+			ERROR("cannot use device, are drivers up to date?");
+			return -EINVAL;
 		}
 		assert(err > 0);
 		return -err;
-- 
1.9.0

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

* [dpdk-stable] patch 'net/fm10k: fix pointer cast' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (43 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/mlx5: " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/qede: fix missing UDP protocol in RSS offload types' " Yuanhan Liu
                   ` (110 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Xiao Wang; +Cc: Yuanhan Liu, Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From f06f47849168c92b302f8ccf1da14d15e6059de9 Mon Sep 17 00:00:00 2001
From: Xiao Wang <xiao.w.wang@intel.com>
Date: Mon, 27 Mar 2017 20:57:47 -0700
Subject: [PATCH] net/fm10k: fix pointer cast

[ upstream commit 6a1db11448ed4158da524b2cbad26894277cc22d ]

The device specific data is located at dev->data->dev_private.

Fixes: 162f32290a99 ("fm10k: move parameters initialization")
Fixes: 039991bc28ff ("fm10k: add vector pre-condition check")
Fixes: 77a8ab47eb38 ("fm10k: select best Rx function")

Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/fm10k/fm10k_ethdev.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
index c4fe746..388f929 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -1803,7 +1803,8 @@ fm10k_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_id,
 	const struct rte_eth_rxconf *conf, struct rte_mempool *mp)
 {
 	struct fm10k_hw *hw = FM10K_DEV_PRIVATE_TO_HW(dev->data->dev_private);
-	struct fm10k_dev_info *dev_info = FM10K_DEV_PRIVATE_TO_INFO(dev);
+	struct fm10k_dev_info *dev_info =
+		FM10K_DEV_PRIVATE_TO_INFO(dev->data->dev_private);
 	struct fm10k_rx_queue *q;
 	const struct rte_memzone *mz;
 
@@ -2778,7 +2779,8 @@ fm10k_set_tx_function(struct rte_eth_dev *dev)
 static void __attribute__((cold))
 fm10k_set_rx_function(struct rte_eth_dev *dev)
 {
-	struct fm10k_dev_info *dev_info = FM10K_DEV_PRIVATE_TO_INFO(dev);
+	struct fm10k_dev_info *dev_info =
+		FM10K_DEV_PRIVATE_TO_INFO(dev->data->dev_private);
 	uint16_t i, rx_using_sse;
 	uint16_t rx_ftag_en = 0;
 
@@ -2820,7 +2822,8 @@ static void
 fm10k_params_init(struct rte_eth_dev *dev)
 {
 	struct fm10k_hw *hw = FM10K_DEV_PRIVATE_TO_HW(dev->data->dev_private);
-	struct fm10k_dev_info *info = FM10K_DEV_PRIVATE_TO_INFO(dev);
+	struct fm10k_dev_info *info =
+		FM10K_DEV_PRIVATE_TO_INFO(dev->data->dev_private);
 
 	/* Inialize bus info. Normally we would call fm10k_get_bus_info(), but
 	 * there is no way to get link status without reading BAR4.  Until this
-- 
1.9.0

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

* [dpdk-stable] patch 'net/qede: fix missing UDP protocol in RSS offload types' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (44 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/fm10k: fix pointer cast' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/qede: fix VF RSS configuration' " Yuanhan Liu
                   ` (109 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Harish Patil; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 1a2d0c0aa157c8de6d933d96b44c6754744a93ef Mon Sep 17 00:00:00 2001
From: Harish Patil <harish.patil@qlogic.com>
Date: Fri, 24 Mar 2017 00:40:57 -0700
Subject: [PATCH] net/qede: fix missing UDP protocol in RSS offload types

[ upstream commit 82bd0987bdd2e3bdc54b48f2ab37e2281bbcd4fb ]

Both UDP and TCP based RSS offload types are supported by the device.
This patch adds UDP protocol which got missed out in the original patch.

Fixes: 4c98f2768eef ("net/qede: support RSS hash configuration")

Signed-off-by: Harish Patil <harish.patil@qlogic.com>
---
 drivers/net/qede/qede_ethdev.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
index 0494dbd..987c451 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -1477,6 +1477,8 @@ static void qede_init_rss_caps(uint8_t *rss_caps, uint64_t hf)
 	*rss_caps |= (hf & ETH_RSS_NONFRAG_IPV4_TCP)  ? ECORE_RSS_IPV4_TCP : 0;
 	*rss_caps |= (hf & ETH_RSS_NONFRAG_IPV6_TCP)  ? ECORE_RSS_IPV6_TCP : 0;
 	*rss_caps |= (hf & ETH_RSS_IPV6_TCP_EX)       ? ECORE_RSS_IPV6_TCP : 0;
+	*rss_caps |= (hf & ETH_RSS_NONFRAG_IPV4_UDP)  ? ECORE_RSS_IPV4_UDP : 0;
+	*rss_caps |= (hf & ETH_RSS_NONFRAG_IPV6_UDP)  ? ECORE_RSS_IPV6_UDP : 0;
 }
 
 static int qede_rss_hash_update(struct rte_eth_dev *eth_dev,
-- 
1.9.0

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

* [dpdk-stable] patch 'net/qede: fix VF RSS configuration' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (45 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/qede: fix missing UDP protocol in RSS offload types' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/qede: prevent crash while changing MTU dynamically' " Yuanhan Liu
                   ` (108 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Harish Patil; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 650039cd41fa57a8628a8e0088fbe70ef3879c22 Mon Sep 17 00:00:00 2001
From: Harish Patil <harish.patil@qlogic.com>
Date: Fri, 24 Mar 2017 00:40:58 -0700
Subject: [PATCH] net/qede: fix VF RSS configuration

[ upstream commit 8130abb3ec692be11b7456a3563b32f543a6955c ]

The newer SR-IOV PF drivers expects RX/TX queues to be created before
applying RSS configuration. This patch addresses this requirement by
deferring RSS configuration till the queues are created. Even though
this issue is only seen in SR-IOV context, the changes will be made
applicable to PF also to keep the behavior consistent between VF/PF.

Fixes: 7ab35bf6b97b ("net/qede: fix RSS")

Signed-off-by: Harish Patil <harish.patil@qlogic.com>
---
 drivers/net/qede/qede_ethdev.c | 18 +++---------------
 drivers/net/qede/qede_ethdev.h |  2 +-
 drivers/net/qede/qede_rxtx.c   |  9 +++++++++
 3 files changed, 13 insertions(+), 16 deletions(-)

diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
index 987c451..49ebd9a 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -797,7 +797,7 @@ static void qede_prandom_bytes(uint32_t *buff)
 		buff[i] = rand();
 }
 
-static int qede_config_rss(struct rte_eth_dev *eth_dev)
+int qede_config_rss(struct rte_eth_dev *eth_dev)
 {
 	struct qede_dev *qdev = QEDE_INIT_QDEV(eth_dev);
 	struct ecore_dev *edev = QEDE_INIT_EDEV(qdev);
@@ -903,20 +903,8 @@ static int qede_dev_configure(struct rte_eth_dev *eth_dev)
 	if (rc != 0)
 		return rc;
 
-	/* Do RSS configuration after vport-start */
-	switch (rxmode->mq_mode) {
-	case ETH_MQ_RX_RSS:
-		rc = qede_config_rss(eth_dev);
-		if (rc != 0) {
-			qdev->ops->vport_stop(edev, 0);
-			qede_dealloc_fp_resc(eth_dev);
-			return -EINVAL;
-		}
-	break;
-	case ETH_MQ_RX_NONE:
-		DP_INFO(edev, "RSS is disabled\n");
-	break;
-	default:
+	if (!(rxmode->mq_mode == ETH_MQ_RX_RSS ||
+	    rxmode->mq_mode == ETH_MQ_RX_NONE)) {
 		DP_ERR(edev, "Unsupported RSS mode\n");
 		qdev->ops->vport_stop(edev, 0);
 		qede_dealloc_fp_resc(eth_dev);
diff --git a/drivers/net/qede/qede_ethdev.h b/drivers/net/qede/qede_ethdev.h
index be54f31..90ce05a 100644
--- a/drivers/net/qede/qede_ethdev.h
+++ b/drivers/net/qede/qede_ethdev.h
@@ -209,7 +209,7 @@ static void qede_init_rss_caps(uint8_t *rss_caps, uint64_t hf);
 static inline uint32_t qede_rx_cqe_to_pkt_type(uint16_t flags);
 
 /* Non-static functions */
-void qede_init_rss_caps(uint8_t *rss_caps, uint64_t hf);
+int qede_config_rss(struct rte_eth_dev *eth_dev);
 
 int qed_fill_eth_dev_info(struct ecore_dev *edev,
 				 struct qed_dev_eth_info *info);
diff --git a/drivers/net/qede/qede_rxtx.c b/drivers/net/qede/qede_rxtx.c
index 01ea9b4..329c8e4 100644
--- a/drivers/net/qede/qede_rxtx.c
+++ b/drivers/net/qede/qede_rxtx.c
@@ -1340,6 +1340,15 @@ int qede_dev_start(struct rte_eth_dev *eth_dev)
 		return rc;
 	}
 
+	/* Newer SR-IOV PF driver expects RX/TX queues to be started before
+	 * enabling RSS. Hence RSS configuration is deferred upto this point.
+	 * Also, we would like to retain similar behavior in PF case, so we
+	 * don't do PF/VF specific check here.
+	 */
+	if (eth_dev->data->dev_conf.rxmode.mq_mode  == ETH_MQ_RX_RSS)
+		if (qede_config_rss(eth_dev))
+			return -1;
+
 	/* Bring-up the link */
 	qede_dev_set_link_state(eth_dev, true);
 
-- 
1.9.0

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

* [dpdk-stable] patch 'net/qede: prevent crash while changing MTU dynamically' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (46 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/qede: fix VF RSS configuration' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/mlx5: fix Tx when first segment size is too short' " Yuanhan Liu
                   ` (107 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Harish Patil; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 2984313be5e722a71cc96a755cd2d734497cfdc9 Mon Sep 17 00:00:00 2001
From: Harish Patil <harish.patil@qlogic.com>
Date: Fri, 24 Mar 2017 00:40:59 -0700
Subject: [PATCH] net/qede: prevent crash while changing MTU dynamically

[ upstream commit 1ef4c3a5c1f76b810620b76d82a31ce33a83d3fe ]

The driver can handle dynamic MTU change without needing the port to be
stopped explicitly by the application. However, there is currently no
check to prevent I/Os from happening on a different thread while the
port is going thru' reset internally. This patch fixes this issue by
assigning RX/TX burst functions to a dummy function and also reconfigure
RX bufsize for each rx queue based on the new MTU value.

Fixes: 200645ac7909 ("net/qede: set MTU")

Signed-off-by: Harish Patil <harish.patil@qlogic.com>
---
 drivers/net/qede/qede_ethdev.c | 57 +++++++++++++++++++++++++++++++-----------
 drivers/net/qede/qede_rxtx.c   |  8 ++++++
 drivers/net/qede/qede_rxtx.h   |  4 +++
 3 files changed, 55 insertions(+), 14 deletions(-)

diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
index 49ebd9a..039446b 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -1659,32 +1659,61 @@ static int qede_rss_reta_query(struct rte_eth_dev *eth_dev,
 
 int qede_set_mtu(struct rte_eth_dev *dev, uint16_t mtu)
 {
-	uint32_t frame_size;
-	struct qede_dev *qdev = dev->data->dev_private;
+	struct qede_dev *qdev = QEDE_INIT_QDEV(dev);
+	struct ecore_dev *edev = QEDE_INIT_EDEV(qdev);
 	struct rte_eth_dev_info dev_info = {0};
+	struct qede_fastpath *fp;
+	uint32_t frame_size;
+	uint16_t rx_buf_size;
+	uint16_t bufsz;
+	int i;
 
+	PMD_INIT_FUNC_TRACE(edev);
 	qede_dev_info_get(dev, &dev_info);
-
-	/* VLAN_TAG = 4 */
-	frame_size = mtu + ETHER_HDR_LEN + ETHER_CRC_LEN + 4;
-
-	if ((mtu < ETHER_MIN_MTU) || (frame_size > dev_info.max_rx_pktlen))
+	frame_size = mtu + QEDE_ETH_OVERHEAD;
+	if ((mtu < ETHER_MIN_MTU) || (frame_size > dev_info.max_rx_pktlen)) {
+		DP_ERR(edev, "MTU %u out of range\n", mtu);
 		return -EINVAL;
-
+	}
 	if (!dev->data->scattered_rx &&
-	    frame_size > dev->data->min_rx_buf_size - RTE_PKTMBUF_HEADROOM)
+	    frame_size > dev->data->min_rx_buf_size - RTE_PKTMBUF_HEADROOM) {
+		DP_INFO(edev, "MTU greater than minimum RX buffer size of %u\n",
+			dev->data->min_rx_buf_size);
 		return -EINVAL;
-
+	}
+	/* Temporarily replace I/O functions with dummy ones. It cannot
+	 * be set to NULL because rte_eth_rx_burst() doesn't check for NULL.
+	 */
+	dev->rx_pkt_burst = qede_rxtx_pkts_dummy;
+	dev->tx_pkt_burst = qede_rxtx_pkts_dummy;
+	qede_dev_stop(dev);
+	rte_delay_ms(1000);
+	qdev->mtu = mtu;
+	/* Fix up RX buf size for all queues of the port */
+	for_each_queue(i) {
+		fp = &qdev->fp_array[i];
+		if (fp->type & QEDE_FASTPATH_RX) {
+			bufsz = (uint16_t)rte_pktmbuf_data_room_size(
+				fp->rxq->mb_pool) - RTE_PKTMBUF_HEADROOM;
+			if (dev->data->scattered_rx)
+				rx_buf_size = bufsz + QEDE_ETH_OVERHEAD;
+			else
+				rx_buf_size = mtu + QEDE_ETH_OVERHEAD;
+			rx_buf_size = QEDE_CEIL_TO_CACHE_LINE_SIZE(rx_buf_size);
+			fp->rxq->rx_buf_size = rx_buf_size;
+			DP_INFO(edev, "buf_size adjusted to %u\n", rx_buf_size);
+		}
+	}
+	qede_dev_start(dev);
 	if (frame_size > ETHER_MAX_LEN)
 		dev->data->dev_conf.rxmode.jumbo_frame = 1;
 	else
 		dev->data->dev_conf.rxmode.jumbo_frame = 0;
-
 	/* update max frame size */
 	dev->data->dev_conf.rxmode.max_rx_pkt_len = frame_size;
-	qdev->mtu = mtu;
-	qede_dev_stop(dev);
-	qede_dev_start(dev);
+	/* Reassign back */
+	dev->rx_pkt_burst = qede_recv_pkts;
+	dev->tx_pkt_burst = qede_xmit_pkts;
 
 	return 0;
 }
diff --git a/drivers/net/qede/qede_rxtx.c b/drivers/net/qede/qede_rxtx.c
index 329c8e4..7919099 100644
--- a/drivers/net/qede/qede_rxtx.c
+++ b/drivers/net/qede/qede_rxtx.c
@@ -1582,3 +1582,11 @@ void qede_dev_stop(struct rte_eth_dev *eth_dev)
 
 	DP_INFO(edev, "dev_state is QEDE_DEV_STOP\n");
 }
+
+uint16_t
+qede_rxtx_pkts_dummy(__rte_unused void *p_rxq,
+		     __rte_unused struct rte_mbuf **pkts,
+		     __rte_unused uint16_t nb_pkts)
+{
+	return 0;
+}
diff --git a/drivers/net/qede/qede_rxtx.h b/drivers/net/qede/qede_rxtx.h
index 9a393e9..d6cdbc6 100644
--- a/drivers/net/qede/qede_rxtx.h
+++ b/drivers/net/qede/qede_rxtx.h
@@ -233,6 +233,10 @@ uint16_t qede_xmit_pkts(void *p_txq, struct rte_mbuf **tx_pkts,
 uint16_t qede_recv_pkts(void *p_rxq, struct rte_mbuf **rx_pkts,
 			uint16_t nb_pkts);
 
+uint16_t qede_rxtx_pkts_dummy(__rte_unused void *p_rxq,
+			      __rte_unused struct rte_mbuf **pkts,
+			      __rte_unused uint16_t nb_pkts);
+
 /* Fastpath resource alloc/dealloc helpers */
 int qede_alloc_fp_resc(struct qede_dev *qdev);
 
-- 
1.9.0

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

* [dpdk-stable] patch 'net/mlx5: fix Tx when first segment size is too short' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (47 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/qede: prevent crash while changing MTU dynamically' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/sfc: destroy event queue when Rx queue is released' " Yuanhan Liu
                   ` (106 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Nélio Laranjeiro
  Cc: Yuanhan Liu, Adrien Mazarguil, Yongseok Koh, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 0316eb86c3eeec071ce985191a394e5a075678f7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?N=C3=A9lio=20Laranjeiro?= <nelio.laranjeiro@6wind.com>
Date: Wed, 29 Mar 2017 09:51:39 +0200
Subject: [PATCH] net/mlx5: fix Tx when first segment size is too short

[ upstream commit 959be52e9308255692ddd6f72ff0a7eb977d07cd ]

First segment size must be at least 18 bytes, packets not respecting this
are silently not sent by the NIC but counted as sent by the PMD.  The only
way to figure out is compiling the PMD in debug mode.

Fixes: 6579c27c11a5 ("net/mlx5: remove gather loop on segments")

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
---
 drivers/net/mlx5/mlx5_rxtx.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c
index e152776..2da1d29 100644
--- a/drivers/net/mlx5/mlx5_rxtx.c
+++ b/drivers/net/mlx5/mlx5_rxtx.c
@@ -426,7 +426,8 @@ mlx5_tx_burst(void *dpdk_txq, struct rte_mbuf **pkts, uint16_t pkts_n)
 #ifdef MLX5_PMD_SOFT_COUNTERS
 		total_length = length;
 #endif
-		assert(length >= MLX5_WQE_DWORD_SIZE);
+		if (length < (MLX5_WQE_DWORD_SIZE + 2))
+			break;
 		/* Update element. */
 		(*txq->elts)[elts_head] = buf;
 		elts_head = (elts_head + 1) & (elts_n - 1);
-- 
1.9.0

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

* [dpdk-stable] patch 'net/sfc: destroy event queue when Rx queue is released' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (48 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/mlx5: fix Tx when first segment size is too short' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/sfc: destroy event queue when Tx " Yuanhan Liu
                   ` (105 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Andrew Rybchenko; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From f112ac22a3b1a851b66cca8da3b3a60d260ef409 Mon Sep 17 00:00:00 2001
From: Andrew Rybchenko <arybchenko@solarflare.com>
Date: Wed, 29 Mar 2017 09:25:40 +0100
Subject: [PATCH] net/sfc: destroy event queue when Rx queue is released

[ upstream commit 6774b24e287b59a288f4383015379ed8dda8cb28 ]

Fixes: ce35b05c635e ("net/sfc: implement Rx queue setup release operations")

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

diff --git a/drivers/net/sfc/sfc_rx.c b/drivers/net/sfc/sfc_rx.c
index 906536e..1d88005 100644
--- a/drivers/net/sfc/sfc_rx.c
+++ b/drivers/net/sfc/sfc_rx.c
@@ -761,6 +761,8 @@ sfc_rx_qfini(struct sfc_adapter *sa, unsigned int sw_index)
 	rte_free(rxq->sw_desc);
 	sfc_dma_free(sa, &rxq->mem);
 	rte_free(rxq);
+
+	sfc_ev_qfini(sa, sfc_evq_index_by_rxq_sw_index(sa, sw_index));
 }
 
 #if EFSYS_OPT_RX_SCALE
-- 
1.9.0

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

* [dpdk-stable] patch 'net/sfc: destroy event queue when Tx queue is released' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (49 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/sfc: destroy event queue when Rx queue is released' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/sfc: fix leak if EvQ DMA space allocation fails' " Yuanhan Liu
                   ` (104 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Andrew Rybchenko; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 5c6ff0c06fa7694a85f4fbe11741de5fa4c929d3 Mon Sep 17 00:00:00 2001
From: Andrew Rybchenko <arybchenko@solarflare.com>
Date: Wed, 29 Mar 2017 09:25:41 +0100
Subject: [PATCH] net/sfc: destroy event queue when Tx queue is released

[ upstream commit 940a34faf4bd94cb3968dd2b030260ee1d15ddbf ]

Fixes: b1b7ad933b39 ("net/sfc: set up and release Tx queues")

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

diff --git a/drivers/net/sfc/sfc_tx.c b/drivers/net/sfc/sfc_tx.c
index 5a6282c..8630f74 100644
--- a/drivers/net/sfc/sfc_tx.c
+++ b/drivers/net/sfc/sfc_tx.c
@@ -253,6 +253,8 @@ sfc_tx_qfini(struct sfc_adapter *sa, unsigned int sw_index)
 	rte_free(txq->pend_desc);
 	sfc_dma_free(sa, &txq->mem);
 	rte_free(txq);
+
+	sfc_ev_qfini(sa, sfc_evq_index_by_txq_sw_index(sa, sw_index));
 }
 
 static int
-- 
1.9.0

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

* [dpdk-stable] patch 'net/sfc: fix leak if EvQ DMA space allocation fails' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (50 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/sfc: destroy event queue when Tx " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/sfc: use correct function to free scattered packet on Rx' " Yuanhan Liu
                   ` (103 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Andrew Rybchenko; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From f73204cd85b3bbbb4ac6122faf6a6806f1c848a7 Mon Sep 17 00:00:00 2001
From: Andrew Rybchenko <arybchenko@solarflare.com>
Date: Wed, 29 Mar 2017 09:28:25 +0100
Subject: [PATCH] net/sfc: fix leak if EvQ DMA space allocation fails

[ upstream commit 0c16506e5947f65f4d4ff3a4c3e428e52158e5de ]

Fixes: 58294ee65afb ("net/sfc: support event queue")

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

diff --git a/drivers/net/sfc/sfc_ev.c b/drivers/net/sfc/sfc_ev.c
index f717faa..c86f732 100644
--- a/drivers/net/sfc/sfc_ev.c
+++ b/drivers/net/sfc/sfc_ev.c
@@ -615,10 +615,11 @@ sfc_ev_qinit(struct sfc_adapter *sa, unsigned int sw_index,
 	SFC_ASSERT(entries <= evq_info->max_entries);
 	evq_info->entries = entries;
 
+	rc = ENOMEM;
 	evq = rte_zmalloc_socket("sfc-evq", sizeof(*evq), RTE_CACHE_LINE_SIZE,
 				 socket_id);
 	if (evq == NULL)
-		return ENOMEM;
+		goto fail_evq_alloc;
 
 	evq->sa = sa;
 	evq->evq_index = sw_index;
@@ -627,13 +628,21 @@ sfc_ev_qinit(struct sfc_adapter *sa, unsigned int sw_index,
 	rc = sfc_dma_alloc(sa, "evq", sw_index, EFX_EVQ_SIZE(evq_info->entries),
 			   socket_id, &evq->mem);
 	if (rc != 0)
-		return rc;
+		goto fail_dma_alloc;
 
 	evq->init_state = SFC_EVQ_INITIALIZED;
 
 	evq_info->evq = evq;
 
 	return 0;
+
+fail_dma_alloc:
+	rte_free(evq);
+
+fail_evq_alloc:
+
+	sfc_log_init(sa, "failed %d", rc);
+	return rc;
 }
 
 void
-- 
1.9.0

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

* [dpdk-stable] patch 'net/sfc: use correct function to free scattered packet on Rx' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (51 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/sfc: fix leak if EvQ DMA space allocation fails' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/fm10k: fix secondary process crash' " Yuanhan Liu
                   ` (102 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Andrew Rybchenko; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 657e0ba957c5df7d8461d5e59bed312680072351 Mon Sep 17 00:00:00 2001
From: Andrew Rybchenko <arybchenko@solarflare.com>
Date: Thu, 30 Mar 2017 16:16:15 +0100
Subject: [PATCH] net/sfc: use correct function to free scattered packet on Rx

[ upstream commit 9137da46e9c9f5feb01b934fac22b3742d102883 ]

Put to mempool does not free chained segments.

Fixes: e0b063941e03 ("net/sfc: support scattered Rx DMA")

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

diff --git a/drivers/net/sfc/sfc_rx.c b/drivers/net/sfc/sfc_rx.c
index 1d88005..3b1dadb 100644
--- a/drivers/net/sfc/sfc_rx.c
+++ b/drivers/net/sfc/sfc_rx.c
@@ -258,8 +258,7 @@ sfc_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
 
 		if (scatter_pkt != NULL) {
 			if (rte_pktmbuf_chain(scatter_pkt, m) != 0) {
-				rte_mempool_put(rxq->refill_mb_pool,
-						scatter_pkt);
+				rte_pktmbuf_free(scatter_pkt);
 				goto discard;
 			}
 			/* The packet to deliver */
-- 
1.9.0

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

* [dpdk-stable] patch 'net/fm10k: fix secondary process crash' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (52 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/sfc: use correct function to free scattered packet on Rx' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: fix VLAN promisc setting' " Yuanhan Liu
                   ` (101 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Xiao Wang; +Cc: Yuanhan Liu, Jing Chen, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 373fdad8fb39b540fd3ee1085669a7d5ca167de1 Mon Sep 17 00:00:00 2001
From: Xiao Wang <xiao.w.wang@intel.com>
Date: Mon, 27 Mar 2017 20:58:55 -0700
Subject: [PATCH] net/fm10k: fix secondary process crash

[ upstream commit 88e4ed70b3a0b279383ddac43ef231ec518d6b4d ]

If the primary process has initialized all the queues to vector
pmd mode, the secondary process should not use scalar code path,
because the per queue data structures haven't been prepared for
that, e.g. txq->ops is for vector Tx rather than scalar Tx.

Fixes: a6ce64a97520 ("fm10k: introduce vector driver")

Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Acked-by: Jing Chen <jing.d.chen@intel.com>
---
 drivers/net/fm10k/fm10k_ethdev.c | 28 ++++++++++++++++++++++++++--
 1 file changed, 26 insertions(+), 2 deletions(-)

diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
index 388f929..680d617 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -2750,6 +2750,21 @@ fm10k_set_tx_function(struct rte_eth_dev *dev)
 	int use_sse = 1;
 	uint16_t tx_ftag_en = 0;
 
+	if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
+		/* primary process has set the ftag flag and txq_flags */
+		txq = dev->data->tx_queues[0];
+		if (fm10k_tx_vec_condition_check(txq)) {
+			dev->tx_pkt_burst = fm10k_xmit_pkts;
+			dev->tx_pkt_prepare = fm10k_prep_pkts;
+			PMD_INIT_LOG(DEBUG, "Use regular Tx func");
+		} else {
+			PMD_INIT_LOG(DEBUG, "Use vector Tx func");
+			dev->tx_pkt_burst = fm10k_xmit_pkts_vec;
+			dev->tx_pkt_prepare = NULL;
+		}
+		return;
+	}
+
 	if (fm10k_check_ftag(dev->device->devargs))
 		tx_ftag_en = 1;
 
@@ -2810,6 +2825,9 @@ fm10k_set_rx_function(struct rte_eth_dev *dev)
 	else
 		PMD_INIT_LOG(DEBUG, "Use regular Rx func");
 
+	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
+		return;
+
 	for (i = 0; i < dev->data->nb_rx_queues; i++) {
 		struct fm10k_rx_queue *rxq = dev->data->rx_queues[i];
 
@@ -2856,9 +2874,15 @@ eth_fm10k_dev_init(struct rte_eth_dev *dev)
 	dev->tx_pkt_burst = &fm10k_xmit_pkts;
 	dev->tx_pkt_prepare = &fm10k_prep_pkts;
 
-	/* only initialize in the primary process */
-	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
+	/*
+	 * Primary process does the whole initialization, for secondary
+	 * processes, we just select the same Rx and Tx function as primary.
+	 */
+	if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
+		fm10k_set_rx_function(dev);
+		fm10k_set_tx_function(dev);
 		return 0;
+	}
 
 	rte_eth_copy_pci_info(dev, pdev);
 	dev->data->dev_flags |= RTE_ETH_DEV_DETACHABLE;
-- 
1.9.0

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

* [dpdk-stable] patch 'net/i40e: fix VLAN promisc setting' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (53 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/fm10k: fix secondary process crash' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'vhost: try to shrink pfdset when fdset_add fails' " Yuanhan Liu
                   ` (100 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Wenzhuo Lu; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 6af8f925d21abc0187f65437189bc2ea6a06496a Mon Sep 17 00:00:00 2001
From: Wenzhuo Lu <wenzhuo.lu@intel.com>
Date: Sat, 1 Apr 2017 14:15:57 +0800
Subject: [PATCH] net/i40e: fix VLAN promisc setting

[ upstream commit 974fd9991a3f8cc329252eba1127381db35beca4 ]

After adding VLAN filter, the VLAN promiscuous mode is
disabled. But there's no chance to enable it.
So add the check after deleting VLAN filter. If there's
no VLAN filter left, enable the VLAN promiscuous mode.

Fixes: 9f0645cd147c ("net/i40e: fix VLAN filter")

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 drivers/net/i40e/i40e_ethdev.c | 42 +++++++++++++++++++++++++++++++++++++++---
 1 file changed, 39 insertions(+), 3 deletions(-)

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index a3f8514..c4b9d0e 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -11101,6 +11101,32 @@ int rte_pmd_i40e_set_vf_vlan_tag(uint8_t port, uint16_t vf_id, uint8_t on)
 	return ret;
 }
 
+static int
+i40e_vlan_filter_count(struct i40e_vsi *vsi)
+{
+	uint32_t j, k;
+	uint16_t vlan_id;
+	int count = 0;
+
+	for (j = 0; j < I40E_VFTA_SIZE; j++) {
+		if (!vsi->vfta[j])
+			continue;
+
+		for (k = 0; k < I40E_UINT32_BIT_SIZE; k++) {
+			if (!(vsi->vfta[j] & (1 << k)))
+				continue;
+
+			vlan_id = j * I40E_UINT32_BIT_SIZE + k;
+			if (!vlan_id)
+				continue;
+
+			count++;
+		}
+	}
+
+	return count;
+}
+
 int rte_pmd_i40e_set_vf_vlan_filter(uint8_t port, uint16_t vlan_id,
 				    uint64_t vf_mask, uint8_t on)
 {
@@ -11118,7 +11144,7 @@ int rte_pmd_i40e_set_vf_vlan_filter(uint8_t port, uint16_t vlan_id,
 	if (!is_device_supported(dev, &rte_i40e_pmd))
 		return -ENOTSUP;
 
-	if (vlan_id > ETHER_MAX_VLAN_ID) {
+	if (vlan_id > ETHER_MAX_VLAN_ID || !vlan_id) {
 		PMD_DRV_LOG(ERR, "Invalid VLAN ID.");
 		return -EINVAL;
 	}
@@ -11152,15 +11178,25 @@ int rte_pmd_i40e_set_vf_vlan_filter(uint8_t port, uint16_t vlan_id,
 			if (on) {
 				if (!vsi->vlan_filter_on) {
 					vsi->vlan_filter_on = true;
+					i40e_aq_set_vsi_vlan_promisc(hw,
+								     vsi->seid,
+								     false,
+								     NULL);
 					if (!vsi->vlan_anti_spoof_on)
 						i40e_add_rm_all_vlan_filter(
 							vsi, true);
 				}
-				i40e_aq_set_vsi_vlan_promisc(hw, vsi->seid,
-							     false, NULL);
 				ret = i40e_vsi_add_vlan(vsi, vlan_id);
 			} else {
 				ret = i40e_vsi_delete_vlan(vsi, vlan_id);
+
+				if (!i40e_vlan_filter_count(vsi)) {
+					vsi->vlan_filter_on = false;
+					i40e_aq_set_vsi_vlan_promisc(hw,
+								     vsi->seid,
+								     true,
+								     NULL);
+				}
 			}
 		}
 	}
-- 
1.9.0

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

* [dpdk-stable] patch 'vhost: try to shrink pfdset when fdset_add fails' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (54 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: fix VLAN promisc setting' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'vhost: change log levels in client mode' " Yuanhan Liu
                   ` (99 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Matthias Gatto; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From b182beb451c10a4c4ad7432cd5611d5856c12ce7 Mon Sep 17 00:00:00 2001
From: Matthias Gatto <matthias.gatto@outscale.com>
Date: Tue, 21 Feb 2017 15:25:30 +0100
Subject: [PATCH] vhost: try to shrink pfdset when fdset_add fails

[ upstream commit 1b815b89599cdd9b54e5aa70f5b97088225b2bcc ]

fdset_add increments pfdset->num, but fdset_del doesn't decrement
pfdset->num, so if we call fdset_add then fdset_del in a loop without
calling fdset_shrink, we can easily exceed MAX_FDS with only a few
number of fds used.

So my solution is simply to call fdset_shrink in fdset_add when it
exceeds MAX_FDS.

Because fdset_shrink and fdset_add locks pfdset->fd_mutex we can't
call fdset_shrink inside fdset_add because that would cause a dead
lock, so this patch split fdset_shrink in two, fdset_shrink and
fdset_shrink_nolock.

Fixes: 59317cef249c ("vhost: allow many vhost-user ports")

Signed-off-by: Matthias Gatto <matthias.gatto@outscale.com>
---
 lib/librte_vhost/fd_man.c | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/lib/librte_vhost/fd_man.c b/lib/librte_vhost/fd_man.c
index 8a075da..c7a4490 100644
--- a/lib/librte_vhost/fd_man.c
+++ b/lib/librte_vhost/fd_man.c
@@ -65,17 +65,12 @@ fdset_move(struct fdset *pfdset, int dst, int src)
 	pfdset->rwfds[dst] = pfdset->rwfds[src];
 }
 
-/*
- * Find deleted fd entries and remove them
- */
 static void
-fdset_shrink(struct fdset *pfdset)
+fdset_shrink_nolock(struct fdset *pfdset)
 {
 	int i;
 	int last_valid_idx = get_last_valid_idx(pfdset, pfdset->num - 1);
 
-	pthread_mutex_lock(&pfdset->fd_mutex);
-
 	for (i = 0; i < last_valid_idx; i++) {
 		if (pfdset->fd[i].fd != -1)
 			continue;
@@ -84,7 +79,16 @@ fdset_shrink(struct fdset *pfdset)
 		last_valid_idx = get_last_valid_idx(pfdset, last_valid_idx - 1);
 	}
 	pfdset->num = last_valid_idx + 1;
+}
 
+/*
+ * Find deleted fd entries and remove them
+ */
+static void
+fdset_shrink(struct fdset *pfdset)
+{
+	pthread_mutex_lock(&pfdset->fd_mutex);
+	fdset_shrink_nolock(pfdset);
 	pthread_mutex_unlock(&pfdset->fd_mutex);
 }
 
@@ -151,8 +155,12 @@ fdset_add(struct fdset *pfdset, int fd, fd_cb rcb, fd_cb wcb, void *dat)
 	pthread_mutex_lock(&pfdset->fd_mutex);
 	i = pfdset->num < MAX_FDS ? pfdset->num++ : -1;
 	if (i == -1) {
-		pthread_mutex_unlock(&pfdset->fd_mutex);
-		return -2;
+		fdset_shrink_nolock(pfdset);
+		i = pfdset->num < MAX_FDS ? pfdset->num++ : -1;
+		if (i == -1) {
+			pthread_mutex_unlock(&pfdset->fd_mutex);
+			return -2;
+		}
 	}
 
 	fdset_add_fd(pfdset, i, fd, rcb, wcb, dat);
-- 
1.9.0

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

* [dpdk-stable] patch 'vhost: change log levels in client mode' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (55 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'vhost: try to shrink pfdset when fdset_add fails' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/virtio-user: fix tapfds close' " Yuanhan Liu
                   ` (98 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Ilya Maximets; +Cc: Yuanhan Liu, Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From f2fde0ecddda1367bc8a4d104b0b84be13677aa1 Mon Sep 17 00:00:00 2001
From: Ilya Maximets <i.maximets@samsung.com>
Date: Thu, 2 Mar 2017 12:39:34 +0300
Subject: [PATCH] vhost: change log levels in client mode

[ upstream commit 29b851e8de6d27150651723e74d8d2339825808c ]

Inability to connect to socket is a normal situation
in client mode because, in common case, server isn't
started yet. RTE_LOG_WARNING should be suitable for
the case of some unusual errors.
Message about reconnection is not an error at all.

Fixes: e623e0c6d8a5 ("vhost: add reconnect ability")

Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
---
 lib/librte_vhost/socket.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/librte_vhost/socket.c b/lib/librte_vhost/socket.c
index aaa9c27..6a30a31 100644
--- a/lib/librte_vhost/socket.c
+++ b/lib/librte_vhost/socket.c
@@ -448,7 +448,7 @@ vhost_user_create_client(struct vhost_user_socket *vsocket)
 		return 0;
 	}
 
-	RTE_LOG(ERR, VHOST_CONFIG,
+	RTE_LOG(WARNING, VHOST_CONFIG,
 		"failed to connect to %s: %s\n",
 		path, strerror(errno));
 
@@ -457,7 +457,7 @@ vhost_user_create_client(struct vhost_user_socket *vsocket)
 		return -1;
 	}
 
-	RTE_LOG(ERR, VHOST_CONFIG, "%s: reconnecting...\n", path);
+	RTE_LOG(INFO, VHOST_CONFIG, "%s: reconnecting...\n", path);
 	reconn = malloc(sizeof(*reconn));
 	if (reconn == NULL) {
 		RTE_LOG(ERR, VHOST_CONFIG,
-- 
1.9.0

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

* [dpdk-stable] patch 'net/virtio-user: fix tapfds close' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (56 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'vhost: change log levels in client mode' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/virtio-user: fix overflow' " Yuanhan Liu
                   ` (97 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Wenfeng Liu; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 9176e72389b1d428d9ee29adcc5c633f3fbc23e6 Mon Sep 17 00:00:00 2001
From: Wenfeng Liu <liuwf@arraynetworks.com.cn>
Date: Mon, 13 Mar 2017 09:33:21 +0000
Subject: [PATCH] net/virtio-user: fix tapfds close

[ upstream commit 250c99651a774d6e2d02ee90aa33a07a1ea6fc0b ]

The valid tap file descriptor range should be equal or greater
than zero instead of non-zero

Fixes: e3b434818bbb ("net/virtio-user: support kernel vhost")

Signed-off-by: Wenfeng Liu <liuwf@arraynetworks.com.cn>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
---
 drivers/net/virtio/virtio_user/vhost_kernel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/virtio/virtio_user/vhost_kernel.c b/drivers/net/virtio/virtio_user/vhost_kernel.c
index 05aa6c6..68d28b1 100644
--- a/drivers/net/virtio/virtio_user/vhost_kernel.c
+++ b/drivers/net/virtio/virtio_user/vhost_kernel.c
@@ -365,7 +365,7 @@ vhost_kernel_enable_queue_pair(struct virtio_user_dev *dev,
 	vhostfd = dev->vhostfds[pair_idx];
 
 	if (!enable) {
-		if (dev->tapfds[pair_idx]) {
+		if (dev->tapfds[pair_idx] >= 0) {
 			close(dev->tapfds[pair_idx]);
 			dev->tapfds[pair_idx] = -1;
 		}
-- 
1.9.0

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

* [dpdk-stable] patch 'net/virtio-user: fix overflow' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (57 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/virtio-user: fix tapfds close' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/virtio: disable LSC interrupt if MSIX not enabled' " Yuanhan Liu
                   ` (96 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Wenfeng Liu; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 71346292fb682a410b7bf3cf929dfca8ac4a5c2d Mon Sep 17 00:00:00 2001
From: Wenfeng Liu <liuwf@arraynetworks.com.cn>
Date: Tue, 14 Mar 2017 10:09:56 +0000
Subject: [PATCH] net/virtio-user: fix overflow

[ upstream commit 2269b9aec50de0da9aa4b26805f8f6ed20b3ee39 ]

virtio-user limits the qeueue number to 8 but provides no limit
check against the queue number input from user. If a bigger queue
number (> 8) is given, there is an overflow issue. Doing a sanity
check could avoid it.

Fixes: 37a7eb2ae816 ("net/virtio-user: add device emulation layer")

Signed-off-by: Wenfeng Liu <liuwf@arraynetworks.com.cn>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
---
 drivers/net/virtio/virtio_pci.h                  | 3 ++-
 drivers/net/virtio/virtio_user/virtio_user_dev.c | 2 +-
 drivers/net/virtio/virtio_user/virtio_user_dev.h | 6 +++---
 drivers/net/virtio/virtio_user_ethdev.c          | 7 +++++++
 4 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/drivers/net/virtio/virtio_pci.h b/drivers/net/virtio/virtio_pci.h
index 59e45c4..1302556 100644
--- a/drivers/net/virtio/virtio_pci.h
+++ b/drivers/net/virtio/virtio_pci.h
@@ -160,7 +160,8 @@ struct virtnet_ctl;
 /*
  * Maximum number of virtqueues per device.
  */
-#define VIRTIO_MAX_VIRTQUEUES 8
+#define VIRTIO_MAX_VIRTQUEUE_PAIRS 8
+#define VIRTIO_MAX_VIRTQUEUES (VIRTIO_MAX_VIRTQUEUE_PAIRS * 2 + 1)
 
 /* Common configuration */
 #define VIRTIO_PCI_CAP_COMMON_CFG	1
diff --git a/drivers/net/virtio/virtio_user/virtio_user_dev.c b/drivers/net/virtio/virtio_user/virtio_user_dev.c
index 21ed00d..9dcdac8 100644
--- a/drivers/net/virtio/virtio_user/virtio_user_dev.c
+++ b/drivers/net/virtio/virtio_user/virtio_user_dev.c
@@ -237,7 +237,7 @@ virtio_user_dev_setup(struct virtio_user_dev *dev)
 	uint32_t i, q;
 
 	dev->vhostfd = -1;
-	for (i = 0; i < VIRTIO_MAX_VIRTQUEUES * 2 + 1; ++i) {
+	for (i = 0; i < VIRTIO_MAX_VIRTQUEUES; ++i) {
 		dev->kickfds[i] = -1;
 		dev->callfds[i] = -1;
 	}
diff --git a/drivers/net/virtio/virtio_user/virtio_user_dev.h b/drivers/net/virtio/virtio_user/virtio_user_dev.h
index 0d39f40..bd2e4ca 100644
--- a/drivers/net/virtio/virtio_user/virtio_user_dev.h
+++ b/drivers/net/virtio/virtio_user/virtio_user_dev.h
@@ -49,8 +49,8 @@ struct virtio_user_dev {
 	int		*tapfds;
 
 	/* for both vhost_user and vhost_kernel */
-	int		callfds[VIRTIO_MAX_VIRTQUEUES * 2 + 1];
-	int		kickfds[VIRTIO_MAX_VIRTQUEUES * 2 + 1];
+	int		callfds[VIRTIO_MAX_VIRTQUEUES];
+	int		kickfds[VIRTIO_MAX_VIRTQUEUES];
 	int		mac_specified;
 	uint32_t	max_queue_pairs;
 	uint32_t	queue_pairs;
@@ -62,7 +62,7 @@ struct virtio_user_dev {
 	uint8_t		status;
 	uint8_t		mac_addr[ETHER_ADDR_LEN];
 	char		path[PATH_MAX];
-	struct vring	vrings[VIRTIO_MAX_VIRTQUEUES * 2 + 1];
+	struct vring	vrings[VIRTIO_MAX_VIRTQUEUES];
 	struct virtio_user_backend_ops *ops;
 };
 
diff --git a/drivers/net/virtio/virtio_user_ethdev.c b/drivers/net/virtio/virtio_user_ethdev.c
index 0b226ac..7528a16 100644
--- a/drivers/net/virtio/virtio_user_ethdev.c
+++ b/drivers/net/virtio/virtio_user_ethdev.c
@@ -418,6 +418,13 @@ virtio_user_pmd_probe(const char *name, const char *params)
 		goto end;
 	}
 
+	if (queues > VIRTIO_MAX_VIRTQUEUE_PAIRS) {
+		PMD_INIT_LOG(ERR, "arg %s %" PRIu64 " exceeds the limit %u",
+			VIRTIO_USER_ARG_QUEUES_NUM, queues,
+			VIRTIO_MAX_VIRTQUEUE_PAIRS);
+		goto end;
+	}
+
 	eth_dev = virtio_user_eth_dev_alloc(name);
 	if (!eth_dev) {
 		PMD_INIT_LOG(ERR, "virtio_user fails to alloc device");
-- 
1.9.0

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

* [dpdk-stable] patch 'net/virtio: disable LSC interrupt if MSIX not enabled' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (58 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/virtio-user: fix overflow' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'vhost: fix multiple queue not enabled for old kernels' " Yuanhan Liu
                   ` (95 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Matt Peters; +Cc: Yuanhan Liu, Allain Legacy, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 3e74b26bb2d9dff9a01c917bc83309d6da36afec Mon Sep 17 00:00:00 2001
From: Matt Peters <matt.peters@windriver.com>
Date: Thu, 9 Mar 2017 15:28:02 -0500
Subject: [PATCH] net/virtio: disable LSC interrupt if MSIX not enabled

[ upstream commit a5ed844846aefeefb1df3df15e6588c265452f19 ]

The link state change interrupt can only be configured if the virtio device
supports MSIX.  Prior to this change the writing of the vector to the PCI
config space was causing it to overwrite the initial part of the MAC
address since the MSIX vector is not in the config space and is occupied by
the MAC address.

This has been reproduced in Virtual Box (v5.0.30.r112061) in Windows 7.

Fixes: 954ea11540b6 ("virtio: do not report link state feature unless available")

Signed-off-by: Matt Peters <matt.peters@windriver.com>
Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
---
 drivers/net/virtio/virtio_ethdev.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index 4dc03b9..66770fc 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -1338,11 +1338,11 @@ virtio_init_device(struct rte_eth_dev *eth_dev, uint64_t req_features)
 		rte_eth_copy_pci_info(eth_dev, pci_dev);
 	}
 
-	/* If host does not support status then disable LSC */
-	if (!vtpci_with_feature(hw, VIRTIO_NET_F_STATUS))
-		eth_dev->data->dev_flags &= ~RTE_ETH_DEV_INTR_LSC;
-	else
+	/* If host does not support both status and MSI-X then disable LSC */
+	if (vtpci_with_feature(hw, VIRTIO_NET_F_STATUS) && hw->use_msix)
 		eth_dev->data->dev_flags |= RTE_ETH_DEV_INTR_LSC;
+	else
+		eth_dev->data->dev_flags &= ~RTE_ETH_DEV_INTR_LSC;
 
 	rx_func_get(eth_dev);
 
-- 
1.9.0

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

* [dpdk-stable] patch 'vhost: fix multiple queue not enabled for old kernels' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (59 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/virtio: disable LSC interrupt if MSIX not enabled' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'vhost: fix max queues' " Yuanhan Liu
                   ` (94 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Yuanhan Liu; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From d8338e85c649621fcee96e9d9b7543b5a42bc83d Mon Sep 17 00:00:00 2001
From: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Date: Wed, 1 Mar 2017 18:41:58 +0800
Subject: [PATCH] vhost: fix multiple queue not enabled for old kernels

[ upstream commit 8d286dbeb8d70551ab520569cf8a0ecdec319826 ]

Some macros (say VIRTIO_NET_F_MQ) are needed for enabling multiple queue,
however they are introduced since kernel v3.8, meaning build error happens
if we build DPDK vhost on those platforms.

71dfdbe66a66 ("vhost: fix build with kernel < 3.8") meant to fix it, but
in a wrong way: it completely disables the MQ features for those kernels.
However, the MQ feature doesn't depend on the kernel at all (except the
macros dependency stated above), that we could still enable the MQ feature
even the host kernel has no such support.

The right fix is to define the macro if it's not defined.

Fixes: 71dfdbe66a66 ("vhost: fix build with kernel < 3.8")

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 lib/librte_vhost/vhost.c | 2 +-
 lib/librte_vhost/vhost.h | 7 +++----
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/lib/librte_vhost/vhost.c b/lib/librte_vhost/vhost.c
index e415093..3c3f6a4 100644
--- a/lib/librte_vhost/vhost.c
+++ b/lib/librte_vhost/vhost.c
@@ -56,7 +56,7 @@
 				(1ULL << VIRTIO_NET_F_CTRL_VQ) | \
 				(1ULL << VIRTIO_NET_F_CTRL_RX) | \
 				(1ULL << VIRTIO_NET_F_GUEST_ANNOUNCE) | \
-				(VHOST_SUPPORTS_MQ)            | \
+				(1ULL << VIRTIO_NET_F_MQ)      | \
 				(1ULL << VIRTIO_F_VERSION_1)   | \
 				(1ULL << VHOST_F_LOG_ALL)      | \
 				(1ULL << VHOST_USER_F_PROTOCOL_FEATURES) | \
diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h
index 22564f1..4391e62 100644
--- a/lib/librte_vhost/vhost.h
+++ b/lib/librte_vhost/vhost.h
@@ -123,11 +123,10 @@ struct vhost_virtqueue {
  * code buildable for older kernel.
  */
 #ifdef VIRTIO_NET_F_MQ
- #define VHOST_MAX_QUEUE_PAIRS	VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MAX
- #define VHOST_SUPPORTS_MQ	(1ULL << VIRTIO_NET_F_MQ)
+ #define VHOST_MAX_QUEUE_PAIRS		VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MAX
 #else
- #define VHOST_MAX_QUEUE_PAIRS	1
- #define VHOST_SUPPORTS_MQ	0
+ #define VIRTIO_NET_F_MQ		22
+ #define VHOST_MAX_QUEUE_PAIRS		0x8000
 #endif
 
 /*
-- 
1.9.0

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

* [dpdk-stable] patch 'vhost: fix max queues' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (60 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'vhost: fix multiple queue not enabled for old kernels' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'vhost: fix false sharing' " Yuanhan Liu
                   ` (93 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Yuanhan Liu; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From d29d8944d9154a077fb80188e8bd54f5c65d67ef Mon Sep 17 00:00:00 2001
From: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Date: Wed, 1 Mar 2017 18:41:59 +0800
Subject: [PATCH] vhost: fix max queues

[ upstream commit de8e1fdcecdca1254dbd6a63fd6e0e65fe3e3b05 ]

0x8000 is the max virito-net queue pairs the virtio 1.0 spec claims to
support. While for vhost-user, it's a different story: the max vring
index could be passed by the vhost-user spec is 0xff, masked by the
VHOST_USER_VRING_IDX_MASK.

That said, the max queue pairs could vhost-user could supported is 0x80.
If user are asking more, I think the vhost-user need be extended.

Fixes: b09b198bfb5c ("vhost-user: announce queue number in message")

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
---
 lib/librte_vhost/vhost.h | 15 +++------------
 1 file changed, 3 insertions(+), 12 deletions(-)

diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h
index 4391e62..d97df1d 100644
--- a/lib/librte_vhost/vhost.h
+++ b/lib/librte_vhost/vhost.h
@@ -110,24 +110,15 @@ struct vhost_virtqueue {
 	uint16_t                shadow_used_idx;
 } __rte_cache_aligned;
 
-/* Old kernels have no such macro defined */
+/* Old kernels have no such macros defined */
 #ifndef VIRTIO_NET_F_GUEST_ANNOUNCE
  #define VIRTIO_NET_F_GUEST_ANNOUNCE 21
 #endif
 
-
-/*
- * Make an extra wrapper for VIRTIO_NET_F_MQ and
- * VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MAX as they are
- * introduced since kernel v3.8. This makes our
- * code buildable for older kernel.
- */
-#ifdef VIRTIO_NET_F_MQ
- #define VHOST_MAX_QUEUE_PAIRS		VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MAX
-#else
+#ifndef VIRTIO_NET_F_MQ
  #define VIRTIO_NET_F_MQ		22
- #define VHOST_MAX_QUEUE_PAIRS		0x8000
 #endif
+#define VHOST_MAX_QUEUE_PAIRS		0x80
 
 /*
  * Define virtio 1.0 for older kernels
-- 
1.9.0

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

* [dpdk-stable] patch 'vhost: fix false sharing' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (61 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'vhost: fix max queues' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'vhost: fix fd leaks for vhost-user server mode' " Yuanhan Liu
                   ` (92 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Kevin Traynor; +Cc: Yuanhan Liu, Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 14a3bbdf73ec7ebf07dd12e6a2c6592a3defcd33 Mon Sep 17 00:00:00 2001
From: Kevin Traynor <ktraynor@redhat.com>
Date: Thu, 23 Mar 2017 15:44:58 +0000
Subject: [PATCH] vhost: fix false sharing

[ upstream commit 4e9474141e1115a3089896848f92b25b53cddfd9 ]

The broadcast_rarp field in the virtio_net struct is checked in the
dequeue datapath regardless of whether descriptors are available or not.

As it is checked with cmpset leading to a write, false sharing on the
virtio_net struct can happen between enqueue and dequeue datapaths
regardless of whether a RARP is requested. In OVS, the issue can cause
a uni-directional performance drop of up to 15%.

Fix that by only performing the cmpset if a read of broadcast_rarp
indicates that the cmpset is likely to succeed.

Fixes: a66bcad32240 ("vhost: arrange struct fields for better cache sharing")

Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
---
 lib/librte_vhost/virtio_net.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/lib/librte_vhost/virtio_net.c b/lib/librte_vhost/virtio_net.c
index 337470d..d0a3b11 100644
--- a/lib/librte_vhost/virtio_net.c
+++ b/lib/librte_vhost/virtio_net.c
@@ -1056,9 +1056,21 @@ rte_vhost_dequeue_burst(int vid, uint16_t queue_id,
 	 * array, to looks like that guest actually send such packet.
 	 *
 	 * Check user_send_rarp() for more information.
+	 *
+	 * broadcast_rarp shares a cacheline in the virtio_net structure
+	 * with some fields that are accessed during enqueue and
+	 * rte_atomic16_cmpset() causes a write if using cmpxchg. This could
+	 * result in false sharing between enqueue and dequeue.
+	 *
+	 * Prevent unnecessary false sharing by reading broadcast_rarp first
+	 * and only performing cmpset if the read indicates it is likely to
+	 * be set.
 	 */
-	if (unlikely(rte_atomic16_cmpset((volatile uint16_t *)
-					 &dev->broadcast_rarp.cnt, 1, 0))) {
+
+	if (unlikely(rte_atomic16_read(&dev->broadcast_rarp) &&
+			rte_atomic16_cmpset((volatile uint16_t *)
+				&dev->broadcast_rarp.cnt, 1, 0))) {
+
 		rarp_mbuf = rte_pktmbuf_alloc(mbuf_pool);
 		if (rarp_mbuf == NULL) {
 			RTE_LOG(ERR, VHOST_DATA,
-- 
1.9.0

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

* [dpdk-stable] patch 'vhost: fix fd leaks for vhost-user server mode' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (62 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'vhost: fix false sharing' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/mlx5: fix an uninitialized variable' " Yuanhan Liu
                   ` (91 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Yuanhan Liu; +Cc: Ilya Maximets, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 40fcc723ddece3f62830907aefe38d7543f1dd16 Mon Sep 17 00:00:00 2001
From: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Date: Mon, 27 Mar 2017 16:52:15 +0800
Subject: [PATCH] vhost: fix fd leaks for vhost-user server mode

[ upstream commit 65388b43f592e16497af48db69ad5063d6824daf ]

A vhost-user server socket could have many connections, thus many connfd.
However, we currently just use one single int var to store it. Meaning,
it will get overwritten every time a new connection is created.

While this will not create fatal issue as it sounds (since the correct
connfd is closured to the event loop thread by fdset_add), it may cause
fd leaks if a user invokes rte_vhost_driver_unregister before shutting
down all connections: it just closes the recent connfd.

A simple example that should be able to reproduce this leaks issues is,
del the ovs vhost-user port while the connected VMs are still alive. (Note
that it's suggested to use one socket for one VM, which makes the issue
not that fatal as it sounds again).

Since we already use a struct "vhost_user_connection" to track all info
about one connection, it's obvious that we should put the connfd there.
Then we could build a connection list inside the vhost_user_socket struct,
to represent all connections belong that socket file.

Fixes: 164fd396788d ("vhost: fix unregistering in client mode")
Cc: Ilya Maximets <i.maximets@samsung.com>

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
---
 lib/librte_vhost/socket.c | 43 +++++++++++++++++++++++++++++++++----------
 1 file changed, 33 insertions(+), 10 deletions(-)

diff --git a/lib/librte_vhost/socket.c b/lib/librte_vhost/socket.c
index 6a30a31..2afde98 100644
--- a/lib/librte_vhost/socket.c
+++ b/lib/librte_vhost/socket.c
@@ -52,14 +52,18 @@
 #include "vhost.h"
 #include "vhost_user.h"
 
+
+TAILQ_HEAD(vhost_user_connection_list, vhost_user_connection);
+
 /*
  * Every time rte_vhost_driver_register() is invoked, an associated
  * vhost_user_socket struct will be created.
  */
 struct vhost_user_socket {
+	struct vhost_user_connection_list conn_list;
+	pthread_mutex_t conn_mutex;
 	char *path;
 	int listenfd;
-	int connfd;
 	bool is_server;
 	bool reconnect;
 	bool dequeue_zero_copy;
@@ -67,7 +71,10 @@ struct vhost_user_socket {
 
 struct vhost_user_connection {
 	struct vhost_user_socket *vsocket;
+	int connfd;
 	int vid;
+
+	TAILQ_ENTRY(vhost_user_connection) next;
 };
 
 #define MAX_VHOST_SOCKET 1024
@@ -209,19 +216,23 @@ vhost_user_add_connection(int fd, struct vhost_user_socket *vsocket)
 
 	RTE_LOG(INFO, VHOST_CONFIG, "new device, handle is %d\n", vid);
 
-	vsocket->connfd = fd;
+	conn->connfd = fd;
 	conn->vsocket = vsocket;
 	conn->vid = vid;
 	ret = fdset_add(&vhost_user.fdset, fd, vhost_user_read_cb,
 			NULL, conn);
 	if (ret < 0) {
-		vsocket->connfd = -1;
+		conn->connfd = -1;
 		free(conn);
 		close(fd);
 		RTE_LOG(ERR, VHOST_CONFIG,
 			"failed to add fd %d into vhost server fdset\n",
 			fd);
 	}
+
+	pthread_mutex_lock(&vsocket->conn_mutex);
+	TAILQ_INSERT_TAIL(&vsocket->conn_list, conn, next);
+	pthread_mutex_unlock(&vsocket->conn_mutex);
 }
 
 /* call back when there is new vhost-user connection from client  */
@@ -247,10 +258,14 @@ vhost_user_read_cb(int connfd, void *dat, int *remove)
 
 	ret = vhost_user_msg_handler(conn->vid, connfd);
 	if (ret < 0) {
-		vsocket->connfd = -1;
 		close(connfd);
 		*remove = 1;
 		vhost_destroy_device(conn->vid);
+
+		pthread_mutex_lock(&vsocket->conn_mutex);
+		TAILQ_REMOVE(&vsocket->conn_list, conn, next);
+		pthread_mutex_unlock(&vsocket->conn_mutex);
+
 		free(conn);
 
 		if (vsocket->reconnect)
@@ -502,7 +517,8 @@ rte_vhost_driver_register(const char *path, uint64_t flags)
 		goto out;
 	memset(vsocket, 0, sizeof(struct vhost_user_socket));
 	vsocket->path = strdup(path);
-	vsocket->connfd = -1;
+	TAILQ_INIT(&vsocket->conn_list);
+	pthread_mutex_init(&vsocket->conn_mutex, NULL);
 	vsocket->dequeue_zero_copy = flags & RTE_VHOST_USER_DEQUEUE_ZERO_COPY;
 
 	if ((flags & RTE_VHOST_USER_CLIENT) != 0) {
@@ -565,7 +581,7 @@ rte_vhost_driver_unregister(const char *path)
 {
 	int i;
 	int count;
-	struct vhost_user_connection *conn;
+	struct vhost_user_connection *conn, *next;
 
 	pthread_mutex_lock(&vhost_user.mutex);
 
@@ -581,15 +597,22 @@ rte_vhost_driver_unregister(const char *path)
 				vhost_user_remove_reconnect(vsocket);
 			}
 
-			conn = fdset_del(&vhost_user.fdset, vsocket->connfd);
-			if (conn) {
+			pthread_mutex_lock(&vsocket->conn_mutex);
+			for (conn = TAILQ_FIRST(&vsocket->conn_list);
+			     conn != NULL;
+			     conn = next) {
+				next = TAILQ_NEXT(conn, next);
+
+				fdset_del(&vhost_user.fdset, conn->connfd);
 				RTE_LOG(INFO, VHOST_CONFIG,
 					"free connfd = %d for device '%s'\n",
-					vsocket->connfd, path);
-				close(vsocket->connfd);
+					conn->connfd, path);
+				close(conn->connfd);
 				vhost_destroy_device(conn->vid);
+				TAILQ_REMOVE(&vsocket->conn_list, conn, next);
 				free(conn);
 			}
+			pthread_mutex_unlock(&vsocket->conn_mutex);
 
 			free(vsocket->path);
 			free(vsocket);
-- 
1.9.0

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

* [dpdk-stable] patch 'net/mlx5: fix an uninitialized variable' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (63 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'vhost: fix fd leaks for vhost-user server mode' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'mk: fix shell errors when building with clang' " Yuanhan Liu
                   ` (90 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Nelio Laranjeiro; +Cc: Yuanhan Liu, Olivier Matz, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 0a4b0edd02064d619aa2a0551ce1a7994c360cf9 Mon Sep 17 00:00:00 2001
From: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Date: Thu, 6 Apr 2017 11:16:32 +0200
Subject: [PATCH] net/mlx5: fix an uninitialized variable
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit 4e66a6fef321d8015f6bde1aac5018c9ec91721c ]

Since patch "mbuf: structure reorganization" the compiler complains
sometimes (in some conditions):

 .../drivers/net/mlx5/mlx5_rxtx.c: In function ‘mlx5_rx_burst’:
 .../drivers/net/mlx5/mlx5_rxtx.c:2082:17: error: ‘len’ may be used
uninitialized in this function [-Werror=maybe-uninitialized]

len is not initialised as it will be at the first segment of a received
packet, but it remains hard for the compiler to determine it.

Fixes: 9964b965ad69 ("net/mlx5: re-add Rx scatter support")

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
---
 drivers/net/mlx5/mlx5_rxtx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c
index 2da1d29..797b66e 100644
--- a/drivers/net/mlx5/mlx5_rxtx.c
+++ b/drivers/net/mlx5/mlx5_rxtx.c
@@ -1372,7 +1372,7 @@ mlx5_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n)
 		&(*rxq->cqes)[rxq->cq_ci & cqe_cnt];
 	unsigned int i = 0;
 	unsigned int rq_ci = rxq->rq_ci << sges_n;
-	int len; /* keep its value across iterations. */
+	int len = 0; /* keep its value across iterations. */
 
 	while (pkts_n) {
 		unsigned int idx = rq_ci & wqe_cnt;
-- 
1.9.0

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

* [dpdk-stable] patch 'mk: fix shell errors when building with clang' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (64 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/mlx5: fix an uninitialized variable' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'mk: fix lib filtering when linking app' " Yuanhan Liu
                   ` (89 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Olivier Matz; +Cc: Yuanhan Liu, Thomas Monjalon, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 88077a0d6baf274a5050d77e474ef805f765275c Mon Sep 17 00:00:00 2001
From: Olivier Matz <olivier.matz@6wind.com>
Date: Thu, 6 Apr 2017 16:12:41 +0200
Subject: [PATCH] mk: fix shell errors when building with clang

[ upstream commit e629b8dbd9b38259e5fe32475fdf3e56176d8f39 ]

On my system, the version of the compiler is not properly retrieved,
resulting in strange logs when building the dpdk:
  /bin/sh: line 0: test: too many arguments

This happens when mk/toolchain/clang/rte.toolchain-compat.mk is included
from a directory that use gcc to build (ex: kernel modules). In that
case, the CLANG_VERSION variable contains spaces that breaks some shell
calls to the test program.

The error is because the output of "gcc -v" on my system contains 2 lines
that matches the "version" string:

  Configured with: ../src/configure -v \
    --with-pkgversion='Debian 6.3.0-6' [...]
  gcc version 6.3.0 20170205 (Debian 6.3.0-6)

This may be specific to Debian. Fix it by specializing the grep.

Fixes: 2ef6eea891e5 ("mk: add clang toolchain")

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
---
 mk/toolchain/clang/rte.toolchain-compat.mk | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/mk/toolchain/clang/rte.toolchain-compat.mk b/mk/toolchain/clang/rte.toolchain-compat.mk
index b734413..9e095d3 100644
--- a/mk/toolchain/clang/rte.toolchain-compat.mk
+++ b/mk/toolchain/clang/rte.toolchain-compat.mk
@@ -38,7 +38,8 @@
 
 # find out CLANG version
 
-CLANG_VERSION := $(shell $(CC) -v 2>&1 | grep version | sed "s/.*version \([0-9]*\.[0-9]*\).*/\1/")
+CLANG_VERSION := $(shell $(CC) -v 2>&1 | \
+	sed -n "s/.*version \([0-9]*\.[0-9]*\).*/\1/p")
 
 CLANG_MAJOR_VERSION := $(shell echo $(CLANG_VERSION) | cut -f1 -d.)
 
-- 
1.9.0

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

* [dpdk-stable] patch 'mk: fix lib filtering when linking app' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (65 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'mk: fix shell errors when building with clang' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'app/crypto-perf: fix AES CBC 128 test vectors' " Yuanhan Liu
                   ` (88 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Olivier Matz; +Cc: Yuanhan Liu, Thomas Monjalon, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 26f1be3d2aff2b3a9b075708c3950844bfff6428 Mon Sep 17 00:00:00 2001
From: Olivier Matz <olivier.matz@6wind.com>
Date: Thu, 6 Apr 2017 16:14:55 +0200
Subject: [PATCH] mk: fix lib filtering when linking app

[ upstream commit ab338eb44ebb79840dab1de2742c07070ae3bf0e ]

I get the following error when linking the test application:
  build/lib/librte_pmd_thunderx_nicvf.a(nicvf_hw.o):
  In function `nicvf_qsize_regbit':
  drivers/net/thunderx/base/nicvf_hw.c:451: undefined reference to `log2'
  build/lib/librte_pmd_thunderx_nicvf.a(nicvf_hw.o):
  In function `nicvf_rss_reta_update':
  drivers/net/thunderx/base/nicvf_hw.c:804: undefined reference to `log2'
  build/lib/librte_pmd_thunderx_nicvf.a(nicvf_hw.o):
  In function `nicvf_rss_reta_query':
  drivers/net/thunderx/base/nicvf_hw.c:825: undefined reference to `log2'

While I don't know why it does not happen for a default build, the error
can be explained. The link command line is:

   gcc -o test ... *.o ... -Wl,-lm ... -Wl,-lrte_pmd_thunderx_nicvf ...

rte_pmd_thunderx_nicvf needs the math library, and it should be
added after. This is not the case because the test application also
adds the math library.

The makefile already filters the libraries, but it keeps the first
occurrence of the lib. Instead, the last one should be kept.

Fixes: edf4d331dcdb ("mk: eliminate duplicates from libraries list")

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
---
 mk/rte.app.mk | 19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)

diff --git a/mk/rte.app.mk b/mk/rte.app.mk
index 92f3635..dde1079 100644
--- a/mk/rte.app.mk
+++ b/mk/rte.app.mk
@@ -172,10 +172,21 @@ _LDLIBS-y += $(EXECENV_LDLIBS)
 
 LDLIBS += $(_LDLIBS-y) $(CPU_LDLIBS) $(EXTRA_LDLIBS)
 
-# Eliminate duplicates without sorting
-LDLIBS := $(shell echo $(LDLIBS) | \
-	awk '{for (i = 1; i <= NF; i++) { \
-		if ($$i !~ /^-l.*/ || !seen[$$i]++) print $$i }}')
+# all the words except the first one
+allbutfirst = $(wordlist 2,$(words $(1)),$(1))
+
+# Eliminate duplicates without sorting, only keep the last occurrence
+filter-libs = \
+	$(if $(1),$(strip\
+		$(if \
+			$(and \
+				$(filter $(firstword $(1)),$(call allbutfirst,$(1))),\
+				$(filter -l%,$(firstword $(1)))),\
+			,\
+			$(firstword $(1))) \
+		$(call filter-libs,$(call allbutfirst,$(1)))))
+
+LDLIBS := $(call filter-libs,$(LDLIBS))
 
 ifeq ($(RTE_DEVEL_BUILD)$(CONFIG_RTE_BUILD_SHARED_LIB),yy)
 LDFLAGS += -rpath=$(RTE_SDK_BIN)/lib
-- 
1.9.0

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

* [dpdk-stable] patch 'app/crypto-perf: fix AES CBC 128 test vectors' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (66 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'mk: fix lib filtering when linking app' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'mk: fix quoting for ARM mtune argument' " Yuanhan Liu
                   ` (87 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Pablo de Lara; +Cc: Yuanhan Liu, Sergio Gonzalez Monroy, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From fefcc425a8fd5b266bdbe64c644d4758dc732408 Mon Sep 17 00:00:00 2001
From: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Date: Mon, 27 Mar 2017 12:26:00 +0100
Subject: [PATCH] app/crypto-perf: fix AES CBC 128 test vectors

[ upstream commit 8612836d6f4d19c89963d6d54c071151851227d1 ]

Ciphertext and digests for different buffer sizes
were incorrect.

Fixes: 5f1d85c5a8ab ("app/crypto-perf: add test vectors files")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
---
 app/test-crypto-perf/data/aes_cbc_128_sha.data | 439 ++++++++++++-------------
 1 file changed, 219 insertions(+), 220 deletions(-)

diff --git a/app/test-crypto-perf/data/aes_cbc_128_sha.data b/app/test-crypto-perf/data/aes_cbc_128_sha.data
index f288e4a..0b054f5 100644
--- a/app/test-crypto-perf/data/aes_cbc_128_sha.data
+++ b/app/test-crypto-perf/data/aes_cbc_128_sha.data
@@ -140,134 +140,134 @@ plaintext =
 0xa4, 0x39, 0xe8, 0x8b, 0x2a, 0x50, 0xf5, 0x18, 0x70, 0xe2, 0xfc, 0xd6, 0xbe, 0xd3, 0x46, 0x4b
 
 ciphertext =
-0xd7, 0x0a, 0xed, 0x84, 0xf9, 0x13, 0x83, 0xd0, 0xbf, 0x57, 0xc2, 0x8b, 0xc9, 0x8c, 0x3a, 0x19,
-0x6a, 0x50, 0x01, 0xb7, 0xfe, 0xe2, 0x54, 0x0d, 0x94, 0x41, 0xcc, 0xcb, 0xe7, 0x41, 0x6f, 0x16,
-0xf7, 0x24, 0xd7, 0x01, 0x8d, 0xae, 0xc7, 0xa3, 0x4c, 0x36, 0xc2, 0x9c, 0x06, 0xba, 0xe2, 0x27,
-0x4f, 0xd2, 0xbb, 0x55, 0x65, 0xbb, 0xeb, 0x33, 0xe3, 0xaa, 0x6a, 0x47, 0x8c, 0xa4, 0xb4, 0x2f,
-0xe6, 0x20, 0xde, 0xde, 0x93, 0x59, 0x35, 0x79, 0x17, 0x84, 0x7d, 0x9b, 0xee, 0x72, 0x0a, 0x0f,
-0xb9, 0x59, 0xb3, 0xc5, 0xbc, 0x9c, 0xf1, 0xdb, 0x52, 0x5c, 0x90, 0xd2, 0x4d, 0x5a, 0x5e, 0xb9,
-0xdf, 0x27, 0x2c, 0xbd, 0xc2, 0xcf, 0x16, 0x30, 0xbe, 0xa4, 0x45, 0xeb, 0xc2, 0x6f, 0x01, 0x26,
-0x1a, 0xa6, 0xb1, 0x87, 0x4e, 0x6d, 0x95, 0x0c, 0xa6, 0x01, 0xca, 0x53, 0x5d, 0x0b, 0x35, 0x5c,
-0xa7, 0x42, 0x2f, 0x7a, 0x18, 0x4b, 0x18, 0x51, 0x0e, 0x80, 0xf0, 0x7e, 0xca, 0x0e, 0xec, 0x88,
-0x19, 0xa0, 0xce, 0x1f, 0xea, 0x61, 0x88, 0x26, 0xa9, 0xd1, 0xd0, 0xdf, 0x5c, 0x90, 0x87, 0x34,
-0xda, 0x68, 0x26, 0x49, 0xcf, 0xf7, 0x10, 0x7f, 0x09, 0x11, 0xde, 0x40, 0xd2, 0x17, 0x65, 0x6f,
-0x70, 0x3f, 0x43, 0xaa, 0x73, 0xbf, 0xb4, 0x4e, 0x07, 0x4e, 0x41, 0x89, 0xd3, 0xa7, 0xb3, 0x49,
-0x09, 0x05, 0xb5, 0x9d, 0x7d, 0x45, 0x11, 0x0b, 0x0f, 0x8a, 0x83, 0x2a, 0x94, 0x80, 0x4b, 0xcf,
-0xa3, 0x97, 0xb3, 0x93, 0x2f, 0xbc, 0x1f, 0xdf, 0xe7, 0xb7, 0xec, 0x3a, 0x39, 0xeb, 0xa9, 0x8d,
-0x7f, 0x9b, 0xf7, 0x12, 0xfc, 0x0c, 0x28, 0xe4, 0x82, 0x98, 0x88, 0xf7, 0x93, 0x4a, 0x0a, 0xdc,
-0x8d, 0x77, 0x2d, 0x7b, 0xd6, 0x6a, 0x6f, 0x0d, 0x54, 0x55, 0x0c, 0xe8, 0x6b, 0x71, 0xda, 0x7b,
-0x5a, 0xc5, 0x79, 0xa4, 0x2d, 0x61, 0xeb, 0x07, 0x95, 0x0a, 0x8a, 0x2c, 0x5c, 0xb0, 0xe2, 0x08,
-0xab, 0x07, 0x04, 0x3a, 0x00, 0xce, 0x6e, 0xc1, 0x7f, 0x0e, 0x65, 0x6a, 0xbe, 0x9c, 0xd5, 0xab,
-0x0f, 0x90, 0x6a, 0xfb, 0x45, 0x2f, 0x78, 0x80, 0xbe, 0x8a, 0x0c, 0xe1, 0x79, 0xf9, 0xfd, 0xbe,
-0x0d, 0xea, 0xfb, 0x57, 0x2b, 0x5f, 0xbf, 0x25, 0x8d, 0xa0, 0xd5, 0x4e, 0xac, 0x0d, 0x13, 0x66,
-0x75, 0xd0, 0xe3, 0x69, 0x2d, 0x1e, 0x85, 0xd1, 0x2b, 0xdb, 0xa0, 0xaa, 0x8d, 0x2c, 0x1d, 0xd2,
-0x69, 0x46, 0x4f, 0x3d, 0xe2, 0xd7, 0x80, 0xba, 0xa1, 0x53, 0x35, 0xb4, 0xd4, 0x4f, 0x33, 0x0e,
-0x03, 0xb8, 0xd0, 0xb8, 0x13, 0xc8, 0x12, 0xe6, 0x49, 0x0b, 0xe2, 0x0f, 0x2b, 0x09, 0xcf, 0x82,
-0x36, 0x9e, 0x87, 0x24, 0xc0, 0x66, 0xd8, 0xd2, 0x40, 0x33, 0xa4, 0x4b, 0x1f, 0x30, 0x9a, 0x1a,
-0x12, 0x65, 0x1e, 0xfc, 0x63, 0x3b, 0x31, 0x75, 0xc6, 0x85, 0xa4, 0xf0, 0x04, 0xb2, 0x56, 0x6c,
-0xeb, 0x0f, 0xae, 0xf4, 0x6a, 0x47, 0xae, 0x9c, 0xe1, 0x88, 0xc2, 0xf0, 0x7b, 0x28, 0xaa, 0xb8,
-0xb8, 0x23, 0x82, 0xec, 0xe1, 0xfa, 0x69, 0x71, 0xa9, 0x6c, 0x91, 0x05, 0x4e, 0x94, 0x41, 0x0c,
-0x53, 0x01, 0x35, 0x29, 0xc0, 0xc4, 0x75, 0x51, 0x0f, 0x61, 0x6a, 0x06, 0x02, 0x9b, 0x61, 0xd2,
-0x2a, 0xdd, 0xc8, 0x2b, 0x71, 0x2e, 0xcd, 0x94, 0xe6, 0x61, 0x88, 0xa5, 0xf9, 0xd5, 0xb8, 0x39,
-0xe6, 0x97, 0x4b, 0x1f, 0x8c, 0xf0, 0xfc, 0x2c, 0x9a, 0xd6, 0xc2, 0x4d, 0x56, 0x49, 0x2c, 0x7c,
-0x31, 0x00, 0x9c, 0x22, 0xf4, 0xad, 0xf0, 0x6d, 0x73, 0xe3, 0xda, 0x5a, 0x80, 0x8d, 0x25, 0xbd,
-0x6f, 0xe9, 0xb1, 0x39, 0x19, 0xd5, 0x5b, 0x4c, 0xc1, 0xb1, 0xa3, 0x57, 0xee, 0x41, 0xef, 0x23,
-0x7a, 0x47, 0xde, 0x56, 0x0c, 0x2d, 0x43, 0x77, 0xcc, 0x17, 0xc1, 0x6c, 0xf9, 0x90, 0xf2, 0xa0,
-0x1a, 0xb8, 0xab, 0x7a, 0x99, 0x90, 0xc8, 0x5b, 0x19, 0x20, 0x4e, 0xd9, 0x4b, 0xb4, 0x92, 0x71,
-0x27, 0x44, 0x30, 0x83, 0x6d, 0x39, 0x24, 0xa3, 0x0a, 0xa5, 0xf4, 0x5c, 0x31, 0x16, 0x26, 0xdb,
-0x62, 0xe1, 0x74, 0xf3, 0x89, 0xc6, 0x59, 0x6d, 0xcd, 0x10, 0xb9, 0xcc, 0x9a, 0x5b, 0x9a, 0x31,
-0xfa, 0xbb, 0x5b, 0x79, 0xc7, 0x05, 0x78, 0xcb, 0x15, 0x7f, 0x71, 0x51, 0x00, 0x95, 0xb0, 0x3b,
-0x82, 0x5d, 0xe2, 0x48, 0xfd, 0x19, 0xca, 0x87, 0xde, 0x16, 0x52, 0x61, 0xd0, 0x72, 0xbd, 0x00,
-0x7d, 0xae, 0x3f, 0x54, 0x2e, 0x36, 0xc8, 0x9d, 0xb9, 0x2b, 0xdf, 0x12, 0xe4, 0x46, 0x1b, 0x29,
-0xda, 0x6b, 0x8d, 0xa5, 0xfd, 0x28, 0xbc, 0x0f, 0x13, 0x27, 0x82, 0x06, 0x9f, 0xf2, 0xd3, 0x3e,
-0x80, 0x2b, 0x86, 0xf8, 0x2c, 0x4b, 0xd6, 0x82, 0x20, 0x9b, 0xa7, 0xa4, 0x7d, 0xd3, 0xf1, 0x9b,
-0xe3, 0x94, 0x6b, 0xd3, 0x12, 0x14, 0xd5, 0x70, 0x0e, 0x8e, 0x2c, 0xc2, 0x5f, 0x22, 0x37, 0x09,
-0x02, 0xbd, 0x03, 0x64, 0xd8, 0xc5, 0x61, 0xca, 0xe6, 0xea, 0x76, 0xf6, 0xce, 0x21, 0xb2, 0x00,
-0xef, 0x99, 0x4f, 0xd7, 0x9d, 0x8b, 0xaa, 0xa4, 0x2a, 0x37, 0x5a, 0x98, 0x71, 0x11, 0x1c, 0xf7,
-0xf1, 0x8e, 0x34, 0x80, 0x07, 0xfa, 0x8d, 0x5a, 0xb3, 0x84, 0xdf, 0xa6, 0xbe, 0x53, 0x87, 0x31,
-0xe3, 0xb1, 0xe1, 0xd0, 0x9e, 0x2e, 0xec, 0x5b, 0x46, 0xb9, 0x87, 0xa0, 0x45, 0xb4, 0x5b, 0x92,
-0x68, 0x98, 0x4c, 0x69, 0xa1, 0xf4, 0x49, 0x8e, 0xc9, 0x50, 0xf7, 0x9b, 0x99, 0x5b, 0x4e, 0x99,
-0xda, 0x8e, 0xa8, 0x39, 0x04, 0x21, 0x94, 0x06, 0x00, 0xdc, 0x45, 0xd8, 0xfe, 0x53, 0x0b, 0x7b,
-0xe5, 0x26, 0x27, 0x61, 0xaa, 0x37, 0x8f, 0x7d, 0x3f, 0xe7, 0xb4, 0xc7, 0x8d, 0x6f, 0xf6, 0x76,
-0x04, 0xed, 0x9f, 0x0d, 0x46, 0xf7, 0x4d, 0x3d, 0x2e, 0x9f, 0x92, 0x8c, 0x7a, 0x73, 0x82, 0x3b,
-0xfb, 0x04, 0x8e, 0xcb, 0xc2, 0xd9, 0xf3, 0x23, 0x35, 0x40, 0xde, 0xf0, 0x6f, 0xd2, 0xcd, 0xed,
-0xe2, 0xc7, 0xf6, 0x0b, 0x75, 0xbd, 0x33, 0x6f, 0x80, 0x23, 0x99, 0x07, 0xb8, 0x39, 0x47, 0x43,
-0x72, 0x55, 0xf1, 0xe6, 0xbf, 0x8e, 0xb9, 0x55, 0x75, 0x8b, 0xb0, 0x32, 0xdc, 0x60, 0xaa, 0xb8,
-0x66, 0xbe, 0xb2, 0xb8, 0xa3, 0x99, 0x9e, 0xef, 0xb5, 0x85, 0x1c, 0xe7, 0x6a, 0x8e, 0x07, 0x59,
-0x50, 0x65, 0xd2, 0x71, 0x0b, 0xc5, 0x6f, 0x4f, 0xa3, 0x45, 0xfc, 0xf2, 0x1d, 0x08, 0x85, 0x3e,
-0x50, 0x7c, 0xba, 0x16, 0x4c, 0xf5, 0x0d, 0x12, 0xe6, 0xe3, 0x87, 0x37, 0xd7, 0xe9, 0x2c, 0x7f,
-0xb5, 0x1a, 0xa2, 0x65, 0xdf, 0xfc, 0x32, 0x85, 0x0c, 0x12, 0x81, 0x49, 0xf4, 0x9b, 0xbb, 0xeb,
-0x69, 0xe4, 0x8a, 0x43, 0x56, 0x73, 0x32, 0xf5, 0xdf, 0x88, 0xba, 0xd7, 0xde, 0xfa, 0x1d, 0xfb,
-0xaa, 0xa3, 0xb6, 0x3b, 0x2d, 0xca, 0xe8, 0x9a, 0xb3, 0x21, 0x3c, 0xcf, 0x76, 0x72, 0x66, 0xe2,
-0x46, 0x74, 0xff, 0xae, 0x54, 0x52, 0x59, 0x55, 0x1c, 0x17, 0x1b, 0x82, 0x11, 0x6c, 0x1c, 0x42,
-0x3f, 0xbc, 0x1c, 0x81, 0x5a, 0x3f, 0x61, 0x82, 0xa3, 0xa7, 0x26, 0x1f, 0x4e, 0xd0, 0xaf, 0x0e,
-0xf9, 0xe0, 0x24, 0x8c, 0xe4, 0x3d, 0x3f, 0x2e, 0x73, 0x81, 0xaf, 0x25, 0xe3, 0xc6, 0x98, 0x4a,
-0x4c, 0xca, 0x65, 0x84, 0xd2, 0x64, 0xd1, 0xf4, 0x53, 0xe0, 0x6f, 0xac, 0x40, 0xea, 0x6e, 0x36,
-0xcf, 0x85, 0x4b, 0x94, 0x3e, 0x93, 0x8b, 0xb6, 0xe5, 0x0f, 0x7b, 0x3a, 0xe8, 0xf2, 0x78, 0xd0,
-0xc6, 0xb6, 0xdf, 0x66, 0xde, 0xc7, 0x7e, 0x1d, 0x10, 0x05, 0x60, 0x5d, 0xbd, 0x41, 0x5d, 0xfc,
-0x07, 0xd8, 0x9f, 0x6a, 0xf4, 0x65, 0xd2, 0x69, 0x88, 0x29, 0x72, 0x32, 0xe0, 0x53, 0x56, 0x04,
-0x20, 0x6d, 0x3c, 0x01, 0x7a, 0xd0, 0x63, 0x4a, 0x06, 0x9f, 0xe2, 0x88, 0x02, 0x39, 0xa1, 0xd7,
-0x81, 0x5e, 0x83, 0xcd, 0x09, 0x12, 0x56, 0xd4, 0x71, 0x85, 0x35, 0xe0, 0x0b, 0x55, 0x96, 0x6d,
-0x16, 0x88, 0xb5, 0x9d, 0x8f, 0xd6, 0x1e, 0xe6, 0x39, 0x47, 0x7f, 0xae, 0x47, 0x30, 0xb7, 0x28,
-0x72, 0x23, 0xfc, 0x10, 0xb8, 0xad, 0xf7, 0xd6, 0x57, 0x3c, 0xc5, 0xf7, 0xd5, 0x4f, 0xb8, 0xc1,
-0x02, 0xc2, 0xd5, 0x8c, 0xe5, 0x19, 0x0f, 0x69, 0xd3, 0x26, 0x9e, 0xb6, 0x6a, 0x43, 0xca, 0xf6,
-0x9f, 0x60, 0x7b, 0x4b, 0x34, 0x01, 0x00, 0x08, 0x51, 0xa4, 0x28, 0x6c, 0x10, 0x51, 0x18, 0x80,
-0x90, 0x0c, 0xd0, 0xb9, 0x0e, 0x29, 0xe4, 0x09, 0xd8, 0xd3, 0x74, 0x13, 0x4f, 0x28, 0x43, 0xc7,
-0xde, 0xec, 0xeb, 0xd7, 0xf9, 0xa2, 0xc4, 0x13, 0x94, 0x45, 0x37, 0x24, 0x6c, 0x33, 0x9c, 0xd3,
-0xb4, 0x38, 0x08, 0x9f, 0x9a, 0x8e, 0xf4, 0x40, 0xc5, 0x9a, 0xd3, 0x93, 0x6b, 0x45, 0xfa, 0x46,
-0xfd, 0xe0, 0x15, 0x38, 0xf0, 0xe7, 0xdc, 0x68, 0xcf, 0x35, 0x0f, 0x04, 0x6c, 0x1b, 0x50, 0xea,
-0x3a, 0xc4, 0x1c, 0x24, 0xf0, 0x5f, 0x9b, 0xf4, 0xcd, 0x05, 0x07, 0x88, 0xb6, 0x06, 0x94, 0x92,
-0xb9, 0xbd, 0x70, 0x74, 0x16, 0xea, 0x0b, 0x1e, 0xfd, 0x42, 0xe7, 0x03, 0x4a, 0xc1, 0x70, 0xef,
-0xdb, 0x3d, 0x87, 0x0b, 0x66, 0xf6, 0x2e, 0x9e, 0x77, 0x67, 0x2a, 0xc0, 0x4c, 0x43, 0xe7, 0xe0,
-0xa6, 0x01, 0xd5, 0xef, 0x00, 0xc4, 0xe3, 0x5b, 0x2e, 0x51, 0xeb, 0x73, 0x1d, 0x64, 0xa1, 0xcf,
-0x61, 0xf1, 0xdf, 0x5e, 0x21, 0x50, 0x71, 0x7e, 0xfe, 0x9c, 0x01, 0xc3, 0x34, 0x63, 0x61, 0x40,
-0x13, 0x51, 0x3e, 0x57, 0xb7, 0x74, 0x73, 0x8d, 0x93, 0x67, 0x87, 0x44, 0x6e, 0x8c, 0x35, 0x06,
-0x96, 0x3a, 0xe4, 0xa1, 0xa7, 0xe2, 0x36, 0x1b, 0x34, 0xc8, 0x28, 0xc2, 0x0d, 0x99, 0xf0, 0x6b,
-0x87, 0x7a, 0x11, 0xc6, 0x3c, 0xf1, 0x05, 0xf3, 0xde, 0x44, 0xdb, 0x80, 0x49, 0x40, 0x71, 0xaf,
-0x90, 0x21, 0xca, 0x49, 0x79, 0x35, 0xf7, 0xa0, 0x96, 0x91, 0x2b, 0x23, 0x84, 0x1b, 0x29, 0xaa,
-0x86, 0x8d, 0xa5, 0x47, 0x60, 0xdf, 0xc3, 0xf7, 0xd6, 0x07, 0x89, 0x8f, 0x40, 0xd5, 0x18, 0x12,
-0xba, 0x76, 0x86, 0x88, 0x9c, 0xe4, 0x05, 0x12, 0x2a, 0x95, 0x55, 0xab, 0x13, 0x0a, 0x43, 0x01,
-0xd5, 0x75, 0xde, 0x78, 0x75, 0xab, 0xf2, 0x34, 0x5d, 0x4b, 0x02, 0x31, 0x18, 0x3e, 0xb1, 0x69,
-0xff, 0xf9, 0x71, 0x0f, 0x69, 0x0f, 0xef, 0x69, 0xb4, 0xc6, 0x45, 0xd2, 0x1c, 0xca, 0xf0, 0xec,
-0x07, 0x07, 0x06, 0x97, 0xd1, 0xb5, 0xb7, 0xf3, 0x1d, 0x80, 0xef, 0x46, 0xc3, 0x23, 0xe5, 0x44,
-0x5b, 0x53, 0x96, 0xf1, 0x18, 0xda, 0xa7, 0xd5, 0x90, 0x72, 0x07, 0xac, 0x25, 0xde, 0x0a, 0x79,
-0x16, 0x8c, 0x4c, 0x7a, 0xe1, 0x35, 0x9d, 0xec, 0x0c, 0x39, 0xa8, 0xf4, 0xc2, 0xa1, 0xda, 0x7f,
-0x0b, 0x7c, 0x89, 0x5f, 0x5b, 0x53, 0x32, 0xd1, 0x80, 0xd1, 0x21, 0x82, 0x32, 0x5b, 0x5b, 0x87,
-0x98, 0x5a, 0x8f, 0x9f, 0xe1, 0x96, 0x7b, 0x43, 0xd9, 0x58, 0xd0, 0xe3, 0xd1, 0xfa, 0xa0, 0x7d,
-0x80, 0x00, 0xe1, 0x12, 0xc8, 0x13, 0xa7, 0xe1, 0xc5, 0x32, 0xc8, 0x0f, 0x03, 0x9c, 0xa2, 0x31,
-0xd8, 0x81, 0x07, 0x40, 0xc2, 0x0d, 0x2d, 0x25, 0xc0, 0x13, 0xa9, 0x57, 0x9d, 0x14, 0x78, 0x0e,
-0x3e, 0xab, 0x22, 0x5e, 0x29, 0x66, 0x3e, 0xea, 0x59, 0x1a, 0x6f, 0xa3, 0xbf, 0x29, 0x51, 0x3b,
-0x18, 0xe0, 0xab, 0x8c, 0xfb, 0xe6, 0x00, 0x57, 0x1c, 0x1d, 0xd2, 0x59, 0x7d, 0xa5, 0xf4, 0x8c,
-0xfa, 0xe6, 0x2a, 0x77, 0x09, 0x93, 0x3a, 0x7d, 0x9d, 0xa9, 0x3d, 0xf2, 0xae, 0xb7, 0xcc, 0x5c,
-0xa3, 0xf1, 0x00, 0x4b, 0x8c, 0xaf, 0xd7, 0xbc, 0x78, 0x35, 0x9b, 0x56, 0x64, 0xe9, 0x22, 0x60,
-0xd8, 0x67, 0x7e, 0x7d, 0x18, 0xc1, 0x44, 0x16, 0xcb, 0x9a, 0x79, 0x4d, 0x62, 0x31, 0x4d, 0xbe,
-0x07, 0x97, 0x0a, 0x7b, 0x46, 0x8a, 0x55, 0xcd, 0xbd, 0x3e, 0x06, 0x39, 0x55, 0x73, 0xac, 0x4d,
-0x2c, 0xc0, 0x35, 0x2c, 0x69, 0x99, 0xad, 0xfd, 0x47, 0x1e, 0xa8, 0xdc, 0x1c, 0xe2, 0x11, 0x1f,
-0x20, 0xe2, 0xda, 0x7d, 0x03, 0x48, 0xf4, 0x82, 0x22, 0xb5, 0x15, 0x21, 0xcc, 0xb2, 0xdb, 0x3a,
-0x8f, 0x30, 0xdf, 0xa6, 0x4d, 0x93, 0x6d, 0xd4, 0xd7, 0xf7, 0x38, 0xda, 0xa6, 0x38, 0x10, 0x81,
-0xdd, 0x70, 0xb0, 0x77, 0xa3, 0x7b, 0x4f, 0x6e, 0xb9, 0x62, 0xf2, 0x98, 0x32, 0x59, 0xd0, 0x4a,
-0xb3, 0x0a, 0x1a, 0x99, 0x0d, 0x4e, 0xd5, 0x06, 0xb0, 0xaa, 0xfe, 0x26, 0x86, 0x4d, 0xb1, 0xaf,
-0xd2, 0x0b, 0xc2, 0xf5, 0xee, 0x90, 0xf0, 0x72, 0xc0, 0x12, 0xe9, 0xa9, 0xdd, 0xc0, 0xe2, 0x77,
-0x4c, 0x74, 0x35, 0xa8, 0x8a, 0xc0, 0x72, 0x90, 0xb6, 0x1d, 0x97, 0xdd, 0xa3, 0x15, 0x7f, 0x5b,
-0x51, 0xe5, 0x35, 0x27, 0x56, 0x84, 0x42, 0x42, 0xc3, 0x8f, 0x8f, 0x86, 0x76, 0x0e, 0xd9, 0xac,
-0xea, 0xa5, 0xe3, 0x35, 0x42, 0x61, 0x4d, 0x74, 0xec, 0x67, 0x3e, 0x63, 0x05, 0x0e, 0xda, 0xcd,
-0xf7, 0x53, 0xe0, 0xa0, 0xd6, 0x16, 0xc1, 0x51, 0x8c, 0x02, 0xbc, 0xeb, 0x2f, 0xb6, 0xee, 0x6b,
-0x5f, 0x68, 0x48, 0x54, 0x5e, 0x0f, 0x97, 0x39, 0x26, 0xd9, 0x0c, 0xd4, 0xa0, 0xc0, 0xd3, 0x6f,
-0x06, 0x2c, 0x55, 0xb6, 0x96, 0x43, 0x8b, 0x70, 0x5c, 0x2e, 0xd1, 0xd7, 0x3e, 0x79, 0x21, 0xe3,
-0x09, 0x2c, 0x41, 0x5f, 0xcc, 0x95, 0xa1, 0x62, 0xcc, 0x28, 0x85, 0x09, 0xf7, 0x66, 0x82, 0x81,
-0xa6, 0x87, 0x22, 0xa1, 0xe5, 0x6b, 0x46, 0xfb, 0xeb, 0x3c, 0xb9, 0x29, 0xab, 0xab, 0x15, 0x96,
-0xa6, 0xb5, 0x34, 0x68, 0xd4, 0x94, 0xc8, 0xb2, 0xc9, 0x37, 0x15, 0x9a, 0xd2, 0xf7, 0xd9, 0xcf,
-0x07, 0x5b, 0xcf, 0xa4, 0x6a, 0x86, 0xcc, 0xfc, 0xf5, 0x10, 0xd1, 0x99, 0x5d, 0xf1, 0x90, 0xba,
-0x6a, 0xe6, 0x31, 0x2e, 0x92, 0xe9, 0x43, 0x7f, 0xf7, 0x83, 0x58, 0x9e, 0x17, 0x8b, 0xb6, 0x26,
-0xcc, 0x86, 0x12, 0x84, 0x74, 0x6c, 0x4c, 0xfb, 0xef, 0xb3, 0x90, 0xd9, 0x52, 0x6f, 0x2c, 0x56,
-0x42, 0x79, 0x52, 0xf6, 0xae, 0x0c, 0x55, 0x71, 0x9f, 0xf3, 0x80, 0xae, 0x97, 0x03, 0x2f, 0xab,
-0xee, 0x70, 0x9d, 0x06, 0x2c, 0x46, 0xca, 0x21, 0x03, 0x08, 0xef, 0x14, 0xdf, 0x77, 0x02, 0x89,
-0xd6, 0x46, 0x40, 0x3d, 0xb5, 0x95, 0xdb, 0x4b, 0x9c, 0x09, 0x23, 0xd4, 0x86, 0xe8, 0xe5, 0x0a,
-0xe1, 0xcc, 0x64, 0xd6, 0x11, 0x50, 0xb6, 0x2c, 0x8c, 0xc1, 0xd8, 0xeb, 0x8b, 0xbd, 0x65, 0x0a,
-0x22, 0x61, 0x0c, 0xe5, 0x16, 0x9a, 0xa6, 0x0f, 0xc3, 0x0d, 0xcf, 0x44, 0xa9, 0xe7, 0x26, 0x80,
-0x00, 0xef, 0x4d, 0x8a, 0xf1, 0x12, 0x73, 0x76, 0x8a, 0xdf, 0xf5, 0xc3, 0x60, 0x85, 0xd3, 0x19,
-0xc0, 0x81, 0x04, 0x92, 0xb1, 0x06, 0x6e, 0x1a, 0xf1, 0x3f, 0x27, 0x9a, 0xd3, 0x37, 0xa1, 0xb7,
-0x98, 0x13, 0x85, 0xa3, 0xc9, 0x51, 0x9a, 0x5e, 0x67, 0x50, 0xb1, 0x44, 0xa7, 0x90, 0xc4, 0x41
+0x75, 0x95, 0xb3, 0x48, 0x38, 0xf9, 0xe4, 0x88, 0xec, 0xf8, 0x3b, 0x09, 0x40, 0xd4, 0xd6, 0xea,
+0xf1, 0x80, 0x6d, 0xfb, 0xba, 0x9e, 0xee, 0xac, 0x6a, 0xf9, 0x8f, 0xb6, 0xe1, 0xff, 0xea, 0x19,
+0x17, 0xc2, 0x77, 0x8d, 0xc2, 0x8d, 0x6c, 0x89, 0xd1, 0x5f, 0xa6, 0xf3, 0x2c, 0xa7, 0x6a, 0x7f,
+0x50, 0x1b, 0xc9, 0x4d, 0xb4, 0x36, 0x64, 0x6e, 0xa6, 0xd9, 0x39, 0x8b, 0xcf, 0x8e, 0x0c, 0x55,
+0x4d, 0xb8, 0xe8, 0xf5, 0xb6, 0x5a, 0xd4, 0x49, 0x63, 0x24, 0xa2, 0xdf, 0xf0, 0x7a, 0x1c, 0x3b,
+0x74, 0x0c, 0x1d, 0x9b, 0xe2, 0x2b, 0x31, 0xb5, 0xe3, 0xca, 0x9f, 0xe4, 0x23, 0xe8, 0x64, 0x83,
+0x1a, 0xf1, 0xaa, 0xbf, 0xd0, 0x6a, 0xd6, 0x43, 0xd1, 0x2d, 0x2b, 0x7f, 0x38, 0x8d, 0x55, 0xd8,
+0xb2, 0xa9, 0x96, 0xec, 0xf5, 0xf9, 0x56, 0x50, 0x65, 0xc8, 0x63, 0x35, 0x22, 0xb0, 0xf4, 0x11,
+0xf3, 0x96, 0x16, 0xc3, 0x55, 0x90, 0xd0, 0x42, 0x3a, 0x5b, 0xc7, 0xfa, 0x67, 0x9b, 0x9f, 0xbd,
+0xca, 0xa5, 0x89, 0xd1, 0xe6, 0xfb, 0xbe, 0x3c, 0x7a, 0x29, 0xcb, 0xd7, 0xd2, 0xaf, 0xfc, 0x2d,
+0x1e, 0xb2, 0x6c, 0x4f, 0x5e, 0x31, 0x67, 0x6f, 0xa9, 0x8e, 0x54, 0x1f, 0xdb, 0x87, 0xd4, 0x11,
+0xa4, 0x99, 0x50, 0xcc, 0x52, 0xd0, 0xfa, 0x43, 0x70, 0x03, 0xa6, 0xff, 0xe0, 0xcb, 0x22, 0xbd,
+0xf3, 0x66, 0xf2, 0x4d, 0x82, 0x13, 0x94, 0x28, 0x89, 0xae, 0x82, 0xdc, 0xa5, 0x3e, 0xf2, 0xd2,
+0x01, 0xda, 0xef, 0xb4, 0x81, 0x77, 0x86, 0x29, 0x35, 0xad, 0xca, 0x14, 0x84, 0xdb, 0x86, 0xbd,
+0x8c, 0xf0, 0x8b, 0xc4, 0x2a, 0xb0, 0x87, 0xd8, 0x0b, 0xcd, 0x2c, 0x32, 0xe1, 0xce, 0xca, 0x15,
+0x82, 0x6e, 0xf5, 0xc8, 0x20, 0x38, 0xa2, 0x60, 0xaf, 0xe1, 0xdc, 0xe7, 0x7b, 0xa4, 0x75, 0x4b,
+0xf2, 0xd1, 0xfb, 0x25, 0x36, 0xbe, 0x84, 0x67, 0x94, 0x06, 0x20, 0xc0, 0x21, 0x30, 0x29, 0xdf,
+0x63, 0xf5, 0x56, 0x3a, 0x07, 0xef, 0x8d, 0xad, 0x62, 0x0f, 0x60, 0xbe, 0xb0, 0x8e, 0x10, 0x27,
+0xc6, 0x46, 0x90, 0xe5, 0x59, 0xaa, 0x16, 0x55, 0xca, 0x68, 0x6c, 0xbf, 0x19, 0x4e, 0xcd, 0xe8,
+0xb4, 0xf8, 0x94, 0xc4, 0x55, 0x9d, 0x7c, 0x3c, 0x06, 0x4e, 0x1a, 0x34, 0x1b, 0x16, 0x80, 0xe4,
+0x56, 0x98, 0xd4, 0xaa, 0xee, 0x66, 0xea, 0x91, 0x71, 0x44, 0xbd, 0xcb, 0xb1, 0xc5, 0x57, 0x49,
+0xa8, 0x4e, 0xe2, 0x03, 0xc6, 0xd5, 0x39, 0xd8, 0x69, 0xa8, 0xa0, 0xad, 0xad, 0x0d, 0x8d, 0xa7,
+0x80, 0xd3, 0xba, 0xc1, 0xae, 0xfe, 0xf5, 0xa2, 0x55, 0x8d, 0xa6, 0x2f, 0xb1, 0x4c, 0x67, 0x3e,
+0xb4, 0xaa, 0xed, 0xab, 0x89, 0xbc, 0xa5, 0x6c, 0x96, 0xe1, 0xc2, 0x27, 0x80, 0x55, 0xe3, 0x1b,
+0x5c, 0x20, 0xad, 0x02, 0x83, 0xa1, 0xc9, 0x51, 0xbd, 0x63, 0xf6, 0x08, 0x64, 0x38, 0x75, 0x7c,
+0x50, 0xd9, 0xae, 0xbb, 0x1b, 0xab, 0x33, 0xd5, 0x61, 0xf1, 0xda, 0xe4, 0x52, 0x6d, 0x97, 0x3c,
+0xdb, 0xec, 0x62, 0x37, 0x5b, 0xe9, 0x84, 0xda, 0x26, 0x26, 0xa2, 0xc2, 0x00, 0x67, 0x50, 0x82,
+0x0c, 0xa2, 0xd4, 0xb0, 0xc9, 0xe7, 0x6e, 0x2a, 0x2a, 0xaa, 0x5a, 0x8a, 0x3c, 0xfa, 0xb8, 0xd6,
+0x95, 0xdf, 0xb5, 0x20, 0x08, 0x65, 0xf4, 0x2f, 0x49, 0x2a, 0xeb, 0x06, 0xd4, 0x1a, 0x3a, 0x3d,
+0xc7, 0xfe, 0xd2, 0x5c, 0xb5, 0x00, 0x14, 0x67, 0x32, 0xb2, 0x17, 0xe2, 0x17, 0x50, 0x97, 0xf0,
+0x11, 0xb5, 0x1a, 0xe4, 0xa9, 0xe1, 0x40, 0x21, 0xbb, 0x75, 0x96, 0xb2, 0xc1, 0x90, 0x8a, 0x66,
+0xfd, 0x2c, 0x1a, 0xa6, 0xc0, 0x4a, 0x53, 0xcb, 0x3e, 0x10, 0x0f, 0x0a, 0x73, 0x3c, 0x6b, 0x4f,
+0xba, 0x14, 0x57, 0xce, 0xc8, 0xb7, 0xd8, 0x33, 0xf1, 0xc4, 0xba, 0x02, 0x13, 0xaa, 0xc6, 0x15,
+0x9e, 0xd6, 0xfd, 0x77, 0x05, 0x81, 0x92, 0x61, 0x3b, 0x35, 0x3f, 0xbd, 0x38, 0x22, 0x2a, 0x5f,
+0xc3, 0x09, 0xc5, 0x73, 0x22, 0x2d, 0x27, 0x8a, 0x42, 0xac, 0x06, 0xe2, 0x8b, 0x9e, 0x3d, 0x73,
+0xfb, 0xf2, 0x71, 0x06, 0x07, 0x26, 0xc7, 0x25, 0xdd, 0x19, 0x7a, 0x54, 0xd8, 0xb8, 0x66, 0x6b,
+0x73, 0xad, 0xc8, 0xa2, 0x24, 0x39, 0x4a, 0xab, 0xdc, 0x5a, 0x6e, 0x32, 0xd9, 0x4a, 0x12, 0xe4,
+0xbd, 0x39, 0xf8, 0x72, 0x6a, 0xdc, 0x46, 0xfb, 0x18, 0x08, 0x01, 0xc5, 0xd3, 0xe7, 0xa2, 0xe9,
+0xf4, 0xe4, 0xcc, 0xaf, 0x91, 0x1c, 0xc7, 0x57, 0xdc, 0x18, 0x53, 0x2a, 0x66, 0xeb, 0x29, 0xf9,
+0xc5, 0x0e, 0x5a, 0x1c, 0x0d, 0xcc, 0xca, 0xb1, 0x67, 0x75, 0xff, 0x91, 0x58, 0x71, 0xff, 0x01,
+0x56, 0xaa, 0x51, 0x75, 0xfc, 0x61, 0x8a, 0x2a, 0x1c, 0xb3, 0x0a, 0x4b, 0x9a, 0xea, 0xe3, 0xc4,
+0x2a, 0x07, 0xd2, 0xce, 0x6d, 0xfc, 0x34, 0xf8, 0xb0, 0xe9, 0xe3, 0x4b, 0x71, 0x1f, 0x5f, 0x0e,
+0xb9, 0x87, 0x25, 0x1c, 0xad, 0x7b, 0x52, 0xa0, 0x56, 0xcf, 0x90, 0xbe, 0x7d, 0xc0, 0x6c, 0x34,
+0x28, 0x49, 0x77, 0xd4, 0x66, 0x12, 0x40, 0xa9, 0xd4, 0x32, 0xbe, 0x10, 0xad, 0x11, 0x73, 0xed,
+0x10, 0x60, 0xc5, 0x76, 0x63, 0xe8, 0x1a, 0x12, 0x26, 0x94, 0xa4, 0xa7, 0xee, 0xc3, 0xd3, 0x47,
+0xb6, 0x2f, 0xa1, 0x18, 0xe5, 0x7a, 0xf4, 0x85, 0x97, 0x1e, 0x09, 0xdf, 0xd6, 0x92, 0xc5, 0x2e,
+0x3e, 0xe5, 0xa9, 0x70, 0x7b, 0x89, 0x91, 0x5b, 0x72, 0x9a, 0x53, 0x5c, 0xdd, 0xb9, 0xd5, 0xe0,
+0xab, 0xb3, 0xc5, 0x14, 0x74, 0xcb, 0x67, 0xdc, 0xbb, 0x7c, 0x98, 0x31, 0xde, 0x2a, 0x61, 0x79,
+0x48, 0xdf, 0xb5, 0x1f, 0xb6, 0x3f, 0xbd, 0x15, 0xc8, 0xdf, 0x69, 0xc1, 0x11, 0xfc, 0xd2, 0xcf,
+0x33, 0xac, 0xe3, 0xdf, 0xc9, 0x26, 0xc7, 0x3c, 0x3d, 0xa8, 0x2b, 0xf1, 0xb7, 0x34, 0x01, 0x9e,
+0x53, 0x5a, 0x98, 0xe7, 0x45, 0x3a, 0x46, 0x90, 0xe1, 0xa3, 0x5f, 0xd3, 0xc4, 0xbc, 0x64, 0xea,
+0x9d, 0x90, 0xcc, 0xfc, 0x35, 0xa3, 0xd1, 0x8b, 0xc1, 0x9b, 0x6f, 0xce, 0xdb, 0xe7, 0x43, 0x3b,
+0x3d, 0x2e, 0xff, 0xc5, 0x81, 0x27, 0x2f, 0xd2, 0x66, 0x85, 0x7c, 0x8c, 0x3d, 0x4f, 0x3d, 0xca,
+0xce, 0x3a, 0xdf, 0xbc, 0xa2, 0x76, 0x3b, 0xe9, 0xc0, 0xf0, 0x22, 0xd8, 0x3c, 0xb8, 0x67, 0x7b,
+0x9b, 0xf1, 0x8d, 0x30, 0x0c, 0x1a, 0xd9, 0xe1, 0xff, 0x85, 0x26, 0xf1, 0xe8, 0x99, 0x92, 0x24,
+0xec, 0xb0, 0x7a, 0x20, 0xe3, 0x36, 0xe0, 0xe7, 0xc6, 0x9d, 0xfe, 0x7e, 0x52, 0x08, 0x00, 0x8c,
+0xc3, 0x8b, 0x8d, 0x3b, 0xf8, 0x07, 0x8c, 0x1e, 0x26, 0xbd, 0x1b, 0x82, 0x80, 0xe4, 0xec, 0x7a,
+0xf5, 0x3b, 0xb6, 0x2a, 0x59, 0xf0, 0x0c, 0x3d, 0x36, 0xaf, 0x8a, 0x59, 0xc1, 0x57, 0xc1, 0x9c,
+0xf1, 0x6e, 0x81, 0x98, 0xc2, 0x18, 0x0a, 0xb8, 0xe3, 0xe8, 0xa6, 0xd6, 0x54, 0x3a, 0xfd, 0xb2,
+0x3e, 0x13, 0x3e, 0xfb, 0xf9, 0x34, 0xc4, 0x8c, 0x6f, 0xbe, 0x11, 0x5b, 0x2d, 0x81, 0x7b, 0x20,
+0xc9, 0xd3, 0xe6, 0x71, 0x3e, 0xae, 0xbf, 0x23, 0x09, 0xa0, 0x87, 0xe7, 0x49, 0x2d, 0xc9, 0x6a,
+0x8d, 0xa3, 0x5e, 0x8e, 0xeb, 0x18, 0x33, 0x3a, 0xf8, 0x00, 0x3d, 0x91, 0xf0, 0x6c, 0x80, 0x38,
+0x3b, 0x0c, 0xa1, 0xb1, 0x17, 0xb1, 0xe0, 0x6d, 0x63, 0x7c, 0xa4, 0xf5, 0x9a, 0x65, 0xc8, 0x3e,
+0x09, 0xc5, 0x57, 0x79, 0x7a, 0x2a, 0x17, 0x8b, 0xbb, 0xe2, 0x75, 0xb8, 0x87, 0x14, 0x7b, 0xc6,
+0x21, 0xa8, 0x9e, 0x31, 0xdc, 0x15, 0xee, 0x43, 0xf6, 0xc0, 0x11, 0x30, 0xa8, 0x45, 0xd3, 0x4b,
+0x61, 0xfe, 0x9a, 0x19, 0xae, 0x01, 0x40, 0xf7, 0x56, 0xcc, 0xc6, 0xa9, 0x35, 0x10, 0xe7, 0x58,
+0xbb, 0x13, 0x79, 0x19, 0x11, 0x47, 0x90, 0xf4, 0xa3, 0x40, 0xf2, 0xa1, 0xe0, 0xd0, 0xb0, 0xe4,
+0xca, 0xf3, 0x03, 0x3a, 0xd5, 0xd9, 0x67, 0xbc, 0x35, 0x6d, 0x74, 0xa0, 0xd2, 0x10, 0x9a, 0x5e,
+0x14, 0x7e, 0xb9, 0x10, 0x17, 0x1c, 0x1d, 0x44, 0x31, 0xe4, 0xcc, 0xa6, 0x95, 0xd2, 0x45, 0x1a,
+0xfc, 0x9a, 0x7c, 0x62, 0xf2, 0xd8, 0xc4, 0x4b, 0x4c, 0x87, 0x13, 0xb7, 0x61, 0xe5, 0x7e, 0xa7,
+0x47, 0xac, 0x97, 0xf0, 0x86, 0x2b, 0xe6, 0x1e, 0x8c, 0xd0, 0x66, 0x86, 0xfa, 0x18, 0x1f, 0x12,
+0xa7, 0x84, 0x6f, 0x0d, 0x66, 0x1e, 0xe5, 0xf3, 0xb8, 0x1b, 0x37, 0xe4, 0x9a, 0x12, 0x81, 0x10,
+0x18, 0xad, 0xdd, 0x9d, 0x5a, 0x4b, 0xce, 0xf5, 0xcb, 0x31, 0x6d, 0x2e, 0xa5, 0x82, 0x40, 0x87,
+0x5c, 0x08, 0x62, 0xc2, 0xc2, 0x5d, 0xea, 0x78, 0x0a, 0xc1, 0x96, 0x99, 0xe5, 0xf4, 0x12, 0x5c,
+0xf1, 0xee, 0x70, 0x59, 0xc6, 0x5e, 0xc5, 0xfa, 0xb3, 0xa3, 0x62, 0x71, 0xd8, 0x22, 0x6a, 0x99,
+0xf9, 0xb7, 0xbe, 0x58, 0x45, 0x9a, 0x5a, 0xc1, 0xa9, 0x3f, 0x99, 0x7a, 0x16, 0x46, 0x52, 0x21,
+0x4b, 0x0c, 0x52, 0xce, 0xa6, 0x6c, 0x44, 0xf7, 0x77, 0xc2, 0x10, 0x11, 0x13, 0xe2, 0x19, 0x2e,
+0x5e, 0xb5, 0x4a, 0x5b, 0xfc, 0x66, 0x9d, 0xe1, 0xd0, 0x9d, 0xde, 0x46, 0xf2, 0xad, 0x35, 0x97,
+0x64, 0xa9, 0x05, 0x0e, 0x3b, 0x0f, 0xf9, 0xc7, 0xe0, 0xcd, 0x3b, 0x8c, 0xff, 0x6b, 0xde, 0xb0,
+0x7f, 0x3e, 0x1f, 0x3f, 0x7b, 0x66, 0xbd, 0x52, 0x40, 0x18, 0xde, 0x91, 0x61, 0xca, 0xae, 0x40,
+0x56, 0x9b, 0x46, 0x5f, 0xd9, 0x2f, 0x13, 0x62, 0x7e, 0x22, 0xec, 0x4b, 0x64, 0x8d, 0x21, 0xa2,
+0xe9, 0x83, 0xbb, 0xec, 0x7f, 0xd9, 0xb4, 0xfb, 0x4f, 0x21, 0x9e, 0xb4, 0x66, 0x15, 0x13, 0x95,
+0x0f, 0x50, 0xb4, 0x9f, 0x77, 0xe8, 0xad, 0x24, 0x0e, 0x00, 0xb3, 0x73, 0x29, 0xd0, 0xc4, 0x25,
+0xf7, 0x91, 0xe6, 0xac, 0xf4, 0x5f, 0x7f, 0xac, 0xd7, 0x68, 0x6b, 0x94, 0xd8, 0x7a, 0xcb, 0xb8,
+0xd8, 0xcb, 0x24, 0x06, 0x88, 0x2e, 0x8e, 0x91, 0xaf, 0xce, 0x6f, 0x36, 0x2f, 0x2d, 0x1a, 0xac,
+0xcc, 0x06, 0xb4, 0x0e, 0x66, 0x6e, 0x79, 0x15, 0xe5, 0xaa, 0x33, 0xeb, 0xb1, 0xe5, 0xa3, 0x62,
+0x7a, 0x76, 0xfc, 0x4a, 0xbd, 0xa2, 0xbe, 0x85, 0x44, 0x6c, 0x31, 0xae, 0x5b, 0xd9, 0x85, 0x5e,
+0xb7, 0x88, 0xdb, 0x29, 0xa1, 0x1e, 0x78, 0x98, 0x56, 0xbf, 0xfb, 0x4c, 0x63, 0xac, 0x96, 0xfb,
+0xa1, 0x18, 0x91, 0xc2, 0x21, 0x90, 0x7c, 0xfa, 0x9d, 0x6d, 0x09, 0xb9, 0xae, 0x9e, 0x90, 0xf3,
+0x33, 0x31, 0x95, 0xa3, 0xf4, 0xc1, 0xfa, 0x89, 0xad, 0x6d, 0x30, 0x1c, 0x42, 0x5b, 0x56, 0x6f,
+0x85, 0x26, 0x6a, 0xf6, 0x95, 0xf6, 0x3c, 0xbc, 0x9b, 0xb1, 0x70, 0x50, 0xeb, 0x9e, 0x40, 0xa2,
+0x97, 0x50, 0x2b, 0x90, 0x7b, 0x38, 0x64, 0xf1, 0xae, 0xa1, 0x23, 0xeb, 0x34, 0x22, 0x1a, 0x97,
+0x9d, 0xdb, 0x48, 0x44, 0x7d, 0x1a, 0x56, 0xfa, 0xdd, 0x18, 0xc9, 0xac, 0xe9, 0x2a, 0x98, 0x97,
+0x48, 0xff, 0x79, 0x66, 0x44, 0xfd, 0x2e, 0xa6, 0x15, 0x0b, 0x51, 0x3e, 0x0a, 0xaf, 0x62, 0x16,
+0x1a, 0x37, 0xab, 0x72, 0xa5, 0xf1, 0x0b, 0xa7, 0x8c, 0x00, 0xf2, 0xaa, 0xd3, 0x34, 0x01, 0xb1,
+0xd0, 0x2c, 0x88, 0xb8, 0x25, 0xd6, 0x62, 0x02, 0x52, 0xa4, 0x4a, 0xa2, 0xb1, 0xe3, 0x07, 0x91,
+0x41, 0x30, 0x55, 0x2f, 0x14, 0x61, 0x29, 0xd0, 0x94, 0x1e, 0x4e, 0xe3, 0x02, 0x39, 0xc9, 0xb1,
+0xfc, 0x43, 0xec, 0x83, 0x28, 0xf1, 0x98, 0x0e, 0xe9, 0x26, 0x79, 0x1c, 0x48, 0xa9, 0x22, 0x21,
+0x4a, 0x82, 0xaf, 0x43, 0x35, 0xf4, 0x9c, 0x39, 0x08, 0x8b, 0x93, 0xb8, 0x42, 0x40, 0x7b, 0x99,
+0x4c, 0xfa, 0x63, 0x90, 0x4e, 0x31, 0x5f, 0x9f, 0x60, 0x60, 0xa7, 0x1b, 0xb8, 0x38, 0x83, 0x63,
+0xb3, 0xe7, 0x2e, 0xcc, 0x1a, 0x21, 0xdd, 0x4b, 0xfb, 0x62, 0x2c, 0x30, 0xae, 0x15, 0x6b, 0xe2,
+0x37, 0x63, 0xc8, 0xa1, 0x16, 0x57, 0x83, 0x14, 0xcc, 0xae, 0xe4, 0x31, 0x1b, 0x06, 0xf7, 0xbe,
+0xf8, 0x56, 0xef, 0xd4, 0x60, 0x9e, 0x68, 0x0c, 0xa0, 0x82, 0x7e, 0x71, 0x87, 0x9e, 0xd2, 0xa7,
+0x5d, 0x86, 0xc6, 0x3d, 0x88, 0x4a, 0xd9, 0x01, 0x1e, 0x44, 0xa1, 0xc0, 0x91, 0x42, 0xd2, 0xfc,
+0xab, 0xf2, 0x7a, 0x94, 0x16, 0xf1, 0x39, 0x50, 0x83, 0x1c, 0x65, 0x9d, 0xc3, 0x26, 0x93, 0xdf,
+0x65, 0x0c, 0xe3, 0x83, 0xb5, 0x7f, 0x72, 0x73, 0xef, 0xd7, 0x62, 0xe9, 0x7f, 0xe2, 0xd1, 0xcc,
+0x9e, 0x77, 0x9f, 0xab, 0x30, 0x26, 0x2a, 0x2c, 0x18, 0xb1, 0x3c, 0x64, 0xcf, 0x54, 0x49, 0x75,
+0xe1, 0xbe, 0x51, 0xdc, 0xaa, 0xdf, 0xeb, 0xc0, 0x41, 0xc7, 0x24, 0x4b, 0xe3, 0xe0, 0xe7, 0xbc,
+0xed, 0x32, 0x15, 0x9f, 0x4b, 0x2f, 0x17, 0xc1, 0xce, 0x39, 0x38, 0x83, 0xcb, 0x97, 0x30, 0x7b,
+0x82, 0x46, 0x65, 0x55, 0x2d, 0xd8, 0x16, 0xa7, 0xd3, 0x33, 0x73, 0x5a, 0xb2, 0xe0, 0xae, 0xfc,
+0x12, 0x8a, 0xf4, 0x56, 0xd9, 0x7b, 0xd2, 0x02, 0xcf, 0x99, 0x37, 0x04, 0x56, 0x90, 0xab, 0x10,
+0x82, 0x3e, 0xcc, 0x2c, 0x8d, 0x53, 0x67, 0x9b, 0x43, 0x59, 0xc0, 0x80, 0xec, 0x18, 0x5e, 0x03,
+0x04, 0x5d, 0x1d, 0x5f, 0xb4, 0x03, 0x8f, 0xc7, 0x38, 0x10, 0x6c, 0xd7, 0xfe, 0x8f, 0x2c, 0xd4,
+0x0a, 0x1e, 0x47, 0x5f, 0x2a, 0x26, 0xd3, 0x4b, 0x3e, 0x46, 0x87, 0xd4, 0x94, 0xba, 0xe8, 0x19,
+0x89, 0x90, 0x70, 0x90, 0xa0, 0xee, 0x8d, 0x74, 0x87, 0x1c, 0x35, 0x6b, 0x48, 0x94, 0x3d, 0x80,
+0x4c, 0x8c, 0x84, 0x35, 0x86, 0x97, 0xb4, 0xe2, 0xae, 0x4c, 0xae, 0x30, 0xcf, 0x6e, 0x34, 0xa5,
+0xbb, 0xa5, 0xf5, 0xdd, 0x7e, 0xe8, 0xea, 0x37, 0x54, 0xe2, 0xc3, 0x91, 0x03, 0xcb, 0x8c, 0x4b,
+0x23, 0x73, 0x63, 0x5b, 0x35, 0x63, 0x5b, 0x89, 0xbb, 0x01, 0xce, 0x8d, 0x73, 0xa3, 0x4f, 0x89,
+0x76, 0x15, 0x5d, 0x50, 0x26, 0x01, 0x8c, 0x7b, 0x23, 0x6b, 0x84, 0xa6, 0x60, 0x44, 0x2a, 0x0b,
+0x33, 0x8f, 0x00, 0xad, 0x0e, 0x05, 0x75, 0x41, 0xae, 0x96, 0x1b, 0x2d, 0x0b, 0xe9, 0xdb, 0xba,
+0xbe, 0xe0, 0xc5, 0x65, 0x35, 0x02, 0xf2, 0x04, 0x6c, 0x3f, 0x81, 0xe0, 0x0c, 0x2c, 0xd7, 0xde,
+0xc8, 0xb2, 0x6c, 0x5d, 0x1e, 0x9b, 0xe0, 0x65, 0x1e, 0x13, 0xd8, 0x6a, 0x92, 0xa7, 0x59, 0x14,
+0x78, 0x92, 0xb7, 0x11, 0x06, 0xea, 0xc2, 0x8d, 0x61, 0x82, 0x5d, 0xfe, 0x18, 0x66, 0x02, 0x8e,
+0x7a, 0x09, 0x7f, 0xdc, 0x7e, 0xca, 0xa7, 0x76, 0x99, 0x50, 0x25, 0xf6, 0x7e, 0x30, 0xaa, 0xf7,
+0x82, 0xae, 0xfa, 0xe3, 0xdf, 0x56, 0xa9, 0xab, 0xa4, 0xa3, 0x2c, 0x4d, 0x02, 0x4c, 0x38, 0x02,
+0x2d, 0x7f, 0x37, 0x54, 0xca, 0x3f, 0x6e, 0x7b, 0x0e, 0xb2, 0xa5, 0x68, 0x76, 0x98, 0x85, 0xd4,
+0x83, 0x5b, 0x26, 0xb3, 0xcd, 0xe9, 0x0c, 0xdf, 0xa5, 0x35, 0x4d, 0xd8, 0x5c, 0x59, 0x53, 0xe8,
+0x81, 0xf0, 0x33, 0xc9, 0xc9, 0xef, 0x84, 0xf6, 0x5c, 0xf8, 0x6e, 0x32, 0xe7, 0x20, 0x94, 0x79
 
 cipher_key =
 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
@@ -290,214 +290,213 @@ iv =
 ####################
 [sha1_hmac_buff_32]
 digest =
-0x8C, 0xD8, 0x0F, 0x6F, 0x32, 0xED, 0x11, 0xFF, 0x3B, 0xC3, 0x1C, 0xA7, 0x62, 0xE2, 0x2B, 0xCB,
-0x87, 0x65, 0x58, 0x92
+0xAD, 0x0F, 0xE8, 0xAD, 0x30, 0xD6, 0x0A, 0x2B, 0x6B, 0x3D, 0x24, 0x79, 0x6D, 0xB6, 0x80, 0x43,
+0x1D, 0xD1, 0x8A, 0xA8
 
 [sha224_hmac_buff_32]
 digest =
-0x2A, 0x97, 0xC8, 0xF8, 0x95, 0xAB, 0x35, 0x88, 0x88, 0x0F, 0x9B, 0x06, 0xEC ,0xE9, 0x27, 0xA3,
-0x17, 0x99, 0x28, 0xF8, 0xDF, 0xB4, 0xE1, 0x4E, 0x47, 0x0B, 0xDE, 0x8D
+0xB4, 0x1C, 0xF4, 0x73, 0x04, 0x62, 0x2D, 0xAF, 0x59, 0x05, 0xE8, 0x55, 0xE4, 0x8B, 0x24, 0xB4,
+0x0F, 0x4C, 0x3D, 0xBE, 0xFF, 0xFF, 0x8D, 0x19, 0x0D, 0x38, 0xA1, 0xFC
 
 [sha256_hmac_buff_32]
 digest =
-0x5C, 0x92, 0xD1, 0x03, 0x49, 0xA5, 0x20, 0x3E, 0x1B, 0x88, 0x6A, 0x30, 0xFB, 0x45, 0x1A, 0x4D,
-0xF7, 0xF2, 0xD0, 0x78, 0x20, 0x61, 0x7C, 0xD6, 0x4E, 0x0E, 0x7B, 0x3B, 0x35, 0xFE, 0xD8, 0x9A
+0x77, 0x54, 0x8D, 0x73, 0x7D, 0xB9, 0x78, 0x2F, 0x3D, 0xEE, 0xA2, 0xE7, 0xC9, 0x03, 0xF3, 0xB0,
+0x17, 0x8E, 0x71, 0x81, 0xB7, 0xA7, 0x5F, 0x9F, 0xF3, 0xED, 0x55, 0x1A, 0x69, 0x68, 0x52, 0xE5
 
 [sha384_hmac_buff_32]
 digest =
-0x8A, 0x39, 0x0D, 0x1C, 0x0C, 0x4A, 0x3C, 0x25, 0xA7, 0x43, 0x2C, 0x26, 0xF3, 0xCF, 0xB4, 0x92,
-0x41, 0x9C, 0x2C, 0xE2, 0x63, 0x40, 0x0B, 0x91, 0xD8, 0xB6, 0x30, 0xE4, 0x9F, 0x96, 0xDE, 0x3C,
-0xED, 0x66, 0x8B, 0x65, 0x5A, 0xA3, 0xB8, 0xD4, 0x01, 0xB3, 0xBC, 0xAA, 0x08, 0x92, 0x5C, 0x2F
+0x1A, 0x3D, 0x1A, 0xD8, 0x0C, 0x04, 0x4B, 0x14, 0x9F, 0xF6, 0x9B, 0x80, 0x5C, 0xA2, 0x78, 0xFC,
+0xE6, 0xA3, 0xBA, 0x32, 0x09, 0x04, 0x52, 0x24, 0x76, 0xC9, 0xFC, 0x70, 0xA6, 0x00, 0xB4, 0x41,
+0xA1, 0x48, 0x1D, 0xCC, 0x54, 0x59, 0xE6, 0x94, 0x35, 0x36, 0xCC, 0xAB, 0x4B, 0xF5, 0xE4, 0xCA
 
 [sha512_hmac_buff_32]
 digest =
-0x1E, 0x27, 0xE8, 0xBD, 0xDA, 0x56, 0xC0, 0x5D, 0x04, 0xA0, 0xFC, 0x21, 0xCF, 0x52, 0x07, 0x45,
-0x28, 0xAD, 0x33, 0xC4, 0x3C, 0x07, 0x0B, 0x6B, 0xC9, 0x90, 0x2B, 0xE5, 0xCA, 0x11, 0x7C, 0x86,
-0x95, 0xF4, 0xC4, 0x56, 0xAC, 0x86, 0x0D, 0xF0, 0x62, 0xB8, 0x6C, 0xFC, 0x88, 0xC6, 0xBA, 0xF7,
-0x35, 0xDD, 0xB6, 0x2E, 0x34, 0x09, 0x27, 0x93, 0xB0, 0xF3, 0x0B, 0x7D, 0x9F, 0x74, 0x2D, 0x4F
+0xED, 0xD7, 0x96, 0x0B, 0xC4, 0x8F, 0xBF, 0xF3, 0xEA, 0x7D, 0x5D, 0x57, 0x2A, 0x50, 0x50, 0xAC,
+0x33, 0xF2, 0xED, 0x56, 0x0A, 0xF7, 0x97, 0x4A, 0x36, 0x8D, 0x3B, 0xA5, 0x9F, 0x7A, 0x6D, 0x57,
+0xE0, 0x94, 0x10, 0xB9, 0x15, 0xC6, 0x1B, 0x7F, 0x17, 0xB3, 0x48, 0xB5, 0xF9, 0x93, 0xD8, 0xCA,
+0x74, 0x56, 0xED, 0xBD, 0x55, 0x14, 0xD2, 0xB6, 0x36, 0x07, 0x06, 0x73, 0x66, 0x41, 0x50, 0x84
 
 ####################
 # sha_hmac_buff_64 #
 ####################
 [sha1_hmac_buff_64]
 digest =
-0xAC, 0xD8, 0x84, 0x6B, 0x21, 0x20, 0xFE, 0x7D, 0x60, 0xA9, 0x6C, 0x0D, 0x64, 0xF9, 0x27, 0x5D,
-0x2F, 0xE9, 0xDF, 0x94
+0xC9, 0xC3, 0x65, 0x23, 0xCE, 0x9D, 0x6E, 0x35, 0xDC, 0x65, 0x3B, 0x21, 0x33, 0xFF, 0x1E, 0x74,
+0xAF, 0x48, 0x24, 0xD9
 
 [sha224_hmac_buff_64]
 digest =
-0xB2, 0x30, 0xEC, 0xC5, 0x3A, 0xA5, 0x77, 0x30, 0xDE, 0x64, 0xCE, 0x6D, 0x23, 0xF1, 0x07, 0xBF,
-0x96, 0x2A, 0xFE, 0x3A, 0xFD, 0xA1, 0x97, 0x3E, 0x73, 0x17, 0x42, 0x0B
+0x9F, 0xC3, 0x34, 0x0F, 0xB0, 0xA5, 0x4D, 0x89, 0xA4, 0x20, 0x01, 0xDF, 0x40, 0xAE, 0xA2, 0x41,
+0x4E, 0x97, 0x38, 0xBA, 0xA7, 0xF9, 0x94, 0x1F, 0x56, 0x4E, 0x00, 0x0A
 
 [sha256_hmac_buff_64]
 digest =
-0xB9, 0x48, 0x3B, 0x99, 0x56, 0x93, 0x0A, 0x4E, 0x11, 0xC8, 0x6D, 0x51, 0x56, 0xD6, 0xFB, 0xC4,
-0x2D, 0x36, 0x0C, 0x3B, 0x18, 0xF6, 0x3E, 0xF8, 0xD2, 0x5D, 0xA5, 0x9F, 0xFB, 0xE8, 0x58, 0x93
+0x66, 0x52, 0xF3, 0xEB, 0xC7, 0x06, 0xEF, 0x21, 0x82, 0x7C, 0xCF, 0x7F, 0x5B, 0x6B, 0x77, 0x2F,
+0x28, 0x61, 0x06, 0x2B, 0x67, 0x4B, 0x2D, 0x62, 0x71, 0x53, 0xBE, 0x12, 0xF9, 0x5B, 0xD8, 0x64
 
 [sha384_hmac_buff_64]
 digest =
-0x76, 0x45, 0x45, 0xB5, 0xE5, 0xDE, 0xC2, 0x7B, 0x01, 0xAA, 0x58, 0xB7, 0xD2, 0xCA, 0x0B, 0x6A,
-0xA1, 0x4E, 0x0D, 0xCC, 0xCF, 0x22, 0x9D, 0xBA, 0xA1, 0x6C, 0x54, 0x1A, 0x3B, 0x8B, 0xD9, 0x6F,
-0xB5, 0xA9, 0xC2, 0x80, 0xBF, 0x6C, 0xED, 0xED, 0xA1, 0xB0, 0x15, 0xA6, 0x91, 0x5A, 0xDD, 0x3F
+0x63, 0x50, 0x09, 0x45, 0x87, 0x02, 0x7F, 0x85, 0xD3, 0xC8, 0xF2, 0x26, 0x01, 0xE8, 0x2C, 0x28,
+0xB4, 0x86, 0x5A, 0x8E, 0x8E, 0x95, 0x27, 0x6A, 0x74, 0xF0, 0x29, 0xC2, 0x2D, 0x13, 0x91, 0xD5,
+0x38, 0xDB, 0x06, 0x7E, 0xB4, 0x8C, 0xD6, 0x30, 0x54, 0x86, 0xE7, 0xBB, 0x5C, 0xB6, 0xDD, 0x90
 
 [sha512_hmac_buff_64]
 digest =
-0xED, 0xD9, 0xCA, 0xFE, 0x44, 0x12, 0x8F, 0xF1, 0xCD, 0x91, 0x58, 0x2A, 0x4D, 0xC7, 0x77, 0x50,
-0xD1, 0xBD, 0x9D, 0x33, 0xE3, 0x3A, 0xEA, 0xE1, 0x64, 0x18, 0x48, 0xE9, 0xF0, 0xEC, 0xE0, 0x0F,
-0x13, 0xFD, 0xB9, 0xB2, 0xCF, 0xBC, 0x43, 0x07, 0x66, 0x6E, 0x76, 0x18, 0x27, 0x0D, 0x15, 0x50,
-0x8A, 0x1C, 0x88, 0x8C, 0xC9, 0xDA, 0xD8, 0x30, 0x09, 0xE7, 0xD5, 0x25, 0xB8, 0x09, 0xFF, 0x20
-
+0xBE, 0x52, 0xBF, 0x69, 0x2B, 0x7F, 0xD5, 0x37, 0x48, 0x76, 0xCF, 0xBD, 0x23, 0x18, 0x45, 0x90,
+0x74, 0x25, 0x07, 0x91, 0x13, 0x37, 0xF3, 0x26, 0xEE, 0x68, 0xEC, 0xFC, 0xCB, 0x60, 0x53, 0x96,
+0x54, 0xF6, 0xE8, 0xAC, 0xF7, 0xB1, 0x52, 0x31, 0x7E, 0x5D, 0x99, 0xF3, 0x86, 0xF2, 0x98, 0x7D,
+0xD4, 0x38, 0xD9, 0xF1, 0x4C, 0x08, 0x87, 0x7F, 0xB9, 0x17, 0x97, 0x39, 0xDB, 0x68, 0x39, 0x19
 #####################
 # sha_hmac_buff_128 #
 #####################
 [sha1_hmac_buff_128]
 digest =
-0x09, 0x94, 0x8F, 0xD2, 0xE9, 0x08, 0x5B, 0x76, 0xAC, 0xCB, 0x07, 0x60, 0xE7, 0x41, 0xBD, 0x6C,
-0x91, 0x9E, 0xF4, 0x87
+0xB0, 0x6F, 0x7D, 0xB3, 0x29, 0xC3, 0x2B, 0x5D, 0xB7, 0xF1, 0x13, 0xFB, 0x9E, 0x90, 0x5D, 0xF1,
+0x48, 0xBC, 0x71, 0xA4
 
 [sha224_hmac_buff_128]
 digest =
-0x3A, 0x85, 0x01, 0x4C, 0xF7, 0xA8, 0xB0, 0xF7, 0x74, 0xAB, 0xB0, 0x89, 0x83, 0x2C, 0x3A, 0xA1,
-0x28, 0x87, 0xD7, 0xAB, 0xCF, 0x14, 0xE0, 0x73, 0xFB, 0x19, 0x85, 0xEF
+0xFC, 0x59, 0xAF, 0xF2, 0x83, 0x2E, 0x07, 0x08, 0xBF, 0xB4, 0x3C, 0x24, 0xA8, 0x52, 0x7B, 0x9E,
+0x92, 0x83, 0xCE, 0x96, 0xEE, 0x8B, 0x65, 0x72, 0x00, 0x12, 0xC6, 0x98
 
 [sha256_hmac_buff_128]
 digest =
-0x7F, 0x79, 0xE4, 0x17, 0x6E, 0xE5, 0x78, 0xA0, 0x26, 0x65, 0x62, 0x7D, 0xB5, 0x69, 0x62, 0xC0,
-0x7B, 0x5C, 0xBA, 0x55, 0x06, 0xAD, 0x3D, 0xDE, 0xAA, 0xA7, 0xED, 0x82, 0x3A, 0xBD, 0xBA, 0xFB
+0x7E, 0xCA, 0x95, 0xD5, 0x63, 0xA8, 0xCA, 0xA6, 0xC5, 0x41, 0x75, 0x12, 0x60, 0xDF, 0xFE, 0x16,
+0x70, 0xEB, 0xCC, 0x4E, 0xEB, 0x00, 0x86, 0xF0, 0xEC, 0x45, 0x44, 0x76, 0x62, 0x55, 0x48, 0x56
 
 [sha384_hmac_buff_128]
 digest =
-0xEC, 0x68, 0xCB, 0x8E, 0x90, 0xCF, 0x8D, 0x04, 0xAF, 0x1F, 0x4C, 0x0B, 0xE9, 0x9B, 0x03, 0x05,
-0x19, 0x54, 0x4D, 0x28, 0x02, 0x8B, 0x19, 0x39, 0x1D, 0x59, 0xEF, 0x9C, 0xA1, 0xA5, 0x06, 0x89,
-0x7B, 0x81, 0xDB, 0xD2, 0xAC, 0x21, 0x79, 0xFF, 0xE9, 0x5A, 0x8A, 0xEE, 0x28, 0x12, 0x8D, 0xB1
+0x1B, 0x2A, 0xAA, 0x7F, 0x2E, 0x58, 0x1F, 0x64, 0xB4, 0xE6, 0x29, 0xE4, 0x74, 0x78, 0x09, 0xD7,
+0xBA, 0xDD, 0x18, 0xB6, 0xE4, 0x21, 0xF5, 0x8F, 0x40, 0x45, 0x65, 0xD1, 0xBE, 0x4F, 0x7B, 0x27,
+0xF4, 0x64, 0x72, 0x55, 0x53, 0xAB, 0x39, 0x05, 0x7A, 0x6D, 0xAA, 0x12, 0x75, 0x03, 0x67, 0x4E
 
 [sha512_hmac_buff_128]
 digest =
-0x98, 0xED, 0x87, 0x00, 0x0B, 0x2E, 0x5C, 0xFA, 0x56, 0x94, 0x86, 0x96, 0x6A, 0x45, 0x99, 0xC4,
-0xD8, 0x7E, 0x69, 0x6E, 0xD0, 0x47, 0x01, 0xA9, 0x03, 0xBE, 0x8A, 0x77, 0xDB, 0x19, 0x29, 0xFA,
-0xB8, 0xBF, 0x7E, 0x3B, 0xB1, 0x0F, 0xF8, 0xED, 0x63, 0xD4, 0x9B, 0x6F, 0xE5, 0xD6, 0xE3, 0xED,
-0x2B, 0x89, 0xB2, 0xBD, 0xF7, 0x36, 0x9C, 0xE8, 0x02, 0x88, 0x42, 0x4A, 0x15, 0x24, 0xBB, 0xAB
+0x5F, 0x8F, 0xA8, 0xFA, 0xEA, 0x05, 0x29, 0xBD, 0x3B, 0xBA, 0xF6, 0xA7, 0x93, 0x9E, 0x16, 0xF1,
+0x8B, 0x10, 0x2F, 0x6D, 0x08, 0x18, 0x54, 0xD2, 0x39, 0xEB, 0xF9, 0x70, 0xCC, 0x55, 0xA0, 0xC3,
+0x08, 0x9B, 0x8E, 0x55, 0x81, 0x1A, 0xCE, 0x0D, 0x09, 0x97, 0x4E, 0x34, 0xD1, 0xE6, 0x25, 0x05,
+0x94, 0xC7, 0x05, 0x30, 0xAF, 0x2F, 0x7F, 0x54, 0xAA, 0xB8, 0xC5, 0x8E, 0x3D, 0xBB, 0xF2, 0x12
 
 #####################
 # sha_hmac_buff_256 #
 #####################
 [sha1_hmac_buff_256]
 digest =
-0x1E, 0x7E, 0x38, 0x4E, 0x76, 0x38, 0x75, 0xFE, 0x02, 0xAB, 0x1C, 0xA2, 0xAE, 0xBC, 0x4B, 0x57,
-0x16, 0xB2, 0xB2, 0x4D
+0xF9, 0xCA, 0x12, 0x7D, 0x60, 0x68, 0xB7, 0xAF, 0xDC, 0xAC, 0x41, 0x13, 0x1C, 0xA8, 0xC1, 0x85,
+0x65, 0x11, 0x31, 0x4C
 
 [sha224_hmac_buff_256]
 digest =
-0x49, 0xDA, 0x8E, 0xFB, 0xCD, 0xDF, 0xB8, 0x17, 0x3E, 0xF7, 0xF2, 0x73, 0x03, 0x23, 0x1F, 0x57,
-0x7C, 0x50, 0x89, 0x24, 0x56, 0xF0, 0x54, 0x5D, 0x6A, 0x30, 0xE1, 0x44
+0x49, 0xED, 0xA4, 0x27, 0x51, 0x6A, 0x46, 0xE4, 0x31, 0x12, 0x72, 0x92, 0xB8, 0x81, 0x16, 0x97,
+0x19, 0x4F, 0x3B, 0xAC, 0xD1, 0xCE, 0x06, 0x40, 0xD4, 0xEA, 0x8E, 0xC3
 
 [sha256_hmac_buff_256]
 digest =
-0xAB, 0x6D, 0xBF, 0x17, 0x2B, 0xE0, 0xD5, 0xF1, 0xB3, 0xC3, 0x25, 0xFA, 0x99, 0xEF, 0x38, 0x91,
-0x12, 0x3B, 0xDE, 0xD7, 0x48, 0xA3, 0x69, 0x2E, 0xAD, 0xA8, 0xAD, 0x08, 0x42, 0xBC, 0x78, 0xE3
+0xB9, 0xFB, 0x21, 0x16, 0x0C, 0x08, 0xD1, 0xE0, 0x49, 0xB8, 0xC8, 0x7E, 0xCC, 0xF0, 0xBA, 0x29,
+0x32, 0xCE, 0x53, 0x03, 0xE8, 0xFB, 0xD2, 0x44, 0xB7, 0xB9, 0xFE, 0xE8, 0x03, 0x86, 0xE2, 0x68
 
 [sha384_hmac_buff_256]
 digest =
-0x4C, 0xF8, 0x22, 0x1B, 0x10, 0xBE, 0xD2, 0xEA, 0xBF, 0x27, 0x7C, 0x11, 0xBC, 0x53, 0x8B, 0xC1,
-0x3B, 0x13, 0xC9, 0xE0, 0xAA, 0x7E, 0x41, 0x17, 0xD0, 0x2C, 0x15, 0x6D, 0x23, 0x2E, 0x4E, 0xA0,
-0x44, 0x45, 0xBC, 0x7E, 0xD3, 0x6D, 0x68, 0xA1, 0xDD, 0xD5, 0xA7, 0x0B, 0x0E, 0x5A, 0x21, 0x41
+0x47, 0xEA, 0x51, 0xA7, 0xAD, 0xA2, 0x34, 0x3D, 0x4A, 0x3A, 0x86, 0x89, 0x78, 0x56, 0xCF, 0x21,
+0x94, 0xBF, 0x80, 0x33, 0x6B, 0x42, 0x73, 0x01, 0xAD, 0x6B, 0xE0, 0xEC, 0x10, 0xEE, 0x6E, 0xEC,
+0xED, 0x54, 0x50, 0x5E, 0x96, 0x3B, 0xE8, 0x2A, 0x8C, 0x33, 0x67, 0x9B, 0x17, 0x6C, 0xBB, 0xF8
 
 [sha512_hmac_buff_256]
 digest =
-0x25, 0x03, 0x50, 0xD1, 0x7C, 0x35, 0x33, 0x5C, 0xB5, 0x08, 0xBA, 0xFA, 0x9A, 0x86, 0x8E, 0x95,
-0x67, 0x62, 0xCB, 0x02, 0xEE, 0x3A, 0x1A, 0xD0, 0x0D, 0xD0, 0x3A, 0x79, 0xC9, 0x01, 0x1B, 0x78,
-0xF2, 0xCA, 0x57, 0xA5, 0x3C, 0x1B, 0x44, 0xFA, 0xC0, 0xEF, 0xF7, 0x68, 0xF3, 0xE3, 0x75, 0xFB,
-0x85, 0xFF, 0xD0, 0x8A, 0xE3, 0x43, 0xBE, 0x98, 0x1C, 0xCF, 0xBA, 0x01, 0x84, 0x30, 0xC3, 0xE9
+0x01, 0xAE, 0xE7, 0x74, 0xCD, 0x86, 0x43, 0xBC, 0x8A, 0xF6, 0xAF, 0x6C, 0xDE, 0x9E, 0x9A, 0xB7,
+0x6B, 0xCF, 0x98, 0x95, 0x31, 0xE8, 0x37, 0x3B, 0x3F, 0xF3, 0xC1, 0x00, 0xA0, 0xA6, 0xE5, 0x15,
+0x60, 0x36, 0x7E, 0x7C, 0x96, 0xAB, 0x17, 0xB9, 0x79, 0x3D, 0x3E, 0x43, 0xBC, 0xA0, 0xA0, 0x8B,
+0x14, 0x14, 0x22, 0x86, 0xE9, 0xF6, 0x96, 0x38, 0x9F, 0x24, 0x45, 0x9C, 0xE8, 0x63, 0x2A, 0x22
 
 #####################
 # sha_hmac_buff_512 #
 #####################
 [sha1_hmac_buff_512]
 digest =
-0x55, 0x80, 0xC9, 0x15, 0xF4, 0x5D, 0x67, 0xF1, 0xDE, 0x07, 0xF2, 0x91, 0x88, 0x59, 0x95, 0x34,
-0x3A, 0xF5, 0x01, 0x61
+0x45, 0x8D, 0x5B, 0x40, 0x0D, 0x34, 0x3A, 0x7B, 0xB2, 0xB1, 0xE7, 0x62, 0xDE, 0x2B, 0xD0, 0x46,
+0xCD, 0x4B, 0x55, 0x95
 
 [sha224_hmac_buff_512]
 digest =
-0x98, 0x3D, 0x26, 0x3C, 0x62, 0x20, 0x69, 0x12, 0x0A, 0x01, 0x9B, 0x83, 0xC4, 0xD3, 0xE7, 0xAE,
-0xAD, 0xF3, 0x80, 0x35, 0xC7, 0x2A, 0xD7, 0x9B, 0xA9, 0x59, 0x6F, 0x23
+0xE1, 0x82, 0x07, 0x4F, 0x6B, 0x24, 0x4A, 0x57, 0xE9, 0x04, 0x14, 0xB1, 0x7F, 0xD2, 0x4C, 0xA0,
+0x89, 0x8B, 0xB2, 0xA2, 0x28, 0x9F, 0xFE, 0x7C, 0xD1, 0x7F, 0x35, 0x07
 
 [sha256_hmac_buff_512]
 digest =
-0x3B, 0xD9, 0x0C, 0x74, 0x2F, 0x3B, 0xBA, 0xCA, 0x05, 0xA9, 0x17, 0x87, 0xB5, 0x38, 0x68, 0x63,
-0xC6, 0x0D, 0x3B, 0xFA, 0x32, 0x10, 0x29, 0x60, 0xDB, 0x2E, 0xBA, 0x73, 0x5D, 0xF3, 0x8F, 0x9F
+0xB9, 0x75, 0x4F, 0x70, 0xC7, 0x8C, 0xF2, 0x62, 0x89, 0x3C, 0x41, 0x4D, 0x1D, 0x15, 0x81, 0x2A,
+0x5A, 0xCB, 0x56, 0x62, 0xF8, 0xE9, 0x38, 0x13, 0xC9, 0x4D, 0xC3, 0x9D, 0xF0, 0x82, 0xAC, 0xD2
 
 [sha384_hmac_buff_512]
 digest =
-0xE9, 0xA4, 0x1A, 0x3B, 0xE1, 0xDD, 0xD8, 0x47, 0x21, 0xDC, 0xEB, 0xB9, 0x22, 0xAA, 0x45, 0xD2,
-0x61, 0x47, 0x63, 0x88, 0x13, 0x6E, 0x1E, 0x8A, 0x7D, 0x37, 0xE0, 0x21, 0xC0, 0x08, 0x66, 0xE7,
-0x84, 0xCA, 0x7A, 0x09, 0x87, 0x84, 0x07, 0xCF, 0x8A, 0x22, 0x41, 0x68, 0x0E, 0x48, 0x11, 0x2A
+0x9C, 0xAE, 0x77, 0x8D, 0x7E, 0x26, 0x01, 0xA6, 0x46, 0x47, 0xDF, 0xB7, 0x23, 0x6F, 0x17, 0x6B,
+0x9F, 0x4D, 0x94, 0xBB, 0x78, 0xD8, 0x2D, 0x90, 0xB1, 0xC1, 0x65, 0x6D, 0x92, 0x4E, 0x54, 0x7A,
+0xA5, 0xF6, 0x80, 0x29, 0x82, 0x77, 0xAC, 0xC3, 0x58, 0xE5, 0x14, 0x75, 0x64, 0x9D, 0x02, 0x6E
 
 [sha512_hmac_buff_512]
 digest =
-0xD5, 0x41, 0x0A, 0x48, 0x68, 0x9B, 0xC1, 0x86, 0x16, 0x1A, 0x5D, 0x9E, 0x0E, 0x62, 0x0F, 0xB1,
-0xEE, 0x03, 0xE1, 0x23, 0xFE, 0xF0, 0x0F, 0x3F, 0xB0, 0xE1, 0x9C, 0xBC, 0x3E, 0x6D, 0x28, 0xD6,
-0x59, 0xB6, 0xC6, 0x17, 0x75, 0xD0, 0x2E, 0x7C, 0x1E, 0xCA, 0x40, 0x23, 0x16, 0x93, 0x94, 0xAC,
-0xD2, 0xDD, 0x5B, 0xB5, 0xAB, 0x69, 0x70, 0x84, 0xAB, 0xCF, 0x71, 0x53, 0x45, 0xFC, 0x01, 0x23
+0x33, 0xB6, 0xD1, 0xC4, 0x5F, 0xDB, 0xEF, 0xF4, 0x14, 0xE8, 0xDA, 0x07, 0x30, 0xB6, 0xC6, 0xC9,
+0x4F, 0xCF, 0x64, 0x48, 0x08, 0xA2, 0xC1, 0x9D, 0x03, 0xAD, 0x93, 0x62, 0x41, 0xB6, 0xB9, 0xEC,
+0x1B, 0xD1, 0xAC, 0xA1, 0xC5, 0x94, 0x67, 0x19, 0xA3, 0x4B, 0x53, 0xCE, 0x0C, 0x8A, 0x27, 0x07,
+0x37, 0x75, 0x93, 0xC3, 0xC6, 0x60, 0x19, 0x39, 0x9E, 0x02, 0x23, 0x9A, 0xE6, 0xA9, 0x34, 0x1A
 
 ######################
 # sha_hmac_buff_1024 #
 ######################
 [sha1_hmac_buff_1024]
 digest =
-0x77, 0x5E, 0xFB, 0x4C, 0x35, 0x03, 0x85, 0x7D, 0xBA, 0xBE, 0x9D, 0xD5, 0xD7, 0xC3, 0x62, 0xFB,
-0xC0, 0x11, 0x54, 0xF9
+0x0B, 0x26, 0x34, 0xAD, 0x56, 0x44, 0x39, 0x4A, 0x0D, 0x2F, 0x14, 0xFB, 0x60, 0x77, 0xDD, 0xFC,
+0x0B, 0x5F, 0x9F, 0x99
 
 [sha224_hmac_buff_1024]
 digest =
-0x1D, 0xC5, 0xAB, 0xE5, 0xEA, 0xAD, 0x5C, 0x72, 0xB3, 0x3D, 0xF4, 0x21, 0x69, 0x1E, 0x9C, 0xBC,
-0xE1, 0x86, 0x91, 0x80, 0x7D, 0x52, 0x6E, 0x31, 0x14, 0xAE, 0x8A, 0xB7
+0x56, 0x41, 0xC2, 0xF0, 0x73, 0x5C, 0x21, 0x13, 0x7E, 0x47, 0xCC, 0xAB, 0x21, 0x3D, 0x5E, 0xA7,
+0xC6, 0x1E, 0xFF, 0x26, 0x59, 0x0C, 0x71, 0x95, 0x72, 0x76, 0x0D, 0x00
 
 [sha256_hmac_buff_1024]
 digest =
-0x74, 0xC9, 0x7C, 0x21, 0xF8, 0xCC, 0x4C, 0xCB, 0xD6, 0xC3, 0xED, 0xA5, 0xF4, 0xAE, 0x75, 0x5F,
-0xE7, 0xAA, 0x49, 0x2E, 0x63, 0x7D, 0xF3, 0xD6, 0x9E, 0x46, 0x6F, 0x8A, 0x5C, 0x4B, 0xDF, 0x51
+0x08, 0x91, 0x23, 0x89, 0x0F, 0xB0, 0xE4, 0x25, 0x9F, 0xC7, 0x46, 0x6B, 0xC3, 0x39, 0xE0, 0x9C,
+0xE2, 0xAE, 0xA3, 0xCF, 0xB8, 0xA0, 0x0A, 0xCF, 0x29, 0xEE, 0x0D, 0x83, 0x8A, 0xE5, 0xE4, 0x85
 
 [sha384_hmac_buff_1024]
 digest =
-0x6A, 0xCB, 0xD7, 0x77, 0xC1, 0xC8, 0xF5, 0xF3, 0x4C, 0x6A, 0xF5, 0xFC, 0xD0, 0xC2, 0x68, 0xF1,
-0x45, 0x3C, 0xBA, 0xFF, 0x83, 0x98, 0xB4, 0x0A, 0x29, 0x97, 0x27, 0xE8, 0x74, 0x2B, 0x66, 0xC0,
-0x5B, 0x45, 0x70, 0xA0, 0x8E, 0xD5, 0x16, 0x88, 0x0D, 0xB9, 0xBA, 0x3A, 0x70, 0x3F, 0x4B, 0xD0
+0x38, 0xC7, 0x19, 0xA4, 0x46, 0x14, 0x79, 0xA4, 0xAB, 0x40, 0x61, 0xBC, 0xFB, 0x87, 0x16, 0xE2,
+0x08, 0x90, 0xAD, 0x33, 0x5D, 0x37, 0xB6, 0xCA, 0x80, 0xEE, 0x59, 0x9C, 0xBF, 0xA8, 0xEB, 0x78,
+0xC2, 0xE2, 0x2D, 0x6E, 0x2E, 0x98, 0x98, 0x6F, 0x07, 0x6A, 0x39, 0x57, 0x8F, 0xCE, 0xEE, 0x64
 
 [sha512_hmac_buff_1024]
 digest =
-0x6A, 0x8D, 0x3F, 0x10, 0x56, 0xAF, 0xF0, 0xD4, 0x00, 0xE7, 0x4D, 0xBB, 0xCD, 0x3E, 0xD0, 0x39,
-0x21, 0xC4, 0xFD, 0x04, 0xC1, 0x91, 0xB7, 0xE5, 0xDF, 0x52, 0xED, 0xE5, 0xA0, 0x87, 0x76, 0x0E,
-0x44, 0x63, 0xED, 0xDD, 0xEA, 0xBF, 0x2E, 0xBF, 0x6B, 0x87, 0x9E, 0x5C, 0xD7, 0x55, 0x73, 0xD0,
-0xB2, 0xAC, 0x12, 0x87, 0xE1, 0x96, 0xD4, 0x1E, 0xD0, 0x5D, 0x83, 0x88, 0xC2, 0x00, 0xD0, 0xBE
+0x17, 0x60, 0x08, 0x57, 0x43, 0x20, 0xF6, 0xB5, 0x6D, 0x0D, 0x7F, 0x7C, 0xB9, 0x09, 0x3F, 0x6D,
+0x3E, 0x75, 0x2F, 0x17, 0xDA, 0x19, 0x58, 0xF0, 0xEC, 0xED, 0x96, 0xA9, 0x57, 0x05, 0xCD, 0x23,
+0x0F, 0x1E, 0x38, 0x55, 0x2D, 0x8E, 0x36, 0x14, 0xF4, 0x99, 0x5E, 0x3C, 0x33, 0xBB, 0x99, 0xC9,
+0xCD, 0x7A, 0xF4, 0x87, 0x10, 0xB8, 0x6C, 0xB1, 0x14, 0x2D, 0xA8, 0xCE, 0xFE, 0xF8, 0x6F, 0xD9
 
 ######################
 # sha_hmac_buff_2048 #
 ######################
 [sha1_hmac_buff_2048]
 digest =
-0x02, 0xD4, 0x67, 0xF9, 0x41, 0x5C, 0x91, 0x62, 0x7E, 0x39, 0x4B, 0x3C, 0x2D, 0x77, 0x7A, 0x2C,
-0x2D, 0x47, 0x3E, 0x48
+0x58, 0xE4, 0xBB, 0x8D, 0x63, 0x5D, 0x23, 0xF1, 0xAB, 0xB5, 0xBD, 0xD8, 0x71, 0xC9, 0x05, 0x0A,
+0x65, 0x5D, 0x2D, 0x2D
 
 [sha224_hmac_buff_2048]
 digest =
-0xF0, 0x8D, 0x1C, 0xF8, 0x7A, 0x5E, 0xA5, 0x48, 0x36, 0x7F, 0x96, 0x4A, 0x66, 0x66, 0x36, 0x32,
-0x5D, 0x68, 0xB8, 0x21, 0x5A, 0xE1, 0x95, 0x4F, 0x22, 0xF4, 0x44, 0x38
+0xA3, 0x9A, 0x47, 0x68, 0x32, 0x3A, 0xA8, 0xE4, 0xBE, 0x23, 0xEA, 0xEE, 0x2D, 0x5E, 0x3C, 0x2E,
+0xD3, 0x99, 0xBE, 0x87, 0x19, 0x17, 0xC5, 0x13, 0x6D, 0xB7, 0x05, 0x97
 
 [sha256_hmac_buff_2048]
 digest =
-0x82, 0xC2, 0x7C, 0x08, 0xE2, 0x94, 0xD8, 0xA9, 0x3C, 0xBB, 0x54, 0x20, 0xC2, 0x01, 0xBC, 0xF4,
-0xA2, 0xEE, 0x76, 0x06, 0x78, 0xE9, 0x51, 0x2F, 0x4D, 0x7D, 0x20, 0x20, 0x75, 0x1E, 0xB2, 0x8A
+0x5B, 0x36, 0x1A, 0xF0, 0x55, 0xAC, 0xC3, 0xEA, 0x1B, 0x01, 0xCF, 0xCE, 0x89, 0x0D, 0x6A, 0xC3,
+0x5F, 0x9A, 0xD3, 0x49, 0xCC, 0xA4, 0xDF, 0xDD, 0x44, 0x1F, 0x9D, 0x6C, 0xB1, 0x92, 0xDF, 0xB9
 
 [sha384_hmac_buff_2048]
 digest =
-0x59, 0xA5, 0xAA, 0xEE, 0xD8, 0x13, 0xB1, 0xBF, 0x28, 0x83, 0xB8, 0xB2, 0xBC, 0x91, 0x0F, 0x2E,
-0xCB, 0xC4, 0xCD, 0x8F, 0xE4, 0xB1, 0x28, 0xBE, 0xC4, 0x1A, 0xC4, 0x45, 0xF9, 0xCC, 0x6C, 0x6F,
-0x71, 0x59, 0x2C, 0xC4, 0x47, 0x61, 0xFE, 0xBB, 0xDD, 0x2B, 0x99, 0xDD, 0x6A, 0x49, 0x61, 0x33
+0x24, 0x17, 0xA2, 0x61, 0xFF, 0x46, 0xA2, 0x2E, 0xE5, 0xC3, 0xB4, 0x47, 0x10, 0x8C, 0x54, 0xD2,
+0xC2, 0x4D, 0x15, 0xA2, 0x8D, 0xEF, 0x98, 0x6E, 0xE0, 0xB1, 0x31, 0x3B, 0x7D, 0xDE, 0x41, 0x8E,
+0x98, 0xB9, 0xE9, 0xD2, 0xD8, 0xE5, 0x75, 0x6D, 0xC5, 0xF0, 0x1A, 0xC4, 0x1B, 0x8B, 0xC1, 0xA4
 
 [sha512_hmac_buff_2048]
 digest =
-0x90, 0xAD, 0xA3, 0xFB, 0xC3, 0x88, 0x1F, 0xD9, 0x53, 0xE4, 0x9C, 0x71, 0x38, 0x3B, 0xFA, 0x99,
-0x82, 0x32, 0xC4, 0xFC, 0x61, 0x36, 0x65, 0x9E, 0xDF, 0x9C, 0xDB, 0xD5, 0xD2, 0xD0, 0xAE, 0x78,
-0x74, 0x08, 0xF0, 0x97, 0x7E, 0x1A, 0x0C, 0xC3, 0xDD, 0x8F, 0xB3, 0x1C, 0x55, 0xAC, 0xA7, 0xC9,
-0x49, 0x1C, 0xA7, 0xF7, 0xBA, 0xC0, 0x93, 0x54, 0xA3, 0x6B, 0xBF, 0xA7, 0x03, 0x40, 0xE0, 0x28
+0xD8, 0x77, 0x7A, 0x0F, 0x63, 0x1E, 0x92, 0x7B, 0x87, 0xCE, 0x07, 0x24, 0x7E, 0xE4, 0x36, 0x30,
+0x16, 0x76, 0x0D, 0xEC, 0xEF, 0x01, 0xF5, 0xD5, 0x44, 0xB7, 0xF3, 0x51, 0x31, 0x6A, 0xC2, 0x80,
+0xCD, 0x4C, 0x7F, 0xD4, 0xA6, 0x90, 0x85, 0xAE, 0x49, 0xB1, 0xF1, 0xB0, 0xC4, 0x16, 0x79, 0xC3,
+0xE3, 0x8B, 0x67, 0xC3, 0xAA, 0xC1, 0x9C, 0x8D, 0xE0, 0x22, 0xB3, 0xFD, 0x09, 0xD5, 0x40, 0xAC
-- 
1.9.0

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

* [dpdk-stable] patch 'mk: fix quoting for ARM mtune argument' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (67 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'app/crypto-perf: fix AES CBC 128 test vectors' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'lib: fix IPv6 tunnel checksum' " Yuanhan Liu
                   ` (86 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Pascal Mazon; +Cc: Yuanhan Liu, Jan Viktorin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 826f5e3a9abe8179da8d6afa8add40f879bdad52 Mon Sep 17 00:00:00 2001
From: Pascal Mazon <pascal.mazon@6wind.com>
Date: Mon, 10 Apr 2017 14:18:51 +0200
Subject: [PATCH] mk: fix quoting for ARM mtune argument
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit be1d4e8564d34312f624781678c884a61e35f3b8 ]

The mtune argument needs an unquoted argument, otherwise the compiler
complains:

  arm-buildroot-linux-gnueabi-gcc.br_real: error:
    unrecognized argument in option ‘-mtune="cortex-a9"’

Fixes: 02a8686263de ("mk: introduce ARMv7 architecture")
Fixes: 4a7e4626975a ("mk: introduce NXP dpaa2 architecture based on armv8-a")

Reported-by: Jan Viktorin <viktorin@rehivetech.com>
Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
Tested-by: Jan Viktorin <viktorin@rehivetech.com>
---
 mk/machine/armv7a/rte.vars.mk | 2 +-
 mk/machine/dpaa2/rte.vars.mk  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/mk/machine/armv7a/rte.vars.mk b/mk/machine/armv7a/rte.vars.mk
index 36fa3de..41c4c40 100644
--- a/mk/machine/armv7a/rte.vars.mk
+++ b/mk/machine/armv7a/rte.vars.mk
@@ -57,7 +57,7 @@
 MACHINE_CFLAGS += -march=armv7-a
 
 ifdef CONFIG_RTE_ARCH_ARM_TUNE
-MACHINE_CFLAGS += -mtune=$(CONFIG_RTE_ARCH_ARM_TUNE)
+MACHINE_CFLAGS += -mtune=$(CONFIG_RTE_ARCH_ARM_TUNE:"%"=%)
 endif
 
 MACHINE_CFLAGS += -mfpu=neon
diff --git a/mk/machine/dpaa2/rte.vars.mk b/mk/machine/dpaa2/rte.vars.mk
index 8541633..61ada89 100644
--- a/mk/machine/dpaa2/rte.vars.mk
+++ b/mk/machine/dpaa2/rte.vars.mk
@@ -56,5 +56,5 @@
 MACHINE_CFLAGS += -march=armv8-a
 
 ifdef CONFIG_RTE_ARCH_ARM_TUNE
-MACHINE_CFLAGS += -mcpu=$(CONFIG_RTE_ARCH_ARM_TUNE)
+MACHINE_CFLAGS += -mcpu=$(CONFIG_RTE_ARCH_ARM_TUNE:"%"=%)
 endif
-- 
1.9.0

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

* [dpdk-stable] patch 'lib: fix IPv6 tunnel checksum' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (68 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'mk: fix quoting for ARM mtune argument' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'app/testpmd: " Yuanhan Liu
                   ` (85 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Jeff Guo; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 24b20c7b7702aaea0dee5d3e90f21fd938638909 Mon Sep 17 00:00:00 2001
From: Jeff Guo <jia.guo@intel.com>
Date: Wed, 5 Apr 2017 12:48:42 +0800
Subject: [PATCH] lib: fix IPv6 tunnel checksum

[ upstream commit ff643f7d026db510d4c1a847db75608ce60ce6c3 ]

When packet is flag of "PKT_TX_OUTER_IPV6", it also need to be
considered to be tunnel case, in order to calculate the correct
csum value.

Fixes: 2b76648872c9 ("net/e1000: add Tx preparation")

Signed-off-by: Jeff Guo <jia.guo@intel.com>
---
 lib/librte_net/rte_net.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/librte_net/rte_net.h b/lib/librte_net/rte_net.h
index 548eaed..79c764a 100644
--- a/lib/librte_net/rte_net.h
+++ b/lib/librte_net/rte_net.h
@@ -120,7 +120,8 @@ rte_net_intel_cksum_flags_prepare(struct rte_mbuf *m, uint64_t ol_flags)
 	struct udp_hdr *udp_hdr;
 	uint64_t inner_l3_offset = m->l2_len;
 
-	if (ol_flags & PKT_TX_OUTER_IP_CKSUM)
+	if ((ol_flags & PKT_TX_OUTER_IP_CKSUM) ||
+		(ol_flags & PKT_TX_OUTER_IPV6))
 		inner_l3_offset += m->outer_l2_len + m->outer_l3_len;
 
 	if ((ol_flags & PKT_TX_UDP_CKSUM) == PKT_TX_UDP_CKSUM) {
-- 
1.9.0

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

* [dpdk-stable] patch 'app/testpmd: fix IPv6 tunnel checksum' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (69 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'lib: fix IPv6 tunnel checksum' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'test/mempool: free mempool on exit' " Yuanhan Liu
                   ` (84 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Jeff Guo; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 8326e11657e2d9e3cb14a541324be8303f899a47 Mon Sep 17 00:00:00 2001
From: Jeff Guo <jia.guo@intel.com>
Date: Wed, 5 Apr 2017 12:48:43 +0800
Subject: [PATCH] app/testpmd: fix IPv6 tunnel checksum

[ upstream commit 3c32113a1aac6d399b1850cd24c42df71c1558cd ]

When ipv6 packet is tunnel packet, "PKT_TX_OUTER_IPV6" flag must
be set, to let prepare the correct mbuf meta data for tx forward.

Fixes: 2b76648872c9 ("net/e1000: add Tx preparation")

Signed-off-by: Jeff Guo <jia.guo@intel.com>
---
 app/test-pmd/csumonly.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c
index 88cc842..7f8f8a5 100644
--- a/app/test-pmd/csumonly.c
+++ b/app/test-pmd/csumonly.c
@@ -417,7 +417,7 @@ process_outer_cksums(void *outer_l3_hdr, struct testpmd_offload_info *info,
 			ol_flags |= PKT_TX_OUTER_IP_CKSUM;
 		else
 			ipv4_hdr->hdr_checksum = rte_ipv4_cksum(ipv4_hdr);
-	} else if (testpmd_ol_flags & TESTPMD_TX_OFFLOAD_OUTER_IP_CKSUM)
+	} else
 		ol_flags |= PKT_TX_OUTER_IPV6;
 
 	if (info->outer_l4_proto != IPPROTO_UDP)
@@ -756,7 +756,9 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)
 
 		if (info.is_tunnel == 1) {
 			if (info.tunnel_tso_segsz ||
-			    testpmd_ol_flags & TESTPMD_TX_OFFLOAD_OUTER_IP_CKSUM) {
+			    (testpmd_ol_flags &
+			    TESTPMD_TX_OFFLOAD_OUTER_IP_CKSUM) ||
+			    (tx_ol_flags & PKT_TX_OUTER_IPV6)) {
 				m->outer_l2_len = info.outer_l2_len;
 				m->outer_l3_len = info.outer_l3_len;
 				m->l2_len = info.l2_len;
@@ -826,8 +828,9 @@ pkt_burst_checksum_forward(struct fwd_stream *fs)
 					"m->l4_len=%d\n",
 					m->l2_len, m->l3_len, m->l4_len);
 			if (info.is_tunnel == 1) {
-				if (testpmd_ol_flags &
-				    TESTPMD_TX_OFFLOAD_OUTER_IP_CKSUM)
+				if ((testpmd_ol_flags &
+				    TESTPMD_TX_OFFLOAD_OUTER_IP_CKSUM) ||
+				    (tx_ol_flags & PKT_TX_OUTER_IPV6))
 					printf("tx: m->outer_l2_len=%d "
 						"m->outer_l3_len=%d\n",
 						m->outer_l2_len,
-- 
1.9.0

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

* [dpdk-stable] patch 'test/mempool: free mempool on exit' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (70 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'app/testpmd: " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/cxgbe: fix possible null pointer dereference' " Yuanhan Liu
                   ` (83 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Shreyansh Jain; +Cc: Yuanhan Liu, Santosh Shukla, Olivier Matz, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From c02f1e97f44d09bbab755e7ef70219d4a38f525c Mon Sep 17 00:00:00 2001
From: Shreyansh Jain <shreyansh.jain@nxp.com>
Date: Wed, 5 Apr 2017 15:05:33 +0530
Subject: [PATCH] test/mempool: free mempool on exit

[ upstream commit 98aabe1b701f3f58153aef029d483e2d8b9ca7b6 ]

mempool autotest was not freeing the mempools.

Fixes: 8ef772ae ("app/test: rework mempool test")

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Reviewed-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
---
 app/test/test_mempool.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/app/test/test_mempool.c b/app/test/test_mempool.c
index b9880b3..715b250 100644
--- a/app/test/test_mempool.c
+++ b/app/test/test_mempool.c
@@ -509,6 +509,7 @@ walk_cb(struct rte_mempool *mp, void *userdata __rte_unused)
 static int
 test_mempool(void)
 {
+	int ret = -1;
 	struct rte_mempool *mp_cache = NULL;
 	struct rte_mempool *mp_nocache = NULL;
 	struct rte_mempool *mp_stack = NULL;
@@ -607,13 +608,13 @@ test_mempool(void)
 
 	rte_mempool_list_dump(stdout);
 
-	return 0;
+	ret = 0;
 
 err:
 	rte_mempool_free(mp_nocache);
 	rte_mempool_free(mp_cache);
 	rte_mempool_free(mp_stack);
-	return -1;
+	return ret;
 }
 
 REGISTER_TEST_COMMAND(mempool_autotest, test_mempool);
-- 
1.9.0

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

* [dpdk-stable] patch 'net/cxgbe: fix possible null pointer dereference' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (71 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'test/mempool: free mempool on exit' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: fix allocation check' " Yuanhan Liu
                   ` (82 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Henry Cai; +Cc: Yuanhan Liu, Rahul Lakkireddy, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From e842401b61e4de2f3069b59b32b8b185cc557b4e Mon Sep 17 00:00:00 2001
From: Henry Cai <caihe@huawei.com>
Date: Tue, 28 Mar 2017 15:32:20 +0800
Subject: [PATCH] net/cxgbe: fix possible null pointer dereference

[ upstream commit 4a8f7cdd2281c7d904eae5b5ee92e4214e945e51 ]

Check return value of malloc.

Fixes: 3bd122eef2cc ("cxgbe/base: add hardware API for Chelsio T5 series adapters")

Signed-off-by: Henry Cai <caihe@huawei.com>
Acked-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
---
 drivers/net/cxgbe/base/t4_hw.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/cxgbe/base/t4_hw.c b/drivers/net/cxgbe/base/t4_hw.c
index c089b06..9dca8da 100644
--- a/drivers/net/cxgbe/base/t4_hw.c
+++ b/drivers/net/cxgbe/base/t4_hw.c
@@ -359,6 +359,9 @@ int t4_wr_mbox_meat_timeout(struct adapter *adap, int mbox,
 	struct mbox_entry entry;
 	u32 pcie_fw = 0;
 
+	if (!temp)
+		return -ENOMEM;
+
 	if ((size & 15) || size > MBOX_LEN) {
 		free(temp);
 		return -EINVAL;
-- 
1.9.0

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

* [dpdk-stable] patch 'net/i40e: fix allocation check' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (72 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/cxgbe: fix possible null pointer dereference' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: fix VF link speed' " Yuanhan Liu
                   ` (81 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Henry Cai; +Cc: Yuanhan Liu, Helin Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 68f285f551116f48914f9cd409cd0a88837b2b87 Mon Sep 17 00:00:00 2001
From: Henry Cai <caihe@huawei.com>
Date: Wed, 5 Apr 2017 21:19:53 +0800
Subject: [PATCH] net/i40e: fix allocation check

[ upstream commit 1cbeaa0eadbbc228a78e930ffdaa603eff4ff2ec ]

function i40evf_add_del_all_mac_addr without check return
value of rte_zmalloc

Fixes: 97ac72aa71a9 ("i40e: support setting VF MAC address")

Signed-off-by: Henry Cai <caihe@huawei.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
---
 drivers/net/i40e/i40e_ethdev_vf.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
index 55fd344..1a9e502 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -2014,6 +2014,10 @@ i40evf_add_del_all_mac_addr(struct rte_eth_dev *dev, bool add)
 		}
 
 		list = rte_zmalloc("i40evf_del_mac_buffer", len, 0);
+		if (!list) {
+			PMD_DRV_LOG(ERR, "fail to allocate memory");
+			return;
+		}
 
 		for (i = begin; i < next_begin; i++) {
 			addr = &dev->data->mac_addrs[i];
-- 
1.9.0

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

* [dpdk-stable] patch 'net/i40e: fix VF link speed' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (73 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: fix allocation check' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: add missing 25G " Yuanhan Liu
                   ` (80 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Qi Zhang; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 3212aa66b8010624912ddfe4ca31b6c0ec7f745e Mon Sep 17 00:00:00 2001
From: Qi Zhang <qi.z.zhang@intel.com>
Date: Sun, 9 Apr 2017 14:05:05 -0400
Subject: [PATCH] net/i40e: fix VF link speed

[ upstream commit e5d85d36d2a0910d13dfdf98394ccc3c27f6b61c ]

When PF notify link speed to VF, encode of link speed need to
be converted from ETH_SPEED_XXX to I40E_LINK_SPEED_XXX.

Fixes: bb6722fb5c0e ("net/i40e: fix VF bonded device link down")

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/i40e/i40e_pf.c | 29 +++++++++++++++++++++++++++--
 1 file changed, 27 insertions(+), 2 deletions(-)

diff --git a/drivers/net/i40e/i40e_pf.c b/drivers/net/i40e/i40e_pf.c
index f771dfb..1d2735b 100644
--- a/drivers/net/i40e/i40e_pf.c
+++ b/drivers/net/i40e/i40e_pf.c
@@ -1163,8 +1163,33 @@ i40e_notify_vf_link_status(struct rte_eth_dev *dev, struct i40e_pf_vf *vf)
 	event.event = I40E_VIRTCHNL_EVENT_LINK_CHANGE;
 	event.event_data.link_event.link_status =
 		dev->data->dev_link.link_status;
-	event.event_data.link_event.link_speed =
-		(enum i40e_aq_link_speed)dev->data->dev_link.link_speed;
+
+	/* need to convert the ETH_SPEED_xxx into I40E_LINK_SPEED_xxx */
+	switch (dev->data->dev_link.link_speed) {
+	case ETH_SPEED_NUM_100M:
+		event.event_data.link_event.link_speed = I40E_LINK_SPEED_100MB;
+		break;
+	case ETH_SPEED_NUM_1G:
+		event.event_data.link_event.link_speed = I40E_LINK_SPEED_1GB;
+		break;
+	case ETH_SPEED_NUM_10G:
+		event.event_data.link_event.link_speed = I40E_LINK_SPEED_10GB;
+		break;
+	case ETH_SPEED_NUM_20G:
+		event.event_data.link_event.link_speed = I40E_LINK_SPEED_20GB;
+		break;
+	case ETH_SPEED_NUM_25G:
+		event.event_data.link_event.link_speed = I40E_LINK_SPEED_25GB;
+		break;
+	case ETH_SPEED_NUM_40G:
+		event.event_data.link_event.link_speed = I40E_LINK_SPEED_40GB;
+		break;
+	default:
+		event.event_data.link_event.link_speed =
+			I40E_LINK_SPEED_UNKNOWN;
+		break;
+	}
+
 	i40e_pf_host_send_msg_to_vf(vf, I40E_VIRTCHNL_OP_EVENT,
 		I40E_SUCCESS, (uint8_t *)&event, sizeof(event));
 }
-- 
1.9.0

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

* [dpdk-stable] patch 'net/i40e: add missing 25G link speed' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (74 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: fix VF link speed' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/thunderx: use internal byte ordering macros' " Yuanhan Liu
                   ` (79 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Qi Zhang; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 8ac4190316a0a1c59227d6d8a7c939151c54412b Mon Sep 17 00:00:00 2001
From: Qi Zhang <qi.z.zhang@intel.com>
Date: Sun, 9 Apr 2017 14:05:06 -0400
Subject: [PATCH] net/i40e: add missing 25G link speed

[ upstream commit 8a4764f8b7f986b9e30b91f6f56606b82605c00e ]

Add missing 25G link speed decode in i40evf_dev_link_update.

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

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/i40e/i40e_ethdev_vf.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
index 1a9e502..8f3adec 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -2165,6 +2165,9 @@ i40evf_dev_link_update(struct rte_eth_dev *dev,
 	case I40E_LINK_SPEED_20GB:
 		new_link.link_speed = ETH_SPEED_NUM_20G;
 		break;
+	case I40E_LINK_SPEED_25GB:
+		new_link.link_speed = ETH_SPEED_NUM_25G;
+		break;
 	case I40E_LINK_SPEED_40GB:
 		new_link.link_speed = ETH_SPEED_NUM_40G;
 		break;
-- 
1.9.0

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

* [dpdk-stable] patch 'net/thunderx: use internal byte ordering macros' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (75 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: add missing 25G " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: fix hash input set on X722' " Yuanhan Liu
                   ` (78 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Jerin Jacob; +Cc: Yuanhan Liu, Thomas Monjalon, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 5cef256956ffa66c73b5d48a99975ea6021cf198 Mon Sep 17 00:00:00 2001
From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Date: Tue, 11 Apr 2017 01:14:34 +0530
Subject: [PATCH] net/thunderx: use internal byte ordering macros

[ upstream commit 5ba411079ffdfb58906d40bb349c19d18c12a3ba ]

The base code was using native GCC macros
for endian detection. Change to portable
rte_byteorder.h based endian detection.

Fixes: 262d43fe20ee ("net/thunderx/base: add HW register definitions")

Suggested-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 drivers/net/thunderx/base/nicvf_hw_defs.h | 58 +++++++++++++++----------------
 drivers/net/thunderx/base/nicvf_mbox.c    |  2 +-
 drivers/net/thunderx/base/nicvf_plat.h    |  4 +++
 3 files changed, 33 insertions(+), 31 deletions(-)

diff --git a/drivers/net/thunderx/base/nicvf_hw_defs.h b/drivers/net/thunderx/base/nicvf_hw_defs.h
index 00dd2fe..79f83c8 100644
--- a/drivers/net/thunderx/base/nicvf_hw_defs.h
+++ b/drivers/net/thunderx/base/nicvf_hw_defs.h
@@ -36,6 +36,8 @@
 #include <stdint.h>
 #include <stdbool.h>
 
+#include "nicvf_plat.h"
+
 /* Virtual function register offsets */
 
 #define NIC_VF_CFG                      (0x000020)
@@ -213,10 +215,6 @@
 
 typedef uint64_t nicvf_phys_addr_t;
 
-#ifndef __BYTE_ORDER__
-#error __BYTE_ORDER__ not defined
-#endif
-
 /* vNIC HW Enumerations */
 
 enum nic_send_ld_type_e {
@@ -559,7 +557,7 @@ enum nic_stat_vnic_tx_e {
 typedef union {
 	uint64_t u64;
 	struct {
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 		uint64_t cqe_type:4;
 		uint64_t stdn_fault:1;
 		uint64_t rsvd0:1;
@@ -604,7 +602,7 @@ typedef union {
 typedef union {
 	uint64_t u64;
 	struct {
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 		uint64_t pkt_len:16;
 		uint64_t l2_ptr:8;
 		uint64_t l3_ptr:8;
@@ -629,7 +627,7 @@ typedef union {
 typedef union {
 	uint64_t u64;
 	struct {
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 		uint64_t rss_tag:32;
 		uint64_t vlan_tci:16;
 		uint64_t vlan_ptr:8;
@@ -646,7 +644,7 @@ typedef union {
 typedef union {
 	uint64_t u64;
 	struct {
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 		uint16_t rb3_sz;
 		uint16_t rb2_sz;
 		uint16_t rb1_sz;
@@ -663,7 +661,7 @@ typedef union {
 typedef union {
 	uint64_t u64;
 	struct {
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 		uint16_t rb7_sz;
 		uint16_t rb6_sz;
 		uint16_t rb5_sz;
@@ -680,7 +678,7 @@ typedef union {
 typedef union {
 	uint64_t u64;
 	struct {
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 		uint16_t rb11_sz;
 		uint16_t rb10_sz;
 		uint16_t rb9_sz;
@@ -697,7 +695,7 @@ typedef union {
 typedef union {
 	uint64_t u64;
 	struct {
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 		uint64_t vlan_found:1;
 		uint64_t vlan_stripped:1;
 		uint64_t vlan2_found:1;
@@ -742,7 +740,7 @@ struct cqe_rx_t {
 };
 
 struct cqe_rx_tcp_err_t {
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 	uint64_t   cqe_type:4; /* W0 */
 	uint64_t   rsvd0:60;
 
@@ -764,7 +762,7 @@ struct cqe_rx_tcp_err_t {
 };
 
 struct cqe_rx_tcp_t {
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 	uint64_t   cqe_type:4; /* W0 */
 	uint64_t   rsvd0:52;
 	uint64_t   cq_tcp_status:8;
@@ -786,7 +784,7 @@ struct cqe_rx_tcp_t {
 };
 
 struct cqe_send_t {
-#if defined(__BIG_ENDIAN_BITFIELD)
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 	uint64_t   cqe_type:4; /* W0 */
 	uint64_t   rsvd0:4;
 	uint64_t   sqe_ptr:16;
@@ -798,7 +796,7 @@ struct cqe_send_t {
 	uint64_t   send_status:8;
 
 	uint64_t   ptp_timestamp:64; /* W1 */
-#elif defined(__LITTLE_ENDIAN_BITFIELD)
+#elif NICVF_BYTE_ORDER == NICVF_LITTLE_ENDIAN
 	uint64_t   send_status:8;
 	uint64_t   rsvd3:8;
 	uint64_t   sq_idx:3;
@@ -814,7 +812,7 @@ struct cqe_send_t {
 };
 
 struct cq_entry_type_t {
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 	uint64_t cqe_type:4;
 	uint64_t __pad:60;
 #else
@@ -835,7 +833,7 @@ union cq_entry_t {
 NICVF_STATIC_ASSERT(sizeof(union cq_entry_t) == 512);
 
 struct rbdr_entry_t {
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 	union {
 		struct {
 			uint64_t   rsvd0:15;
@@ -860,7 +858,7 @@ NICVF_STATIC_ASSERT(sizeof(struct rbdr_entry_t) == sizeof(uint64_t));
 
 /* TCP reassembly context */
 struct rbe_tcp_cnxt_t {
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 	uint64_t   tcp_pkt_cnt:12;
 	uint64_t   rsvd1:4;
 	uint64_t   align_hdr_bytes:4;
@@ -899,7 +897,7 @@ struct rx_hdr_t {
 };
 
 struct sq_crc_subdesc {
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 	uint64_t    rsvd1:32;
 	uint64_t    crc_ival:32;
 	uint64_t    subdesc_type:4;
@@ -921,7 +919,7 @@ struct sq_crc_subdesc {
 };
 
 struct sq_gather_subdesc {
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 	uint64_t    subdesc_type:4; /* W0 */
 	uint64_t    ld_type:2;
 	uint64_t    rsvd0:42;
@@ -942,7 +940,7 @@ struct sq_gather_subdesc {
 
 /* SQ immediate subdescriptor */
 struct sq_imm_subdesc {
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 	uint64_t    subdesc_type:4; /* W0 */
 	uint64_t    rsvd0:46;
 	uint64_t    len:14;
@@ -958,7 +956,7 @@ struct sq_imm_subdesc {
 };
 
 struct sq_mem_subdesc {
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 	uint64_t    subdesc_type:4; /* W0 */
 	uint64_t    mem_alg:4;
 	uint64_t    mem_dsz:2;
@@ -982,7 +980,7 @@ struct sq_mem_subdesc {
 };
 
 struct sq_hdr_subdesc {
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 	uint64_t    subdesc_type:4;
 	uint64_t    tso:1;
 	uint64_t    post_cqe:1; /* Post CQE on no error also */
@@ -1045,7 +1043,7 @@ NICVF_STATIC_ASSERT(sizeof(union sq_entry_t) == 16);
 
 /* Queue config register formats */
 struct rq_cfg { union { struct {
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 	uint64_t reserved_2_63:62;
 	uint64_t ena:1;
 	uint64_t reserved_0:1;
@@ -1059,7 +1057,7 @@ struct rq_cfg { union { struct {
 }; };
 
 struct cq_cfg { union { struct {
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 	uint64_t reserved_43_63:21;
 	uint64_t ena:1;
 	uint64_t reset:1;
@@ -1085,7 +1083,7 @@ struct cq_cfg { union { struct {
 }; };
 
 struct sq_cfg { union { struct {
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 	uint64_t reserved_20_63:44;
 	uint64_t ena:1;
 	uint64_t reserved_18_18:1;
@@ -1111,7 +1109,7 @@ struct sq_cfg { union { struct {
 }; };
 
 struct rbdr_cfg { union { struct {
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 	uint64_t reserved_45_63:19;
 	uint64_t ena:1;
 	uint64_t reset:1;
@@ -1139,7 +1137,7 @@ struct rbdr_cfg { union { struct {
 }; };
 
 struct pf_qs_cfg { union { struct {
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 	uint64_t reserved_32_63:32;
 	uint64_t ena:1;
 	uint64_t reserved_27_30:4;
@@ -1169,7 +1167,7 @@ struct pf_qs_cfg { union { struct {
 }; };
 
 struct pf_rq_cfg { union { struct {
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 	uint64_t reserved1:1;
 	uint64_t reserved0:34;
 	uint64_t strip_pre_l2:1;
@@ -1197,7 +1195,7 @@ struct pf_rq_cfg { union { struct {
 }; };
 
 struct pf_rq_drop_cfg { union { struct {
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 	uint64_t rbdr_red:1;
 	uint64_t cq_red:1;
 	uint64_t reserved3:14;
diff --git a/drivers/net/thunderx/base/nicvf_mbox.c b/drivers/net/thunderx/base/nicvf_mbox.c
index 3b7b8a5..4082e27 100644
--- a/drivers/net/thunderx/base/nicvf_mbox.c
+++ b/drivers/net/thunderx/base/nicvf_mbox.c
@@ -331,7 +331,7 @@ nicvf_mbox_qset_config(struct nicvf *nic, struct pf_qs_cfg *qs_cfg)
 {
 	struct nic_mbx mbx = { .msg = { 0 } };
 
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+#if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 	qs_cfg->be = 1;
 #endif
 	/* Send a mailbox msg to PF to config Qset */
diff --git a/drivers/net/thunderx/base/nicvf_plat.h b/drivers/net/thunderx/base/nicvf_plat.h
index 3754e1b..36da120 100644
--- a/drivers/net/thunderx/base/nicvf_plat.h
+++ b/drivers/net/thunderx/base/nicvf_plat.h
@@ -65,6 +65,10 @@
 #define nicvf_cpu_to_be_64(x) rte_cpu_to_be_64(x)
 #define nicvf_be_to_cpu_64(x) rte_be_to_cpu_64(x)
 
+#define NICVF_BYTE_ORDER RTE_BYTE_ORDER
+#define NICVF_BIG_ENDIAN RTE_BIG_ENDIAN
+#define NICVF_LITTLE_ENDIAN RTE_LITTLE_ENDIAN
+
 /* Constants */
 #include <rte_ether.h>
 #define NICVF_MAC_ADDR_SIZE ETHER_ADDR_LEN
-- 
1.9.0

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

* [dpdk-stable] patch 'net/i40e: fix hash input set on X722' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (76 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/thunderx: use internal byte ordering macros' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/thunderx: fix stats access out of bounds' " Yuanhan Liu
                   ` (77 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Jeff Guo; +Cc: Yuanhan Liu, Jingjing Wu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From e027dbab44138f041fbe8f6d3bc7d266f59a673b Mon Sep 17 00:00:00 2001
From: Jeff Guo <jia.guo@intel.com>
Date: Thu, 6 Apr 2017 10:35:26 +0800
Subject: [PATCH] net/i40e: fix hash input set on X722
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit e711f8a8cdbfc621c97d303c6871c66265c60bc9 ]

There are some new PCTYPEs on X722, but they have not been announced
on the RTE lib, so if it can not set corresponding hash input set for
these packet type, the hash function won’t work.

So we need to handle them base on the translation of the new
PCTYPE and the original PCTYPE.

Fixes: b6a0ec418274 ("i40e: use AQ for Rx control register read/write")

Signed-off-by: Jeff Guo <jia.guo@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
---
 drivers/net/i40e/i40e_ethdev.c | 39 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 38 insertions(+), 1 deletion(-)

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index c4b9d0e..b2b2418 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -7443,7 +7443,44 @@ i40e_set_hash_filter_global_config(struct i40e_hw *hw,
 		pctype = i40e_flowtype_to_pctype(i);
 		reg = (g_cfg->sym_hash_enable_mask[0] & (1UL << i)) ?
 				I40E_GLQF_HSYM_SYMH_ENA_MASK : 0;
-		i40e_write_rx_ctl(hw, I40E_GLQF_HSYM(pctype), reg);
+		if (hw->mac.type == I40E_MAC_X722) {
+			if (pctype == I40E_FILTER_PCTYPE_NONF_IPV4_UDP) {
+				i40e_write_rx_ctl(hw, I40E_GLQF_HSYM(
+				  I40E_FILTER_PCTYPE_NONF_IPV4_UDP), reg);
+				i40e_write_rx_ctl(hw, I40E_GLQF_HSYM(
+				  I40E_FILTER_PCTYPE_NONF_UNICAST_IPV4_UDP),
+				  reg);
+				i40e_write_rx_ctl(hw, I40E_GLQF_HSYM(
+				  I40E_FILTER_PCTYPE_NONF_MULTICAST_IPV4_UDP),
+				  reg);
+			} else if (pctype == I40E_FILTER_PCTYPE_NONF_IPV4_TCP) {
+				i40e_write_rx_ctl(hw, I40E_GLQF_HSYM(
+				  I40E_FILTER_PCTYPE_NONF_IPV4_TCP), reg);
+				i40e_write_rx_ctl(hw, I40E_GLQF_HSYM(
+				  I40E_FILTER_PCTYPE_NONF_IPV4_TCP_SYN_NO_ACK),
+				  reg);
+			} else if (pctype == I40E_FILTER_PCTYPE_NONF_IPV6_UDP) {
+				i40e_write_rx_ctl(hw, I40E_GLQF_HSYM(
+				  I40E_FILTER_PCTYPE_NONF_IPV6_UDP), reg);
+				i40e_write_rx_ctl(hw, I40E_GLQF_HSYM(
+				  I40E_FILTER_PCTYPE_NONF_UNICAST_IPV6_UDP),
+				  reg);
+				i40e_write_rx_ctl(hw, I40E_GLQF_HSYM(
+				  I40E_FILTER_PCTYPE_NONF_MULTICAST_IPV6_UDP),
+				  reg);
+			} else if (pctype == I40E_FILTER_PCTYPE_NONF_IPV6_TCP) {
+				i40e_write_rx_ctl(hw, I40E_GLQF_HSYM(
+				  I40E_FILTER_PCTYPE_NONF_IPV6_TCP), reg);
+				i40e_write_rx_ctl(hw, I40E_GLQF_HSYM(
+				  I40E_FILTER_PCTYPE_NONF_IPV6_TCP_SYN_NO_ACK),
+				  reg);
+			} else {
+				i40e_write_rx_ctl(hw, I40E_GLQF_HSYM(pctype),
+				  reg);
+			}
+		} else {
+			i40e_write_rx_ctl(hw, I40E_GLQF_HSYM(pctype), reg);
+		}
 	}
 
 	reg = i40e_read_rx_ctl(hw, I40E_GLQF_CTL);
-- 
1.9.0

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

* [dpdk-stable] patch 'net/thunderx: fix stats access out of bounds' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (77 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: fix hash input set on X722' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/ena: fix Rx descriptors allocation' " Yuanhan Liu
                   ` (76 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Marcin Wilk; +Cc: Yuanhan Liu, Jerin Jacob, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 560650b86c6f5573284cc73c15e3a2ae8c896d82 Mon Sep 17 00:00:00 2001
From: Marcin Wilk <marcin.wilk@caviumnetworks.com>
Date: Tue, 11 Apr 2017 14:35:13 +0200
Subject: [PATCH] net/thunderx: fix stats access out of bounds

[ upstream commit 695cd416ce6c02d7a20108765573936998b2dbf0 ]

Trying to assign more queues to stats struct break only from one loop
when the maximum size is reached. Outside loop iteration is continued.
This leads to access an array out of bounds.

Fixes: 21e3fb0050b9 ("net/thunderx: add final bits for secondary queue support")

Signed-off-by: Marcin Wilk <marcin.wilk@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 drivers/net/thunderx/nicvf_ethdev.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c
index fa1cb32..b6bbcb7 100644
--- a/drivers/net/thunderx/nicvf_ethdev.c
+++ b/drivers/net/thunderx/nicvf_ethdev.c
@@ -244,7 +244,7 @@ nicvf_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
 
 	/* Reading per RX ring stats */
 	for (qidx = rx_start; qidx <= rx_end; qidx++) {
-		if (qidx == RTE_ETHDEV_QUEUE_STAT_CNTRS)
+		if (qidx >= RTE_ETHDEV_QUEUE_STAT_CNTRS)
 			break;
 
 		nicvf_hw_get_rx_qstats(nic, &rx_qstats, qidx);
@@ -257,7 +257,7 @@ nicvf_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
 
 	/* Reading per TX ring stats */
 	for (qidx = tx_start; qidx <= tx_end; qidx++) {
-		if (qidx == RTE_ETHDEV_QUEUE_STAT_CNTRS)
+		if (qidx >= RTE_ETHDEV_QUEUE_STAT_CNTRS)
 			break;
 
 		nicvf_hw_get_tx_qstats(nic, &tx_qstats, qidx);
@@ -276,7 +276,7 @@ nicvf_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
 
 		/* Reading per RX ring stats */
 		for (qidx = rx_start; qidx <= rx_end; qidx++) {
-			if (qidx == RTE_ETHDEV_QUEUE_STAT_CNTRS)
+			if (qidx >= RTE_ETHDEV_QUEUE_STAT_CNTRS)
 				break;
 
 			nicvf_hw_get_rx_qstats(snic, &rx_qstats,
@@ -289,7 +289,7 @@ nicvf_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
 		nicvf_tx_range(dev, snic, &tx_start, &tx_end);
 		/* Reading per TX ring stats */
 		for (qidx = tx_start; qidx <= tx_end; qidx++) {
-			if (qidx == RTE_ETHDEV_QUEUE_STAT_CNTRS)
+			if (qidx >= RTE_ETHDEV_QUEUE_STAT_CNTRS)
 				break;
 
 			nicvf_hw_get_tx_qstats(snic, &tx_qstats,
-- 
1.9.0

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

* [dpdk-stable] patch 'net/ena: fix Rx descriptors allocation' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (78 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/thunderx: fix stats access out of bounds' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/ena: fix delayed cleanup of Rx descriptors' " Yuanhan Liu
                   ` (75 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Michal Krawczyk; +Cc: Yuanhan Liu, Jakub Palider, Jan Medala, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From d88124bb6df1836e78e4234d247cc5574b40d330 Mon Sep 17 00:00:00 2001
From: Michal Krawczyk <mk@semihalf.com>
Date: Mon, 10 Apr 2017 16:28:08 +0200
Subject: [PATCH] net/ena: fix Rx descriptors allocation

[ upstream commit a467e8f37a3eec98210c0c3ec04bf6e9506ddd81 ]

When application tried to allocate 1024 descriptors, device was not
initializing properly.

This patch solves it by avoiding allocation of all descriptors in the
ring in one attempt. At least one descriptor must remain unused in the
HW ring.

Fixes: 1173fca25af9 ("ena: add polling-mode driver")

Signed-off-by: Michal Krawczyk <mk@semihalf.com>
Reviewed-by: Jakub Palider <jpalider@gmail.com>
Acked-by: Jan Medala <jan.medala@outlook.com>
---
 drivers/net/ena/ena_ethdev.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index b5e6db6..90cf2ad 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -919,7 +919,7 @@ static int ena_start(struct rte_eth_dev *dev)
 
 static int ena_queue_restart(struct ena_ring *ring)
 {
-	int rc;
+	int rc, bufs_num;
 
 	ena_assert_msg(ring->configured == 1,
 		       "Trying to restart unconfigured queue\n");
@@ -930,8 +930,9 @@ static int ena_queue_restart(struct ena_ring *ring)
 	if (ring->type == ENA_RING_TYPE_TX)
 		return 0;
 
-	rc = ena_populate_rx_queue(ring, ring->ring_size);
-	if ((unsigned int)rc != ring->ring_size) {
+	bufs_num = ring->ring_size - 1;
+	rc = ena_populate_rx_queue(ring, bufs_num);
+	if (rc != bufs_num) {
 		PMD_INIT_LOG(ERR, "Failed to populate rx ring !");
 		return (-1);
 	}
@@ -1143,7 +1144,7 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, unsigned int count)
 		return 0;
 
 	in_use = rxq->next_to_use - rxq->next_to_clean;
-	ena_assert_msg(((in_use + count) <= ring_size), "bad ring state");
+	ena_assert_msg(((in_use + count) < ring_size), "bad ring state");
 
 	count = RTE_MIN(count,
 			(uint16_t)(ring_size - (next_to_use & ring_mask)));
@@ -1574,6 +1575,7 @@ static uint16_t eth_ena_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
 		recv_idx++;
 	}
 
+	desc_in_use += 1;
 	/* Burst refill to save doorbells, memory barriers, const interval */
 	if (ring_size - desc_in_use > ENA_RING_DESCS_RATIO(ring_size))
 		ena_populate_rx_queue(rx_ring, ring_size - desc_in_use);
-- 
1.9.0

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

* [dpdk-stable] patch 'net/ena: fix delayed cleanup of Rx descriptors' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (79 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/ena: fix Rx descriptors allocation' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/ena: cleanup if refilling of Rx descriptors fails' " Yuanhan Liu
                   ` (74 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Michal Krawczyk; +Cc: Yuanhan Liu, Jakub Palider, Jan Medala, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 4284e185f6acb951adeaa9783b4f252dfab128a0 Mon Sep 17 00:00:00 2001
From: Michal Krawczyk <mk@semihalf.com>
Date: Mon, 10 Apr 2017 16:28:09 +0200
Subject: [PATCH] net/ena: fix delayed cleanup of Rx descriptors

[ upstream commit ec78af6bc0556cf2a1133185ca33fb835b38afe0 ]

On RX path, after receiving bunch of packets, variable tracking
available descriptors in HW queue was not updated.

To fix this issue, variable tracking used descriptors must be updated
after receiving packets - it must be reduced by the amount of received
descriptors in current batch.

Additionally, variable next_to_clean in rx_ring must be updated before
entering ena_populate_rx_queue() to keep it up to date with the current
ring state.

Fixes: 1daff5260ff8 ("net/ena: use unmasked head and tail")

Signed-off-by: Michal Krawczyk <mk@semihalf.com>
Reviewed-by: Jakub Palider <jpalider@gmail.com>
Acked-by: Jan Medala <jan.medala@outlook.com>
---
 drivers/net/ena/ena_ethdev.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index 90cf2ad..b4c713f 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -1575,13 +1575,13 @@ static uint16_t eth_ena_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
 		recv_idx++;
 	}
 
-	desc_in_use += 1;
+	rx_ring->next_to_clean = next_to_clean;
+
+	desc_in_use = desc_in_use - completed + 1;
 	/* Burst refill to save doorbells, memory barriers, const interval */
 	if (ring_size - desc_in_use > ENA_RING_DESCS_RATIO(ring_size))
 		ena_populate_rx_queue(rx_ring, ring_size - desc_in_use);
 
-	rx_ring->next_to_clean = next_to_clean;
-
 	return recv_idx;
 }
 
-- 
1.9.0

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

* [dpdk-stable] patch 'net/ena: cleanup if refilling of Rx descriptors fails' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (80 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/ena: fix delayed cleanup of Rx descriptors' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/ixgbe: fix generic filter return' " Yuanhan Liu
                   ` (73 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Michal Krawczyk; +Cc: Yuanhan Liu, Jakub Palider, Jan Medala, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From b96636f5792cd3925c536c08c24b6d88aed8dfdd Mon Sep 17 00:00:00 2001
From: Michal Krawczyk <mk@semihalf.com>
Date: Mon, 10 Apr 2017 16:28:10 +0200
Subject: [PATCH] net/ena: cleanup if refilling of Rx descriptors fails

[ upstream commit 2732e07ad1e54c648c8ca5bc6965af5bf607ba10 ]

If wrong number of descriptors for refilling was passed to the Rx
repopulate function, there was memory leak which caused memory pool to
run out of resources in longer go.

In case of fail when refilling Rx descriptors, all additional mbufs
have to be released.

Fixes: 1173fca25af9 ("ena: add polling-mode driver")

Signed-off-by: Michal Krawczyk <mk@semihalf.com>
Reviewed-by: Jakub Palider <jpalider@gmail.com>
Acked-by: Jan Medala <jan.medala@outlook.com>
---
 drivers/net/ena/ena_ethdev.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index b4c713f..e6e889b 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -1172,6 +1172,8 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, unsigned int count)
 		rc = ena_com_add_single_rx_desc(rxq->ena_com_io_sq,
 						&ebuf, next_to_use_masked);
 		if (unlikely(rc)) {
+			rte_mempool_put_bulk(rxq->mb_pool, (void **)(&mbuf),
+					     count - i);
 			RTE_LOG(WARNING, PMD, "failed adding rx desc\n");
 			break;
 		}
-- 
1.9.0

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

* [dpdk-stable] patch 'net/ixgbe: fix generic filter return' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (81 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/ena: cleanup if refilling of Rx descriptors fails' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: fix VF link status update' " Yuanhan Liu
                   ` (72 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Wei Zhao; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 69b37c75cb330128e1d19ffb54b9333dadef69f6 Mon Sep 17 00:00:00 2001
From: Wei Zhao <wei.zhao1@intel.com>
Date: Wed, 12 Apr 2017 16:52:34 +0800
Subject: [PATCH] net/ixgbe: fix generic filter return

[ upstream commit c306ee121a2e57e3c24a1cdcbe686e0518f7d1a4 ]

Fix generic filter return info is not readable
when repeat to create a rule.

Fixes: 72c135a89f8 ("net/ixgbe: create consistent filter")

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
---
 drivers/net/ixgbe/ixgbe_flow.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/ixgbe/ixgbe_flow.c b/drivers/net/ixgbe/ixgbe_flow.c
index 546c592..082671e 100644
--- a/drivers/net/ixgbe/ixgbe_flow.c
+++ b/drivers/net/ixgbe/ixgbe_flow.c
@@ -2683,6 +2683,9 @@ ixgbe_flow_create(struct rte_eth_dev *dev,
 out:
 	TAILQ_REMOVE(&ixgbe_flow_list,
 		ixgbe_flow_mem_ptr, entries);
+	rte_flow_error_set(error, -ret,
+			   RTE_FLOW_ERROR_TYPE_HANDLE, NULL,
+			   "Failed to create flow.");
 	rte_free(ixgbe_flow_mem_ptr);
 	rte_free(flow);
 	return NULL;
-- 
1.9.0

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

* [dpdk-stable] patch 'net/i40e: fix VF link status update' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (82 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/ixgbe: fix generic filter return' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/ixgbe: fix duplicated check' " Yuanhan Liu
                   ` (71 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Qi Zhang; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 01e549877832a0f4a56f6aa49c24cd1a68bbac87 Mon Sep 17 00:00:00 2001
From: Qi Zhang <qi.z.zhang@intel.com>
Date: Wed, 12 Apr 2017 15:30:00 -0400
Subject: [PATCH] net/i40e: fix VF link status update

[ upstream commit 7c59dbd5dbac77bb34d66e066630f5247af2732b ]

VF link status rely on PF's notification, so when PF link status
be updated, it should notify VF to update link status also.
Current implementation only cover part of the situation when PF's link
status is updated, call i40e_notify_all_vfs_link_status in
i4e_dev_link_update will cover all situationa.

Fixes: bb6722fb5c0e ("net/i40e: fix VF bonded device link down")

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/i40e/i40e_ethdev.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index b2b2418..4494d29 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -418,6 +418,7 @@ static int i40e_sw_tunnel_filter_insert(struct i40e_pf *pf,
 static void i40e_ethertype_filter_restore(struct i40e_pf *pf);
 static void i40e_tunnel_filter_restore(struct i40e_pf *pf);
 static void i40e_filter_restore(struct i40e_pf *pf);
+static void i40e_notify_all_vfs_link_status(struct rte_eth_dev *dev);
 
 static const struct rte_pci_id pci_id_i40e_map[] = {
 	{ RTE_PCI_DEVICE(I40E_INTEL_VENDOR_ID, I40E_DEV_ID_SFP_XL710) },
@@ -2281,6 +2282,8 @@ out:
 	if (link.link_status == old.link_status)
 		return -1;
 
+	i40e_notify_all_vfs_link_status(dev);
+
 	return 0;
 }
 
@@ -5760,11 +5763,9 @@ i40e_dev_handle_aq_msg(struct rte_eth_dev *dev)
 			break;
 		case i40e_aqc_opc_get_link_status:
 			ret = i40e_dev_link_update(dev, 0);
-			if (!ret) {
-				i40e_notify_all_vfs_link_status(dev);
+			if (!ret)
 				_rte_eth_dev_callback_process(dev,
 					RTE_ETH_EVENT_INTR_LSC, NULL);
-			}
 			break;
 		default:
 			PMD_DRV_LOG(ERR, "Request %u is not supported yet",
-- 
1.9.0

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

* [dpdk-stable] patch 'net/ixgbe: fix duplicated check' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (83 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: fix VF link status update' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/ixgbe: remove tpid check for flow director' " Yuanhan Liu
                   ` (70 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Yuanhan Liu, Wei Zhao, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 63a1faa60c5cd47bb90dd26a7d8d04470e7e9cd7 Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Tue, 11 Apr 2017 15:24:15 +0100
Subject: [PATCH] net/ixgbe: fix duplicated check

[ upstream commit 97c5fbf6a44d89865642ca667a452dc38120ee50 ]

Same check duplicated, updated check according what commend states.

Coverity issue: 1407507
Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Wei Zhao <wei.zhao1@intel.com>
---
 drivers/net/ixgbe/ixgbe_flow.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ixgbe/ixgbe_flow.c b/drivers/net/ixgbe/ixgbe_flow.c
index 082671e..820a8c5 100644
--- a/drivers/net/ixgbe/ixgbe_flow.c
+++ b/drivers/net/ixgbe/ixgbe_flow.c
@@ -2317,7 +2317,7 @@ ixgbe_parse_fdir_filter_tunnel(const struct rte_flow_attr *attr,
 	index++;
 	NEXT_ITEM_OF_PATTERN(item, pattern, index);
 	if ((item->type != RTE_FLOW_ITEM_TYPE_VLAN) &&
-		(item->type != RTE_FLOW_ITEM_TYPE_VLAN)) {
+		(item->type != RTE_FLOW_ITEM_TYPE_IPV4)) {
 		memset(rule, 0, sizeof(struct ixgbe_fdir_rule));
 		rte_flow_error_set(error, EINVAL,
 			RTE_FLOW_ERROR_TYPE_ITEM,
-- 
1.9.0

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

* [dpdk-stable] patch 'net/ixgbe: remove tpid check for flow director' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (84 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/ixgbe: fix duplicated check' " Yuanhan Liu
@ 2017-05-25  9:48 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/bonding: allow configuring jumbo frames without slaves' " Yuanhan Liu
                   ` (69 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:48 UTC (permalink / raw)
  To: Wei Zhao; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From dc6b6d11e70a646ed47f4f3d3442d6dad8c3ba09 Mon Sep 17 00:00:00 2001
From: Wei Zhao <wei.zhao1@intel.com>
Date: Fri, 14 Apr 2017 11:34:10 +0800
Subject: [PATCH] net/ixgbe: remove tpid check for flow director

[ upstream commit c29315b87d6035d9312c9cf10ccb932493660cef ]

DPDK community has several emails discussion on this topic,
these mails link is bellow:
http://dpdk.org/ml/archives/dev/2017-March/060379.html,
http://dpdk.org/ml/archives/dev/2017-March/060295.html,

items like VLAN can already have several valid "types"
(0x88a8, 0x8100, 0x9100), and who knows what will come up
in the future.

And ixgbe_flow just ignores the types when do filter configuration.
So it may be reasonable to delete the related tpid check process.

Also add some more comment log on stack explanation.

Fixes: 11777435c72 ("net/ixgbe: parse flow director filter")

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
---
 drivers/net/ixgbe/ixgbe_flow.c | 33 ++-------------------------------
 1 file changed, 2 insertions(+), 31 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_flow.c b/drivers/net/ixgbe/ixgbe_flow.c
index 820a8c5..9f9c91c 100644
--- a/drivers/net/ixgbe/ixgbe_flow.c
+++ b/drivers/net/ixgbe/ixgbe_flow.c
@@ -1401,7 +1401,6 @@ ixgbe_parse_fdir_act_attr(const struct rte_flow_attr *attr,
 		{0xAC, 0x7B, 0xA1,	{0xFF, 0xFF, 0xFF,
 		0x2C, 0x6D, 0x36}	0xFF, 0xFF, 0xFF}
  * MAC VLAN	tci	0x2016		0xEFFF
- *		tpid	0x8100		0xFFFF
  * END
  * Other members in mask and spec should set to 0x00.
  * Item->last should be NULL.
@@ -1599,23 +1598,8 @@ ixgbe_parse_fdir_filter_normal(const struct rte_flow_attr *attr,
 		vlan_spec = (const struct rte_flow_item_vlan *)item->spec;
 		vlan_mask = (const struct rte_flow_item_vlan *)item->mask;
 
-		if (vlan_spec->tpid != rte_cpu_to_be_16(ETHER_TYPE_VLAN)) {
-			memset(rule, 0, sizeof(struct ixgbe_fdir_rule));
-			rte_flow_error_set(error, EINVAL,
-				RTE_FLOW_ERROR_TYPE_ITEM,
-				item, "Not supported by fdir filter");
-			return -rte_errno;
-		}
-
 		rule->ixgbe_fdir.formatted.vlan_id = vlan_spec->tci;
 
-		if (vlan_mask->tpid != (uint16_t)~0U) {
-			memset(rule, 0, sizeof(struct ixgbe_fdir_rule));
-			rte_flow_error_set(error, EINVAL,
-				RTE_FLOW_ERROR_TYPE_ITEM,
-				item, "Not supported by fdir filter");
-			return -rte_errno;
-		}
 		rule->mask.vlan_tci_mask = vlan_mask->tci;
 		rule->mask.vlan_tci_mask &= rte_cpu_to_be_16(0xEFFF);
 		/* More than one tags are not supported. */
@@ -1910,6 +1894,7 @@ ixgbe_parse_fdir_filter_normal(const struct rte_flow_attr *attr,
  * IPV4/IPV6	NULL			NULL
  * UDP		NULL			NULL
  * VxLAN	vni{0x00, 0x32, 0x54}	{0xFF, 0xFF, 0xFF}
+ * MAC VLAN	tci	0x2016		0xEFFF
  * END
  * NEGRV pattern example:
  * ITEM		Spec			Mask
@@ -1917,6 +1902,7 @@ ixgbe_parse_fdir_filter_normal(const struct rte_flow_attr *attr,
  * IPV4/IPV6	NULL			NULL
  * NVGRE	protocol	0x6558	0xFFFF
  *		tni{0x00, 0x32, 0x54}	{0xFF, 0xFF, 0xFF}
+ * MAC VLAN	tci	0x2016		0xEFFF
  * END
  * other members in mask and spec should set to 0x00.
  * item->last should be NULL.
@@ -2344,23 +2330,8 @@ ixgbe_parse_fdir_filter_tunnel(const struct rte_flow_attr *attr,
 		vlan_spec = (const struct rte_flow_item_vlan *)item->spec;
 		vlan_mask = (const struct rte_flow_item_vlan *)item->mask;
 
-		if (vlan_spec->tpid != rte_cpu_to_be_16(ETHER_TYPE_VLAN)) {
-			memset(rule, 0, sizeof(struct ixgbe_fdir_rule));
-			rte_flow_error_set(error, EINVAL,
-				RTE_FLOW_ERROR_TYPE_ITEM,
-				item, "Not supported by fdir filter");
-			return -rte_errno;
-		}
-
 		rule->ixgbe_fdir.formatted.vlan_id = vlan_spec->tci;
 
-		if (vlan_mask->tpid != (uint16_t)~0U) {
-			memset(rule, 0, sizeof(struct ixgbe_fdir_rule));
-			rte_flow_error_set(error, EINVAL,
-				RTE_FLOW_ERROR_TYPE_ITEM,
-				item, "Not supported by fdir filter");
-			return -rte_errno;
-		}
 		rule->mask.vlan_tci_mask = vlan_mask->tci;
 		rule->mask.vlan_tci_mask &= rte_cpu_to_be_16(0xEFFF);
 		/* More than one tags are not supported. */
-- 
1.9.0

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

* [dpdk-stable] patch 'net/bonding: allow configuring jumbo frames without slaves' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (85 preceding siblings ...)
  2017-05-25  9:48 ` [dpdk-stable] patch 'net/ixgbe: remove tpid check for flow director' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/mlx4: fix Rx after mbuf alloc failure' " Yuanhan Liu
                   ` (68 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Ilya Maximets; +Cc: Yuanhan Liu, Eric Kinzie, Declan Doherty, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 2fec0ef48c4ed30f4431cf0cb32f38cea3ddd788 Mon Sep 17 00:00:00 2001
From: Ilya Maximets <i.maximets@samsung.com>
Date: Fri, 7 Apr 2017 18:07:12 +0300
Subject: [PATCH] net/bonding: allow configuring jumbo frames without slaves

[ upstream commit c32c2c06bc82b3977b7d16d50a5d7cdcfc7b7e76 ]

Currently, 'rte_eth_dev_configure' fails on attempt to setup
max_rx_pkt_len > 2048 if no slaves was added to bonded device.

For example:

	rte_eth_dev_attach("eth_bond0,slave=05:00.0,mode=l34", &id)
	conf.rxmode.jumbo_frame = 1;
	conf.rxmode.max_rx_pkt_len = 9000;
	rte_eth_dev_configure(id, 1, 1, &conf)

Result:
	EAL: Initializing pmd_bond for eth_bond0
	EAL: Create bonded device eth_bond0 on port 4 in mode 2 on socket 0.
	rte_eth_dev_configure: ethdev port_id=4 \
		max_rx_pkt_len 9018 > max valid value 2048

It's expected that slaves will be added to bonded device inside
'rte_eth_dev_configure' and proper 'max_rx_pktlen' configured
for all of them.

Failure happens because of hardcoded low value of 'max_rx_pktlen'.
Increasing of this value to ETHER_MAX_JUMBO_FRAME_LEN will allow
above scenario (attach + configure).

It is important because it is the way OVS wants to work with
all DPDK devices (including virtual).
Changing the default hardcoded value makes no harm because
all the slaves' related code uses only 'candidate_max_rx_pktlen'
variable.

Fixes: 6cfc6a4f0d61 ("net/bonding: inherit maximum Rx packet length")

Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Reviewed-by: Eric Kinzie <ehkinzie@gmail.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
---
 drivers/net/bonding/rte_eth_bond_pmd.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index f3ac9e2..8abcd07 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -1664,8 +1664,9 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 
 	dev_info->max_mac_addrs = 1;
 
-	dev_info->max_rx_pktlen = internals->candidate_max_rx_pktlen ?
-				  internals->candidate_max_rx_pktlen : 2048;
+	dev_info->max_rx_pktlen = internals->candidate_max_rx_pktlen
+				  ? internals->candidate_max_rx_pktlen
+				  : ETHER_MAX_JUMBO_FRAME_LEN;
 
 	dev_info->max_rx_queues = (uint16_t)128;
 	dev_info->max_tx_queues = (uint16_t)512;
-- 
1.9.0

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

* [dpdk-stable] patch 'net/mlx4: fix Rx after mbuf alloc failure' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (86 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/bonding: allow configuring jumbo frames without slaves' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/i40e: ensure vector mode is not used with QinQ' " Yuanhan Liu
                   ` (67 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Charles Myers; +Cc: Yuanhan Liu, Adrien Mazarguil, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 73e8d3edd9630ba0005374b08ecd606c7e07c647 Mon Sep 17 00:00:00 2001
From: Charles Myers <charles.myers@spirent.com>
Date: Thu, 13 Apr 2017 12:15:24 -1000
Subject: [PATCH] net/mlx4: fix Rx after mbuf alloc failure

[ upstream commit 1193edaa828725bead4d54fa7c1214f105d203c4 ]

Fixes issue where mlx4 driver stops receiving packets when mbuf
allocation fails in mlx4_rx_burst().

This issue appears to be caused because the code doesn't recycle the
existing mbuf to the sges array when mbuf allocation fails as is done
in the code right above it which handles (wc.status != IBV_WC_SUCCESS).

Copying the code from the above case fixes the issue.

Fixes: acac55f16412 ("mlx4: use MOFED 3.0 fast verbs interface for Rx operations")

Signed-off-by: Charles Myers <charles.myers@spirent.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
---
 drivers/net/mlx4/mlx4.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c
index 6dc0526..f974ee8 100644
--- a/drivers/net/mlx4/mlx4.c
+++ b/drivers/net/mlx4/mlx4.c
@@ -3340,6 +3340,8 @@ mlx4_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n)
 			/* Increase out of memory counters. */
 			++rxq->stats.rx_nombuf;
 			++rxq->priv->dev->data->rx_mbuf_alloc_failed;
+			/* Add SGE to array for repost. */
+			sges[i] = elt->sge;
 			goto repost;
 		}
 
-- 
1.9.0

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

* [dpdk-stable] patch 'net/i40e: ensure vector mode is not used with QinQ' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (87 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/mlx4: fix Rx after mbuf alloc failure' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/sfc: reset RSS channels back to 0 on close' " Yuanhan Liu
                   ` (66 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Bernard Iremonger; +Cc: Yuanhan Liu, Konstantin Ananyev, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 5d6b48d8e36026826f391ef78509bb2801a9ffb4 Mon Sep 17 00:00:00 2001
From: Bernard Iremonger <bernard.iremonger@intel.com>
Date: Thu, 13 Apr 2017 10:53:05 +0100
Subject: [PATCH] net/i40e: ensure vector mode is not used with QinQ

[ upstream commit b6e2e78f5dbece33b64e742331ae949b7ead5373 ]

In rx vector mode, QinQ is not supported.
When hw_vlan_extend is set for QinQ ensure that
rx vector mode is not selected.

Fixes: 8e109464c022 ("i40e: allow vector Rx and Tx usage")

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
---
 drivers/net/i40e/i40e_rxtx_vec_common.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/i40e/i40e_rxtx_vec_common.h b/drivers/net/i40e/i40e_rxtx_vec_common.h
index 3745558..eab91ca 100644
--- a/drivers/net/i40e/i40e_rxtx_vec_common.h
+++ b/drivers/net/i40e/i40e_rxtx_vec_common.h
@@ -242,6 +242,10 @@ i40e_rx_vec_dev_conf_condition_check_default(struct rte_eth_dev *dev)
 	if (rxmode->header_split == 1)
 		return -1;
 
+	/* no QinQ support */
+	if (rxmode->hw_vlan_extend == 1)
+		return -1;
+
 	return 0;
 #else
 	RTE_SET_USED(dev);
-- 
1.9.0

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

* [dpdk-stable] patch 'net/sfc: reset RSS channels back to 0 on close' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (88 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/i40e: ensure vector mode is not used with QinQ' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/virtio: fix queue notify' " Yuanhan Liu
                   ` (65 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Andrew Rybchenko; +Cc: Yuanhan Liu, Andy Moreton, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 9674557f4c09a8156c5edc2100e47092e3895506 Mon Sep 17 00:00:00 2001
From: Andrew Rybchenko <arybchenko@solarflare.com>
Date: Tue, 18 Apr 2017 14:03:06 +0100
Subject: [PATCH] net/sfc: reset RSS channels back to 0 on close

[ upstream commit 2617ec3f64321b530eb54397c86d40d510a2c69b ]

Fixes: 4ec1fc3ba881 ("net/sfc: add basic stubs for RSS support on driver attach")

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

diff --git a/drivers/net/sfc/sfc_rx.c b/drivers/net/sfc/sfc_rx.c
index 3b1dadb..30f3ba9 100644
--- a/drivers/net/sfc/sfc_rx.c
+++ b/drivers/net/sfc/sfc_rx.c
@@ -1037,6 +1037,8 @@ sfc_rx_fini(struct sfc_adapter *sa)
 			sfc_rx_qfini(sa, sw_index);
 	}
 
+	sa->rss_channels = 0;
+
 	rte_free(sa->rxq_info);
 	sa->rxq_info = NULL;
 	sa->rxq_count = 0;
-- 
1.9.0

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

* [dpdk-stable] patch 'net/virtio: fix queue notify' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (89 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/sfc: reset RSS channels back to 0 on close' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/virtio-user: fix address on 32-bit system' " Yuanhan Liu
                   ` (64 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Xiao Wang; +Cc: Yuanhan Liu, Stephen Hemminger, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From af8634a02f0b40a70e1116cc06c2c4d8bb171328 Mon Sep 17 00:00:00 2001
From: Xiao Wang <xiao.w.wang@intel.com>
Date: Tue, 11 Apr 2017 03:44:28 -0700
Subject: [PATCH] net/virtio: fix queue notify

[ upstream commit 518208f3a1d370dc0873bf08d407a9aa9add4aec ]

According to spec, we should write virtqueue index into the notify
address, rather than 1. Besides, some HW backend may rely on the data
written to identify which queue need to serve.

Fixes: 6ba1f63b5ab0 ("virtio: support specification 1.0")

Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Reviewed-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
---
 drivers/net/virtio/virtio_pci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/virtio/virtio_pci.c b/drivers/net/virtio/virtio_pci.c
index ce9a9d3..b767c03 100644
--- a/drivers/net/virtio/virtio_pci.c
+++ b/drivers/net/virtio/virtio_pci.c
@@ -504,7 +504,7 @@ modern_del_queue(struct virtio_hw *hw, struct virtqueue *vq)
 static void
 modern_notify_queue(struct virtio_hw *hw __rte_unused, struct virtqueue *vq)
 {
-	rte_write16(1, vq->notify_addr);
+	rte_write16(vq->vq_queue_index, vq->notify_addr);
 }
 
 const struct virtio_pci_ops modern_ops = {
-- 
1.9.0

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

* [dpdk-stable] patch 'net/virtio-user: fix address on 32-bit system' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (90 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/virtio: fix queue notify' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'vhost: fix dequeue zero copy' " Yuanhan Liu
                   ` (63 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Jianfeng Tan; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From c8b88c09b7fb33bf9cc43bb43edea285fcdccc21 Mon Sep 17 00:00:00 2001
From: Jianfeng Tan <jianfeng.tan@intel.com>
Date: Wed, 19 Apr 2017 02:30:33 +0000
Subject: [PATCH] net/virtio-user: fix address on 32-bit system

[ upstream commit 260aae9ad9621e3e758f1443abb8fcbc25ece07c ]

virtio-user cannot work on 32-bit system as higher 32-bit of the
addr field (64-bit) in the desc is filled with non-zero value
which should not happen for a 32-bit system.

In case of virtio-user, we use buf_addr of mbuf to fill the
virtqueue desc addr. This is a regression bug. For 32-bit system,
the first 4 bytes of mbuf is buf_addr, with following 8 bytes for
buf_phyaddr. With below wrong definition, both buf_addr and lower
4 bytes buf_phyaddr are obtained to fill the virtqueue desc.
  #define VIRTIO_MBUF_ADDR(mb, vq) \
	(*(uint64_t *)((uintptr_t)(mb) + (vq)->offset))

Fixes: 25f80d108780 ("net/virtio: fix packet corruption")

Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
---
 drivers/net/virtio/virtqueue.h | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/net/virtio/virtqueue.h b/drivers/net/virtio/virtqueue.h
index f9e3736..2e12086 100644
--- a/drivers/net/virtio/virtqueue.h
+++ b/drivers/net/virtio/virtqueue.h
@@ -71,8 +71,14 @@ struct rte_mbuf;
 /**
  * Return the physical address (or virtual address in case of
  * virtio-user) of mbuf data buffer.
+ *
+ * The address is firstly casted to the word size (sizeof(uintptr_t))
+ * before casting it to uint64_t. This is to make it work with different
+ * combination of word size (64 bit and 32 bit) and virtio device
+ * (virtio-pci and virtio-user).
  */
-#define VIRTIO_MBUF_ADDR(mb, vq) (*(uint64_t *)((uintptr_t)(mb) + (vq)->offset))
+#define VIRTIO_MBUF_ADDR(mb, vq) \
+	((uint64_t)(*(uintptr_t *)((uintptr_t)(mb) + (vq)->offset)))
 #else
 #define VIRTIO_MBUF_ADDR(mb, vq) ((mb)->buf_physaddr)
 #endif
-- 
1.9.0

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

* [dpdk-stable] patch 'vhost: fix dequeue zero copy' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (91 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/virtio-user: fix address on 32-bit system' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'kni: fix ethtool support' " Yuanhan Liu
                   ` (62 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Yuanhan Liu; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 8b154cf679f2443153c60d0a8824d268ab1334ad Mon Sep 17 00:00:00 2001
From: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Date: Wed, 19 Apr 2017 13:26:01 +0800
Subject: [PATCH] vhost: fix dequeue zero copy

[ upstream commit 84ad6e44915a797cbab81c3042c600955ca75408 ]

For zero copy mode, we need pin the mbuf to not let the underlaying PMD
driver (or the app) free the mbuf. Currently, only the heading mbuf is
pinned. However, the mbuf free function would try to free all mbufs
in the mbuf chain (-1 to the refcnt). This may lead the head mbuf being
still pinned, while the other subsequent mbufs are actually freed. Which
is wrong.

It becomes more fatal after the mbuf refactor, more specificly, after
the commit 8f094a9ac5d7 ("mbuf: set mbuf fields while in pool"). The
refcnt resets to 1 after the last real reference. OTOH, it leads to a
situtation that we never know one mbuf is actually freed or not. This
would result the mbuf __just__ after the heading mbuf being freed twice:
it's firstly freed (and put back to mempool) when the underlaying PMD
finishes the DMA.  Later, it will then be freed again when vhost unpins
it. Meaning, one mbuf may be returned to the mempool twice, while in
turn, being allocated twice later. Something uncertain may happen then.
For example, the VM2VM case becomes broken.

Fixes: b0a985d1f340 ("vhost: add dequeue zero copy")

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
---
 lib/librte_vhost/virtio_net.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lib/librte_vhost/virtio_net.c b/lib/librte_vhost/virtio_net.c
index d0a3b11..ea027f1 100644
--- a/lib/librte_vhost/virtio_net.c
+++ b/lib/librte_vhost/virtio_net.c
@@ -905,6 +905,8 @@ copy_desc_to_mbuf(struct virtio_net *dev, struct vring_desc *descs,
 					"allocate memory for mbuf.\n");
 				return -1;
 			}
+			if (unlikely(dev->dequeue_zero_copy))
+				rte_mbuf_refcnt_update(cur, 1);
 
 			prev->next = cur;
 			prev->data_len = mbuf_offset;
-- 
1.9.0

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

* [dpdk-stable] patch 'kni: fix ethtool support' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (92 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'vhost: fix dequeue zero copy' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'crypto/scheduler: fix capability update' " Yuanhan Liu
                   ` (61 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From abd6bc28cf9dce3091b28ca3c76fd4e6ec0867b6 Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Thu, 13 Apr 2017 14:34:37 +0100
Subject: [PATCH] kni: fix ethtool support

[ upstream commit da51d4d956516c4968261dbb4ce49c1434f18b71 ]

Use correct config option, without CONFIG prefix.

Fixes: b2b0f85182ef ("kni: add build option for ethtool support")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 lib/librte_eal/linuxapp/kni/kni_misc.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/lib/librte_eal/linuxapp/kni/kni_misc.c b/lib/librte_eal/linuxapp/kni/kni_misc.c
index 33b61f2..51a2cc2 100644
--- a/lib/librte_eal/linuxapp/kni/kni_misc.c
+++ b/lib/librte_eal/linuxapp/kni/kni_misc.c
@@ -205,7 +205,7 @@ kni_dev_remove(struct kni_dev *dev)
 	if (!dev)
 		return -ENODEV;
 
-#ifdef CONFIG_RTE_KNI_KMOD_ETHTOOL
+#ifdef RTE_KNI_KMOD_ETHTOOL
 	if (dev->pci_dev) {
 		if (pci_match_id(ixgbe_pci_tbl, dev->pci_dev))
 			ixgbe_kni_remove(dev->pci_dev);
@@ -330,6 +330,11 @@ kni_ioctl_create(struct net *net, uint32_t ioctl_num,
 	struct rte_kni_device_info dev_info;
 	struct net_device *net_dev = NULL;
 	struct kni_dev *kni, *dev, *n;
+#ifdef RTE_KNI_KMOD_ETHTOOL
+	struct pci_dev *found_pci = NULL;
+	struct net_device *lad_dev = NULL;
+	struct pci_dev *pci = NULL;
+#endif
 
 	pr_info("Creating kni...\n");
 	/* Check the buffer size, to avoid warning */
@@ -423,12 +428,7 @@ kni_ioctl_create(struct net *net, uint32_t ioctl_num,
 					dev_info.function,
 					dev_info.vendor_id,
 					dev_info.device_id);
-
-#ifdef CONFIG_RTE_KNI_KMOD_ETHTOOL
-	struct pci_dev *found_pci = NULL;
-	struct net_device *lad_dev = NULL;
-	struct pci_dev *pci = NULL;
-
+#ifdef RTE_KNI_KMOD_ETHTOOL
 	pci = pci_get_device(dev_info.vendor_id, dev_info.device_id, NULL);
 
 	/* Support Ethtool */
-- 
1.9.0

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

* [dpdk-stable] patch 'crypto/scheduler: fix capability update' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (93 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'kni: fix ethtool support' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-26  1:26   ` Zhang, Roy Fan
  2017-05-25  9:49 ` [dpdk-stable] patch 'app/crypto-perf: fix crypto operation resubmission' " Yuanhan Liu
                   ` (60 subsequent siblings)
  155 siblings, 1 reply; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Fan Zhang; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 8224aa2937fd5457f10df2824af3dc28119b228c Mon Sep 17 00:00:00 2001
From: Fan Zhang <roy.fan.zhang@intel.com>
Date: Mon, 10 Apr 2017 15:59:34 +0100
Subject: [PATCH] crypto/scheduler: fix capability update

[ upstream commit 7b46f62b8159dc5444cdcd48a46c6656b221510c ]

Fixes: 31439ee72b2c ("crypto/scheduler: add API implementations")

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
---
 drivers/crypto/scheduler/rte_cryptodev_scheduler.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/crypto/scheduler/rte_cryptodev_scheduler.c b/drivers/crypto/scheduler/rte_cryptodev_scheduler.c
index 2f49ad4..ebcf2f6 100644
--- a/drivers/crypto/scheduler/rte_cryptodev_scheduler.c
+++ b/drivers/crypto/scheduler/rte_cryptodev_scheduler.c
@@ -64,7 +64,7 @@ sync_caps(struct rte_cryptodev_capabilities *caps,
 
 		for (j = 0; j < nb_slave_caps; j++) {
 			const struct rte_cryptodev_capabilities *s_cap =
-					&slave_caps[i];
+					&slave_caps[j];
 
 			if (s_cap->op != cap->op || s_cap->sym.xform_type !=
 					cap->sym.xform_type)
-- 
1.9.0

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

* [dpdk-stable] patch 'app/crypto-perf: fix crypto operation resubmission' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (94 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'crypto/scheduler: fix capability update' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'crypto/qat: fix AES-GCM authentication length' " Yuanhan Liu
                   ` (59 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Fan Zhang; +Cc: Yuanhan Liu, Pablo de Lara, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 9bbfb470cf95d2a73b9e0c17cea7d8051b274c89 Mon Sep 17 00:00:00 2001
From: Fan Zhang <roy.fan.zhang@intel.com>
Date: Tue, 18 Apr 2017 15:48:31 +0100
Subject: [PATCH] app/crypto-perf: fix crypto operation resubmission

[ upstream commit 44e2980b70d14cf287779bd53a162b81d94e23cf ]

This patch fixes the crypto operation resubmission problem in crypto
perferformance test. Originally, when needed crypto ops amount is
smaller than the enqueued crypto ops in the last round, one or more
processed crypto operations will be re-enqueued.

Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application")

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 app/test-crypto-perf/cperf_test_throughput.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/app/test-crypto-perf/cperf_test_throughput.c b/app/test-crypto-perf/cperf_test_throughput.c
index 6c04697..d6872e3 100644
--- a/app/test-crypto-perf/cperf_test_throughput.c
+++ b/app/test-crypto-perf/cperf_test_throughput.c
@@ -472,6 +472,19 @@ cperf_throughput_test_runner(void *test_ctx)
 			}
 		}
 
+			/**
+			 * When ops_needed is smaller than ops_enqd, the
+			 * unused ops need to be moved to the front for
+			 * next round use.
+			 */
+			if (unlikely(ops_enqd > ops_needed)) {
+				size_t nb_b_to_mov = ops_unused * sizeof(
+						struct rte_crypto_op *);
+
+				memmove(&ops[ops_needed], &ops[ops_enqd],
+					nb_b_to_mov);
+			}
+
 #ifdef CPERF_LINEARIZATION_ENABLE
 		if (linearize) {
 			/* PMD doesn't support scatter-gather and source buffer
-- 
1.9.0

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

* [dpdk-stable] patch 'crypto/qat: fix AES-GCM authentication length' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (95 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'app/crypto-perf: fix crypto operation resubmission' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'crypto/qat: fix IV zero physical address' " Yuanhan Liu
                   ` (58 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Arek Kusztal; +Cc: Yuanhan Liu, Deepak Kumar Jain, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From b0455da3a69ad88436b4ac3fd33b1941e4caea52 Mon Sep 17 00:00:00 2001
From: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Date: Thu, 13 Apr 2017 10:29:03 +0100
Subject: [PATCH] crypto/qat: fix AES-GCM authentication length

[ upstream commit 46c96a9fc9e774b4abcd8a7ee75dd19f55a42e1c ]

This commit fixes AES-GCM length of authentication input data,
cipher length is used instead

Fixes: 1703e94ac5ce ("qat: add driver for QuickAssist devices")

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Deepak Kumar Jain <deepak.k.jain@intel.com>
---
 drivers/crypto/qat/qat_crypto.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/crypto/qat/qat_crypto.c b/drivers/crypto/qat/qat_crypto.c
index 43e1d00..55aebc8 100644
--- a/drivers/crypto/qat/qat_crypto.c
+++ b/drivers/crypto/qat/qat_crypto.c
@@ -1146,6 +1146,12 @@ qat_write_hw_desc_entry(struct rte_crypto_op *op, uint8_t *out_msg,
 				}
 			}
 
+		} else if (ctx->qat_hash_alg ==
+					ICP_QAT_HW_AUTH_ALGO_GALOIS_128 ||
+				ctx->qat_hash_alg ==
+					ICP_QAT_HW_AUTH_ALGO_GALOIS_64) {
+			auth_ofs = op->sym->cipher.data.offset;
+			auth_len = op->sym->cipher.data.length;
 		} else {
 			auth_ofs = op->sym->auth.data.offset;
 			auth_len = op->sym->auth.data.length;
-- 
1.9.0

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

* [dpdk-stable] patch 'crypto/qat: fix IV zero physical address' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (96 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'crypto/qat: fix AES-GCM authentication length' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'app/crypto-perf: fix AEAD tests when AAD is zero' " Yuanhan Liu
                   ` (57 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Arek Kusztal; +Cc: Yuanhan Liu, Deepak Kumar Jain, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From fc913b818efd362d99f46f4b18ffb6861cdabaf7 Mon Sep 17 00:00:00 2001
From: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Date: Fri, 14 Apr 2017 09:08:42 +0100
Subject: [PATCH] crypto/qat: fix IV zero physical address

[ upstream commit 4ca12b236cf7a354889d894151b3623732b3b58f ]

This commit fixes zero physical address when IV not set

Fixes: 1703e94ac5ce ("qat: add driver for QuickAssist devices")

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Deepak Kumar Jain <deepak.k.jain@intel.com>
---
 drivers/crypto/qat/qat_crypto.c | 29 ++++++++++++++++++-----------
 1 file changed, 18 insertions(+), 11 deletions(-)

diff --git a/drivers/crypto/qat/qat_crypto.c b/drivers/crypto/qat/qat_crypto.c
index 55aebc8..0764450 100644
--- a/drivers/crypto/qat/qat_crypto.c
+++ b/drivers/crypto/qat/qat_crypto.c
@@ -1105,17 +1105,24 @@ qat_write_hw_desc_entry(struct rte_crypto_op *op, uint8_t *out_msg,
 		}
 
 		/* copy IV into request if it fits */
-		if (op->sym->cipher.iv.length && (op->sym->cipher.iv.length <=
-				sizeof(cipher_param->u.cipher_IV_array))) {
-			rte_memcpy(cipher_param->u.cipher_IV_array,
-					op->sym->cipher.iv.data,
-					op->sym->cipher.iv.length);
-		} else {
-			ICP_QAT_FW_LA_CIPH_IV_FLD_FLAG_SET(
-					qat_req->comn_hdr.serv_specif_flags,
-					ICP_QAT_FW_CIPH_IV_64BIT_PTR);
-			cipher_param->u.s.cipher_IV_ptr =
-					op->sym->cipher.iv.phys_addr;
+		/*
+		 * If IV length is zero do not copy anything but still
+		 * use request descriptor embedded IV
+		 *
+		 */
+		if (op->sym->cipher.iv.length) {
+			if (op->sym->cipher.iv.length <=
+					sizeof(cipher_param->u.cipher_IV_array)) {
+				rte_memcpy(cipher_param->u.cipher_IV_array,
+						op->sym->cipher.iv.data,
+						op->sym->cipher.iv.length);
+			} else {
+				ICP_QAT_FW_LA_CIPH_IV_FLD_FLAG_SET(
+						qat_req->comn_hdr.serv_specif_flags,
+						ICP_QAT_FW_CIPH_IV_64BIT_PTR);
+				cipher_param->u.s.cipher_IV_ptr =
+						op->sym->cipher.iv.phys_addr;
+			}
 		}
 		min_ofs = cipher_ofs;
 	}
-- 
1.9.0

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

* [dpdk-stable] patch 'app/crypto-perf: fix AEAD tests when AAD is zero' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (97 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'crypto/qat: fix IV zero physical address' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'examples/l2fwd-crypto: " Yuanhan Liu
                   ` (56 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Pablo de Lara; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From bb346025e0728af8d466838198491e60a70f7885 Mon Sep 17 00:00:00 2001
From: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Date: Wed, 12 Apr 2017 10:26:26 +0100
Subject: [PATCH] app/crypto-perf: fix AEAD tests when AAD is zero

[ upstream commit ad674b4d4a354e64b5fca9a4f14f0bd3dfe7db04 ]

For AEAD algorithms, additional authenticated data (AAD)
can be passed, but it is optional, so its size can be zero.
Therefore, test can be run if no memory is allocated.

Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 app/test-crypto-perf/cperf_test_vectors.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/test-crypto-perf/cperf_test_vectors.c b/app/test-crypto-perf/cperf_test_vectors.c
index 6307f25..c0db39d 100644
--- a/app/test-crypto-perf/cperf_test_vectors.c
+++ b/app/test-crypto-perf/cperf_test_vectors.c
@@ -463,7 +463,7 @@ cperf_test_vector_get_dummy(struct cperf_options *options)
 			break;
 		}
 
-		if (aad_alloc) {
+		if (aad_alloc && options->auth_aad_sz) {
 			t_vec->aad.data = rte_malloc(NULL,
 					options->auth_aad_sz, 16);
 			if (t_vec->aad.data == NULL) {
-- 
1.9.0

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

* [dpdk-stable] patch 'examples/l2fwd-crypto: fix AEAD tests when AAD is zero' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (98 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'app/crypto-perf: fix AEAD tests when AAD is zero' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'examples/l2fwd-crypto: fix padding calculation' " Yuanhan Liu
                   ` (55 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Pablo de Lara; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From d613f53fa0b4a34b4f5b6efa1baf391fde2d2567 Mon Sep 17 00:00:00 2001
From: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Date: Mon, 17 Apr 2017 13:23:37 +0100
Subject: [PATCH] examples/l2fwd-crypto: fix AEAD tests when AAD is zero

[ upstream commit 18f421f65bb8dcfa77919c48edeb54c867ce89c8 ]

For AEAD algorithms, additional authenticated data (AAD)
can be passed, but it is optional, so its size can be zero.
However, it is required to set this length to zero in the crypto
operation to avoid undefined behaviour.

Fixes: 617a7949c98a ("examples/l2fwd-crypto: parse AAD parameter")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 examples/l2fwd-crypto/main.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/examples/l2fwd-crypto/main.c b/examples/l2fwd-crypto/main.c
index 62ee933..8a68e55 100644
--- a/examples/l2fwd-crypto/main.c
+++ b/examples/l2fwd-crypto/main.c
@@ -517,6 +517,10 @@ l2fwd_simple_crypto_enqueue(struct rte_mbuf *m,
 			op->sym->auth.aad.data = cparams->aad.data;
 			op->sym->auth.aad.phys_addr = cparams->aad.phys_addr;
 			op->sym->auth.aad.length = cparams->aad.length;
+		} else {
+			op->sym->auth.aad.data = NULL;
+			op->sym->auth.aad.phys_addr = 0;
+			op->sym->auth.aad.length = 0;
 		}
 	}
 
@@ -717,7 +721,8 @@ l2fwd_main_loop(struct l2fwd_crypto_options *options)
 					generate_random_key(port_cparams[i].aad.data,
 						port_cparams[i].aad.length);
 
-			}
+			} else
+				port_cparams[i].aad.length = 0;
 
 			if (options->auth_xform.auth.op == RTE_CRYPTO_AUTH_OP_VERIFY)
 				port_cparams[i].hash_verify = 1;
-- 
1.9.0

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

* [dpdk-stable] patch 'examples/l2fwd-crypto: fix padding calculation' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (99 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'examples/l2fwd-crypto: " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'kni: fix possible memory leak' " Yuanhan Liu
                   ` (54 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Pablo de Lara; +Cc: Yuanhan Liu, Fan Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 7150f467c51243573f5cf87cb129fad650e52210 Mon Sep 17 00:00:00 2001
From: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Date: Wed, 19 Apr 2017 15:37:54 +0100
Subject: [PATCH] examples/l2fwd-crypto: fix padding calculation

[ upstream commit c64457cb11f0df25813983b10c47d80058b9a8ba ]

For padding calculation, it is necessary to know if algorithm
is a block cipher or stream cipher algorithm, and know the
block size for the algorithm.

In the application, this block size should be only the
cipher block size, but if authentication was used too,
it was being overwritten by the authentication block size,
which is not needed.

Fixes: 27cf2d1b18e1 ("examples/l2fwd-crypto: discover capabilities")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
---
 examples/l2fwd-crypto/main.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/examples/l2fwd-crypto/main.c b/examples/l2fwd-crypto/main.c
index 8a68e55..2b28e38 100644
--- a/examples/l2fwd-crypto/main.c
+++ b/examples/l2fwd-crypto/main.c
@@ -1716,7 +1716,6 @@ initialize_cryptodevs(struct l2fwd_crypto_options *options, unsigned nb_ports,
 				continue;
 			}
 
-			options->block_size = cap->sym.auth.block_size;
 			/*
 			 * Check if length of provided AAD is supported
 			 * by the algorithm chosen.
-- 
1.9.0

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

* [dpdk-stable] patch 'kni: fix possible memory leak' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (100 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'examples/l2fwd-crypto: fix padding calculation' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'examples: fix build clean on FreeBSD' " Yuanhan Liu
                   ` (53 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From aa8e4dcd71a2e175445df2a042b66b505c241f4b Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Tue, 18 Apr 2017 15:21:44 +0100
Subject: [PATCH] kni: fix possible memory leak

[ upstream commit 8eba5ebd181141f71115d01bf65fd2e9ad549210 ]

alloc_q and rx_q fifos holds physical address of the mbufs, and not able
to free those mbufs explicitly.

But kernel thread reads from rx_q and puts used mbufs into free_q (with
their virtual addresses.) And kernel thread stopped when application
close the /dev/kni file on exit. So rx_q has time to be consumed by
kernel thread but leak is technically possible.

Another fifo, alloc_q has physical addresses too, but all those coming
from same mempool provided by application, when application quit, all
mempool already returned back, so this leak can be ignored.

Added check and wait logic for rx_q to be sure kernel consumed the fifo,
an error message printed after some ammount of wait, and an explicit
mempool free added for alloc_q.

Fixes: 8451269e6d7b ("kni: remove continuous memory restriction")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 lib/librte_kni/rte_kni.c      | 20 ++++++++++++++------
 lib/librte_kni/rte_kni_fifo.h |  9 +++++++++
 2 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/lib/librte_kni/rte_kni.c b/lib/librte_kni/rte_kni.c
index a80cefd..52fcd4b 100644
--- a/lib/librte_kni/rte_kni.c
+++ b/lib/librte_kni/rte_kni.c
@@ -452,16 +452,16 @@ kni_free_fifo(struct rte_kni_fifo *fifo)
 }
 
 static void
-kni_free_fifo_phy(struct rte_kni_fifo *fifo)
+kni_free_fifo_phy(struct rte_mempool *pktmbuf_pool, struct rte_kni_fifo *fifo)
 {
 	void *mbuf_phys;
 	int ret;
 
+	rte_mempool_free(pktmbuf_pool);
+
+	/* All mbufs alredy freed with rte_mempoll_free, just free the fifo */
 	do {
 		ret = kni_fifo_get(fifo, &mbuf_phys, 1);
-		/*
-		 * TODO: free mbufs
-		 */
 	} while (ret);
 }
 
@@ -470,6 +470,7 @@ rte_kni_release(struct rte_kni *kni)
 {
 	struct rte_kni_device_info dev_info;
 	uint32_t slot_id;
+	uint32_t retry = 5;
 
 	if (!kni || !kni->in_use)
 		return -1;
@@ -481,9 +482,16 @@ rte_kni_release(struct rte_kni *kni)
 	}
 
 	/* mbufs in all fifo should be released, except request/response */
+
+	/* wait until all rxq packets processed by kernel */
+	while (kni_fifo_count(kni->rx_q) && retry--)
+		usleep(1000);
+
+	if (kni_fifo_count(kni->rx_q))
+		RTE_LOG(ERR, KNI, "Fail to free all Rx-q items\n");
+
+	kni_free_fifo_phy(kni->pktmbuf_pool, kni->alloc_q);
 	kni_free_fifo(kni->tx_q);
-	kni_free_fifo_phy(kni->rx_q);
-	kni_free_fifo_phy(kni->alloc_q);
 	kni_free_fifo(kni->free_q);
 
 	slot_id = kni->slot_id;
diff --git a/lib/librte_kni/rte_kni_fifo.h b/lib/librte_kni/rte_kni_fifo.h
index 8cb8587..c7cd5c2 100644
--- a/lib/librte_kni/rte_kni_fifo.h
+++ b/lib/librte_kni/rte_kni_fifo.h
@@ -91,3 +91,12 @@ kni_fifo_get(struct rte_kni_fifo *fifo, void **data, unsigned num)
 	fifo->read = new_read;
 	return i;
 }
+
+/**
+ * Get the num of elements in the fifo
+ */
+static inline uint32_t
+kni_fifo_count(struct rte_kni_fifo *fifo)
+{
+	return (fifo->len + fifo->write - fifo->read) & (fifo->len - 1);
+}
-- 
1.9.0

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

* [dpdk-stable] patch 'examples: fix build clean on FreeBSD' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (101 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'kni: fix possible memory leak' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'examples/performance-thread: fix build " Yuanhan Liu
                   ` (52 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 2798da2bfc9f062a42d20445e352a7c4626d4597 Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Fri, 21 Apr 2017 14:50:22 +0100
Subject: [PATCH] examples: fix build clean on FreeBSD

[ upstream commit b2f4f2e2a69169c92376797c1365daeb20faf401 ]

The "examples_clean" top-level build target calls "make clean" for each
individual example. However, for a number of those which were linux-only
examples, the "if" condition only had a dummy "all" target i.e. no "clean"
target, causing an error with examples_clean.

Fixes: 3417cd687e5e ("examples: ignore linux apps on bsd")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 examples/exception_path/Makefile       | 1 +
 examples/netmap_compat/bridge/Makefile | 1 +
 examples/qos_sched/Makefile            | 1 +
 3 files changed, 3 insertions(+)

diff --git a/examples/exception_path/Makefile b/examples/exception_path/Makefile
index 959914a..4b6e071 100644
--- a/examples/exception_path/Makefile
+++ b/examples/exception_path/Makefile
@@ -42,6 +42,7 @@ ifneq ($(CONFIG_RTE_EXEC_ENV),"linuxapp")
 $(info This application can only operate in a linuxapp environment, \
 please change the definition of the RTE_TARGET environment variable)
 all:
+clean:
 else
 
 # binary name
diff --git a/examples/netmap_compat/bridge/Makefile b/examples/netmap_compat/bridge/Makefile
index 50d96e8..1d4ddff 100644
--- a/examples/netmap_compat/bridge/Makefile
+++ b/examples/netmap_compat/bridge/Makefile
@@ -42,6 +42,7 @@ ifneq ($(CONFIG_RTE_EXEC_ENV),"linuxapp")
 $(info This application can only operate in a linuxapp environment, \
 please change the definition of the RTE_TARGET environment variable)
 all:
+clean:
 else
 
 # binary name
diff --git a/examples/qos_sched/Makefile b/examples/qos_sched/Makefile
index f59645f..e41ac50 100644
--- a/examples/qos_sched/Makefile
+++ b/examples/qos_sched/Makefile
@@ -42,6 +42,7 @@ ifneq ($(CONFIG_RTE_EXEC_ENV),"linuxapp")
 $(info This application can only operate in a linuxapp environment, \
 please change the definition of the RTE_TARGET environment variable)
 all:
+clean:
 else
 
 # binary name
-- 
1.9.0

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

* [dpdk-stable] patch 'examples/performance-thread: fix build on FreeBSD' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (102 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'examples: fix build clean on FreeBSD' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'examples/performance-thread: fix compilation on Suse 11 SP2' " Yuanhan Liu
                   ` (51 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From db06f67f0e39a1dfbbd297c36320f8039b5e5424 Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Fri, 21 Apr 2017 14:50:23 +0100
Subject: [PATCH] examples/performance-thread: fix build on FreeBSD

[ upstream commit 4cde45f36fb4e46139400a7a00c923656c99a3d8 ]

This set of sample apps did not compile on FreeBSD due to use of a number
of Linux/glibc-specific APIs, or APIs which existed in different headers
on FreeBSD. Specifically, the following APIs has problems:
  * sched_getcpu() is a glibc extension, so use rte_lcore_id() on BSD
  * pthread_yield() returns int on Linux, but void on FreeBSD, so
    we have to create two slightly different copies of the function.
  * the type for managing cpu sets is cpuset_t on FreeBSD rather than
    cpu_set_t as on Linux, so use rte_cpuset_t from rte_lcore.h.
  * APIs for managing cpu affinity are in pthread_np.h on FreeBSD, rather
    than in pthread.h, also fixed by including rte_lcore.h

Fixes: 433ba6228f9a ("examples/performance-thread: add pthread_shim app")
Fixes: d48415e1fee3 ("examples/performance-thread: add l3fwd-thread app")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 examples/performance-thread/l3fwd-thread/main.c    |  4 ++++
 examples/performance-thread/pthread_shim/main.c    |  8 ++++++--
 .../performance-thread/pthread_shim/pthread_shim.c | 23 ++++++++++++++++------
 .../performance-thread/pthread_shim/pthread_shim.h |  3 ++-
 4 files changed, 29 insertions(+), 9 deletions(-)

diff --git a/examples/performance-thread/l3fwd-thread/main.c b/examples/performance-thread/l3fwd-thread/main.c
index 53083df..91257cc 100644
--- a/examples/performance-thread/l3fwd-thread/main.c
+++ b/examples/performance-thread/l3fwd-thread/main.c
@@ -90,6 +90,10 @@
 #define APP_LOOKUP_METHOD             APP_LOOKUP_LPM
 #endif
 
+#ifndef __GLIBC__ /* sched_getcpu() is glibc specific */
+#define sched_getcpu() rte_lcore_id()
+#endif
+
 static int
 check_ptype(int portid)
 {
diff --git a/examples/performance-thread/pthread_shim/main.c b/examples/performance-thread/pthread_shim/main.c
index f035721..850b009 100644
--- a/examples/performance-thread/pthread_shim/main.c
+++ b/examples/performance-thread/pthread_shim/main.c
@@ -59,6 +59,10 @@
 #define DEBUG_APP 0
 #define HELLOW_WORLD_MAX_LTHREADS 10
 
+#ifndef __GLIBC__ /* sched_getcpu() is glibc-specific */
+#define sched_getcpu() rte_lcore_id()
+#endif
+
 __thread int print_count;
 __thread pthread_mutex_t print_lock;
 
@@ -175,12 +179,12 @@ static void initial_lthread(void *args __attribute__((unused)))
 		 * use an attribute to pass the desired lcore
 		 */
 		pthread_attr_t attr;
-		cpu_set_t cpuset;
+		rte_cpuset_t cpuset;
 
 		CPU_ZERO(&cpuset);
 		CPU_SET(lcore, &cpuset);
 		pthread_attr_init(&attr);
-		pthread_attr_setaffinity_np(&attr, sizeof(cpu_set_t), &cpuset);
+		pthread_attr_setaffinity_np(&attr, sizeof(rte_cpuset_t), &cpuset);
 
 		/* create the thread */
 		pthread_create(&tid[i], &attr, helloworld_pthread, (void *) i);
diff --git a/examples/performance-thread/pthread_shim/pthread_shim.c b/examples/performance-thread/pthread_shim/pthread_shim.c
index 0d6100c..7167311 100644
--- a/examples/performance-thread/pthread_shim/pthread_shim.c
+++ b/examples/performance-thread/pthread_shim/pthread_shim.c
@@ -159,7 +159,7 @@ int (*f_pthread_setschedparam)
 int (*f_pthread_yield)
 	(void);
 int (*f_pthread_setaffinity_np)
-	(pthread_t thread, size_t cpusetsize, const cpu_set_t *cpuset);
+	(pthread_t thread, size_t cpusetsize, const rte_cpuset_t *cpuset);
 int (*f_nanosleep)
 	(const struct timespec *req, struct timespec *rem);
 } _sys_pthread_funcs = {
@@ -390,11 +390,11 @@ pthread_create(pthread_t *__restrict tid,
 
 		if (attr != NULL) {
 			/* determine CPU being requested */
-			cpu_set_t cpuset;
+			rte_cpuset_t cpuset;
 
 			CPU_ZERO(&cpuset);
 			pthread_attr_getaffinity_np(attr,
-						sizeof(cpu_set_t),
+						sizeof(rte_cpuset_t),
 						&cpuset);
 
 			if (CPU_COUNT(&cpuset) != 1)
@@ -576,15 +576,26 @@ int pthread_rwlock_wrlock(pthread_rwlock_t *a)
 	return _sys_pthread_funcs.f_pthread_rwlock_wrlock(a);
 }
 
-int pthread_yield(void)
+#ifdef RTE_EXEC_ENV_LINUXAPP
+int
+pthread_yield(void)
 {
 	if (override) {
 		lthread_yield();
 		return 0;
 	}
 	return _sys_pthread_funcs.f_pthread_yield();
-
 }
+#else
+void
+pthread_yield(void)
+{
+	if (override)
+		lthread_yield();
+	else
+		_sys_pthread_funcs.f_pthread_yield();
+}
+#endif
 
 pthread_t pthread_self(void)
 {
@@ -686,7 +697,7 @@ int nanosleep(const struct timespec *req, struct timespec *rem)
 
 int
 pthread_setaffinity_np(pthread_t thread, size_t cpusetsize,
-		       const cpu_set_t *cpuset)
+		       const rte_cpuset_t *cpuset)
 {
 	if (override) {
 		/* we only allow affinity with a single CPU */
diff --git a/examples/performance-thread/pthread_shim/pthread_shim.h b/examples/performance-thread/pthread_shim/pthread_shim.h
index 78bbb5a..10f8789 100644
--- a/examples/performance-thread/pthread_shim/pthread_shim.h
+++ b/examples/performance-thread/pthread_shim/pthread_shim.h
@@ -33,7 +33,8 @@
 
 #ifndef _PTHREAD_SHIM_H_
 #define _PTHREAD_SHIM_H_
-#include <pthread.h>
+
+#include <rte_lcore.h>
 
 /*
  * This pthread shim is an example that demonstrates how legacy code
-- 
1.9.0

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

* [dpdk-stable] patch 'examples/performance-thread: fix compilation on Suse 11 SP2' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (103 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'examples/performance-thread: fix build " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'mbuf: fix missing includes in exported header' " Yuanhan Liu
                   ` (50 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Yuanhan Liu, Pablo de Lara, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 35857b900683a81ce72e03a3e89bd57fe592cc40 Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Mon, 24 Apr 2017 14:04:22 +0100
Subject: [PATCH] examples/performance-thread: fix compilation on Suse 11 SP2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit 1e6d5a960820a377e2453a13c8cd2e6797dc2f76 ]

Fixes following compilation error, using uint64_t type,
instead of int128_t unnecessarily:

In file included from ./common/lthread.c:82:0:
./common/lthread_timer.h: In function ‘_ns_to_clks’:
./common/lthread_timer.h:49:20: error: expected ‘=’, ‘,’, ‘;’,
 ‘asm’ or ‘__attribute__’ before ‘clkns’
compilation terminated due to -Wfatal-errors.

Fixes: 116819b9ed0d ("examples/performance-thread: add lthread subsystem")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 examples/performance-thread/common/lthread_timer.h | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/examples/performance-thread/common/lthread_timer.h b/examples/performance-thread/common/lthread_timer.h
index b5e6fb0..2d14757 100644
--- a/examples/performance-thread/common/lthread_timer.h
+++ b/examples/performance-thread/common/lthread_timer.h
@@ -42,11 +42,22 @@
 static inline uint64_t
 _ns_to_clks(uint64_t ns)
 {
-	unsigned __int128 clkns = rte_get_tsc_hz();
+	/*
+	 * clkns needs to be divided by 1E9 to get ns clocks. However,
+	 * dividing by this first would lose a lot of accuracy.
+	 * Dividing after a multiply by ns, could cause overflow of
+	 * uint64_t if ns is about 5 seconds [if we assume a max tsc
+	 * rate of 4GHz]. Therefore we first divide by 1E4, then
+	 * multiply and finally divide by 1E5. This allows ns to be
+	 * values many hours long, without overflow, while still keeping
+	 * reasonable accuracy.
+	 */
+	uint64_t clkns = rte_get_tsc_hz() / 1e4;
 
 	clkns *= ns;
-	clkns /= 1000000000;
-	return (uint64_t) clkns;
+	clkns /= 1e5;
+
+	return clkns;
 }
 
 
-- 
1.9.0

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

* [dpdk-stable] patch 'mbuf: fix missing includes in exported header' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (104 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'examples/performance-thread: fix compilation on Suse 11 SP2' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'efd: fix missing include " Yuanhan Liu
                   ` (49 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Adrien Mazarguil; +Cc: Yuanhan Liu, Olivier Matz, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From c6868becbcf35951b386fa881c2ad09c23e383ff Mon Sep 17 00:00:00 2001
From: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Date: Wed, 26 Apr 2017 14:07:14 +0200
Subject: [PATCH] mbuf: fix missing includes in exported header

[ upstream commit d53aad67e8001f1abeeae3c3765ca80cd7c3326a ]

This commit addresses the following errors:

 In file included from /tmp/check-includes.sh.681.c:1:0:
 build/include/rte_mbuf_ptype.h:587:35: error: unknown type name 'uint32_t'
 [...]
 build/include/rte_mbuf_ptype.h:662:51: error: unknown type name 'size_t'
 [...]

Fixes: 288541c8ff9e ("mbuf: add functions to dump packet type")

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
---
 lib/librte_mbuf/rte_mbuf_ptype.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/librte_mbuf/rte_mbuf_ptype.h b/lib/librte_mbuf/rte_mbuf_ptype.h
index ff6de9d..a3269c4 100644
--- a/lib/librte_mbuf/rte_mbuf_ptype.h
+++ b/lib/librte_mbuf/rte_mbuf_ptype.h
@@ -91,6 +91,9 @@
  * RTE_PTYPE_INNER_L4_UDP.
  */
 
+#include <stddef.h>
+#include <stdint.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
-- 
1.9.0

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

* [dpdk-stable] patch 'efd: fix missing include in exported header' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (105 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'mbuf: fix missing includes in exported header' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'cmdline: fix parsing' " Yuanhan Liu
                   ` (48 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Adrien Mazarguil; +Cc: Yuanhan Liu, Pablo de Lara, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From fb231b8c03bb78dd8bc36e171b5733fada867abf Mon Sep 17 00:00:00 2001
From: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Date: Wed, 26 Apr 2017 14:07:17 +0200
Subject: [PATCH] efd: fix missing include in exported header

[ upstream commit c67ae2bd090f8956b30c868a0a9f0b194aec09da ]

This commit addresses the following compilation errors:

 In file included from /tmp/check-includes.sh.8373.c:1:0:
 build/include/rte_efd.h:133:9: error: unknown type name 'uint8_t'
 [...]

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

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 lib/librte_efd/rte_efd.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lib/librte_efd/rte_efd.h b/lib/librte_efd/rte_efd.h
index 6d31e18..1596863 100644
--- a/lib/librte_efd/rte_efd.h
+++ b/lib/librte_efd/rte_efd.h
@@ -40,6 +40,8 @@
  * RTE EFD Table
  */
 
+#include <stdint.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
-- 
1.9.0

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

* [dpdk-stable] patch 'cmdline: fix parsing' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (106 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'efd: fix missing include " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/sfc: fix LSC interrupt support for UIO cases' " Yuanhan Liu
                   ` (47 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Wenzhuo Lu; +Cc: Yuanhan Liu, Olivier Matz, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 34d71a72819e5f16c7acb30a5c29c10a6fa77f73 Mon Sep 17 00:00:00 2001
From: Wenzhuo Lu <wenzhuo.lu@intel.com>
Date: Tue, 25 Apr 2017 11:11:25 +0800
Subject: [PATCH] cmdline: fix parsing

[ upstream commit 9b3fbb051d2e98161b68c8f5c60331170be7b853 ]

When parsing a CLI, all the CLI instances are checked
one by one. Even if an instance already matches the CLI,
the parsing will not stop for ambiguous check.
The problem is that the following check may change the
parsing result of the previous one even if the following
instance doesn't match.

Use a temporary validate for the parsing result when
trying to match an instance and only store the result
when it matches, so the previous result has no chance
to be changed.

Fixes: af75078fece3 ("first public release")

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
---
 lib/librte_cmdline/cmdline_parse.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/lib/librte_cmdline/cmdline_parse.c b/lib/librte_cmdline/cmdline_parse.c
index 763c286..b814880 100644
--- a/lib/librte_cmdline/cmdline_parse.c
+++ b/lib/librte_cmdline/cmdline_parse.c
@@ -258,7 +258,7 @@ cmdline_parse(struct cmdline *cl, const char * buf)
 	union {
 		char buf[CMDLINE_PARSE_RESULT_BUFSIZE];
 		long double align; /* strong alignment constraint for buf */
-	} result;
+	} result, tmp_result;
 	cmdline_parse_token_hdr_t *dyn_tokens[CMDLINE_PARSE_DYNAMIC_TOKENS];
 	void (*f)(void *, struct cmdline *, void *) = NULL;
 	void *data = NULL;
@@ -321,14 +321,16 @@ cmdline_parse(struct cmdline *cl, const char * buf)
 		debug_printf("INST %d\n", inst_num);
 
 		/* fully parsed */
-		tok = match_inst(inst, buf, 0, result.buf, sizeof(result.buf),
-				 &dyn_tokens);
+		tok = match_inst(inst, buf, 0, tmp_result.buf,
+				 sizeof(tmp_result.buf), &dyn_tokens);
 
 		if (tok > 0) /* we matched at least one token */
 			err = CMDLINE_PARSE_BAD_ARGS;
 
 		else if (!tok) {
 			debug_printf("INST fully parsed\n");
+			memcpy(&result, &tmp_result,
+			       sizeof(result));
 			/* skip spaces */
 			while (isblank2(*curbuf)) {
 				curbuf++;
-- 
1.9.0

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

* [dpdk-stable] patch 'net/sfc: fix LSC interrupt support for UIO cases' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (107 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'cmdline: fix parsing' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/i40e: fix setup when bulk is disabled' " Yuanhan Liu
                   ` (46 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Andrew Rybchenko; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From e08baa261f8aca9493abf30dc1e7e3886fdb3db1 Mon Sep 17 00:00:00 2001
From: Andrew Rybchenko <arybchenko@solarflare.com>
Date: Fri, 21 Apr 2017 13:16:42 +0100
Subject: [PATCH] net/sfc: fix LSC interrupt support for UIO cases

[ upstream commit edd69f7c21dfdfd9edf3bc173c18de20e50e1c1d ]

Recently link status change interrupt was enabled by default in testpmd,
it has opened the driver bug with not working LSC interrupt if either
igb_uio or uio_pci_generic kernel driver is used.

Fixes: 06bc197796e2 ("net/sfc: interrupts support sufficient for event queue init")

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

diff --git a/drivers/net/sfc/sfc_intr.c b/drivers/net/sfc/sfc_intr.c
index d06980e..1e6b532 100644
--- a/drivers/net/sfc/sfc_intr.c
+++ b/drivers/net/sfc/sfc_intr.c
@@ -308,9 +308,11 @@ sfc_intr_attach(struct sfc_adapter *sa)
 
 	switch (pci_dev->intr_handle.type) {
 #ifdef RTE_EXEC_ENV_LINUXAPP
+	case RTE_INTR_HANDLE_UIO_INTX:
 	case RTE_INTR_HANDLE_VFIO_LEGACY:
 		intr->type = EFX_INTR_LINE;
 		break;
+	case RTE_INTR_HANDLE_UIO:
 	case RTE_INTR_HANDLE_VFIO_MSI:
 	case RTE_INTR_HANDLE_VFIO_MSIX:
 		intr->type = EFX_INTR_MESSAGE;
-- 
1.9.0

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

* [dpdk-stable] patch 'net/i40e: fix setup when bulk is disabled' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (108 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/sfc: fix LSC interrupt support for UIO cases' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/qede: fix default MAC address handling' " Yuanhan Liu
                   ` (45 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Beilei Xing; +Cc: Yuanhan Liu, Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 85eae3637feab92531ae91b85c51e72434688280 Mon Sep 17 00:00:00 2001
From: Beilei Xing <beilei.xing@intel.com>
Date: Thu, 20 Apr 2017 16:51:36 +0800
Subject: [PATCH] net/i40e: fix setup when bulk is disabled

[ upstream commit c00f307f850a888f887688e88cb13be7e6964bd7 ]

Testpmd failed to start when CONFIG_RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC
is disabled, the root cause is the length of sw_ring and queue are
incorrect with the above configuration.

Fixes: 0be295312966 ("net/i40e: fix compile error")

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

diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
index 40f4a45..912a56b 100644
--- a/drivers/net/i40e/i40e_rxtx.c
+++ b/drivers/net/i40e/i40e_rxtx.c
@@ -1772,13 +1772,11 @@ i40e_dev_rx_queue_setup(struct rte_eth_dev *dev,
 	/* Allocate the maximun number of RX ring hardware descriptor. */
 	len = I40E_MAX_RING_DESC;
 
-#ifdef RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC
 	/**
 	 * Allocating a little more memory because vectorized/bulk_alloc Rx
 	 * functions doesn't check boundaries each time.
 	 */
 	len += RTE_PMD_I40E_RX_MAX_BURST;
-#endif
 
 	ring_size = RTE_ALIGN(len * sizeof(union i40e_rx_desc),
 			      I40E_DMA_MEM_ALIGN);
@@ -1797,11 +1795,7 @@ i40e_dev_rx_queue_setup(struct rte_eth_dev *dev,
 	rxq->rx_ring_phys_addr = rte_mem_phy2mch(rz->memseg_id, rz->phys_addr);
 	rxq->rx_ring = (union i40e_rx_desc *)rz->addr;
 
-#ifdef RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC
 	len = (uint16_t)(nb_desc + RTE_PMD_I40E_RX_MAX_BURST);
-#else
-	len = nb_desc;
-#endif
 
 	/* Allocate the software ring. */
 	rxq->sw_ring =
-- 
1.9.0

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

* [dpdk-stable] patch 'net/qede: fix default MAC address handling' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (109 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/i40e: fix setup when bulk is disabled' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/qede: fix fastpath rings reset phase' " Yuanhan Liu
                   ` (44 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Harish Patil; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 33f5013833a074bdf25f9d552a79062412637e6b Mon Sep 17 00:00:00 2001
From: Harish Patil <harish.patil@cavium.com>
Date: Tue, 25 Apr 2017 00:28:36 -0700
Subject: [PATCH] net/qede: fix default MAC address handling

[ upstream commit 49d8b54e867982d0ee55d0706d9b7cec73492542 ]

- In qede_mac_addr_set(), in order to configure default MAC address we
first delete the existing MAC address before trying to add new one. During
init time, there is no MAC filter to begin with, so trying to remove a
non-existing MAC address causes a firmware exception. This can be prevented
by internally calling qede_mac_addr_add() which has the checks in place to
delete a MAC address only if it was added before.

- Remove setting of the default MAC address from within
qede_dev_configure() since rte_eth_dev_start() calls mac_addr_set() anyway.

Fixes: 2ea6f76aff40 ("qede: add core driver")

Signed-off-by: Harish Patil <harish.patil@cavium.com>
---
 drivers/net/qede/qede_ethdev.c | 30 +-----------------------------
 1 file changed, 1 insertion(+), 29 deletions(-)

diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
index 039446b..9242a7d 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -550,8 +550,6 @@ qede_mac_addr_set(struct rte_eth_dev *eth_dev, struct ether_addr *mac_addr)
 {
 	struct qede_dev *qdev = QEDE_INIT_QDEV(eth_dev);
 	struct ecore_dev *edev = QEDE_INIT_EDEV(qdev);
-	struct ecore_filter_ucast ucast;
-	int rc;
 
 	if (IS_VF(edev) && !ecore_vf_check_mac(ECORE_LEADING_HWFN(edev),
 					       mac_addr->addr_bytes)) {
@@ -561,29 +559,7 @@ qede_mac_addr_set(struct rte_eth_dev *eth_dev, struct ether_addr *mac_addr)
 		return;
 	}
 
-	/* First remove the primary mac */
-	qede_set_ucast_cmn_params(&ucast);
-	ucast.opcode = ECORE_FILTER_REMOVE;
-	ucast.type = ECORE_FILTER_MAC;
-	ether_addr_copy(&qdev->primary_mac,
-			(struct ether_addr *)&ucast.mac);
-	rc = ecore_filter_ucast_cmd(edev, &ucast, ECORE_SPQ_MODE_CB, NULL);
-	if (rc != 0) {
-		DP_ERR(edev, "Unable to remove current macaddr"
-			     " Reverting to previous default mac\n");
-		ether_addr_copy(&qdev->primary_mac,
-				&eth_dev->data->mac_addrs[0]);
-		return;
-	}
-
-	/* Add new MAC */
-	ucast.opcode = ECORE_FILTER_ADD;
-	ether_addr_copy(mac_addr, (struct ether_addr *)&ucast.mac);
-	rc = ecore_filter_ucast_cmd(edev, &ucast, ECORE_SPQ_MODE_CB, NULL);
-	if (rc != 0)
-		DP_ERR(edev, "Unable to add new default mac\n");
-	else
-		ether_addr_copy(mac_addr, &qdev->primary_mac);
+	qede_mac_addr_add(eth_dev, mac_addr, 0, 0);
 }
 
 static void qede_config_accept_any_vlan(struct qede_dev *qdev, bool action)
@@ -913,10 +889,6 @@ static int qede_dev_configure(struct rte_eth_dev *eth_dev)
 
 	SLIST_INIT(&qdev->vlan_list_head);
 
-	/* Add primary mac for PF */
-	if (IS_PF(edev))
-		qede_mac_addr_set(eth_dev, &qdev->primary_mac);
-
 	/* Enable VLAN offloads by default */
 	qede_vlan_offload_set(eth_dev, ETH_VLAN_STRIP_MASK  |
 				       ETH_VLAN_FILTER_MASK |
-- 
1.9.0

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

* [dpdk-stable] patch 'net/qede: fix fastpath rings reset phase' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (110 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/qede: fix default MAC address handling' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/qede: fix FW version string for VF' " Yuanhan Liu
                   ` (43 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Harish Patil; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From ce3aec1b0ba595d72c17a8dc31d1a7a82da3ba78 Mon Sep 17 00:00:00 2001
From: Harish Patil <harish.patil@cavium.com>
Date: Tue, 25 Apr 2017 00:28:37 -0700
Subject: [PATCH] net/qede: fix fastpath rings reset phase

[ upstream commit b3fb8c5ea03518be598f3aafa87c51df66702a6a ]

Perform reset of the fastpath RX/TX rings after stopping device port and
not while starting the ports.

Fixes: cfe28a988565 ("net/qede: support unequal number of Rx/Tx queues")

Signed-off-by: Harish Patil <harish.patil@cavium.com>
---
 drivers/net/qede/qede_rxtx.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/net/qede/qede_rxtx.c b/drivers/net/qede/qede_rxtx.c
index 7919099..e7cb3fd 100644
--- a/drivers/net/qede/qede_rxtx.c
+++ b/drivers/net/qede/qede_rxtx.c
@@ -1352,10 +1352,6 @@ int qede_dev_start(struct rte_eth_dev *eth_dev)
 	/* Bring-up the link */
 	qede_dev_set_link_state(eth_dev, true);
 
-	/* Reset ring */
-	if (qede_reset_fp_rings(qdev))
-		return -ENOMEM;
-
 	/* Start/resume traffic */
 	qdev->ops->fastpath_start(edev);
 
@@ -1524,6 +1520,7 @@ int qede_reset_fp_rings(struct qede_dev *qdev)
 			}
 		}
 	}
+	qede_reset_fp_rings(qdev);
 
 	return 0;
 }
-- 
1.9.0

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

* [dpdk-stable] patch 'net/qede: fix FW version string for VF' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (111 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/qede: fix fastpath rings reset phase' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25 17:15   ` Mody, Rasesh
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/nfp: fix releasing muti-segment mbufs' " Yuanhan Liu
                   ` (42 subsequent siblings)
  155 siblings, 1 reply; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Rasesh Mody; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 260fe254b95430d7e588f632570190e45985130c Mon Sep 17 00:00:00 2001
From: Rasesh Mody <rasesh.mody@cavium.com>
Date: Tue, 25 Apr 2017 00:28:42 -0700
Subject: [PATCH] net/qede: fix FW version string for VF

[ upstream commit 738f56d41ab56285187eafc5f10b3047c5ded06f ]

In SRIOV testing, print adapter info shows firmware version used by PF,
this patch provides fix to populate correct firmware version used by VF.

Fixes: 86a2265e59d7 ("qede: add SRIOV support")

Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
---
 drivers/net/qede/qede_main.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/net/qede/qede_main.c b/drivers/net/qede/qede_main.c
index 8a4d68a..c42d8f5 100644
--- a/drivers/net/qede/qede_main.c
+++ b/drivers/net/qede/qede_main.c
@@ -330,11 +330,12 @@ qed_fill_dev_info(struct ecore_dev *edev, struct qed_dev_info *dev_info)
 	rte_memcpy(&dev_info->hw_mac, &edev->hwfns[0].hw_info.hw_mac_addr,
 	       ETHER_ADDR_LEN);
 
+	dev_info->fw_major = FW_MAJOR_VERSION;
+	dev_info->fw_minor = FW_MINOR_VERSION;
+	dev_info->fw_rev = FW_REVISION_VERSION;
+	dev_info->fw_eng = FW_ENGINEERING_VERSION;
+
 	if (IS_PF(edev)) {
-		dev_info->fw_major = FW_MAJOR_VERSION;
-		dev_info->fw_minor = FW_MINOR_VERSION;
-		dev_info->fw_rev = FW_REVISION_VERSION;
-		dev_info->fw_eng = FW_ENGINEERING_VERSION;
 		dev_info->mf_mode = edev->mf_mode;
 		dev_info->tx_switching = false;
 	} else {
-- 
1.9.0

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

* [dpdk-stable] patch 'net/nfp: fix releasing muti-segment mbufs' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (112 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/qede: fix FW version string for VF' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/ixgbe: remove useless item type check' " Yuanhan Liu
                   ` (41 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Alejandro Lucero; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 0aba984ea635cd555bf5b6165adf663c7105a723 Mon Sep 17 00:00:00 2001
From: Alejandro Lucero <alejandro.lucero@netronome.com>
Date: Wed, 26 Apr 2017 11:27:07 +0100
Subject: [PATCH] net/nfp: fix releasing muti-segment mbufs

[ upstream commit aaef1010af2dc14ca2e3b5be554169a486127700 ]

If segments are used, just mbufs previously linked to head descriptor
of a mbuf chain are released. Other Tx descriptor are used for the
mbuf chain but they keep their linked mbufs without releasing them.

It is not a fatal issue because sooner or later those descriptors will
be head descriptors or just used for a single mbuf packet, then those
linked mbufs will be released.

However, this leads to apps needing bigger mbufs pools and some
confusion about memory requirements. Indeed, because larger pools, some
performance impact could also be expected due to cache misses.

With this patch all Tx descriptors will release linked mbufs inside the
xmit function, and rte_pktmbuf_seg_free is used instead of
rte_pktmbuf_free.

Fixes: 142854c62134 ("nfp: fix freeing multi-mbuf packets")

Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
---
 drivers/net/nfp/nfp_net.c | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
index d1e6eac..04942b7 100644
--- a/drivers/net/nfp/nfp_net.c
+++ b/drivers/net/nfp/nfp_net.c
@@ -2120,18 +2120,20 @@ nfp_net_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 		 */
 		pkt_size = pkt->pkt_len;
 
-		/* Releasing mbuf which was prefetched above */
-		if (*lmbuf)
-			rte_pktmbuf_free(*lmbuf);
-		/*
-		 * Linking mbuf with descriptor for being released
-		 * next time descriptor is used
-		 */
-		*lmbuf = pkt;
-
 		while (pkt_size) {
 			/* Copying TSO, VLAN and cksum info */
 			*txds = txd;
+
+			/* Releasing mbuf used by this descriptor previously*/
+			if (*lmbuf)
+				rte_pktmbuf_free_seg(*lmbuf);
+
+			/*
+			 * Linking mbuf with descriptor for being released
+			 * next time descriptor is used
+			 */
+			*lmbuf = pkt;
+
 			dma_size = pkt->data_len;
 			dma_addr = rte_mbuf_data_dma_addr(pkt);
 			PMD_TX_LOG(DEBUG, "Working with mbuf at dma address:"
@@ -2159,6 +2161,7 @@ nfp_net_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 			}
 			/* Referencing next free TX descriptor */
 			txds = &txq->txds[txq->wr_p];
+			lmbuf = &txq->txbufs[txq->wr_p].mbuf;
 			issued_descs++;
 		}
 		i++;
-- 
1.9.0

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

* [dpdk-stable] patch 'net/ixgbe: remove useless item type check' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (113 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/nfp: fix releasing muti-segment mbufs' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/ixgbe: fix type check for flow type' " Yuanhan Liu
                   ` (40 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Wei Zhao; +Cc: Yuanhan Liu, Wenzhuo Lu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 8983b1e775af656ba9ebd74ccb7036e5410bd94b Mon Sep 17 00:00:00 2001
From: Wei Zhao <wei.zhao1@intel.com>
Date: Thu, 27 Apr 2017 14:34:05 +0800
Subject: [PATCH] net/ixgbe: remove useless item type check

[ upstream commit 3d54a4d9cec1df1fa88fdffeda74d948fc1c2a6a ]

Remove a useless item type check for fdir flow rule.

Fixes: 11777435c72 ("net/ixgbe: parse flow director filter")

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 drivers/net/ixgbe/ixgbe_flow.c | 19 +------------------
 1 file changed, 1 insertion(+), 18 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_flow.c b/drivers/net/ixgbe/ixgbe_flow.c
index 9f9c91c..78a62e0 100644
--- a/drivers/net/ixgbe/ixgbe_flow.c
+++ b/drivers/net/ixgbe/ixgbe_flow.c
@@ -2336,27 +2336,10 @@ ixgbe_parse_fdir_filter_tunnel(const struct rte_flow_attr *attr,
 		rule->mask.vlan_tci_mask &= rte_cpu_to_be_16(0xEFFF);
 		/* More than one tags are not supported. */
 
-		/**
-		 * Check if the next not void item is not vlan.
-		 */
-		index++;
-		NEXT_ITEM_OF_PATTERN(item, pattern, index);
-		if (item->type == RTE_FLOW_ITEM_TYPE_VLAN) {
-			memset(rule, 0, sizeof(struct ixgbe_fdir_rule));
-			rte_flow_error_set(error, EINVAL,
-				RTE_FLOW_ERROR_TYPE_ITEM,
-				item, "Not supported by fdir filter");
-			return -rte_errno;
-		} else if (item->type != RTE_FLOW_ITEM_TYPE_END) {
-			memset(rule, 0, sizeof(struct ixgbe_fdir_rule));
-			rte_flow_error_set(error, EINVAL,
-				RTE_FLOW_ERROR_TYPE_ITEM,
-				item, "Not supported by fdir filter");
-			return -rte_errno;
-		}
 		/* check if the next not void item is END */
 		index++;
 		NEXT_ITEM_OF_PATTERN(item, pattern, index);
+
 		if (item->type != RTE_FLOW_ITEM_TYPE_END) {
 			memset(rule, 0, sizeof(struct ixgbe_fdir_rule));
 			rte_flow_error_set(error, EINVAL,
-- 
1.9.0

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

* [dpdk-stable] patch 'net/ixgbe: fix type check for flow type' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (114 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/ixgbe: remove useless item type check' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/bonding: fix updating slave link status' " Yuanhan Liu
                   ` (39 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Wei Zhao; +Cc: Yuanhan Liu, Wenzhuo Lu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 92b350ea77b7dc5975431e5b331364f4a053d276 Mon Sep 17 00:00:00 2001
From: Wei Zhao <wei.zhao1@intel.com>
Date: Thu, 27 Apr 2017 14:34:06 +0800
Subject: [PATCH] net/ixgbe: fix type check for flow type

[ upstream commit 0e2fa44641bd0a7c6cbc5302663358fe5f31e3a8 ]

The type check for flow_type should be IXGBE_ATR_FLOW_TYPE_IPV4
in special card not RTE_ETH_FLOW_NONFRAG_IPV4_OTHER.

Fixes: dc0c16105d2 ("ixgbe: fix X550 flow director check")

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 drivers/net/ixgbe/ixgbe_fdir.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_fdir.c b/drivers/net/ixgbe/ixgbe_fdir.c
index 3b9d60c..d6e48e9 100644
--- a/drivers/net/ixgbe/ixgbe_fdir.c
+++ b/drivers/net/ixgbe/ixgbe_fdir.c
@@ -1232,7 +1232,7 @@ ixgbe_fdir_filter_program(struct rte_eth_dev *dev,
 
 	/*
 	 * Sanity check for x550.
-	 * When adding a new filter with flow type set to IPv4-other,
+	 * When adding a new filter with flow type set to IPv4,
 	 * the flow director mask should be configed before,
 	 * and the L4 protocol and ports are masked.
 	 */
@@ -1241,11 +1241,11 @@ ixgbe_fdir_filter_program(struct rte_eth_dev *dev,
 	     hw->mac.type == ixgbe_mac_X550EM_x ||
 	     hw->mac.type == ixgbe_mac_X550EM_a) &&
 	    (rule->ixgbe_fdir.formatted.flow_type ==
-	     RTE_ETH_FLOW_NONFRAG_IPV4_OTHER) &&
+	     IXGBE_ATR_FLOW_TYPE_IPV4) &&
 	    (info->mask.src_port_mask != 0 ||
 	     info->mask.dst_port_mask != 0)) {
 		PMD_DRV_LOG(ERR, "By this device,"
-			    " IPv4-other is not supported without"
+			    " IPv4 is not supported without"
 			    " L4 protocol and ports masked!");
 		return -ENOTSUP;
 	}
-- 
1.9.0

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

* [dpdk-stable] patch 'net/bonding: fix updating slave link status' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (115 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/ixgbe: fix type check for flow type' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/ixgbe: fix ntuple filter for SCTP' " Yuanhan Liu
                   ` (38 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Wei Wang; +Cc: Yuanhan Liu, Declan Doherty, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 4901833795ebaf85e7977b8437b3d4faac57a223 Mon Sep 17 00:00:00 2001
From: Wei Wang <lnykww@gmail.com>
Date: Tue, 25 Apr 2017 14:30:49 +0800
Subject: [PATCH] net/bonding: fix updating slave link status

[ upstream commit 210903803f6e0c31f398b26fe337eb5a729ca72b ]

We need to update dev->data->dev_link before handling LSC event.
Otherwise it will still have the initial value after the startup of
the program before interrupt callback was executed.

Fixes: 414b202343ce ("bonding: fix initial link status of slave")

Signed-off-by: Wei Wang <lnykww@gmail.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
---
 drivers/net/bonding/rte_eth_bond_pmd.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index 8abcd07..8e9fd41 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -1423,9 +1423,11 @@ slave_configure(struct rte_eth_dev *bonded_eth_dev,
 	}
 
 	/* If lsc interrupt is set, check initial slave's link status */
-	if (slave_eth_dev->data->dev_flags & RTE_ETH_DEV_INTR_LSC)
+	if (slave_eth_dev->data->dev_flags & RTE_ETH_DEV_INTR_LSC) {
+		slave_eth_dev->dev_ops->link_update(slave_eth_dev, 0);
 		bond_ethdev_lsc_event_callback(slave_eth_dev->data->port_id,
 			RTE_ETH_EVENT_INTR_LSC, &bonded_eth_dev->data->port_id);
+	}
 
 	return 0;
 }
-- 
1.9.0

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

* [dpdk-stable] patch 'net/ixgbe: fix ntuple filter for SCTP' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (116 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/bonding: fix updating slave link status' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/virtio: fix MSI-X for modern devices' " Yuanhan Liu
                   ` (37 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Wei Zhao; +Cc: Yuanhan Liu, Wenzhuo Lu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From fac880ae92f3fe5e7f6864262c74eae06dcb2397 Mon Sep 17 00:00:00 2001
From: Wei Zhao <wei.zhao1@intel.com>
Date: Fri, 28 Apr 2017 11:40:18 +0800
Subject: [PATCH] net/ixgbe: fix ntuple filter for SCTP

[ upstream commit cec7ddd29015b4faf364cba64129dfaed8408c24 ]

Add the support of RTE_FLOW_ITEM_TYPE_SCTP type packet for
ixgbe ntuple filter.

Fixes: 672be56d76a ("net/ixgbe: parse n-tuple filter")

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 drivers/net/ixgbe/ixgbe_flow.c | 34 ++++++++++++++++++++++++++++++----
 1 file changed, 30 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_flow.c b/drivers/net/ixgbe/ixgbe_flow.c
index 78a62e0..68c9715 100644
--- a/drivers/net/ixgbe/ixgbe_flow.c
+++ b/drivers/net/ixgbe/ixgbe_flow.c
@@ -219,8 +219,8 @@ const struct rte_flow_ops ixgbe_flow_ops = {
  * IPV4		src_addr 192.168.1.20	0xFFFFFFFF
  *		dst_addr 192.167.3.50	0xFFFFFFFF
  *		next_proto_id	17	0xFF
- * UDP/TCP	src_port	80	0xFFFF
- *		dst_port	80	0xFFFF
+ * UDP/TCP/	src_port	80	0xFFFF
+ * SCTP		dst_port	80	0xFFFF
  * END
  * other members in mask and spec should set to 0x00.
  * item->last should be NULL.
@@ -240,6 +240,8 @@ cons_parse_ntuple_filter(const struct rte_flow_attr *attr,
 	const struct rte_flow_item_tcp *tcp_mask;
 	const struct rte_flow_item_udp *udp_spec;
 	const struct rte_flow_item_udp *udp_mask;
+	const struct rte_flow_item_sctp *sctp_spec;
+	const struct rte_flow_item_sctp *sctp_mask;
 	uint32_t index;
 
 	if (!pattern) {
@@ -351,7 +353,8 @@ cons_parse_ntuple_filter(const struct rte_flow_attr *attr,
 	index++;
 	NEXT_ITEM_OF_PATTERN(item, pattern, index);
 	if (item->type != RTE_FLOW_ITEM_TYPE_TCP &&
-	    item->type != RTE_FLOW_ITEM_TYPE_UDP) {
+	    item->type != RTE_FLOW_ITEM_TYPE_UDP &&
+	    item->type != RTE_FLOW_ITEM_TYPE_SCTP) {
 		memset(filter, 0, sizeof(struct rte_eth_ntuple_filter));
 		rte_flow_error_set(error, EINVAL,
 			RTE_FLOW_ERROR_TYPE_ITEM,
@@ -417,7 +420,7 @@ cons_parse_ntuple_filter(const struct rte_flow_attr *attr,
 		filter->dst_port  = tcp_spec->hdr.dst_port;
 		filter->src_port  = tcp_spec->hdr.src_port;
 		filter->tcp_flags = tcp_spec->hdr.tcp_flags;
-	} else {
+	} else if (item->type == RTE_FLOW_ITEM_TYPE_UDP) {
 		udp_mask = (const struct rte_flow_item_udp *)item->mask;
 
 		/**
@@ -440,6 +443,29 @@ cons_parse_ntuple_filter(const struct rte_flow_attr *attr,
 		udp_spec = (const struct rte_flow_item_udp *)item->spec;
 		filter->dst_port = udp_spec->hdr.dst_port;
 		filter->src_port = udp_spec->hdr.src_port;
+	} else {
+		sctp_mask = (const struct rte_flow_item_sctp *)item->mask;
+
+		/**
+		 * Only support src & dst ports,
+		 * others should be masked.
+		 */
+		if (sctp_mask->hdr.tag ||
+		    sctp_mask->hdr.cksum) {
+			memset(filter, 0,
+				sizeof(struct rte_eth_ntuple_filter));
+			rte_flow_error_set(error, EINVAL,
+				RTE_FLOW_ERROR_TYPE_ITEM,
+				item, "Not supported by ntuple filter");
+			return -rte_errno;
+		}
+
+		filter->dst_port_mask = sctp_mask->hdr.dst_port;
+		filter->src_port_mask = sctp_mask->hdr.src_port;
+
+		sctp_spec = (const struct rte_flow_item_sctp *)item->spec;
+		filter->dst_port = sctp_spec->hdr.dst_port;
+		filter->src_port = sctp_spec->hdr.src_port;
 	}
 
 	/* check if the next not void item is END */
-- 
1.9.0

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

* [dpdk-stable] patch 'net/virtio: fix MSI-X for modern devices' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (117 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/ixgbe: fix ntuple filter for SCTP' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/virtio: fix LSC setting' " Yuanhan Liu
                   ` (36 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Jianfeng Tan; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 3a241be81ad8c61a074b85c0a29dbeab7c20cf16 Mon Sep 17 00:00:00 2001
From: Jianfeng Tan <jianfeng.tan@intel.com>
Date: Thu, 27 Apr 2017 07:35:36 +0000
Subject: [PATCH] net/virtio: fix MSI-X for modern devices

[ upstream commit 554b6d3ef90d2c65a11523e72d768945baeebd41 ]

The field, use_msix, in struct virtio_hw is not updated for modern
device, and is always zero. And now we depend on the status feature
and MSI-X to report LSC support (which is also not a correct
behavior). As a result, LSC is always disabled for modern devices.

To fix this, we just recognize MSI-X capability when going through
capability list, and update the info in virtio.

Fixes: 6ba1f63b5ab0 ("virtio: support specification 1.0")

Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
---
 drivers/net/virtio/virtio_pci.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/virtio/virtio_pci.c b/drivers/net/virtio/virtio_pci.c
index b767c03..ecad46e 100644
--- a/drivers/net/virtio/virtio_pci.c
+++ b/drivers/net/virtio/virtio_pci.c
@@ -50,6 +50,7 @@
  */
 #define PCI_CAPABILITY_LIST	0x34
 #define PCI_CAP_ID_VNDR		0x09
+#define PCI_CAP_ID_MSIX		0x11
 
 /*
  * The remaining space is defined by each driver as the per-driver
@@ -650,6 +651,9 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_hw *hw)
 			break;
 		}
 
+		if (cap.cap_vndr == PCI_CAP_ID_MSIX)
+			hw->use_msix = 1;
+
 		if (cap.cap_vndr != PCI_CAP_ID_VNDR) {
 			PMD_INIT_LOG(DEBUG,
 				"[%2x] skipping non VNDR cap id: %02x",
-- 
1.9.0

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

* [dpdk-stable] patch 'net/virtio: fix LSC setting' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (118 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/virtio: fix MSI-X for modern devices' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/virtio: fix crash when closing twice' " Yuanhan Liu
                   ` (35 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Jianfeng Tan; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From c4ed5da290ceb307b5f34449a5571b1294f27c5d Mon Sep 17 00:00:00 2001
From: Jianfeng Tan <jianfeng.tan@intel.com>
Date: Thu, 27 Apr 2017 07:35:37 +0000
Subject: [PATCH] net/virtio: fix LSC setting

[ upstream commit a60a0c15076224b664668c09a96922f9a2c6b142 ]

LSC flag is set in several places, but only the last one takes effect;
so we remove the redundant ones and just keep the last one.

This also fixes the bug that dev_flags being overwritten by
rte_eth_copy_pci_info(), which resets it to 0 unconditionally.

Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
---
 drivers/net/virtio/virtio_ethdev.c |  7 ++-----
 drivers/net/virtio/virtio_pci.c    | 21 ++-------------------
 drivers/net/virtio/virtio_pci.h    |  3 +--
 3 files changed, 5 insertions(+), 26 deletions(-)

diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index 66770fc..4c58ee2 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -1338,6 +1338,7 @@ virtio_init_device(struct rte_eth_dev *eth_dev, uint64_t req_features)
 		rte_eth_copy_pci_info(eth_dev, pci_dev);
 	}
 
+	eth_dev->data->dev_flags = RTE_ETH_DEV_DETACHABLE;
 	/* If host does not support both status and MSI-X then disable LSC */
 	if (vtpci_with_feature(hw, VIRTIO_NET_F_STATUS) && hw->use_msix)
 		eth_dev->data->dev_flags |= RTE_ETH_DEV_INTR_LSC;
@@ -1480,7 +1481,6 @@ int
 eth_virtio_dev_init(struct rte_eth_dev *eth_dev)
 {
 	struct virtio_hw *hw = eth_dev->data->dev_private;
-	uint32_t dev_flags = RTE_ETH_DEV_DETACHABLE;
 	int ret;
 
 	RTE_BUILD_BUG_ON(RTE_PKTMBUF_HEADROOM < sizeof(struct virtio_net_hdr_mrg_rxbuf));
@@ -1520,14 +1520,11 @@ eth_virtio_dev_init(struct rte_eth_dev *eth_dev)
 	 * virtio_user_eth_dev_alloc() before eth_virtio_dev_init() is called.
 	 */
 	if (!hw->virtio_user_dev) {
-		ret = vtpci_init(RTE_DEV_TO_PCI(eth_dev->device), hw,
-				 &dev_flags);
+		ret = vtpci_init(RTE_DEV_TO_PCI(eth_dev->device), hw);
 		if (ret)
 			return ret;
 	}
 
-	eth_dev->data->dev_flags = dev_flags;
-
 	/* reset device and negotiate default features */
 	ret = virtio_init_device(eth_dev, VIRTIO_PMD_DEFAULT_GUEST_FEATURES);
 	if (ret < 0)
diff --git a/drivers/net/virtio/virtio_pci.c b/drivers/net/virtio/virtio_pci.c
index ecad46e..1e17757 100644
--- a/drivers/net/virtio/virtio_pci.c
+++ b/drivers/net/virtio/virtio_pci.c
@@ -305,21 +305,6 @@ legacy_virtio_has_msix(const struct rte_pci_addr *loc __rte_unused)
 }
 #endif
 
-static int
-legacy_virtio_resource_init(struct rte_pci_device *pci_dev,
-			    struct virtio_hw *hw, uint32_t *dev_flags)
-{
-	if (rte_eal_pci_ioport_map(pci_dev, 0, VTPCI_IO(hw)) < 0)
-		return -1;
-
-	if (pci_dev->intr_handle.type != RTE_INTR_HANDLE_UNKNOWN)
-		*dev_flags |= RTE_ETH_DEV_INTR_LSC;
-	else
-		*dev_flags &= ~RTE_ETH_DEV_INTR_LSC;
-
-	return 0;
-}
-
 const struct virtio_pci_ops legacy_ops = {
 	.read_dev_cfg	= legacy_read_dev_config,
 	.write_dev_cfg	= legacy_write_dev_config,
@@ -712,8 +697,7 @@ next:
  * Return 0 on success.
  */
 int
-vtpci_init(struct rte_pci_device *dev, struct virtio_hw *hw,
-	   uint32_t *dev_flags)
+vtpci_init(struct rte_pci_device *dev, struct virtio_hw *hw)
 {
 	/*
 	 * Try if we can succeed reading virtio pci caps, which exists
@@ -724,12 +708,11 @@ vtpci_init(struct rte_pci_device *dev, struct virtio_hw *hw,
 		PMD_INIT_LOG(INFO, "modern virtio pci detected.");
 		virtio_hw_internal[hw->port_id].vtpci_ops = &modern_ops;
 		hw->modern = 1;
-		*dev_flags |= RTE_ETH_DEV_INTR_LSC;
 		return 0;
 	}
 
 	PMD_INIT_LOG(INFO, "trying with legacy virtio pci.");
-	if (legacy_virtio_resource_init(dev, hw, dev_flags) < 0) {
+	if (rte_eal_pci_ioport_map(dev, 0, VTPCI_IO(hw)) < 0) {
 		if (dev->kdrv == RTE_KDRV_UNKNOWN &&
 		    (!dev->device.devargs ||
 		     dev->device.devargs->type !=
diff --git a/drivers/net/virtio/virtio_pci.h b/drivers/net/virtio/virtio_pci.h
index 1302556..7c918e3 100644
--- a/drivers/net/virtio/virtio_pci.h
+++ b/drivers/net/virtio/virtio_pci.h
@@ -317,8 +317,7 @@ vtpci_with_feature(struct virtio_hw *hw, uint64_t bit)
 /*
  * Function declaration from virtio_pci.c
  */
-int vtpci_init(struct rte_pci_device *, struct virtio_hw *,
-	       uint32_t *dev_flags);
+int vtpci_init(struct rte_pci_device *dev, struct virtio_hw *hw);
 void vtpci_reset(struct virtio_hw *);
 
 void vtpci_reinit_complete(struct virtio_hw *);
-- 
1.9.0

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

* [dpdk-stable] patch 'net/virtio: fix crash when closing twice' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (119 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/virtio: fix LSC setting' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'crypto/openssl: fix AAD capabilities for AES-GCM' " Yuanhan Liu
                   ` (34 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Huanle Han; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From b0c0b80f6f6b624b5160bcd516cddf20f47c7d5d Mon Sep 17 00:00:00 2001
From: Huanle Han <hanxueluo@gmail.com>
Date: Mon, 20 Feb 2017 22:04:46 +0800
Subject: [PATCH] net/virtio: fix crash when closing twice

[ upstream commit 0e78cfddc0851a0a12da0257758fe011ec507495 ]

This commit fixs segment fault when rte_eth_dev_close() is called on
a virtio dev more than once.  Assigning zero after free to avoids
freed memory to be accessed again.

Fixes: 69c80d4ef89b ("net/virtio: allocate queue at init stage")

Signed-off-by: Huanle Han <hanxueluo@gmail.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
---
 drivers/net/virtio/virtio_ethdev.c | 5 +++++
 lib/librte_ether/rte_ethdev.c      | 2 ++
 2 files changed, 7 insertions(+)

diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index 4c58ee2..d42a6ea 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -545,6 +545,9 @@ virtio_free_queues(struct virtio_hw *hw)
 	int queue_type;
 	uint16_t i;
 
+	if (hw->vqs == NULL)
+		return;
+
 	for (i = 0; i < nr_vq; i++) {
 		vq = hw->vqs[i];
 		if (!vq)
@@ -563,9 +566,11 @@ virtio_free_queues(struct virtio_hw *hw)
 		}
 
 		rte_free(vq);
+		hw->vqs[i] = NULL;
 	}
 
 	rte_free(hw->vqs);
+	hw->vqs = NULL;
 }
 
 static int
diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index eb0a94a..24f82dc 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -1074,8 +1074,10 @@ rte_eth_dev_close(uint8_t port_id)
 	dev->data->dev_started = 0;
 	(*dev->dev_ops->dev_close)(dev);
 
+	dev->data->nb_rx_queues = 0;
 	rte_free(dev->data->rx_queues);
 	dev->data->rx_queues = NULL;
+	dev->data->nb_tx_queues = 0;
 	rte_free(dev->data->tx_queues);
 	dev->data->tx_queues = NULL;
 }
-- 
1.9.0

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

* [dpdk-stable] patch 'crypto/openssl: fix AAD capabilities for AES-GCM' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (120 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/virtio: fix crash when closing twice' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'crypto/openssl: fix AES-GCM capability' " Yuanhan Liu
                   ` (33 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Arek Kusztal; +Cc: Yuanhan Liu, Pablo de Lara, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From fd3221facac95dfa0cc721a431bca127dcdbb5c3 Mon Sep 17 00:00:00 2001
From: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Date: Tue, 25 Apr 2017 15:40:48 +0100
Subject: [PATCH] crypto/openssl: fix AAD capabilities for AES-GCM

[ upstream commit 0625598a11414c65c8f280df19b81d5e23fe46ae ]

Fix aad capabilities for AES-GCM authtentication, aad is changed from
range 8-12 to 0-65535

Fixes: 8a9867a635c0 ("crypto/openssl: rename libcrypto to openssl")

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 drivers/crypto/openssl/rte_openssl_pmd_ops.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/crypto/openssl/rte_openssl_pmd_ops.c b/drivers/crypto/openssl/rte_openssl_pmd_ops.c
index 875550c..8ab384e 100644
--- a/drivers/crypto/openssl/rte_openssl_pmd_ops.c
+++ b/drivers/crypto/openssl/rte_openssl_pmd_ops.c
@@ -350,9 +350,9 @@ static const struct rte_cryptodev_capabilities openssl_pmd_capabilities[] = {
 					.increment = 0
 				},
 				.aad_size = {
-					.min = 8,
-					.max = 12,
-					.increment = 4
+					.min = 0,
+					.max = 65535,
+					.increment = 1
 				}
 			}, }
 		}, }
-- 
1.9.0

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

* [dpdk-stable] patch 'crypto/openssl: fix AES-GCM capability' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (121 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'crypto/openssl: fix AAD capabilities for AES-GCM' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'cryptodev: fix API AAD comments' " Yuanhan Liu
                   ` (32 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Pablo de Lara; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 28761542f247502099c6862569f8b119cbbd3891 Mon Sep 17 00:00:00 2001
From: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Date: Wed, 26 Apr 2017 14:33:03 +0100
Subject: [PATCH] crypto/openssl: fix AES-GCM capability

[ upstream commit ca79b7f332760fbebca892534e7de62e69a12eb7 ]

Crypto OpenSSL PMD supports 16, 24 and 32 byte keys,
for AES GCM.

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

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 drivers/crypto/openssl/rte_openssl_pmd_ops.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/crypto/openssl/rte_openssl_pmd_ops.c b/drivers/crypto/openssl/rte_openssl_pmd_ops.c
index 8ab384e..139fed1 100644
--- a/drivers/crypto/openssl/rte_openssl_pmd_ops.c
+++ b/drivers/crypto/openssl/rte_openssl_pmd_ops.c
@@ -366,8 +366,8 @@ static const struct rte_cryptodev_capabilities openssl_pmd_capabilities[] = {
 				.block_size = 16,
 				.key_size = {
 					.min = 16,
-					.max = 16,
-					.increment = 0
+					.max = 32,
+					.increment = 8
 				},
 				.iv_size = {
 					.min = 12,
-- 
1.9.0

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

* [dpdk-stable] patch 'cryptodev: fix API AAD comments' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (122 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'crypto/openssl: fix AES-GCM capability' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'examples/l2fwd-crypto: fix packets array index' " Yuanhan Liu
                   ` (31 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Arek Kusztal; +Cc: Yuanhan Liu, Fiona Trahe, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 67ac73ff75ab3302c1529b276e6e1f3b92490aca Mon Sep 17 00:00:00 2001
From: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Date: Tue, 25 Apr 2017 15:33:51 +0100
Subject: [PATCH] cryptodev: fix API AAD comments

[ upstream commit 2385b29362acaf526feb215349bf719d3ee0e132 ]

Fix comments concerning aad sizes in Cryptodev API.

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

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
---
 lib/librte_cryptodev/rte_crypto_sym.h | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/lib/librte_cryptodev/rte_crypto_sym.h b/lib/librte_cryptodev/rte_crypto_sym.h
index c782588..2bcc477 100644
--- a/lib/librte_cryptodev/rte_crypto_sym.h
+++ b/lib/librte_cryptodev/rte_crypto_sym.h
@@ -305,8 +305,8 @@ struct rte_crypto_auth_xform {
 
 	uint32_t add_auth_data_length;
 	/**< The length of the additional authenticated data (AAD) in bytes.
-	 * The maximum permitted value is 240 bytes, unless otherwise specified
-	 * below.
+	 * The maximum permitted value is 65535 (2^16 - 1) bytes, unless
+	 * otherwise specified below.
 	 *
 	 * This field must be specified when the hash algorithm is one of the
 	 * following:
@@ -598,7 +598,7 @@ struct rte_crypto_sym_op {
 			 * set up for the session in the @ref
 			 * rte_crypto_auth_xform structure as part of the @ref
 			 * rte_cryptodev_sym_session_create function call.
-			 * This length must not exceed 240 bytes.
+			 * This length must not exceed 65535 (2^16-1) bytes.
 			 *
 			 * Specifically for CCM (@ref RTE_CRYPTO_AUTH_AES_CCM),
 			 * the caller should setup this field as follows:
@@ -631,7 +631,10 @@ struct rte_crypto_sym_op {
 			 * operation, this field is used to pass plaintext.
 			 */
 			phys_addr_t phys_addr;	/**< physical address */
-			uint16_t length;	/**< Length of digest */
+			uint16_t length;
+			/**< Length of additional authenticated data (AAD)
+			 * in bytes
+			 */
 		} aad;
 		/**< Additional authentication parameters */
 	} auth;
-- 
1.9.0

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

* [dpdk-stable] patch 'examples/l2fwd-crypto: fix packets array index' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (123 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'cryptodev: fix API AAD comments' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'crypto/qat: fix dequeue statistics' " Yuanhan Liu
                   ` (30 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Pablo de Lara; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 7780a6cf87da7717a71ed03903d8274162f6c8d6 Mon Sep 17 00:00:00 2001
From: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Date: Tue, 25 Apr 2017 16:32:36 +0100
Subject: [PATCH] examples/l2fwd-crypto: fix packets array index

[ upstream commit d7acf6ba43b43dde40d13681738c6940049555cb ]

Fixes: c0f87eb5252b ("cryptodev: change burst API to be crypto op oriented")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 examples/l2fwd-crypto/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/l2fwd-crypto/main.c b/examples/l2fwd-crypto/main.c
index 2b28e38..7849f50 100644
--- a/examples/l2fwd-crypto/main.c
+++ b/examples/l2fwd-crypto/main.c
@@ -833,7 +833,7 @@ l2fwd_main_loop(struct l2fwd_crypto_options *options)
 						ops_burst, nb_rx) !=
 								nb_rx) {
 					for (j = 0; j < nb_rx; j++)
-						rte_pktmbuf_free(pkts_burst[i]);
+						rte_pktmbuf_free(pkts_burst[j]);
 
 					nb_rx = 0;
 				}
-- 
1.9.0

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

* [dpdk-stable] patch 'crypto/qat: fix dequeue statistics' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (124 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'examples/l2fwd-crypto: fix packets array index' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'cryptodev: fix API digest length comments' " Yuanhan Liu
                   ` (29 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Gage Eads; +Cc: Yuanhan Liu, Fiona Trahe, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 0f319e4e9eed64febbaca503c8cdab47d217e587 Mon Sep 17 00:00:00 2001
From: Gage Eads <gage.eads@intel.com>
Date: Thu, 27 Apr 2017 10:31:17 -0500
Subject: [PATCH] crypto/qat: fix dequeue statistics

[ upstream commit 54402696f420b23a3521a53ddae28a1364cac084 ]

The QAT device's dequeued_count and dequeue_err_count stats were
incorrectly assigned the enqueued_count and enqueue_err_count values,
respectively.

Fixes: 1703e94ac5ce ("qat: add driver for QuickAssist devices")

Signed-off-by: Gage Eads <gage.eads@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
---
 drivers/crypto/qat/qat_crypto.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/crypto/qat/qat_crypto.c b/drivers/crypto/qat/qat_crypto.c
index 0764450..cef8c3d 100644
--- a/drivers/crypto/qat/qat_crypto.c
+++ b/drivers/crypto/qat/qat_crypto.c
@@ -1406,9 +1406,9 @@ void qat_crypto_sym_stats_get(struct rte_cryptodev *dev,
 		}
 
 		stats->enqueued_count += qp[i]->stats.enqueued_count;
-		stats->dequeued_count += qp[i]->stats.enqueued_count;
+		stats->dequeued_count += qp[i]->stats.dequeued_count;
 		stats->enqueue_err_count += qp[i]->stats.enqueue_err_count;
-		stats->dequeue_err_count += qp[i]->stats.enqueue_err_count;
+		stats->dequeue_err_count += qp[i]->stats.dequeue_err_count;
 	}
 }
 
-- 
1.9.0

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

* [dpdk-stable] patch 'cryptodev: fix API digest length comments' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (125 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'crypto/qat: fix dequeue statistics' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'app/testpmd: fix crash at mbuf pool creation' " Yuanhan Liu
                   ` (28 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Fiona Trahe; +Cc: Yuanhan Liu, Declan Doherty, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 91d29eb3d9c981e2b13ce5d4df70d62e4764f6de Mon Sep 17 00:00:00 2001
From: Fiona Trahe <fiona.trahe@intel.com>
Date: Tue, 25 Apr 2017 17:56:31 +0100
Subject: [PATCH] cryptodev: fix API digest length comments

[ upstream commit daf3c9152f54efa25244fc1f199c4fe8dc0ea999 ]

Fix misleading comments clarifying setting of digest length.

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

Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
---
 lib/librte_cryptodev/rte_crypto_sym.h | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/lib/librte_cryptodev/rte_crypto_sym.h b/lib/librte_cryptodev/rte_crypto_sym.h
index 2bcc477..14de089 100644
--- a/lib/librte_cryptodev/rte_crypto_sym.h
+++ b/lib/librte_cryptodev/rte_crypto_sym.h
@@ -296,11 +296,10 @@ struct rte_crypto_auth_xform {
 	 * this specifies the length of the digest to be compared for the
 	 * session.
 	 *
+	 * It is the caller's responsibility to ensure that the
+	 * digest length is compliant with the hash algorithm being used.
 	 * If the value is less than the maximum length allowed by the hash,
-	 * the result shall be truncated.  If the value is greater than the
-	 * maximum length allowed by the hash then an error will be generated
-	 * by *rte_cryptodev_sym_session_create* or by the
-	 * *rte_cryptodev_sym_enqueue_burst* if using session-less APIs.
+	 * the result shall be truncated.
 	 */
 
 	uint32_t add_auth_data_length;
@@ -583,7 +582,9 @@ struct rte_crypto_sym_op {
 			phys_addr_t phys_addr;
 			/**< Physical address of digest */
 			uint16_t length;
-			/**< Length of digest */
+			/**< Length of digest. This must be the same value as
+			 * @ref rte_crypto_auth_xform.digest_length.
+			 */
 		} digest; /**< Digest parameters */
 
 		struct {
-- 
1.9.0

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

* [dpdk-stable] patch 'app/testpmd: fix crash at mbuf pool creation' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (126 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'cryptodev: fix API digest length comments' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'app/testpmd: fix exit without freeing resources' " Yuanhan Liu
                   ` (27 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Olivier Matz; +Cc: Yuanhan Liu, Jingjing Wu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 177d64aa560f71b9c18ff4c8a4500a0cafc21382 Mon Sep 17 00:00:00 2001
From: Olivier Matz <olivier.matz@6wind.com>
Date: Mon, 24 Apr 2017 14:33:57 +0200
Subject: [PATCH] app/testpmd: fix crash at mbuf pool creation

[ upstream commit 3c1a5444d47c6c3e34c5c1a991c4a80835ba4f43 ]

Since
commit 999b2ee0fe45 ("app/testpmd: enable NUMA support by default"),
testpmd is started with numa enabled by default. This highlights a
floating point exception when started with --total-num-mbufs without any
port (division by 0). This bug was already triggered before this commit
if the --no-numa option was given.

This commit adds a check of the nb_ports value before doing the
division. By looking at this code, it appears that the creation of the
mbuf pool is not consistent for the number of mbufs depending on the
configuration. This is fixed in the next commit.

Fixes: b6ea6408fbc7 ("ethdev: store numa_node per device")

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
---
 app/test-pmd/testpmd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index fa19f8f..44611b2 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -573,7 +573,7 @@ init_config(void)
 		uint8_t i;
 		unsigned int nb_mbuf;
 
-		if (param_total_num_mbufs)
+		if (param_total_num_mbufs && nb_ports != 0)
 			nb_mbuf_per_pool = nb_mbuf_per_pool/nb_ports;
 
 		for (i = 0; i < max_socket; i++) {
-- 
1.9.0

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

* [dpdk-stable] patch 'app/testpmd: fix exit without freeing resources' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (127 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'app/testpmd: fix crash at mbuf pool creation' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'examples/performance-thread: fix build on FreeBSD 10.0' " Yuanhan Liu
                   ` (26 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Jiayu Hu; +Cc: Yuanhan Liu, Jianfeng Tan, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 9e8c1b80b4f66553a15ab8ddf3061a6cf900766e Mon Sep 17 00:00:00 2001
From: Jiayu Hu <jiayu.hu@intel.com>
Date: Fri, 28 Apr 2017 09:32:50 +0800
Subject: [PATCH] app/testpmd: fix exit without freeing resources

[ upstream commit 0de738cfc1489d99509640a90cb7cb0629347cb5 ]

When testpmd exits, it frees the acquired resources (e.g. stop ports).
However, when we terminate it by Ctrl-d, testpmd exits directly without
releasing the resources. In this patch, we fix this exit issue.

Fixes: af75078fece3 ("first public release")

Signed-off-by: Jiayu Hu <jiayu.hu@intel.com>
Reviewed-by: Jianfeng Tan <jianfeng.tan@intel.com>
---
 app/test-pmd/testpmd.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index 44611b2..d002b6a 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -2135,6 +2135,7 @@ main(int argc, char** argv)
 			start_packet_forwarding(0);
 		}
 		prompt();
+		pmd_test_exit();
 	} else
 #endif
 	{
-- 
1.9.0

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

* [dpdk-stable] patch 'examples/performance-thread: fix build on FreeBSD 10.0' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (128 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'app/testpmd: fix exit without freeing resources' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'examples/multi_process: fix timer update' " Yuanhan Liu
                   ` (25 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Yuanhan Liu, Pablo de Lara, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From a12d3c5e9bc520a466cd4c6fbd1ea51cfa65f45e Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Fri, 28 Apr 2017 11:18:15 +0100
Subject: [PATCH] examples/performance-thread: fix build on FreeBSD 10.0

[ upstream commit b7162fee8811461fb87dd9c5b843b3d1ba283e5c ]

While later releases in the FreeBSD 10 series have a CPU_COUNT macro
defined, FreeBSD 10.0 and 10.1 do not have this macro. Therefore we provide
a basic fallback implementation of the macro for platforms where it is not
defined.

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

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 examples/performance-thread/pthread_shim/pthread_shim.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/examples/performance-thread/pthread_shim/pthread_shim.c b/examples/performance-thread/pthread_shim/pthread_shim.c
index 7167311..113bafa 100644
--- a/examples/performance-thread/pthread_shim/pthread_shim.c
+++ b/examples/performance-thread/pthread_shim/pthread_shim.c
@@ -48,6 +48,21 @@
 
 #define POSIX_ERRNO(x)  (x)
 
+/* some releases of FreeBSD 10, e.g. 10.0, don't have CPU_COUNT macro */
+#ifndef CPU_COUNT
+#define CPU_COUNT(x) __cpu_count(x)
+
+static inline unsigned int
+__cpu_count(const rte_cpuset_t *cpuset)
+{
+	unsigned int i, count = 0;
+	for (i = 0; i < RTE_MAX_LCORE; i++)
+		if (CPU_ISSET(i, cpuset))
+			count++;
+	return count;
+}
+#endif
+
 /*
  * this flag determines at run time if we override pthread
  * calls and map then to equivalent lthread calls
-- 
1.9.0

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

* [dpdk-stable] patch 'examples/multi_process: fix timer update' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (129 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'examples/performance-thread: fix build on FreeBSD 10.0' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'examples/l3fwd-power: fix handling no Rx queue' " Yuanhan Liu
                   ` (24 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Zhiyong Yang; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 817d0977b02e7ec1d848a56e6edc1d506d9e680f Mon Sep 17 00:00:00 2001
From: Zhiyong Yang <zhiyong.yang@intel.com>
Date: Thu, 23 Feb 2017 10:00:58 +0800
Subject: [PATCH] examples/multi_process: fix timer update

[ upstream commit ab69581b74232b9e5cffd104672b0afb7096163a ]

To miss updating the variable prev_tsc in function l2fwd_main_loop()
The patch fixes it.

Fixes: e2366e74e029 ("examples: use buffered Tx")

Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
---
 examples/multi_process/l2fwd_fork/main.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/examples/multi_process/l2fwd_fork/main.c b/examples/multi_process/l2fwd_fork/main.c
index 2d951d9..6052c84 100644
--- a/examples/multi_process/l2fwd_fork/main.c
+++ b/examples/multi_process/l2fwd_fork/main.c
@@ -672,6 +672,8 @@ l2fwd_main_loop(void)
 					port_statistics[portid].tx += sent;
 
 			}
+
+			prev_tsc = cur_tsc;
 		}
 
 		/*
-- 
1.9.0

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

* [dpdk-stable] patch 'examples/l3fwd-power: fix handling no Rx queue' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (130 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'examples/multi_process: fix timer update' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'examples/l3fwd-power: fix Rx descriptor size' " Yuanhan Liu
                   ` (23 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Jingjing Wu; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 9f30524140d6768bc6b39e2a13ff663344e2e694 Mon Sep 17 00:00:00 2001
From: Jingjing Wu <jingjing.wu@intel.com>
Date: Fri, 28 Apr 2017 18:47:44 +0800
Subject: [PATCH] examples/l3fwd-power: fix handling no Rx queue

[ upstream commit ddc554ad284eed63d6333c28d06b6b0b8e8e75d3 ]

If the number of rx queues is zero, it is meaningless to enable
rx interrupt. This patch fixes it.

Fixes: aee3bc79cc34 ("examples/l3fwd-power: enable one-shot Rx interrupt and polling switch")

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
---
 examples/l3fwd-power/main.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
index 15b47c7..52aa5d3 100644
--- a/examples/l3fwd-power/main.c
+++ b/examples/l3fwd-power/main.c
@@ -1654,6 +1654,7 @@ main(int argc, char **argv)
 	uint32_t n_tx_queue, nb_lcores;
 	uint32_t dev_rxq_num, dev_txq_num;
 	uint8_t portid, nb_rx_queue, queue, socketid;
+	uint16_t org_rxq_intr = port_conf.intr_conf.rxq;
 
 	/* catch SIGINT and restore cpufreq governor to ondemand */
 	signal(SIGINT, signal_exit_now);
@@ -1714,8 +1715,13 @@ main(int argc, char **argv)
 			n_tx_queue = dev_txq_num;
 		printf("Creating queues: nb_rxq=%d nb_txq=%u... ",
 			nb_rx_queue, (unsigned)n_tx_queue );
+		/* If number of Rx queue is 0, no need to enable Rx interrupt */
+		if (nb_rx_queue == 0)
+			port_conf.intr_conf.rxq = 0;
 		ret = rte_eth_dev_configure(portid, nb_rx_queue,
 					(uint16_t)n_tx_queue, &port_conf);
+		/* Revert to original value */
+		port_conf.intr_conf.rxq = org_rxq_intr;
 		if (ret < 0)
 			rte_exit(EXIT_FAILURE, "Cannot configure device: "
 					"err=%d, port=%d\n", ret, portid);
-- 
1.9.0

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

* [dpdk-stable] patch 'examples/l3fwd-power: fix Rx descriptor size' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (131 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'examples/l3fwd-power: fix handling no Rx queue' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'examples/load_balancer: fix Tx flush' " Yuanhan Liu
                   ` (22 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Pablo de Lara; +Cc: Yuanhan Liu, Lei Yao, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 9197638e34b06d4153b0a0ee5f992f231b8ea935 Mon Sep 17 00:00:00 2001
From: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Date: Wed, 26 Apr 2017 12:29:52 +0100
Subject: [PATCH] examples/l3fwd-power: fix Rx descriptor size

[ upstream commit 4175729d012914e1c10e5f54e5a59169be020124 ]

L3fwd power app monitors the RX queues to see if the polling frequency
should be adjusted (the busier the queue, the higher the frequency).
The app uses several thresholds in the ring to determine the frequency,
being 96 the highest one, when frequency should be highest.

The problem is that the difference between this value and the ring size
is not big enough (128 - 96 = 32 descriptors), which means that
if the descriptors are not replenished quick enough, queue might
not be busy, but the app would think that it is, because 96th descriptor
is set.

Therefore, by increasing this gap (increasing the RX ring size),
we make sure that this false measurement will not happen.

Fixes: b451aa39db31 ("examples/l3fwd-power: use DD bit rather than RX queue count")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Tested-by: Lei Yao <lei.a.yao@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 52aa5d3..2a52a2d 100644
--- a/examples/l3fwd-power/main.c
+++ b/examples/l3fwd-power/main.c
@@ -147,7 +147,7 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
+#define RTE_TEST_RX_DESC_DEFAULT 512
 #define RTE_TEST_TX_DESC_DEFAULT 512
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
-- 
1.9.0

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

* [dpdk-stable] patch 'examples/load_balancer: fix Tx flush' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (132 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'examples/l3fwd-power: fix Rx descriptor size' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'examples/ethtool: fix link with ixgbe shared lib' " Yuanhan Liu
                   ` (21 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Andriy Berestovskyy; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 1c38f1b6f326f0a7ae764dc058e76141d3c27176 Mon Sep 17 00:00:00 2001
From: Andriy Berestovskyy <andriy.berestovskyy@caviumnetworks.com>
Date: Thu, 27 Apr 2017 11:27:54 +0200
Subject: [PATCH] examples/load_balancer: fix Tx flush

[ upstream commit 509f35d4c48434ec5a4a8b60342bf633eea69062 ]

Port ID is not an index from 0 to n_nic_ports, but rather a value
of nic_ports array.

Fixes: af75078fece3 ("first public release")

Signed-off-by: Andriy Berestovskyy <andriy.berestovskyy@caviumnetworks.com>
---
 examples/load_balancer/runtime.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/examples/load_balancer/runtime.c b/examples/load_balancer/runtime.c
index 6944325..ed63fc9 100644
--- a/examples/load_balancer/runtime.c
+++ b/examples/load_balancer/runtime.c
@@ -418,10 +418,12 @@ static inline void
 app_lcore_io_tx_flush(struct app_lcore_params_io *lp)
 {
 	uint8_t port;
+	uint32_t i;
 
-	for (port = 0; port < lp->tx.n_nic_ports; port ++) {
+	for (i = 0; i < lp->tx.n_nic_ports; i++) {
 		uint32_t n_pkts;
 
+		port = lp->tx.nic_ports[i];
 		if (likely((lp->tx.mbuf_out_flush[port] == 0) ||
 		           (lp->tx.mbuf_out[port].n_mbufs == 0))) {
 			lp->tx.mbuf_out_flush[port] = 1;
-- 
1.9.0

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

* [dpdk-stable] patch 'examples/ethtool: fix link with ixgbe shared lib' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (133 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'examples/load_balancer: fix Tx flush' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/thunderx: fix deadlock in Rx path' " Yuanhan Liu
                   ` (20 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Markos Chandras
  Cc: Yuanhan Liu, Remy Horton, Timothy Redaelli, Thomas Monjalon, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 851ed5c094c395e2b48dd518523a922dc7434d83 Mon Sep 17 00:00:00 2001
From: Markos Chandras <mchandras@suse.de>
Date: Thu, 16 Feb 2017 16:17:31 +0000
Subject: [PATCH] examples/ethtool: fix link with ixgbe shared lib

[ upstream commit 939abaf96a72e31a053c26cd825252e4ba77375f ]

When RTE_DEVEL_BUILD is unset, -rpath is unset.
So the ethtool app cannot link with ixgbe shared library
which is required by ethtool lib:

warning: librte_pmd_ixgbe.so.1, needed by
examples/ethtool/lib/x86_64-native-linuxapp-gcc/lib/librte_ethtool.so,
not found (try using -rpath or -rpath-link)

It is fixed by adding the library in the application link.

The library link is also improved to specify that this explicit link
to ixgbe is needed only in the shared lib mode.

Fixes: 077d223e25c3 ("examples/ethtool: use ixgbe public function")

Signed-off-by: Markos Chandras <mchandras@suse.de>
Acked-by: Remy Horton <remy.horton@intel.com>
Acked-by: Timothy Redaelli <tredaelli@redhat.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 examples/ethtool/ethtool-app/Makefile | 5 +++++
 examples/ethtool/lib/Makefile         | 2 ++
 2 files changed, 7 insertions(+)

diff --git a/examples/ethtool/ethtool-app/Makefile b/examples/ethtool/ethtool-app/Makefile
index 09c66ad..96abf53 100644
--- a/examples/ethtool/ethtool-app/Makefile
+++ b/examples/ethtool/ethtool-app/Makefile
@@ -50,5 +50,10 @@ CFLAGS += $(WERROR_FLAGS)
 LDLIBS += -L$(subst ethtool-app,lib,$(RTE_OUTPUT))/lib
 LDLIBS += -lrte_ethtool
 
+ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
+ifeq ($(CONFIG_RTE_LIBRTE_IXGBE_PMD),y)
+LDLIBS += -lrte_pmd_ixgbe
+endif
+endif
 
 include $(RTE_SDK)/mk/rte.extapp.mk
diff --git a/examples/ethtool/lib/Makefile b/examples/ethtool/lib/Makefile
index 46b1b3a..9db1fd0 100644
--- a/examples/ethtool/lib/Makefile
+++ b/examples/ethtool/lib/Makefile
@@ -54,9 +54,11 @@ SRCS-y := rte_ethtool.c
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 
+ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
 ifeq ($(CONFIG_RTE_LIBRTE_IXGBE_PMD),y)
 LDLIBS += -lrte_pmd_ixgbe
 endif
+endif
 
 # internal dependencies
 DEPDIRS-y += lib/librte_eal
-- 
1.9.0

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

* [dpdk-stable] patch 'net/thunderx: fix deadlock in Rx path' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (134 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'examples/ethtool: fix link with ixgbe shared lib' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'kni: fix crash caused by freeing mempool' " Yuanhan Liu
                   ` (19 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Jerin Jacob; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 26f7dfc513701c75ee8240c8c706440eb7a5490d Mon Sep 17 00:00:00 2001
From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Date: Tue, 2 May 2017 00:11:55 +0530
Subject: [PATCH] net/thunderx: fix deadlock in Rx path

[ upstream commit b31eb105463fa1844c19fde382dd6bd294329831 ]

RBDR buffers are refilled when SW consumes the buffers from CQ.
This creates deadlock case when CQ buffers exhausted due to lack
of RBDR buffers. Fix is to refill the RBDR when rx_free_thresh
meet, irrespective of the number of CQ buffers consumed.

Fixes: e2d7fc9f0a24 ("net/thunderx: add single and multi-segment Rx")

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 drivers/net/thunderx/nicvf_rxtx.c | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/drivers/net/thunderx/nicvf_rxtx.c b/drivers/net/thunderx/nicvf_rxtx.c
index fc43b74..87e9de1 100644
--- a/drivers/net/thunderx/nicvf_rxtx.c
+++ b/drivers/net/thunderx/nicvf_rxtx.c
@@ -469,11 +469,10 @@ nicvf_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
 		rxq->head = cqe_head;
 		nicvf_addr_write(rxq->cq_door, to_process);
 		rxq->recv_buffers += to_process;
-		if (rxq->recv_buffers > rxq->rx_free_thresh) {
-			rxq->recv_buffers -= nicvf_fill_rbdr(rxq,
-						rxq->rx_free_thresh);
-			NICVF_RX_ASSERT(rxq->recv_buffers >= 0);
-		}
+	}
+	if (rxq->recv_buffers > rxq->rx_free_thresh) {
+		rxq->recv_buffers -= nicvf_fill_rbdr(rxq, rxq->rx_free_thresh);
+		NICVF_RX_ASSERT(rxq->recv_buffers >= 0);
 	}
 
 	return to_process;
@@ -563,11 +562,10 @@ nicvf_recv_pkts_multiseg(void *rx_queue, struct rte_mbuf **rx_pkts,
 		rxq->head = cqe_head;
 		nicvf_addr_write(rxq->cq_door, to_process);
 		rxq->recv_buffers += buffers_consumed;
-		if (rxq->recv_buffers > rxq->rx_free_thresh) {
-			rxq->recv_buffers -=
-				nicvf_fill_rbdr(rxq, rxq->rx_free_thresh);
-			NICVF_RX_ASSERT(rxq->recv_buffers >= 0);
-		}
+	}
+	if (rxq->recv_buffers > rxq->rx_free_thresh) {
+		rxq->recv_buffers -= nicvf_fill_rbdr(rxq, rxq->rx_free_thresh);
+		NICVF_RX_ASSERT(rxq->recv_buffers >= 0);
 	}
 
 	return to_process;
-- 
1.9.0

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

* [dpdk-stable] patch 'kni: fix crash caused by freeing mempool' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (135 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/thunderx: fix deadlock in Rx path' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net: fix stripped VLAN flag for offload emulation' " Yuanhan Liu
                   ` (18 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 2fa30e7e2e094b88666aa099af22a624e93d5592 Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Wed, 3 May 2017 17:10:37 +0100
Subject: [PATCH] kni: fix crash caused by freeing mempool

[ upstream commit 57a484e08a7ef3dea2018157d518b01a891ddfca ]

To clean alloc_q, which has physical addresses of the mbufs, kni lib
free the pkt_mempool, but this leads a crash in kni unit test.

KNI library shouldn't free the pkt_mempool.

Implementation updated to find the mbufs in the alloc_q and return them
back to mempool.

Fixes: 8eba5ebd1811 ("kni: fix possible memory leak")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 lib/librte_kni/rte_kni.c | 34 ++++++++++++++++++++++------------
 1 file changed, 22 insertions(+), 12 deletions(-)

diff --git a/lib/librte_kni/rte_kni.c b/lib/librte_kni/rte_kni.c
index 52fcd4b..c3f9208 100644
--- a/lib/librte_kni/rte_kni.c
+++ b/lib/librte_kni/rte_kni.c
@@ -451,17 +451,35 @@ kni_free_fifo(struct rte_kni_fifo *fifo)
 	} while (ret);
 }
 
+static void *
+va2pa(struct rte_mbuf *m)
+{
+	return (void *)((unsigned long)m -
+			((unsigned long)m->buf_addr -
+			 (unsigned long)m->buf_physaddr));
+}
+
 static void
-kni_free_fifo_phy(struct rte_mempool *pktmbuf_pool, struct rte_kni_fifo *fifo)
+obj_free(struct rte_mempool *mp __rte_unused, void *opaque, void *obj,
+		unsigned obj_idx __rte_unused)
+{
+	struct rte_mbuf *m = obj;
+	void *mbuf_phys = opaque;
+
+	if (va2pa(m) == mbuf_phys)
+		rte_pktmbuf_free(m);
+}
+
+static void
+kni_free_fifo_phy(struct rte_mempool *mp, struct rte_kni_fifo *fifo)
 {
 	void *mbuf_phys;
 	int ret;
 
-	rte_mempool_free(pktmbuf_pool);
-
-	/* All mbufs alredy freed with rte_mempoll_free, just free the fifo */
 	do {
 		ret = kni_fifo_get(fifo, &mbuf_phys, 1);
+		if (ret)
+			rte_mempool_obj_iter(mp, obj_free, mbuf_phys);
 	} while (ret);
 }
 
@@ -557,14 +575,6 @@ rte_kni_handle_request(struct rte_kni *kni)
 	return 0;
 }
 
-static void *
-va2pa(struct rte_mbuf *m)
-{
-	return (void *)((unsigned long)m -
-			((unsigned long)m->buf_addr -
-			 (unsigned long)m->buf_physaddr));
-}
-
 unsigned
 rte_kni_tx_burst(struct rte_kni *kni, struct rte_mbuf **mbufs, unsigned num)
 {
-- 
1.9.0

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

* [dpdk-stable] patch 'net: fix stripped VLAN flag for offload emulation' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (136 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'kni: fix crash caused by freeing mempool' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/igb: fix VF MAC address setting' " Yuanhan Liu
                   ` (17 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  Cc: Yuanhan Liu, Michał Mirosław, Thomas Monjalon,
	Olivier Matz, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From ef7a1b47758c5a4dfc9b5a011d2286e189f00b33 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20Miros=C5=82aw?=
 <michal.miroslaw@atendesoftware.pl>
Date: Fri, 5 May 2017 00:36:13 +0200
Subject: [PATCH] net: fix stripped VLAN flag for offload emulation
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit 47aa48b969f8db88de40ddf3121a45443a9db990 ]

Apply the new flag PKT_RX_VLAN_STRIPPED to the software emulation case
(currently only for virtio and af_packet).

Fixes: b37b528d957c ("mbuf: add new Rx flags for stripped VLAN")

Signed-off-by: Michał Mirosław <michal.miroslaw@atendesoftware.pl>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
---
 lib/librte_net/rte_ether.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/librte_net/rte_ether.h b/lib/librte_net/rte_ether.h
index ff3d065..5edf66c 100644
--- a/lib/librte_net/rte_ether.h
+++ b/lib/librte_net/rte_ether.h
@@ -357,7 +357,7 @@ static inline int rte_vlan_strip(struct rte_mbuf *m)
 		return -1;
 
 	struct vlan_hdr *vh = (struct vlan_hdr *)(eh + 1);
-	m->ol_flags |= PKT_RX_VLAN_PKT;
+	m->ol_flags |= PKT_RX_VLAN_PKT | PKT_RX_VLAN_STRIPPED;
 	m->vlan_tci = rte_be_to_cpu_16(vh->vlan_tci);
 
 	/* Copy ether header over rather than moving whole packet */
@@ -407,6 +407,8 @@ static inline int rte_vlan_insert(struct rte_mbuf **m)
 	vh = (struct vlan_hdr *) (nh + 1);
 	vh->vlan_tci = rte_cpu_to_be_16((*m)->vlan_tci);
 
+	(*m)->ol_flags &= ~PKT_RX_VLAN_STRIPPED;
+
 	return 0;
 }
 
-- 
1.9.0

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

* [dpdk-stable] patch 'net/igb: fix VF MAC address setting' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (137 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net: fix stripped VLAN flag for offload emulation' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` Yuanhan Liu
                   ` (16 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Qiming Yang; +Cc: Yuanhan Liu, Wenzhuo Lu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From a03ff73d5594a2f9e06d46f8051e4719a185188b Mon Sep 17 00:00:00 2001
From: Qiming Yang <qiming.yang@intel.com>
Date: Wed, 3 May 2017 13:51:32 +0800
Subject: [PATCH] net/igb: fix VF MAC address setting

[ upstream commit 580b85f6ba4cf38268c50185a6f5becce8b69846 ]

VF default MAC address be added in PF Mac address list
instead of VF MAC address list, makes VF can't receive
packets. This patch fixes this issue.

Fixes: be2d648a2dd3 ("igb: add PF support")

Signed-off-by: Qiming Yang <qiming.yang@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 drivers/net/e1000/igb_pf.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/e1000/igb_pf.c b/drivers/net/e1000/igb_pf.c
index 67da3c2..923c78a 100644
--- a/drivers/net/e1000/igb_pf.c
+++ b/drivers/net/e1000/igb_pf.c
@@ -332,12 +332,16 @@ igb_vf_set_mac_addr(struct rte_eth_dev *dev, uint32_t vf, uint32_t *msgbuf)
 		*(E1000_DEV_PRIVATE_TO_P_VFDATA(dev->data->dev_private));
 	int rar_entry = hw->mac.rar_entry_count - (vf + 1);
 	uint8_t *new_mac = (uint8_t *)(&msgbuf[1]);
+	int rah;
 
 	if (is_unicast_ether_addr((struct ether_addr *)new_mac)) {
 		if (!is_zero_ether_addr((struct ether_addr *)new_mac))
 			rte_memcpy(vfinfo[vf].vf_mac_addresses, new_mac,
 				sizeof(vfinfo[vf].vf_mac_addresses));
 		hw->mac.ops.rar_set(hw, new_mac, rar_entry);
+		rah = E1000_READ_REG(hw, E1000_RAH(rar_entry));
+		rah |= (0x1 << (E1000_RAH_POOLSEL_SHIFT + vf));
+		E1000_WRITE_REG(hw, E1000_RAH(rar_entry), rah);
 		return 0;
 	}
 	return -1;
-- 
1.9.0

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

* [dpdk-stable] patch 'net/igb: fix VF MAC address setting' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (138 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/igb: fix VF MAC address setting' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/ixgbe: fix default MAC " Yuanhan Liu
                   ` (15 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Qiming Yang; +Cc: Yuanhan Liu, Wenzhuo Lu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 7987a78c267a6be96fb29155cff676ce7290df9a Mon Sep 17 00:00:00 2001
From: Qiming Yang <qiming.yang@intel.com>
Date: Wed, 3 May 2017 13:52:47 +0800
Subject: [PATCH] net/igb: fix VF MAC address setting

[ upstream commit 10f28c196c344aecac870bdf7c78602e6aceca37 ]

We find that VF receive address register is not set
if MAC address is assigned by PF. This patch fixes it.

Fixes: d82170d27918 ("igb: add VF support")

Signed-off-by: Qiming Yang <qiming.yang@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 drivers/net/e1000/igb_ethdev.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index a112b38..6c0ae16 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -1023,12 +1023,6 @@ eth_igbvf_dev_init(struct rte_eth_dev *eth_dev)
 	/* Generate a random MAC address, if none was assigned by PF. */
 	if (is_zero_ether_addr(perm_addr)) {
 		eth_random_addr(perm_addr->addr_bytes);
-		diag = e1000_rar_set(hw, perm_addr->addr_bytes, 0);
-		if (diag) {
-			rte_free(eth_dev->data->mac_addrs);
-			eth_dev->data->mac_addrs = NULL;
-			return diag;
-		}
 		PMD_INIT_LOG(INFO, "\tVF MAC address not assigned by Host PF");
 		PMD_INIT_LOG(INFO, "\tAssign randomly generated MAC address "
 			     "%02x:%02x:%02x:%02x:%02x:%02x",
@@ -1040,6 +1034,12 @@ eth_igbvf_dev_init(struct rte_eth_dev *eth_dev)
 			     perm_addr->addr_bytes[5]);
 	}
 
+	diag = e1000_rar_set(hw, perm_addr->addr_bytes, 0);
+	if (diag) {
+		rte_free(eth_dev->data->mac_addrs);
+		eth_dev->data->mac_addrs = NULL;
+		return diag;
+	}
 	/* Copy the permanent MAC address */
 	ether_addr_copy((struct ether_addr *) hw->mac.perm_addr,
 			&eth_dev->data->mac_addrs[0]);
-- 
1.9.0

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

* [dpdk-stable] patch 'net/ixgbe: fix default MAC setting' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (139 preceding siblings ...)
  2017-05-25  9:49 ` Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/ixgbe: fix VF Rx mode for allmulticast disabled' " Yuanhan Liu
                   ` (14 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Wenzhuo Lu; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 21f000522949a4f0f84a39f2ce558c67826cd4b1 Mon Sep 17 00:00:00 2001
From: Wenzhuo Lu <wenzhuo.lu@intel.com>
Date: Tue, 2 May 2017 16:34:59 +0800
Subject: [PATCH] net/ixgbe: fix default MAC setting

[ upstream commit c53e2c6f9253365f544df87014989e267274155c ]

Pool 0 is not PF, it's VF 0. So the MAC is set for VF 0
but not PF.
The code introduced a weird issue. In the scenario PF + VF,
when only starting PF, the default PF MAC address is working.
But after starting a VF, the default PF MAC address becomes
the VF's address.

Use the pool which is not occupied by VFs for PF to fix it.

Fixes: 8164fe82846b ("ixgbe: add default mac address modifier")

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 drivers/net/ixgbe/ixgbe_ethdev.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index b699252..ef82f72 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -4377,9 +4377,11 @@ ixgbe_remove_rar(struct rte_eth_dev *dev, uint32_t index)
 static void
 ixgbe_set_default_mac_addr(struct rte_eth_dev *dev, struct ether_addr *addr)
 {
+	struct rte_pci_device *pci_dev = IXGBE_DEV_TO_PCI(dev);
+
 	ixgbe_remove_rar(dev, 0);
 
-	ixgbe_add_rar(dev, addr, 0, 0);
+	ixgbe_add_rar(dev, addr, 0, pci_dev->max_vfs);
 }
 
 static bool
-- 
1.9.0

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

* [dpdk-stable] patch 'net/ixgbe: fix VF Rx mode for allmulticast disabled' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (140 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/ixgbe: fix default MAC " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/ixgbe: fix setting MTU on stopped device' " Yuanhan Liu
                   ` (13 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Wei Dai; +Cc: Yuanhan Liu, Wenzhuo Lu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From b00ac7445c5d4c1269fe5bed9fb9d787f38da24f Mon Sep 17 00:00:00 2001
From: Wei Dai <wei.dai@intel.com>
Date: Thu, 4 May 2017 17:54:40 +0800
Subject: [PATCH] net/ixgbe: fix VF Rx mode for allmulticast disabled

[ upstream commit b604589d572ee8844afaf196e82d2d563f51f543 ]

Some customers find that 82599 NIC DPDK VF PMD can't receive any
broadcast packets when it is bound to igb_uio in the first time
to run a DPDK application like testpmd. But when the application
is quited and run again, the DPDK VF PMD can receive broadcast
packets again. The associated PF is run by kernel driver when
the VF is driven by DPDK PMD.

Fixes: 260e2e22e26f ("net/ixgbe/base: move multicast mode update")
Fixes: 72dec9e37a84 ("ixgbe: support multicast promiscuous mode on VF")

Signed-off-by: Wei Dai <wei.dai@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 drivers/net/ixgbe/ixgbe_ethdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index ef82f72..131fc17 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -8107,7 +8107,7 @@ ixgbevf_dev_allmulticast_disable(struct rte_eth_dev *dev)
 {
 	struct ixgbe_hw *hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 
-	hw->mac.ops.update_xcast_mode(hw, IXGBEVF_XCAST_MODE_NONE);
+	hw->mac.ops.update_xcast_mode(hw, IXGBEVF_XCAST_MODE_MULTI);
 }
 
 static void ixgbevf_mbx_process(struct rte_eth_dev *dev)
-- 
1.9.0

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

* [dpdk-stable] patch 'net/ixgbe: fix setting MTU on stopped device' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (141 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/ixgbe: fix VF Rx mode for allmulticast disabled' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/ixgbe: fix memory overflow in 32-bit SSE Rx' " Yuanhan Liu
                   ` (12 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Jia Yu; +Cc: Yuanhan Liu, Wenzhuo Lu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From e67565b4506bdae2ae8c1a13681eae53b644b886 Mon Sep 17 00:00:00 2001
From: Jia Yu <jyu@vmware.com>
Date: Thu, 27 Apr 2017 23:11:31 -0700
Subject: [PATCH] net/ixgbe: fix setting MTU on stopped device

[ upstream commit 22d0e5aed3c22bd8b08d58cfd2ed261d5e45ae9c ]

There exists case that software sets mtu (i.e jumbo frame) of
ixgbe device when it's stopped. Before the fix, scattered_rx
is cleared during device stop, and setting jumbo frame mtu
after device stop will always fail as scattered_rx is 0.

Signed-off-by: Jia Yu <jyu@vmware.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 drivers/net/ixgbe/ixgbe_ethdev.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 131fc17..22d8a35 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -4437,6 +4437,7 @@ ixgbe_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
 	struct ixgbe_hw *hw;
 	struct rte_eth_dev_info dev_info;
 	uint32_t frame_size = mtu + ETHER_HDR_LEN + ETHER_CRC_LEN;
+	struct rte_eth_rxmode *rx_conf = &dev->data->dev_conf.rxmode;
 
 	ixgbe_dev_info_get(dev, &dev_info);
 
@@ -4447,7 +4448,7 @@ ixgbe_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
 	/* refuse mtu that requires the support of scattered packets when this
 	 * feature has not been enabled before.
 	 */
-	if (!dev->data->scattered_rx &&
+	if (!rx_conf->enable_scatter &&
 	    (frame_size + 2 * IXGBE_VLAN_TAG_SIZE >
 	     dev->data->min_rx_buf_size - RTE_PKTMBUF_HEADROOM))
 		return -EINVAL;
@@ -6204,6 +6205,7 @@ ixgbevf_dev_set_mtu(struct rte_eth_dev *dev, uint16_t mtu)
 {
 	struct ixgbe_hw *hw;
 	uint32_t max_frame = mtu + ETHER_HDR_LEN + ETHER_CRC_LEN;
+	struct rte_eth_rxmode *rx_conf = &dev->data->dev_conf.rxmode;
 
 	hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 
@@ -6213,7 +6215,7 @@ ixgbevf_dev_set_mtu(struct rte_eth_dev *dev, uint16_t mtu)
 	/* refuse mtu that requires the support of scattered packets when this
 	 * feature has not been enabled before.
 	 */
-	if (!dev->data->scattered_rx &&
+	if (!rx_conf->enable_scatter &&
 	    (max_frame + 2 * IXGBE_VLAN_TAG_SIZE >
 	     dev->data->min_rx_buf_size - RTE_PKTMBUF_HEADROOM))
 		return -EINVAL;
-- 
1.9.0

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

* [dpdk-stable] patch 'net/ixgbe: fix memory overflow in 32-bit SSE Rx' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (142 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/ixgbe: fix setting MTU on stopped device' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/i40e: " Yuanhan Liu
                   ` (11 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Qi Zhang; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From cc05413ff40a1abf9fc6746aecdfb4483f2e560a Mon Sep 17 00:00:00 2001
From: Qi Zhang <qi.z.zhang@intel.com>
Date: Sun, 30 Apr 2017 01:26:50 -0400
Subject: [PATCH] net/ixgbe: fix memory overflow in 32-bit SSE Rx

[ upstream commit 6d65eba145cc3d84d9d0de1824eacfa2392a5eee ]

Return mbuf points of _recv_raw_pkts_vec are modified out of bound.

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

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c b/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c
index abbf284..dd7d177 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c
@@ -335,9 +335,13 @@ _recv_raw_pkts_vec(struct ixgbe_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 		__m128i descs[RTE_IXGBE_DESCS_PER_LOOP];
 		__m128i pkt_mb1, pkt_mb2, pkt_mb3, pkt_mb4;
 		__m128i zero, staterr, sterr_tmp1, sterr_tmp2;
-		__m128i mbp1, mbp2; /* two mbuf pointer in one XMM reg. */
+		/* 2 64 bit or 4 32 bit mbuf pointers in one XMM reg. */
+		__m128i mbp1;
+#if defined(RTE_ARCH_X86_64)
+		__m128i mbp2;
+#endif
 
-		/* B.1 load 1 mbuf point */
+		/* B.1 load 2 (64 bit) or 4 (32 bit) mbuf points */
 		mbp1 = _mm_loadu_si128((__m128i *)&sw_ring[pos]);
 
 		/* Read desc statuses backwards to avoid race condition */
@@ -345,11 +349,13 @@ _recv_raw_pkts_vec(struct ixgbe_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 		descs[3] = _mm_loadu_si128((__m128i *)(rxdp + 3));
 		rte_compiler_barrier();
 
-		/* B.2 copy 2 mbuf point into rx_pkts  */
+		/* B.2 copy 2 64 bit or 4 32 bit mbuf point into rx_pkts */
 		_mm_storeu_si128((__m128i *)&rx_pkts[pos], mbp1);
 
-		/* B.1 load 1 mbuf point */
+#if defined(RTE_ARCH_X86_64)
+		/* B.1 load 2 64 bit mbuf points */
 		mbp2 = _mm_loadu_si128((__m128i *)&sw_ring[pos+2]);
+#endif
 
 		descs[2] = _mm_loadu_si128((__m128i *)(rxdp + 2));
 		rte_compiler_barrier();
@@ -358,8 +364,10 @@ _recv_raw_pkts_vec(struct ixgbe_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 		rte_compiler_barrier();
 		descs[0] = _mm_loadu_si128((__m128i *)(rxdp));
 
+#if defined(RTE_ARCH_X86_64)
 		/* B.2 copy 2 mbuf point into rx_pkts  */
 		_mm_storeu_si128((__m128i *)&rx_pkts[pos+2], mbp2);
+#endif
 
 		if (split_packet) {
 			rte_mbuf_prefetch_part2(rx_pkts[pos]);
-- 
1.9.0

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

* [dpdk-stable] patch 'net/i40e: fix memory overflow in 32-bit SSE Rx' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (143 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/ixgbe: fix memory overflow in 32-bit SSE Rx' " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/fm10k: " Yuanhan Liu
                   ` (10 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Qi Zhang; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 735864ec0c2d5a572c125c5a4d43b00edf50921c Mon Sep 17 00:00:00 2001
From: Qi Zhang <qi.z.zhang@intel.com>
Date: Sun, 30 Apr 2017 01:26:49 -0400
Subject: [PATCH] net/i40e: fix memory overflow in 32-bit SSE Rx

[ upstream commit f4afa1a0487fc73055a6d5571a20fdc0ed99866d ]

Return mbuf points of _recv_raw_pkts_vec are modified out of bound.

Fixes: 8e109464c022 ("i40e: allow vector Rx and Tx usage")

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/i40e/i40e_rxtx_vec_sse.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/drivers/net/i40e/i40e_rxtx_vec_sse.c b/drivers/net/i40e/i40e_rxtx_vec_sse.c
index b95cc8e..9644dd6 100644
--- a/drivers/net/i40e/i40e_rxtx_vec_sse.c
+++ b/drivers/net/i40e/i40e_rxtx_vec_sse.c
@@ -320,20 +320,26 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 		__m128i descs[RTE_I40E_DESCS_PER_LOOP];
 		__m128i pkt_mb1, pkt_mb2, pkt_mb3, pkt_mb4;
 		__m128i zero, staterr, sterr_tmp1, sterr_tmp2;
-		__m128i mbp1, mbp2; /* two mbuf pointer in one XMM reg. */
+		/* 2 64 bit or 4 32 bit mbuf pointers in one XMM reg. */
+		__m128i mbp1;
+#if defined(RTE_ARCH_X86_64)
+		__m128i mbp2;
+#endif
 
-		/* B.1 load 1 mbuf point */
+		/* B.1 load 2 (64 bit) or 4 (32 bit) mbuf points */
 		mbp1 = _mm_loadu_si128((__m128i *)&sw_ring[pos]);
 		/* Read desc statuses backwards to avoid race condition */
 		/* A.1 load 4 pkts desc */
 		descs[3] = _mm_loadu_si128((__m128i *)(rxdp + 3));
 		rte_compiler_barrier();
 
-		/* B.2 copy 2 mbuf point into rx_pkts  */
+		/* B.2 copy 2 64 bit or 4 32 bit mbuf point into rx_pkts */
 		_mm_storeu_si128((__m128i *)&rx_pkts[pos], mbp1);
 
-		/* B.1 load 1 mbuf point */
+#if defined(RTE_ARCH_X86_64)
+		/* B.1 load 2 64 bit mbuf points */
 		mbp2 = _mm_loadu_si128((__m128i *)&sw_ring[pos+2]);
+#endif
 
 		descs[2] = _mm_loadu_si128((__m128i *)(rxdp + 2));
 		rte_compiler_barrier();
@@ -342,8 +348,10 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 		rte_compiler_barrier();
 		descs[0] = _mm_loadu_si128((__m128i *)(rxdp));
 
+#if defined(RTE_ARCH_X86_64)
 		/* B.2 copy 2 mbuf point into rx_pkts  */
 		_mm_storeu_si128((__m128i *)&rx_pkts[pos+2], mbp2);
+#endif
 
 		if (split_packet) {
 			rte_mbuf_prefetch_part2(rx_pkts[pos]);
-- 
1.9.0

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

* [dpdk-stable] patch 'net/fm10k: fix memory overflow in 32-bit SSE Rx' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (144 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/i40e: " Yuanhan Liu
@ 2017-05-25  9:49 ` Yuanhan Liu
  2017-05-25  9:50 ` [dpdk-stable] patch 'net/vmxnet3: fix build with gcc 7' " Yuanhan Liu
                   ` (9 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:49 UTC (permalink / raw)
  To: Qi Zhang; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 710445038359ea661ee1045b1cb20d5999a9b6f2 Mon Sep 17 00:00:00 2001
From: Qi Zhang <qi.z.zhang@intel.com>
Date: Sun, 30 Apr 2017 01:26:51 -0400
Subject: [PATCH] net/fm10k: fix memory overflow in 32-bit SSE Rx

[ upstream commit 70fca51612722ed686d5565700717384b8f52887 ]

Return mbuf points of _recv_raw_pkts_vec are modified out of bound.

Fixes: a6ce64a97520 ("fm10k: introduce vector driver")

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/fm10k/fm10k_rxtx_vec.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/drivers/net/fm10k/fm10k_rxtx_vec.c b/drivers/net/fm10k/fm10k_rxtx_vec.c
index 27f3e43..3d21652 100644
--- a/drivers/net/fm10k/fm10k_rxtx_vec.c
+++ b/drivers/net/fm10k/fm10k_rxtx_vec.c
@@ -470,9 +470,13 @@ fm10k_recv_raw_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts,
 		__m128i descs0[RTE_FM10K_DESCS_PER_LOOP];
 		__m128i pkt_mb1, pkt_mb2, pkt_mb3, pkt_mb4;
 		__m128i zero, staterr, sterr_tmp1, sterr_tmp2;
-		__m128i mbp1, mbp2; /* two mbuf pointer in one XMM reg. */
+		__m128i mbp1;
+		/* 2 64 bit or 4 32 bit mbuf pointers in one XMM reg. */
+#if defined(RTE_ARCH_X86_64)
+		__m128i mbp2;
+#endif
 
-		/* B.1 load 1 mbuf point */
+		/* B.1 load 2 (64 bit) or 4 (32 bit) mbuf points */
 		mbp1 = _mm_loadu_si128((__m128i *)&mbufp[pos]);
 
 		/* Read desc statuses backwards to avoid race condition */
@@ -480,11 +484,13 @@ fm10k_recv_raw_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts,
 		descs0[3] = _mm_loadu_si128((__m128i *)(rxdp + 3));
 		rte_compiler_barrier();
 
-		/* B.2 copy 2 mbuf point into rx_pkts  */
+		/* B.2 copy 2 64 bit or 4 32 bit mbuf point into rx_pkts */
 		_mm_storeu_si128((__m128i *)&rx_pkts[pos], mbp1);
 
-		/* B.1 load 1 mbuf point */
+#if defined(RTE_ARCH_X86_64)
+		/* B.1 load 2 64 bit mbuf poitns */
 		mbp2 = _mm_loadu_si128((__m128i *)&mbufp[pos+2]);
+#endif
 
 		descs0[2] = _mm_loadu_si128((__m128i *)(rxdp + 2));
 		rte_compiler_barrier();
@@ -493,8 +499,10 @@ fm10k_recv_raw_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts,
 		rte_compiler_barrier();
 		descs0[0] = _mm_loadu_si128((__m128i *)(rxdp));
 
+#if defined(RTE_ARCH_X86_64)
 		/* B.2 copy 2 mbuf point into rx_pkts  */
 		_mm_storeu_si128((__m128i *)&rx_pkts[pos+2], mbp2);
+#endif
 
 		/* avoid compiler reorder optimization */
 		rte_compiler_barrier();
-- 
1.9.0

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

* [dpdk-stable] patch 'net/vmxnet3: fix build with gcc 7' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (145 preceding siblings ...)
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/fm10k: " Yuanhan Liu
@ 2017-05-25  9:50 ` Yuanhan Liu
  2017-05-25  9:50 ` [dpdk-stable] patch 'test/cmdline: fix missing break in switch' " Yuanhan Liu
                   ` (8 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:50 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 54f03fb06ee61436f9cc891da8449664f2ee0305 Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Thu, 4 May 2017 16:38:17 +0100
Subject: [PATCH] net/vmxnet3: fix build with gcc 7

[ upstream commit 2fff4ff7b77d6b9054b9c894d0a78fe5ebd0d746 ]

GCC 7 flags a value as uninitialized before used. While it's a false
positive, there is little harm in providing an initial value for the
variable.

Fixes: bb1d14b87fc3 ("vmxnet3: fix link state handling")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/vmxnet3/vmxnet3_ethdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c
index b7b5377..26b6b39 100644
--- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
+++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
@@ -781,7 +781,7 @@ vmxnet3_dev_link_update(struct rte_eth_dev *dev,
 			__rte_unused int wait_to_complete)
 {
 	struct vmxnet3_hw *hw = dev->data->dev_private;
-	struct rte_eth_link old, link;
+	struct rte_eth_link old = { 0 }, link;
 	uint32_t ret;
 
 	/* Link status doesn't change for stopped dev */
-- 
1.9.0

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

* [dpdk-stable] patch 'test/cmdline: fix missing break in switch' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (146 preceding siblings ...)
  2017-05-25  9:50 ` [dpdk-stable] patch 'net/vmxnet3: fix build with gcc 7' " Yuanhan Liu
@ 2017-05-25  9:50 ` Yuanhan Liu
  2017-05-25  9:50 ` [dpdk-stable] patch 'app/testpmd: fix stack overwriting by flow command' " Yuanhan Liu
                   ` (7 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:50 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 9d0f188d1fd219835f83b48486d8ea64a83411cb Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Thu, 4 May 2017 16:38:21 +0100
Subject: [PATCH] test/cmdline: fix missing break in switch

[ upstream commit f4e6ff881ffcdd1178550fc26a6343bbc8d36530 ]

Issue flagged by GCC 7 as a switch fall-through.

Fixes: dbb860e03eb1 ("cmdline: tests")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 app/test/test_cmdline_num.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/app/test/test_cmdline_num.c b/app/test/test_cmdline_num.c
index 04263d3..e8f60cf 100644
--- a/app/test/test_cmdline_num.c
+++ b/app/test/test_cmdline_num.c
@@ -315,6 +315,7 @@ can_parse_signed(int64_t expected_result, enum cmdline_numtype type)
 	case UINT64:
 		if (expected_result < 0)
 			return 0;
+		break;
 	case INT8:
 		if (expected_result > INT8_MAX || expected_result < INT8_MIN)
 			return 0;
-- 
1.9.0

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

* [dpdk-stable] patch 'app/testpmd: fix stack overwriting by flow command' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (147 preceding siblings ...)
  2017-05-25  9:50 ` [dpdk-stable] patch 'test/cmdline: fix missing break in switch' " Yuanhan Liu
@ 2017-05-25  9:50 ` Yuanhan Liu
  2017-05-25  9:50 ` [dpdk-stable] patch 'app/testpmd: fix MAC endian in " Yuanhan Liu
                   ` (6 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:50 UTC (permalink / raw)
  To: Adrien Mazarguil; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 8862cf4004ce706cb81f78aac1aa0912a53f11cb Mon Sep 17 00:00:00 2001
From: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Date: Thu, 4 May 2017 19:08:22 +0200
Subject: [PATCH] app/testpmd: fix stack overwriting by flow command

[ upstream commit 138ae2481e437d7d1549cc59e5ad7129cd87a6a2 ]

The parameter type parser function stores a stack-local address in the
global parser context when parsing a "prefix" keyword.

This usually translates to "Bad arguments" errors even for correct flow
rules as stack gets overwritten by subsequent function calls.

Fixes: d3f61b7bad20 ("app/testpmd: add flow item spec prefix length")

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
---
 app/test-pmd/cmdline_flow.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
index ff98690..12712fd 100644
--- a/app/test-pmd/cmdline_flow.c
+++ b/app/test-pmd/cmdline_flow.c
@@ -1715,6 +1715,8 @@ parse_vc_spec(struct context *ctx, const struct token *token,
 		return -1;
 	/* Parse parameter types. */
 	switch (ctx->curr) {
+		static const enum index prefix[] = NEXT_ENTRY(PREFIX);
+
 	case ITEM_PARAM_IS:
 		index = 0;
 		objmask = 1;
@@ -1729,7 +1731,7 @@ parse_vc_spec(struct context *ctx, const struct token *token,
 		/* Modify next token to expect a prefix. */
 		if (ctx->next_num < 2)
 			return -1;
-		ctx->next[ctx->next_num - 2] = NEXT_ENTRY(PREFIX);
+		ctx->next[ctx->next_num - 2] = prefix;
 		/* Fall through. */
 	case ITEM_PARAM_MASK:
 		index = 2;
-- 
1.9.0

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

* [dpdk-stable] patch 'app/testpmd: fix MAC endian in flow command' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (148 preceding siblings ...)
  2017-05-25  9:50 ` [dpdk-stable] patch 'app/testpmd: fix stack overwriting by flow command' " Yuanhan Liu
@ 2017-05-25  9:50 ` Yuanhan Liu
  2017-05-25  9:50 ` [dpdk-stable] patch 'doc: explain zlib dependency for bnx2x' " Yuanhan Liu
                   ` (5 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:50 UTC (permalink / raw)
  To: Adrien Mazarguil; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 612462830cb65182a3f0aba9e42c00812669467b Mon Sep 17 00:00:00 2001
From: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Date: Thu, 4 May 2017 19:08:23 +0200
Subject: [PATCH] app/testpmd: fix MAC endian in flow command

[ upstream commit 09a670e8716f57ad8fd26761bf8e8d8ff22b85c5 ]

MAC addresses are implicitly handled in network order since they are
actually byte strings, however this is not properly enforced with MAC masks
provided as prefix lengths, which end up inverted on little endian
systems.

Fixes: 6df81b325fa4 ("app/testpmd: add items eth/vlan to flow command")

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
---
 app/test-pmd/cmdline_flow.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
index 12712fd..9414dac 100644
--- a/app/test-pmd/cmdline_flow.c
+++ b/app/test-pmd/cmdline_flow.c
@@ -1021,13 +1021,13 @@ static const struct token token_list[] = {
 		.name = "dst",
 		.help = "destination MAC",
 		.next = NEXT(item_eth, NEXT_ENTRY(MAC_ADDR), item_param),
-		.args = ARGS(ARGS_ENTRY(struct rte_flow_item_eth, dst)),
+		.args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_eth, dst)),
 	},
 	[ITEM_ETH_SRC] = {
 		.name = "src",
 		.help = "source MAC",
 		.next = NEXT(item_eth, NEXT_ENTRY(MAC_ADDR), item_param),
-		.args = ARGS(ARGS_ENTRY(struct rte_flow_item_eth, src)),
+		.args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_eth, src)),
 	},
 	[ITEM_ETH_TYPE] = {
 		.name = "type",
@@ -2145,6 +2145,9 @@ parse_mac_addr(struct context *ctx, const struct token *token,
 	/* Bit-mask fill is not supported. */
 	if (arg->mask || size != sizeof(tmp))
 		goto error;
+	/* Only network endian is supported. */
+	if (!arg->hton)
+		goto error;
 	ret = cmdline_parse_etheraddr(NULL, str, &tmp, size);
 	if (ret < 0 || (unsigned int)ret != len)
 		goto error;
-- 
1.9.0

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

* [dpdk-stable] patch 'doc: explain zlib dependency for bnx2x' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (149 preceding siblings ...)
  2017-05-25  9:50 ` [dpdk-stable] patch 'app/testpmd: fix MAC endian in " Yuanhan Liu
@ 2017-05-25  9:50 ` Yuanhan Liu
  2017-05-25  9:50 ` [dpdk-stable] patch 'eal/bsd: fix ioport write operation' " Yuanhan Liu
                   ` (4 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:50 UTC (permalink / raw)
  To: Rasesh Mody; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 388e611f77eb92e1eeb6b0e9b45263e3cea47ba0 Mon Sep 17 00:00:00 2001
From: Rasesh Mody <rasesh.mody@cavium.com>
Date: Tue, 2 May 2017 16:57:49 -0700
Subject: [PATCH] doc: explain zlib dependency for bnx2x

[ upstream commit 6d4e18669575ad0d036b2b7a16a15b122b482b0a ]

Correct CONFIG_RTE_LIBRTE_BNX2X_PMD config file option and add a note
about external zlib dependency for loading the firmware image.

Fixes: ce9b8bb8b998 ("config: disable bnx2x driver")

Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
---
 doc/guides/nics/bnx2x.rst | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/doc/guides/nics/bnx2x.rst b/doc/guides/nics/bnx2x.rst
index c011df1..8d9e059 100644
--- a/doc/guides/nics/bnx2x.rst
+++ b/doc/guides/nics/bnx2x.rst
@@ -96,9 +96,11 @@ Config File Options
 The following options can be modified in the ``.config`` file. Please note that
 enabling debugging options may affect system performance.
 
-- ``CONFIG_RTE_LIBRTE_BNX2X_PMD`` (default **y**)
+- ``CONFIG_RTE_LIBRTE_BNX2X_PMD`` (default **n**)
 
-  Toggle compilation of bnx2x driver.
+  Toggle compilation of bnx2x driver. To use bnx2x PMD set this config parameter
+  to 'y'. Also, in order for firmware binary to load user will need zlib devel
+  package installed.
 
 - ``CONFIG_RTE_LIBRTE_BNX2X_DEBUG`` (default **n**)
 
-- 
1.9.0

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

* [dpdk-stable] patch 'eal/bsd: fix ioport write operation' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (150 preceding siblings ...)
  2017-05-25  9:50 ` [dpdk-stable] patch 'doc: explain zlib dependency for bnx2x' " Yuanhan Liu
@ 2017-05-25  9:50 ` Yuanhan Liu
  2017-05-25  9:50 ` [dpdk-stable] patch 'eal/bsd: fix read on PCI configuration space' " Yuanhan Liu
                   ` (3 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:50 UTC (permalink / raw)
  To: Tiwei Bie; +Cc: Yuanhan Liu, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From dd4bddaeb3a0568d71492125a72ca443a1139b09 Mon Sep 17 00:00:00 2001
From: Tiwei Bie <tiwei.bie@intel.com>
Date: Sun, 7 May 2017 13:33:33 +0000
Subject: [PATCH] eal/bsd: fix ioport write operation

[ upstream commit 3a6a04ec794465c786f789522d733dfa88451a18 ]

The first param of out*() on FreeBSD is port, and the second one
is data. But they are reversed in DPDK. This patch fixes it.

Fixes: 756ce64b1ecd ("eal: introduce PCI ioport API")

Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 lib/librte_eal/bsdapp/eal/eal_pci.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/librte_eal/bsdapp/eal/eal_pci.c b/lib/librte_eal/bsdapp/eal/eal_pci.c
index 16a1743..e425650 100644
--- a/lib/librte_eal/bsdapp/eal/eal_pci.c
+++ b/lib/librte_eal/bsdapp/eal/eal_pci.c
@@ -612,13 +612,13 @@ pci_uio_ioport_write(struct rte_pci_ioport *p,
 	for (s = data; len > 0; s += size, reg += size, len -= size) {
 		if (len >= 4) {
 			size = 4;
-			outl(*(const uint32_t *)s, reg);
+			outl(reg, *(const uint32_t *)s);
 		} else if (len >= 2) {
 			size = 2;
-			outw(*(const uint16_t *)s, reg);
+			outw(reg, *(const uint16_t *)s);
 		} else {
 			size = 1;
-			outb(*s, reg);
+			outb(reg, *s);
 		}
 	}
 #else
-- 
1.9.0

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

* [dpdk-stable] patch 'eal/bsd: fix read on PCI configuration space' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (151 preceding siblings ...)
  2017-05-25  9:50 ` [dpdk-stable] patch 'eal/bsd: fix ioport write operation' " Yuanhan Liu
@ 2017-05-25  9:50 ` Yuanhan Liu
  2017-05-25  9:50 ` [dpdk-stable] patch 'net/ixgbe: fix LSC interrupt' " Yuanhan Liu
                   ` (2 subsequent siblings)
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:50 UTC (permalink / raw)
  To: Tiwei Bie; +Cc: Yuanhan Liu, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 98bb74c278d6bac6ad3aa0fa14bf94c09b8daea6 Mon Sep 17 00:00:00 2001
From: Tiwei Bie <tiwei.bie@intel.com>
Date: Sun, 7 May 2017 13:33:34 +0000
Subject: [PATCH] eal/bsd: fix read on PCI configuration space

[ upstream commit f94c5c9648cd32a90448afa87ef81ab07fb26a42 ]

Some drivers (such as virtio) may need to read more than 4 bytes
data from PCI configuration space via rte_eal_pci_read_config().
But it will return with an error on FreeBSD when the expected
data length is bigger than the size of pi.pi_data whose type is
u_int32_t. This patch removes this limitation.

Fixes: 632b2d1deeed ("eal: provide functions to access PCI config")

Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 lib/librte_eal/bsdapp/eal/eal_pci.c | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/lib/librte_eal/bsdapp/eal/eal_pci.c b/lib/librte_eal/bsdapp/eal/eal_pci.c
index e425650..74ef1f2 100644
--- a/lib/librte_eal/bsdapp/eal/eal_pci.c
+++ b/lib/librte_eal/bsdapp/eal/eal_pci.c
@@ -453,6 +453,7 @@ int rte_eal_pci_read_config(const struct rte_pci_device *dev,
 			    void *buf, size_t len, off_t offset)
 {
 	int fd = -1;
+	int size;
 	struct pci_io pi = {
 		.pi_sel = {
 			.pc_domain = dev->addr.domain,
@@ -461,25 +462,28 @@ int rte_eal_pci_read_config(const struct rte_pci_device *dev,
 			.pc_func = dev->addr.function,
 		},
 		.pi_reg = offset,
-		.pi_width = len,
 	};
 
-	if (len == 3 || len > sizeof(pi.pi_data)) {
-		RTE_LOG(ERR, EAL, "%s(): invalid pci read length\n", __func__);
-		goto error;
-	}
-
 	fd = open("/dev/pci", O_RDWR);
 	if (fd < 0) {
 		RTE_LOG(ERR, EAL, "%s(): error opening /dev/pci\n", __func__);
 		goto error;
 	}
 
-	if (ioctl(fd, PCIOCREAD, &pi) < 0)
-		goto error;
+	while (len > 0) {
+		size = (len >= 4) ? 4 : ((len >= 2) ? 2 : 1);
+		pi.pi_width = size;
+
+		if (ioctl(fd, PCIOCREAD, &pi) < 0)
+			goto error;
+		memcpy(buf, &pi.pi_data, size);
+
+		buf = (char *)buf + size;
+		pi.pi_reg += size;
+		len -= size;
+	}
 	close(fd);
 
-	memcpy(buf, &pi.pi_data, len);
 	return 0;
 
  error:
-- 
1.9.0

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

* [dpdk-stable] patch 'net/ixgbe: fix LSC interrupt' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (152 preceding siblings ...)
  2017-05-25  9:50 ` [dpdk-stable] patch 'eal/bsd: fix read on PCI configuration space' " Yuanhan Liu
@ 2017-05-25  9:50 ` Yuanhan Liu
  2017-05-25  9:50 ` [dpdk-stable] patch 'net/mlx5: fix index handling for Tx ring' " Yuanhan Liu
  2017-05-25  9:50 ` [dpdk-stable] patch 'net/mlx5: fix rollback when starting device' " Yuanhan Liu
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:50 UTC (permalink / raw)
  To: Qi Zhang; +Cc: Yuanhan Liu, Wenzhuo Lu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 592809a417f66c4f53fcb641fb8ceb2af6c0cd69 Mon Sep 17 00:00:00 2001
From: Qi Zhang <qi.z.zhang@intel.com>
Date: Sun, 7 May 2017 23:57:33 -0400
Subject: [PATCH] net/ixgbe: fix LSC interrupt

[ upstream commit 491681ed63d52706b4840b7379dcff2be9333203 ]

There is a bug in previous fix for lsc interrupt.
lsc interrupt is not disabled before delayed handler,
that cause the delayed handler be re-entered.

Fixes: 9b667210700e ("net/ixgbe: fix blocked interrupts")

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 drivers/net/ixgbe/ixgbe_ethdev.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 22d8a35..dcb9505 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -3825,14 +3825,15 @@ ixgbe_dev_interrupt_action(struct rte_eth_dev *dev,
 			timeout = IXGBE_LINK_DOWN_CHECK_TIMEOUT;
 
 		ixgbe_dev_link_status_print(dev);
-		intr->mask_original = intr->mask;
-		/* only disable lsc interrupt */
-		intr->mask &= ~IXGBE_EIMS_LSC;
 		if (rte_eal_alarm_set(timeout * 1000,
 				      ixgbe_dev_interrupt_delayed_handler, (void *)dev) < 0)
 			PMD_DRV_LOG(ERR, "Error setting alarm");
-		else
-			intr->mask = intr->mask_original;
+		else {
+			/* remember original mask */
+			intr->mask_original = intr->mask;
+			/* only disable lsc interrupt */
+			intr->mask &= ~IXGBE_EIMS_LSC;
+		}
 	}
 
 	PMD_DRV_LOG(DEBUG, "enable intr immediately");
-- 
1.9.0

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

* [dpdk-stable] patch 'net/mlx5: fix index handling for Tx ring' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (153 preceding siblings ...)
  2017-05-25  9:50 ` [dpdk-stable] patch 'net/ixgbe: fix LSC interrupt' " Yuanhan Liu
@ 2017-05-25  9:50 ` Yuanhan Liu
  2017-05-25  9:50 ` [dpdk-stable] patch 'net/mlx5: fix rollback when starting device' " Yuanhan Liu
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:50 UTC (permalink / raw)
  To: Yongseok Koh; +Cc: Yuanhan Liu, Hanoch Haim, Adrien Mazarguil, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 7280802b7e280666d538735cf2d97a33450f0ba3 Mon Sep 17 00:00:00 2001
From: Yongseok Koh <yskoh@mellanox.com>
Date: Tue, 9 May 2017 13:49:30 -0700
Subject: [PATCH] net/mlx5: fix index handling for Tx ring

[ upstream commit ac180a21f621fd2f8c8af97d6fa1e36f8bcebc1f ]

In case of resource deficiency on Tx, mlx5_tx_burst() breaks the loop
without rolling back consumed resources (txq->wqes[] and txq->elts[]). This
can make application crash because unposted mbufs can be freed while
processing completions. Other Tx functions don't have this issue.

Fixes: 3f13f8c23a7c ("net/mlx5: support hardware TSO")
Fixes: f04f1d51564b ("net/mlx5: fix Tx WQE corruption caused by starvation")

Reported-by: Hanoch Haim <hhaim@cisco.com>
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
---
 drivers/net/mlx5/mlx5_rxtx.c | 25 ++++++++++++++-----------
 1 file changed, 14 insertions(+), 11 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c
index 797b66e..17ba44c 100644
--- a/drivers/net/mlx5/mlx5_rxtx.c
+++ b/drivers/net/mlx5/mlx5_rxtx.c
@@ -369,6 +369,7 @@ mlx5_tx_burst(void *dpdk_txq, struct rte_mbuf **pkts, uint16_t pkts_n)
 	uint16_t max_wqe;
 	unsigned int comp;
 	volatile struct mlx5_wqe_v *wqe = NULL;
+	volatile struct mlx5_wqe_ctrl *last_wqe = NULL;
 	unsigned int segs_n = 0;
 	struct rte_mbuf *buf = NULL;
 	uint8_t *raw;
@@ -389,6 +390,7 @@ mlx5_tx_burst(void *dpdk_txq, struct rte_mbuf **pkts, uint16_t pkts_n)
 		volatile rte_v128u32_t *dseg = NULL;
 		uint32_t length;
 		unsigned int ds = 0;
+		unsigned int sg = 0; /* counter of additional segs attached. */
 		uintptr_t addr;
 		uint64_t naddr;
 		uint16_t pkt_inline_sz = MLX5_WQE_DWORD_SIZE + 2;
@@ -583,12 +585,14 @@ next_seg:
 		};
 		(*txq->elts)[elts_head] = buf;
 		elts_head = (elts_head + 1) & (elts_n - 1);
-		++j;
-		--segs_n;
-		if (segs_n)
+		++sg;
+		/* Advance counter only if all segs are successfully posted. */
+		if (sg < segs_n) {
 			goto next_seg;
-		else
+		} else {
 			--pkts_n;
+			j += sg;
+		}
 next_pkt:
 		++i;
 		/* Initialize known and common part of the WQE structure. */
@@ -605,6 +609,8 @@ next_pkt:
 			(ehdr << 16) | htons(pkt_inline_sz),
 		};
 		txq->wqe_ci += (ds + 3) / 4;
+		/* Save the last successful WQE for completion request */
+		last_wqe = (volatile struct mlx5_wqe_ctrl *)wqe;
 #ifdef MLX5_PMD_SOFT_COUNTERS
 		/* Increment sent bytes counter. */
 		txq->stats.obytes += total_length;
@@ -613,16 +619,14 @@ next_pkt:
 	/* Take a shortcut if nothing must be sent. */
 	if (unlikely(i == 0))
 		return 0;
+	txq->elts_head = (txq->elts_head + i + j) & (elts_n - 1);
 	/* Check whether completion threshold has been reached. */
 	comp = txq->elts_comp + i + j;
 	if (comp >= MLX5_TX_COMP_THRESH) {
-		volatile struct mlx5_wqe_ctrl *w =
-			(volatile struct mlx5_wqe_ctrl *)wqe;
-
 		/* Request completion on last WQE. */
-		w->ctrl2 = htonl(8);
+		last_wqe->ctrl2 = htonl(8);
 		/* Save elts_head in unused "immediate" field of WQE. */
-		w->ctrl3 = elts_head;
+		last_wqe->ctrl3 = txq->elts_head;
 		txq->elts_comp = 0;
 	} else {
 		txq->elts_comp = comp;
@@ -632,8 +636,7 @@ next_pkt:
 	txq->stats.opackets += i;
 #endif
 	/* Ring QP doorbell. */
-	mlx5_tx_dbrec(txq, (volatile struct mlx5_wqe *)wqe);
-	txq->elts_head = elts_head;
+	mlx5_tx_dbrec(txq, (volatile struct mlx5_wqe *)last_wqe);
 	return i;
 }
 
-- 
1.9.0

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

* [dpdk-stable] patch 'net/mlx5: fix rollback when starting device' has been queued to stable release 17.02.1
  2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
                   ` (154 preceding siblings ...)
  2017-05-25  9:50 ` [dpdk-stable] patch 'net/mlx5: fix index handling for Tx ring' " Yuanhan Liu
@ 2017-05-25  9:50 ` Yuanhan Liu
  155 siblings, 0 replies; 159+ messages in thread
From: Yuanhan Liu @ 2017-05-25  9:50 UTC (permalink / raw)
  To: Yongseok Koh; +Cc: Yuanhan Liu, Adrien Mazarguil, dpdk stable

Hi,

FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please
shout if anyone has objections.

Thanks.

	--yliu

---
>From 8601b23ee90a319d9eec36c979ea681fc5da0c34 Mon Sep 17 00:00:00 2001
From: Yongseok Koh <yskoh@mellanox.com>
Date: Wed, 10 May 2017 10:30:16 -0700
Subject: [PATCH] net/mlx5: fix rollback when starting device

[ upstream commit 5e0fbcf9fb31f456c54dcc548e5de747a28c5053 ]

In mlx5_dev_start(), the spinlock isn't released when returning error.

Fixes: c8d4ee50cc85 ("net/mlx5: fix startup when flow cannot be applied")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
---
 drivers/net/mlx5/mlx5_trigger.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/mlx5/mlx5_trigger.c b/drivers/net/mlx5/mlx5_trigger.c
index 0acbf28..65a9f7b 100644
--- a/drivers/net/mlx5/mlx5_trigger.c
+++ b/drivers/net/mlx5/mlx5_trigger.c
@@ -104,6 +104,7 @@ error:
 	priv_mac_addrs_disable(priv);
 	priv_destroy_hash_rxqs(priv);
 	priv_flow_stop(priv);
+	priv_unlock(priv);
 	return -err;
 }
 
-- 
1.9.0

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

* Re: [dpdk-stable] patch 'net/qede: fix FW version string for VF' has been queued to stable release 17.02.1
  2017-05-25  9:49 ` [dpdk-stable] patch 'net/qede: fix FW version string for VF' " Yuanhan Liu
@ 2017-05-25 17:15   ` Mody, Rasesh
  0 siblings, 0 replies; 159+ messages in thread
From: Mody, Rasesh @ 2017-05-25 17:15 UTC (permalink / raw)
  To: Yuanhan Liu; +Cc: dpdk stable

> From: Yuanhan Liu [mailto:yuanhan.liu@linux.intel.com]
> Sent: Thursday, May 25, 2017 2:49 AM
> 
> Hi,
> 
> FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please shout if
> anyone has objections.
> 
> Thanks.
> 
> 	--yliu

Thanks!
> 
> ---
> From 260fe254b95430d7e588f632570190e45985130c Mon Sep 17 00:00:00
> 2001
> From: Rasesh Mody <rasesh.mody@cavium.com>
> Date: Tue, 25 Apr 2017 00:28:42 -0700
> Subject: [PATCH] net/qede: fix FW version string for VF
> 
> [ upstream commit 738f56d41ab56285187eafc5f10b3047c5ded06f ]
> 
> In SRIOV testing, print adapter info shows firmware version used by PF, this
> patch provides fix to populate correct firmware version used by VF.
> 
> Fixes: 86a2265e59d7 ("qede: add SRIOV support")
> 
> Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
> ---
>  drivers/net/qede/qede_main.c | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/qede/qede_main.c b/drivers/net/qede/qede_main.c
> index 8a4d68a..c42d8f5 100644
> --- a/drivers/net/qede/qede_main.c
> +++ b/drivers/net/qede/qede_main.c
> @@ -330,11 +330,12 @@ qed_fill_dev_info(struct ecore_dev *edev, struct
> qed_dev_info *dev_info)
>  	rte_memcpy(&dev_info->hw_mac, &edev-
> >hwfns[0].hw_info.hw_mac_addr,
>  	       ETHER_ADDR_LEN);
> 
> +	dev_info->fw_major = FW_MAJOR_VERSION;
> +	dev_info->fw_minor = FW_MINOR_VERSION;
> +	dev_info->fw_rev = FW_REVISION_VERSION;
> +	dev_info->fw_eng = FW_ENGINEERING_VERSION;
> +
>  	if (IS_PF(edev)) {
> -		dev_info->fw_major = FW_MAJOR_VERSION;
> -		dev_info->fw_minor = FW_MINOR_VERSION;
> -		dev_info->fw_rev = FW_REVISION_VERSION;
> -		dev_info->fw_eng = FW_ENGINEERING_VERSION;
>  		dev_info->mf_mode = edev->mf_mode;
>  		dev_info->tx_switching = false;
>  	} else {
> --
> 1.9.0

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

* Re: [dpdk-stable] patch 'crypto/scheduler: fix capability update' has been queued to stable release 17.02.1
  2017-05-25  9:49 ` [dpdk-stable] patch 'crypto/scheduler: fix capability update' " Yuanhan Liu
@ 2017-05-26  1:26   ` Zhang, Roy Fan
  0 siblings, 0 replies; 159+ messages in thread
From: Zhang, Roy Fan @ 2017-05-26  1:26 UTC (permalink / raw)
  To: Yuanhan Liu; +Cc: dpdk stable

Hi Yuanhan,

Please do. Sorry I failed to do that when I submitted the patch.

Regards,
Fan

> -----Original Message-----
> From: Yuanhan Liu [mailto:yuanhan.liu@linux.intel.com]
> Sent: Thursday, May 25, 2017 5:49 PM
> To: Zhang, Roy Fan <roy.fan.zhang@intel.com>
> Cc: Yuanhan Liu <yuanhan.liu@linux.intel.com>; dpdk stable
> <stable@dpdk.org>
> Subject: patch 'crypto/scheduler: fix capability update' has been queued to
> stable release 17.02.1
> 
> Hi,
> 
> FYI, your patch has been queued to stable release 17.02.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 05/28/17. So please shout if
> anyone has objections.
> 
> Thanks.
> 
> 	--yliu
> 
> ---
> From 8224aa2937fd5457f10df2824af3dc28119b228c Mon Sep 17 00:00:00 2001
> From: Fan Zhang <roy.fan.zhang@intel.com>
> Date: Mon, 10 Apr 2017 15:59:34 +0100
> Subject: [PATCH] crypto/scheduler: fix capability update
> 
> [ upstream commit 7b46f62b8159dc5444cdcd48a46c6656b221510c ]
> 
> Fixes: 31439ee72b2c ("crypto/scheduler: add API implementations")
> 
> Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
> ---
>  drivers/crypto/scheduler/rte_cryptodev_scheduler.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/crypto/scheduler/rte_cryptodev_scheduler.c
> b/drivers/crypto/scheduler/rte_cryptodev_scheduler.c
> index 2f49ad4..ebcf2f6 100644
> --- a/drivers/crypto/scheduler/rte_cryptodev_scheduler.c
> +++ b/drivers/crypto/scheduler/rte_cryptodev_scheduler.c
> @@ -64,7 +64,7 @@ sync_caps(struct rte_cryptodev_capabilities *caps,
> 
>  		for (j = 0; j < nb_slave_caps; j++) {
>  			const struct rte_cryptodev_capabilities *s_cap =
> -					&slave_caps[i];
> +					&slave_caps[j];
> 
>  			if (s_cap->op != cap->op || s_cap-
> >sym.xform_type !=
>  					cap->sym.xform_type)
> --
> 1.9.0

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

end of thread, other threads:[~2017-05-26  1:26 UTC | newest]

Thread overview: 159+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-25  9:47 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to stable release 17.02.1 Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'crypto/scheduler: fix include of local headers' " Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'kni: fix build with kernel 4.11' " Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'vfio: fix disabling INTx' " Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'mempool: fix crash when handler not found' " Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'vfio: fix secondary process start' " Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'nic_uio: fix device binding at boot' " Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'examples/ip_fragmentation: fix check of packet type' " Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'doc: fix a typo in howto guide' " Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'net/tap: fix possibly unterminated string' " Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'net/i40e: fix TC bitmap of VEB' " Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'net/i40e: fix memory allocation for hash table' " Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'net/mlx5: fix VLAN stripping indication' " Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'net/i40e: fix compile error' " Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'net/mlx5: fix startup when flow cannot be applied' " Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'net/bnx2x: fix transmit queue free threshold' " Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'net/e1000/base: fix multicast setting in VF' " Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'net/mlx5: fix supported packets types' " Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'net/i40e: fix a typo in flow' " Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'net/ixgbe/base: fix build error' " Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'net/mlx5: fix flow mark action handling' " Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'net/mlx5: fix drop queue creation error' " Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'net/mlx5: fix resources free in the right function' " Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'net/ixgbe: fix Rx queue blocking issue' " Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'net/ixgbe: fix all queues drop setting of DCB' " Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'net/ixgbe: fix multi-queue mode check in SRIOV mode' " Yuanhan Liu
2017-05-25  9:47 ` [dpdk-stable] patch 'app/testpmd: fix init config for multi-queue " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'app/testpmd: fix TC mapping in DCB init config' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: fix incorrect packet index reference' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/ixgbevf: set xstats id values' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/pcap: fix using mbuf after freeing it' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/ena: fix return of hash control flushing' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/vmxnet3: fix queue size changes' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: fix broadcast promiscuous mode setting' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/thunderx: fix 32-bit build' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/thunderx: fix build on FreeBSD' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/mlx4: update link status upon probing with LSC' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/nfp: clean Tx descriptor flags' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/nfp: fix packet/data length conversion' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/nfp: fix Rx interrupt' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: fix VLAN filter' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/mlx5: fix reusing Rx/Tx queues' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/ixgbe: fix TC bandwidth setting' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/mlx4: fix returned values upon failed probing' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/mlx5: " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/fm10k: fix pointer cast' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/qede: fix missing UDP protocol in RSS offload types' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/qede: fix VF RSS configuration' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/qede: prevent crash while changing MTU dynamically' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/mlx5: fix Tx when first segment size is too short' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/sfc: destroy event queue when Rx queue is released' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/sfc: destroy event queue when Tx " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/sfc: fix leak if EvQ DMA space allocation fails' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/sfc: use correct function to free scattered packet on Rx' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/fm10k: fix secondary process crash' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: fix VLAN promisc setting' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'vhost: try to shrink pfdset when fdset_add fails' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'vhost: change log levels in client mode' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/virtio-user: fix tapfds close' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/virtio-user: fix overflow' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/virtio: disable LSC interrupt if MSIX not enabled' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'vhost: fix multiple queue not enabled for old kernels' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'vhost: fix max queues' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'vhost: fix false sharing' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'vhost: fix fd leaks for vhost-user server mode' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/mlx5: fix an uninitialized variable' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'mk: fix shell errors when building with clang' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'mk: fix lib filtering when linking app' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'app/crypto-perf: fix AES CBC 128 test vectors' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'mk: fix quoting for ARM mtune argument' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'lib: fix IPv6 tunnel checksum' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'app/testpmd: " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'test/mempool: free mempool on exit' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/cxgbe: fix possible null pointer dereference' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: fix allocation check' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: fix VF link speed' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: add missing 25G " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/thunderx: use internal byte ordering macros' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: fix hash input set on X722' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/thunderx: fix stats access out of bounds' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/ena: fix Rx descriptors allocation' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/ena: fix delayed cleanup of Rx descriptors' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/ena: cleanup if refilling of Rx descriptors fails' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/ixgbe: fix generic filter return' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/i40e: fix VF link status update' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/ixgbe: fix duplicated check' " Yuanhan Liu
2017-05-25  9:48 ` [dpdk-stable] patch 'net/ixgbe: remove tpid check for flow director' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/bonding: allow configuring jumbo frames without slaves' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/mlx4: fix Rx after mbuf alloc failure' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/i40e: ensure vector mode is not used with QinQ' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/sfc: reset RSS channels back to 0 on close' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/virtio: fix queue notify' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/virtio-user: fix address on 32-bit system' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'vhost: fix dequeue zero copy' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'kni: fix ethtool support' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'crypto/scheduler: fix capability update' " Yuanhan Liu
2017-05-26  1:26   ` Zhang, Roy Fan
2017-05-25  9:49 ` [dpdk-stable] patch 'app/crypto-perf: fix crypto operation resubmission' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'crypto/qat: fix AES-GCM authentication length' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'crypto/qat: fix IV zero physical address' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'app/crypto-perf: fix AEAD tests when AAD is zero' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'examples/l2fwd-crypto: " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'examples/l2fwd-crypto: fix padding calculation' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'kni: fix possible memory leak' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'examples: fix build clean on FreeBSD' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'examples/performance-thread: fix build " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'examples/performance-thread: fix compilation on Suse 11 SP2' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'mbuf: fix missing includes in exported header' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'efd: fix missing include " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'cmdline: fix parsing' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/sfc: fix LSC interrupt support for UIO cases' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/i40e: fix setup when bulk is disabled' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/qede: fix default MAC address handling' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/qede: fix fastpath rings reset phase' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/qede: fix FW version string for VF' " Yuanhan Liu
2017-05-25 17:15   ` Mody, Rasesh
2017-05-25  9:49 ` [dpdk-stable] patch 'net/nfp: fix releasing muti-segment mbufs' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/ixgbe: remove useless item type check' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/ixgbe: fix type check for flow type' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/bonding: fix updating slave link status' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/ixgbe: fix ntuple filter for SCTP' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/virtio: fix MSI-X for modern devices' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/virtio: fix LSC setting' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/virtio: fix crash when closing twice' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'crypto/openssl: fix AAD capabilities for AES-GCM' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'crypto/openssl: fix AES-GCM capability' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'cryptodev: fix API AAD comments' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'examples/l2fwd-crypto: fix packets array index' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'crypto/qat: fix dequeue statistics' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'cryptodev: fix API digest length comments' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'app/testpmd: fix crash at mbuf pool creation' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'app/testpmd: fix exit without freeing resources' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'examples/performance-thread: fix build on FreeBSD 10.0' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'examples/multi_process: fix timer update' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'examples/l3fwd-power: fix handling no Rx queue' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'examples/l3fwd-power: fix Rx descriptor size' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'examples/load_balancer: fix Tx flush' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'examples/ethtool: fix link with ixgbe shared lib' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/thunderx: fix deadlock in Rx path' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'kni: fix crash caused by freeing mempool' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net: fix stripped VLAN flag for offload emulation' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/igb: fix VF MAC address setting' " Yuanhan Liu
2017-05-25  9:49 ` Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/ixgbe: fix default MAC " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/ixgbe: fix VF Rx mode for allmulticast disabled' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/ixgbe: fix setting MTU on stopped device' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/ixgbe: fix memory overflow in 32-bit SSE Rx' " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/i40e: " Yuanhan Liu
2017-05-25  9:49 ` [dpdk-stable] patch 'net/fm10k: " Yuanhan Liu
2017-05-25  9:50 ` [dpdk-stable] patch 'net/vmxnet3: fix build with gcc 7' " Yuanhan Liu
2017-05-25  9:50 ` [dpdk-stable] patch 'test/cmdline: fix missing break in switch' " Yuanhan Liu
2017-05-25  9:50 ` [dpdk-stable] patch 'app/testpmd: fix stack overwriting by flow command' " Yuanhan Liu
2017-05-25  9:50 ` [dpdk-stable] patch 'app/testpmd: fix MAC endian in " Yuanhan Liu
2017-05-25  9:50 ` [dpdk-stable] patch 'doc: explain zlib dependency for bnx2x' " Yuanhan Liu
2017-05-25  9:50 ` [dpdk-stable] patch 'eal/bsd: fix ioport write operation' " Yuanhan Liu
2017-05-25  9:50 ` [dpdk-stable] patch 'eal/bsd: fix read on PCI configuration space' " Yuanhan Liu
2017-05-25  9:50 ` [dpdk-stable] patch 'net/ixgbe: fix LSC interrupt' " Yuanhan Liu
2017-05-25  9:50 ` [dpdk-stable] patch 'net/mlx5: fix index handling for Tx ring' " Yuanhan Liu
2017-05-25  9:50 ` [dpdk-stable] patch 'net/mlx5: fix rollback when starting device' " Yuanhan Liu

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