patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2
@ 2017-04-07  8:11 Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'kni: fix build with kernel 4.11' " Yuanhan Liu
                   ` (45 more replies)
  0 siblings, 46 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Ben Walker; +Cc: Yuanhan Liu, Shreyansh Jain, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 73b3b85757b28d53d328fb174d4b14ee8478efbf 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 8b3ed88..f1de16e 100644
--- a/lib/librte_eal/bsdapp/eal/eal_pci.c
+++ b/lib/librte_eal/bsdapp/eal/eal_pci.c
@@ -323,6 +323,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 {
@@ -335,7 +336,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;
@@ -343,9 +344,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] 49+ messages in thread

* [dpdk-stable] patch 'kni: fix build with kernel 4.11' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'vfio: fix disabling INTx' " Yuanhan Liu
                   ` (44 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Yuanhan Liu, Jerin Jacob, Pankaj Gupta, dpdk stable

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=y, Size: 2760 bytes --]

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 4301083ec17ac1343381c4e0dec74df7b89e9697 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 ]
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

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] 49+ messages in thread

* [dpdk-stable] patch 'vfio: fix disabling INTx' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'kni: fix build with kernel 4.11' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'vfio: fix secondary process start' " Yuanhan Liu
                   ` (43 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Nikhil Rao; +Cc: Yuanhan Liu, Anatoly Burakov, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From ecafb8d77c87ce6deea9d5cf4eeb001890f2120e 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 47a3b20..368863f 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(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] 49+ messages in thread

* [dpdk-stable] patch 'vfio: fix secondary process start' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'kni: fix build with kernel 4.11' " Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'vfio: fix disabling INTx' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'nic_uio: fix device binding at boot' " Yuanhan Liu
                   ` (42 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Jianfeng Tan
  Cc: Yuanhan Liu, Pawel Rutkowski, Sergio Gonzalez Monroy, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 2a3aed76461b6903912784652e95f46459b16f7d 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] 49+ messages in thread

* [dpdk-stable] patch 'nic_uio: fix device binding at boot' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (2 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'vfio: fix secondary process start' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'eal/linux: fix build with glibc 2.25' " Yuanhan Liu
                   ` (41 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 4f5f87a035742b6f6fae9741433f2ed4777bd930 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] 49+ messages in thread

* [dpdk-stable] patch 'eal/linux: fix build with glibc 2.25' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (3 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'nic_uio: fix device binding at boot' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'examples/ip_fragmentation: fix check of packet type' " Yuanhan Liu
                   ` (40 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Jerin Jacob; +Cc: Yuanhan Liu, dpdk stable

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=y, Size: 2019 bytes --]

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 454ad884f2a76daa5517019a82d36a137c551b02 Mon Sep 17 00:00:00 2001
From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Date: Mon, 3 Apr 2017 14:05:14 +0530
Subject: [PATCH] eal/linux: fix build with glibc 2.25
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit 9256eed78a2ddd54c363241568a744ff65051f13 ]
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

glibc 2.25 is warning about if applications depend on
sys/types.h for makedev macro, it expects to be included
from <sys/sysmacros.h>

Found this error while testing with GCC 6.3.1 on archlinux.

lib/librte_eal/linuxapp/eal/eal_pci_uio.c: In function ‘pci_mknod_uio_dev’:
lib/librte_eal/linuxapp/eal/eal_pci_uio.c:134:13:
error: In the GNU C Library, "makedev" is defined
by <sys/sysmacros.h>. For historical compatibility, it is
currently defined by <sys/types.h> as well, but we plan to
remove this soon. To use "makedev", include <sys/sysmacros.h>
directly. If you did not intend to use a system-defined macro
"makedev", you should undefine it after including <sys/types.h>. [-Werror]
 dev = makedev(major, minor);
             ^~~~~~~~~~~~~~~~~

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 lib/librte_eal/linuxapp/eal/eal_pci_uio.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/librte_eal/linuxapp/eal/eal_pci_uio.c b/lib/librte_eal/linuxapp/eal/eal_pci_uio.c
index 3e4ffb5..aac05d7 100644
--- a/lib/librte_eal/linuxapp/eal/eal_pci_uio.c
+++ b/lib/librte_eal/linuxapp/eal/eal_pci_uio.c
@@ -38,6 +38,7 @@
 #include <inttypes.h>
 #include <sys/stat.h>
 #include <sys/mman.h>
+#include <sys/sysmacros.h>
 #include <linux/pci_regs.h>
 
 #if defined(RTE_ARCH_X86)
-- 
1.9.0

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

