patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2
@ 2016-11-02 10:20 Yuanhan Liu
  2016-11-02 10:20 ` [dpdk-stable] patch 'pdump: fix created directory permissions' " Yuanhan Liu
                   ` (39 more replies)
  0 siblings, 40 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:20 UTC (permalink / raw)
  To: Sergio Gonzalez Monroy; +Cc: Pablo de Lara, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From ffb20410c8326806428c8b3bad13a63407ca3a39 Mon Sep 17 00:00:00 2001
From: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Date: Thu, 29 Sep 2016 16:44:11 +0100
Subject: [PATCH] examples/ipsec-secgw: check SP only when setup

[ upstream commit 6e1892a698bb609962038606189dea1aa1fcd1b0 ]

Application will segfault if there is IPv4 or IPv6 and no SP/ACL rules
for IPv4 or IPv6 respectively.

Avoid checking the ACL/SP in such cases.

Fixes: 906257e965b7 ("examples/ipsec-secgw: support IPv6")

Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 examples/ipsec-secgw/ipsec-secgw.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c
index 5d04eb3..266ae20 100644
--- a/examples/ipsec-secgw/ipsec-secgw.c
+++ b/examples/ipsec-secgw/ipsec-secgw.c
@@ -390,7 +390,7 @@ inbound_sp_sa(struct sp_ctx *sp, struct sa_ctx *sa, struct traffic_type *ip,
 	struct rte_mbuf *m;
 	uint32_t i, j, res, sa_idx;
 
-	if (ip->num == 0)
+	if (ip->num == 0 || sp == NULL)
 		return;
 
 	rte_acl_classify((struct rte_acl_ctx *)sp, ip->data, ip->res,
@@ -465,7 +465,7 @@ outbound_sp(struct sp_ctx *sp, struct traffic_type *ip,
 	struct rte_mbuf *m;
 	uint32_t i, j, sa_idx;
 
-	if (ip->num == 0)
+	if (ip->num == 0 || sp == NULL)
 		return;
 
 	rte_acl_classify((struct rte_acl_ctx *)sp, ip->data, ip->res,
-- 
1.9.0

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

* [dpdk-stable] patch 'pdump: fix created directory permissions' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
@ 2016-11-02 10:20 ` Yuanhan Liu
  2016-11-02 10:20 ` [dpdk-stable] patch 'app/procinfo: free xstats memory upon failure' " Yuanhan Liu
                   ` (38 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:20 UTC (permalink / raw)
  To: Reshma Pattan; +Cc: Jianfeng Tan, dpdk stable, Remy Horton

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From e99f9b26ecd7ae869f507e8f70eaacc4e262b277 Mon Sep 17 00:00:00 2001
From: Reshma Pattan <reshma.pattan@intel.com>
Date: Mon, 10 Oct 2016 15:35:48 +0100
Subject: [PATCH] pdump: fix created directory permissions

[ upstream commit 1a0c9cb015b89ba0616f72e706a597805d5b955f ]

Inside the function pdump_get_socket_path(), pdump socket
directories are created using mkdir() call with permissions 700,
which was assigning wrong permissions to the directories
i.e. "d-w-r-xr-T" instead of drwx---. The reason is mkdir() call
doesn't consider 700 as an octal value until unless 0 is explicitly
added before the value. Because of this, socket creation failure is
observed when DPDK application was ran in non root user mode.
DPDK application running in root user mode never reported the issue.

So 0 is prefixed to the value to create directories with
the correct permissions.

Fixes: e4ffa2d3 ("pdump: fix error handlings")
Fixes: bdd8dcc6 ("pdump: fix default socket path")

Reported-by: Jianfeng Tan <jianfeng.tan@intel.com>
Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Acked-by: Remy Horton <remy.horton@intel.com>
---
 lib/librte_pdump/rte_pdump.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/librte_pdump/rte_pdump.c b/lib/librte_pdump/rte_pdump.c
index 9b921ce..ea5ccd9 100644
--- a/lib/librte_pdump/rte_pdump.c
+++ b/lib/librte_pdump/rte_pdump.c
@@ -471,12 +471,12 @@ pdump_get_socket_path(char *buffer, int bufsz, enum rte_pdump_socktype type)
 			snprintf(dpdk_dir, sizeof(dpdk_dir), "%s%s",
 					SOCKET_PATH_VAR_RUN, DPDK_DIR);
 
-		mkdir(dpdk_dir, 700);
+		mkdir(dpdk_dir, 0700);
 		snprintf(dir, sizeof(dir), "%s%s",
 					dpdk_dir, SOCKET_DIR);
 	}
 
-	ret =  mkdir(dir, 700);
+	ret =  mkdir(dir, 0700);
 	/* if user passed socket path is invalid, return immediately */
 	if (ret < 0 && errno != EEXIST) {
 		RTE_LOG(ERR, PDUMP,
-- 
1.9.0

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

* [dpdk-stable] patch 'app/procinfo: free xstats memory upon failure' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
  2016-11-02 10:20 ` [dpdk-stable] patch 'pdump: fix created directory permissions' " Yuanhan Liu
@ 2016-11-02 10:20 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'examples/ip_pipeline: fix plugin loading' " Yuanhan Liu
                   ` (37 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:20 UTC (permalink / raw)
  To: Reshma Pattan; +Cc: dpdk stable, Remy Horton

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From fe0d47fe8dc4a0647e2450824a525f46c53ed959 Mon Sep 17 00:00:00 2001
From: Reshma Pattan <reshma.pattan@intel.com>
Date: Tue, 4 Oct 2016 17:42:22 +0100
Subject: [PATCH] app/procinfo: free xstats memory upon failure

[ upstream commit 4e1c139f79207ef1d67cf680970e801c902ae533 ]

Some of the failures cases inside the nic_xstats_display()
function doesn't free the allocated memory for the xstats and
their names, memory is freed now.

Fixes: e2aae1c1 ("ethdev: remove name from extended statistic fetch")
Fixes: 22561383 ("app: replace dump_cfg by proc_info")

Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Acked-by: Remy Horton <remy.horton@intel.com>
---
 app/proc_info/main.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/app/proc_info/main.c b/app/proc_info/main.c
index 6dc0bbb..595f79f 100644
--- a/app/proc_info/main.c
+++ b/app/proc_info/main.c
@@ -268,7 +268,7 @@ nic_xstats_display(uint8_t port_id)
 	if (len != rte_eth_xstats_get_names(
 			port_id, xstats_names, len)) {
 		printf("Cannot get xstat names\n");
-		return;
+		goto err;
 	}
 
 	printf("###### NIC extended statistics for port %-2d #########\n",
@@ -278,8 +278,7 @@ nic_xstats_display(uint8_t port_id)
 	ret = rte_eth_xstats_get(port_id, xstats, len);
 	if (ret < 0 || ret > len) {
 		printf("Cannot get xstats\n");
-		free(xstats);
-		return;
+		goto err;
 	}
 
 	for (i = 0; i < len; i++)
@@ -289,6 +288,7 @@ nic_xstats_display(uint8_t port_id)
 
 	printf("%s############################\n",
 			   nic_stats_border);
+err:
 	free(xstats);
 	free(xstats_names);
 }
-- 
1.9.0

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

* [dpdk-stable] patch 'examples/ip_pipeline: fix plugin loading' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
  2016-11-02 10:20 ` [dpdk-stable] patch 'pdump: fix created directory permissions' " Yuanhan Liu
  2016-11-02 10:20 ` [dpdk-stable] patch 'app/procinfo: free xstats memory upon failure' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'examples/qos_sched: fix dequeue from ring' " Yuanhan Liu
                   ` (36 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Gowrishankar Muthukrishnan; +Cc: Cristian Dumitrescu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From b514c5774f6bca7ca88790cf215532790bdaa5da Mon Sep 17 00:00:00 2001
From: Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>
Date: Tue, 4 Oct 2016 16:13:17 +0530
Subject: [PATCH] examples/ip_pipeline: fix plugin loading

[ upstream commit 33aa4f077d7d04ecc00ddcc0ed2de998cb1eb242 ]

There is typo in init.c of ip_pipeline example due to which,
invalid file path is added to -d option of EAL i.e path starting
with =.

Signed-off-by: Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
---
 examples/ip_pipeline/init.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/ip_pipeline/init.c b/examples/ip_pipeline/init.c
index cd167f6..891b327 100644
--- a/examples/ip_pipeline/init.c
+++ b/examples/ip_pipeline/init.c
@@ -236,7 +236,7 @@ app_init_eal(struct app_params *app)
 	}
 
 	if (p->add_driver) {
-		snprintf(buffer, sizeof(buffer), "-d=%s", p->add_driver);
+		snprintf(buffer, sizeof(buffer), "-d%s", p->add_driver);
 		app->eal_argv[n_args++] = strdup(buffer);
 	}
 
-- 
1.9.0

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

* [dpdk-stable] patch 'examples/qos_sched: fix dequeue from ring' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (2 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'examples/ip_pipeline: fix plugin loading' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'app/test: fix hash multiwriter sequence' " Yuanhan Liu
                   ` (35 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Jasvinder Singh; +Cc: Tao Y Yang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From 52f8f28a1952af3382cc0585a3bc032677aea099 Mon Sep 17 00:00:00 2001
From: Jasvinder Singh <jasvinder.singh@intel.com>
Date: Thu, 1 Sep 2016 11:11:04 +0100
Subject: [PATCH] examples/qos_sched: fix dequeue from ring

[ upstream commit edabd7fef5448af6a9f81892fdb4a365fad9e320 ]

The app_worker_thread() and app_mixed_thread() use rte_ring_sc_dequeue_bulk
to dequeue packets from the ring and this imposes restriction on number of
packets in software ring to be greater than the specified value to start
actual dequeue operation, thus, adds latency to those packets. Therefore,
rte_ring_sc_dequeue_bulk is replaced with rte_ring_sc_dequeue_burst.

Fixes: de3cfa2c9823 ("sched: initial import")

Suggested-by: Tao Y Yang <tao.y.yang@intel.com>
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
---
 examples/qos_sched/app_thread.c | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/examples/qos_sched/app_thread.c b/examples/qos_sched/app_thread.c
index 3c678cc..70fdcdb 100644
--- a/examples/qos_sched/app_thread.c
+++ b/examples/qos_sched/app_thread.c
@@ -215,17 +215,16 @@ app_worker_thread(struct thread_conf **confs)
 
 	while ((conf = confs[conf_idx])) {
 		uint32_t nb_pkt;
-		int retval;
 
 		/* Read packet from the ring */
-		retval = rte_ring_sc_dequeue_bulk(conf->rx_ring, (void **)mbufs,
+		nb_pkt = rte_ring_sc_dequeue_burst(conf->rx_ring, (void **)mbufs,
 					burst_conf.ring_burst);
-		if (likely(retval == 0)) {
+		if (likely(nb_pkt)) {
 			int nb_sent = rte_sched_port_enqueue(conf->sched_port, mbufs,
-					burst_conf.ring_burst);
+					nb_pkt);
 
-			APP_STATS_ADD(conf->stat.nb_drop, burst_conf.ring_burst - nb_sent);
-			APP_STATS_ADD(conf->stat.nb_rx, burst_conf.ring_burst);
+			APP_STATS_ADD(conf->stat.nb_drop, nb_pkt - nb_sent);
+			APP_STATS_ADD(conf->stat.nb_rx, nb_pkt);
 		}
 
 		nb_pkt = rte_sched_port_dequeue(conf->sched_port, mbufs,
@@ -250,17 +249,16 @@ app_mixed_thread(struct thread_conf **confs)
 
 	while ((conf = confs[conf_idx])) {
 		uint32_t nb_pkt;
-		int retval;
 
 		/* Read packet from the ring */
-		retval = rte_ring_sc_dequeue_bulk(conf->rx_ring, (void **)mbufs,
+		nb_pkt = rte_ring_sc_dequeue_burst(conf->rx_ring, (void **)mbufs,
 					burst_conf.ring_burst);
-		if (likely(retval == 0)) {
+		if (likely(nb_pkt)) {
 			int nb_sent = rte_sched_port_enqueue(conf->sched_port, mbufs,
-					burst_conf.ring_burst);
+					nb_pkt);
 
-			APP_STATS_ADD(conf->stat.nb_drop, burst_conf.ring_burst - nb_sent);
-			APP_STATS_ADD(conf->stat.nb_rx, burst_conf.ring_burst);
+			APP_STATS_ADD(conf->stat.nb_drop, nb_pkt - nb_sent);
+			APP_STATS_ADD(conf->stat.nb_rx, nb_pkt);
 		}
 
 
-- 
1.9.0

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

* [dpdk-stable] patch 'app/test: fix hash multiwriter sequence' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (3 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'examples/qos_sched: fix dequeue from ring' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'app/testpmd: fix RSS hash key size' " Yuanhan Liu
                   ` (34 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Pablo de Lara; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From 9687773a6ae2dd9a76034f19b7493d04a3259ac0 Mon Sep 17 00:00:00 2001
From: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Date: Thu, 6 Oct 2016 23:34:50 +0100
Subject: [PATCH] app/test: fix hash multiwriter sequence

[ upstream commit 4f117ebda0061b6182366eda5abfb740a6d3fc36 ]

Hash multiwriter test consists of two subtests.
If the any of the subtests fails, the overall test should fail,
but the overall test only passed if the second subtest passed,
because the return of the first subtest was being overwritten.

Fixes: be856325cba3 ("hash: add scalable multi-writer insertion with Intel TSX")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 app/test/test_hash_multiwriter.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/app/test/test_hash_multiwriter.c b/app/test/test_hash_multiwriter.c
index 40af95d..4dcbd9d 100644
--- a/app/test/test_hash_multiwriter.c
+++ b/app/test/test_hash_multiwriter.c
@@ -247,8 +247,6 @@ err1:
 static int
 test_hash_multiwriter_main(void)
 {
-	int r = -1;
-
 	if (rte_lcore_count() == 1) {
 		printf("More than one lcore is required to do multiwriter test\n");
 		return 0;
@@ -268,14 +266,16 @@ test_hash_multiwriter_main(void)
 		printf("Test multi-writer with Hardware transactional memory\n");
 
 		use_htm = 1;
-		r = test_hash_multiwriter();
+		if (test_hash_multiwriter() < 0)
+			return -1;
 	}
 
 	printf("Test multi-writer without Hardware transactional memory\n");
 	use_htm = 0;
-	r = test_hash_multiwriter();
+	if (test_hash_multiwriter() < 0)
+		return -1;
 
-	return r;
+	return 0;
 }
 
 REGISTER_TEST_COMMAND(hash_multiwriter_autotest, test_hash_multiwriter_main);
-- 
1.9.0

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

* [dpdk-stable] patch 'app/testpmd: fix RSS hash key size' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (4 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'app/test: fix hash multiwriter sequence' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'app/testpmd: fix DCB configuration' " Yuanhan Liu
                   ` (33 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Mohammad Abdul Awal; +Cc: Konstantin Ananyev, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From cc6ea094c0be57a26799237cb870fdd96fb99590 Mon Sep 17 00:00:00 2001
From: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
Date: Fri, 5 Aug 2016 16:34:51 +0100
Subject: [PATCH] app/testpmd: fix RSS hash key size

[ upstream commit 0f6f219e7919c988675f4695485334530af0a6ca ]

RSS hash-key-size is retrieved from device configuration instead of
using a fixed size of 40 bytes.

Fixes: f79959ea1504 ("app/testpmd: allow to configure RSS hash key")

Signed-off-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
---
 app/test-pmd/cmdline.c | 27 ++++++++++++++++++++-------
 app/test-pmd/config.c  | 18 +++++++++++++++---
 app/test-pmd/testpmd.h |  6 ++++++
 3 files changed, 41 insertions(+), 10 deletions(-)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 17d238f..f119675 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -1608,7 +1608,6 @@ struct cmd_config_rss_hash_key {
 	cmdline_fixed_string_t key;
 };
 
-#define RSS_HASH_KEY_LENGTH 40
 static uint8_t
 hexa_digit_to_value(char hexa_digit)
 {
@@ -1644,16 +1643,29 @@ cmd_config_rss_hash_key_parsed(void *parsed_result,
 	uint8_t xdgt0;
 	uint8_t xdgt1;
 	int i;
+	struct rte_eth_dev_info dev_info;
+	uint8_t hash_key_size;
+	uint32_t key_len;
 
+	memset(&dev_info, 0, sizeof(dev_info));
+	rte_eth_dev_info_get(res->port_id, &dev_info);
+	if (dev_info.hash_key_size > 0 &&
+			dev_info.hash_key_size <= sizeof(hash_key))
+		hash_key_size = dev_info.hash_key_size;
+	else {
+		printf("dev_info did not provide a valid hash key size\n");
+		return;
+	}
 	/* Check the length of the RSS hash key */
-	if (strlen(res->key) != (RSS_HASH_KEY_LENGTH * 2)) {
+	key_len = strlen(res->key);
+	if (key_len != (hash_key_size * 2)) {
 		printf("key length: %d invalid - key must be a string of %d"
-		       "hexa-decimal numbers\n", (int) strlen(res->key),
-		       RSS_HASH_KEY_LENGTH * 2);
+			   " hexa-decimal numbers\n",
+			   (int) key_len, hash_key_size * 2);
 		return;
 	}
 	/* Translate RSS hash key into binary representation */
-	for (i = 0; i < RSS_HASH_KEY_LENGTH; i++) {
+	for (i = 0; i < hash_key_size; i++) {
 		xdgt0 = parse_and_check_key_hexa_digit(res->key, (i * 2));
 		if (xdgt0 == 0xFF)
 			return;
@@ -1663,7 +1675,7 @@ cmd_config_rss_hash_key_parsed(void *parsed_result,
 		hash_key[i] = (uint8_t) ((xdgt0 * 16) + xdgt1);
 	}
 	port_rss_hash_key_update(res->port_id, res->rss_type, hash_key,
-				 RSS_HASH_KEY_LENGTH);
+			hash_key_size);
 }
 
 cmdline_parse_token_string_t cmd_config_rss_hash_key_port =
@@ -1692,7 +1704,8 @@ cmdline_parse_inst_t cmd_config_rss_hash_key = {
 		"port config X rss-hash-key ipv4|ipv4-frag|ipv4-tcp|ipv4-udp|"
 		"ipv4-sctp|ipv4-other|ipv6|ipv6-frag|ipv6-tcp|ipv6-udp|"
 		"ipv6-sctp|ipv6-other|l2-payload|"
-		"ipv6-ex|ipv6-tcp-ex|ipv6-udp-ex 80 hexa digits\n",
+		"ipv6-ex|ipv6-tcp-ex|ipv6-udp-ex "
+		"<string of hexa digits (variable length, NIC dependent)>\n",
 	.tokens = {
 		(void *)&cmd_config_rss_hash_key_port,
 		(void *)&cmd_config_rss_hash_key_config,
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index bfcbff9..44ba91e 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -1012,14 +1012,26 @@ void
 port_rss_hash_conf_show(portid_t port_id, char rss_info[], int show_rss_key)
 {
 	struct rte_eth_rss_conf rss_conf;
-	uint8_t rss_key[10 * 4] = "";
+	uint8_t rss_key[RSS_HASH_KEY_LENGTH];
 	uint64_t rss_hf;
 	uint8_t i;
 	int diag;
+	struct rte_eth_dev_info dev_info;
+	uint8_t hash_key_size;
 
 	if (port_id_is_invalid(port_id, ENABLED_WARN))
 		return;
 
+	memset(&dev_info, 0, sizeof(dev_info));
+	rte_eth_dev_info_get(port_id, &dev_info);
+	if (dev_info.hash_key_size > 0 &&
+			dev_info.hash_key_size <= sizeof(rss_key))
+		hash_key_size = dev_info.hash_key_size;
+	else {
+		printf("dev_info did not provide a valid hash key size\n");
+		return;
+	}
+
 	rss_conf.rss_hf = 0;
 	for (i = 0; i < RTE_DIM(rss_type_table); i++) {
 		if (!strcmp(rss_info, rss_type_table[i].str))
@@ -1028,7 +1040,7 @@ port_rss_hash_conf_show(portid_t port_id, char rss_info[], int show_rss_key)
 
 	/* Get RSS hash key if asked to display it */
 	rss_conf.rss_key = (show_rss_key) ? rss_key : NULL;
-	rss_conf.rss_key_len = sizeof(rss_key);
+	rss_conf.rss_key_len = hash_key_size;
 	diag = rte_eth_dev_rss_hash_conf_get(port_id, &rss_conf);
 	if (diag != 0) {
 		switch (diag) {
@@ -1058,7 +1070,7 @@ port_rss_hash_conf_show(portid_t port_id, char rss_info[], int show_rss_key)
 	if (!show_rss_key)
 		return;
 	printf("RSS key:\n");
-	for (i = 0; i < sizeof(rss_key); i++)
+	for (i = 0; i < hash_key_size; i++)
 		printf("%02X", rss_key[i]);
 	printf("\n");
 }
diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h
index 2b281cc..74bf5cb 100644
--- a/app/test-pmd/testpmd.h
+++ b/app/test-pmd/testpmd.h
@@ -45,6 +45,12 @@
 #define RTE_PORT_HANDLING       (uint16_t)3
 
 /*
+ * It is used to allocate the memory for hash key.
+ * The hash key size is NIC dependent.
+ */
+#define RSS_HASH_KEY_LENGTH 64
+
+/*
  * Default size of the mbuf data buffer to receive standard 1518-byte
  * Ethernet frames in a mono-segment memory buffer.
  */
-- 
1.9.0

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

* [dpdk-stable] patch 'app/testpmd: fix DCB configuration' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (5 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'app/testpmd: fix RSS hash key size' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'lpm: fix freeing unused sub-table on rule delete' " Yuanhan Liu
                   ` (32 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Wenzhuo Lu; +Cc: Bernard Iremonger, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From de9093a795631175fe0d9bedf42ffc217cb35ffb Mon Sep 17 00:00:00 2001
From: Wenzhuo Lu <wenzhuo.lu@intel.com>
Date: Mon, 26 Sep 2016 09:11:11 +0800
Subject: [PATCH] app/testpmd: fix DCB configuration

[ upstream commit 2a977b891f994d0e216812275af2156fb8566944 ]

An issue is found that DCB cannot be configured on ixgbe
NICs. It's said the TX queue number is not right.
On ixgbe the max TX queue number is not fixed, it depends
on the multi-queue mode.

This patch adds the device configuration before getting
info in the DCB configuration process. So the right info
can be got depending on the configuration.

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

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 app/test-pmd/testpmd.c | 45 +++++++++++++++++++++++++++------------------
 1 file changed, 27 insertions(+), 18 deletions(-)

diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index e9c7412..8bcafa3 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -1964,17 +1964,36 @@ init_port_dcb_config(portid_t pid,
 		     uint8_t pfc_en)
 {
 	struct rte_eth_conf port_conf;
-	struct rte_eth_dev_info dev_info;
 	struct rte_port *rte_port;
 	int retval;
 	uint16_t i;
 
-	rte_eth_dev_info_get(pid, &dev_info);
+	rte_port = &ports[pid];
+
+	memset(&port_conf, 0, sizeof(struct rte_eth_conf));
+	/* Enter DCB configuration status */
+	dcb_config = 1;
+
+	/*set configuration of DCB in vt mode and DCB in non-vt mode*/
+	retval = get_eth_dcb_conf(&port_conf, dcb_mode, num_tcs, pfc_en);
+	if (retval < 0)
+		return retval;
+	port_conf.rxmode.hw_vlan_filter = 1;
+
+	/**
+	 * Write the configuration into the device.
+	 * Set the numbers of RX & TX queues to 0, so
+	 * the RX & TX queues will not be setup.
+	 */
+	(void)rte_eth_dev_configure(pid, 0, 0, &port_conf);
+
+	rte_eth_dev_info_get(pid, &rte_port->dev_info);
 
 	/* If dev_info.vmdq_pool_base is greater than 0,
 	 * the queue id of vmdq pools is started after pf queues.
 	 */
-	if (dcb_mode == DCB_VT_ENABLED && dev_info.vmdq_pool_base > 0) {
+	if (dcb_mode == DCB_VT_ENABLED &&
+	    rte_port->dev_info.vmdq_pool_base > 0) {
 		printf("VMDQ_DCB multi-queue mode is nonsensical"
 			" for port %d.", pid);
 		return -1;
@@ -1984,13 +2003,13 @@ init_port_dcb_config(portid_t pid,
 	 * and has the same number of rxq and txq in dcb mode
 	 */
 	if (dcb_mode == DCB_VT_ENABLED) {
-		nb_rxq = dev_info.max_rx_queues;
-		nb_txq = dev_info.max_tx_queues;
+		nb_rxq = rte_port->dev_info.max_rx_queues;
+		nb_txq = rte_port->dev_info.max_tx_queues;
 	} else {
 		/*if vt is disabled, use all pf queues */
-		if (dev_info.vmdq_pool_base == 0) {
-			nb_rxq = dev_info.max_rx_queues;
-			nb_txq = dev_info.max_tx_queues;
+		if (rte_port->dev_info.vmdq_pool_base == 0) {
+			nb_rxq = rte_port->dev_info.max_rx_queues;
+			nb_txq = rte_port->dev_info.max_tx_queues;
 		} else {
 			nb_rxq = (queueid_t)num_tcs;
 			nb_txq = (queueid_t)num_tcs;
@@ -1999,16 +2018,6 @@ init_port_dcb_config(portid_t pid,
 	}
 	rx_free_thresh = 64;
 
-	memset(&port_conf, 0, sizeof(struct rte_eth_conf));
-	/* Enter DCB configuration status */
-	dcb_config = 1;
-
-	/*set configuration of DCB in vt mode and DCB in non-vt mode*/
-	retval = get_eth_dcb_conf(&port_conf, dcb_mode, num_tcs, pfc_en);
-	if (retval < 0)
-		return retval;
-
-	rte_port = &ports[pid];
 	memcpy(&rte_port->dev_conf, &port_conf, sizeof(struct rte_eth_conf));
 
 	rxtx_port_config(rte_port);
-- 
1.9.0

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

* [dpdk-stable] patch 'lpm: fix freeing unused sub-table on rule delete' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (6 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'app/testpmd: fix DCB configuration' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/bonding: validate speed after link up' " Yuanhan Liu
                   ` (31 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Wei Dai; +Cc: Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From be7420d9a6baccdd179deb0ec0c4cb8e3eeb5948 Mon Sep 17 00:00:00 2001
From: Wei Dai <wei.dai@intel.com>
Date: Mon, 8 Aug 2016 14:39:51 +0800
Subject: [PATCH] lpm: fix freeing unused sub-table on rule delete

[ upstream commit 69ed52dddc0fc64f5cec7e7384197874f92ff393 ]

When all rules with depth > 24 are deleted in a same sub-table
(tlb8 group) and only a rule with depth <=24 is left in it,
this sub-table (tlb8 group) should be recycled.

Fixes: dc81ebbacaeb ("lpm: extend IPv4 next hop field")
Fixes: af75078fece3 ("first public release")

Signed-off-by: Wei Dai <wei.dai@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 lib/librte_lpm/rte_lpm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/librte_lpm/rte_lpm.c b/lib/librte_lpm/rte_lpm.c
index 6f65d1c..24fec4b 100644
--- a/lib/librte_lpm/rte_lpm.c
+++ b/lib/librte_lpm/rte_lpm.c
@@ -1533,7 +1533,7 @@ tbl8_recycle_check_v20(struct rte_lpm_tbl_entry_v20 *tbl8,
 		 * and if so check the rest of the entries to verify that they
 		 * are all of this depth.
 		 */
-		if (tbl8[tbl8_group_start].depth < MAX_DEPTH_TBL24) {
+		if (tbl8[tbl8_group_start].depth <= MAX_DEPTH_TBL24) {
 			for (i = (tbl8_group_start + 1); i < tbl8_group_end;
 					i++) {
 
@@ -1580,7 +1580,7 @@ tbl8_recycle_check_v1604(struct rte_lpm_tbl_entry *tbl8,
 		 * and if so check the rest of the entries to verify that they
 		 * are all of this depth.
 		 */
-		if (tbl8[tbl8_group_start].depth < MAX_DEPTH_TBL24) {
+		if (tbl8[tbl8_group_start].depth <= MAX_DEPTH_TBL24) {
 			for (i = (tbl8_group_start + 1); i < tbl8_group_end;
 					i++) {
 
-- 
1.9.0

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

* [dpdk-stable] patch 'net/bonding: validate speed after link up' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (7 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'lpm: fix freeing unused sub-table on rule delete' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/thunderx: fix Tx checksum handling' " Yuanhan Liu
                   ` (30 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Eric Kinzie; +Cc: Bernard Iremonger, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From d6a7d563feb8eab31dc5404a0704a1354b9a441a Mon Sep 17 00:00:00 2001
From: Eric Kinzie <ehkinzie@gmail.com>
Date: Thu, 4 Aug 2016 11:24:42 -0700
Subject: [PATCH] net/bonding: validate speed after link up

[ upstream commit b4092cacf6bd6470c0c37937862255639293e9b0 ]

It's possible for the bonding driver to mistakenly reject an interface
based in it's, as yet, unnegotiated link speed and duplex. Always allow
the interface to be added to the bonding interface but require link
properties validation to succeed before slave is activated.

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

Signed-off-by: Eric Kinzie <ehkinzie@gmail.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 drivers/net/bonding/rte_eth_bond_api.c | 15 ---------------
 drivers/net/bonding/rte_eth_bond_pmd.c | 10 ++++++++++
 2 files changed, 10 insertions(+), 15 deletions(-)

diff --git a/drivers/net/bonding/rte_eth_bond_api.c b/drivers/net/bonding/rte_eth_bond_api.c
index 203ebe9..3c16973 100644
--- a/drivers/net/bonding/rte_eth_bond_api.c
+++ b/drivers/net/bonding/rte_eth_bond_api.c
@@ -373,21 +373,6 @@ __eth_bond_slave_add_lock_free(uint8_t bonded_port_id, uint8_t slave_port_id)
 		internals->candidate_max_rx_pktlen = dev_info.max_rx_pktlen;
 
 	} else {
-		/* Check slave link properties are supported if props are set,
-		 * all slaves must be the same */
-		if (internals->link_props_set) {
-			if (link_properties_valid(&(bonded_eth_dev->data->dev_link),
-									  &(slave_eth_dev->data->dev_link))) {
-				slave_eth_dev->data->dev_flags &= (~RTE_ETH_DEV_BONDED_SLAVE);
-				RTE_BOND_LOG(ERR,
-						"Slave port %d link speed/duplex not supported",
-						slave_port_id);
-				return -1;
-			}
-		} else {
-			link_properties_set(bonded_eth_dev,
-					&(slave_eth_dev->data->dev_link));
-		}
 		internals->rx_offload_capa &= dev_info.rx_offload_capa;
 		internals->tx_offload_capa &= dev_info.tx_offload_capa;
 		internals->flow_type_rss_offloads &= dev_info.flow_type_rss_offloads;
diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index b20a272..25fe00a 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -1985,6 +1985,16 @@ bond_ethdev_lsc_event_callback(uint8_t port_id, enum rte_eth_event_type type,
 			/* Inherit eth dev link properties from first active slave */
 			link_properties_set(bonded_eth_dev,
 					&(slave_eth_dev->data->dev_link));
+		} else {
+			if (link_properties_valid(
+				&bonded_eth_dev->data->dev_link, &link) != 0) {
+				slave_eth_dev->data->dev_flags &=
+					(~RTE_ETH_DEV_BONDED_SLAVE);
+				RTE_LOG(ERR, PMD,
+					"port %u invalid speed/duplex\n",
+					port_id);
+				return;
+			}
 		}
 
 		activate_slave(bonded_eth_dev, port_id);
-- 
1.9.0

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

* [dpdk-stable] patch 'net/thunderx: fix Tx checksum handling' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (8 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/bonding: validate speed after link up' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/enic: fix flow director' " Yuanhan Liu
                   ` (29 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Kamil Rytarowski
  Cc: Zyta Szpak, Jerin Jacob, dpdk stable, Maciej Czekaj,
	Radoslaw Biernacki, Slawomir Rosek

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From 0b9f3c2165c7fc4b1d5f640be447658ae6146d48 Mon Sep 17 00:00:00 2001
From: Kamil Rytarowski <kamil.rytarowski@caviumnetworks.com>
Date: Fri, 30 Sep 2016 14:05:41 +0200
Subject: [PATCH] net/thunderx: fix Tx checksum handling

[ upstream commit 9e9036bfc694b9838fd3925a73fdbc67d6de007a ]

The symbols PKT_TX_TCP_CKSUM and PKT_TX_UDP_CKSUM are not bits on a
bitmask. Set l3_offset always for TX offloads, not just for PKT_TX_IP_CKSUM
being true.

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

Signed-off-by: Maciej Czekaj <maciej.czekaj@caviumnetworks.com>
Signed-off-by: Kamil Rytarowski <kamil.rytarowski@caviumnetworks.com>
Signed-off-by: Zyta Szpak <zyta.szpak@semihalf.com>
Signed-off-by: Slawomir Rosek <slawomir.rosek@semihalf.com>
Signed-off-by: Radoslaw Biernacki <rad@semihalf.com>
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 drivers/net/thunderx/nicvf_rxtx.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/drivers/net/thunderx/nicvf_rxtx.c b/drivers/net/thunderx/nicvf_rxtx.c
index eb51a72..e15c730 100644
--- a/drivers/net/thunderx/nicvf_rxtx.c
+++ b/drivers/net/thunderx/nicvf_rxtx.c
@@ -70,19 +70,20 @@ fill_sq_desc_header(union sq_entry_t *entry, struct rte_mbuf *pkt)
 	ol_flags = pkt->ol_flags & NICVF_TX_OFFLOAD_MASK;
 	if (unlikely(ol_flags)) {
 		/* L4 cksum */
-		if (ol_flags & PKT_TX_TCP_CKSUM)
+		uint64_t l4_flags = ol_flags & PKT_TX_L4_MASK;
+		if (l4_flags == PKT_TX_TCP_CKSUM)
 			sqe.hdr.csum_l4 = SEND_L4_CSUM_TCP;
-		else if (ol_flags & PKT_TX_UDP_CKSUM)
+		else if (l4_flags == PKT_TX_UDP_CKSUM)
 			sqe.hdr.csum_l4 = SEND_L4_CSUM_UDP;
 		else
 			sqe.hdr.csum_l4 = SEND_L4_CSUM_DISABLE;
+
+		sqe.hdr.l3_offset = pkt->l2_len;
 		sqe.hdr.l4_offset = pkt->l3_len + pkt->l2_len;
 
 		/* L3 cksum */
-		if (ol_flags & PKT_TX_IP_CKSUM) {
+		if (ol_flags & PKT_TX_IP_CKSUM)
 			sqe.hdr.csum_l3 = 1;
-			sqe.hdr.l3_offset = pkt->l2_len;
-		}
 	}
 
 	entry->buff[0] = sqe.buff[0];
-- 
1.9.0

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

* [dpdk-stable] patch 'net/enic: fix flow director' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (9 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/thunderx: fix Tx checksum handling' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/enic: fix crash with removed flow director filters' " Yuanhan Liu
                   ` (28 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: John Daley; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From 33c2996f6832592e6da996519a6e67c2329e78a1 Mon Sep 17 00:00:00 2001
From: John Daley <johndale@cisco.com>
Date: Thu, 29 Sep 2016 13:56:36 -0700
Subject: [PATCH] net/enic: fix flow director

[ upstream commit 84a6971409423ce7f36dddf9583b6ab2e02f5443 ]

The wrong queue id was being used in the enic
flow director code after the scattered Rx feature
was added.

Fixes: 856d7ba7ed22 ("net/enic: support scattered Rx")

Signed-off-by: John Daley <johndale@cisco.com>
---
 drivers/net/enic/enic_clsf.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/enic/enic_clsf.c b/drivers/net/enic/enic_clsf.c
index e6f57be..b251b7f 100644
--- a/drivers/net/enic/enic_clsf.c
+++ b/drivers/net/enic/enic_clsf.c
@@ -120,7 +120,9 @@ int enic_fdir_add_fltr(struct enic *enic, struct rte_eth_fdir_filter *params)
 		return -ENOTSUP;
 	}
 
-	queue = params->action.rx_queue;
+	/* Get the enicpmd RQ from the DPDK Rx queue */
+	queue = enic_sop_rq(params->action.rx_queue);
+
 	/* See if the key is already there in the table */
 	pos = rte_hash_del_key(enic->fdir.hash, params);
 	switch (pos) {
-- 
1.9.0

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

* [dpdk-stable] patch 'net/enic: fix crash with removed flow director filters' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (10 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/enic: fix flow director' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/bnx2x: fix maximum PF queues' " Yuanhan Liu
                   ` (27 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: John Daley; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From c5ae9ff19eb5118940ba82659a1ff0b446b10fb3 Mon Sep 17 00:00:00 2001
From: John Daley <johndale@cisco.com>
Date: Thu, 29 Sep 2016 13:56:37 -0700
Subject: [PATCH] net/enic: fix crash with removed flow director filters

[ upstream commit e9e29d3ee2a4e9a63d723ab476310c985492739e ]

When flow director filters where removed when an enic device is
stopped, the filters were freed but the pointer was not set to
NULL so the next stop would try to free them again.

Fixes: fefed3d1e62c ("enic: new driver")

Signed-off-by: John Daley <johndale@cisco.com>
---
 drivers/net/enic/enic_clsf.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/enic/enic_clsf.c b/drivers/net/enic/enic_clsf.c
index b251b7f..111b194 100644
--- a/drivers/net/enic/enic_clsf.c
+++ b/drivers/net/enic/enic_clsf.c
@@ -240,6 +240,7 @@ void enic_clsf_destroy(struct enic *enic)
 			vnic_dev_classifier(enic->vdev, CLSF_DEL,
 				&key->fltr_id, NULL);
 			rte_free(key);
+			enic->fdir.nodes[index] = NULL;
 		}
 	}
 
-- 
1.9.0

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

* [dpdk-stable] patch 'net/bnx2x: fix maximum PF queues' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (11 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/enic: fix crash with removed flow director filters' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/bnx2x: fix socket id for slowpath memory' " Yuanhan Liu
                   ` (26 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Rasesh Mody; +Cc: Chas Williams, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From 2dba9ba2c00e8a5fcb1fae8b2fa4ae791afe1ab7 Mon Sep 17 00:00:00 2001
From: Rasesh Mody <rasesh.mody@qlogic.com>
Date: Wed, 5 Oct 2016 22:36:36 -0700
Subject: [PATCH] net/bnx2x: fix maximum PF queues

[ upstream commit 6b90d52a259272eb2dd062be308ca71054e01952 ]

Fix the max number of PF rx/tx queues. Set the value based
on BNX2X_MAX_RSS_COUNT() rather than hard coding it to 128.

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

Signed-off-by: Rasesh Mody <rasesh.mody@qlogic.com>
Acked-by: Chas Williams <3chas3@gmail.com>
---
 drivers/net/bnx2x/bnx2x.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c
index a49a07f..2bb4a84 100644
--- a/drivers/net/bnx2x/bnx2x.c
+++ b/drivers/net/bnx2x/bnx2x.c
@@ -9556,8 +9556,8 @@ static void bnx2x_init_rte(struct bnx2x_softc *sc)
 		sc->max_rx_queues = min(BNX2X_VF_MAX_QUEUES_PER_VF,
 					sc->igu_sb_cnt);
 	} else {
-		sc->max_tx_queues = 128;
-		sc->max_rx_queues = 128;
+		sc->max_rx_queues = BNX2X_MAX_RSS_COUNT(sc);
+		sc->max_tx_queues = sc->max_rx_queues;
 	}
 }
 
-- 
1.9.0

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

* [dpdk-stable] patch 'net/bnx2x: fix socket id for slowpath memory' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (12 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/bnx2x: fix maximum PF queues' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/ena: improve safety of string handling' " Yuanhan Liu
                   ` (25 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Rasesh Mody; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From 7ca138f7f87bec2099cab8233b89e9cc7ba39b52 Mon Sep 17 00:00:00 2001
From: Rasesh Mody <rasesh.mody@qlogic.com>
Date: Wed, 5 Oct 2016 22:36:37 -0700
Subject: [PATCH] net/bnx2x: fix socket id for slowpath memory

[ upstream commit 8d6c8b9ade221d94622988968ab4a304e37dbab5 ]

When the DMA allocation routine is invoked in the context of a non-EAL
thread, the API rte_lcore_id() returns -1 and indexing on that in
rte_lcore_to_socket_id() leads to segfault. The fix is to use
SOCKET_ID_ANY as the socket_id for all slowpath memory allocation.

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

Signed-off-by: Rasesh Mody <rasesh.mody@qlogic.com>
---
 drivers/net/bnx2x/bnx2x.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c
index 2bb4a84..8970334 100644
--- a/drivers/net/bnx2x/bnx2x.c
+++ b/drivers/net/bnx2x/bnx2x.c
@@ -178,7 +178,7 @@ bnx2x_dma_alloc(struct bnx2x_softc *sc, size_t size, struct bnx2x_dma *dma,
 
 	/* Caller must take care that strlen(mz_name) < RTE_MEMZONE_NAMESIZE */
 	z = rte_memzone_reserve_aligned(mz_name, (uint64_t) (size),
-					rte_lcore_to_socket_id(rte_lcore_id()),
+					SOCKET_ID_ANY,
 					0, align);
 	if (z == NULL) {
 		PMD_DRV_LOG(ERR, "DMA alloc failed for %s", msg);
-- 
1.9.0

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

* [dpdk-stable] patch 'net/ena: improve safety of string handling' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (13 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/bnx2x: fix socket id for slowpath memory' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/bnxt: ensure entry length is unsigned' " Yuanhan Liu
                   ` (24 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: John W. Linville; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From 1a92244f4bafa01a733a9c7a0b8af7129e8dd391 Mon Sep 17 00:00:00 2001
From: "John W. Linville" <linville@tuxdriver.com>
Date: Thu, 29 Sep 2016 13:39:33 -0400
Subject: [PATCH] net/ena: improve safety of string handling

[ upstream commit 103bb1cc29614a3b4a901d5ef3eef47294b399dc ]

Use sizeof dest rather than sizeof src for limiting copy length,
and replace strncpy with snprintf to ensure NULL termination.

Coverity issue: 127795
Fixes: 372c1af5ed8f ("net/ena: add dedicated memory area for extra device info")

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/ena/ena_ethdev.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index ac0803d..3058161 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -342,11 +342,13 @@ static void ena_config_host_info(struct ena_com_dev *ena_dev)
 
 	host_info->os_type = ENA_ADMIN_OS_DPDK;
 	host_info->kernel_ver = RTE_VERSION;
-	strncpy((char *)host_info->kernel_ver_str, rte_version(),
-		strlen(rte_version()));
+	snprintf((char *)host_info->kernel_ver_str,
+		 sizeof(host_info->kernel_ver_str),
+		 "%s", rte_version());
 	host_info->os_dist = RTE_VERSION;
-	strncpy((char *)host_info->os_dist_str, rte_version(),
-		strlen(rte_version()));
+	snprintf((char *)host_info->os_dist_str,
+		 sizeof(host_info->os_dist_str),
+		 "%s", rte_version());
 	host_info->driver_version =
 		(DRV_MODULE_VER_MAJOR) |
 		(DRV_MODULE_VER_MINOR << ENA_ADMIN_HOST_INFO_MINOR_SHIFT) |
-- 
1.9.0

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

* [dpdk-stable] patch 'net/bnxt: ensure entry length is unsigned' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (14 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/ena: improve safety of string handling' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/i40e: do not use VSI before NULL check' " Yuanhan Liu
                   ` (23 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: John W. Linville; +Cc: Ajit Khaparde, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From 056a5cd7701750ea10094d07cc7351acd99316f8 Mon Sep 17 00:00:00 2001
From: "John W. Linville" <linville@tuxdriver.com>
Date: Thu, 29 Sep 2016 13:39:34 -0400
Subject: [PATCH] net/bnxt: ensure entry length is unsigned

[ upstream commit e8a197d2aa9a7375961a1e7356dfc5265a382158 ]

Otherwise, the inherent cast when multiplying entry_length by max_vnics
in the call to rte_memzone_reserve could promote max_vnics to a signed
value, causing hilarity to ensue...

Coverity issue: 127557
Fixes: 9738793f28ec ("net/bnxt: add VNIC functions and structs")

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
 drivers/net/bnxt/bnxt_vnic.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/bnxt/bnxt_vnic.c b/drivers/net/bnxt/bnxt_vnic.c
index c04c4c7..1b5f54c 100644
--- a/drivers/net/bnxt/bnxt_vnic.c
+++ b/drivers/net/bnxt/bnxt_vnic.c
@@ -175,7 +175,7 @@ int bnxt_alloc_vnic_attributes(struct bnxt *bp)
 	struct rte_pci_device *pdev = bp->pdev;
 	const struct rte_memzone *mz;
 	char mz_name[RTE_MEMZONE_NAMESIZE];
-	int entry_length = RTE_CACHE_LINE_ROUNDUP(
+	uint16_t entry_length = RTE_CACHE_LINE_ROUNDUP(
 				HW_HASH_INDEX_SIZE * sizeof(*vnic->rss_table) +
 				HW_HASH_KEY_SIZE);
 	uint16_t max_vnics;
-- 
1.9.0

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

* [dpdk-stable] patch 'net/i40e: do not use VSI before NULL check' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (15 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/bnxt: ensure entry length is unsigned' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/bnxt: fix bit shift size' " Yuanhan Liu
                   ` (22 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: John W. Linville; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From 5689206e350fde077db62696a2c7f4ef5de03d6a Mon Sep 17 00:00:00 2001
From: "John W. Linville" <linville@tuxdriver.com>
Date: Thu, 29 Sep 2016 13:39:35 -0400
Subject: [PATCH] net/i40e: do not use VSI before NULL check

[ upstream commit 4f728369bc943985c7d370b626999d6d6d191c4e ]

Coverity issue: 127556
Fixes: 440499cf5376 ("net/i40e: support floating VEB")

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/i40e/i40e_ethdev.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index be4b530..e85da94 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -4110,11 +4110,13 @@ i40e_vsi_release(struct i40e_vsi *vsi)
 	void *temp;
 	int ret;
 	struct i40e_mac_filter *f;
-	uint16_t user_param = vsi->user_param;
+	uint16_t user_param;
 
 	if (!vsi)
 		return I40E_SUCCESS;
 
+	user_param = vsi->user_param;
+
 	pf = I40E_VSI_TO_PF(vsi);
 	hw = I40E_VSI_TO_HW(vsi);
 
-- 
1.9.0

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

* [dpdk-stable] patch 'net/bnxt: fix bit shift size' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (16 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/i40e: do not use VSI before NULL check' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/mlx5: fix Rx function selection' " Yuanhan Liu
                   ` (21 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: John W. Linville; +Cc: Ajit Khaparde, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From 274bc20839a5eb661efd356524e8e3a86315aaa5 Mon Sep 17 00:00:00 2001
From: "John W. Linville" <linville@tuxdriver.com>
Date: Thu, 29 Sep 2016 13:39:36 -0400
Subject: [PATCH] net/bnxt: fix bit shift size

[ upstream commit a8c778f401fad2fa2a6c7c95e1d275611ecdf762 ]

Some(?) compilers will treat the unmarked constant 1 as a 32-bit
integer, but the shift operation is in a loop that could run up to
63 times -- undefined behavior!

Coverity issue: 127546
Fixes: 778b759ba10e ("net/bnxt: add MAC address")

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
 drivers/net/bnxt/bnxt_ethdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 3795fac..736bdc8 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -463,7 +463,7 @@ static void bnxt_mac_addr_remove_op(struct rte_eth_dev *eth_dev,
 	 * remove the corresponding MAC addr filter
 	 */
 	for (i = 0; i < MAX_FF_POOLS; i++) {
-		if (!(pool_mask & (1 << i)))
+		if (!(pool_mask & (1ULL << i)))
 			continue;
 
 		STAILQ_FOREACH(vnic, &bp->ff_pool[i], next) {
-- 
1.9.0

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

* [dpdk-stable] patch 'net/mlx5: fix Rx function selection' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (17 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/bnxt: fix bit shift size' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 12:44   ` Nélio Laranjeiro
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/ring: fix ring device creation via devargs' " Yuanhan Liu
                   ` (20 subsequent siblings)
  39 siblings, 1 reply; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Nélio Laranjeiro; +Cc: Adrien Mazarguil, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From c1097f4a775360d7a0e1a0b303757ea88aa1aed2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?N=C3=A9lio=20Laranjeiro?= <nelio.laranjeiro@6wind.com>
Date: Tue, 11 Oct 2016 16:44:50 +0200
Subject: [PATCH] net/mlx5: fix Rx function selection

[ upstream commit cf0564e3cdbfc66417a8e2b1f9db66e129415c53 ]

mlx5_rx_queue_setup() was setting the Rx function by itself instead of
using priv_select_rx_function() written for that purpose.

Fixes: cdab90cb5c8d ("net/mlx5: add Tx/Rx burst function selection wrapper")

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

diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index 99027d2..514e06f 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -1259,7 +1259,7 @@ mlx5_rx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
 		      (void *)dev, (void *)rxq_ctrl);
 		(*priv->rxqs)[idx] = &rxq_ctrl->rxq;
 		/* Update receive callback. */
-		dev->rx_pkt_burst = mlx5_rx_burst;
+		priv_select_rx_function(priv);
 	}
 	priv_unlock(priv);
 	return -ret;
-- 
1.9.0

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

* [dpdk-stable] patch 'net/ring: fix ring device creation via devargs' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (18 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/mlx5: fix Rx function selection' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/fm10k: fix Rx checksum flags' " Yuanhan Liu
                   ` (19 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From f52f0e5150e975d9b9a7d641be71d574f6c14be7 Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Wed, 31 Aug 2016 17:51:11 +0100
Subject: [PATCH] net/ring: fix ring device creation via devargs

[ upstream commit 1d3b7940dbc61bb6091b02e379da0536f9b87bf1 ]

Using nodeaction devarg lets creating multiple ring eth devices:
"eth_ring0,nodeaction=R0:0:CREATE,nodeaction=R1:0:CREATE"

Trying to create all devices with same name fails. Since first part of
the nodeaction devarg is name (in above sample R0,R1), this name field
can be used as eth dev name.

Fixes: 61934c0956d4 ("ring: convert to use of PMD_REGISTER_DRIVER and fix linking")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/ring/rte_eth_ring.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c
index a7048c7..5551e18 100644
--- a/drivers/net/ring/rte_eth_ring.c
+++ b/drivers/net/ring/rte_eth_ring.c
@@ -557,7 +557,7 @@ rte_pmd_ring_devinit(const char *name, const char *params)
 				goto out_free;
 
 			for (info->count = 0; info->count < info->total; info->count++) {
-				ret = eth_dev_ring_create(name,
+				ret = eth_dev_ring_create(info->list[info->count].name,
 							  info->list[info->count].node,
 							  info->list[info->count].action);
 				if ((ret == -1) &&
-- 
1.9.0

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

* [dpdk-stable] patch 'net/fm10k: fix Rx checksum flags' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (19 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/ring: fix ring device creation via devargs' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'examples/tep_term: fix L4 length' " Yuanhan Liu
                   ` (18 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Xiao Wang; +Cc: Jing Chen, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From 0706f3f80516517eca31f0b436765c600c390091 Mon Sep 17 00:00:00 2001
From: Xiao Wang <xiao.w.wang@intel.com>
Date: Tue, 6 Sep 2016 09:27:28 +0800
Subject: [PATCH] net/fm10k: fix Rx checksum flags

[ upstream commit a8213185e9835ddf7ac1fa96d493130db5005737 ]

A previous patch removed some necessary lines about Rx checksum offload
by mistake, this patch adds them back.

Fixes: 6046898f5097 ("net/mbuf: remove unused Rx error flags")

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

diff --git a/drivers/net/fm10k/fm10k_rxtx.c b/drivers/net/fm10k/fm10k_rxtx.c
index 5b2d04b..bf5888b 100644
--- a/drivers/net/fm10k/fm10k_rxtx.c
+++ b/drivers/net/fm10k/fm10k_rxtx.c
@@ -96,6 +96,16 @@ rx_desc_to_ol_flags(struct rte_mbuf *m, const union fm10k_rx_desc *d)
 
 	if (d->w.pkt_info & FM10K_RXD_RSSTYPE_MASK)
 		m->ol_flags |= PKT_RX_RSS_HASH;
+
+	if (unlikely((d->d.staterr &
+		(FM10K_RXD_STATUS_IPCS | FM10K_RXD_STATUS_IPE)) ==
+		(FM10K_RXD_STATUS_IPCS | FM10K_RXD_STATUS_IPE)))
+		m->ol_flags |= PKT_RX_IP_CKSUM_BAD;
+
+	if (unlikely((d->d.staterr &
+		(FM10K_RXD_STATUS_L4CS | FM10K_RXD_STATUS_L4E)) ==
+		(FM10K_RXD_STATUS_L4CS | FM10K_RXD_STATUS_L4E)))
+		m->ol_flags |= PKT_RX_L4_CKSUM_BAD;
 }
 
 uint16_t
-- 
1.9.0

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

* [dpdk-stable] patch 'examples/tep_term: fix L4 length' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (20 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/fm10k: fix Rx checksum flags' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'examples/tep_term: fix packet length with multi-segments' " Yuanhan Liu
                   ` (17 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Michael Qiu; +Cc: Jianfeng Tan, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From 1a51332fb5489cfc605af17a3c465bc5f44e0761 Mon Sep 17 00:00:00 2001
From: Michael Qiu <qiudayu@chinac.com>
Date: Tue, 18 Oct 2016 13:49:06 +0800
Subject: [PATCH] examples/tep_term: fix L4 length

[ upstream commit 39f84786a23897596c42124c4416fc443bc9b688 ]

l4_len is not fixed, althrough mostly it is a fixed value,
but when guest using iperf to do some tests, the l4_len
will have another 12 bytes optional fields.

Fixes: 2bb43bd4350a ("examples/tep_term: add TSO offload configuration")

Signed-off-by: Michael Qiu <qiudayu@chinac.com>
Acked-by: Jianfeng Tan <jianfeng.tan@intel.com>
---
 examples/tep_termination/vxlan.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/tep_termination/vxlan.c b/examples/tep_termination/vxlan.c
index 5ee1f95..b57f867 100644
--- a/examples/tep_termination/vxlan.c
+++ b/examples/tep_termination/vxlan.c
@@ -147,7 +147,7 @@ process_inner_cksums(struct ether_hdr *eth_hdr, union tunnel_offload_info *info)
 		if (tso_segsz != 0) {
 			ol_flags |= PKT_TX_TCP_SEG;
 			info->tso_segsz = tso_segsz;
-			info->l4_len = sizeof(struct tcp_hdr);
+			info->l4_len = (tcp_hdr->data_off & 0xf0) >> 2;
 		}
 
 	} else if (l4_proto == IPPROTO_SCTP) {
-- 
1.9.0

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

* [dpdk-stable] patch 'examples/tep_term: fix packet length with multi-segments' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (21 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'examples/tep_term: fix L4 length' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'app/testpmd: fix PF/VF check of flow director' " Yuanhan Liu
                   ` (16 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Michael Qiu; +Cc: Jianfeng Tan, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From 4b21b57a84f270300f7e578b1be4a561973c9ece Mon Sep 17 00:00:00 2001
From: Michael Qiu <qiudayu@chinac.com>
Date: Tue, 18 Oct 2016 13:49:07 +0800
Subject: [PATCH] examples/tep_term: fix packet length with multi-segments

[ upstream commit 8e22aae5cb1f183a8a2b819fd4e07f6f31c5964a ]

For multi-seg mbuf, ip->total_length should be pkt_len subtract
ether len.

Fixes: 4abe471ed6fc ("examples/tep_term: implement VXLAN processing")

Signed-off-by: Michael Qiu <qiudayu@chinac.com>
Acked-by: Jianfeng Tan <jianfeng.tan@intel.com>
---
 examples/tep_termination/vxlan.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/tep_termination/vxlan.c b/examples/tep_termination/vxlan.c
index b57f867..9142c8d 100644
--- a/examples/tep_termination/vxlan.c
+++ b/examples/tep_termination/vxlan.c
@@ -218,7 +218,7 @@ encapsulation(struct rte_mbuf *m, uint8_t queue_id)
 	/* copy in IP header */
 	ip = rte_memcpy(ip, &app_ip_hdr[vport_id],
 		sizeof(struct ipv4_hdr));
-	ip->total_length = rte_cpu_to_be_16(m->data_len
+	ip->total_length = rte_cpu_to_be_16(m->pkt_len
 				- sizeof(struct ether_hdr));
 
 	/* outer IP checksum */
-- 
1.9.0

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

* [dpdk-stable] patch 'app/testpmd: fix PF/VF check of flow director' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (22 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'examples/tep_term: fix packet length with multi-segments' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'mempool: fix search of maximum contiguous pages' " Yuanhan Liu
                   ` (15 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Wenzhuo Lu; +Cc: Frederico Cadete, Pablo de Lara, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From 26764939d00f5e21ec5224eb8e28f9b1d9d6f4ea Mon Sep 17 00:00:00 2001
From: Wenzhuo Lu <wenzhuo.lu@intel.com>
Date: Wed, 19 Oct 2016 09:12:15 +0800
Subject: [PATCH] app/testpmd: fix PF/VF check of flow director

[ upstream commit 1cfde13610fe8574020999ab8ea6d8617d6773c2 ]

Parameters pf & vf are added into most of flow director
filter CLIs.
But mac-vlan and tunnel filters don't have these parameters,
the parameters should not be checked for mac-vlan and tunnel
filters.

Fixes: e6a68c013353 ("app/testpmd: extend commands for flow director in VF")

Reported-by: Frederico Cadete <frederico.cadete-ext@oneaccess-net.com>
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 app/test-pmd/cmdline.c | 34 +++++++++++++++++++---------------
 1 file changed, 19 insertions(+), 15 deletions(-)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index f119675..a5ab712 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -8515,24 +8515,28 @@ cmd_flow_director_filter_parsed(void *parsed_result,
 	else
 		entry.action.behavior = RTE_ETH_FDIR_ACCEPT;
 
-	if (!strcmp(res->pf_vf, "pf"))
-		entry.input.flow_ext.is_vf = 0;
-	else if (!strncmp(res->pf_vf, "vf", 2)) {
-		struct rte_eth_dev_info dev_info;
-
-		memset(&dev_info, 0, sizeof(dev_info));
-		rte_eth_dev_info_get(res->port_id, &dev_info);
-		errno = 0;
-		vf_id = strtoul(res->pf_vf + 2, &end, 10);
-		if (errno != 0 || *end != '\0' || vf_id >= dev_info.max_vfs) {
+	if (fdir_conf.mode !=  RTE_FDIR_MODE_PERFECT_MAC_VLAN &&
+	    fdir_conf.mode !=  RTE_FDIR_MODE_PERFECT_TUNNEL) {
+		if (!strcmp(res->pf_vf, "pf"))
+			entry.input.flow_ext.is_vf = 0;
+		else if (!strncmp(res->pf_vf, "vf", 2)) {
+			struct rte_eth_dev_info dev_info;
+
+			memset(&dev_info, 0, sizeof(dev_info));
+			rte_eth_dev_info_get(res->port_id, &dev_info);
+			errno = 0;
+			vf_id = strtoul(res->pf_vf + 2, &end, 10);
+			if (errno != 0 || *end != '\0' ||
+			    vf_id >= dev_info.max_vfs) {
+				printf("invalid parameter %s.\n", res->pf_vf);
+				return;
+			}
+			entry.input.flow_ext.is_vf = 1;
+			entry.input.flow_ext.dst_id = (uint16_t)vf_id;
+		} else {
 			printf("invalid parameter %s.\n", res->pf_vf);
 			return;
 		}
-		entry.input.flow_ext.is_vf = 1;
-		entry.input.flow_ext.dst_id = (uint16_t)vf_id;
-	} else {
-		printf("invalid parameter %s.\n", res->pf_vf);
-		return;
 	}
 
 	/* set to report FD ID by default */
-- 
1.9.0

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

* [dpdk-stable] patch 'mempool: fix search of maximum contiguous pages' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (23 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'app/testpmd: fix PF/VF check of flow director' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'ethdev: prevent duplicate event callback' " Yuanhan Liu
                   ` (14 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Wei Dai; +Cc: Olivier Matz, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From e943ffdef5a216ec46f99d7114b536f7678fbe0c Mon Sep 17 00:00:00 2001
From: Wei Dai <wei.dai@intel.com>
Date: Tue, 25 Oct 2016 17:01:11 +0200
Subject: [PATCH] mempool: fix search of maximum contiguous pages

[ upstream commit 1e975578bc30a84547b62bd682b03f8f08bf3a38 ]

paddr[i] + pg_sz always points to the start physical address of the
2nd page after pddr[i], so only up to 2 pages can be combinded to
be used. With this revision, more than 2 pages can be used.

Fixes: 84121f197187 ("mempool: store memory chunks in a list")

Signed-off-by: Wei Dai <wei.dai@intel.com>
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
---
 lib/librte_mempool/rte_mempool.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_mempool/rte_mempool.c b/lib/librte_mempool/rte_mempool.c
index 350d77a..411a332 100644
--- a/lib/librte_mempool/rte_mempool.c
+++ b/lib/librte_mempool/rte_mempool.c
@@ -429,7 +429,7 @@ rte_mempool_populate_phys_tab(struct rte_mempool *mp, char *vaddr,
 
 		/* populate with the largest group of contiguous pages */
 		for (n = 1; (i + n) < pg_num &&
-			     paddr[i] + pg_sz == paddr[i+n]; n++)
+			     paddr[i + n - 1] + pg_sz == paddr[i + n]; n++)
 			;
 
 		ret = rte_mempool_populate_phys(mp, vaddr + i * pg_sz,
-- 
1.9.0

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

* [dpdk-stable] patch 'ethdev: prevent duplicate event callback' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (24 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'mempool: fix search of maximum contiguous pages' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/bnx2x: fix build with icc' " Yuanhan Liu
                   ` (13 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: E. Scott Daniels; +Cc: Wenzhuo Lu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From 1ffa501cf744a6549c90c2a99aa20d9706f16263 Mon Sep 17 00:00:00 2001
From: "E. Scott Daniels" <daniels@research.att.com>
Date: Thu, 20 Oct 2016 09:34:41 -0400
Subject: [PATCH] ethdev: prevent duplicate event callback

[ upstream commit dbffbf80e99aad7c7a5ffaf78e750ae69963f9e0 ]

This change prevents the attempt to add a structure which is
already on the callback list. If a struct with matching
parameters is found on the list, then no action is taken.

Fixes: ac2f69c ("ethdev: fix crash if malloc of user callback fails")

Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 lib/librte_ether/rte_ethdev.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index f62a9ec..cc77e90 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -2629,14 +2629,15 @@ rte_eth_dev_callback_register(uint8_t port_id,
 	}
 
 	/* create a new callback. */
-	if (user_cb == NULL)
+	if (user_cb == NULL) {
 		user_cb = rte_zmalloc("INTR_USER_CALLBACK",
 					sizeof(struct rte_eth_dev_callback), 0);
-	if (user_cb != NULL) {
-		user_cb->cb_fn = cb_fn;
-		user_cb->cb_arg = cb_arg;
-		user_cb->event = event;
-		TAILQ_INSERT_TAIL(&(dev->link_intr_cbs), user_cb, next);
+		if (user_cb != NULL) {
+			user_cb->cb_fn = cb_fn;
+			user_cb->cb_arg = cb_arg;
+			user_cb->event = event;
+			TAILQ_INSERT_TAIL(&(dev->link_intr_cbs), user_cb, next);
+		}
 	}
 
 	rte_spinlock_unlock(&rte_eth_dev_cb_lock);
-- 
1.9.0

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

* [dpdk-stable] patch 'net/bnx2x: fix build with icc' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (25 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'ethdev: prevent duplicate event callback' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/mlx5: fix hash key size retrieval' " Yuanhan Liu
                   ` (12 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Rasesh Mody, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From b5da31159f14fafef68c326c17d8cd68a0dac770 Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Fri, 30 Sep 2016 15:14:13 +0100
Subject: [PATCH] net/bnx2x: fix build with icc

[ upstream commit 35050da740f0a031fb2c550f367d14db30ca8b9a ]

When bnx2x debug config enabled, icc (ICC) 17.0.0 20160721
gives the following compilation error:

.../drivers/net/bnx2x/elink.c(6682):
error #3656: variable "fw_ver1" may be used before its value is set
	PMD_DRV_LOG(DEBUG,
	^

According logic in the code, this error is a false positive,
but since this is not in the fast path, fixing compiler error by
assigning initial value to variable.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Rasesh Mody <rasesh.mody@qlogic.com>
---
 drivers/net/bnx2x/elink.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/bnx2x/elink.c b/drivers/net/bnx2x/elink.c
index 149cc97..d9a72f0 100644
--- a/drivers/net/bnx2x/elink.c
+++ b/drivers/net/bnx2x/elink.c
@@ -6645,7 +6645,7 @@ static elink_status_t elink_8073_8727_external_rom_boot(struct bnx2x_softc *sc,
 							uint8_t port)
 {
 	uint32_t count = 0;
-	uint16_t fw_ver1, fw_msgout;
+	uint16_t fw_ver1 = 0, fw_msgout;
 	elink_status_t rc = ELINK_STATUS_OK;
 
 	/* Boot port from external ROM  */
-- 
1.9.0

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

* [dpdk-stable] patch 'net/mlx5: fix hash key size retrieval' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (26 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/bnx2x: fix build with icc' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 12:45   ` Nélio Laranjeiro
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/ixgbe: fix flow director mask' " Yuanhan Liu
                   ` (11 subsequent siblings)
  39 siblings, 1 reply; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Nélio Laranjeiro; +Cc: Adrien Mazarguil, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From da181cede5ab055533dba25d5f4c09de8a56af7f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?N=C3=A9lio=20Laranjeiro?= <nelio.laranjeiro@6wind.com>
Date: Fri, 14 Oct 2016 09:30:14 +0200
Subject: [PATCH] net/mlx5: fix hash key size retrieval

[ upstream commit 5ddbf77ef5092490a793d1b7e334489a5bfd20e7 ]

Return RSS key size in struct rte_eth_dev_info.

Fixes: 0f6f219e7919 ("app/testpmd: fix RSS hash key size")

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

diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c
index 17588a5..bb80fdc 100644
--- a/drivers/net/mlx5/mlx5_ethdev.c
+++ b/drivers/net/mlx5/mlx5_ethdev.c
@@ -599,6 +599,9 @@ mlx5_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *info)
 	 * size if it is not fixed.
 	 * The API should be updated to solve this problem. */
 	info->reta_size = priv->ind_table_max_size;
+	info->hash_key_size = ((*priv->rss_conf) ?
+			       (*priv->rss_conf)[0]->rss_key_len :
+			       0);
 	info->speed_capa =
 			ETH_LINK_SPEED_1G |
 			ETH_LINK_SPEED_10G |
-- 
1.9.0

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

* [dpdk-stable] patch 'net/ixgbe: fix flow director mask' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (27 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/mlx5: fix hash key size retrieval' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'app/testpmd: " Yuanhan Liu
                   ` (10 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Wenzhuo Lu; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From 16109f019e351b564ae69a36d961e91a1553ceee Mon Sep 17 00:00:00 2001
From: Wenzhuo Lu <wenzhuo.lu@intel.com>
Date: Wed, 19 Oct 2016 09:22:58 +0800
Subject: [PATCH] net/ixgbe: fix flow director mask

[ upstream commit 33706189216bf346326c60eed3c351ee0f7baaa1 ]

In mac-vlan mode, MAC address mask is not supported by HW.
The MAC address mask should not be set in mac-vlan mode.
Instead, only set it in tunnel mode.

Fixes: 82fb702077f6 ("ixgbe: support new flow director modes for X550")

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

diff --git a/drivers/net/ixgbe/ixgbe_fdir.c b/drivers/net/ixgbe/ixgbe_fdir.c
index 861c7cb..4b81ee3 100644
--- a/drivers/net/ixgbe/ixgbe_fdir.c
+++ b/drivers/net/ixgbe/ixgbe_fdir.c
@@ -432,12 +432,12 @@ fdir_set_input_mask_x550(struct rte_eth_dev *dev,
 		fdiripv6m |= IXGBE_FDIRIP6M_TUNNEL_TYPE |
 				IXGBE_FDIRIP6M_TNI_VNI;
 
-	mac_mask = input_mask->mac_addr_byte_mask;
-	fdiripv6m |= (mac_mask << IXGBE_FDIRIP6M_INNER_MAC_SHIFT)
-			& IXGBE_FDIRIP6M_INNER_MAC;
-	info->mask.mac_addr_byte_mask = input_mask->mac_addr_byte_mask;
-
 	if (mode == RTE_FDIR_MODE_PERFECT_TUNNEL) {
+		mac_mask = input_mask->mac_addr_byte_mask;
+		fdiripv6m |= (mac_mask << IXGBE_FDIRIP6M_INNER_MAC_SHIFT)
+				& IXGBE_FDIRIP6M_INNER_MAC;
+		info->mask.mac_addr_byte_mask = input_mask->mac_addr_byte_mask;
+
 		switch (input_mask->tunnel_type_mask) {
 		case 0:
 			/* Mask turnnel type */
-- 
1.9.0

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

* [dpdk-stable] patch 'app/testpmd: fix flow director mask' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (28 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/ixgbe: fix flow director mask' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'app/testpmd: fix flow director endianness' " Yuanhan Liu
                   ` (9 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Wenzhuo Lu; +Cc: Pablo de Lara, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From 86c6040e98ace926c9f62bd7e9ac09b00b13c942 Mon Sep 17 00:00:00 2001
From: Wenzhuo Lu <wenzhuo.lu@intel.com>
Date: Wed, 19 Oct 2016 09:22:59 +0800
Subject: [PATCH] app/testpmd: fix flow director mask

[ upstream commit 21f3fc4664463500ed96882738574a43d1b68f98 ]

In mac-vlan mode, MAC address mask is not supported by HW.
The MAC address mask should not be set in mac-vlan mode.
Remove this parameter from the CLI. Remove MAC address
from mask print too.

Fixes: 53b2bb9b7ea7 ("app/testpmd: new flow director commands")

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 app/test-pmd/cmdline.c                      |  5 +----
 app/test-pmd/config.c                       | 13 ++++++-------
 doc/guides/testpmd_app_ug/testpmd_funcs.rst |  3 +--
 3 files changed, 8 insertions(+), 13 deletions(-)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index a5ab712..f2e4729 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -720,7 +720,7 @@ static void cmd_help_long_parsed(void *parsed_result,
 			"    Set flow director IP mask.\n\n"
 
 			"flow_director_mask (port_id) mode MAC-VLAN"
-			" vlan (vlan_value) mac (mac_value)\n"
+			" vlan (vlan_value)\n"
 			"    Set flow director MAC-VLAN mask.\n\n"
 
 			"flow_director_mask (port_id) mode Tunnel"
@@ -8972,7 +8972,6 @@ cmd_flow_director_mask_parsed(void *parsed_result,
 		}
 
 		mask->vlan_tci_mask = res->vlan_mask;
-		mask->mac_addr_byte_mask = res->mac_addr_byte_mask;
 	} else if (fdir_conf.mode ==  RTE_FDIR_MODE_PERFECT_TUNNEL) {
 		if (strcmp(res->mode_value, "Tunnel")) {
 			printf("Please set mode to Tunnel.\n");
@@ -9103,8 +9102,6 @@ cmdline_parse_inst_t cmd_set_flow_director_mac_vlan_mask = {
 		(void *)&cmd_flow_director_mask_mode_mac_vlan,
 		(void *)&cmd_flow_director_mask_vlan,
 		(void *)&cmd_flow_director_mask_vlan_value,
-		(void *)&cmd_flow_director_mask_mac,
-		(void *)&cmd_flow_director_mask_mac_value,
 		NULL,
 	},
 };
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index 44ba91e..795ca75 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -2058,16 +2058,15 @@ set_qmap(portid_t port_id, uint8_t is_rx, uint16_t queue_id, uint8_t map_value)
 static inline void
 print_fdir_mask(struct rte_eth_fdir_masks *mask)
 {
-	printf("\n    vlan_tci: 0x%04x, ", mask->vlan_tci_mask);
+	printf("\n    vlan_tci: 0x%04x", mask->vlan_tci_mask);
 
-	if (fdir_conf.mode == RTE_FDIR_MODE_PERFECT_MAC_VLAN)
-		printf("mac_addr: 0x%02x", mask->mac_addr_byte_mask);
-	else if (fdir_conf.mode == RTE_FDIR_MODE_PERFECT_TUNNEL)
-		printf("mac_addr: 0x%02x, tunnel_type: 0x%01x, tunnel_id: 0x%08x",
+	if (fdir_conf.mode == RTE_FDIR_MODE_PERFECT_TUNNEL)
+		printf(", mac_addr: 0x%02x, tunnel_type: 0x%01x,"
+			" tunnel_id: 0x%08x",
 			mask->mac_addr_byte_mask, mask->tunnel_type_mask,
 			mask->tunnel_id_mask);
-	else {
-		printf("src_ipv4: 0x%08x, dst_ipv4: 0x%08x,"
+	else if (fdir_conf.mode != RTE_FDIR_MODE_PERFECT_MAC_VLAN) {
+		printf(", src_ipv4: 0x%08x, dst_ipv4: 0x%08x,"
 			" src_port: 0x%04x, dst_port: 0x%04x",
 			mask->ipv4_mask.src_ip, mask->ipv4_mask.dst_ip,
 			mask->src_port_mask, mask->dst_port_mask);
diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index f87e0c2..ed04532 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -1844,8 +1844,7 @@ Set flow director's input masks::
                       src_mask (ipv4_src) (ipv6_src) (src_port) \
                       dst_mask (ipv4_dst) (ipv6_dst) (dst_port)
 
-   flow_director_mask (port_id) mode MAC-VLAN vlan (vlan_value) \
-                      mac (mac_value)
+   flow_director_mask (port_id) mode MAC-VLAN vlan (vlan_value)
 
    flow_director_mask (port_id) mode Tunnel vlan (vlan_value) \
                       mac (mac_value) tunnel-type (tunnel_type_value) \
-- 
1.9.0

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

* [dpdk-stable] patch 'app/testpmd: fix flow director endianness' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (29 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'app/testpmd: " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/enic: revert truncated packets counter fix' " Yuanhan Liu
                   ` (8 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Wenzhuo Lu; +Cc: Pablo de Lara, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From f174f3c9deceb1b885553f6be1cb2adae0c89350 Mon Sep 17 00:00:00 2001
From: Wenzhuo Lu <wenzhuo.lu@intel.com>
Date: Wed, 19 Oct 2016 09:23:00 +0800
Subject: [PATCH] app/testpmd: fix flow director endianness

[ upstream commit 0a0060e3969bf2be983da8e4e4f74e66725da0ec ]

The vlan mask and tunnel id mask of flow director are defined as big
endian. So they should be converted.
When the mask is printed, the parameters are not converted either.
This patch converts the mask parameters.

Fixes: 7c554b4f0484 ("app/testpmd: update display of flow director information")
Fixes: 53b2bb9b7ea7 ("app/testpmd: new flow director commands")

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 app/test-pmd/cmdline.c |  6 +++---
 app/test-pmd/config.c  | 34 +++++++++++++++++++++-------------
 2 files changed, 24 insertions(+), 16 deletions(-)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index f2e4729..09a2832 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -8971,16 +8971,16 @@ cmd_flow_director_mask_parsed(void *parsed_result,
 			return;
 		}
 
-		mask->vlan_tci_mask = res->vlan_mask;
+		mask->vlan_tci_mask = rte_cpu_to_be_16(res->vlan_mask);
 	} else if (fdir_conf.mode ==  RTE_FDIR_MODE_PERFECT_TUNNEL) {
 		if (strcmp(res->mode_value, "Tunnel")) {
 			printf("Please set mode to Tunnel.\n");
 			return;
 		}
 
-		mask->vlan_tci_mask = res->vlan_mask;
+		mask->vlan_tci_mask = rte_cpu_to_be_16(res->vlan_mask);
 		mask->mac_addr_byte_mask = res->mac_addr_byte_mask;
-		mask->tunnel_id_mask = res->tunnel_id_mask;
+		mask->tunnel_id_mask = rte_cpu_to_be_32(res->tunnel_id_mask);
 		mask->tunnel_type_mask = res->tunnel_type_mask;
 	} else {
 		if (strcmp(res->mode_value, "IP")) {
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index 795ca75..1457e4a 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -2058,25 +2058,33 @@ set_qmap(portid_t port_id, uint8_t is_rx, uint16_t queue_id, uint8_t map_value)
 static inline void
 print_fdir_mask(struct rte_eth_fdir_masks *mask)
 {
-	printf("\n    vlan_tci: 0x%04x", mask->vlan_tci_mask);
+	printf("\n    vlan_tci: 0x%04x", rte_be_to_cpu_16(mask->vlan_tci_mask));
 
 	if (fdir_conf.mode == RTE_FDIR_MODE_PERFECT_TUNNEL)
 		printf(", mac_addr: 0x%02x, tunnel_type: 0x%01x,"
 			" tunnel_id: 0x%08x",
 			mask->mac_addr_byte_mask, mask->tunnel_type_mask,
-			mask->tunnel_id_mask);
+			rte_be_to_cpu_32(mask->tunnel_id_mask));
 	else if (fdir_conf.mode != RTE_FDIR_MODE_PERFECT_MAC_VLAN) {
-		printf(", src_ipv4: 0x%08x, dst_ipv4: 0x%08x,"
-			" src_port: 0x%04x, dst_port: 0x%04x",
-			mask->ipv4_mask.src_ip, mask->ipv4_mask.dst_ip,
-			mask->src_port_mask, mask->dst_port_mask);
-
-		printf("\n    src_ipv6: 0x%08x,0x%08x,0x%08x,0x%08x,"
-			" dst_ipv6: 0x%08x,0x%08x,0x%08x,0x%08x",
-			mask->ipv6_mask.src_ip[0], mask->ipv6_mask.src_ip[1],
-			mask->ipv6_mask.src_ip[2], mask->ipv6_mask.src_ip[3],
-			mask->ipv6_mask.dst_ip[0], mask->ipv6_mask.dst_ip[1],
-			mask->ipv6_mask.dst_ip[2], mask->ipv6_mask.dst_ip[3]);
+		printf(", src_ipv4: 0x%08x, dst_ipv4: 0x%08x",
+			rte_be_to_cpu_32(mask->ipv4_mask.src_ip),
+			rte_be_to_cpu_32(mask->ipv4_mask.dst_ip));
+
+		printf("\n    src_port: 0x%04x, dst_port: 0x%04x",
+			rte_be_to_cpu_16(mask->src_port_mask),
+			rte_be_to_cpu_16(mask->dst_port_mask));
+
+		printf("\n    src_ipv6: 0x%08x,0x%08x,0x%08x,0x%08x",
+			rte_be_to_cpu_32(mask->ipv6_mask.src_ip[0]),
+			rte_be_to_cpu_32(mask->ipv6_mask.src_ip[1]),
+			rte_be_to_cpu_32(mask->ipv6_mask.src_ip[2]),
+			rte_be_to_cpu_32(mask->ipv6_mask.src_ip[3]));
+
+		printf("\n    dst_ipv6: 0x%08x,0x%08x,0x%08x,0x%08x",
+			rte_be_to_cpu_32(mask->ipv6_mask.dst_ip[0]),
+			rte_be_to_cpu_32(mask->ipv6_mask.dst_ip[1]),
+			rte_be_to_cpu_32(mask->ipv6_mask.dst_ip[2]),
+			rte_be_to_cpu_32(mask->ipv6_mask.dst_ip[3]));
 	}
 
 	printf("\n");
-- 
1.9.0

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

* [dpdk-stable] patch 'net/enic: revert truncated packets counter fix' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (30 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'app/testpmd: fix flow director endianness' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/ixgbe: fix out of order Rx read' " Yuanhan Liu
                   ` (7 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Nelson Escobar; +Cc: John Daley, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From 574372f0ae59e7804918b94e3e6bfef1920470d5 Mon Sep 17 00:00:00 2001
From: Nelson Escobar <neescoba@cisco.com>
Date: Wed, 12 Oct 2016 13:11:29 -0700
Subject: [PATCH] net/enic: revert truncated packets counter fix

[ upstream commit c92efcae6de9fc9410ff9f0d82857b7f87a2e543 ]

The reason this commit was needed was because of a misconfiguration of
the receive queue when not using Rx scatter.  This patch is
unnecessary if the receive queue is configured correctly.

Fixes: d142e1ac1089 ("net/enic: fix calculation of truncated packets")

Signed-off-by: Nelson Escobar <neescoba@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
---
 drivers/net/enic/enic_main.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c
index b4ca371..0a9b7b3 100644
--- a/drivers/net/enic/enic_main.c
+++ b/drivers/net/enic/enic_main.c
@@ -174,8 +174,7 @@ void enic_dev_stats_get(struct enic *enic, struct rte_eth_stats *r_stats)
 	 * which can make ibytes be slightly higher than it should be.
 	 */
 	rx_packet_errors = rte_atomic64_read(&soft_stats->rx_packet_errors);
-	rx_truncated = rx_packet_errors - stats->rx.rx_errors -
-		stats->rx.rx_no_bufs;
+	rx_truncated = rx_packet_errors - stats->rx.rx_errors;
 
 	r_stats->ipackets = stats->rx.rx_frames_ok - rx_truncated;
 	r_stats->opackets = stats->tx.tx_frames_ok;
-- 
1.9.0

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

* [dpdk-stable] patch 'net/ixgbe: fix out of order Rx read' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (31 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/enic: revert truncated packets counter fix' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/fm10k: " Yuanhan Liu
                   ` (6 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Qi Zhang; +Cc: Konstantin Ananyev, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From 92704c3dfb390939ca6b4831853062fa375938bd Mon Sep 17 00:00:00 2001
From: Qi Zhang <qi.z.zhang@intel.com>
Date: Tue, 18 Oct 2016 02:29:41 +0800
Subject: [PATCH] net/ixgbe: fix out of order Rx read

[ upstream commit bd85525efbf3ce382c12146ab89954e8bcdfd0be ]

In vPMD, when we load Rx desc with _mm_loadu_si128, the volatile
modifier will be cast away, allowing the compiler to reorder the
load instructions.

The Rx recv function's correctness is relying on these load
instructions following a strict sequence, reading the descriptors
in reverse order, so we add compiler barrier to prevent compiler
reorder.

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

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
---
 drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c b/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c
index 1c4fd7c..7fb155a 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c
@@ -305,6 +305,7 @@ _recv_raw_pkts_vec(struct ixgbe_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 		/* Read desc statuses backwards to avoid race condition */
 		/* A.1 load 4 pkts desc */
 		descs[3] = _mm_loadu_si128((__m128i *)(rxdp + 3));
+		rte_compiler_barrier();
 
 		/* B.2 copy 2 mbuf point into rx_pkts  */
 		_mm_storeu_si128((__m128i *)&rx_pkts[pos], mbp1);
@@ -313,8 +314,10 @@ _recv_raw_pkts_vec(struct ixgbe_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 		mbp2 = _mm_loadu_si128((__m128i *)&sw_ring[pos+2]);
 
 		descs[2] = _mm_loadu_si128((__m128i *)(rxdp + 2));
+		rte_compiler_barrier();
 		/* B.1 load 2 mbuf point */
 		descs[1] = _mm_loadu_si128((__m128i *)(rxdp + 1));
+		rte_compiler_barrier();
 		descs[0] = _mm_loadu_si128((__m128i *)(rxdp));
 
 		/* B.2 copy 2 mbuf point into rx_pkts  */
-- 
1.9.0

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

* [dpdk-stable] patch 'net/fm10k: fix out of order Rx read' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (32 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/ixgbe: fix out of order Rx read' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/mlx5: fix link status report' " Yuanhan Liu
                   ` (5 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Qi Zhang; +Cc: Konstantin Ananyev, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From fb4523facbaab12671ec8ffdf9d8f19e536f0145 Mon Sep 17 00:00:00 2001
From: Qi Zhang <qi.z.zhang@intel.com>
Date: Tue, 18 Oct 2016 02:29:42 +0800
Subject: [PATCH] net/fm10k: fix out of order Rx read

[ upstream commit 0876c8b821296eaaf466a03e1f89df05f75b661a ]

In vPMD, when we load Rx desc with _mm_loadu_si128, the volatile
modifier will be cast away, allowing the compiler to reorder the
load instructions.

The Rx recv function's correctness is relying on these load
instructions following a strict sequence, reading the descriptors
in reverse order, so we add compiler barrier to prevent compiler
reorder.

Fixes: 7092be8437bd ("fm10k: add vector Rx")

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
---
 drivers/net/fm10k/fm10k_rxtx_vec.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/fm10k/fm10k_rxtx_vec.c b/drivers/net/fm10k/fm10k_rxtx_vec.c
index 9ea747e..c9a49e3 100644
--- a/drivers/net/fm10k/fm10k_rxtx_vec.c
+++ b/drivers/net/fm10k/fm10k_rxtx_vec.c
@@ -468,6 +468,7 @@ fm10k_recv_raw_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts,
 		/* Read desc statuses backwards to avoid race condition */
 		/* A.1 load 4 pkts desc */
 		descs0[3] = _mm_loadu_si128((__m128i *)(rxdp + 3));
+		rte_compiler_barrier();
 
 		/* B.2 copy 2 mbuf point into rx_pkts  */
 		_mm_storeu_si128((__m128i *)&rx_pkts[pos], mbp1);
@@ -476,8 +477,10 @@ fm10k_recv_raw_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts,
 		mbp2 = _mm_loadu_si128((__m128i *)&mbufp[pos+2]);
 
 		descs0[2] = _mm_loadu_si128((__m128i *)(rxdp + 2));
+		rte_compiler_barrier();
 		/* B.1 load 2 mbuf point */
 		descs0[1] = _mm_loadu_si128((__m128i *)(rxdp + 1));
+		rte_compiler_barrier();
 		descs0[0] = _mm_loadu_si128((__m128i *)(rxdp));
 
 		/* B.2 copy 2 mbuf point into rx_pkts  */
-- 
1.9.0

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

* [dpdk-stable] patch 'net/mlx5: fix link status report' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (33 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/fm10k: " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/fm10k: fix VF Tx queue initialization' " Yuanhan Liu
                   ` (4 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Olga Shern; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From 23641e86af36697be61829ce0c9b148c910abec4 Mon Sep 17 00:00:00 2001
From: Olga Shern <olgas@mellanox.com>
Date: Mon, 17 Oct 2016 13:10:48 +0200
Subject: [PATCH] net/mlx5: fix link status report

[ upstream commit 0d1e2f8da921806f92bcd95e47c5aa528f42679f ]

This commit fixes link status report on device start up when
lcs callback is configured.

Fixes: 62072098b54e ("mlx5: support setting link up or down")

Signed-off-by: Olga Shern <olgas@mellanox.com>
---
 drivers/net/mlx5/mlx5.c        | 1 +
 drivers/net/mlx5/mlx5.h        | 1 +
 drivers/net/mlx5/mlx5_ethdev.c | 2 +-
 3 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c
index dc86c37..9448374 100644
--- a/drivers/net/mlx5/mlx5.c
+++ b/drivers/net/mlx5/mlx5.c
@@ -668,6 +668,7 @@ mlx5_pci_devinit(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);
+		mlx5_link_update_unlocked(priv->dev, 1);
 		continue;
 
 port_error:
diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h
index 65241a6..932c638 100644
--- a/drivers/net/mlx5/mlx5.h
+++ b/drivers/net/mlx5/mlx5.h
@@ -186,6 +186,7 @@ int priv_set_flags(struct priv *, unsigned int, unsigned int);
 int mlx5_dev_configure(struct rte_eth_dev *);
 void mlx5_dev_infos_get(struct rte_eth_dev *, struct rte_eth_dev_info *);
 const uint32_t *mlx5_dev_supported_ptypes_get(struct rte_eth_dev *dev);
+int mlx5_link_update_unlocked(struct rte_eth_dev *, int);
 int mlx5_link_update(struct rte_eth_dev *, int);
 int mlx5_dev_set_mtu(struct rte_eth_dev *, uint16_t);
 int mlx5_dev_get_flow_ctrl(struct rte_eth_dev *, struct rte_eth_fc_conf *);
diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c
index bb80fdc..d113b91 100644
--- a/drivers/net/mlx5/mlx5_ethdev.c
+++ b/drivers/net/mlx5/mlx5_ethdev.c
@@ -640,7 +640,7 @@ mlx5_dev_supported_ptypes_get(struct rte_eth_dev *dev)
  * @param wait_to_complete
  *   Wait for request completion (ignored).
  */
-static int
+int
 mlx5_link_update_unlocked(struct rte_eth_dev *dev, int wait_to_complete)
 {
 	struct priv *priv = mlx5_get_priv(dev);
-- 
1.9.0

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

* [dpdk-stable] patch 'net/fm10k: fix VF Tx queue initialization' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (34 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/mlx5: fix link status report' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
       [not found]   ` <8E8F16D832DEA44EAC8E3A3C70D1E0C737AB8DBD@CRSMSX101.amr.corp.intel.com>
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/qede/base: fix 32-bit build' " Yuanhan Liu
                   ` (3 subsequent siblings)
  39 siblings, 1 reply; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Xiao Wang; +Cc: dpdk stable, Sarath Somasekharan

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From 65e55e4f13239e04873d5a7f67072e8039afb7cc Mon Sep 17 00:00:00 2001
From: Xiao Wang <xiao.w.wang@intel.com>
Date: Wed, 19 Oct 2016 09:30:14 +0800
Subject: [PATCH] net/fm10k: fix VF Tx queue initialization

[ upstream commit 2c448da6aa1028fd75d631d3aa3c265483042aaa ]

The SGLORT (Source Global Resource Tag) of the VF queues should be
assigned by PF driver, VF driver should not set these registers.

Fixes: 3b845bf6bcd9 ("fm10k: fix switch manager high CPU usage")

Reported-by: Sarath Somasekharan <sarathx.somasekharan@intel.com>
Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
---
 drivers/net/fm10k/fm10k_ethdev.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
index 89d99d4..35cbe08 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -695,8 +695,9 @@ fm10k_dev_tx_init(struct rte_eth_dev *dev)
 				base_addr >> (CHAR_BIT * sizeof(uint32_t)));
 		FM10K_WRITE_REG(hw, FM10K_TDLEN(i), size);
 
-		/* assign default SGLORT for each TX queue */
-		FM10K_WRITE_REG(hw, FM10K_TX_SGLORT(i), hw->mac.dglort_map);
+		/* assign default SGLORT for each TX queue by PF */
+		if (hw->mac.type == fm10k_mac_pf)
+			FM10K_WRITE_REG(hw, FM10K_TX_SGLORT(i), hw->mac.dglort_map);
 	}
 
 	/* set up vector or scalar TX function as appropriate */
-- 
1.9.0

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

* [dpdk-stable] patch 'net/qede/base: fix 32-bit build' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (35 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/fm10k: fix VF Tx queue initialization' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/i40e: fix hash filter on X722' " Yuanhan Liu
                   ` (2 subsequent siblings)
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Rasesh Mody; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From 8f080909f304f19fb030289dd254e19bebdce0eb Mon Sep 17 00:00:00 2001
From: Rasesh Mody <rasesh.mody@qlogic.com>
Date: Tue, 18 Oct 2016 21:11:21 -0700
Subject: [PATCH] net/qede/base: fix 32-bit build

[ upstream commit ecc7a5a27ffea2d8e44ef947a2502bbcf95231e5 ]

Fix 32 bit compilation for gcc version 4.3.4.

Fixes: ec94dbc57362 ("qede: add base driver")

Signed-off-by: Rasesh Mody <rasesh.mody@qlogic.com>
---
 drivers/net/qede/Makefile | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/qede/Makefile b/drivers/net/qede/Makefile
index fe449aa..7965a83 100644
--- a/drivers/net/qede/Makefile
+++ b/drivers/net/qede/Makefile
@@ -48,9 +48,13 @@ endif
 endif
 
 ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
+ifeq ($(shell gcc -Wno-unused-but-set-variable -Werror -E - < /dev/null > /dev/null 2>&1; echo $$?),0)
 CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable
+endif
 CFLAGS_BASE_DRIVER += -Wno-missing-declarations
+ifeq ($(shell gcc -Wno-maybe-uninitialized -Werror -E - < /dev/null > /dev/null 2>&1; echo $$?),0)
 CFLAGS_BASE_DRIVER += -Wno-maybe-uninitialized
+endif
 CFLAGS_BASE_DRIVER += -Wno-strict-prototypes
 ifeq ($(shell test $(GCC_VERSION) -ge 60 && echo 1), 1)
 CFLAGS_BASE_DRIVER += -Wno-shift-negative-value
-- 
1.9.0

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

* [dpdk-stable] patch 'net/i40e: fix hash filter on X722' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (36 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/qede/base: fix 32-bit build' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/i40e: fix Rx hang when disable LLDP' " Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'vhost: fix Windows VM hang' " Yuanhan Liu
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Jeff Guo; +Cc: Jingjing Wu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From ae3ea2eb833d79aa84c8bdd59ec7d78bf0ee2782 Mon Sep 17 00:00:00 2001
From: Jeff Guo <jia.guo@intel.com>
Date: Mon, 24 Oct 2016 22:42:36 -0400
Subject: [PATCH] net/i40e: fix hash filter on X722

[ upstream commit f32f5aee9effafd14b24a6a17e537a994f77063c ]

When verifying the Hash filtering on X722, we found a problem that
the hash value in descriptor is incorrect. The root cause is that X722
uses different way of hash key word selection compared with X710/XL710.
This patch fixes it by setting X722 specific key selection.

Fixes: 98f055707685 ("i40e: configure input fields for RSS or flow director")

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

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index e85da94..4ad98e3 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -211,6 +211,14 @@
 #define I40E_REG_INSET_L3_SRC_IP4                0x0001800000000000ULL
 /* Destination IPv4 address */
 #define I40E_REG_INSET_L3_DST_IP4                0x0000001800000000ULL
+/* Source IPv4 address for X722 */
+#define I40E_X722_REG_INSET_L3_SRC_IP4           0x0006000000000000ULL
+/* Destination IPv4 address for X722 */
+#define I40E_X722_REG_INSET_L3_DST_IP4           0x0000060000000000ULL
+/* IPv4 Protocol for X722 */
+#define I40E_X722_REG_INSET_L3_IP4_PROTO         0x0010000000000000ULL
+/* IPv4 Time to Live for X722 */
+#define I40E_X722_REG_INSET_L3_IP4_TTL           0x0010000000000000ULL
 /* IPv4 Type of Service (TOS) */
 #define I40E_REG_INSET_L3_IP4_TOS                0x0040000000000000ULL
 /* IPv4 Protocol */
@@ -7387,25 +7395,23 @@ i40e_parse_input_set(uint64_t *inset,
  * and vice versa
  */
 static uint64_t
-i40e_translate_input_set_reg(uint64_t input)
+i40e_translate_input_set_reg(enum i40e_mac_type type, uint64_t input)
 {
 	uint64_t val = 0;
 	uint16_t i;
 
-	static const struct {
+	struct inset_map {
 		uint64_t inset;
 		uint64_t inset_reg;
-	} inset_map[] = {
+	};
+
+	static const struct inset_map inset_map_common[] = {
 		{I40E_INSET_DMAC, I40E_REG_INSET_L2_DMAC},
 		{I40E_INSET_SMAC, I40E_REG_INSET_L2_SMAC},
 		{I40E_INSET_VLAN_OUTER, I40E_REG_INSET_L2_OUTER_VLAN},
 		{I40E_INSET_VLAN_INNER, I40E_REG_INSET_L2_INNER_VLAN},
 		{I40E_INSET_LAST_ETHER_TYPE, I40E_REG_INSET_LAST_ETHER_TYPE},
-		{I40E_INSET_IPV4_SRC, I40E_REG_INSET_L3_SRC_IP4},
-		{I40E_INSET_IPV4_DST, I40E_REG_INSET_L3_DST_IP4},
 		{I40E_INSET_IPV4_TOS, I40E_REG_INSET_L3_IP4_TOS},
-		{I40E_INSET_IPV4_PROTO, I40E_REG_INSET_L3_IP4_PROTO},
-		{I40E_INSET_IPV4_TTL, I40E_REG_INSET_L3_IP4_TTL},
 		{I40E_INSET_IPV6_SRC, I40E_REG_INSET_L3_SRC_IP6},
 		{I40E_INSET_IPV6_DST, I40E_REG_INSET_L3_DST_IP6},
 		{I40E_INSET_IPV6_TC, I40E_REG_INSET_L3_IP6_TC},
@@ -7434,13 +7440,40 @@ i40e_translate_input_set_reg(uint64_t input)
 		{I40E_INSET_FLEX_PAYLOAD_W8, I40E_REG_INSET_FLEX_PAYLOAD_WORD8},
 	};
 
+    /* some different registers map in x722*/
+	static const struct inset_map inset_map_diff_x722[] = {
+		{I40E_INSET_IPV4_SRC, I40E_X722_REG_INSET_L3_SRC_IP4},
+		{I40E_INSET_IPV4_DST, I40E_X722_REG_INSET_L3_DST_IP4},
+		{I40E_INSET_IPV4_PROTO, I40E_X722_REG_INSET_L3_IP4_PROTO},
+		{I40E_INSET_IPV4_TTL, I40E_X722_REG_INSET_L3_IP4_TTL},
+	};
+
+	static const struct inset_map inset_map_diff_not_x722[] = {
+		{I40E_INSET_IPV4_SRC, I40E_REG_INSET_L3_SRC_IP4},
+		{I40E_INSET_IPV4_DST, I40E_REG_INSET_L3_DST_IP4},
+		{I40E_INSET_IPV4_PROTO, I40E_REG_INSET_L3_IP4_PROTO},
+		{I40E_INSET_IPV4_TTL, I40E_REG_INSET_L3_IP4_TTL},
+	};
+
 	if (input == 0)
 		return val;
 
 	/* Translate input set to register aware inset */
-	for (i = 0; i < RTE_DIM(inset_map); i++) {
-		if (input & inset_map[i].inset)
-			val |= inset_map[i].inset_reg;
+	if (type == I40E_MAC_X722) {
+		for (i = 0; i < RTE_DIM(inset_map_diff_x722); i++) {
+			if (input & inset_map_diff_x722[i].inset)
+				val |= inset_map_diff_x722[i].inset_reg;
+		}
+	} else {
+		for (i = 0; i < RTE_DIM(inset_map_diff_not_x722); i++) {
+			if (input & inset_map_diff_not_x722[i].inset)
+				val |= inset_map_diff_not_x722[i].inset_reg;
+		}
+	}
+
+	for (i = 0; i < RTE_DIM(inset_map_common); i++) {
+		if (input & inset_map_common[i].inset)
+			val |= inset_map_common[i].inset_reg;
 	}
 
 	return val;
@@ -7525,7 +7558,8 @@ i40e_filter_input_set_init(struct i40e_pf *pf)
 						   I40E_INSET_MASK_NUM_REG);
 		if (num < 0)
 			return;
-		inset_reg = i40e_translate_input_set_reg(input_set);
+		inset_reg = i40e_translate_input_set_reg(hw->mac.type,
+					input_set);
 
 		i40e_check_write_reg(hw, I40E_PRTQF_FD_INSET(pctype, 0),
 				      (uint32_t)(inset_reg & UINT32_MAX));
@@ -7607,7 +7641,7 @@ i40e_hash_filter_inset_select(struct i40e_hw *hw,
 	if (num < 0)
 		return -EINVAL;
 
-	inset_reg |= i40e_translate_input_set_reg(input_set);
+	inset_reg |= i40e_translate_input_set_reg(hw->mac.type, input_set);
 
 	i40e_check_write_reg(hw, I40E_GLQF_HASH_INSET(0, pctype),
 			      (uint32_t)(inset_reg & UINT32_MAX));
@@ -7683,7 +7717,7 @@ i40e_fdir_filter_inset_select(struct i40e_pf *pf,
 	if (num < 0)
 		return -EINVAL;
 
-	inset_reg |= i40e_translate_input_set_reg(input_set);
+	inset_reg |= i40e_translate_input_set_reg(hw->mac.type, input_set);
 
 	i40e_check_write_reg(hw, I40E_PRTQF_FD_INSET(pctype, 0),
 			      (uint32_t)(inset_reg & UINT32_MAX));
-- 
1.9.0

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

* [dpdk-stable] patch 'net/i40e: fix Rx hang when disable LLDP' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (37 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/i40e: fix hash filter on X722' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  2016-11-02 10:21 ` [dpdk-stable] patch 'vhost: fix Windows VM hang' " Yuanhan Liu
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Qi Zhang; +Cc: Jingjing Wu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From 0eb2ca5d015391c8fad324ca5f4b048149f4c427 Mon Sep 17 00:00:00 2001
From: Qi Zhang <qi.z.zhang@intel.com>
Date: Thu, 20 Oct 2016 04:40:13 +0800
Subject: [PATCH] net/i40e: fix Rx hang when disable LLDP

[ upstream commit fcbd40d4327b36725c4de9f33f57809edc359f4a ]

Remove stopping LLDP as a workaround for a known
errata which can cause Rx hang.

Ref: Item #70 from
http://www.intel.com/content/www/us/en/embedded/products/networking/xl710-10-40-controller-spec-update.html

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

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
---
 drivers/net/i40e/i40e_ethdev.c | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 4ad98e3..7614525 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -1235,11 +1235,6 @@ eth_i40e_dev_uninit(struct rte_eth_dev *dev)
 	dev->rx_pkt_burst = NULL;
 	dev->tx_pkt_burst = NULL;
 
-	/* Disable LLDP */
-	ret = i40e_aq_stop_lldp(hw, true, NULL);
-	if (ret != I40E_SUCCESS) /* Its failure can be ignored */
-		PMD_INIT_LOG(INFO, "Failed to stop lldp");
-
 	/* Clear PXE mode */
 	i40e_clear_pxe_mode(hw);
 
@@ -9197,10 +9192,6 @@ i40e_dcb_init_configure(struct rte_eth_dev *dev, bool sw_dcb)
 	 * LLDP MIB change event.
 	 */
 	if (sw_dcb == TRUE) {
-		ret = i40e_aq_stop_lldp(hw, TRUE, NULL);
-		if (ret != I40E_SUCCESS)
-			PMD_INIT_LOG(DEBUG, "Failed to stop lldp");
-
 		ret = i40e_init_dcb(hw);
 		/* if sw_dcb, lldp agent is stopped, the return from
 		 * i40e_init_dcb we expect is failure with I40E_AQ_RC_EPERM
-- 
1.9.0

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

* [dpdk-stable] patch 'vhost: fix Windows VM hang' has been queued to stable release 16.07.2
  2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
                   ` (38 preceding siblings ...)
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/i40e: fix Rx hang when disable LLDP' " Yuanhan Liu
@ 2016-11-02 10:21 ` Yuanhan Liu
  39 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-11-02 10:21 UTC (permalink / raw)
  To: Zhihong Wang; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 16.07.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 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From d904373cd8c4f017cb25c19b16a6c36a902de984 Mon Sep 17 00:00:00 2001
From: Zhihong Wang <zhihong.wang@intel.com>
Date: Mon, 19 Sep 2016 22:00:12 -0400
Subject: [PATCH] vhost: fix Windows VM hang

[ backported from upstream commit f46f6551436a5a7c8509a4cbade1a7fda39905b3 ]

This patch fixes a Windows VM compatibility issue in DPDK 16.07 vhost code
which causes the guest to hang once any packets are enqueued when mrg_rxbuf
is turned on by setting the right id and len in the used ring.

As defined in virtio spec 0.95 and 1.0, in each used ring element, id means
index of start of used descriptor chain, and len means total length of the
descriptor chain which was written to. While in 16.07 code, index of the
last descriptor is assigned to id, and the length of the last descriptor is
assigned to len.

How to test?

 1. Start testpmd in the host with a vhost port.

 2. Start a Windows VM image with qemu and connect to the vhost port.

 3. Start io forwarding with tx_first in host testpmd.

For 16.07 code, the Windows VM will hang once any packets are enqueued.

Signed-off-by: Zhihong Wang <zhihong.wang@intel.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
---
 lib/librte_vhost/vhost_rxtx.c | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/lib/librte_vhost/vhost_rxtx.c b/lib/librte_vhost/vhost_rxtx.c
index 08a73fd..5806f99 100644
--- a/lib/librte_vhost/vhost_rxtx.c
+++ b/lib/librte_vhost/vhost_rxtx.c
@@ -384,6 +384,8 @@ copy_mbuf_to_desc_mergeable(struct virtio_net *dev, struct vhost_virtqueue *vq,
 	uint16_t start_idx = vq->last_used_idx;
 	uint16_t cur_idx = start_idx;
 	uint64_t desc_addr;
+	uint32_t desc_chain_head;
+	uint32_t desc_chain_len;
 	uint32_t mbuf_offset, mbuf_avail;
 	uint32_t desc_offset, desc_avail;
 	uint32_t cpy_len;
@@ -412,6 +414,8 @@ copy_mbuf_to_desc_mergeable(struct virtio_net *dev, struct vhost_virtqueue *vq,
 
 	desc_avail  = buf_vec[vec_idx].buf_len - dev->vhost_hlen;
 	desc_offset = dev->vhost_hlen;
+	desc_chain_head = buf_vec[vec_idx].desc_idx;
+	desc_chain_len = desc_offset;
 
 	mbuf_avail  = rte_pktmbuf_data_len(m);
 	mbuf_offset = 0;
@@ -419,19 +423,21 @@ copy_mbuf_to_desc_mergeable(struct virtio_net *dev, struct vhost_virtqueue *vq,
 		/* done with current desc buf, get the next one */
 		if (desc_avail == 0) {
 			desc_idx = buf_vec[vec_idx].desc_idx;
+			vec_idx++;
 
 			if (!(vq->desc[desc_idx].flags & VRING_DESC_F_NEXT)) {
 				/* Update used ring with desc information */
 				used_idx = cur_idx++ & (vq->size - 1);
-				vq->used->ring[used_idx].id  = desc_idx;
-				vq->used->ring[used_idx].len = desc_offset;
+				vq->used->ring[used_idx].id = desc_chain_head;
+				vq->used->ring[used_idx].len = desc_chain_len;
 				vhost_log_used_vring(dev, vq,
 					offsetof(struct vring_used,
 						 ring[used_idx]),
 					sizeof(vq->used->ring[used_idx]));
+				desc_chain_head = buf_vec[vec_idx].desc_idx;
+				desc_chain_len = 0;
 			}
 
-			vec_idx++;
 			desc_addr = gpa_to_vva(dev, buf_vec[vec_idx].buf_addr);
 			if (unlikely(!desc_addr))
 				return 0;
@@ -463,11 +469,12 @@ copy_mbuf_to_desc_mergeable(struct virtio_net *dev, struct vhost_virtqueue *vq,
 		mbuf_offset += cpy_len;
 		desc_avail  -= cpy_len;
 		desc_offset += cpy_len;
+		desc_chain_len += cpy_len;
 	}
 
 	used_idx = cur_idx & (vq->size - 1);
-	vq->used->ring[used_idx].id = buf_vec[vec_idx].desc_idx;
-	vq->used->ring[used_idx].len = desc_offset;
+	vq->used->ring[used_idx].id = desc_chain_head;
+	vq->used->ring[used_idx].len = desc_chain_len;
 	vhost_log_used_vring(dev, vq,
 		offsetof(struct vring_used, ring[used_idx]),
 		sizeof(vq->used->ring[used_idx]));
-- 
1.9.0

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

* Re: [dpdk-stable] patch 'net/mlx5: fix Rx function selection' has been queued to stable release 16.07.2
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/mlx5: fix Rx function selection' " Yuanhan Liu
@ 2016-11-02 12:44   ` Nélio Laranjeiro
  0 siblings, 0 replies; 44+ messages in thread
From: Nélio Laranjeiro @ 2016-11-02 12:44 UTC (permalink / raw)
  To: Yuanhan Liu; +Cc: Adrien Mazarguil, dpdk stable

On Wed, Nov 02, 2016 at 06:21:16PM +0800, Yuanhan Liu wrote:
> Hi,
> 
> FYI, your patch has been queued to stable release 16.07.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 11/06/16.
> So please shout if anyone has objections.
> 
> Thanks.
> 
> 	--yliu

No objections.

Thanks.

> ---
> >From c1097f4a775360d7a0e1a0b303757ea88aa1aed2 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?N=C3=A9lio=20Laranjeiro?= <nelio.laranjeiro@6wind.com>
> Date: Tue, 11 Oct 2016 16:44:50 +0200
> Subject: [PATCH] net/mlx5: fix Rx function selection
> 
> [ upstream commit cf0564e3cdbfc66417a8e2b1f9db66e129415c53 ]
> 
> mlx5_rx_queue_setup() was setting the Rx function by itself instead of
> using priv_select_rx_function() written for that purpose.
> 
> Fixes: cdab90cb5c8d ("net/mlx5: add Tx/Rx burst function selection wrapper")
> 
> Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
> ---
>  drivers/net/mlx5/mlx5_rxq.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
> index 99027d2..514e06f 100644
> --- a/drivers/net/mlx5/mlx5_rxq.c
> +++ b/drivers/net/mlx5/mlx5_rxq.c
> @@ -1259,7 +1259,7 @@ mlx5_rx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
>  		      (void *)dev, (void *)rxq_ctrl);
>  		(*priv->rxqs)[idx] = &rxq_ctrl->rxq;
>  		/* Update receive callback. */
> -		dev->rx_pkt_burst = mlx5_rx_burst;
> +		priv_select_rx_function(priv);
>  	}
>  	priv_unlock(priv);
>  	return -ret;
> -- 
> 1.9.0

-- 
Nélio Laranjeiro
6WIND

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

* Re: [dpdk-stable] patch 'net/mlx5: fix hash key size retrieval' has been queued to stable release 16.07.2
  2016-11-02 10:21 ` [dpdk-stable] patch 'net/mlx5: fix hash key size retrieval' " Yuanhan Liu
@ 2016-11-02 12:45   ` Nélio Laranjeiro
  0 siblings, 0 replies; 44+ messages in thread
From: Nélio Laranjeiro @ 2016-11-02 12:45 UTC (permalink / raw)
  To: Yuanhan Liu; +Cc: Adrien Mazarguil, dpdk stable

On Wed, Nov 02, 2016 at 06:21:25PM +0800, Yuanhan Liu wrote:
> Hi,
> 
> FYI, your patch has been queued to stable release 16.07.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 11/06/16.
> So please shout if anyone has objections.
> 
> Thanks.
> 
> 	--yliu

No objections.

Thanks

> ---
> >From da181cede5ab055533dba25d5f4c09de8a56af7f Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?N=C3=A9lio=20Laranjeiro?= <nelio.laranjeiro@6wind.com>
> Date: Fri, 14 Oct 2016 09:30:14 +0200
> Subject: [PATCH] net/mlx5: fix hash key size retrieval
> 
> [ upstream commit 5ddbf77ef5092490a793d1b7e334489a5bfd20e7 ]
> 
> Return RSS key size in struct rte_eth_dev_info.
> 
> Fixes: 0f6f219e7919 ("app/testpmd: fix RSS hash key size")
> 
> Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
> ---
>  drivers/net/mlx5/mlx5_ethdev.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c
> index 17588a5..bb80fdc 100644
> --- a/drivers/net/mlx5/mlx5_ethdev.c
> +++ b/drivers/net/mlx5/mlx5_ethdev.c
> @@ -599,6 +599,9 @@ mlx5_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *info)
>  	 * size if it is not fixed.
>  	 * The API should be updated to solve this problem. */
>  	info->reta_size = priv->ind_table_max_size;
> +	info->hash_key_size = ((*priv->rss_conf) ?
> +			       (*priv->rss_conf)[0]->rss_key_len :
> +			       0);
>  	info->speed_capa =
>  			ETH_LINK_SPEED_1G |
>  			ETH_LINK_SPEED_10G |
> -- 
> 1.9.0

-- 
Nélio Laranjeiro
6WIND

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

* Re: [dpdk-stable] patch 'net/fm10k: fix VF Tx queue initialization' has been queued to stable release 16.07.2
       [not found]   ` <8E8F16D832DEA44EAC8E3A3C70D1E0C737AB8DBD@CRSMSX101.amr.corp.intel.com>
@ 2016-12-06  1:44     ` Yuanhan Liu
  0 siblings, 0 replies; 44+ messages in thread
From: Yuanhan Liu @ 2016-12-06  1:44 UTC (permalink / raw)
  To: Somasekharan, SarathX; +Cc: Wang, Xiao W, dpdk stable, Lukaszewicz, Rimas

On Mon, Dec 05, 2016 at 01:41:21PM +0000, Somasekharan, SarathX wrote:
> Hi,
> 
> Has this patch been integrated on to the DPDK stable release 16.07.2 as well as 16.11 ?

Yes.

	--yliu
> 
> Thanks,
> 
> Sarath
> 
> -----Original Message-----
> From: Yuanhan Liu [mailto:yuanhan.liu@linux.intel.com] 
> Sent: Wednesday, November 2, 2016 6:22 AM
> To: Wang, Xiao W <xiao.w.wang@intel.com>
> Cc: Yuanhan Liu <yuanhan.liu@linux.intel.com>; Somasekharan, SarathX <sarathx.somasekharan@intel.com>; dpdk stable <stable@dpdk.org>
> Subject: patch 'net/fm10k: fix VF Tx queue initialization' has been queued to stable release 16.07.2
> 
> Hi,
> 
> FYI, your patch has been queued to stable release 16.07.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 11/06/16.
> So please shout if anyone has objections.
> 
> Thanks.
> 
> 	--yliu
> 
> ---
> >From 65e55e4f13239e04873d5a7f67072e8039afb7cc Mon Sep 17 00:00:00 2001
> From: Xiao Wang <xiao.w.wang@intel.com>
> Date: Wed, 19 Oct 2016 09:30:14 +0800
> Subject: [PATCH] net/fm10k: fix VF Tx queue initialization
> 
> [ upstream commit 2c448da6aa1028fd75d631d3aa3c265483042aaa ]
> 
> The SGLORT (Source Global Resource Tag) of the VF queues should be assigned by PF driver, VF driver should not set these registers.
> 
> Fixes: 3b845bf6bcd9 ("fm10k: fix switch manager high CPU usage")
> 
> Reported-by: Sarath Somasekharan <sarathx.somasekharan@intel.com>
> Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
> ---
>  drivers/net/fm10k/fm10k_ethdev.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
> index 89d99d4..35cbe08 100644
> --- a/drivers/net/fm10k/fm10k_ethdev.c
> +++ b/drivers/net/fm10k/fm10k_ethdev.c
> @@ -695,8 +695,9 @@ fm10k_dev_tx_init(struct rte_eth_dev *dev)
>  				base_addr >> (CHAR_BIT * sizeof(uint32_t)));
>  		FM10K_WRITE_REG(hw, FM10K_TDLEN(i), size);
>  
> -		/* assign default SGLORT for each TX queue */
> -		FM10K_WRITE_REG(hw, FM10K_TX_SGLORT(i), hw->mac.dglort_map);
> +		/* assign default SGLORT for each TX queue by PF */
> +		if (hw->mac.type == fm10k_mac_pf)
> +			FM10K_WRITE_REG(hw, FM10K_TX_SGLORT(i), hw->mac.dglort_map);
>  	}
>  
>  	/* set up vector or scalar TX function as appropriate */
> --
> 1.9.0

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

end of thread, other threads:[~2016-12-06  1:43 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' has been queued to stable release 16.07.2 Yuanhan Liu
2016-11-02 10:20 ` [dpdk-stable] patch 'pdump: fix created directory permissions' " Yuanhan Liu
2016-11-02 10:20 ` [dpdk-stable] patch 'app/procinfo: free xstats memory upon failure' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'examples/ip_pipeline: fix plugin loading' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'examples/qos_sched: fix dequeue from ring' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'app/test: fix hash multiwriter sequence' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'app/testpmd: fix RSS hash key size' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'app/testpmd: fix DCB configuration' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'lpm: fix freeing unused sub-table on rule delete' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/bonding: validate speed after link up' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/thunderx: fix Tx checksum handling' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/enic: fix flow director' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/enic: fix crash with removed flow director filters' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/bnx2x: fix maximum PF queues' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/bnx2x: fix socket id for slowpath memory' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/ena: improve safety of string handling' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/bnxt: ensure entry length is unsigned' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/i40e: do not use VSI before NULL check' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/bnxt: fix bit shift size' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/mlx5: fix Rx function selection' " Yuanhan Liu
2016-11-02 12:44   ` Nélio Laranjeiro
2016-11-02 10:21 ` [dpdk-stable] patch 'net/ring: fix ring device creation via devargs' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/fm10k: fix Rx checksum flags' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'examples/tep_term: fix L4 length' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'examples/tep_term: fix packet length with multi-segments' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'app/testpmd: fix PF/VF check of flow director' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'mempool: fix search of maximum contiguous pages' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'ethdev: prevent duplicate event callback' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/bnx2x: fix build with icc' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/mlx5: fix hash key size retrieval' " Yuanhan Liu
2016-11-02 12:45   ` Nélio Laranjeiro
2016-11-02 10:21 ` [dpdk-stable] patch 'net/ixgbe: fix flow director mask' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'app/testpmd: " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'app/testpmd: fix flow director endianness' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/enic: revert truncated packets counter fix' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/ixgbe: fix out of order Rx read' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/fm10k: " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/mlx5: fix link status report' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/fm10k: fix VF Tx queue initialization' " Yuanhan Liu
     [not found]   ` <8E8F16D832DEA44EAC8E3A3C70D1E0C737AB8DBD@CRSMSX101.amr.corp.intel.com>
2016-12-06  1:44     ` Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/qede/base: fix 32-bit build' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/i40e: fix hash filter on X722' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/i40e: fix Rx hang when disable LLDP' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'vhost: fix Windows VM hang' " 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).