patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3
@ 2019-06-21 16:45 Kevin Traynor
  2019-06-21 16:45 ` [dpdk-stable] patch 'examples: fix make clean when using pkg-config' " Kevin Traynor
                   ` (40 more replies)
  0 siblings, 41 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:45 UTC (permalink / raw)
  To: Luo Gaoliang; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/4e007308497c1e4b71e4c2ac35267ef205580d23

Thanks.

Kevin Traynor

---
From 4e007308497c1e4b71e4c2ac35267ef205580d23 Mon Sep 17 00:00:00 2001
From: Luo Gaoliang <michael.luo@intel.com>
Date: Mon, 27 May 2019 12:02:07 +0800
Subject: [PATCH] kni: fix build on RHEL8

Build error was seen on RHEL8 when CONFIG_RTE_KNI_KMOD_ETHTOOL is enabled.

Build error log:
/root/kni/dpdk-19.05/kernel/linux/kni/ethtool/igb/kcompat.h:3928:25:
error: 'const struct net_device_ops' has no member named 'extended'
 #define ndo_set_vf_vlan extended.ndo_set_vf_vlan
                         ^~~~~~~~

RHEL8 defined ndo_set_vf_vlan in net_device_ops as well as the mainline kernel.

Signed-off-by: Luo Gaoliang <michael.luo@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 kernel/linux/kni/ethtool/igb/kcompat.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/kernel/linux/kni/ethtool/igb/kcompat.h b/kernel/linux/kni/ethtool/igb/kcompat.h
index 649a69c81..f041a3ebe 100644
--- a/kernel/linux/kni/ethtool/igb/kcompat.h
+++ b/kernel/linux/kni/ethtool/igb/kcompat.h
@@ -3923,5 +3923,6 @@ skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type)
      (RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7, 4)))
 #define HAVE_VF_VLAN_PROTO
-#if (RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7, 4))
+#if ((RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7, 4)) && \
+	(RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(8, 0)))
 /* In RHEL/Centos 7.4, the "new" version of ndo_set_vf_vlan
  * is in the struct net_device_ops_extended */
-- 
2.20.1


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

* [dpdk-stable] patch 'examples: fix make clean when using pkg-config' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
@ 2019-06-21 16:45 ` Kevin Traynor
  2019-06-21 16:45 ` [dpdk-stable] patch 'net/ixgbe: fix unexpected link handler' " Kevin Traynor
                   ` (39 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:45 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Luca Boccassi, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/160ed874cad638d39f71397326e4026beeff2a2c

Thanks.

Kevin Traynor

---
From 160ed874cad638d39f71397326e4026beeff2a2c Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Fri, 17 May 2019 13:02:31 +0100
Subject: [PATCH] examples: fix make clean when using pkg-config

[ upstream commit 7e9562a107f170be5979199ae53a9780ce8cb81e ]

The "make clean" command had a number of issues:
- the "--ignore-fail-on-non-empty" flag is not present on BSD
- the call to remove the build folder would fail if there was no build
  folder present.

These are fixed by only removing the build folder if it exists, and by
using -p flag to rmdir in place of --ignore-fail-on-non-empty

Fixes: 22119c4591a0 ("examples: use pkg-config in makefiles")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Luca Boccassi <bluca@debian.org>
---
 examples/bbdev_app/Makefile             | 2 +-
 examples/bond/Makefile                  | 2 +-
 examples/cmdline/Makefile               | 2 +-
 examples/distributor/Makefile           | 2 +-
 examples/eventdev_pipeline/Makefile     | 2 +-
 examples/exception_path/Makefile        | 2 +-
 examples/fips_validation/Makefile       | 2 +-
 examples/flow_classify/Makefile         | 2 +-
 examples/flow_filtering/Makefile        | 2 +-
 examples/helloworld/Makefile            | 2 +-
 examples/ip_fragmentation/Makefile      | 2 +-
 examples/ip_pipeline/Makefile           | 2 +-
 examples/ip_reassembly/Makefile         | 2 +-
 examples/ipsec-secgw/Makefile           | 2 +-
 examples/ipv4_multicast/Makefile        | 2 +-
 examples/kni/Makefile                   | 2 +-
 examples/l2fwd-cat/Makefile             | 2 +-
 examples/l2fwd-crypto/Makefile          | 2 +-
 examples/l2fwd-jobstats/Makefile        | 2 +-
 examples/l2fwd-keepalive/Makefile       | 2 +-
 examples/l2fwd/Makefile                 | 2 +-
 examples/l3fwd-acl/Makefile             | 2 +-
 examples/l3fwd-power/Makefile           | 2 +-
 examples/l3fwd-vf/Makefile              | 2 +-
 examples/l3fwd/Makefile                 | 2 +-
 examples/link_status_interrupt/Makefile | 2 +-
 examples/load_balancer/Makefile         | 2 +-
 examples/packet_ordering/Makefile       | 2 +-
 examples/ptpclient/Makefile             | 2 +-
 examples/qos_meter/Makefile             | 2 +-
 examples/qos_sched/Makefile             | 2 +-
 examples/rxtx_callbacks/Makefile        | 2 +-
 examples/service_cores/Makefile         | 2 +-
 examples/skeleton/Makefile              | 2 +-
 examples/tep_termination/Makefile       | 2 +-
 examples/timer/Makefile                 | 2 +-
 examples/vhost/Makefile                 | 2 +-
 examples/vhost_scsi/Makefile            | 2 +-
 examples/vmdq/Makefile                  | 2 +-
 examples/vmdq_dcb/Makefile              | 2 +-
 40 files changed, 40 insertions(+), 40 deletions(-)

diff --git a/examples/bbdev_app/Makefile b/examples/bbdev_app/Makefile
index 18dd99db2..c149589bc 100644
--- a/examples/bbdev_app/Makefile
+++ b/examples/bbdev_app/Makefile
@@ -38,5 +38,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else
diff --git a/examples/bond/Makefile b/examples/bond/Makefile
index d6e500aab..2511b71eb 100644
--- a/examples/bond/Makefile
+++ b/examples/bond/Makefile
@@ -40,5 +40,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else
diff --git a/examples/cmdline/Makefile b/examples/cmdline/Makefile
index a617cce11..d4180406e 100644
--- a/examples/cmdline/Makefile
+++ b/examples/cmdline/Makefile
@@ -36,5 +36,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else
diff --git a/examples/distributor/Makefile b/examples/distributor/Makefile
index 05ea0bfec..02656e326 100644
--- a/examples/distributor/Makefile
+++ b/examples/distributor/Makefile
@@ -36,5 +36,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else
diff --git a/examples/eventdev_pipeline/Makefile b/examples/eventdev_pipeline/Makefile
index 1a789ccc3..12e3f262b 100644
--- a/examples/eventdev_pipeline/Makefile
+++ b/examples/eventdev_pipeline/Makefile
@@ -40,5 +40,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else
diff --git a/examples/exception_path/Makefile b/examples/exception_path/Makefile
index ae74781ec..6f52213ed 100644
--- a/examples/exception_path/Makefile
+++ b/examples/exception_path/Makefile
@@ -36,5 +36,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else
diff --git a/examples/fips_validation/Makefile b/examples/fips_validation/Makefile
index 7b1fe34a6..2e30ab266 100644
--- a/examples/fips_validation/Makefile
+++ b/examples/fips_validation/Makefile
@@ -43,5 +43,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else
diff --git a/examples/flow_classify/Makefile b/examples/flow_classify/Makefile
index f1fa4df62..08bf71272 100644
--- a/examples/flow_classify/Makefile
+++ b/examples/flow_classify/Makefile
@@ -38,5 +38,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else
diff --git a/examples/flow_filtering/Makefile b/examples/flow_filtering/Makefile
index 8f86b7b24..619ed53b7 100644
--- a/examples/flow_filtering/Makefile
+++ b/examples/flow_filtering/Makefile
@@ -34,5 +34,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else
diff --git a/examples/helloworld/Makefile b/examples/helloworld/Makefile
index d66b526b6..9cf7c4e7c 100644
--- a/examples/helloworld/Makefile
+++ b/examples/helloworld/Makefile
@@ -36,5 +36,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else
diff --git a/examples/ip_fragmentation/Makefile b/examples/ip_fragmentation/Makefile
index 9e89e744c..de9281677 100644
--- a/examples/ip_fragmentation/Makefile
+++ b/examples/ip_fragmentation/Makefile
@@ -37,5 +37,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else
diff --git a/examples/ip_pipeline/Makefile b/examples/ip_pipeline/Makefile
index 41ba7df2c..1e03befeb 100644
--- a/examples/ip_pipeline/Makefile
+++ b/examples/ip_pipeline/Makefile
@@ -56,5 +56,5 @@ build:
 clean:
 	rm -f build/$(APP)* build/*.o
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else
diff --git a/examples/ip_reassembly/Makefile b/examples/ip_reassembly/Makefile
index 1e81315f2..8b2a158af 100644
--- a/examples/ip_reassembly/Makefile
+++ b/examples/ip_reassembly/Makefile
@@ -37,5 +37,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else
diff --git a/examples/ipsec-secgw/Makefile b/examples/ipsec-secgw/Makefile
index a6933801a..9e19c2519 100644
--- a/examples/ipsec-secgw/Makefile
+++ b/examples/ipsec-secgw/Makefile
@@ -48,5 +48,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else
diff --git a/examples/ipv4_multicast/Makefile b/examples/ipv4_multicast/Makefile
index a16c62333..f840f1642 100644
--- a/examples/ipv4_multicast/Makefile
+++ b/examples/ipv4_multicast/Makefile
@@ -37,5 +37,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else # Build using legacy build system
diff --git a/examples/kni/Makefile b/examples/kni/Makefile
index dd90d7d73..3b9bacb7c 100644
--- a/examples/kni/Makefile
+++ b/examples/kni/Makefile
@@ -37,5 +37,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else # Build using legacy build system
diff --git a/examples/l2fwd-cat/Makefile b/examples/l2fwd-cat/Makefile
index b6eeabde1..b80f73014 100644
--- a/examples/l2fwd-cat/Makefile
+++ b/examples/l2fwd-cat/Makefile
@@ -38,5 +38,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else # Build using legacy build system
diff --git a/examples/l2fwd-crypto/Makefile b/examples/l2fwd-crypto/Makefile
index 6658fd0d4..5c2fd3c05 100644
--- a/examples/l2fwd-crypto/Makefile
+++ b/examples/l2fwd-crypto/Makefile
@@ -36,5 +36,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else # Build using legacy build system
diff --git a/examples/l2fwd-jobstats/Makefile b/examples/l2fwd-jobstats/Makefile
index 696a8b21a..7fb0a2618 100644
--- a/examples/l2fwd-jobstats/Makefile
+++ b/examples/l2fwd-jobstats/Makefile
@@ -36,5 +36,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else # Build using legacy build system
diff --git a/examples/l2fwd-keepalive/Makefile b/examples/l2fwd-keepalive/Makefile
index 4ab67db44..65d4a86b7 100644
--- a/examples/l2fwd-keepalive/Makefile
+++ b/examples/l2fwd-keepalive/Makefile
@@ -38,5 +38,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else # Build using legacy build system
diff --git a/examples/l2fwd/Makefile b/examples/l2fwd/Makefile
index a8a47ad4e..43ac7f3c0 100644
--- a/examples/l2fwd/Makefile
+++ b/examples/l2fwd/Makefile
@@ -36,5 +36,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else # Build using legacy build system
diff --git a/examples/l3fwd-acl/Makefile b/examples/l3fwd-acl/Makefile
index 285683f83..0ebf8cebd 100644
--- a/examples/l3fwd-acl/Makefile
+++ b/examples/l3fwd-acl/Makefile
@@ -36,5 +36,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else # Build using legacy build system
diff --git a/examples/l3fwd-power/Makefile b/examples/l3fwd-power/Makefile
index 772ec7ba5..1d5f83acd 100644
--- a/examples/l3fwd-power/Makefile
+++ b/examples/l3fwd-power/Makefile
@@ -38,5 +38,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else # Build using legacy build system
diff --git a/examples/l3fwd-vf/Makefile b/examples/l3fwd-vf/Makefile
index dfb1d52d3..5497f941c 100644
--- a/examples/l3fwd-vf/Makefile
+++ b/examples/l3fwd-vf/Makefile
@@ -36,5 +36,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else # Build using legacy build system
diff --git a/examples/l3fwd/Makefile b/examples/l3fwd/Makefile
index cccdd9dfa..2ec75a545 100644
--- a/examples/l3fwd/Makefile
+++ b/examples/l3fwd/Makefile
@@ -36,5 +36,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else # Build using legacy build system
diff --git a/examples/link_status_interrupt/Makefile b/examples/link_status_interrupt/Makefile
index 160682123..b45338408 100644
--- a/examples/link_status_interrupt/Makefile
+++ b/examples/link_status_interrupt/Makefile
@@ -36,5 +36,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else # Build using legacy build system
diff --git a/examples/load_balancer/Makefile b/examples/load_balancer/Makefile
index 197b019d5..437315871 100644
--- a/examples/load_balancer/Makefile
+++ b/examples/load_balancer/Makefile
@@ -36,5 +36,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else # Build using legacy build system
diff --git a/examples/packet_ordering/Makefile b/examples/packet_ordering/Makefile
index 3cf1ee1dc..626665e4f 100644
--- a/examples/packet_ordering/Makefile
+++ b/examples/packet_ordering/Makefile
@@ -36,5 +36,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else # Build using legacy build system
diff --git a/examples/ptpclient/Makefile b/examples/ptpclient/Makefile
index 989e2dd40..42db83f57 100644
--- a/examples/ptpclient/Makefile
+++ b/examples/ptpclient/Makefile
@@ -36,5 +36,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else # Build using legacy build system
diff --git a/examples/qos_meter/Makefile b/examples/qos_meter/Makefile
index 46341b1a7..b27baae6e 100644
--- a/examples/qos_meter/Makefile
+++ b/examples/qos_meter/Makefile
@@ -38,5 +38,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else # Build using legacy build system
diff --git a/examples/qos_sched/Makefile b/examples/qos_sched/Makefile
index 45b0a9eb6..c0a287e0c 100644
--- a/examples/qos_sched/Makefile
+++ b/examples/qos_sched/Makefile
@@ -36,5 +36,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else # Build using legacy build system
diff --git a/examples/rxtx_callbacks/Makefile b/examples/rxtx_callbacks/Makefile
index e9d30d56f..5b09eb279 100644
--- a/examples/rxtx_callbacks/Makefile
+++ b/examples/rxtx_callbacks/Makefile
@@ -36,5 +36,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else # Build using legacy build system
diff --git a/examples/service_cores/Makefile b/examples/service_cores/Makefile
index a4d6b7b44..030681fa4 100644
--- a/examples/service_cores/Makefile
+++ b/examples/service_cores/Makefile
@@ -36,5 +36,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else
diff --git a/examples/skeleton/Makefile b/examples/skeleton/Makefile
index bd980ec9b..d0fbacec7 100644
--- a/examples/skeleton/Makefile
+++ b/examples/skeleton/Makefile
@@ -36,5 +36,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else # Build using legacy build system
diff --git a/examples/tep_termination/Makefile b/examples/tep_termination/Makefile
index 4c1564325..3025ef04d 100644
--- a/examples/tep_termination/Makefile
+++ b/examples/tep_termination/Makefile
@@ -40,5 +40,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else # Build using legacy build system
diff --git a/examples/timer/Makefile b/examples/timer/Makefile
index 42b23f28e..3698a8e38 100644
--- a/examples/timer/Makefile
+++ b/examples/timer/Makefile
@@ -36,5 +36,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else # Build using legacy build system
diff --git a/examples/vhost/Makefile b/examples/vhost/Makefile
index c6964381b..b9cce0817 100644
--- a/examples/vhost/Makefile
+++ b/examples/vhost/Makefile
@@ -40,5 +40,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else # Build using legacy build system
diff --git a/examples/vhost_scsi/Makefile b/examples/vhost_scsi/Makefile
index 523aee0bf..43d54de9c 100644
--- a/examples/vhost_scsi/Makefile
+++ b/examples/vhost_scsi/Makefile
@@ -39,5 +39,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else # Build using legacy build system
diff --git a/examples/vmdq/Makefile b/examples/vmdq/Makefile
index 87abeab93..63283a8e4 100644
--- a/examples/vmdq/Makefile
+++ b/examples/vmdq/Makefile
@@ -36,5 +36,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else # Build using legacy build system
diff --git a/examples/vmdq_dcb/Makefile b/examples/vmdq_dcb/Makefile
index bf161cb2b..c56954d12 100644
--- a/examples/vmdq_dcb/Makefile
+++ b/examples/vmdq_dcb/Makefile
@@ -36,5 +36,5 @@ build:
 clean:
 	rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared
-	rmdir --ignore-fail-on-non-empty build
+	test -d build && rmdir -p build || true
 
 else # Build using legacy build system
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:11.848001049 +0100
+++ 0002-examples-fix-make-clean-when-using-pkg-config.patch	2019-06-21 17:22:11.697519717 +0100
@@ -1 +1 @@
-From 7e9562a107f170be5979199ae53a9780ce8cb81e Mon Sep 17 00:00:00 2001
+From 160ed874cad638d39f71397326e4026beeff2a2c Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 7e9562a107f170be5979199ae53a9780ce8cb81e ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -63 +64 @@
-index e8115b46a..af313d926 100644
+index 18dd99db2..c149589bc 100644
@@ -74 +75 @@
-index 488eeac70..278b5f690 100644
+index d6e500aab..2511b71eb 100644
@@ -85 +86 @@
-index a03dfa8ee..03d9ed3cc 100644
+index a617cce11..d4180406e 100644
@@ -96 +97 @@
-index 52076214b..2edc0ea3d 100644
+index 05ea0bfec..02656e326 100644
@@ -107 +108 @@
-index 0b0d1ade9..1d3394947 100644
+index 1a789ccc3..12e3f262b 100644
@@ -110 +111 @@
-@@ -38,5 +38,5 @@ build:
+@@ -40,5 +40,5 @@ build:
@@ -118 +119 @@
-index 18db85ddb..c3ba2787c 100644
+index ae74781ec..6f52213ed 100644
@@ -129 +130 @@
-index e74252e27..19240911a 100644
+index 7b1fe34a6..2e30ab266 100644
@@ -132 +133 @@
-@@ -45,5 +45,5 @@ build:
+@@ -43,5 +43,5 @@ build:
@@ -140 +141 @@
-index dfce1a4bd..182debcba 100644
+index f1fa4df62..08bf71272 100644
@@ -151 +152 @@
-index f657c0336..b182a2a29 100644
+index 8f86b7b24..619ed53b7 100644
@@ -162 +163 @@
-index 97d82f68a..980b011fc 100644
+index d66b526b6..9cf7c4e7c 100644
@@ -173 +174 @@
-index 6d1a1fbba..56726d688 100644
+index 9e89e744c..de9281677 100644
@@ -184 +185 @@
-index 409966afd..acd93e29b 100644
+index 41ba7df2c..1e03befeb 100644
@@ -195 +196 @@
-index 7bbc241c7..1baec86ad 100644
+index 1e81315f2..8b2a158af 100644
@@ -206 +207 @@
-index 75f2bcd00..a2d8244e8 100644
+index a6933801a..9e19c2519 100644
@@ -209 +210 @@
-@@ -49,5 +49,5 @@ build:
+@@ -48,5 +48,5 @@ build:
@@ -217 +218 @@
-index 5a1e368fa..5595b9cbf 100644
+index a16c62333..f840f1642 100644
@@ -228 +229 @@
-index 634334f86..e01703567 100644
+index dd90d7d73..3b9bacb7c 100644
@@ -239 +240 @@
-index fb3c4bc00..b4f729a66 100644
+index b6eeabde1..b80f73014 100644
@@ -250 +251 @@
-index ed5e2c73f..3986a4c10 100644
+index 6658fd0d4..5c2fd3c05 100644
@@ -261 +262 @@
-index e14c3a2b2..4517a3d7d 100644
+index 696a8b21a..7fb0a2618 100644
@@ -272 +273 @@
-index bc851b732..56d0e0666 100644
+index 4ab67db44..65d4a86b7 100644
@@ -283 +284 @@
-index 94d70a43e..43277318f 100644
+index a8a47ad4e..43ac7f3c0 100644
@@ -294 +295 @@
-index fc236f129..b38343725 100644
+index 285683f83..0ebf8cebd 100644
@@ -305 +306 @@
-index a106b0404..8a4eee8ae 100644
+index 772ec7ba5..1d5f83acd 100644
@@ -316 +317 @@
-index cc93603e3..8ad2fbcbc 100644
+index dfb1d52d3..5497f941c 100644
@@ -327 +328 @@
-index 8c51c7b96..dcc38a928 100644
+index cccdd9dfa..2ec75a545 100644
@@ -338 +339 @@
-index d12e04782..987724d47 100644
+index 160682123..b45338408 100644
@@ -349 +350 @@
-index d4b145ca1..935ee1591 100644
+index 197b019d5..437315871 100644
@@ -360 +361 @@
-index 474ec9571..2c3187a41 100644
+index 3cf1ee1dc..626665e4f 100644
@@ -371 +372 @@
-index f113c9d56..857a679b7 100644
+index 989e2dd40..42db83f57 100644
@@ -382 +383 @@
-index fbcda09b2..7321f34f3 100644
+index 46341b1a7..b27baae6e 100644
@@ -393 +394 @@
-index a25875900..7012c3d4c 100644
+index 45b0a9eb6..c0a287e0c 100644
@@ -404 +405 @@
-index b937d599b..22c4013db 100644
+index e9d30d56f..5b09eb279 100644
@@ -415 +416 @@
-index 351fb7e1d..1dcd4c62e 100644
+index a4d6b7b44..030681fa4 100644
@@ -426 +427 @@
-index 56713a524..b9cd05f2f 100644
+index bd980ec9b..d0fbacec7 100644
@@ -437 +438 @@
-index f4b85e49b..3782378d9 100644
+index 4c1564325..3025ef04d 100644
@@ -448 +449 @@
-index 046348fd1..f49703ff4 100644
+index 42b23f28e..3698a8e38 100644
@@ -459 +460 @@
-index 80607b79c..9c3e0ece0 100644
+index c6964381b..b9cce0817 100644
@@ -470 +471 @@
-index 0a3450bae..813ab66a8 100644
+index 523aee0bf..43d54de9c 100644
@@ -481 +482 @@
-index 6a389c776..b67d1937f 100644
+index 87abeab93..63283a8e4 100644
@@ -492 +493 @@
-index 113bce7d1..0ddcc320b 100644
+index bf161cb2b..c56954d12 100644

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

* [dpdk-stable] patch 'net/ixgbe: fix unexpected link handler' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
  2019-06-21 16:45 ` [dpdk-stable] patch 'examples: fix make clean when using pkg-config' " Kevin Traynor