* [dpdk-stable] patch 'examples/ip_fragmentation: fix check of packet type' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (4 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'eal/linux: fix build with glibc 2.25' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'kni: fix build on Suse 12 SP3' " Yuanhan Liu
                   ` (39 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Wei Dai; +Cc: Yuanhan Liu, Fangfang Wei, Konstantin Ananyev, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From af67067d280646db649e8ede585d404075081d20 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] 49+ messages in thread

* [dpdk-stable] patch 'kni: fix build on Suse 12 SP3' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (5 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'examples/ip_fragmentation: fix check of packet type' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-10 10:01   ` Nirmoy Das
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/i40e: fix TC bitmap of VEB' " Yuanhan Liu
                   ` (38 subsequent siblings)
  45 siblings, 1 reply; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Nirmoy Das; +Cc: Yuanhan Liu, Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 7fd328241579dfcb4a4bffc5d1b15ebde21759b6 Mon Sep 17 00:00:00 2001
From: Nirmoy Das <ndas@suse.de>
Date: Tue, 4 Apr 2017 16:16:23 +0200
Subject: [PATCH] kni: fix build on Suse 12 SP3

[ upstream commit 2972254ce1630548d7b62ef7a6c61ce7c1a4b124 ]

Add support for SLES12SP3, which uses kernel 4.4,
but backported features from newer kernels.

Signed-off-by: Nirmoy Das <ndas@suse.de>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
index 84826b2..4abab4a 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
@@ -710,6 +710,9 @@ struct _kc_ethtool_pauseparam {
 #elif ( LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,28) )
 /* SLES12 is at least 3.12.28+ based */
 #define SLE_VERSION_CODE SLE_VERSION(12,0,0)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 57))
+/* SLES12SP3 is at least 4.4.57+ based */
+#define SLE_VERSION_CODE SLE_VERSION(12, 3, 0)
 #endif /* LINUX_VERSION_CODE == KERNEL_VERSION(x,y,z) */
 #endif /* CONFIG_SUSE_KERNEL */
 #ifndef SLE_VERSION_CODE
@@ -3929,8 +3932,9 @@ skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type)
 #define vlan_tx_tag_present skb_vlan_tag_present
 #endif
 
-#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(4,9,0) )
+#if ((LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)) || \
+    (SLE_VERSION_CODE && SLE_VERSION_CODE >= SLE_VERSION(12, 3, 0)))
 #define HAVE_VF_VLAN_PROTO
-#endif /* >= 4.9.0 */
+#endif /* >= 4.9.0, >= SLES12SP3 */
 
 #endif /* _KCOMPAT_H_ */
-- 
1.9.0

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

* [dpdk-stable] patch 'net/i40e: fix TC bitmap of VEB' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (6 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'kni: fix build on Suse 12 SP3' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/mlx5: fix VLAN stripping indication' " Yuanhan Liu
                   ` (37 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Wenzhuo Lu; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 38eb309997cd774fcf6f1b36a8815da9723bdde7 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 bf7e5a0..5c7647a 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -4105,6 +4105,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] 49+ messages in thread

* [dpdk-stable] patch 'net/mlx5: fix VLAN stripping indication' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (7 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/i40e: fix TC bitmap of VEB' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/i40e: fix compile error' " Yuanhan Liu
                   ` (36 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Shahaf Shuler; +Cc: Yuanhan Liu, Nelio Laranjeiro, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 6257eadbbf30bdbd196a0a3bf4b24a7495f9f5f6 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 3997b27..3f486f1 100644
--- a/drivers/net/mlx5/mlx5_rxtx.c
+++ b/drivers/net/mlx5/mlx5_rxtx.c
@@ -1356,7 +1356,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] 49+ messages in thread

* [dpdk-stable] patch 'net/i40e: fix compile error' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (8 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/mlx5: fix VLAN stripping indication' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/bnx2x: fix transmit queue free threshold' " Yuanhan Liu
                   ` (35 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Qi Zhang; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 5e2e8418a107c424cf905e479ab5296b624023a3 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 1b25b2f..9cc9808 100644
--- a/drivers/net/i40e/i40e_rxtx.c
+++ b/drivers/net/i40e/i40e_rxtx.c
@@ -2129,11 +2129,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 ecdb13c..635ed48 100644
--- a/drivers/net/i40e/i40e_rxtx.h
+++ b/drivers/net/i40e/i40e_rxtx.h
@@ -113,11 +113,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] 49+ messages in thread

* [dpdk-stable] patch 'net/bnx2x: fix transmit queue free threshold' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (9 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/i40e: fix compile error' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/e1000/base: fix multicast setting in VF' " Yuanhan Liu
                   ` (34 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Chas Williams; +Cc: Yuanhan Liu, Harish Patil, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From a4bd54f9f45ded0453717725d8a3eaebd943a17f 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] 49+ messages in thread

* [dpdk-stable] patch 'net/e1000/base: fix multicast setting in VF' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (10 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/bnx2x: fix transmit queue free threshold' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/mlx5: fix supported packets types' " Yuanhan Liu
                   ` (33 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Yong Wang; +Cc: Yuanhan Liu, Wenzhuo Lu, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 5f97632c81ffa4f43ab4abad68cac63500f69e77 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] 49+ messages in thread

* [dpdk-stable] patch 'net/mlx5: fix supported packets types' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (11 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/e1000/base: fix multicast setting in VF' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/ixgbe/base: fix build error' " Yuanhan Liu
                   ` (32 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Nélio Laranjeiro; +Cc: Yuanhan Liu, Adrien Mazarguil, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From eafb55617b8f628b268aa9b7e8ae4408ddbb3c0f 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 06cfd01..0aa274e 100644
--- a/drivers/net/mlx5/mlx5_ethdev.c
+++ b/drivers/net/mlx5/mlx5_ethdev.c
@@ -665,10 +665,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] 49+ messages in thread

* [dpdk-stable] patch 'net/ixgbe/base: fix build error' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (12 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/mlx5: fix supported packets types' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/ixgbe: fix Rx queue blocking issue' " Yuanhan Liu
                   ` (31 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Wenzhuo Lu; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 31a5c491d003030b294b2fb60d39c2d058167644 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 43c55d7..cf9d51d 100644
--- a/drivers/net/ixgbe/base/ixgbe_phy.c
+++ b/drivers/net/ixgbe/base/ixgbe_phy.c
@@ -1542,16 +1542,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");
@@ -1804,16 +1798,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");
@@ -1838,7 +1826,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] 49+ messages in thread

* [dpdk-stable] patch 'net/ixgbe: fix Rx queue blocking issue' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (13 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/ixgbe/base: fix build error' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/ixgbe: fix all queues drop setting of DCB' " Yuanhan Liu
                   ` (30 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Wenzhuo Lu; +Cc: Yuanhan Liu, Liang-Min Larry Wang, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 7d7a3a4b140865451faf87f9ef806ab53a559ce7 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 26395e4..09440cc 100644
--- a/drivers/net/ixgbe/ixgbe_pf.c
+++ b/drivers/net/ixgbe/ixgbe_pf.c
@@ -387,15 +387,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] 49+ messages in thread

* [dpdk-stable] patch 'net/ixgbe: fix all queues drop setting of DCB' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (14 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/ixgbe: fix Rx queue blocking issue' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/ixgbe: fix multi-queue mode check in SRIOV mode' " Yuanhan Liu
                   ` (29 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Wenzhuo Lu; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From b47f583b688c561dc0701d208a58dfdb5f492539 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 c61ce47..675066e 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
@@ -3323,7 +3323,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();
@@ -3343,18 +3342,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;
@@ -3488,16 +3475,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();
 	/*
@@ -3535,6 +3524,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 */
@@ -3647,7 +3651,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] 49+ messages in thread

* [dpdk-stable] patch 'net/ixgbe: fix multi-queue mode check in SRIOV mode' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (15 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/ixgbe: fix all queues drop setting of DCB' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'app/testpmd: fix init config for multi-queue " Yuanhan Liu
                   ` (28 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Jingjing Wu; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From dc373f84a89f4d8b6d60ac191bea74ce70f853b7 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 675066e..e541704 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
@@ -4087,9 +4087,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:
@@ -4097,10 +4096,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] 49+ messages in thread

* [dpdk-stable] patch 'app/testpmd: fix init config for multi-queue mode' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (16 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/ixgbe: fix multi-queue mode check in SRIOV mode' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'app/testpmd: fix TC mapping in DCB init config' " Yuanhan Liu
                   ` (27 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Jingjing Wu; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 818f6458e1a6ee85a9a9e1cf46594e8f83176b3e 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 a0332c2..eaa0ac7 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -1829,24 +1829,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] 49+ messages in thread

* [dpdk-stable] patch 'app/testpmd: fix TC mapping in DCB init config' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (17 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'app/testpmd: fix init config for multi-queue " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/i40e: fix incorrect packet index reference' " Yuanhan Liu
                   ` (26 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Jingjing Wu; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 1521bc17ce2fa1084abc15ca99aa8cb51aff7a95 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 eaa0ac7..efd7d64 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -1927,9 +1927,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] 49+ messages in thread

* [dpdk-stable] patch 'net/i40e: fix incorrect packet index reference' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (18 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'app/testpmd: fix TC mapping in DCB init config' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/ixgbevf: set xstats id values' " Yuanhan Liu
                   ` (25 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Jerin Jacob; +Cc: Yuanhan Liu, Sunil Kulkarni, Jianbo Liu, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 8500eb33421545e96bfda1db980d826e9a79a479 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] 49+ messages in thread

* [dpdk-stable] patch 'net/ixgbevf: set xstats id values' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (19 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/i40e: fix incorrect packet index reference' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/pcap: fix using mbuf after freeing it' " Yuanhan Liu
                   ` (24 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Ido Barnea; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 0da62ba8dc47d9637ed6435a2477d523144c2c81 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 bac36e0..5fe357d 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -2991,6 +2991,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] 49+ messages in thread

* [dpdk-stable] patch 'net/pcap: fix using mbuf after freeing it' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (20 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/ixgbevf: set xstats id values' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/ena: fix return of hash control flushing' " Yuanhan Liu
                   ` (23 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Johan Samuelsson; +Cc: Yuanhan Liu, Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 3c8d7d7fffa21adbdc3b518e2f694362aa210f80 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 57b0b31..1a208ff 100644
--- a/drivers/net/pcap/rte_eth_pcap.c
+++ b/drivers/net/pcap/rte_eth_pcap.c
@@ -294,9 +294,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] 49+ messages in thread

* [dpdk-stable] patch 'net/ena: fix return of hash control flushing' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (21 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/pcap: fix using mbuf after freeing it' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/thunderx: fix 32-bit build' " Yuanhan Liu
                   ` (22 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Yong Wang; +Cc: Yuanhan Liu, Jan Medala, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 4dd63adb6ed39dfc51cbe83ed77e58dfa613ef15 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] 49+ messages in thread

* [dpdk-stable] patch 'net/thunderx: fix 32-bit build' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (22 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/ena: fix return of hash control flushing' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/thunderx: fix build on FreeBSD' " Yuanhan Liu
                   ` (21 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Jerin Jacob; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 467ad96a5ebad6347d58822bee4ded396448bf2c 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] 49+ messages in thread

* [dpdk-stable] patch 'net/thunderx: fix build on FreeBSD' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (23 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/thunderx: fix 32-bit build' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/mlx4: update link status upon probing with LSC' " Yuanhan Liu
                   ` (20 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Jerin Jacob; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 59820330c5e8a86bed3d47d51624e1ae2ad78455 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 466e49c..aea445b 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] 49+ messages in thread

* [dpdk-stable] patch 'net/mlx4: update link status upon probing with LSC' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (24 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/thunderx: fix build on FreeBSD' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/i40e/base: fix potential out of bound array access' " Yuanhan Liu
                   ` (19 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Gaetan Rivet; +Cc: Yuanhan Liu, Adrien Mazarguil, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 400ce9bb7e486edb717719884a40d8ea71afcbf6 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 6d43a97..262277f 100644
--- a/drivers/net/mlx4/mlx4.c
+++ b/drivers/net/mlx4/mlx4.c
@@ -5857,6 +5857,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] 49+ messages in thread

* [dpdk-stable] patch 'net/i40e/base: fix potential out of bound array access' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (25 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/mlx4: update link status upon probing with LSC' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/mlx5: fix reusing Rx/Tx queues' " Yuanhan Liu
                   ` (18 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Jingjing Wu; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From a44d2b8004f42e9b39548969e3728e07134b3822 Mon Sep 17 00:00:00 2001
From: Jingjing Wu <jingjing.wu@intel.com>
Date: Wed, 22 Mar 2017 17:24:55 +0800
Subject: [PATCH] net/i40e/base: fix potential out of bound array access

[ upstream commit 998c56772d0dc554c0209880d9394a0d14a18c74 ]

This is fix for klocwork issue where dcbcfg->numapps could
be greater than size of array (i.e dcbcfg->app[I40E_DCBX_MAX_APPS]).
The fix makes sure the array is not accessed past size of array
(i.e. I40E_DCBX_MAX_APPS).

Fixes: 166dceeeeafc ("i40e/base: add parsing for CEE DCBX TLVs")

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
---
 drivers/net/i40e/base/i40e_dcb.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/i40e/base/i40e_dcb.c b/drivers/net/i40e/base/i40e_dcb.c
index 26c344f..9b5405d 100644
--- a/drivers/net/i40e/base/i40e_dcb.c
+++ b/drivers/net/i40e/base/i40e_dcb.c
@@ -396,6 +396,8 @@ static void i40e_parse_cee_app_tlv(struct i40e_cee_feat_tlv *tlv,
 	dcbcfg->numapps = length / sizeof(*app);
 	if (!dcbcfg->numapps)
 		return;
+	if (dcbcfg->numapps > I40E_DCBX_MAX_APPS)
+		dcbcfg->numapps = I40E_DCBX_MAX_APPS;
 
 	for (i = 0; i < dcbcfg->numapps; i++) {
 		u8 up, selector;
-- 
1.9.0

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

* [dpdk-stable] patch 'net/mlx5: fix reusing Rx/Tx queues' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (26 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/i40e/base: fix potential out of bound array access' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/ixgbe: fix TC bandwidth setting' " Yuanhan Liu
                   ` (17 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Yongseok Koh; +Cc: Yuanhan Liu, Nelio Laranjeiro, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From f3f88ef8d8c26afafc9fb2162590ae12103126d9 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 439908f..c286367 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] 49+ messages in thread

* [dpdk-stable] patch 'net/ixgbe: fix TC bandwidth setting' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (27 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/mlx5: fix reusing Rx/Tx queues' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/mlx4: fix returned values upon failed probing' " Yuanhan Liu
                   ` (16 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Wenzhuo Lu; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 5dab54f9b05753d274e5a6f6cfa3e34d7fe3ad6d 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 e541704..d1e300a 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
@@ -3710,6 +3710,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] 49+ messages in thread

* [dpdk-stable] patch 'net/mlx4: fix returned values upon failed probing' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (28 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/ixgbe: fix TC bandwidth setting' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/mlx5: " Yuanhan Liu
                   ` (15 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Gaetan Rivet; +Cc: Yuanhan Liu, Adrien Mazarguil, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 8ba039e25b3486a4a915cee32b0ec2365e5e54bb 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 262277f..695efe3 100644
--- a/drivers/net/mlx4/mlx4.c
+++ b/drivers/net/mlx4/mlx4.c
@@ -5571,10 +5571,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);
@@ -5606,11 +5604,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] 49+ messages in thread

* [dpdk-stable] patch 'net/mlx5: fix returned values upon failed probing' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (29 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/mlx4: fix returned values upon failed probing' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/fm10k: fix pointer cast' " Yuanhan Liu
                   ` (14 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Gaetan Rivet; +Cc: Yuanhan Liu, Adrien Mazarguil, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From dec20317e5359a9c8fd92821f1050c7063212e70 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 cb45fd0..aa9d2dc 100644
--- a/drivers/net/mlx5/mlx5.c
+++ b/drivers/net/mlx5/mlx5.c
@@ -384,10 +384,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);
@@ -427,11 +425,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] 49+ messages in thread

* [dpdk-stable] patch 'net/fm10k: fix pointer cast' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (30 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/mlx5: " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/qede: fix missing UDP protocol in RSS offload types' " Yuanhan Liu
                   ` (13 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Xiao Wang; +Cc: Yuanhan Liu, Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From fbc0d32145fad1aa717f358264b55e5281d77195 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 7c51d3b..32b0ea9 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -1797,7 +1797,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;
 
@@ -2767,7 +2768,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;
 
@@ -2809,7 +2811,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] 49+ messages in thread

* [dpdk-stable] patch 'net/qede: fix missing UDP protocol in RSS offload types' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (31 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/fm10k: fix pointer cast' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/mlx5: fix Tx when first segment size is too short' " Yuanhan Liu
                   ` (12 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Harish Patil; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 4dfad3834d79a75336f90914979cdcba307ffe4a 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 6d6fb9d..debf7bf 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -1286,6 +1286,8 @@ 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] 49+ messages in thread

* [dpdk-stable] patch 'net/mlx5: fix Tx when first segment size is too short' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (32 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/qede: fix missing UDP protocol in RSS offload types' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'vhost: change log levels in client mode' " Yuanhan Liu
                   ` (11 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Nélio Laranjeiro
  Cc: Yuanhan Liu, Adrien Mazarguil, Yongseok Koh, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 87db72dee50492bec9ce23fdcd096ef0d5005e82 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 3f486f1..1acdfd4 100644
--- a/drivers/net/mlx5/mlx5_rxtx.c
+++ b/drivers/net/mlx5/mlx5_rxtx.c
@@ -431,7 +431,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] 49+ messages in thread

* [dpdk-stable] patch 'vhost: change log levels in client mode' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (33 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/mlx5: fix Tx when first segment size is too short' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'vhost: fix multiple queue not enabled for old kernels' " Yuanhan Liu
                   ` (10 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Ilya Maximets; +Cc: Yuanhan Liu, Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 1981a96515b0a14ecd0d91f138a7fdf420d79247 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] 49+ messages in thread

* [dpdk-stable] patch 'vhost: fix multiple queue not enabled for old kernels' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (34 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'vhost: change log levels in client mode' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'vhost: fix max queues' " Yuanhan Liu
                   ` (9 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Yuanhan Liu; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From abd6a605076a6579653a3e691a5981d4e1defe7f 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] 49+ messages in thread

* [dpdk-stable] patch 'vhost: fix max queues' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (35 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'vhost: fix multiple queue not enabled for old kernels' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'vhost: fix false sharing' " Yuanhan Liu
                   ` (8 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Yuanhan Liu; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From c7bab6d5a7a450ddfeaae7a40fd5e5995aa2fb25 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] 49+ messages in thread

* [dpdk-stable] patch 'vhost: fix false sharing' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (36 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'vhost: fix max queues' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'vhost: fix fd leaks for vhost-user server mode' " Yuanhan Liu
                   ` (7 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Kevin Traynor; +Cc: Yuanhan Liu, Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 071a0f1441a087edc4337bdc2ea9f4e038099973 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] 49+ messages in thread

* [dpdk-stable] patch 'vhost: fix fd leaks for vhost-user server mode' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (37 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'vhost: fix false sharing' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/mlx5: fix an uninitialized variable' " Yuanhan Liu
                   ` (6 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Yuanhan Liu; +Cc: Ilya Maximets, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 62c9de08e2969c996ecae47954741004db1de3ae 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] 49+ messages in thread

* [dpdk-stable] patch 'net/mlx5: fix an uninitialized variable' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (38 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'vhost: fix fd leaks for vhost-user server mode' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:11 ` [dpdk-stable] patch 'mk: fix shell errors when building with clang' " Yuanhan Liu
                   ` (5 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Nelio Laranjeiro; +Cc: Yuanhan Liu, Olivier Matz, dpdk stable

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=y, Size: 1961 bytes --]

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 2e86ee962ff4f897ec839e2c97da5d428353bc45 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 ]
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

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 1acdfd4..58926e3 100644
--- a/drivers/net/mlx5/mlx5_rxtx.c
+++ b/drivers/net/mlx5/mlx5_rxtx.c
@@ -1291,7 +1291,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] 49+ messages in thread

* [dpdk-stable] patch 'mk: fix shell errors when building with clang' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (39 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'net/mlx5: fix an uninitialized variable' " Yuanhan Liu
@ 2017-04-07  8:11 ` Yuanhan Liu
  2017-04-07  8:12 ` [dpdk-stable] patch 'mk: fix lib filtering when linking app' " Yuanhan Liu
                   ` (4 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:11 UTC (permalink / raw)
  To: Olivier Matz; +Cc: Yuanhan Liu, Thomas Monjalon, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 694225f4a3efc50cc8f24de7ebf8a9dbfb66c840 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] 49+ messages in thread

* [dpdk-stable] patch 'mk: fix lib filtering when linking app' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (40 preceding siblings ...)
  2017-04-07  8:11 ` [dpdk-stable] patch 'mk: fix shell errors when building with clang' " Yuanhan Liu
@ 2017-04-07  8:12 ` Yuanhan Liu
  2017-04-07  8:12 ` [dpdk-stable] patch 'examples/quota_watermark: fix requirement for 2M pages' " Yuanhan Liu
                   ` (3 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:12 UTC (permalink / raw)
  To: Olivier Matz; +Cc: Yuanhan Liu, Thomas Monjalon, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 5d23520c8e6388b684b0c82fe636ee4148af7f6e 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 f75f0e2..725e01d 100644
--- a/mk/rte.app.mk
+++ b/mk/rte.app.mk
@@ -168,10 +168,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] 49+ messages in thread

* [dpdk-stable] patch 'examples/quota_watermark: fix requirement for 2M pages' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (41 preceding siblings ...)
  2017-04-07  8:12 ` [dpdk-stable] patch 'mk: fix lib filtering when linking app' " Yuanhan Liu
@ 2017-04-07  8:12 ` Yuanhan Liu
  2017-04-07  8:12 ` [dpdk-stable] patch 'net/vmxnet3: fix queue size changes' " Yuanhan Liu
                   ` (2 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:12 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From b4c36510f69f37acf14cc732e3e4f54c6afb227e Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Thu, 23 Feb 2017 16:42:03 +0000
Subject: [PATCH] examples/quota_watermark: fix requirement for 2M pages

[ backported from upstream commit c9051455d6bcd4bfdffdc83c8f2c329a7534921c ]

The sample app was forcing the shared memory block for high/low
watermarks to be placed in a memzone on 2M pages. This prevented it
from running on systems with just 1G pages, so remove the flag forcing
2M pages.

Fixes: 1d6c3ee3321a ("examples/quota_watermark: initial import")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 examples/quota_watermark/qw/init.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/quota_watermark/qw/init.c b/examples/quota_watermark/qw/init.c
index c208721..74b38b5 100644
--- a/examples/quota_watermark/qw/init.c
+++ b/examples/quota_watermark/qw/init.c
@@ -165,7 +165,7 @@ setup_shared_variables(void)
     const struct rte_memzone *qw_memzone;
 
     qw_memzone = rte_memzone_reserve(QUOTA_WATERMARK_MEMZONE_NAME, 2 * sizeof(int),
-                                     rte_socket_id(), RTE_MEMZONE_2MB);
+                                     rte_socket_id(), 0);
     if (qw_memzone == NULL)
         rte_exit(EXIT_FAILURE, "%s\n", rte_strerror(rte_errno));
 
-- 
1.9.0

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

* [dpdk-stable] patch 'net/vmxnet3: fix queue size changes' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (42 preceding siblings ...)
  2017-04-07  8:12 ` [dpdk-stable] patch 'examples/quota_watermark: fix requirement for 2M pages' " Yuanhan Liu
@ 2017-04-07  8:12 ` Yuanhan Liu
  2017-04-07  8:12 ` [dpdk-stable] patch 'net/virtio-user: fix overflow' " Yuanhan Liu
  2017-04-07  8:12 ` [dpdk-stable] patch 'net/virtio: disable LSC interrupt if MSIX not enabled' " Yuanhan Liu
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:12 UTC (permalink / raw)
  To: Chas Williams; +Cc: Yuanhan Liu, Jan Blunck, Shrikrishna Khare, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From 94aa7049c47d4f7ab321a129d7db858cf21b5d04 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 93db10f..3ded18e 100644
--- a/drivers/net/vmxnet3/vmxnet3_rxtx.c
+++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c
@@ -192,6 +192,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);
 	}
 }
 
@@ -209,6 +211,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);
 	}
 }
 
@@ -816,30 +821,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,
@@ -907,11 +888,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 */
@@ -1009,11 +992,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] 49+ messages in thread

* [dpdk-stable] patch 'net/virtio-user: fix overflow' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (43 preceding siblings ...)
  2017-04-07  8:12 ` [dpdk-stable] patch 'net/vmxnet3: fix queue size changes' " Yuanhan Liu
@ 2017-04-07  8:12 ` Yuanhan Liu
  2017-04-07  8:12 ` [dpdk-stable] patch 'net/virtio: disable LSC interrupt if MSIX not enabled' " Yuanhan Liu
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:12 UTC (permalink / raw)
  To: Wenfeng Liu; +Cc: Yuanhan Liu, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From a186acf3c9c46d258f324b637a0ba863e2fc20e3 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

[ backported from 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 511a1c8..d83a685 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 a38398b..91f6a59 100644
--- a/drivers/net/virtio/virtio_user/virtio_user_dev.c
+++ b/drivers/net/virtio/virtio_user/virtio_user_dev.c
@@ -230,7 +230,7 @@ virtio_user_dev_init(struct virtio_user_dev *dev, char *path, int queues,
 	parse_mac(dev, mac);
 	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 28fc788..1326b91 100644
--- a/drivers/net/virtio/virtio_user/virtio_user_dev.h
+++ b/drivers/net/virtio/virtio_user/virtio_user_dev.h
@@ -40,8 +40,8 @@
 
 struct virtio_user_dev {
 	int		vhostfd;
-	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;
@@ -53,7 +53,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];
 };
 
 int virtio_user_start_device(struct virtio_user_dev *dev);
diff --git a/drivers/net/virtio/virtio_user_ethdev.c b/drivers/net/virtio/virtio_user_ethdev.c
index 013600e..f018724 100644
--- a/drivers/net/virtio/virtio_user_ethdev.c
+++ b/drivers/net/virtio/virtio_user_ethdev.c
@@ -416,6 +416,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] 49+ messages in thread

* [dpdk-stable] patch 'net/virtio: disable LSC interrupt if MSIX not enabled' has been queued to LTS release 16.11.2
  2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
                   ` (44 preceding siblings ...)
  2017-04-07  8:12 ` [dpdk-stable] patch 'net/virtio-user: fix overflow' " Yuanhan Liu
@ 2017-04-07  8:12 ` Yuanhan Liu
  45 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-07  8:12 UTC (permalink / raw)
  To: Matt Peters; +Cc: Yuanhan Liu, Allain Legacy, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 16.11.2

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

Thanks.

	--yliu

---
>From eee42f85b779dfc55352f73f91fc1cde1e6ff132 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 f5961ab..ff3f781 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -1210,11 +1210,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] 49+ messages in thread

* Re: [dpdk-stable] patch 'kni: fix build on Suse 12 SP3' has been queued to LTS release 16.11.2
  2017-04-07  8:11 ` [dpdk-stable] patch 'kni: fix build on Suse 12 SP3' " Yuanhan Liu
@ 2017-04-10 10:01   ` Nirmoy Das
  2017-04-11 12:38     ` Yuanhan Liu
  0 siblings, 1 reply; 49+ messages in thread
From: Nirmoy Das @ 2017-04-10 10:01 UTC (permalink / raw)
  To: Yuanhan Liu; +Cc: Ferruh Yigit, dpdk stable

Hi yliu.

I realized the fix is not complete. I need to add some more
changes to make it work properly.

So I would say lets not add the patch to LTS release for now.

On 04/07/2017 10:11 AM, Yuanhan Liu wrote:
> Hi,
> 
> FYI, your patch has been queued to LTS release 16.11.2
> 
> Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable
> yet. It will be pushed if I get no objections before 04/11/17.
> So please shout if anyone has objections.
> 
> Thanks.
> 
> 	--yliu
> 
> ---
> From 7fd328241579dfcb4a4bffc5d1b15ebde21759b6 Mon Sep 17 00:00:00 2001
> From: Nirmoy Das <ndas@suse.de>
> Date: Tue, 4 Apr 2017 16:16:23 +0200
> Subject: [PATCH] kni: fix build on Suse 12 SP3
> 
> [ upstream commit 2972254ce1630548d7b62ef7a6c61ce7c1a4b124 ]
> 
> Add support for SLES12SP3, which uses kernel 4.4,
> but backported features from newer kernels.
> 
> Signed-off-by: Nirmoy Das <ndas@suse.de>
> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
> ---
>  lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
> index 84826b2..4abab4a 100644
> --- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
> +++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
> @@ -710,6 +710,9 @@ struct _kc_ethtool_pauseparam {
>  #elif ( LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,28) )
>  /* SLES12 is at least 3.12.28+ based */
>  #define SLE_VERSION_CODE SLE_VERSION(12,0,0)
> +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 57))
> +/* SLES12SP3 is at least 4.4.57+ based */
> +#define SLE_VERSION_CODE SLE_VERSION(12, 3, 0)
>  #endif /* LINUX_VERSION_CODE == KERNEL_VERSION(x,y,z) */
>  #endif /* CONFIG_SUSE_KERNEL */
>  #ifndef SLE_VERSION_CODE
> @@ -3929,8 +3932,9 @@ skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type)
>  #define vlan_tx_tag_present skb_vlan_tag_present
>  #endif
>  
> -#if ( LINUX_VERSION_CODE >= KERNEL_VERSION(4,9,0) )
> +#if ((LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)) || \
> +    (SLE_VERSION_CODE && SLE_VERSION_CODE >= SLE_VERSION(12, 3, 0)))
>  #define HAVE_VF_VLAN_PROTO
> -#endif /* >= 4.9.0 */
> +#endif /* >= 4.9.0, >= SLES12SP3 */
>  
>  #endif /* _KCOMPAT_H_ */
> 

Nirmoy
-- 
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB
21284 (AG Nürnberg) Maxfeldstr. 5
D-90409 Nürnberg / Phone: +49-911-740 18-4

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

* Re: [dpdk-stable] patch 'kni: fix build on Suse 12 SP3' has been queued to LTS release 16.11.2
  2017-04-10 10:01   ` Nirmoy Das
@ 2017-04-11 12:38     ` Yuanhan Liu
  0 siblings, 0 replies; 49+ messages in thread
From: Yuanhan Liu @ 2017-04-11 12:38 UTC (permalink / raw)
  To: Nirmoy Das; +Cc: Ferruh Yigit, dpdk stable

On Mon, Apr 10, 2017 at 12:01:08PM +0200, Nirmoy Das wrote:
> Hi yliu.
> 
> I realized the fix is not complete. I need to add some more
> changes to make it work properly.
> 
> So I would say lets not add the patch to LTS release for now.

Thanks for the note. It's now dropped. Please keep me informed when
you have a complete fix.

	--yliu

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

end of thread, other threads:[~2017-04-11 12:41 UTC | newest]

Thread overview: 49+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-07  8:11 [dpdk-stable] patch 'pci: fix device registration on FreeBSD' has been queued to LTS release 16.11.2 Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'kni: fix build with kernel 4.11' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'vfio: fix disabling INTx' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'vfio: fix secondary process start' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'nic_uio: fix device binding at boot' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'eal/linux: fix build with glibc 2.25' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'examples/ip_fragmentation: fix check of packet type' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'kni: fix build on Suse 12 SP3' " Yuanhan Liu
2017-04-10 10:01   ` Nirmoy Das
2017-04-11 12:38     ` Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/i40e: fix TC bitmap of VEB' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/mlx5: fix VLAN stripping indication' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/i40e: fix compile error' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/bnx2x: fix transmit queue free threshold' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/e1000/base: fix multicast setting in VF' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/mlx5: fix supported packets types' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/ixgbe/base: fix build error' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/ixgbe: fix Rx queue blocking issue' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/ixgbe: fix all queues drop setting of DCB' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/ixgbe: fix multi-queue mode check in SRIOV mode' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'app/testpmd: fix init config for multi-queue " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'app/testpmd: fix TC mapping in DCB init config' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/i40e: fix incorrect packet index reference' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/ixgbevf: set xstats id values' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/pcap: fix using mbuf after freeing it' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/ena: fix return of hash control flushing' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/thunderx: fix 32-bit build' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/thunderx: fix build on FreeBSD' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/mlx4: update link status upon probing with LSC' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/i40e/base: fix potential out of bound array access' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/mlx5: fix reusing Rx/Tx queues' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/ixgbe: fix TC bandwidth setting' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/mlx4: fix returned values upon failed probing' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/mlx5: " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/fm10k: fix pointer cast' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/qede: fix missing UDP protocol in RSS offload types' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/mlx5: fix Tx when first segment size is too short' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'vhost: change log levels in client mode' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'vhost: fix multiple queue not enabled for old kernels' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'vhost: fix max queues' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'vhost: fix false sharing' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'vhost: fix fd leaks for vhost-user server mode' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'net/mlx5: fix an uninitialized variable' " Yuanhan Liu
2017-04-07  8:11 ` [dpdk-stable] patch 'mk: fix shell errors when building with clang' " Yuanhan Liu
2017-04-07  8:12 ` [dpdk-stable] patch 'mk: fix lib filtering when linking app' " Yuanhan Liu
2017-04-07  8:12 ` [dpdk-stable] patch 'examples/quota_watermark: fix requirement for 2M pages' " Yuanhan Liu
2017-04-07  8:12 ` [dpdk-stable] patch 'net/vmxnet3: fix queue size changes' " Yuanhan Liu
2017-04-07  8:12 ` [dpdk-stable] patch 'net/virtio-user: fix overflow' " Yuanhan Liu
2017-04-07  8:12 ` [dpdk-stable] patch 'net/virtio: disable LSC interrupt if MSIX not enabled' " 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).