@ 2019-06-21 16:45 ` Kevin Traynor
  2019-06-21 16:45 ` [dpdk-stable] patch 'net/fm10k: advertise supported RSS hash function' " Kevin Traynor
                   ` (38 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:45 UTC (permalink / raw)
  To: Yunjian Wang; +Cc: Wei Zhao, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/f19610f8d2b667b5dacd14fc619b986cb2b32a31

Thanks.

Kevin Traynor

---
From f19610f8d2b667b5dacd14fc619b986cb2b32a31 Mon Sep 17 00:00:00 2001
From: Yunjian Wang <wangyunjian@huawei.com>
Date: Wed, 8 May 2019 20:51:38 +0800
Subject: [PATCH] net/ixgbe: fix unexpected link handler

[ upstream commit 03bb633aa86232df29a0692b2727cff3e4e1b685 ]

The nic's interrupt source has some active handler, which maybe call
ixgbe_dev_link_update() to set link handler. We should cancel the
link handler before remove dev to prevent executing the link handler.
It triggers segfault.

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

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

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index e9533e5a1..6341c1a3e 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -1340,4 +1340,7 @@ eth_ixgbe_dev_uninit(struct rte_eth_dev *eth_dev)
 	rte_eal_alarm_cancel(ixgbe_dev_interrupt_delayed_handler, eth_dev);
 
+	/* cancel the link handler before remove dev */
+	rte_eal_alarm_cancel(ixgbe_dev_setup_link_alarm_handler, eth_dev);
+
 	/* uninitialize PF if max_vfs not zero */
 	ixgbe_pf_host_uninit(eth_dev);
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:11.901814697 +0100
+++ 0003-net-ixgbe-fix-unexpected-link-handler.patch	2019-06-21 17:22:11.704519558 +0100
@@ -1 +1 @@
-From 03bb633aa86232df29a0692b2727cff3e4e1b685 Mon Sep 17 00:00:00 2001
+From f19610f8d2b667b5dacd14fc619b986cb2b32a31 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 03bb633aa86232df29a0692b2727cff3e4e1b685 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 975fa474c..2470c89cf 100644
+index e9533e5a1..6341c1a3e 100644
@@ -24 +25 @@
-@@ -1345,4 +1345,7 @@ eth_ixgbe_dev_uninit(struct rte_eth_dev *eth_dev)
+@@ -1340,4 +1340,7 @@ eth_ixgbe_dev_uninit(struct rte_eth_dev *eth_dev)

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

* [dpdk-stable] patch 'net/fm10k: advertise supported RSS hash function' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
  2019-06-21 16:45 ` [dpdk-stable] patch 'examples: fix make clean when using pkg-config' " Kevin Traynor
  2019-06-21 16:45 ` [dpdk-stable] patch 'net/ixgbe: fix unexpected link handler' " Kevin Traynor
@ 2019-06-21 16:45 ` Kevin Traynor
  2019-06-21 16:45 ` [dpdk-stable] patch 'net/i40e: fix Tx threshold setup' " Kevin Traynor
                   ` (37 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:45 UTC (permalink / raw)
  To: Xiao Wang; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/58043568184f04e5184f3981568d9a6999c3cbd0

Thanks.

Kevin Traynor

---
From 58043568184f04e5184f3981568d9a6999c3cbd0 Mon Sep 17 00:00:00 2001
From: Xiao Wang <xiao.w.wang@intel.com>
Date: Mon, 6 May 2019 16:44:34 +0800
Subject: [PATCH] net/fm10k: advertise supported RSS hash function

[ upstream commit 1d7be86e3894d888c64a66afe149038473230dfa ]

PMD should advertise supported RSS hash functions via
dev_info.flow_type_rss_offloads variable [1], otherwise upper level check
would fail on configuring RSS, leading to MQ RSS failure.

[1] commit aa1a6d87f15d ("ethdev: force RSS offload rules again")

Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/fm10k/fm10k_ethdev.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
index caf4d1bc0..f64d07bba 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -1390,4 +1390,13 @@ fm10k_dev_infos_get(struct rte_eth_dev *dev,
 	dev_info->hash_key_size = FM10K_RSSRK_SIZE * sizeof(uint32_t);
 	dev_info->reta_size = FM10K_MAX_RSS_INDICES;
+	dev_info->flow_type_rss_offloads = ETH_RSS_IPV4 |
+					ETH_RSS_IPV6 |
+					ETH_RSS_IPV6_EX |
+					ETH_RSS_NONFRAG_IPV4_TCP |
+					ETH_RSS_NONFRAG_IPV6_TCP |
+					ETH_RSS_IPV6_TCP_EX |
+					ETH_RSS_NONFRAG_IPV4_UDP |
+					ETH_RSS_NONFRAG_IPV6_UDP |
+					ETH_RSS_IPV6_UDP_EX;
 
 	dev_info->default_rxconf = (struct rte_eth_rxconf) {
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:11.957806447 +0100
+++ 0004-net-fm10k-advertise-supported-RSS-hash-function.patch	2019-06-21 17:22:11.707519490 +0100
@@ -1 +1 @@
-From 1d7be86e3894d888c64a66afe149038473230dfa Mon Sep 17 00:00:00 2001
+From 58043568184f04e5184f3981568d9a6999c3cbd0 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 1d7be86e3894d888c64a66afe149038473230dfa ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 47c20c5b2..d24c4c5ba 100644
+index caf4d1bc0..f64d07bba 100644

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

* [dpdk-stable] patch 'net/i40e: fix Tx threshold setup' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (2 preceding siblings ...)
  2019-06-21 16:45 ` [dpdk-stable] patch 'net/fm10k: advertise supported RSS hash function' " Kevin Traynor
@ 2019-06-21 16:45 ` Kevin Traynor
  2019-06-21 16:45 ` [dpdk-stable] patch 'net/ixgbe: " Kevin Traynor
                   ` (36 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:45 UTC (permalink / raw)
  To: Qi Zhang; +Cc: Beilei Xing, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/0c474dcc867cbf56f157ba3361b2ed821bd288dd

Thanks.

Kevin Traynor

---
From 0c474dcc867cbf56f157ba3361b2ed821bd288dd Mon Sep 17 00:00:00 2001
From: Qi Zhang <qi.z.zhang@intel.com>
Date: Sat, 4 May 2019 17:29:37 +0800
Subject: [PATCH] net/i40e: fix Tx threshold setup

[ upstream commit 1c5c7c91d300355b5b76c5c396e54f6b35bac28a ]

Tx desc's DD status is not cleaned by NIC automatically after packets
have been transmitted until software refill a new packet during next
loop. So when tx_free_thresh + tx_rs_thresh > nb_desc, it is possible
that an outdated DD status be checked as tx_next_dd, then segment fault
happen due to free a NULL mbuf pointer.

Then patch fixes this issue by
1. try to adapt tx_rs_thresh to an aggressive tx_free_thresh.
2. queue setup fail when tx_free_thresh + tx_rs_thresh > nb_desc

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

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

diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
index 1489552da..4640a9c66 100644
--- a/drivers/net/i40e/i40e_rxtx.c
+++ b/drivers/net/i40e/i40e_rxtx.c
@@ -2170,4 +2170,5 @@ i40e_dev_tx_queue_setup(struct rte_eth_dev *dev,
 	 *  - tx_free_thresh must be greater than 0.
 	 *  - tx_free_thresh must be less than the size of the ring minus 3.
+	 *  - tx_free_thresh + tx_rs_thresh must not exceed nb_desc.
 	 *
 	 * One descriptor in the TX ring is used as a sentinel to avoid a H/W
@@ -2175,8 +2176,22 @@ i40e_dev_tx_queue_setup(struct rte_eth_dev *dev,
 	 * to zero use default values.
 	 */
-	tx_rs_thresh = (uint16_t)((tx_conf->tx_rs_thresh) ?
-		tx_conf->tx_rs_thresh : DEFAULT_TX_RS_THRESH);
 	tx_free_thresh = (uint16_t)((tx_conf->tx_free_thresh) ?
 		tx_conf->tx_free_thresh : DEFAULT_TX_FREE_THRESH);
+	/* force tx_rs_thresh to adapt an aggresive tx_free_thresh */
+	tx_rs_thresh = (DEFAULT_TX_RS_THRESH + tx_free_thresh > nb_desc) ?
+		nb_desc - tx_free_thresh : DEFAULT_TX_RS_THRESH;
+	if (tx_conf->tx_rs_thresh > 0)
+		tx_rs_thresh = tx_conf->tx_rs_thresh;
+	if (tx_rs_thresh + tx_free_thresh > nb_desc) {
+		PMD_INIT_LOG(ERR, "tx_rs_thresh + tx_free_thresh must not "
+				"exceed nb_desc. (tx_rs_thresh=%u "
+				"tx_free_thresh=%u nb_desc=%u port=%d queue=%d)",
+				(unsigned int)tx_rs_thresh,
+				(unsigned int)tx_free_thresh,
+				(unsigned int)nb_desc,
+				(int)dev->data->port_id,
+				(int)queue_idx);
+		return I40E_ERR_PARAM;
+	}
 	if (tx_rs_thresh >= (nb_desc - 2)) {
 		PMD_INIT_LOG(ERR, "tx_rs_thresh must be less than the "
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:12.010854731 +0100
+++ 0005-net-i40e-fix-Tx-threshold-setup.patch	2019-06-21 17:22:11.710519421 +0100
@@ -1 +1 @@
-From 1c5c7c91d300355b5b76c5c396e54f6b35bac28a Mon Sep 17 00:00:00 2001
+From 0c474dcc867cbf56f157ba3361b2ed821bd288dd Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 1c5c7c91d300355b5b76c5c396e54f6b35bac28a ]
+
@@ -17 +18,0 @@
-Cc: stable@dpdk.org

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

* [dpdk-stable] patch 'net/ixgbe: fix Tx threshold setup' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (3 preceding siblings ...)
  2019-06-21 16:45 ` [dpdk-stable] patch 'net/i40e: fix Tx threshold setup' " Kevin Traynor
@ 2019-06-21 16:45 ` Kevin Traynor
  2019-06-21 16:45 ` [dpdk-stable] patch 'net/mlx5: fix missing validation of null pointer' " Kevin Traynor
                   ` (35 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:45 UTC (permalink / raw)
  To: Qi Zhang; +Cc: Beilei Xing, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/f5d573d8ff6cf47e266dbfc6ec8f8ef318b3982b

Thanks.

Kevin Traynor

---
From f5d573d8ff6cf47e266dbfc6ec8f8ef318b3982b Mon Sep 17 00:00:00 2001
From: Qi Zhang <qi.z.zhang@intel.com>
Date: Sat, 4 May 2019 17:29:39 +0800
Subject: [PATCH] net/ixgbe: fix Tx threshold setup

[ upstream commit 9f5d2352fe45bee575f50f4a7131f3beee52b43f ]

Tx desc's DD status is not cleaned by NIC automatically after packets
have been transmitted until software refill a new packet during next
loop. So when tx_free_thresh + tx_rs_thresh > nb_desc, it is possible
that an outdated DD status be checked as tx_next_dd, then segment fault
happen due to free a NULL mbuf pointer.

Then patch fixes this issue by
1. try to adapt tx_rs_thresh to an aggressive tx_free_thresh.
2. queue setup fail when tx_free_thresh + tx_rs_thresh > nb_desc

Fixes: af75078fece3 ("first public release")

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

diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
index 46c93f595..55740e75b 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
@@ -2497,12 +2497,27 @@ ixgbe_dev_tx_queue_setup(struct rte_eth_dev *dev,
 	 *  tx_free_thresh must be greater than 0.
 	 *  tx_free_thresh must be less than the size of the ring minus 3.
+	 *  tx_free_thresh + tx_rs_thresh must not exceed nb_desc.
 	 * One descriptor in the TX ring is used as a sentinel to avoid a
 	 * H/W race condition, hence the maximum threshold constraints.
 	 * When set to zero use default values.
 	 */
-	tx_rs_thresh = (uint16_t)((tx_conf->tx_rs_thresh) ?
-			tx_conf->tx_rs_thresh : DEFAULT_TX_RS_THRESH);
 	tx_free_thresh = (uint16_t)((tx_conf->tx_free_thresh) ?
 			tx_conf->tx_free_thresh : DEFAULT_TX_FREE_THRESH);
+	/* force tx_rs_thresh to adapt an aggresive tx_free_thresh */
+	tx_rs_thresh = (DEFAULT_TX_RS_THRESH + tx_free_thresh > nb_desc) ?
+			nb_desc - tx_free_thresh : DEFAULT_TX_RS_THRESH;
+	if (tx_conf->tx_rs_thresh > 0)
+		tx_rs_thresh = tx_conf->tx_rs_thresh;
+	if (tx_rs_thresh + tx_free_thresh > nb_desc) {
+		PMD_INIT_LOG(ERR, "tx_rs_thresh + tx_free_thresh must not "
+			     "exceed nb_desc. (tx_rs_thresh=%u "
+			     "tx_free_thresh=%u nb_desc=%u port = %d queue=%d)",
+			     (unsigned int)tx_rs_thresh,
+			     (unsigned int)tx_free_thresh,
+			     (unsigned int)nb_desc,
+			     (int)dev->data->port_id,
+			     (int)queue_idx);
+		return -(EINVAL);
+	}
 	if (tx_rs_thresh >= (nb_desc - 2)) {
 		PMD_INIT_LOG(ERR, "tx_rs_thresh must be less than the number "
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:12.062753742 +0100
+++ 0006-net-ixgbe-fix-Tx-threshold-setup.patch	2019-06-21 17:22:11.714519330 +0100
@@ -1 +1 @@
-From 9f5d2352fe45bee575f50f4a7131f3beee52b43f Mon Sep 17 00:00:00 2001
+From f5d573d8ff6cf47e266dbfc6ec8f8ef318b3982b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 9f5d2352fe45bee575f50f4a7131f3beee52b43f ]
+
@@ -17 +18,0 @@
-Cc: stable@dpdk.org
@@ -26 +27 @@
-index 1fbc754ae..3072bc1b5 100644
+index 46c93f595..55740e75b 100644

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

* [dpdk-stable] patch 'net/mlx5: fix missing validation of null pointer' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (4 preceding siblings ...)
  2019-06-21 16:45 ` [dpdk-stable] patch 'net/ixgbe: " Kevin Traynor
@ 2019-06-21 16:45 ` Kevin Traynor
  2019-06-21 16:45 ` [dpdk-stable] patch 'net/mlx5: fix description of return value' " Kevin Traynor
                   ` (34 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:45 UTC (permalink / raw)
  To: Dekel Peled; +Cc: Shahaf Shuler, Yongseok Koh, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/6b72bfde575ed07f419de17c3c037dc9a6bcbcbf

Thanks.

Kevin Traynor

---
From 6b72bfde575ed07f419de17c3c037dc9a6bcbcbf Mon Sep 17 00:00:00 2001
From: Dekel Peled <dekelp@mellanox.com>
Date: Wed, 8 May 2019 11:29:39 +0300
Subject: [PATCH] net/mlx5: fix missing validation of null pointer

[ upstream commit 3a3d398280bb5113caa5aa6ada6704792ea88c36 ]

Function mlx5_rxq_ibv_release() is called in several places.
Before each call except one, the input parameter is validated to make
sure it is not null.

This patch adds the validation where it is missing.
It also changes a priv_ prefix, left in a comment, to mlx5_ prefix.

Fixes: af4f09f28294 ("net/mlx5: prefix all functions with mlx5")

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

diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index f1ce31703..9f1a6ea1a 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -612,9 +612,10 @@ mlx5_rx_intr_vec_disable(struct rte_eth_dev *dev)
 		/**
 		 * Need to access directly the queue to release the reference
-		 * kept in priv_rx_intr_vec_enable().
+		 * kept in mlx5_rx_intr_vec_enable().
 		 */
 		rxq_data = (*priv->rxqs)[i];
 		rxq_ctrl = container_of(rxq_data, struct mlx5_rxq_ctrl, rxq);
-		mlx5_rxq_ibv_release(rxq_ctrl->ibv);
+		if (rxq_ctrl->ibv)
+			mlx5_rxq_ibv_release(rxq_ctrl->ibv);
 	}
 free:
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:12.116754341 +0100
+++ 0007-net-mlx5-fix-missing-validation-of-null-pointer.patch	2019-06-21 17:22:11.716519285 +0100
@@ -1 +1 @@
-From 3a3d398280bb5113caa5aa6ada6704792ea88c36 Mon Sep 17 00:00:00 2001
+From 6b72bfde575ed07f419de17c3c037dc9a6bcbcbf Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3a3d398280bb5113caa5aa6ada6704792ea88c36 ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index 83ba525e6..f595e7a52 100644
+index f1ce31703..9f1a6ea1a 100644
@@ -27 +28 @@
-@@ -594,9 +594,10 @@ mlx5_rx_intr_vec_disable(struct rte_eth_dev *dev)
+@@ -612,9 +612,10 @@ mlx5_rx_intr_vec_disable(struct rte_eth_dev *dev)

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

* [dpdk-stable] patch 'net/mlx5: fix description of return value' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (5 preceding siblings ...)
  2019-06-21 16:45 ` [dpdk-stable] patch 'net/mlx5: fix missing validation of null pointer' " Kevin Traynor
@ 2019-06-21 16:45 ` Kevin Traynor
  2019-06-21 16:45 ` [dpdk-stable] patch 'net/mlx5: fix memory free on queue create error' " Kevin Traynor
                   ` (33 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:45 UTC (permalink / raw)
  To: Dekel Peled; +Cc: Shahaf Shuler, Yongseok Koh, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/8974ae79e9280794a063ac508f31eb00af183ad1

Thanks.

Kevin Traynor

---
From 8974ae79e9280794a063ac508f31eb00af183ad1 Mon Sep 17 00:00:00 2001
From: Dekel Peled <dekelp@mellanox.com>
Date: Wed, 8 May 2019 11:29:40 +0300
Subject: [PATCH] net/mlx5: fix description of return value

[ upstream commit cf9f7115f0f9f394594a069b4eb02120bdaacc8a ]

Return value of function mlx5_rxq_releasable() was not described
correctly in function description.

This patch updates the description to correctly describe the optional
return values.

Fixes: a6d83b6a9209 ("net/mlx5: standardize on negative errno values")

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

diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index 9f1a6ea1a..f48b5512d 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -1560,6 +1560,7 @@ mlx5_rxq_release(struct rte_eth_dev *dev, uint16_t idx)
  *
  * @return
- *   1 if the queue can be released, negative errno otherwise and rte_errno is
- *   set.
+ *   1 if the queue can be released
+ *   0 if the queue can not be released, there are references to it.
+ *   Negative errno and rte_errno is set if queue doesn't exist.
  */
 int
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:12.169348001 +0100
+++ 0008-net-mlx5-fix-description-of-return-value.patch	2019-06-21 17:22:11.717519262 +0100
@@ -1 +1 @@
-From cf9f7115f0f9f394594a069b4eb02120bdaacc8a Mon Sep 17 00:00:00 2001
+From 8974ae79e9280794a063ac508f31eb00af183ad1 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit cf9f7115f0f9f394594a069b4eb02120bdaacc8a ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index f595e7a52..f10e8963c 100644
+index 9f1a6ea1a..f48b5512d 100644
@@ -26 +27 @@
-@@ -1528,6 +1528,7 @@ mlx5_rxq_release(struct rte_eth_dev *dev, uint16_t idx)
+@@ -1560,6 +1560,7 @@ mlx5_rxq_release(struct rte_eth_dev *dev, uint16_t idx)

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

* [dpdk-stable] patch 'net/mlx5: fix memory free on queue create error' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (6 preceding siblings ...)
  2019-06-21 16:45 ` [dpdk-stable] patch 'net/mlx5: fix description of return value' " Kevin Traynor
@ 2019-06-21 16:45 ` Kevin Traynor
  2019-06-21 16:45 ` [dpdk-stable] patch 'net/bnxt: fix TSO' " Kevin Traynor
                   ` (32 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:45 UTC (permalink / raw)
  To: Dekel Peled; +Cc: Ori Kam, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/4abc36975cb000a215cf201f2c018d83e75d3f2d

Thanks.

Kevin Traynor

---
From 4abc36975cb000a215cf201f2c018d83e75d3f2d Mon Sep 17 00:00:00 2001
From: Dekel Peled <dekelp@mellanox.com>
Date: Mon, 20 May 2019 11:07:26 +0300
Subject: [PATCH] net/mlx5: fix memory free on queue create error

[ upstream commit 9e444764487748d28adb9b57e75452ea8c3c9945 ]

In function mlx5_rxq_ibv_new(), pointer *tmpl allocation is attempted
at the start, but not validated or freed in case of error.
In function mlx5_txq_ibv_new(), pointer *txq_ibv allocation is
attempted at the start, but not freed in case of error.

This patch adds pointers initialization, validation and freeing.

Fixes: 09cb5b581762 ("net/mlx5: separate DPDK from verbs Rx queue objects")
Fixes: faf2667fe8d5 ("net/mlx5: separate DPDK from verbs Tx queue objects")

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Ori Kam <orika@mellanox.com>
---
 drivers/net/mlx5/mlx5_rxq.c | 22 +++++++++++++---------
 drivers/net/mlx5/mlx5_txq.c |  4 +++-
 2 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index f48b5512d..416c07342 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -778,5 +778,5 @@ mlx5_rxq_ibv_new(struct rte_eth_dev *dev, uint16_t idx)
 	unsigned int cqe_n;
 	unsigned int wqe_n = 1 << rxq_data->elts_n;
-	struct mlx5_rxq_ibv *tmpl;
+	struct mlx5_rxq_ibv *tmpl = NULL;
 	struct mlx5dv_cq cq_info;
 	struct mlx5dv_rwq rwq;
@@ -1019,13 +1019,17 @@ mlx5_rxq_ibv_new(struct rte_eth_dev *dev, uint16_t idx)
 	return tmpl;
 error:
-	ret = rte_errno; /* Save rte_errno before cleanup. */
-	if (tmpl->wq)
-		claim_zero(mlx5_glue->destroy_wq(tmpl->wq));
-	if (tmpl->cq)
-		claim_zero(mlx5_glue->destroy_cq(tmpl->cq));
-	if (tmpl->channel)
-		claim_zero(mlx5_glue->destroy_comp_channel(tmpl->channel));
+	if (tmpl) {
+		ret = rte_errno; /* Save rte_errno before cleanup. */
+		if (tmpl->wq)
+			claim_zero(mlx5_glue->destroy_wq(tmpl->wq));
+		if (tmpl->cq)
+			claim_zero(mlx5_glue->destroy_cq(tmpl->cq));
+		if (tmpl->channel)
+			claim_zero(mlx5_glue->destroy_comp_channel
+							(tmpl->channel));
+		rte_free(tmpl);
+		rte_errno = ret; /* Restore rte_errno. */
+	}
 	priv->verbs_alloc_ctx.type = MLX5_VERBS_ALLOC_TYPE_NONE;
-	rte_errno = ret; /* Restore rte_errno. */
 	return NULL;
 }
diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c
index c5a3d1b4c..2971f9aa2 100644
--- a/drivers/net/mlx5/mlx5_txq.c
+++ b/drivers/net/mlx5/mlx5_txq.c
@@ -360,5 +360,5 @@ mlx5_txq_ibv_new(struct rte_eth_dev *dev, uint16_t idx)
 		container_of(txq_data, struct mlx5_txq_ctrl, txq);
 	struct mlx5_txq_ibv tmpl;
-	struct mlx5_txq_ibv *txq_ibv;
+	struct mlx5_txq_ibv *txq_ibv = NULL;
 	union {
 		struct ibv_qp_init_attr_ex init;
@@ -544,4 +544,6 @@ error:
 	if (tmpl.qp)
 		claim_zero(mlx5_glue->destroy_qp(tmpl.qp));
+	if (txq_ibv)
+		rte_free(txq_ibv);
 	priv->verbs_alloc_ctx.type = MLX5_VERBS_ALLOC_TYPE_NONE;
 	rte_errno = ret; /* Restore rte_errno. */
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:12.221669119 +0100
+++ 0009-net-mlx5-fix-memory-free-on-queue-create-error.patch	2019-06-21 17:22:11.719519217 +0100
@@ -1 +1 @@
-From 9e444764487748d28adb9b57e75452ea8c3c9945 Mon Sep 17 00:00:00 2001
+From 4abc36975cb000a215cf201f2c018d83e75d3f2d Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 9e444764487748d28adb9b57e75452ea8c3c9945 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index 3330057fa..e04a4718e 100644
+index f48b5512d..416c07342 100644
@@ -28 +29 @@
-@@ -844,5 +844,5 @@ mlx5_rxq_ibv_new(struct rte_eth_dev *dev, uint16_t idx)
+@@ -778,5 +778,5 @@ mlx5_rxq_ibv_new(struct rte_eth_dev *dev, uint16_t idx)
@@ -35 +36 @@
-@@ -1085,13 +1085,17 @@ mlx5_rxq_ibv_new(struct rte_eth_dev *dev, uint16_t idx)
+@@ -1019,13 +1019,17 @@ mlx5_rxq_ibv_new(struct rte_eth_dev *dev, uint16_t idx)
@@ -62 +63 @@
-index 50b1f810a..289024c4c 100644
+index c5a3d1b4c..2971f9aa2 100644
@@ -65 +66 @@
-@@ -402,5 +402,5 @@ mlx5_txq_ibv_new(struct rte_eth_dev *dev, uint16_t idx)
+@@ -360,5 +360,5 @@ mlx5_txq_ibv_new(struct rte_eth_dev *dev, uint16_t idx)
@@ -72 +73 @@
-@@ -587,4 +587,6 @@ error:
+@@ -544,4 +544,6 @@ error:

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

* [dpdk-stable] patch 'net/bnxt: fix TSO' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (7 preceding siblings ...)
  2019-06-21 16:45 ` [dpdk-stable] patch 'net/mlx5: fix memory free on queue create error' " Kevin Traynor
@ 2019-06-21 16:45 ` Kevin Traynor
  2019-06-21 16:45 ` [dpdk-stable] patch 'net/bnxt: check for error conditions in Tx path' " Kevin Traynor
                   ` (31 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:45 UTC (permalink / raw)
  To: Ajit Khaparde; +Cc: Somnath Kotur, Sriharsha Basavapatna, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/2835ed89df01ecad1ecd039581282b2a39e8cfae

Thanks.

Kevin Traynor

---
From 2835ed89df01ecad1ecd039581282b2a39e8cfae Mon Sep 17 00:00:00 2001
From: Ajit Khaparde <ajit.khaparde@broadcom.com>
Date: Wed, 15 May 2019 11:08:12 -0700
Subject: [PATCH] net/bnxt: fix TSO

[ upstream commit c750eae57fe8908163e6debb64e1106b9b554710 ]

We wrongly update lflags in the Tx descriptor; avoid it.
Also, instead of calculating the last producer index to see if mbuf
segments are chained, check if the pointer is NULL to iterate through
the segment list.

Fixes: 6eb3cc2294fd ("net/bnxt: add initial Tx code")

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>
---
 drivers/net/bnxt/bnxt_txr.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/drivers/net/bnxt/bnxt_txr.c b/drivers/net/bnxt/bnxt_txr.c
index 39be7bdfa..6f55f3c53 100644
--- a/drivers/net/bnxt/bnxt_txr.c
+++ b/drivers/net/bnxt/bnxt_txr.c
@@ -124,5 +124,4 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
 	uint32_t vlan_tag_flags, cfa_action;
 	bool long_bd = false;
-	uint16_t last_prod = 0;
 	struct rte_mbuf *m_seg;
 	struct bnxt_sw_tx_bd *tx_buf;
@@ -144,6 +143,4 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
 	tx_buf->mbuf = tx_pkt;
 	tx_buf->nr_bds = long_bd + tx_pkt->nb_segs;
-	last_prod = (txr->tx_prod + tx_buf->nr_bds - 1) &
-				txr->tx_ring_struct->ring_mask;
 
 	if (unlikely(bnxt_tx_avail(txr) < tx_buf->nr_bds))
@@ -194,9 +191,15 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
 
 		if (tx_pkt->ol_flags & PKT_TX_TCP_SEG) {
+			uint16_t hdr_size;
+
 			/* TSO */
 			txbd1->lflags |= TX_BD_LONG_LFLAGS_LSO;
-			txbd1->hdr_size = tx_pkt->l2_len + tx_pkt->l3_len +
+			hdr_size = tx_pkt->l2_len + tx_pkt->l3_len +
 					tx_pkt->l4_len + tx_pkt->outer_l2_len +
 					tx_pkt->outer_l3_len;
+			/* The hdr_size is multiple of 16bit units not 8bit.
+			 * Hence divide by 2.
+			 */
+			txbd1->hdr_size = hdr_size >> 1;
 			txbd1->mss = tx_pkt->tso_segsz;
 
@@ -283,5 +286,5 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
 	m_seg = tx_pkt->next;
 	/* i is set at the end of the if(long_bd) block */
-	while (txr->tx_prod != last_prod) {
+	while (m_seg) {
 		txr->tx_prod = RING_NEXT(txr->tx_ring_struct, txr->tx_prod);
 		tx_buf = &txr->tx_buf_ring[txr->tx_prod];
@@ -296,6 +299,4 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
 
 	txbd->flags_type |= TX_BD_LONG_FLAGS_PACKET_END;
-	if (txbd1)
-		txbd1->lflags = rte_cpu_to_le_32(txbd1->lflags);
 
 	txr->tx_prod = RING_NEXT(txr->tx_ring_struct, txr->tx_prod);
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:12.271296463 +0100
+++ 0010-net-bnxt-fix-TSO.patch	2019-06-21 17:22:11.719519217 +0100
@@ -1 +1 @@
-From c750eae57fe8908163e6debb64e1106b9b554710 Mon Sep 17 00:00:00 2001
+From 2835ed89df01ecad1ecd039581282b2a39e8cfae Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c750eae57fe8908163e6debb64e1106b9b554710 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org

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

* [dpdk-stable] patch 'net/bnxt: check for error conditions in Tx path' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (8 preceding siblings ...)
  2019-06-21 16:45 ` [dpdk-stable] patch 'net/bnxt: fix TSO' " Kevin Traynor
@ 2019-06-21 16:45 ` Kevin Traynor
  2019-06-21 16:45 ` [dpdk-stable] patch 'net/bnxt: fix Tx batching' " Kevin Traynor
                   ` (30 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:45 UTC (permalink / raw)
  To: Ajit Khaparde; +Cc: Somnath Kotur, Sriharsha Basavapatna, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/1bf3888a72382b1cdfa1cae2d3d7210b233bfb3e

Thanks.

Kevin Traynor

---
From 1bf3888a72382b1cdfa1cae2d3d7210b233bfb3e Mon Sep 17 00:00:00 2001
From: Ajit Khaparde <ajit.khaparde@broadcom.com>
Date: Wed, 15 May 2019 11:08:14 -0700
Subject: [PATCH] net/bnxt: check for error conditions in Tx path

[ upstream commit 77942f509b09c934320e1226d82797b3c80eb968 ]

The HW can have limits on the minimum packet size it can support,
or the maximum number of segments it can support. Check for such
possibilities. Also check if we are going to have a 0 length buffer.

Fixes: 6eb3cc2294fd ("net/bnxt: add initial Tx code")

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>
---
 drivers/net/bnxt/bnxt_txr.c | 31 ++++++++++++++++++++++++++++++-
 drivers/net/bnxt/bnxt_txr.h |  2 ++
 2 files changed, 32 insertions(+), 1 deletion(-)

diff --git a/drivers/net/bnxt/bnxt_txr.c b/drivers/net/bnxt/bnxt_txr.c
index 6f55f3c53..da5742ccc 100644
--- a/drivers/net/bnxt/bnxt_txr.c
+++ b/drivers/net/bnxt/bnxt_txr.c
@@ -144,4 +144,31 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
 	tx_buf->nr_bds = long_bd + tx_pkt->nb_segs;
 
+	/* Check if number of Tx descriptors is above HW limit */
+	if (unlikely(tx_buf->nr_bds > BNXT_MAX_TSO_SEGS)) {
+		PMD_DRV_LOG(ERR,
+			    "Num descriptors %d exceeds HW limit\n",
+			    tx_buf->nr_bds);
+		return -ENOSPC;
+	}
+
+	/* If packet length is less than minimum packet size, pad it */
+	if (unlikely(rte_pktmbuf_pkt_len(tx_pkt) < BNXT_MIN_PKT_SIZE)) {
+		uint8_t pad = BNXT_MIN_PKT_SIZE - rte_pktmbuf_pkt_len(tx_pkt);
+		char *seg = rte_pktmbuf_append(tx_pkt, pad);
+
+		if (!seg) {
+			PMD_DRV_LOG(ERR,
+				    "Failed to pad mbuf by %d bytes\n",
+				    pad);
+			return -ENOMEM;
+		}
+
+		/* Note: data_len, pkt len are updated in rte_pktmbuf_append */
+		memset(seg, 0, pad);
+	}
+
+	/* Check non zero data_len */
+	RTE_VERIFY(tx_pkt->data_len);
+
 	if (unlikely(bnxt_tx_avail(txr) < tx_buf->nr_bds))
 		return -ENOMEM;
@@ -203,4 +230,5 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
 			txbd1->hdr_size = hdr_size >> 1;
 			txbd1->mss = tx_pkt->tso_segsz;
+			RTE_VERIFY(txbd1->mss);
 
 		} else if ((tx_pkt->ol_flags & PKT_TX_OIP_IIP_TCP_UDP_CKSUM) ==
@@ -285,6 +313,7 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
 
 	m_seg = tx_pkt->next;
-	/* i is set at the end of the if(long_bd) block */
 	while (m_seg) {
+		/* Check non zero data_len */
+		RTE_VERIFY(m_seg->data_len);
 		txr->tx_prod = RING_NEXT(txr->tx_ring_struct, txr->tx_prod);
 		tx_buf = &txr->tx_buf_ring[txr->tx_prod];
diff --git a/drivers/net/bnxt/bnxt_txr.h b/drivers/net/bnxt/bnxt_txr.h
index 7f3c7cdb0..f802d5080 100644
--- a/drivers/net/bnxt/bnxt_txr.h
+++ b/drivers/net/bnxt/bnxt_txr.h
@@ -11,4 +11,6 @@
 #define MAX_TX_RINGS	16
 #define BNXT_TX_PUSH_THRESH 92
+#define BNXT_MAX_TSO_SEGS	32
+#define BNXT_MIN_PKT_SIZE	52
 
 #define B_TX_DB(db, prod)	rte_write32((DB_KEY_TX | (prod)), db)
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:12.322438974 +0100
+++ 0011-net-bnxt-check-for-error-conditions-in-Tx-path.patch	2019-06-21 17:22:11.720519194 +0100
@@ -1 +1 @@
-From 77942f509b09c934320e1226d82797b3c80eb968 Mon Sep 17 00:00:00 2001
+From 1bf3888a72382b1cdfa1cae2d3d7210b233bfb3e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 77942f509b09c934320e1226d82797b3c80eb968 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 3a0d73af2..9684fb177 100644
+index 6f55f3c53..da5742ccc 100644
@@ -57 +58 @@
-@@ -204,4 +231,5 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
+@@ -203,4 +230,5 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
@@ -63 +64 @@
-@@ -286,6 +314,7 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
+@@ -285,6 +313,7 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,

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

* [dpdk-stable] patch 'net/bnxt: fix Tx batching' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (9 preceding siblings ...)
  2019-06-21 16:45 ` [dpdk-stable] patch 'net/bnxt: check for error conditions in Tx path' " Kevin Traynor
@ 2019-06-21 16:45 ` Kevin Traynor
  2019-06-21 16:45 ` [dpdk-stable] patch 'net/bnxt: optimize " Kevin Traynor
                   ` (29 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:45 UTC (permalink / raw)
  To: Sriharsha Basavapatna; +Cc: Ajit Khaparde, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/274bac969190de1b2922af85682ab64c92d2ec6e

Thanks.

Kevin Traynor

---
From 274bac969190de1b2922af85682ab64c92d2ec6e Mon Sep 17 00:00:00 2001
From: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>
Date: Wed, 15 May 2019 11:08:15 -0700
Subject: [PATCH] net/bnxt: fix Tx batching

[ upstream commit adcee0fc845f653ca288807467f29c7c7c3e532a ]

This patch addresses the following issues with Tx batching:

1. Tx stall observed in some conditions:

The batching code doesn't request for a completion when only a partial
chain of packets is transmitted due to mbuf allocation errors. Because
of this, Tx consumer index is not updated correctly and it eventually
leads to qfull condition. Fix this by requesting a completion for the
last packet in the partial chain that is transmitted successfully.

2. Tx stall seen with Jumbo frames:

With jumbo frames, number of TxBDs is > 1. While setting up these
additional BDs in bnxt_start_xmit(), the flags field is being set using
the OR-assignment operator. We end up using a stale value of the flags
field (from a previous use of that descriptor). This results in an
invalid completion and eventually leads to tx stall. Fix this to just
assign the flags field with the right value.

Fixes: 5735eb241947 ("net/bnxt: support Tx batching")

Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
 drivers/net/bnxt/bnxt_txq.h |  1 -
 drivers/net/bnxt/bnxt_txr.c | 57 ++++++++++++++++++++++---------------
 2 files changed, 34 insertions(+), 24 deletions(-)

diff --git a/drivers/net/bnxt/bnxt_txq.h b/drivers/net/bnxt/bnxt_txq.h
index f2c712a75..720ca90cf 100644
--- a/drivers/net/bnxt/bnxt_txq.h
+++ b/drivers/net/bnxt/bnxt_txq.h
@@ -25,5 +25,4 @@ struct bnxt_tx_queue {
 	uint32_t		ctx_curr; /* Hardware context states */
 	uint8_t			tx_deferred_start; /* not in global dev start */
-	uint8_t			cmpl_next; /* Next BD to trigger a compl */
 
 	struct bnxt		*bp;
diff --git a/drivers/net/bnxt/bnxt_txr.c b/drivers/net/bnxt/bnxt_txr.c
index da5742ccc..52a926c02 100644
--- a/drivers/net/bnxt/bnxt_txr.c
+++ b/drivers/net/bnxt/bnxt_txr.c
@@ -104,12 +104,17 @@ int bnxt_init_tx_ring_struct(struct bnxt_tx_queue *txq, unsigned int socket_id)
 }
 
-static inline uint32_t bnxt_tx_avail(struct bnxt_tx_ring_info *txr)
+static inline uint32_t bnxt_tx_bds_in_hw(struct bnxt_tx_queue *txq)
+{
+	return ((txq->tx_ring->tx_prod - txq->tx_ring->tx_cons) &
+		txq->tx_ring->tx_ring_struct->ring_mask);
+}
+
+static inline uint32_t bnxt_tx_avail(struct bnxt_tx_queue *txq)
 {
 	/* Tell compiler to fetch tx indices from memory. */
 	rte_compiler_barrier();
 
-	return txr->tx_ring_struct->ring_size -
-		((txr->tx_prod - txr->tx_cons) &
-			txr->tx_ring_struct->ring_mask) - 1;
+	return ((txq->tx_ring->tx_ring_struct->ring_size -
+		 bnxt_tx_bds_in_hw(txq)) - 1);
 }
 
@@ -117,5 +122,6 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
 				struct bnxt_tx_queue *txq,
 				uint16_t *coal_pkts,
-				uint16_t *cmpl_next)
+				uint16_t *cmpl_next,
+				struct tx_bd_long **last_txbd)
 {
 	struct bnxt_tx_ring_info *txr = txq->tx_ring;
@@ -124,4 +130,5 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
 	uint32_t vlan_tag_flags, cfa_action;
 	bool long_bd = false;
+	unsigned short nr_bds = 0;
 	struct rte_mbuf *m_seg;
 	struct bnxt_sw_tx_bd *tx_buf;
@@ -140,13 +147,12 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
 		long_bd = true;
 
-	tx_buf = &txr->tx_buf_ring[txr->tx_prod];
-	tx_buf->mbuf = tx_pkt;
-	tx_buf->nr_bds = long_bd + tx_pkt->nb_segs;
+	nr_bds = long_bd + tx_pkt->nb_segs;
+	if (unlikely(bnxt_tx_avail(txq) < nr_bds))
+		return -ENOMEM;
 
 	/* Check if number of Tx descriptors is above HW limit */
-	if (unlikely(tx_buf->nr_bds > BNXT_MAX_TSO_SEGS)) {
+	if (unlikely(nr_bds > BNXT_MAX_TSO_SEGS)) {
 		PMD_DRV_LOG(ERR,
-			    "Num descriptors %d exceeds HW limit\n",
-			    tx_buf->nr_bds);
+			    "Num descriptors %d exceeds HW limit\n", nr_bds);
 		return -ENOSPC;
 	}
@@ -171,10 +177,11 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
 	RTE_VERIFY(tx_pkt->data_len);
 
-	if (unlikely(bnxt_tx_avail(txr) < tx_buf->nr_bds))
-		return -ENOMEM;
+	tx_buf = &txr->tx_buf_ring[txr->tx_prod];
+	tx_buf->mbuf = tx_pkt;
+	tx_buf->nr_bds = nr_bds;
 
 	txbd = &txr->tx_desc_ring[txr->tx_prod];
 	txbd->opaque = *coal_pkts;
-	txbd->flags_type = tx_buf->nr_bds << TX_BD_LONG_FLAGS_BD_CNT_SFT;
+	txbd->flags_type = nr_bds << TX_BD_LONG_FLAGS_BD_CNT_SFT;
 	txbd->flags_type |= TX_BD_SHORT_FLAGS_COAL_NOW;
 	if (!*cmpl_next) {
@@ -190,4 +197,5 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
 		txbd->flags_type |= lhint_arr[tx_pkt->pkt_len >> 9];
 	txbd->address = rte_cpu_to_le_64(rte_mbuf_data_iova(tx_buf->mbuf));
+	*last_txbd = txbd;
 
 	if (long_bd) {
@@ -321,5 +329,5 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
 		txbd = &txr->tx_desc_ring[txr->tx_prod];
 		txbd->address = rte_cpu_to_le_64(rte_mbuf_data_iova(m_seg));
-		txbd->flags_type |= TX_BD_SHORT_TYPE_TX_BD_SHORT;
+		txbd->flags_type = TX_BD_SHORT_TYPE_TX_BD_SHORT;
 		txbd->len = m_seg->data_len;
 
@@ -371,6 +379,5 @@ static int bnxt_handle_tx_cp(struct bnxt_tx_queue *txq)
 	uint32_t opaque = 0;
 
-	if (((txq->tx_ring->tx_prod - txq->tx_ring->tx_cons) &
-		txq->tx_ring->tx_ring_struct->ring_mask) < txq->tx_free_thresh)
+	if (bnxt_tx_bds_in_hw(txq) < txq->tx_free_thresh)
 		return 0;
 
@@ -411,5 +418,6 @@ uint16_t bnxt_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
 	uint16_t nb_tx_pkts = 0;
 	uint16_t coal_pkts = 0;
-	uint16_t cmpl_next = txq->cmpl_next;
+	uint16_t cmpl_next = 0;
+	struct tx_bd_long *last_txbd = NULL;
 
 	/* Handle TX completions */
@@ -422,18 +430,21 @@ uint16_t bnxt_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
 	}
 
-	txq->cmpl_next = 0;
 	/* Handle TX burst request */
 	for (nb_tx_pkts = 0; nb_tx_pkts < nb_pkts; nb_tx_pkts++) {
 		int rc;
 
-		/* Request a completion on first and last packet */
+		/* Request a completion on the last packet */
 		cmpl_next |= (nb_pkts == nb_tx_pkts + 1);
 		coal_pkts++;
 		rc = bnxt_start_xmit(tx_pkts[nb_tx_pkts], txq,
-				&coal_pkts, &cmpl_next);
+				     &coal_pkts, &cmpl_next, &last_txbd);
 
 		if (unlikely(rc)) {
-			/* Request a completion in next cycle */
-			txq->cmpl_next = 1;
+			/* Request a completion on the last successfully
+			 * enqueued packet
+			 */
+			if (last_txbd)
+				last_txbd->flags_type &=
+					~TX_BD_LONG_FLAGS_NO_CMPL;
 			break;
 		}
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:12.377433281 +0100
+++ 0012-net-bnxt-fix-Tx-batching.patch	2019-06-21 17:22:11.720519194 +0100
@@ -1 +1 @@
-From adcee0fc845f653ca288807467f29c7c7c3e532a Mon Sep 17 00:00:00 2001
+From 274bac969190de1b2922af85682ab64c92d2ec6e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit adcee0fc845f653ca288807467f29c7c7c3e532a ]
+
@@ -26 +27,0 @@
-Cc: stable@dpdk.org
@@ -46 +47 @@
-index 9684fb177..186934136 100644
+index da5742ccc..52a926c02 100644
@@ -125 +126 @@
-@@ -322,5 +330,5 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
+@@ -321,5 +329,5 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
@@ -132 +133 @@
-@@ -372,6 +380,5 @@ static int bnxt_handle_tx_cp(struct bnxt_tx_queue *txq)
+@@ -371,6 +379,5 @@ static int bnxt_handle_tx_cp(struct bnxt_tx_queue *txq)
@@ -140 +141 @@
-@@ -412,5 +419,6 @@ uint16_t bnxt_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
+@@ -411,5 +418,6 @@ uint16_t bnxt_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
@@ -148 +149 @@
-@@ -423,18 +431,21 @@ uint16_t bnxt_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
+@@ -422,18 +430,21 @@ uint16_t bnxt_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,

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

* [dpdk-stable] patch 'net/bnxt: optimize Tx batching' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (10 preceding siblings ...)
  2019-06-21 16:45 ` [dpdk-stable] patch 'net/bnxt: fix Tx batching' " Kevin Traynor
@ 2019-06-21 16:45 ` Kevin Traynor
  2019-06-21 16:45 ` [dpdk-stable] patch 'net/vmxnet3: fix uninitialized variable' " Kevin Traynor
                   ` (28 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:45 UTC (permalink / raw)
  To: Sriharsha Basavapatna; +Cc: Ajit Khaparde, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/1227407bc832de51b3c43f34035e809ab090ed67

Thanks.

Kevin Traynor

---
From 1227407bc832de51b3c43f34035e809ab090ed67 Mon Sep 17 00:00:00 2001
From: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>
Date: Wed, 15 May 2019 11:08:16 -0700
Subject: [PATCH] net/bnxt: optimize Tx batching

[ upstream commit 220de9869bc3877bb493f6cccd96aabe98adeb6b ]

This patch adds a few optimizations to Tx batching. Instead of
specifying 'cmpl_next' to bnxt_start_xmit() as a hint to enable
completion for a given packet, request for completion on the last
successfully enqueued TxBD. This takes care of both success and
error cases. It eliminates 'cmpl_next' arg and related per-packet
condition checks around it.

Fixes: 5735eb241947 ("net/bnxt: support Tx batching")

Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
 drivers/net/bnxt/bnxt_txr.c | 32 +++++++++-----------------------
 1 file changed, 9 insertions(+), 23 deletions(-)

diff --git a/drivers/net/bnxt/bnxt_txr.c b/drivers/net/bnxt/bnxt_txr.c
index 52a926c02..82ab46501 100644
--- a/drivers/net/bnxt/bnxt_txr.c
+++ b/drivers/net/bnxt/bnxt_txr.c
@@ -122,5 +122,4 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
 				struct bnxt_tx_queue *txq,
 				uint16_t *coal_pkts,
-				uint16_t *cmpl_next,
 				struct tx_bd_long **last_txbd)
 {
@@ -185,10 +184,5 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
 	txbd->flags_type = nr_bds << TX_BD_LONG_FLAGS_BD_CNT_SFT;
 	txbd->flags_type |= TX_BD_SHORT_FLAGS_COAL_NOW;
-	if (!*cmpl_next) {
-		txbd->flags_type |= TX_BD_LONG_FLAGS_NO_CMPL;
-	} else {
-		*coal_pkts = 0;
-		*cmpl_next = false;
-	}
+	txbd->flags_type |= TX_BD_LONG_FLAGS_NO_CMPL;
 	txbd->len = tx_pkt->data_len;
 	if (tx_pkt->pkt_len >= 2014)
@@ -415,8 +409,8 @@ uint16_t bnxt_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
 			       uint16_t nb_pkts)
 {
-	struct bnxt_tx_queue *txq = tx_queue;
+	int rc;
 	uint16_t nb_tx_pkts = 0;
 	uint16_t coal_pkts = 0;
-	uint16_t cmpl_next = 0;
+	struct bnxt_tx_queue *txq = tx_queue;
 	struct tx_bd_long *last_txbd = NULL;
 
@@ -432,25 +426,17 @@ uint16_t bnxt_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
 	/* Handle TX burst request */
 	for (nb_tx_pkts = 0; nb_tx_pkts < nb_pkts; nb_tx_pkts++) {
-		int rc;
-
-		/* Request a completion on the last packet */
-		cmpl_next |= (nb_pkts == nb_tx_pkts + 1);
 		coal_pkts++;
 		rc = bnxt_start_xmit(tx_pkts[nb_tx_pkts], txq,
-				     &coal_pkts, &cmpl_next, &last_txbd);
+				     &coal_pkts, &last_txbd);
 
-		if (unlikely(rc)) {
-			/* Request a completion on the last successfully
-			 * enqueued packet
-			 */
-			if (last_txbd)
-				last_txbd->flags_type &=
-					~TX_BD_LONG_FLAGS_NO_CMPL;
+		if (unlikely(rc))
 			break;
-		}
 	}
 
-	if (nb_tx_pkts)
+	if (likely(nb_tx_pkts)) {
+		/* Request a completion on the last packet */
+		last_txbd->flags_type &= ~TX_BD_LONG_FLAGS_NO_CMPL;
 		B_TX_DB(txq->tx_ring->tx_doorbell, txq->tx_ring->tx_prod);
+	}
 
 	return nb_tx_pkts;
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:12.427357556 +0100
+++ 0013-net-bnxt-optimize-Tx-batching.patch	2019-06-21 17:22:11.721519171 +0100
@@ -1 +1 @@
-From 220de9869bc3877bb493f6cccd96aabe98adeb6b Mon Sep 17 00:00:00 2001
+From 1227407bc832de51b3c43f34035e809ab090ed67 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 220de9869bc3877bb493f6cccd96aabe98adeb6b ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index 186934136..b15778b39 100644
+index 52a926c02..82ab46501 100644
@@ -44 +45 @@
-@@ -416,8 +410,8 @@ uint16_t bnxt_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
+@@ -415,8 +409,8 @@ uint16_t bnxt_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
@@ -55 +56 @@
-@@ -433,25 +427,17 @@ uint16_t bnxt_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
+@@ -432,25 +426,17 @@ uint16_t bnxt_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,

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

* [dpdk-stable] patch 'net/vmxnet3: fix uninitialized variable' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (11 preceding siblings ...)
  2019-06-21 16:45 ` [dpdk-stable] patch 'net/bnxt: optimize " Kevin Traynor
@ 2019-06-21 16:45 ` Kevin Traynor
  2019-06-21 16:45 ` [dpdk-stable] patch 'fix off-by-one errors in snprintf' " Kevin Traynor
                   ` (27 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:45 UTC (permalink / raw)
  To: Yogev Chaimovich; +Cc: Yong Wang, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/22925db87edb0a4d9446b6e6c10781f83b86c54e

Thanks.

Kevin Traynor

---
From 22925db87edb0a4d9446b6e6c10781f83b86c54e Mon Sep 17 00:00:00 2001
From: Yogev Chaimovich <yogev@cgstowernetworks.com>
Date: Thu, 16 May 2019 07:10:38 +0000
Subject: [PATCH] net/vmxnet3: fix uninitialized variable

[ upstream commit de80fbfddb44b1bf883f84b9e2edbde22a569758 ]

Coverity issue: 323479
Fixes: 30f77abecd38 ("net/vmxnet3: support stats reset")

Signed-off-by: Yogev Chaimovich <yogev@cgstowernetworks.com>
Acked-by: Yong Wang <yongwang@vmware.com>
---
 drivers/net/vmxnet3/vmxnet3_ethdev.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c
index 812e18575..c856b77f8 100644
--- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
+++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
@@ -1120,6 +1120,6 @@ vmxnet3_dev_stats_reset(struct rte_eth_dev *dev)
 	unsigned int i;
 	struct vmxnet3_hw *hw = dev->data->dev_private;
-	struct UPT1_TxStats txStats;
-	struct UPT1_RxStats rxStats;
+	struct UPT1_TxStats txStats = {0};
+	struct UPT1_RxStats rxStats = {0};
 
 	VMXNET3_WRITE_BAR1_REG(hw, VMXNET3_REG_CMD, VMXNET3_CMD_GET_STATS);
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:12.478221214 +0100
+++ 0014-net-vmxnet3-fix-uninitialized-variable.patch	2019-06-21 17:22:11.722519148 +0100
@@ -1 +1 @@
-From de80fbfddb44b1bf883f84b9e2edbde22a569758 Mon Sep 17 00:00:00 2001
+From 22925db87edb0a4d9446b6e6c10781f83b86c54e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit de80fbfddb44b1bf883f84b9e2edbde22a569758 ]
+
@@ -8 +9,0 @@
-Cc: stable@dpdk.org
@@ -17 +18 @@
-index 79ec42e37..2b1e91511 100644
+index 812e18575..c856b77f8 100644
@@ -20 +21 @@
-@@ -1133,6 +1133,6 @@ vmxnet3_dev_stats_reset(struct rte_eth_dev *dev)
+@@ -1120,6 +1120,6 @@ vmxnet3_dev_stats_reset(struct rte_eth_dev *dev)

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

* [dpdk-stable] patch 'fix off-by-one errors in snprintf' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (12 preceding siblings ...)
  2019-06-21 16:45 ` [dpdk-stable] patch 'net/vmxnet3: fix uninitialized variable' " Kevin Traynor
@ 2019-06-21 16:45 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'doc: robustify PDF build' " Kevin Traynor
                   ` (26 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:45 UTC (permalink / raw)
  To: Michael Santana; +Cc: Bruce Richardson, Anatoly Burakov, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/5eb73b34f8167cd001eee415893554c3c2bc6168

Thanks.

Kevin Traynor

---
From 5eb73b34f8167cd001eee415893554c3c2bc6168 Mon Sep 17 00:00:00 2001
From: Michael Santana <msantana@redhat.com>
Date: Fri, 10 May 2019 10:53:12 -0400
Subject: [PATCH] fix off-by-one errors in snprintf

[ upstream commit f4be6a9a2903e68f5f04124eeb59325c17f1e1eb ]

snprintf guarantees to always correctly place a null terminator
in the buffer string. So manually placing a null terminator
in a buffer right after a call to snprintf is redundant code.

Additionally, there is no need to use 'sizeof(buffer) - 1' in snprintf as this
means we are not using the last character in the buffer. 'sizeof(buffer)' is
enough.

Signed-off-by: Michael Santana <msantana@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 drivers/net/qede/base/bcm_osal.c                        | 4 ++--
 drivers/net/qede/qede_filter.c                          | 2 +-
 drivers/net/vdev_netvsc/vdev_netvsc.c                   | 2 +-
 examples/multi_process/client_server_mp/shared/common.h | 2 +-
 examples/server_node_efd/shared/common.h                | 2 +-
 lib/librte_eal/common/eal_common_options.c              | 3 +--
 lib/librte_eal/common/eal_filesystem.h                  | 9 ++++-----
 lib/librte_eal/common/malloc_heap.c                     | 4 ++--
 8 files changed, 13 insertions(+), 15 deletions(-)

diff --git a/drivers/net/qede/base/bcm_osal.c b/drivers/net/qede/base/bcm_osal.c
index 693328f11..9915df44f 100644
--- a/drivers/net/qede/base/bcm_osal.c
+++ b/drivers/net/qede/base/bcm_osal.c
@@ -129,5 +129,5 @@ void *osal_dma_alloc_coherent(struct ecore_dev *p_dev,
 
 	OSAL_MEM_ZERO(mz_name, sizeof(*mz_name));
-	snprintf(mz_name, sizeof(mz_name) - 1, "%lx",
+	snprintf(mz_name, sizeof(mz_name), "%lx",
 					(unsigned long)rte_get_timer_cycles());
 	if (core_id == (unsigned int)LCORE_ID_ANY)
@@ -168,5 +168,5 @@ void *osal_dma_alloc_coherent_aligned(struct ecore_dev *p_dev,
 
 	OSAL_MEM_ZERO(mz_name, sizeof(*mz_name));
-	snprintf(mz_name, sizeof(mz_name) - 1, "%lx",
+	snprintf(mz_name, sizeof(mz_name), "%lx",
 					(unsigned long)rte_get_timer_cycles());
 	if (core_id == (unsigned int)LCORE_ID_ANY)
diff --git a/drivers/net/qede/qede_filter.c b/drivers/net/qede/qede_filter.c
index 5e6571ca6..0beade6d5 100644
--- a/drivers/net/qede/qede_filter.c
+++ b/drivers/net/qede/qede_filter.c
@@ -291,5 +291,5 @@ qede_config_arfs_filter(struct rte_eth_dev *eth_dev,
 	 * not currently used so it has no significance.
 	 */
-	snprintf(mz_name, sizeof(mz_name) - 1, "%lx",
+	snprintf(mz_name, sizeof(mz_name), "%lx",
 		 (unsigned long)rte_get_timer_cycles());
 	mz = rte_memzone_reserve_aligned(mz_name, QEDE_MAX_FDIR_PKT_LEN,
diff --git a/drivers/net/vdev_netvsc/vdev_netvsc.c b/drivers/net/vdev_netvsc/vdev_netvsc.c
index a5fd64e0c..94d067b20 100644
--- a/drivers/net/vdev_netvsc/vdev_netvsc.c
+++ b/drivers/net/vdev_netvsc/vdev_netvsc.c
@@ -334,5 +334,5 @@ vdev_netvsc_sysfs_readlink(char *buf, size_t size, const char *if_name,
 	int ret;
 
-	ret = snprintf(in, sizeof(in) - 1, "/sys/class/net/%s/%s",
+	ret = snprintf(in, sizeof(in), "/sys/class/net/%s/%s",
 		       if_name, relpath);
 	if (ret == -1 || (size_t)ret >= sizeof(in))
diff --git a/examples/multi_process/client_server_mp/shared/common.h b/examples/multi_process/client_server_mp/shared/common.h
index ac9175524..6dd43fcac 100644
--- a/examples/multi_process/client_server_mp/shared/common.h
+++ b/examples/multi_process/client_server_mp/shared/common.h
@@ -50,5 +50,5 @@ get_rx_queue_name(unsigned id)
 	static char buffer[sizeof(MP_CLIENT_RXQ_NAME) + 2];
 
-	snprintf(buffer, sizeof(buffer) - 1, MP_CLIENT_RXQ_NAME, id);
+	snprintf(buffer, sizeof(buffer), MP_CLIENT_RXQ_NAME, id);
 	return buffer;
 }
diff --git a/examples/server_node_efd/shared/common.h b/examples/server_node_efd/shared/common.h
index b8b533d8c..130fd4f4e 100644
--- a/examples/server_node_efd/shared/common.h
+++ b/examples/server_node_efd/shared/common.h
@@ -62,5 +62,5 @@ get_rx_queue_name(unsigned int id)
 	static char buffer[sizeof(MP_NODE_RXQ_NAME) + 2];
 
-	snprintf(buffer, sizeof(buffer) - 1, MP_NODE_RXQ_NAME, id);
+	snprintf(buffer, sizeof(buffer), MP_NODE_RXQ_NAME, id);
 	return buffer;
 }
diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index d4ab5e235..79efb15d0 100644
--- a/lib/librte_eal/common/eal_common_options.c
+++ b/lib/librte_eal/common/eal_common_options.c
@@ -259,6 +259,5 @@ eal_plugindir_init(const char *path)
 		struct stat sb;
 
-		snprintf(sopath, PATH_MAX-1, "%s/%s", path, dent->d_name);
-		sopath[PATH_MAX-1] = 0;
+		snprintf(sopath, sizeof(sopath), "%s/%s", path, dent->d_name);
 
 		if (!(stat(sopath, &sb) == 0 && S_ISREG(sb.st_mode)))
diff --git a/lib/librte_eal/common/eal_filesystem.h b/lib/librte_eal/common/eal_filesystem.h
index 89a3added..aaba88e04 100644
--- a/lib/librte_eal/common/eal_filesystem.h
+++ b/lib/librte_eal/common/eal_filesystem.h
@@ -39,5 +39,5 @@ eal_runtime_config_path(void)
 	static char buffer[PATH_MAX]; /* static so auto-zeroed */
 
-	snprintf(buffer, sizeof(buffer) - 1, "%s/%s", rte_eal_get_runtime_dir(),
+	snprintf(buffer, sizeof(buffer), "%s/%s", rte_eal_get_runtime_dir(),
 			RUNTIME_CONFIG_FNAME);
 	return buffer;
@@ -51,5 +51,5 @@ eal_mp_socket_path(void)
 	static char buffer[PATH_MAX]; /* static so auto-zeroed */
 
-	snprintf(buffer, sizeof(buffer) - 1, "%s/%s", rte_eal_get_runtime_dir(),
+	snprintf(buffer, sizeof(buffer), "%s/%s", rte_eal_get_runtime_dir(),
 			MP_SOCKET_FNAME);
 	return buffer;
@@ -71,5 +71,5 @@ eal_hugepage_info_path(void)
 	static char buffer[PATH_MAX]; /* static so auto-zeroed */
 
-	snprintf(buffer, sizeof(buffer) - 1, "%s/%s", rte_eal_get_runtime_dir(),
+	snprintf(buffer, sizeof(buffer), "%s/%s", rte_eal_get_runtime_dir(),
 			HUGEPAGE_INFO_FNAME);
 	return buffer;
@@ -83,5 +83,5 @@ eal_hugepage_data_path(void)
 	static char buffer[PATH_MAX]; /* static so auto-zeroed */
 
-	snprintf(buffer, sizeof(buffer) - 1, "%s/%s", rte_eal_get_runtime_dir(),
+	snprintf(buffer, sizeof(buffer), "%s/%s", rte_eal_get_runtime_dir(),
 			HUGEPAGE_DATA_FNAME);
 	return buffer;
@@ -95,5 +95,4 @@ eal_get_hugefile_path(char *buffer, size_t buflen, const char *hugedir, int f_id
 	snprintf(buffer, buflen, HUGEFILE_FMT, hugedir,
 			eal_get_hugefile_prefix(), f_id);
-	buffer[buflen - 1] = '\0';
 	return buffer;
 }
diff --git a/lib/librte_eal/common/malloc_heap.c b/lib/librte_eal/common/malloc_heap.c
index c6a6d4f6b..b8f26f2b3 100644
--- a/lib/librte_eal/common/malloc_heap.c
+++ b/lib/librte_eal/common/malloc_heap.c
@@ -1121,5 +1121,5 @@ malloc_heap_add_external_memory(struct malloc_heap *heap, void *va_addr,
 	}
 
-	snprintf(fbarray_name, sizeof(fbarray_name) - 1, "%s_%p",
+	snprintf(fbarray_name, sizeof(fbarray_name), "%s_%p",
 			heap->name, va_addr);
 
@@ -1270,5 +1270,5 @@ rte_eal_malloc_heap_init(void)
 			int socket_id = rte_socket_id_by_idx(i);
 
-			snprintf(heap_name, sizeof(heap_name) - 1,
+			snprintf(heap_name, sizeof(heap_name),
 					"socket_%i", socket_id);
 			strlcpy(heap->name, heap_name, RTE_HEAP_NAME_MAX_LEN);
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:12.527920053 +0100
+++ 0015-fix-off-by-one-errors-in-snprintf.patch	2019-06-21 17:22:11.727519035 +0100
@@ -1 +1 @@
-From f4be6a9a2903e68f5f04124eeb59325c17f1e1eb Mon Sep 17 00:00:00 2001
+From 5eb73b34f8167cd001eee415893554c3c2bc6168 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit f4be6a9a2903e68f5f04124eeb59325c17f1e1eb ]
+
@@ -14,2 +15,0 @@
-Cc: stable@dpdk.org
-
@@ -49 +49 @@
-index 7bdc3023f..fd4985861 100644
+index 5e6571ca6..0beade6d5 100644
@@ -60 +60 @@
-index ad13eac3b..edab63e3a 100644
+index a5fd64e0c..94d067b20 100644
@@ -63 +63 @@
-@@ -331,5 +331,5 @@ vdev_netvsc_sysfs_readlink(char *buf, size_t size, const char *if_name,
+@@ -334,5 +334,5 @@ vdev_netvsc_sysfs_readlink(char *buf, size_t size, const char *if_name,
@@ -93 +93 @@
-index 0c91024c4..512d5088e 100644
+index d4ab5e235..79efb15d0 100644
@@ -96 +96 @@
-@@ -261,6 +261,5 @@ eal_plugindir_init(const char *path)
+@@ -259,6 +259,5 @@ eal_plugindir_init(const char *path)
@@ -105 +105 @@
-index f2f83e712..5d21f07c2 100644
+index 89a3added..aaba88e04 100644
@@ -143 +143 @@
-index c5d254d8a..f9235932e 100644
+index c6a6d4f6b..b8f26f2b3 100644
@@ -146 +146 @@
-@@ -1119,5 +1119,5 @@ malloc_heap_create_external_seg(void *va_addr, rte_iova_t iova_addrs[],
+@@ -1121,5 +1121,5 @@ malloc_heap_add_external_memory(struct malloc_heap *heap, void *va_addr,
@@ -151 +151 @@
- 			seg_name, va_addr);
+ 			heap->name, va_addr);
@@ -153 +153 @@
-@@ -1335,5 +1335,5 @@ rte_eal_malloc_heap_init(void)
+@@ -1270,5 +1270,5 @@ rte_eal_malloc_heap_init(void)

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

* [dpdk-stable] patch 'doc: robustify PDF build' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (13 preceding siblings ...)
  2019-06-21 16:45 ` [dpdk-stable] patch 'fix off-by-one errors in snprintf' " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'doc: fix PDF with greek letter' " Kevin Traynor
                   ` (25 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: John McNamara, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/61c6b7cd990507f67a80ac417c3da3ff81299a07

Thanks.

Kevin Traynor

---
From 61c6b7cd990507f67a80ac417c3da3ff81299a07 Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas@monjalon.net>
Date: Wed, 22 May 2019 19:55:24 +0200
Subject: [PATCH] doc: robustify PDF build

[ upstream commit 1f7203d6155d473173dd4ba98cb81c46c6c1b5c8 ]

In some environment like the current dpdk.org server,
there can be some errors due to symbols in titles,
as it was the case before this commit in DPDK 18.05:
commit 551d148944dc ("doc: remove flow API migration section")

	! LaTeX Error: Bad math environment delimiter.

It can be avoided thanks to the Latex command \robustify.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: John McNamara <john.mcnamara@intel.com>
---
 doc/guides/conf.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/doc/guides/conf.py b/doc/guides/conf.py
index a85f6c9d9..6d5001a07 100644
--- a/doc/guides/conf.py
+++ b/doc/guides/conf.py
@@ -68,4 +68,7 @@ custom_latex_preamble = r"""
 \renewcommand{\familydefault}{\sfdefault}
 \RecustomVerbatimEnvironment{Verbatim}{Verbatim}{xleftmargin=5mm}
+\usepackage{etoolbox}
+\robustify\(
+\robustify\)
 """
 
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:12.581694144 +0100
+++ 0016-doc-robustify-PDF-build.patch	2019-06-21 17:22:11.728519012 +0100
@@ -1 +1 @@
-From 1f7203d6155d473173dd4ba98cb81c46c6c1b5c8 Mon Sep 17 00:00:00 2001
+From 61c6b7cd990507f67a80ac417c3da3ff81299a07 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 1f7203d6155d473173dd4ba98cb81c46c6c1b5c8 ]
+
@@ -14,2 +15,0 @@
-
-Cc: stable@dpdk.org

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

* [dpdk-stable] patch 'doc: fix PDF with greek letter' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (14 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'doc: robustify PDF build' " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/cxgbe: do not dereference global config struct' " Kevin Traynor
                   ` (24 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: John McNamara, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/ab1b62a5e989f143236f4f4249da6d737abfce0d

Thanks.

Kevin Traynor

---
From ab1b62a5e989f143236f4f4249da6d737abfce0d Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas@monjalon.net>
Date: Wed, 22 May 2019 10:44:31 +0200
Subject: [PATCH] doc: fix PDF with greek letter
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit f98f4fb25c141aa69e3ab6c0f0bedad76546d3d8 ]

For an unknown reason, the sign "μ" is not accepted by some environments,
probably due to the version of some Latex packages or dependencies.

	! Package inputenc Error: Unicode character μ (U+03BC)
	(inputenc)                not set up for use with LaTeX.

It is fixed by installing texlive-langgreek.

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

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: John McNamara <john.mcnamara@intel.com>
---
 doc/guides/conf.py                        | 1 +
 doc/guides/contributing/documentation.rst | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/doc/guides/conf.py b/doc/guides/conf.py
index 6d5001a07..94b97dc35 100644
--- a/doc/guides/conf.py
+++ b/doc/guides/conf.py
@@ -65,4 +65,5 @@ custom_latex_preamble = r"""
 \usepackage[utf8]{inputenc}
 \usepackage[T1]{fontenc}
+\usepackage{textalpha}
 \usepackage{helvet}
 \renewcommand{\familydefault}{\sfdefault}
diff --git a/doc/guides/contributing/documentation.rst b/doc/guides/contributing/documentation.rst
index 408859e2c..a45b62bad 100644
--- a/doc/guides/contributing/documentation.rst
+++ b/doc/guides/contributing/documentation.rst
@@ -201,8 +201,8 @@ The main required packages can be installed as follows:
 
    # Ubuntu/Debian.
-   sudo apt-get -y install texlive-latex-extra
+   sudo apt-get -y install texlive-latex-extra texlive-lang-greek
 
    # Red Hat/Fedora, selective install.
-   sudo dnf     -y install texlive-collection-latexextra
+   sudo dnf     -y install texlive-collection-latexextra texlive-greek-fontenc
 
 `Latexmk <http://personal.psu.edu/jcc8/software/latexmk-jcc/>`_ is a perl script
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:12.633167362 +0100
+++ 0017-doc-fix-PDF-with-greek-letter.patch	2019-06-21 17:22:11.728519012 +0100
@@ -1 +1 @@
-From f98f4fb25c141aa69e3ab6c0f0bedad76546d3d8 Mon Sep 17 00:00:00 2001
+From ab1b62a5e989f143236f4f4249da6d737abfce0d Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit f98f4fb25c141aa69e3ab6c0f0bedad76546d3d8 ]
+
@@ -18 +19,0 @@
-Cc: stable@dpdk.org
@@ -38 +39 @@
-index 9d381919b..27e4b13be 100644
+index 408859e2c..a45b62bad 100644
@@ -41 +42 @@
-@@ -200,8 +200,8 @@ The main required packages can be installed as follows:
+@@ -201,8 +201,8 @@ The main required packages can be installed as follows:

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

* [dpdk-stable] patch 'net/cxgbe: do not dereference global config struct' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (15 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'doc: fix PDF with greek letter' " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'examples/multi_process: do not dereference global config' " Kevin Traynor
                   ` (23 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: David Marchand; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/26c9e9406e34049542a1eb2e4fd076547753d29d

Thanks.

Kevin Traynor

---
From 26c9e9406e34049542a1eb2e4fd076547753d29d Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Wed, 15 May 2019 09:54:19 +0200
Subject: [PATCH] net/cxgbe: do not dereference global config struct

[ upstream commit 64a46f14f616ff83da9ebfa8ab1c93e62dc99dd5 ]

Prefer the existing apis rather than direct access the configuration
structure.

Fixes: 92c8a63223e5 ("cxgbe: add device configuration and Rx support")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 drivers/net/cxgbe/cxgbe_main.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/net/cxgbe/cxgbe_main.c b/drivers/net/cxgbe/cxgbe_main.c
index 6a3cbc1e5..dbdbbd170 100644
--- a/drivers/net/cxgbe/cxgbe_main.c
+++ b/drivers/net/cxgbe/cxgbe_main.c
@@ -505,5 +505,4 @@ int cxgbe_cfg_queue_count(struct rte_eth_dev *eth_dev)
 void cxgbe_cfg_queues(struct rte_eth_dev *eth_dev)
 {
-	struct rte_config *config = rte_eal_get_configuration();
 	struct port_info *pi = (struct port_info *)(eth_dev->data->dev_private);
 	struct adapter *adap = pi->adapter;
@@ -528,6 +527,6 @@ void cxgbe_cfg_queues(struct rte_eth_dev *eth_dev)
 				     nb_ports;
 
-		if (q_per_port > config->lcore_count)
-			q_per_port = config->lcore_count;
+		if (q_per_port > rte_lcore_count())
+			q_per_port = rte_lcore_count();
 
 		for_each_port(adap, i) {
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:12.687674856 +0100
+++ 0018-net-cxgbe-do-not-dereference-global-config-struct.patch	2019-06-21 17:22:11.730518966 +0100
@@ -1 +1 @@
-From 64a46f14f616ff83da9ebfa8ab1c93e62dc99dd5 Mon Sep 17 00:00:00 2001
+From 26c9e9406e34049542a1eb2e4fd076547753d29d Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 64a46f14f616ff83da9ebfa8ab1c93e62dc99dd5 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index b5d5cd081..c3036e136 100644
+index 6a3cbc1e5..dbdbbd170 100644

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

* [dpdk-stable] patch 'examples/multi_process: do not dereference global config' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (16 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/cxgbe: do not dereference global config struct' " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'examples/qos_sched: do not dereference global config struct' " Kevin Traynor
                   ` (22 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: David Marchand; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/21771b74a49563fcc06752148160351dd50d5eb6

Thanks.

Kevin Traynor

---
From 21771b74a49563fcc06752148160351dd50d5eb6 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Wed, 15 May 2019 09:54:21 +0200
Subject: [PATCH] examples/multi_process: do not dereference global config
 struct

[ upstream commit 200bc52e5aa0d72e70464c9cd22b55cf536ed13c ]

Prefer the existing apis rather than direct access the configuration
structure.

Fixes: af75078fece3 ("first public release")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 examples/multi_process/symmetric_mp/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/multi_process/symmetric_mp/main.c b/examples/multi_process/symmetric_mp/main.c
index c310e942b..62771e036 100644
--- a/examples/multi_process/symmetric_mp/main.c
+++ b/examples/multi_process/symmetric_mp/main.c
@@ -272,5 +272,5 @@ assign_ports_to_cores(void)
 {
 
-	const unsigned lcores = rte_eal_get_configuration()->lcore_count;
+	const unsigned int lcores = rte_lcore_count();
 	const unsigned port_pairs = num_ports / 2;
 	const unsigned pairs_per_lcore = port_pairs / lcores;
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:12.739193573 +0100
+++ 0019-examples-multi_process-do-not-dereference-global-con.patch	2019-06-21 17:22:11.731518943 +0100
@@ -1 +1 @@
-From 200bc52e5aa0d72e70464c9cd22b55cf536ed13c Mon Sep 17 00:00:00 2001
+From 21771b74a49563fcc06752148160351dd50d5eb6 Mon Sep 17 00:00:00 2001
@@ -6,0 +7,2 @@
+[ upstream commit 200bc52e5aa0d72e70464c9cd22b55cf536ed13c ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org

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

* [dpdk-stable] patch 'examples/qos_sched: do not dereference global config struct' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (17 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'examples/multi_process: do not dereference global config' " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'test/hash: use existing lcore API' " Kevin Traynor
                   ` (21 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: David Marchand; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/54c7559ddb79371772ec173f233fea6a6204dc98

Thanks.

Kevin Traynor

---
From 54c7559ddb79371772ec173f233fea6a6204dc98 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Wed, 15 May 2019 09:54:22 +0200
Subject: [PATCH] examples/qos_sched: do not dereference global config struct

[ upstream commit 4df7d46bbdba4f390816476fa62f21668f87b995 ]

Prefer the existing apis rather than direct access the configuration
structure.

Fixes: de3cfa2c9823 ("sched: initial import")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 examples/qos_sched/args.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/examples/qos_sched/args.c b/examples/qos_sched/args.c
index 83eee95cc..7431b2981 100644
--- a/examples/qos_sched/args.c
+++ b/examples/qos_sched/args.c
@@ -91,14 +91,13 @@ static uint64_t
 app_eal_core_mask(void)
 {
-	uint32_t i;
 	uint64_t cm = 0;
-	struct rte_config *cfg = rte_eal_get_configuration();
+	uint32_t i;
 
 	for (i = 0; i < APP_MAX_LCORE; i++) {
-		if (cfg->lcore_role[i] == ROLE_RTE)
+		if (rte_lcore_has_role(i, ROLE_RTE))
 			cm |= (1ULL << i);
 	}
 
-	cm |= (1ULL << cfg->master_lcore);
+	cm |= (1ULL << rte_get_master_lcore());
 
 	return cm;
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:12.792821906 +0100
+++ 0020-examples-qos_sched-do-not-dereference-global-config-.patch	2019-06-21 17:22:11.731518943 +0100
@@ -1 +1 @@
-From 4df7d46bbdba4f390816476fa62f21668f87b995 Mon Sep 17 00:00:00 2001
+From 54c7559ddb79371772ec173f233fea6a6204dc98 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4df7d46bbdba4f390816476fa62f21668f87b995 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org

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

* [dpdk-stable] patch 'test/hash: use existing lcore API' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (18 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'examples/qos_sched: do not dereference global config struct' " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'config: disable armv8 crypto extension' " Kevin Traynor
                   ` (20 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: David Marchand; +Cc: Dharmik Thakkar, Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/d62ffd31f241cd23c142a3443c8b7d343673ed76

Thanks.

Kevin Traynor

---
From d62ffd31f241cd23c142a3443c8b7d343673ed76 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Wed, 22 May 2019 17:06:56 +0200
Subject: [PATCH] test/hash: use existing lcore API

[ upstream commit dfd9d5537e876676014827cdaf24da3718a25bc7 ]

Prefer the existing apis rather than direct access the configuration
structure.

test_hash_multi_add_lookup() currently starts n readers and N writers
using rte_eal_remote_launch().
It then waits for the N writers to complete with a custom
multi_writer_done[] array to synchronise over.
Jump on the occasion to use rte_eal_wait_lcore() so that the code is
more straightforward:
- we start n readers with rte_eal_remote_launch(),
- we start N writers with rte_eal_remote_launch(),
- we wait for N writers to join with rte_eal_wait_lcore(),
- we wait for n readers to join with rte_eal_wait_lcore(),

Fixes: c7eb0972e74b ("test/hash: add lock-free r/w concurrency")
Fixes: 3f9aab961ed3 ("test/hash: check lock-free extendable bucket")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Dharmik Thakkar <dharmik.thakkar@arm.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 test/test/test_hash_readwrite_lf.c | 37 ++++++++++++++----------------
 1 file changed, 17 insertions(+), 20 deletions(-)

diff --git a/test/test/test_hash_readwrite_lf.c b/test/test/test_hash_readwrite_lf.c
index cbfd93226..934512ddb 100644
--- a/test/test/test_hash_readwrite_lf.c
+++ b/test/test/test_hash_readwrite_lf.c
@@ -76,5 +76,4 @@ static rte_atomic64_t greads;
 
 static volatile uint8_t writer_done;
-static volatile uint8_t multi_writer_done[4];
 
 uint16_t enabled_core_ids[RTE_MAX_LCORE];
@@ -572,5 +571,4 @@ test_rwc_multi_writer(__attribute__((unused)) void *arg)
 		rte_hash_add_key(tbl_rwc_test_param.h,
 				 tbl_rwc_test_param.keys_ks + i);
-	multi_writer_done[pos_core] = 1;
 	return 0;
 }
@@ -620,8 +618,7 @@ test_hash_add_no_ks_lookup_hit(struct rwc_perf *rwc_perf_results, int rwc_lf,
 						(void *)(uintptr_t)read_type,
 							enabled_core_ids[i]);
-			rte_eal_mp_wait_lcore();
 
 			for (i = 1; i <= rwc_core_cnt[n]; i++)
-				if (lcore_config[i].ret < 0)
+				if (rte_eal_wait_lcore(i) < 0)
 					goto err;
 
@@ -640,4 +637,5 @@ finish:
 
 err:
+	rte_eal_mp_wait_lcore();
 	rte_hash_free(tbl_rwc_test_param.h);
 	return -1;
@@ -690,10 +688,9 @@ test_hash_add_no_ks_lookup_miss(struct rwc_perf *rwc_perf_results, int rwc_lf,
 			ret = write_keys(key_shift);
 			writer_done = 1;
-			rte_eal_mp_wait_lcore();
 
 			if (ret < 0)
 				goto err;
 			for (i = 1; i <= rwc_core_cnt[n]; i++)
-				if (lcore_config[i].ret < 0)
+				if (rte_eal_wait_lcore(i) < 0)
 					goto err;
 
@@ -712,4 +709,5 @@ finish:
 
 err:
+	rte_eal_mp_wait_lcore();
 	rte_hash_free(tbl_rwc_test_param.h);
 	return -1;
@@ -766,10 +764,9 @@ test_hash_add_ks_lookup_hit_non_sp(struct rwc_perf *rwc_perf_results,
 			ret = write_keys(key_shift);
 			writer_done = 1;
-			rte_eal_mp_wait_lcore();
 
 			if (ret < 0)
 				goto err;
 			for (i = 1; i <= rwc_core_cnt[n]; i++)
-				if (lcore_config[i].ret < 0)
+				if (rte_eal_wait_lcore(i) < 0)
 					goto err;
 
@@ -788,4 +785,5 @@ finish:
 
 err:
+	rte_eal_mp_wait_lcore();
 	rte_hash_free(tbl_rwc_test_param.h);
 	return -1;
@@ -842,10 +840,9 @@ test_hash_add_ks_lookup_hit_sp(struct rwc_perf *rwc_perf_results, int rwc_lf,
 			ret = write_keys(key_shift);
 			writer_done = 1;
-			rte_eal_mp_wait_lcore();
 
 			if (ret < 0)
 				goto err;
 			for (i = 1; i <= rwc_core_cnt[n]; i++)
-				if (lcore_config[i].ret < 0)
+				if (rte_eal_wait_lcore(i) < 0)
 					goto err;
 
@@ -864,4 +861,5 @@ finish:
 
 err:
+	rte_eal_mp_wait_lcore();
 	rte_hash_free(tbl_rwc_test_param.h);
 	return -1;
@@ -917,10 +915,9 @@ test_hash_add_ks_lookup_miss(struct rwc_perf *rwc_perf_results, int rwc_lf, int
 			ret = write_keys(key_shift);
 			writer_done = 1;
-			rte_eal_mp_wait_lcore();
 
 			if (ret < 0)
 				goto err;
 			for (i = 1; i <= rwc_core_cnt[n]; i++)
-				if (lcore_config[i].ret < 0)
+				if (rte_eal_wait_lcore(i) < 0)
 					goto err;
 
@@ -938,4 +935,5 @@ finish:
 
 err:
+	rte_eal_mp_wait_lcore();
 	rte_hash_free(tbl_rwc_test_param.h);
 	return -1;
@@ -990,6 +988,4 @@ test_hash_multi_add_lookup(struct rwc_perf *rwc_perf_results, int rwc_lf,
 				rte_hash_reset(tbl_rwc_test_param.h);
 				writer_done = 0;
-				for (i = 0; i < 4; i++)
-					multi_writer_done[i] = 0;
 				key_shift = 0;
 				if (write_keys(key_shift) < 0)
@@ -1015,13 +1011,13 @@ test_hash_multi_add_lookup(struct rwc_perf *rwc_perf_results, int rwc_lf,
 
 				/* Wait for writers to complete */
-				for (i = 0; i < rwc_core_cnt[m]; i++)
-					while
-						(multi_writer_done[i] == 0);
+				for (i = rwc_core_cnt[n] + 1;
+				     i <= rwc_core_cnt[m] + rwc_core_cnt[n];
+				     i++)
+					rte_eal_wait_lcore(i);
+
 				writer_done = 1;
 
-				rte_eal_mp_wait_lcore();
-
 				for (i = 1; i <= rwc_core_cnt[n]; i++)
-					if (lcore_config[i].ret < 0)
+					if (rte_eal_wait_lcore(i) < 0)
 						goto err;
 
@@ -1042,4 +1038,5 @@ finish:
 
 err:
+	rte_eal_mp_wait_lcore();
 	rte_hash_free(tbl_rwc_test_param.h);
 	return -1;
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:12.843472177 +0100
+++ 0021-test-hash-use-existing-lcore-API.patch	2019-06-21 17:22:11.732518921 +0100
@@ -1 +1 @@
-From dfd9d5537e876676014827cdaf24da3718a25bc7 Mon Sep 17 00:00:00 2001
+From d62ffd31f241cd23c142a3443c8b7d343673ed76 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit dfd9d5537e876676014827cdaf24da3718a25bc7 ]
+
@@ -22 +23,0 @@
-Cc: stable@dpdk.org
@@ -28,2 +29,2 @@
- app/test/test_hash_readwrite_lf.c | 41 ++++++++++++++-----------------
- 1 file changed, 19 insertions(+), 22 deletions(-)
+ test/test/test_hash_readwrite_lf.c | 37 ++++++++++++++----------------
+ 1 file changed, 17 insertions(+), 20 deletions(-)
@@ -31,5 +32,5 @@
-diff --git a/app/test/test_hash_readwrite_lf.c b/app/test/test_hash_readwrite_lf.c
-index 4ab4c8ee6..343a338b4 100644
---- a/app/test/test_hash_readwrite_lf.c
-+++ b/app/test/test_hash_readwrite_lf.c
-@@ -87,5 +87,4 @@ static rte_atomic64_t greads;
+diff --git a/test/test/test_hash_readwrite_lf.c b/test/test/test_hash_readwrite_lf.c
+index cbfd93226..934512ddb 100644
+--- a/test/test/test_hash_readwrite_lf.c
++++ b/test/test/test_hash_readwrite_lf.c
+@@ -76,5 +76,4 @@ static rte_atomic64_t greads;
@@ -41 +42 @@
-@@ -691,5 +690,4 @@ test_rwc_multi_writer(__attribute__((unused)) void *arg)
+@@ -572,5 +571,4 @@ test_rwc_multi_writer(__attribute__((unused)) void *arg)
@@ -47 +48 @@
-@@ -739,8 +737,7 @@ test_hash_add_no_ks_lookup_hit(struct rwc_perf *rwc_perf_results, int rwc_lf,
+@@ -620,8 +618,7 @@ test_hash_add_no_ks_lookup_hit(struct rwc_perf *rwc_perf_results, int rwc_lf,
@@ -57 +58 @@
-@@ -759,4 +756,5 @@ finish:
+@@ -640,4 +637,5 @@ finish:
@@ -63,2 +64,2 @@
-@@ -809,10 +807,9 @@ test_hash_add_no_ks_lookup_miss(struct rwc_perf *rwc_perf_results, int rwc_lf,
- 			ret = write_keys(write_type);
+@@ -690,10 +688,9 @@ test_hash_add_no_ks_lookup_miss(struct rwc_perf *rwc_perf_results, int rwc_lf,
+ 			ret = write_keys(key_shift);
@@ -75 +76 @@
-@@ -831,4 +828,5 @@ finish:
+@@ -712,4 +709,5 @@ finish:
@@ -81,2 +82,2 @@
-@@ -885,10 +883,9 @@ test_hash_add_ks_lookup_hit_non_sp(struct rwc_perf *rwc_perf_results,
- 			ret = write_keys(write_type);
+@@ -766,10 +764,9 @@ test_hash_add_ks_lookup_hit_non_sp(struct rwc_perf *rwc_perf_results,
+ 			ret = write_keys(key_shift);
@@ -93 +94 @@
-@@ -907,4 +904,5 @@ finish:
+@@ -788,4 +785,5 @@ finish:
@@ -99,2 +100,2 @@
-@@ -961,10 +959,9 @@ test_hash_add_ks_lookup_hit_sp(struct rwc_perf *rwc_perf_results, int rwc_lf,
- 			ret = write_keys(write_type);
+@@ -842,10 +840,9 @@ test_hash_add_ks_lookup_hit_sp(struct rwc_perf *rwc_perf_results, int rwc_lf,
+ 			ret = write_keys(key_shift);
@@ -111 +112 @@
-@@ -983,4 +980,5 @@ finish:
+@@ -864,4 +861,5 @@ finish:
@@ -117,2 +118,2 @@
-@@ -1036,10 +1034,9 @@ test_hash_add_ks_lookup_miss(struct rwc_perf *rwc_perf_results, int rwc_lf, int
- 			ret = write_keys(write_type);
+@@ -917,10 +915,9 @@ test_hash_add_ks_lookup_miss(struct rwc_perf *rwc_perf_results, int rwc_lf, int
+ 			ret = write_keys(key_shift);
@@ -129 +130 @@
-@@ -1057,4 +1054,5 @@ finish:
+@@ -938,4 +935,5 @@ finish:
@@ -135 +136 @@
-@@ -1109,6 +1107,4 @@ test_hash_multi_add_lookup(struct rwc_perf *rwc_perf_results, int rwc_lf,
+@@ -990,6 +988,4 @@ test_hash_multi_add_lookup(struct rwc_perf *rwc_perf_results, int rwc_lf,
@@ -140,3 +141,3 @@
- 				write_type = WRITE_NO_KEY_SHIFT;
- 				if (write_keys(write_type) < 0)
-@@ -1134,13 +1130,13 @@ test_hash_multi_add_lookup(struct rwc_perf *rwc_perf_results, int rwc_lf,
+ 				key_shift = 0;
+ 				if (write_keys(key_shift) < 0)
+@@ -1015,13 +1011,13 @@ test_hash_multi_add_lookup(struct rwc_perf *rwc_perf_results, int rwc_lf,
@@ -162,17 +163 @@
-@@ -1161,4 +1157,5 @@ finish:
- 
- err:
-+	rte_eal_mp_wait_lcore();
- 	rte_hash_free(tbl_rwc_test_param.h);
- 	return -1;
-@@ -1223,8 +1220,7 @@ test_hash_add_ks_lookup_hit_extbkt(struct rwc_perf *rwc_perf_results,
- 			}
- 			writer_done = 1;
--			rte_eal_mp_wait_lcore();
- 
- 			for (i = 1; i <= rwc_core_cnt[n]; i++)
--				if (lcore_config[i].ret < 0)
-+				if (rte_eal_wait_lcore(i) < 0)
- 					goto err;
- 
-@@ -1243,4 +1239,5 @@ finish:
+@@ -1042,4 +1038,5 @@ finish:

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

* [dpdk-stable] patch 'config: disable armv8 crypto extension' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (19 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'test/hash: use existing lcore API' " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'examples/ip_fragmentation: fix Tx queues init' " Kevin Traynor
                   ` (19 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: Yongseok Koh
  Cc: Jerin Jacob, Dharmik Thakkar, Honnappa Nagarahalli, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/a4029ffab0f29ef6f0416604a3fcdaf9544f9c00

Thanks.

Kevin Traynor

---
From a4029ffab0f29ef6f0416604a3fcdaf9544f9c00 Mon Sep 17 00:00:00 2001
From: Yongseok Koh <yskoh@mellanox.com>
Date: Tue, 7 May 2019 14:11:40 -0700
Subject: [PATCH] config: disable armv8 crypto extension

[ upstream commit e404de13054a4149253ddd3fb1f179a4c7d7ae4d ]

Per armv8 crypto extension support, make build always enable it by default
as long as compiler supports the feature while meson build only enables it
for 'default' machine of generic armv8 architecture.

It is known that not all the armv8 platforms have the crypto extension. For
example, Mellanox BlueField has a variant which doesn't have it. If crypto
enabled binary runs on such a platform, rte_eal_init() fails.

'+crypto' flag currently implies only '+aes' and '+sha2' and enabling it
will generate the crypto instructions only when crypto intrinsics are used.
For the devices supporting 8.2 crypto or newer, compiler could generate
such instructions beyond intrinsics or asm code. For example, compiler can
generate 3-way exclusive OR instructions if sha3 is supported. However, it
has to be enabled by adding '+sha3' as of today.

In DPDK, armv8 cryptodev is the only one which requires the crypto support.
As it even uses external library of Marvell which is compiled out of DPDK
with crypto support and there's run-time check for required cpuflags,
crypto support can be disabled in DPDK.

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Tested-by: Dharmik Thakkar <dharmik.thakkar@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
---
 config/arm/meson.build        | 2 +-
 mk/machine/armv8a/rte.vars.mk | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/config/arm/meson.build b/config/arm/meson.build
index 9feb54f22..2a5615893 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -10,5 +10,5 @@ arm_force_default_march = (machine == 'default')
 
 machine_args_generic = [
-	['default', ['-march=armv8-a+crc+crypto']],
+	['default', ['-march=armv8-a+crc']],
 	['native', ['-march=native']],
 	['0xd03', ['-mcpu=cortex-a53']],
diff --git a/mk/machine/armv8a/rte.vars.mk b/mk/machine/armv8a/rte.vars.mk
index 8252efbb7..5e3ffc3ad 100644
--- a/mk/machine/armv8a/rte.vars.mk
+++ b/mk/machine/armv8a/rte.vars.mk
@@ -29,3 +29,3 @@
 # CPU_ASFLAGS =
 
-MACHINE_CFLAGS += -march=armv8-a+crc+crypto
+MACHINE_CFLAGS += -march=armv8-a+crc
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:12.894379422 +0100
+++ 0022-config-disable-armv8-crypto-extension.patch	2019-06-21 17:22:11.733518898 +0100
@@ -1 +1 @@
-From e404de13054a4149253ddd3fb1f179a4c7d7ae4d Mon Sep 17 00:00:00 2001
+From a4029ffab0f29ef6f0416604a3fcdaf9544f9c00 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e404de13054a4149253ddd3fb1f179a4c7d7ae4d ]
+
@@ -26,2 +27,0 @@
-Cc: stable@dpdk.org
-
@@ -33,4 +33,3 @@
- config/arm/meson.build                 | 2 +-
- doc/guides/rel_notes/release_19_08.rst | 2 ++
- mk/machine/armv8a/rte.vars.mk          | 2 +-
- 3 files changed, 4 insertions(+), 2 deletions(-)
+ config/arm/meson.build        | 2 +-
+ mk/machine/armv8a/rte.vars.mk | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
@@ -39 +38 @@
-index 7fa6ed310..abc8cf346 100644
+index 9feb54f22..2a5615893 100644
@@ -42 +41 @@
-@@ -75,5 +75,5 @@ flags_octeontx2_extra = [
+@@ -10,5 +10,5 @@ arm_force_default_march = (machine == 'default')
@@ -49,11 +47,0 @@
-diff --git a/doc/guides/rel_notes/release_19_08.rst b/doc/guides/rel_notes/release_19_08.rst
-index a17e7dea5..c199270c5 100644
---- a/doc/guides/rel_notes/release_19_08.rst
-+++ b/doc/guides/rel_notes/release_19_08.rst
-@@ -70,4 +70,6 @@ Removed Items
- * Removed KNI ethtool, CONFIG_RTE_KNI_KMOD_ETHTOOL, support.
- 
-+* build: armv8 crypto extension is disabled.
-+
- 
- API Changes

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

* [dpdk-stable] patch 'examples/ip_fragmentation: fix Tx queues init' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (20 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'config: disable armv8 crypto extension' " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'mem: ease init in a docker container' " Kevin Traynor
                   ` (18 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: Ali Alnubani; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/2c139f18efb74e54256c69667a53b7087de44042

Thanks.

Kevin Traynor

---
From 2c139f18efb74e54256c69667a53b7087de44042 Mon Sep 17 00:00:00 2001
From: Ali Alnubani <alialnu@mellanox.com>
Date: Mon, 6 May 2019 09:49:10 +0000
Subject: [PATCH] examples/ip_fragmentation: fix Tx queues init

[ upstream commit 9758b956dcf493e9cb73c965c791d2a50407ae6b ]

The application tries to configure queue ids larger
than the maximum allowed by MAX_TX_QUEUE_PER_PORT. This
causes the startup error:

"
  ...
  Initializing port 0 on lcore 0... Address:7C:FE:90:12:23:0D
  txq=0,0 txq=1,1 txq=2,2 txq=3,3 txq=4,4 txq=5,5 txq=6,6 txq=7,7 txq=8,8
  txq=9,9 txq=10,10 txq=11,11 txq=12,12 txq=13,13 txq=14,14 txq=15,15
  txq=16,16 Invalid TX queue_id=16

  EAL: Error - exiting with code: 1
    Cause: rte_eth_tx_queue_setup: err=-22, port=0
"

The error reproduces when lcores aren't set, and when the
machine has more than 16 cores.

Fixes: af75078fece3 ("first public release")

Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
---
 examples/ip_fragmentation/main.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/examples/ip_fragmentation/main.c b/examples/ip_fragmentation/main.c
index 17a877da2..b388f3083 100644
--- a/examples/ip_fragmentation/main.c
+++ b/examples/ip_fragmentation/main.c
@@ -967,4 +967,7 @@ main(int argc, char **argv)
 				continue;
 
+			if (queueid >= rte_eth_devices[portid].data->nb_tx_queues)
+				break;
+
 			socket = (int) rte_lcore_to_socket_id(lcore_id);
 			printf("txq=%u,%d ", lcore_id, queueid);
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:12.946165034 +0100
+++ 0023-examples-ip_fragmentation-fix-Tx-queues-init.patch	2019-06-21 17:22:11.734518875 +0100
@@ -1 +1 @@
-From 9758b956dcf493e9cb73c965c791d2a50407ae6b Mon Sep 17 00:00:00 2001
+From 2c139f18efb74e54256c69667a53b7087de44042 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 9758b956dcf493e9cb73c965c791d2a50407ae6b ]
+
@@ -25 +26,0 @@
-Cc: stable@dpdk.org
@@ -33 +34 @@
-index a5101fa91..85c0100f7 100644
+index 17a877da2..b388f3083 100644
@@ -36 +37 @@
-@@ -990,4 +990,7 @@ main(int argc, char **argv)
+@@ -967,4 +967,7 @@ main(int argc, char **argv)

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

* [dpdk-stable] patch 'mem: ease init in a docker container' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (21 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'examples/ip_fragmentation: fix Tx queues init' " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'doc: fix Linux guide for arm64 cross-compilation' " Kevin Traynor
                   ` (17 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: Nicolas Dichtel
  Cc: Olivier Matz, Didier Pallard, David Marchand, Anatoly Burakov,
	dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/f81c31bcea0b4806284a65a325ca4c268276bdd8

Thanks.

Kevin Traynor

---
From f81c31bcea0b4806284a65a325ca4c268276bdd8 Mon Sep 17 00:00:00 2001
From: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Date: Thu, 23 May 2019 11:52:31 +0200
Subject: [PATCH] mem: ease init in a docker container

[ upstream commit 2a96c88be83e3101c3915c2af8c03158aeb605a7 ]

move_pages() is only used to get the numa node id, but this function
is not allowed by default in docker (it needs CAP_SYS_NICE and an update of
the seccomp profile).
get_mempolicy() also requires CAP_SYS_NICE but doesn't need any change in
the default seccomp profile.

Note that the returned value of move_pages() was not checked, thus some
errors could be hidden (if the requested id was 0).

Fixes: 582bed1e1d1d ("mem: support mapping hugepages at runtime")

Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Reviewed-by: Olivier Matz <olivier.matz@6wind.com>
Reviewed-by: Didier Pallard <didier.pallard@6wind.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 lib/librte_eal/linuxapp/eal/eal_memalloc.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/lib/librte_eal/linuxapp/eal/eal_memalloc.c b/lib/librte_eal/linuxapp/eal/eal_memalloc.c
index 81b441a96..f85c1f398 100644
--- a/lib/librte_eal/linuxapp/eal/eal_memalloc.c
+++ b/lib/librte_eal/linuxapp/eal/eal_memalloc.c
@@ -733,7 +733,11 @@ alloc_seg(struct rte_memseg *ms, void *addr, int socket_id,
 
 #ifdef RTE_EAL_NUMA_AWARE_HUGEPAGES
-	move_pages(getpid(), 1, &addr, NULL, &cur_socket_id, 0);
-
-	if (cur_socket_id != socket_id) {
+	ret = get_mempolicy(&cur_socket_id, NULL, 0, addr,
+			    MPOL_F_NODE | MPOL_F_ADDR);
+	if (ret < 0) {
+		RTE_LOG(DEBUG, EAL, "%s(): get_mempolicy: %s\n",
+			__func__, strerror(errno));
+		goto mapped;
+	} else if (cur_socket_id != socket_id) {
 		RTE_LOG(DEBUG, EAL,
 				"%s(): allocation happened on wrong socket (wanted %d, got %d)\n",
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:12.996968243 +0100
+++ 0024-mem-ease-init-in-a-docker-container.patch	2019-06-21 17:22:11.735518853 +0100
@@ -1 +1 @@
-From 2a96c88be83e3101c3915c2af8c03158aeb605a7 Mon Sep 17 00:00:00 2001
+From f81c31bcea0b4806284a65a325ca4c268276bdd8 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 2a96c88be83e3101c3915c2af8c03158aeb605a7 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
- lib/librte_eal/linux/eal/eal_memalloc.c | 10 +++++++---
+ lib/librte_eal/linuxapp/eal/eal_memalloc.c | 10 +++++++---
@@ -27,5 +28,5 @@
-diff --git a/lib/librte_eal/linux/eal/eal_memalloc.c b/lib/librte_eal/linux/eal/eal_memalloc.c
-index b1849a28a..2019636fb 100644
---- a/lib/librte_eal/linux/eal/eal_memalloc.c
-+++ b/lib/librte_eal/linux/eal/eal_memalloc.c
-@@ -600,7 +600,11 @@ alloc_seg(struct rte_memseg *ms, void *addr, int socket_id,
+diff --git a/lib/librte_eal/linuxapp/eal/eal_memalloc.c b/lib/librte_eal/linuxapp/eal/eal_memalloc.c
+index 81b441a96..f85c1f398 100644
+--- a/lib/librte_eal/linuxapp/eal/eal_memalloc.c
++++ b/lib/librte_eal/linuxapp/eal/eal_memalloc.c
+@@ -733,7 +733,11 @@ alloc_seg(struct rte_memseg *ms, void *addr, int socket_id,

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

* [dpdk-stable] patch 'doc: fix Linux guide for arm64 cross-compilation' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (22 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'mem: ease init in a docker container' " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'examples/multi_process: fix FreeBSD build' " Kevin Traynor
                   ` (16 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: Ruifeng Wang; +Cc: Gavin Hu, Jerin Jacob, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/c48f4ef3cc90e27c6e9a17d1c51d66f553b978b2

Thanks.

Kevin Traynor

---
From c48f4ef3cc90e27c6e9a17d1c51d66f553b978b2 Mon Sep 17 00:00:00 2001
From: Ruifeng Wang <ruifeng.wang@arm.com>
Date: Wed, 15 May 2019 16:41:23 +0800
Subject: [PATCH] doc: fix Linux guide for arm64 cross-compilation

[ upstream commit 74ea082f96b8392e1df9adb9c69a3d36efe98c07 ]

libnuma.so is needed to augment the cross toolchain with NUMA support.
This fixed meson cross compiling issue.

Command used:
meson arm64-build --cross-file config/arm/arm64_armv8_linux_gcc
ninja -C arm64-build

Compiling error:
.../aarch64-linux-gnu/bin/ld: lib/librte_eal.so.10.1: version node
not found for symbol numa_run_on_node_mask@@libnuma_1.2
.../aarch64-linux-gnu/bin/ld: failed to set dynamic section sizes:
Bad value
collect2: error: ld returned 1 exit status
[58/1370] Compiling C object 'lib/76b5a35@@rte_cmdline@sta/
librte_cmdline_cmdline_parse_string.c.o'.
ninja: build stopped: subcommand failed.

Fixes: 01add9da25cd ("doc: add cross compiling guide")

Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
---
 doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst | 1 +
 1 file changed, 1 insertion(+)

diff --git a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
index fd7a46c80..73a0b87c5 100644
--- a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
+++ b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
@@ -72,4 +72,5 @@ Copy the NUMA header files and lib to the cross compiler's directories:
    cp <numa_install_dir>/include/numa*.h <cross_install_dir>/gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu/bin/../aarch64-linux-gnu/libc/usr/include/
    cp <numa_install_dir>/lib/libnuma.a <cross_install_dir>/gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/8.2/
+   cp <numa_install_dir>/lib/libnuma.so <cross_install_dir>/gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu/lib/gcc/aarch64-linux-gnu/8.2/
 
 .. _configure_and_cross_compile_dpdk_build:
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:13.045976361 +0100
+++ 0025-doc-fix-Linux-guide-for-arm64-cross-compilation.patch	2019-06-21 17:22:11.735518853 +0100
@@ -1 +1 @@
-From 74ea082f96b8392e1df9adb9c69a3d36efe98c07 Mon Sep 17 00:00:00 2001
+From c48f4ef3cc90e27c6e9a17d1c51d66f553b978b2 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 74ea082f96b8392e1df9adb9c69a3d36efe98c07 ]
+
@@ -24 +25,0 @@
-Cc: stable@dpdk.org
@@ -34 +35 @@
-index bba9b9203..28a8e0920 100644
+index fd7a46c80..73a0b87c5 100644
@@ -37 +38 @@
-@@ -74,4 +74,5 @@ Copy the NUMA header files and lib to the cross compiler's directories:
+@@ -72,4 +72,5 @@ Copy the NUMA header files and lib to the cross compiler's directories:

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

* [dpdk-stable] patch 'examples/multi_process: fix FreeBSD build' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (23 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'doc: fix Linux guide for arm64 cross-compilation' " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'bpf: fix pseudo calls for program loaded from ELF' " Kevin Traynor
                   ` (15 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: David Marchand; +Cc: Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/815f68fe246d634b2486a68588935d768539a824

Thanks.

Kevin Traynor

---
From 815f68fe246d634b2486a68588935d768539a824 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Wed, 5 Jun 2019 13:30:26 +0200
Subject: [PATCH] examples/multi_process: fix FreeBSD build

[ upstream commit 996839793a2b6af80c29ffe55f4361ae23665e69 ]

Caught on FreeBSD 12:

/usr/include/netinet/ip.h:71:17: error: field 'ip_src' has incomplete type
  struct in_addr ip_src,ip_dst; /* source and dest address */
                 ^~~~~~

On FreeBSD, netinet/ip.h is not auto sufficient like on Linux.
But actually, this header is not used in the example, just remove it.

Fixes: 764bf26873b9 ("add FreeBSD support")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Tested-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 examples/multi_process/client_server_mp/mp_server/main.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/examples/multi_process/client_server_mp/mp_server/main.c b/examples/multi_process/client_server_mp/mp_server/main.c
index 0ddc63e92..98d675910 100644
--- a/examples/multi_process/client_server_mp/mp_server/main.c
+++ b/examples/multi_process/client_server_mp/mp_server/main.c
@@ -12,5 +12,4 @@
 #include <sys/queue.h>
 #include <errno.h>
-#include <netinet/ip.h>
 #include <signal.h>
 
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:13.095022723 +0100
+++ 0026-examples-multi_process-fix-FreeBSD-build.patch	2019-06-21 17:22:11.735518853 +0100
@@ -1 +1 @@
-From 996839793a2b6af80c29ffe55f4361ae23665e69 Mon Sep 17 00:00:00 2001
+From 815f68fe246d634b2486a68588935d768539a824 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 996839793a2b6af80c29ffe55f4361ae23665e69 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -26 +27 @@
-index 9a8e422d4..015053370 100644
+index 0ddc63e92..98d675910 100644

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

* [dpdk-stable] patch 'bpf: fix pseudo calls for program loaded from ELF' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (24 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'examples/multi_process: fix FreeBSD build' " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'acl: fix build with some arm64 compiler' " Kevin Traynor
                   ` (14 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: Konstantin Ananyev; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/12d5f99de0e6e7feb3a46ec847cc18ef63e1dae9

Thanks.

Kevin Traynor

---
From 12d5f99de0e6e7feb3a46ec847cc18ef63e1dae9 Mon Sep 17 00:00:00 2001
From: Konstantin Ananyev <konstantin.ananyev@intel.com>
Date: Fri, 17 May 2019 15:09:42 +0100
Subject: [PATCH] bpf: fix pseudo calls for program loaded from ELF

[ upstream commit 64ac6feb8291eb0fe74cf965dd3890625f8f3171 ]

clang 6.0 and onwards, for the external function call generates
BPF_PSEUDO_CALL instruction:
call pseudo +-off -> call another bpf function.
More details about that change: https://lwn.net/Articles/741773/
DPDK BPF implementation right now doesn't support multiple BPF
functions per module.
To overcome that problem, and preserve existing functionality
(ability to call allowed by user external functions),
bpf_elf_load() clears EBPF_PSEUDO_CALL value.
For details how to reproduce the issue:
https://bugs.dpdk.org/show_bug.cgi?id=259

Fixes: 5dba93ae5f2d ("bpf: add ability to load eBPF program from ELF object file")

Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
---
 lib/librte_bpf/bpf_def.h      |  8 ++++++++
 lib/librte_bpf/bpf_load_elf.c | 15 +++++++++++++--
 lib/librte_bpf/rte_bpf.h      |  3 +++
 3 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/lib/librte_bpf/bpf_def.h b/lib/librte_bpf/bpf_def.h
index c10f3aec4..d39992997 100644
--- a/lib/librte_bpf/bpf_def.h
+++ b/lib/librte_bpf/bpf_def.h
@@ -121,4 +121,12 @@ enum {
 };
 
+/*
+ * When EBPF_CALL instruction has src_reg == EBPF_PSEUDO_CALL,
+ * it should be treated as pseudo-call instruction, where
+ * imm value contains pc-relative offset to another EBPF function.
+ * Right now DPDK EBPF library doesn't support it.
+ */
+#define	EBPF_PSEUDO_CALL	EBPF_REG_1
+
 /*
  * eBPF instruction format
diff --git a/lib/librte_bpf/bpf_load_elf.c b/lib/librte_bpf/bpf_load_elf.c
index 96d3630fe..926317b6f 100644
--- a/lib/librte_bpf/bpf_load_elf.c
+++ b/lib/librte_bpf/bpf_load_elf.c
@@ -78,8 +78,19 @@ resolve_xsym(const char *sn, size_t ofs, struct ebpf_insn *ins, size_t ins_sz,
 
 	/* for function we just need an index in our xsym table */
-	if (type == RTE_BPF_XTYPE_FUNC)
+	if (type == RTE_BPF_XTYPE_FUNC) {
+
+		/* we don't support multiple functions per BPF module,
+		 * so treat EBPF_PSEUDO_CALL to extrernal function
+		 * as an ordinary EBPF_CALL.
+		 */
+		if (ins[idx].src_reg == EBPF_PSEUDO_CALL) {
+			RTE_BPF_LOG(INFO, "%s(%u): "
+				"EBPF_PSEUDO_CALL to external function: %s\n",
+				__func__, idx, sn);
+			ins[idx].src_reg = EBPF_REG_0;
+		}
 		ins[idx].imm = fidx;
 	/* for variable we need to store its absolute address */
-	else {
+	} else {
 		ins[idx].imm = (uintptr_t)prm->xsym[fidx].var.val;
 		ins[idx + 1].imm =
diff --git a/lib/librte_bpf/rte_bpf.h b/lib/librte_bpf/rte_bpf.h
index ab92af8fe..c8b960176 100644
--- a/lib/librte_bpf/rte_bpf.h
+++ b/lib/librte_bpf/rte_bpf.h
@@ -135,4 +135,7 @@ rte_bpf_load(const struct rte_bpf_prm *prm);
  * Create a new eBPF execution context and load BPF code from given ELF
  * file into it.
+ * Note that if the function will encounter EBPF_PSEUDO_CALL instruction
+ * that references external symbol, it will treat is as standard BPF_CALL
+ * to the external helper function.
  *
  * @param prm
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:13.143532012 +0100
+++ 0027-bpf-fix-pseudo-calls-for-program-loaded-from-ELF.patch	2019-06-21 17:22:11.736518830 +0100
@@ -1 +1 @@
-From 64ac6feb8291eb0fe74cf965dd3890625f8f3171 Mon Sep 17 00:00:00 2001
+From 12d5f99de0e6e7feb3a46ec847cc18ef63e1dae9 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 64ac6feb8291eb0fe74cf965dd3890625f8f3171 ]
+
@@ -19 +20,0 @@
-Cc: stable@dpdk.org

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

* [dpdk-stable] patch 'acl: fix build with some arm64 compiler' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (25 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'bpf: fix pseudo calls for program loaded from ELF' " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/af_packet: fix RxQ errors stat' " Kevin Traynor
                   ` (13 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: Jerin Jacob; +Cc: Honnappa Nagarahalli, Aaron Conole, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/a8c67a4d4aeebea552a9dcf18b6b3d2d4610e8d9

Thanks.

Kevin Traynor

---
From a8c67a4d4aeebea552a9dcf18b6b3d2d4610e8d9 Mon Sep 17 00:00:00 2001
From: Jerin Jacob <jerinj@marvell.com>
Date: Tue, 11 Jun 2019 19:45:03 +0530
Subject: [PATCH] acl: fix build with some arm64 compiler

[ upstream commit 557c5cbde374172c7140bc6a7cef2cc81e5a29dc ]

Some compilers reporting the following error, though the existing
code doesn't have any uninitialized variable case.
Just to make compiler happy, initialize the int32x4_t variable
one shot using vdupq_n_s32.

lib/librte_acl/acl_run_neon.h: In function 'search_neon_4'
lib/librte_acl/acl_run_neon.h:230:12: error:
  'input' may be used uninitialized in this function
  int32x4_t input;

Fixes: 34fa6c27c156 ("acl: add NEON optimization for ARMv8")

Suggested-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Aaron Conole <aconole@redhat.com>
---
 lib/librte_acl/acl_run_neon.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/librte_acl/acl_run_neon.h b/lib/librte_acl/acl_run_neon.h
index 01b9766d8..b3196cd12 100644
--- a/lib/librte_acl/acl_run_neon.h
+++ b/lib/librte_acl/acl_run_neon.h
@@ -182,6 +182,6 @@ search_neon_8(const struct rte_acl_ctx *ctx, const uint8_t **data,
 	while (flows.started > 0) {
 		/* Gather 4 bytes of input data for each stream. */
-		input0 = vsetq_lane_s32(GET_NEXT_4BYTES(parms, 0), input0, 0);
-		input1 = vsetq_lane_s32(GET_NEXT_4BYTES(parms, 4), input1, 0);
+		input0 = vdupq_n_s32(GET_NEXT_4BYTES(parms, 0));
+		input1 = vdupq_n_s32(GET_NEXT_4BYTES(parms, 4));
 
 		input0 = vsetq_lane_s32(GET_NEXT_4BYTES(parms, 1), input0, 1);
@@ -243,5 +243,5 @@ search_neon_4(const struct rte_acl_ctx *ctx, const uint8_t **data,
 	while (flows.started > 0) {
 		/* Gather 4 bytes of input data for each stream. */
-		input = vsetq_lane_s32(GET_NEXT_4BYTES(parms, 0), input, 0);
+		input = vdupq_n_s32(GET_NEXT_4BYTES(parms, 0));
 		input = vsetq_lane_s32(GET_NEXT_4BYTES(parms, 1), input, 1);
 		input = vsetq_lane_s32(GET_NEXT_4BYTES(parms, 2), input, 2);
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:13.196009270 +0100
+++ 0028-acl-fix-build-with-some-arm64-compiler.patch	2019-06-21 17:22:11.737518807 +0100
@@ -1 +1 @@
-From 557c5cbde374172c7140bc6a7cef2cc81e5a29dc Mon Sep 17 00:00:00 2001
+From a8c67a4d4aeebea552a9dcf18b6b3d2d4610e8d9 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 557c5cbde374172c7140bc6a7cef2cc81e5a29dc ]
+
@@ -17 +18,0 @@
-Cc: stable@dpdk.org

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

* [dpdk-stable] patch 'net/af_packet: fix RxQ errors stat' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (26 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'acl: fix build with some arm64 compiler' " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/avp: " Kevin Traynor
                   ` (12 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: David Marchand; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/319a848e116c0564b8f1c543b4890fd5d3fcda2a

Thanks.

Kevin Traynor

---
From 319a848e116c0564b8f1c543b4890fd5d3fcda2a Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Mon, 4 Mar 2019 12:18:24 +0100
Subject: [PATCH] net/af_packet: fix RxQ errors stat

[ upstream commit 3b79ed8a39555aca070671593ae97b753638a19c ]

Transmit errors must not be reported in q_errors[] which is for
reception.

Fixes: 364e08f2bbc0 ("af_packet: add PMD for AF_PACKET-based virtual devices")

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

diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c
index 264cfc08f..ec90cc06c 100644
--- a/drivers/net/af_packet/rte_eth_af_packet.c
+++ b/drivers/net/af_packet/rte_eth_af_packet.c
@@ -329,8 +329,7 @@ eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *igb_stats)
 	for (i = 0; i < imax; i++) {
 		igb_stats->q_opackets[i] = internal->tx_queue[i].tx_pkts;
-		igb_stats->q_errors[i] = internal->tx_queue[i].err_pkts;
 		igb_stats->q_obytes[i] = internal->tx_queue[i].tx_bytes;
 		tx_total += igb_stats->q_opackets[i];
-		tx_err_total += igb_stats->q_errors[i];
+		tx_err_total += internal->tx_queue[i].err_pkts;
 		tx_bytes_total += igb_stats->q_obytes[i];
 	}
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:13.245411413 +0100
+++ 0029-net-af_packet-fix-RxQ-errors-stat.patch	2019-06-21 17:22:11.737518807 +0100
@@ -1 +1 @@
-From 3b79ed8a39555aca070671593ae97b753638a19c Mon Sep 17 00:00:00 2001
+From 319a848e116c0564b8f1c543b4890fd5d3fcda2a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3b79ed8a39555aca070671593ae97b753638a19c ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index b5c4befce..4a660d5f0 100644
+index 264cfc08f..ec90cc06c 100644
@@ -22 +23 @@
-@@ -330,8 +330,7 @@ eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *igb_stats)
+@@ -329,8 +329,7 @@ eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *igb_stats)

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

* [dpdk-stable] patch 'net/avp: fix RxQ errors stat' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (27 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/af_packet: fix RxQ errors stat' " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/bnxt: " Kevin Traynor
                   ` (11 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: David Marchand; +Cc: Allain Legacy, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/462de5a2b3f66172e5ab061ca23ff44b47deba81

Thanks.

Kevin Traynor

---
From 462de5a2b3f66172e5ab061ca23ff44b47deba81 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Mon, 4 Mar 2019 12:18:25 +0100
Subject: [PATCH] net/avp: fix RxQ errors stat

[ upstream commit f75916cf88a3d2f3db7a86bb3309cd6181bad722 ]

Transmit errors must not be reported in q_errors[] which is for
reception.

Fixes: 5a5abe2de94b ("net/avp: add device statistics operations")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Allain Legacy <allain.legacy@windriver.com>
---
 drivers/net/avp/avp_ethdev.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/net/avp/avp_ethdev.c b/drivers/net/avp/avp_ethdev.c
index 09388d05f..5d069a22c 100644
--- a/drivers/net/avp/avp_ethdev.c
+++ b/drivers/net/avp/avp_ethdev.c
@@ -2229,5 +2229,4 @@ avp_dev_stats_get(struct rte_eth_dev *eth_dev, struct rte_eth_stats *stats)
 			stats->q_opackets[i] += txq->packets;
 			stats->q_obytes[i] += txq->bytes;
-			stats->q_errors[i] += txq->errors;
 		}
 	}
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:13.308208739 +0100
+++ 0030-net-avp-fix-RxQ-errors-stat.patch	2019-06-21 17:22:11.739518762 +0100
@@ -1 +1 @@
-From f75916cf88a3d2f3db7a86bb3309cd6181bad722 Mon Sep 17 00:00:00 2001
+From 462de5a2b3f66172e5ab061ca23ff44b47deba81 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit f75916cf88a3d2f3db7a86bb3309cd6181bad722 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index bd5eba4a0..57af5158d 100644
+index 09388d05f..5d069a22c 100644
@@ -22 +23 @@
-@@ -2230,5 +2230,4 @@ avp_dev_stats_get(struct rte_eth_dev *eth_dev, struct rte_eth_stats *stats)
+@@ -2229,5 +2229,4 @@ avp_dev_stats_get(struct rte_eth_dev *eth_dev, struct rte_eth_stats *stats)

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

* [dpdk-stable] patch 'net/bnxt: fix RxQ errors stat' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (28 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/avp: " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/cxgbe: " Kevin Traynor
                   ` (10 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: David Marchand; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/2a992925ae7acbe2ad91c84ef22d3b02348579f7

Thanks.

Kevin Traynor

---
From 2a992925ae7acbe2ad91c84ef22d3b02348579f7 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Mon, 4 Mar 2019 12:18:26 +0100
Subject: [PATCH] net/bnxt: fix RxQ errors stat

[ upstream commit eeb05ecc4d3686498d4515d5070e44bab93fad31 ]

Transmit errors must not be reported in q_errors[] which is for
reception.

Fixes: 577d3dced0dc ("net/bnxt: refactor the query stats")

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

diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index 999976054..8853391e7 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -3187,5 +3187,4 @@ int bnxt_hwrm_ctx_qstats(struct bnxt *bp, uint32_t cid, int idx,
 		stats->q_obytes[idx] += rte_le_to_cpu_64(resp->tx_mcast_bytes);
 		stats->q_obytes[idx] += rte_le_to_cpu_64(resp->tx_bcast_bytes);
-		stats->q_errors[idx] += rte_le_to_cpu_64(resp->tx_err_pkts);
 	}
 
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:13.361886791 +0100
+++ 0031-net-bnxt-fix-RxQ-errors-stat.patch	2019-06-21 17:22:11.743518670 +0100
@@ -1 +1 @@
-From eeb05ecc4d3686498d4515d5070e44bab93fad31 Mon Sep 17 00:00:00 2001
+From 2a992925ae7acbe2ad91c84ef22d3b02348579f7 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit eeb05ecc4d3686498d4515d5070e44bab93fad31 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 4f0142cdb..c5aca89b2 100644
+index 999976054..8853391e7 100644
@@ -22 +23 @@
-@@ -3188,5 +3188,4 @@ int bnxt_hwrm_ctx_qstats(struct bnxt *bp, uint32_t cid, int idx,
+@@ -3187,5 +3187,4 @@ int bnxt_hwrm_ctx_qstats(struct bnxt *bp, uint32_t cid, int idx,

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

* [dpdk-stable] patch 'net/cxgbe: fix RxQ errors stat' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (29 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/bnxt: " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/kni: " Kevin Traynor
                   ` (9 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: David Marchand; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/e25c8cee1a3b65ada67ea1300af42f31f9c08a05

Thanks.

Kevin Traynor

---
From e25c8cee1a3b65ada67ea1300af42f31f9c08a05 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Mon, 4 Mar 2019 12:18:27 +0100
Subject: [PATCH] net/cxgbe: fix RxQ errors stat

[ upstream commit 01b5e419dee35b9c15e38ca24ea6f9a2385ee8ed ]

Transmit errors must not be reported in q_errors[] which is for
reception.

Fixes: 856505d303f4 ("cxgbe: add port statistics")
Fixes: a0a344a8f728 ("net/cxgbe: add VF port statistics")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/cxgbe/cxgbe_ethdev.c   | 1 -
 drivers/net/cxgbe/cxgbevf_ethdev.c | 1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/net/cxgbe/cxgbe_ethdev.c b/drivers/net/cxgbe/cxgbe_ethdev.c
index 7babdfb49..308537880 100644
--- a/drivers/net/cxgbe/cxgbe_ethdev.c
+++ b/drivers/net/cxgbe/cxgbe_ethdev.c
@@ -707,5 +707,4 @@ static int cxgbe_dev_stats_get(struct rte_eth_dev *eth_dev,
 		eth_stats->q_opackets[i] = txq->stats.pkts;
 		eth_stats->q_obytes[i] = txq->stats.tx_bytes;
-		eth_stats->q_errors[i] = txq->stats.mapping_err;
 	}
 	return 0;
diff --git a/drivers/net/cxgbe/cxgbevf_ethdev.c b/drivers/net/cxgbe/cxgbevf_ethdev.c
index a6458d533..cc65ebe65 100644
--- a/drivers/net/cxgbe/cxgbevf_ethdev.c
+++ b/drivers/net/cxgbe/cxgbevf_ethdev.c
@@ -70,5 +70,4 @@ static int cxgbevf_dev_stats_get(struct rte_eth_dev *eth_dev,
 		eth_stats->q_opackets[i] = txq->stats.pkts;
 		eth_stats->q_obytes[i] = txq->stats.tx_bytes;
-		eth_stats->q_errors[i] = txq->stats.mapping_err;
 	}
 	return 0;
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:13.415665420 +0100
+++ 0032-net-cxgbe-fix-RxQ-errors-stat.patch	2019-06-21 17:22:11.744518648 +0100
@@ -1 +1 @@
-From 01b5e419dee35b9c15e38ca24ea6f9a2385ee8ed Mon Sep 17 00:00:00 2001
+From e25c8cee1a3b65ada67ea1300af42f31f9c08a05 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 01b5e419dee35b9c15e38ca24ea6f9a2385ee8ed ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index c03559640..67b08490b 100644
+index 7babdfb49..308537880 100644
@@ -31 +32 @@
-index 0e93d99e6..0af9dd9f1 100644
+index a6458d533..cc65ebe65 100644

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

* [dpdk-stable] patch 'net/kni: fix RxQ errors stat' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (30 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/cxgbe: " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/mlx4: " Kevin Traynor
                   ` (8 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: David Marchand; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/5280da50070d80376ca93256f2d7dedda9d48085

Thanks.

Kevin Traynor

---
From 5280da50070d80376ca93256f2d7dedda9d48085 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Mon, 4 Mar 2019 12:18:28 +0100
Subject: [PATCH] net/kni: fix RxQ errors stat

[ upstream commit 90c354711658283c4f89822ec0f59bfadc08298b ]

Transmit errors must not be reported in q_errors[] which is for
reception.

Fixes: 75e2bc54c018 ("net/kni: add KNI PMD")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/kni/rte_eth_kni.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/kni/rte_eth_kni.c b/drivers/net/kni/rte_eth_kni.c
index 9879985ec..e45360549 100644
--- a/drivers/net/kni/rte_eth_kni.c
+++ b/drivers/net/kni/rte_eth_kni.c
@@ -286,8 +286,7 @@ eth_kni_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
 		stats->q_opackets[i] = q->tx.pkts;
 		stats->q_obytes[i] = q->tx.bytes;
-		stats->q_errors[i] = q->tx.err_pkts;
 		tx_packets_total += stats->q_opackets[i];
 		tx_bytes_total += stats->q_obytes[i];
-		tx_packets_err_total += stats->q_errors[i];
+		tx_packets_err_total += q->tx.err_pkts;
 	}
 
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:13.468792784 +0100
+++ 0033-net-kni-fix-RxQ-errors-stat.patch	2019-06-21 17:22:11.744518648 +0100
@@ -1 +1 @@
-From 90c354711658283c4f89822ec0f59bfadc08298b Mon Sep 17 00:00:00 2001
+From 5280da50070d80376ca93256f2d7dedda9d48085 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 90c354711658283c4f89822ec0f59bfadc08298b ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 42a45333d..9e0c6bd2f 100644
+index 9879985ec..e45360549 100644
@@ -22 +23 @@
-@@ -291,8 +291,7 @@ eth_kni_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
+@@ -286,8 +286,7 @@ eth_kni_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)

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

* [dpdk-stable] patch 'net/mlx4: fix RxQ errors stat' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (31 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/kni: " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/mlx5: " Kevin Traynor
                   ` (7 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: David Marchand; +Cc: Shahaf Shuler, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/5a8e4e2c8da1fa7d6e3e965a817dc373b46b5cb3

Thanks.

Kevin Traynor

---
From 5a8e4e2c8da1fa7d6e3e965a817dc373b46b5cb3 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Mon, 4 Mar 2019 12:18:29 +0100
Subject: [PATCH] net/mlx4: fix RxQ errors stat

[ upstream commit 6a1bc531ac6b8fcd101ea42d4a419f92655f7087 ]

Transmit errors must not be reported in q_errors[] which is for
reception.

Fixes: 7fae69eeff13 ("mlx4: new poll mode driver")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
---
 drivers/net/mlx4/mlx4_ethdev.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/net/mlx4/mlx4_ethdev.c b/drivers/net/mlx4/mlx4_ethdev.c
index 084b24e49..a9f8910cf 100644
--- a/drivers/net/mlx4/mlx4_ethdev.c
+++ b/drivers/net/mlx4/mlx4_ethdev.c
@@ -636,5 +636,4 @@ mlx4_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
 			tmp.q_opackets[idx] += txq->stats.opackets;
 			tmp.q_obytes[idx] += txq->stats.obytes;
-			tmp.q_errors[idx] += txq->stats.odropped;
 		}
 		tmp.opackets += txq->stats.opackets;
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:13.517488258 +0100
+++ 0034-net-mlx4-fix-RxQ-errors-stat.patch	2019-06-21 17:22:11.745518625 +0100
@@ -1 +1 @@
-From 6a1bc531ac6b8fcd101ea42d4a419f92655f7087 Mon Sep 17 00:00:00 2001
+From 5a8e4e2c8da1fa7d6e3e965a817dc373b46b5cb3 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 6a1bc531ac6b8fcd101ea42d4a419f92655f7087 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 3d18aa4fc..ceef92162 100644
+index 084b24e49..a9f8910cf 100644
@@ -22 +23 @@
-@@ -719,5 +719,4 @@ mlx4_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
+@@ -636,5 +636,4 @@ mlx4_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)

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

* [dpdk-stable] patch 'net/mlx5: fix RxQ errors stat' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (32 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/mlx4: " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/null: " Kevin Traynor
                   ` (6 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: David Marchand; +Cc: Shahaf Shuler, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/0b79f9d5b1ef03f700d27fc0e83c211bb570392f

Thanks.

Kevin Traynor

---
From 0b79f9d5b1ef03f700d27fc0e83c211bb570392f Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Mon, 4 Mar 2019 12:18:30 +0100
Subject: [PATCH] net/mlx5: fix RxQ errors stat

[ upstream commit 81d03bff2647c708a8f036a8f2298de6b041e0c9 ]

Transmit errors must not be reported in q_errors[] which is for
reception.

Fixes: 87011737b715 ("mlx5: add software counters")
Fixes: 9f9a48eb2978 ("net/mlx5: fix Tx stats error counter definition")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
---
 drivers/net/mlx5/mlx5_stats.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_stats.c b/drivers/net/mlx5/mlx5_stats.c
index 132bf5b49..95bfbb764 100644
--- a/drivers/net/mlx5/mlx5_stats.c
+++ b/drivers/net/mlx5/mlx5_stats.c
@@ -393,5 +393,4 @@ mlx5_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
 			tmp.q_obytes[idx] += txq->stats.obytes;
 #endif
-			tmp.q_errors[idx] += txq->stats.oerrors;
 		}
 #ifdef MLX5_PMD_SOFT_COUNTERS
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:13.568432035 +0100
+++ 0035-net-mlx5-fix-RxQ-errors-stat.patch	2019-06-21 17:22:11.746518602 +0100
@@ -1 +1 @@
-From 81d03bff2647c708a8f036a8f2298de6b041e0c9 Mon Sep 17 00:00:00 2001
+From 0b79f9d5b1ef03f700d27fc0e83c211bb570392f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 81d03bff2647c708a8f036a8f2298de6b041e0c9 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index ed50667f4..cff065f27 100644
+index 132bf5b49..95bfbb764 100644
@@ -23 +24 @@
-@@ -414,5 +414,4 @@ mlx5_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
+@@ -393,5 +393,4 @@ mlx5_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)

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

* [dpdk-stable] patch 'net/null: fix RxQ errors stat' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (33 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/mlx5: " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/pcap: " Kevin Traynor
                   ` (5 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: David Marchand; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/a855f888d889912295557debea67fd0207a06256

Thanks.

Kevin Traynor

---
From a855f888d889912295557debea67fd0207a06256 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Mon, 4 Mar 2019 12:18:31 +0100
Subject: [PATCH] net/null: fix RxQ errors stat

[ upstream commit c6bc117c99ba750835bcb51f922f3901a7cfa314 ]

Transmit errors must not be reported in q_errors[] which is for
reception.

Fixes: c743e50c475f ("null: new poll mode driver")

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

diff --git a/drivers/net/null/rte_eth_null.c b/drivers/net/null/rte_eth_null.c
index 159c1c1fd..0e3088649 100644
--- a/drivers/net/null/rte_eth_null.c
+++ b/drivers/net/null/rte_eth_null.c
@@ -334,8 +334,6 @@ eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *igb_stats)
 		igb_stats->q_opackets[i] =
 			internal->tx_null_queues[i].tx_pkts.cnt;
-		igb_stats->q_errors[i] =
-			internal->tx_null_queues[i].err_pkts.cnt;
 		tx_total += igb_stats->q_opackets[i];
-		tx_err_total += igb_stats->q_errors[i];
+		tx_err_total += internal->tx_null_queues[i].err_pkts.cnt;
 	}
 
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:13.619751709 +0100
+++ 0036-net-null-fix-RxQ-errors-stat.patch	2019-06-21 17:22:11.746518602 +0100
@@ -1 +1 @@
-From c6bc117c99ba750835bcb51f922f3901a7cfa314 Mon Sep 17 00:00:00 2001
+From a855f888d889912295557debea67fd0207a06256 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c6bc117c99ba750835bcb51f922f3901a7cfa314 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index d1d49b53b..f1b521a75 100644
+index 159c1c1fd..0e3088649 100644

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

* [dpdk-stable] patch 'net/pcap: fix RxQ errors stat' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (34 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/null: " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/ring: " Kevin Traynor
                   ` (4 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: David Marchand; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/0cdc0468eb994eb568a32326278445ac18061f65

Thanks.

Kevin Traynor

---
From 0cdc0468eb994eb568a32326278445ac18061f65 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Mon, 4 Mar 2019 12:18:32 +0100
Subject: [PATCH] net/pcap: fix RxQ errors stat

[ upstream commit 48d33133415d21e22eae0c7d78b1b8a0e41baba6 ]

Transmit errors must not be reported in q_errors[] which is for
reception.

Fixes: 4c173302c307 ("pcap: add new driver")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/pcap/rte_eth_pcap.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net/pcap/rte_eth_pcap.c
index 65bbd7e2f..4d5e6babe 100644
--- a/drivers/net/pcap/rte_eth_pcap.c
+++ b/drivers/net/pcap/rte_eth_pcap.c
@@ -606,8 +606,7 @@ eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
 		stats->q_opackets[i] = internal->tx_queue[i].tx_stat.pkts;
 		stats->q_obytes[i] = internal->tx_queue[i].tx_stat.bytes;
-		stats->q_errors[i] = internal->tx_queue[i].tx_stat.err_pkts;
 		tx_packets_total += stats->q_opackets[i];
 		tx_bytes_total += stats->q_obytes[i];
-		tx_packets_err_total += stats->q_errors[i];
+		tx_packets_err_total += internal->tx_queue[i].tx_stat.err_pkts;
 	}
 
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:13.668534738 +0100
+++ 0037-net-pcap-fix-RxQ-errors-stat.patch	2019-06-21 17:22:11.748518557 +0100
@@ -1 +1 @@
-From 48d33133415d21e22eae0c7d78b1b8a0e41baba6 Mon Sep 17 00:00:00 2001
+From 0cdc0468eb994eb568a32326278445ac18061f65 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 48d33133415d21e22eae0c7d78b1b8a0e41baba6 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 10277b9b6..a7c70833c 100644
+index 65bbd7e2f..4d5e6babe 100644

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

* [dpdk-stable] patch 'net/ring: fix RxQ errors stat' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (35 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/pcap: " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/szedata2: " Kevin Traynor
                   ` (3 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: David Marchand; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/0b24c7b21ce35cdfd9f9a548ce085e254d3d9474

Thanks.

Kevin Traynor

---
From 0b24c7b21ce35cdfd9f9a548ce085e254d3d9474 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Mon, 4 Mar 2019 12:18:33 +0100
Subject: [PATCH] net/ring: fix RxQ errors stat

[ upstream commit c1f9d6c698453fc59b37900ebe4deeae1e98233f ]

Transmit errors must not be reported in q_errors[] which is for
reception.

Fixes: e1e4017751f1 ("ring: add new driver")

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

diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c
index c438da51c..6458831c9 100644
--- a/drivers/net/ring/rte_eth_ring.c
+++ b/drivers/net/ring/rte_eth_ring.c
@@ -185,7 +185,6 @@ eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
 			i < dev->data->nb_tx_queues; i++) {
 		stats->q_opackets[i] = internal->tx_ring_queues[i].tx_pkts.cnt;
-		stats->q_errors[i] = internal->tx_ring_queues[i].err_pkts.cnt;
 		tx_total += stats->q_opackets[i];
-		tx_err_total += stats->q_errors[i];
+		tx_err_total += internal->tx_ring_queues[i].err_pkts.cnt;
 	}
 
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:13.717976802 +0100
+++ 0038-net-ring-fix-RxQ-errors-stat.patch	2019-06-21 17:22:11.748518557 +0100
@@ -1 +1 @@
-From c1f9d6c698453fc59b37900ebe4deeae1e98233f Mon Sep 17 00:00:00 2001
+From 0b24c7b21ce35cdfd9f9a548ce085e254d3d9474 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c1f9d6c698453fc59b37900ebe4deeae1e98233f ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index cae63a7f1..65c2813ba 100644
+index c438da51c..6458831c9 100644

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

* [dpdk-stable] patch 'net/szedata2: fix RxQ errors stat' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (36 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/ring: " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/tap: " Kevin Traynor
                   ` (2 subsequent siblings)
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: David Marchand; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/d9991fa5a4ebfda8fefd01631694d2034a109f46

Thanks.

Kevin Traynor

---
From d9991fa5a4ebfda8fefd01631694d2034a109f46 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Mon, 4 Mar 2019 12:18:34 +0100
Subject: [PATCH] net/szedata2: fix RxQ errors stat

[ upstream commit fffe9d0431e832585de738069e8b9b95f3a062ee ]

Transmit errors must not be reported in q_errors[] which is for
reception.

Fixes: abef3dd62e7a ("szedata2: add new poll mode driver")

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

diff --git a/drivers/net/szedata2/rte_eth_szedata2.c b/drivers/net/szedata2/rte_eth_szedata2.c
index 88448eff6..a6fbfe36c 100644
--- a/drivers/net/szedata2/rte_eth_szedata2.c
+++ b/drivers/net/szedata2/rte_eth_szedata2.c
@@ -1094,5 +1094,4 @@ eth_stats_get(struct rte_eth_dev *dev,
 			stats->q_opackets[i] = txq->tx_pkts;
 			stats->q_obytes[i] = txq->tx_bytes;
-			stats->q_errors[i] = txq->err_pkts;
 		}
 		tx_total += txq->tx_pkts;
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:13.768019275 +0100
+++ 0039-net-szedata2-fix-RxQ-errors-stat.patch	2019-06-21 17:22:11.750518511 +0100
@@ -1 +1 @@
-From fffe9d0431e832585de738069e8b9b95f3a062ee Mon Sep 17 00:00:00 2001
+From d9991fa5a4ebfda8fefd01631694d2034a109f46 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit fffe9d0431e832585de738069e8b9b95f3a062ee ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 99de9f4e6..c1ea6fc65 100644
+index 88448eff6..a6fbfe36c 100644

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

* [dpdk-stable] patch 'net/tap: fix RxQ errors stat' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (37 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/szedata2: " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-27 16:48   ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/mlx5: fix order of items in NEON scatter' " Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/bnxt: fix RSS RETA indirection table ops' " Kevin Traynor
  40 siblings, 1 reply; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: David Marchand; +Cc: Keith Wiles, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/639afbff95223fd194cf0865432dbb1e248c83fe

Thanks.

Kevin Traynor

---
From 639afbff95223fd194cf0865432dbb1e248c83fe Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Mon, 4 Mar 2019 12:18:35 +0100
Subject: [PATCH] net/tap: fix RxQ errors stat

[ upstream commit 6d84612124417acbe0bbb0b9952cf3270b3b3a0f ]

Transmit errors must not be reported in q_errors[] which is for
reception.

Fixes: 02f96a0a82d1 ("net/tap: add TUN/TAP device PMD")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Keith Wiles <keith.wiles@intel.com>
---
 drivers/net/tap/rte_eth_tap.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
index 867873683..e6d1ed6b4 100644
--- a/drivers/net/tap/rte_eth_tap.c
+++ b/drivers/net/tap/rte_eth_tap.c
@@ -971,8 +971,7 @@ tap_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *tap_stats)
 	for (i = 0; i < imax; i++) {
 		tap_stats->q_opackets[i] = pmd->txq[i].stats.opackets;
-		tap_stats->q_errors[i] = pmd->txq[i].stats.errs;
 		tap_stats->q_obytes[i] = pmd->txq[i].stats.obytes;
 		tx_total += tap_stats->q_opackets[i];
-		tx_err_total += tap_stats->q_errors[i];
+		tx_err_total += pmd->txq[i].stats.errs;
 		tx_bytes_total += tap_stats->q_obytes[i];
 	}
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:13.819817247 +0100
+++ 0040-net-tap-fix-RxQ-errors-stat.patch	2019-06-21 17:22:11.752518466 +0100
@@ -1 +1 @@
-From 6d84612124417acbe0bbb0b9952cf3270b3b3a0f Mon Sep 17 00:00:00 2001
+From 639afbff95223fd194cf0865432dbb1e248c83fe Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 6d84612124417acbe0bbb0b9952cf3270b3b3a0f ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 9dd77311b..3841842f0 100644
+index 867873683..e6d1ed6b4 100644

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

* [dpdk-stable] patch 'net/mlx5: fix order of items in NEON scatter' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (38 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/tap: " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/bnxt: fix RSS RETA indirection table ops' " Kevin Traynor
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: Dekel Peled; +Cc: Shahaf Shuler, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/e986e60c7526b2b01e0864aca0b7eb539d7b7101

Thanks.

Kevin Traynor

---
From e986e60c7526b2b01e0864aca0b7eb539d7b7101 Mon Sep 17 00:00:00 2001
From: Dekel Peled <dekelp@mellanox.com>
Date: Wed, 15 May 2019 13:07:45 +0300
Subject: [PATCH] net/mlx5: fix order of items in NEON scatter

[ upstream commit 0d51a5ec26ccca4582f4762854ac3b28208c4a04 ]

Previous patch added handling of metadata for multi-segment packet.
Function txq_scatter_v in file mlx5_rxtx_vec_neon.h was updated
incorrectly, items were inserted into WQE in wrong order.

This patch fixes the issue, inserting items into WQE correctly.

Fixes: 7f4019d370f6 ("net/mlx5: fix Tx metadata for multi-segment packet")

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

diff --git a/drivers/net/mlx5/mlx5_rxtx_vec_neon.h b/drivers/net/mlx5/mlx5_rxtx_vec_neon.h
index 38e915c5c..b1e0e8f3d 100644
--- a/drivers/net/mlx5/mlx5_rxtx_vec_neon.h
+++ b/drivers/net/mlx5/mlx5_rxtx_vec_neon.h
@@ -172,5 +172,5 @@ txq_scatter_v(struct mlx5_txq_data *txq, struct rte_mbuf **pkts,
 		vst1q_u32((void *)(t_wqe + 1),
 			  ((uint32x4_t){ 0,
-					 cs_flags << 16 | rte_cpu_to_be_16(len),
+					 rte_cpu_to_be_16(len) << 16 | cs_flags,
 					 metadata, 0 }));
 		txq->wqe_ci = wqe_ci;
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:13.870123198 +0100
+++ 0041-net-mlx5-fix-order-of-items-in-NEON-scatter.patch	2019-06-21 17:22:11.753518443 +0100
@@ -1 +1 @@
-From 0d51a5ec26ccca4582f4762854ac3b28208c4a04 Mon Sep 17 00:00:00 2001
+From e986e60c7526b2b01e0864aca0b7eb539d7b7101 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 0d51a5ec26ccca4582f4762854ac3b28208c4a04 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index b2cc71088..cf5c9da8b 100644
+index 38e915c5c..b1e0e8f3d 100644

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

* [dpdk-stable] patch 'net/bnxt: fix RSS RETA indirection table ops' has been queued to LTS release 18.11.3
  2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
                   ` (39 preceding siblings ...)
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/mlx5: fix order of items in NEON scatter' " Kevin Traynor
@ 2019-06-21 16:46 ` Kevin Traynor
  40 siblings, 0 replies; 45+ messages in thread
From: Kevin Traynor @ 2019-06-21 16:46 UTC (permalink / raw)
  To: Ajit Khaparde; +Cc: Lance Richardson, Rahul Gupta, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.3

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

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

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/c2e6cd15bfec5fa5c6831e156b83f31158c10d7b

Thanks.

Kevin Traynor

---
From c2e6cd15bfec5fa5c6831e156b83f31158c10d7b Mon Sep 17 00:00:00 2001
From: Ajit Khaparde <ajit.khaparde@broadcom.com>
Date: Wed, 29 May 2019 17:02:24 -0400
Subject: [PATCH] net/bnxt: fix RSS RETA indirection table ops

[ upstream commit 378ab645bb0b9c45960c0c66893ab0017ab60e47 ]

We are trying to update the indirection table for all the VNICs.
We should update the table only for the default vnic0.

Fix the reta update function to only update table entries that are
selected by the update mask. Translate queue number to firmware
group ID when updating an entry.

Fix reta query op to only return table entries as identfied by the
provided mask. Translate firmware group IDs to queue numbers.

Removed extraneous code from bnxt_reta_query_op().

Fixes: d819382543f3 ("net/bnxt: add RSS redirection table operations")

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Rahul Gupta <rahul.gupta@broadcom.com>
---
 drivers/net/bnxt/bnxt_ethdev.c | 92 +++++++++++++++++++++++++---------
 drivers/net/bnxt/bnxt_hwrm.c   |  1 +
 2 files changed, 70 insertions(+), 23 deletions(-)

diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index e26b9e3ce..00d758650 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -619,10 +619,4 @@ static void bnxt_print_link_info(struct rte_eth_dev *eth_dev)
 }
 
-static int bnxt_dev_lsc_intr_setup(struct rte_eth_dev *eth_dev)
-{
-	bnxt_print_link_info(eth_dev);
-	return 0;
-}
-
 static int bnxt_dev_start_op(struct rte_eth_dev *eth_dev)
 {
@@ -893,4 +887,26 @@ static void bnxt_allmulticast_disable_op(struct rte_eth_dev *eth_dev)
 }
 
+/* Return bnxt_rx_queue pointer corresponding to a given rxq. */
+static struct bnxt_rx_queue *bnxt_qid_to_rxq(struct bnxt *bp, uint16_t qid)
+{
+	if (qid >= bp->rx_nr_rings)
+		return NULL;
+
+	return bp->eth_dev->data->rx_queues[qid];
+}
+
+/* Return rxq corresponding to a given rss table ring/group ID. */
+static uint16_t bnxt_rss_to_qid(struct bnxt *bp, uint16_t fwr)
+{
+	unsigned int i;
+
+	for (i = 0; i < bp->rx_nr_rings; i++) {
+		if (bp->grp_info[i].fw_grp_id == fwr)
+			return i;
+	}
+
+	return INVALID_HW_RING_ID;
+}
+
 static int bnxt_reta_update_op(struct rte_eth_dev *eth_dev,
 			    struct rte_eth_rss_reta_entry64 *reta_conf,
@@ -899,22 +915,42 @@ static int bnxt_reta_update_op(struct rte_eth_dev *eth_dev,
 	struct bnxt *bp = (struct bnxt *)eth_dev->data->dev_private;
 	struct rte_eth_conf *dev_conf = &bp->eth_dev->data->dev_conf;
-	struct bnxt_vnic_info *vnic;
+	struct bnxt_vnic_info *vnic = &bp->vnic_info[0];
+	uint16_t tbl_size = HW_HASH_INDEX_SIZE;
+	uint16_t idx, sft;
 	int i;
 
+	if (!vnic->rss_table)
+		return -EINVAL;
+
 	if (!(dev_conf->rxmode.mq_mode & ETH_MQ_RX_RSS_FLAG))
 		return -EINVAL;
 
-	if (reta_size != HW_HASH_INDEX_SIZE) {
+	if (reta_size != tbl_size) {
 		PMD_DRV_LOG(ERR, "The configured hash table lookup size "
 			"(%d) must equal the size supported by the hardware "
-			"(%d)\n", reta_size, HW_HASH_INDEX_SIZE);
+			"(%d)\n", reta_size, tbl_size);
 		return -EINVAL;
 	}
-	/* Update the RSS VNIC(s) */
-	for (i = 0; i < bp->max_vnics; i++) {
-		vnic = &bp->vnic_info[i];
-		memcpy(vnic->rss_table, reta_conf, reta_size);
-		bnxt_hwrm_vnic_rss_cfg(bp, vnic);
+
+	for (i = 0; i < reta_size; i++) {
+		struct bnxt_rx_queue *rxq;
+
+		idx = i / RTE_RETA_GROUP_SIZE;
+		sft = i % RTE_RETA_GROUP_SIZE;
+
+		if (!(reta_conf[idx].mask & (1ULL << sft)))
+			continue;
+
+		rxq = bnxt_qid_to_rxq(bp, reta_conf[idx].reta[sft]);
+		if (!rxq) {
+			PMD_DRV_LOG(ERR, "Invalid ring in reta_conf.\n");
+			return -EINVAL;
+		}
+
+		vnic->rss_table[i] =
+		    vnic->fw_grp_ids[reta_conf[idx].reta[sft]];
 	}
+
+	bnxt_hwrm_vnic_rss_cfg(bp, vnic);
 	return 0;
 }
@@ -926,6 +962,6 @@ static int bnxt_reta_query_op(struct rte_eth_dev *eth_dev,
 	struct bnxt *bp = (struct bnxt *)eth_dev->data->dev_private;
 	struct bnxt_vnic_info *vnic = &bp->vnic_info[0];
-	struct rte_intr_handle *intr_handle
-		= &bp->pdev->intr_handle;
+	uint16_t tbl_size = HW_HASH_INDEX_SIZE;
+	uint16_t idx, sft, i;
 
 	/* Retrieve from the default VNIC */
@@ -935,16 +971,26 @@ static int bnxt_reta_query_op(struct rte_eth_dev *eth_dev,
 		return -EINVAL;
 
-	if (reta_size != HW_HASH_INDEX_SIZE) {
+	if (reta_size != tbl_size) {
 		PMD_DRV_LOG(ERR, "The configured hash table lookup size "
 			"(%d) must equal the size supported by the hardware "
-			"(%d)\n", reta_size, HW_HASH_INDEX_SIZE);
+			"(%d)\n", reta_size, tbl_size);
 		return -EINVAL;
 	}
-	/* EW - need to revisit here copying from uint64_t to uint16_t */
-	memcpy(reta_conf, vnic->rss_table, reta_size);
 
-	if (rte_intr_allow_others(intr_handle)) {
-		if (eth_dev->data->dev_conf.intr_conf.lsc != 0)
-			bnxt_dev_lsc_intr_setup(eth_dev);
+	for (idx = 0, i = 0; i < reta_size; i++) {
+		idx = i / RTE_RETA_GROUP_SIZE;
+		sft = i % RTE_RETA_GROUP_SIZE;
+
+		if (reta_conf[idx].mask & (1ULL << sft)) {
+			uint16_t qid;
+
+			qid = bnxt_rss_to_qid(bp, vnic->rss_table[i]);
+
+			if (qid == INVALID_HW_RING_ID) {
+				PMD_DRV_LOG(ERR, "Inv. entry in rss table.\n");
+				return -EINVAL;
+			}
+			reta_conf[idx].reta[sft] = qid;
+		}
 	}
 
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index 8853391e7..55b5e9720 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -1608,4 +1608,5 @@ int bnxt_hwrm_vnic_rss_cfg(struct bnxt *bp,
 	    rte_cpu_to_le_64(vnic->rss_hash_key_dma_addr);
 	req.rss_ctx_idx = rte_cpu_to_le_16(vnic->rss_rule);
+	req.vnic_id = rte_cpu_to_le_16(vnic->fw_vnic_id);
 
 	rc = bnxt_hwrm_send_message(bp, &req, sizeof(req), BNXT_USE_CHIMP_MB);
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-06-21 17:22:13.918839528 +0100
+++ 0042-net-bnxt-fix-RSS-RETA-indirection-table-ops.patch	2019-06-21 17:22:11.758518329 +0100
@@ -1 +1 @@
-From 378ab645bb0b9c45960c0c66893ab0017ab60e47 Mon Sep 17 00:00:00 2001
+From c2e6cd15bfec5fa5c6831e156b83f31158c10d7b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 378ab645bb0b9c45960c0c66893ab0017ab60e47 ]
+
@@ -19 +20,0 @@
-Cc: stable@dpdk.org
@@ -30 +31 @@
-index 41771d8e2..b5ed0536c 100644
+index e26b9e3ce..00d758650 100644
@@ -42,3 +43,3 @@
- /*
-  * Determine whether the current configuration requires support for scattered
-@@ -978,4 +972,26 @@ static void bnxt_allmulticast_disable_op(struct rte_eth_dev *eth_dev)
+ static int bnxt_dev_start_op(struct rte_eth_dev *eth_dev)
+ {
+@@ -893,4 +887,26 @@ static void bnxt_allmulticast_disable_op(struct rte_eth_dev *eth_dev)
@@ -71 +72 @@
-@@ -984,22 +1000,42 @@ static int bnxt_reta_update_op(struct rte_eth_dev *eth_dev,
+@@ -899,22 +915,42 @@ static int bnxt_reta_update_op(struct rte_eth_dev *eth_dev,
@@ -122 +123 @@
-@@ -1011,6 +1047,6 @@ static int bnxt_reta_query_op(struct rte_eth_dev *eth_dev,
+@@ -926,6 +962,6 @@ static int bnxt_reta_query_op(struct rte_eth_dev *eth_dev,
@@ -131 +132 @@
-@@ -1020,16 +1056,26 @@ static int bnxt_reta_query_op(struct rte_eth_dev *eth_dev,
+@@ -935,16 +971,26 @@ static int bnxt_reta_query_op(struct rte_eth_dev *eth_dev,
@@ -166 +167 @@
-index c5aca89b2..0c6af1622 100644
+index 8853391e7..55b5e9720 100644

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

* Re: [dpdk-stable] patch 'net/tap: fix RxQ errors stat' has been queued to LTS release 18.11.3
  2019-06-21 16:46 ` [dpdk-stable] patch 'net/tap: " Kevin Traynor
@ 2019-06-27 16:48   ` Kevin Traynor
  2019-06-28 10:00     ` David Marchand
  0 siblings, 1 reply; 45+ messages in thread
From: Kevin Traynor @ 2019-06-27 16:48 UTC (permalink / raw)
  To: David Marchand; +Cc: Keith Wiles, dpdk stable

On 21/06/2019 17:46, Kevin Traynor wrote:
> Hi,
> 
> FYI, your patch has been queued to LTS release 18.11.3
> 
> Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
> It will be pushed if I get no objections before 06/26/19. So please
> shout if anyone has objections.
> 
> Also note that after the patch there's a diff of the upstream commit vs the
> patch applied to the branch. This will indicate if there was any rebasing
> needed to apply to the stable branch. If there were code changes for rebasing
> (ie: not only metadata diffs), please double check that the rebase was
> correctly done.
> 
> Queued patches are on a temporary branch at:
> https://github.com/kevintraynor/dpdk-stable-queue
> 
> This queued commit can be viewed at:
> https://github.com/kevintraynor/dpdk-stable-queue/commit/639afbff95223fd194cf0865432dbb1e248c83fe
> 
> Thanks.
> 
> Kevin Traynor
> 
> ---
> From 639afbff95223fd194cf0865432dbb1e248c83fe Mon Sep 17 00:00:00 2001
> From: David Marchand <david.marchand@redhat.com>
> Date: Mon, 4 Mar 2019 12:18:35 +0100
> Subject: [PATCH] net/tap: fix RxQ errors stat
> 

Chatted with David and this series of RxQ error stat fixes needs some
more discussion about backporting. Will postpone applying them at the
moment.

> [ upstream commit 6d84612124417acbe0bbb0b9952cf3270b3b3a0f ]
> 
> Transmit errors must not be reported in q_errors[] which is for
> reception.
> 
> Fixes: 02f96a0a82d1 ("net/tap: add TUN/TAP device PMD")
> 
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> Acked-by: Keith Wiles <keith.wiles@intel.com>
> ---
>  drivers/net/tap/rte_eth_tap.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
> index 867873683..e6d1ed6b4 100644
> --- a/drivers/net/tap/rte_eth_tap.c
> +++ b/drivers/net/tap/rte_eth_tap.c
> @@ -971,8 +971,7 @@ tap_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *tap_stats)
>  	for (i = 0; i < imax; i++) {
>  		tap_stats->q_opackets[i] = pmd->txq[i].stats.opackets;
> -		tap_stats->q_errors[i] = pmd->txq[i].stats.errs;
>  		tap_stats->q_obytes[i] = pmd->txq[i].stats.obytes;
>  		tx_total += tap_stats->q_opackets[i];
> -		tx_err_total += tap_stats->q_errors[i];
> +		tx_err_total += pmd->txq[i].stats.errs;
>  		tx_bytes_total += tap_stats->q_obytes[i];
>  	}
> 


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

* Re: [dpdk-stable] patch 'net/tap: fix RxQ errors stat' has been queued to LTS release 18.11.3
  2019-06-27 16:48   ` Kevin Traynor
@ 2019-06-28 10:00     ` David Marchand
  2019-06-28 12:11       ` Thomas Monjalon
  0 siblings, 1 reply; 45+ messages in thread
From: David Marchand @ 2019-06-28 10:00 UTC (permalink / raw)
  To: Kevin Traynor, Yongseok Koh; +Cc: dpdk stable, Thomas Monjalon

On Thu, Jun 27, 2019 at 6:48 PM Kevin Traynor <ktraynor@redhat.com> wrote:

> > From 639afbff95223fd194cf0865432dbb1e248c83fe Mon Sep 17 00:00:00 2001
> > From: David Marchand <david.marchand@redhat.com>
> > Date: Mon, 4 Mar 2019 12:18:35 +0100
> > Subject: [PATCH] net/tap: fix RxQ errors stat
> >
>
> Chatted with David and this series of RxQ error stat fixes needs some
> more discussion about backporting. Will postpone applying them at the
> moment.
>

Thanks Kevin.
Yongseok, please refrain from backporting this to 17.11 too.

I should probably have removed the Cc: stable.
Sorry about that.


-- 
David Marchand

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

* Re: [dpdk-stable] patch 'net/tap: fix RxQ errors stat' has been queued to LTS release 18.11.3
  2019-06-28 10:00     ` David Marchand
@ 2019-06-28 12:11       ` Thomas Monjalon
  0 siblings, 0 replies; 45+ messages in thread
From: Thomas Monjalon @ 2019-06-28 12:11 UTC (permalink / raw)
  To: Kevin Traynor, Yongseok Koh; +Cc: David Marchand, dpdk stable

28/06/2019 12:00, David Marchand:
> On Thu, Jun 27, 2019 at 6:48 PM Kevin Traynor <ktraynor@redhat.com> wrote:
> 
> > > From 639afbff95223fd194cf0865432dbb1e248c83fe Mon Sep 17 00:00:00 2001
> > > From: David Marchand <david.marchand@redhat.com>
> > > Date: Mon, 4 Mar 2019 12:18:35 +0100
> > > Subject: [PATCH] net/tap: fix RxQ errors stat
> > >
> >
> > Chatted with David and this series of RxQ error stat fixes needs some
> > more discussion about backporting. Will postpone applying them at the
> > moment.
> >
> 
> Thanks Kevin.
> Yongseok, please refrain from backporting this to 17.11 too.

This patchset changes the behaviour of what is reported in the stats,
so it should not be backported.
Thanks



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

end of thread, other threads:[~2019-06-28 12:11 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-21 16:45 [dpdk-stable] patch 'kni: fix build on RHEL8' has been queued to LTS release 18.11.3 Kevin Traynor
2019-06-21 16:45 ` [dpdk-stable] patch 'examples: fix make clean when using pkg-config' " Kevin Traynor
2019-06-21 16:45 ` [dpdk-stable] patch 'net/ixgbe: fix unexpected link handler' " Kevin Traynor
2019-06-21 16:45 ` [dpdk-stable] patch 'net/fm10k: advertise supported RSS hash function' " Kevin Traynor
2019-06-21 16:45 ` [dpdk-stable] patch 'net/i40e: fix Tx threshold setup' " Kevin Traynor
2019-06-21 16:45 ` [dpdk-stable] patch 'net/ixgbe: " Kevin Traynor
2019-06-21 16:45 ` [dpdk-stable] patch 'net/mlx5: fix missing validation of null pointer' " Kevin Traynor
2019-06-21 16:45 ` [dpdk-stable] patch 'net/mlx5: fix description of return value' " Kevin Traynor
2019-06-21 16:45 ` [dpdk-stable] patch 'net/mlx5: fix memory free on queue create error' " Kevin Traynor
2019-06-21 16:45 ` [dpdk-stable] patch 'net/bnxt: fix TSO' " Kevin Traynor
2019-06-21 16:45 ` [dpdk-stable] patch 'net/bnxt: check for error conditions in Tx path' " Kevin Traynor
2019-06-21 16:45 ` [dpdk-stable] patch 'net/bnxt: fix Tx batching' " Kevin Traynor
2019-06-21 16:45 ` [dpdk-stable] patch 'net/bnxt: optimize " Kevin Traynor
2019-06-21 16:45 ` [dpdk-stable] patch 'net/vmxnet3: fix uninitialized variable' " Kevin Traynor
2019-06-21 16:45 ` [dpdk-stable] patch 'fix off-by-one errors in snprintf' " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'doc: robustify PDF build' " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'doc: fix PDF with greek letter' " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'net/cxgbe: do not dereference global config struct' " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'examples/multi_process: do not dereference global config' " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'examples/qos_sched: do not dereference global config struct' " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'test/hash: use existing lcore API' " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'config: disable armv8 crypto extension' " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'examples/ip_fragmentation: fix Tx queues init' " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'mem: ease init in a docker container' " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'doc: fix Linux guide for arm64 cross-compilation' " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'examples/multi_process: fix FreeBSD build' " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'bpf: fix pseudo calls for program loaded from ELF' " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'acl: fix build with some arm64 compiler' " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'net/af_packet: fix RxQ errors stat' " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'net/avp: " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'net/bnxt: " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'net/cxgbe: " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'net/kni: " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'net/mlx4: " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'net/mlx5: " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'net/null: " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'net/pcap: " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'net/ring: " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'net/szedata2: " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'net/tap: " Kevin Traynor
2019-06-27 16:48   ` Kevin Traynor
2019-06-28 10:00     ` David Marchand
2019-06-28 12:11       ` Thomas Monjalon
2019-06-21 16:46 ` [dpdk-stable] patch 'net/mlx5: fix order of items in NEON scatter' " Kevin Traynor
2019-06-21 16:46 ` [dpdk-stable] patch 'net/bnxt: fix RSS RETA indirection table ops' " Kevin Traynor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).