patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1
@ 2018-08-14 11:06 Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'test: fix code on report' " Christian Ehrhardt
                   ` (46 more replies)
  0 siblings, 47 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Anatoly Burakov; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From e4bdaf17335663d09693da7ae6b04aee4706c810 Mon Sep 17 00:00:00 2001
From: Anatoly Burakov <anatoly.burakov@intel.com>
Date: Fri, 27 Jul 2018 10:40:11 +0100
Subject: [PATCH] test: fix result printing

[ upstream commit 9c197a2389730e0a1ad9473a5c3fb127a36d6f12 ]

Previously, printing was done using tuple syntax, which caused
output to appear as a tuple as opposed to being one string. Fix
this by using addition operator instead.

Fixes: 54ca545dce4b ("make python scripts python2/3 compliant")

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 test/test/autotest_runner.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/test/test/autotest_runner.py b/test/test/autotest_runner.py
index a692f0697..b09b57876 100644
--- a/test/test/autotest_runner.py
+++ b/test/test/autotest_runner.py
@@ -247,7 +247,7 @@ class AutotestRunner:
 
             # don't print out total time every line, it's the same anyway
             if i == len(results) - 1:
-                print(result,
+                print(result +
                       "[%02dm %02ds]" % (total_time / 60, total_time % 60))
             else:
                 print(result)
@@ -332,8 +332,8 @@ class AutotestRunner:
 
             # create table header
             print("")
-            print("Test name".ljust(30), "Test result".ljust(29),
-                  "Test".center(9), "Total".center(9))
+            print("Test name".ljust(30) + "Test result".ljust(29) +
+                  "Test".center(9) + "Total".center(9))
             print("=" * 80)
 
             # make a note of tests start time
-- 
2.17.1

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

* [dpdk-stable] patch 'test: fix code on report' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'test: make autotest runner python 2/3 compliant' " Christian Ehrhardt
                   ` (45 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Anatoly Burakov; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From e7a04b0b4cf48171c5750fdc016d900b78ab6a20 Mon Sep 17 00:00:00 2001
From: Anatoly Burakov <anatoly.burakov@intel.com>
Date: Fri, 27 Jul 2018 10:40:12 +0100
Subject: [PATCH] test: fix code on report

[ upstream commit 5a6feec6c89aa657ad9d2568379da6d71d4433c3 ]

There are no reports defined for any test, so this codepath was
never triggered, but it's still wrong because it's referencing
variables that aren't there. Fix it by passing target into the
test function, and reference correct log variable.

Fixes: e2cc79b75d9f ("app: rework autotest.py")

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 test/test/autotest_runner.py | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/test/test/autotest_runner.py b/test/test/autotest_runner.py
index b09b57876..bdc32da5d 100644
--- a/test/test/autotest_runner.py
+++ b/test/test/autotest_runner.py
@@ -41,7 +41,7 @@ def wait_prompt(child):
 # quite a bit of effort to make it work).
 
 
-def run_test_group(cmdline, test_group):
+def run_test_group(cmdline, target, test_group):
     results = []
     child = None
     start_time = time.time()
@@ -128,14 +128,15 @@ def run_test_group(cmdline, test_group):
             # make a note when the test was finished
             end_time = time.time()
 
+            log = logfile.getvalue()
+
             # append test data to the result tuple
-            result += (test["Name"], end_time - start_time,
-                       logfile.getvalue())
+            result += (test["Name"], end_time - start_time, log)
 
             # call report function, if any defined, and supply it with
             # target and complete log for test run
             if test["Report"]:
-                report = test["Report"](self.target, log)
+                report = test["Report"](target, log)
 
                 # append report to results tuple
                 result += (report,)
@@ -343,6 +344,7 @@ class AutotestRunner:
             for test_group in self.parallel_test_groups:
                 result = pool.apply_async(run_test_group,
                                           [self.__get_cmdline(test_group),
+                                           self.target,
                                            test_group])
                 results.append(result)
 
@@ -367,7 +369,7 @@ class AutotestRunner:
             # run non_parallel tests. they are run one by one, synchronously
             for test_group in self.non_parallel_test_groups:
                 group_result = run_test_group(
-                    self.__get_cmdline(test_group), test_group)
+                    self.__get_cmdline(test_group), self.target, test_group)
 
                 self.__process_results(group_result)
 
-- 
2.17.1

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

* [dpdk-stable] patch 'test: make autotest runner python 2/3 compliant' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'test: fix code on report' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'test: print autotest categories' " Christian Ehrhardt
                   ` (44 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Anatoly Burakov; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From f2e2f696859d6f47bd29827d4ddff9ec0cfb2551 Mon Sep 17 00:00:00 2001
From: Anatoly Burakov <anatoly.burakov@intel.com>
Date: Fri, 27 Jul 2018 10:40:13 +0100
Subject: [PATCH] test: make autotest runner python 2/3 compliant

[ upstream commit 3efeed3db348ab560dd2413c6205216745f84088 ]

Autotest runner was still using python 2-style print syntax. Fix
it by importing print function from the future, and fix the calls
to be python-3 style.

Fixes: 54ca545dce4b ("make python scripts python2/3 compliant")

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 test/test/autotest_runner.py | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/test/test/autotest_runner.py b/test/test/autotest_runner.py
index bdc32da5d..f6b669a2e 100644
--- a/test/test/autotest_runner.py
+++ b/test/test/autotest_runner.py
@@ -3,6 +3,7 @@
 
 # The main logic behind running autotests in parallel
 
+from __future__ import print_function
 import StringIO
 import csv
 import multiprocessing
@@ -52,8 +53,8 @@ def run_test_group(cmdline, target, test_group):
         # prepare logging of init
         startuplog = StringIO.StringIO()
 
-        print >>startuplog, "\n%s %s\n" % ("=" * 20, test_group["Prefix"])
-        print >>startuplog, "\ncmdline=%s" % cmdline
+        print("\n%s %s\n" % ("=" * 20, test_group["Prefix"]), file=startuplog)
+        print("\ncmdline=%s" % cmdline, file=startuplog)
 
         child = pexpect.spawn(cmdline, logfile=startuplog)
 
@@ -117,7 +118,7 @@ def run_test_group(cmdline, target, test_group):
 
         try:
             # print test name to log buffer
-            print >>logfile, "\n%s %s\n" % ("-" * 20, test["Name"])
+            print("\n%s %s\n" % ("-" * 20, test["Name"]), file=logfile)
 
             # run test function associated with the test
             if stripped or test["Command"] in avail_cmds:
-- 
2.17.1

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

* [dpdk-stable] patch 'test: print autotest categories' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'test: fix code on report' " Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'test: make autotest runner python 2/3 compliant' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'test: improve filtering' " Christian Ehrhardt
                   ` (43 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Anatoly Burakov; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 83475cc2f41e857c30e7f9f09b79897b328b5da7 Mon Sep 17 00:00:00 2001
From: Anatoly Burakov <anatoly.burakov@intel.com>
Date: Fri, 27 Jul 2018 10:40:14 +0100
Subject: [PATCH] test: print autotest categories

[ upstream commit b48188f417bf04f767e59c1da7d49462a2bcac8c ]

Help visually identify parallel vs. non-parallel autotests.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 test/test/autotest_runner.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/test/test/autotest_runner.py b/test/test/autotest_runner.py
index f6b669a2e..d9d5f7a97 100644
--- a/test/test/autotest_runner.py
+++ b/test/test/autotest_runner.py
@@ -341,6 +341,7 @@ class AutotestRunner:
             # make a note of tests start time
             self.start = time.time()
 
+            print("Parallel autotests:")
             # assign worker threads to run test groups
             for test_group in self.parallel_test_groups:
                 result = pool.apply_async(run_test_group,
@@ -367,6 +368,7 @@ class AutotestRunner:
                     # remove result from results list once we're done with it
                     results.remove(group_result)
 
+            print("Non-parallel autotests:")
             # run non_parallel tests. they are run one by one, synchronously
             for test_group in self.non_parallel_test_groups:
                 group_result = run_test_group(
-- 
2.17.1

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

* [dpdk-stable] patch 'test: improve filtering' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (2 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'test: print autotest categories' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'mk: update targets for classified tests' " Christian Ehrhardt
                   ` (42 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Anatoly Burakov; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 02936f173234345ab9951cc2f9211f44665b8775 Mon Sep 17 00:00:00 2001
From: Anatoly Burakov <anatoly.burakov@intel.com>
Date: Fri, 27 Jul 2018 10:40:15 +0100
Subject: [PATCH] test: improve filtering

[ upstream commit 71d97e03d812713715e409e18f2e27134cfdcd92 ]

Improve code for filtering test groups. Also, move reading binary
symbols into filtering stage, so that tests that are meant to be
skipped are never attempted to be executed in the first place.
Before running tests, print out any tests that were skipped because
they weren't compiled.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 test/test/autotest_runner.py | 118 ++++++++++++++++++++---------------
 1 file changed, 66 insertions(+), 52 deletions(-)

diff --git a/test/test/autotest_runner.py b/test/test/autotest_runner.py
index d9d5f7a97..c98ec2a57 100644
--- a/test/test/autotest_runner.py
+++ b/test/test/autotest_runner.py
@@ -95,13 +95,6 @@ def run_test_group(cmdline, target, test_group):
     results.append((0, "Success", "Start %s" % test_group["Prefix"],
                     time.time() - start_time, startuplog.getvalue(), None))
 
-    # parse the binary for available test commands
-    binary = cmdline.split()[0]
-    stripped = 'not stripped' not in subprocess.check_output(['file', binary])
-    if not stripped:
-        symbols = subprocess.check_output(['nm', binary]).decode('utf-8')
-        avail_cmds = re.findall('test_register_(\w+)', symbols)
-
     # run all tests in test group
     for test in test_group["Tests"]:
 
@@ -121,10 +114,7 @@ def run_test_group(cmdline, target, test_group):
             print("\n%s %s\n" % ("-" * 20, test["Name"]), file=logfile)
 
             # run test function associated with the test
-            if stripped or test["Command"] in avail_cmds:
-                result = test["Func"](child, test["Command"])
-            else:
-                result = (0, "Skipped [Not Available]")
+            result = test["Func"](child, test["Command"])
 
             # make a note when the test was finished
             end_time = time.time()
@@ -186,8 +176,10 @@ class AutotestRunner:
     def __init__(self, cmdline, target, blacklist, whitelist):
         self.cmdline = cmdline
         self.target = target
+        self.binary = cmdline.split()[0]
         self.blacklist = blacklist
         self.whitelist = whitelist
+        self.skipped = []
 
         # log file filename
         logfile = "%s.log" % target
@@ -276,53 +268,58 @@ class AutotestRunner:
             if i != 0:
                 self.csvwriter.writerow([test_name, test_result, result_str])
 
-    # this function iterates over test groups and removes each
-    # test that is not in whitelist/blacklist
-    def __filter_groups(self, test_groups):
-        groups_to_remove = []
-
-        # filter out tests from parallel test groups
-        for i, test_group in enumerate(test_groups):
-
-            # iterate over a copy so that we could safely delete individual
-            # tests
-            for test in test_group["Tests"][:]:
-                test_id = test["Command"]
-
-                # dump tests are specified in full e.g. "Dump_mempool"
-                if "_autotest" in test_id:
-                    test_id = test_id[:-len("_autotest")]
-
-                # filter out blacklisted/whitelisted tests
-                if self.blacklist and test_id in self.blacklist:
-                    test_group["Tests"].remove(test)
-                    continue
-                if self.whitelist and test_id not in self.whitelist:
-                    test_group["Tests"].remove(test)
-                    continue
-
-            # modify or remove original group
-            if len(test_group["Tests"]) > 0:
-                test_groups[i] = test_group
-            else:
-                # remember which groups should be deleted
-                # put the numbers backwards so that we start
-                # deleting from the end, not from the beginning
-                groups_to_remove.insert(0, i)
+    # this function checks individual test and decides if this test should be in
+    # the group by comparing it against  whitelist/blacklist. it also checks if
+    # the test is compiled into the binary, and marks it as skipped if necessary
+    def __filter_test(self, test):
+        test_cmd = test["Command"]
+        test_id = test_cmd
+
+        # dump tests are specified in full e.g. "Dump_mempool"
+        if "_autotest" in test_id:
+            test_id = test_id[:-len("_autotest")]
+
+        # filter out blacklisted/whitelisted tests
+        if self.blacklist and test_id in self.blacklist:
+            return False
+        if self.whitelist and test_id not in self.whitelist:
+            return False
+
+        # if test wasn't compiled in, remove it as well
+
+        # parse the binary for available test commands
+        stripped = 'not stripped' not in \
+                   subprocess.check_output(['file', self.binary])
+        if not stripped:
+            symbols = subprocess.check_output(['nm',
+                                               self.binary]).decode('utf-8')
+            avail_cmds = re.findall('test_register_(\w+)', symbols)
+
+            if test_cmd not in avail_cmds:
+                # notify user
+                result = 0, "Skipped [Not compiled]", test_id, 0, "", None
+                self.skipped.append(tuple(result))
+                return False
 
-        # remove test groups that need to be removed
-        for i in groups_to_remove:
-            del test_groups[i]
+        return True
 
-        return test_groups
+    def __filter_group(self, group):
+        group["Tests"] = list(filter(self.__filter_test, group["Tests"]))
+        return len(group["Tests"]) > 0
 
     # iterate over test groups and run tests associated with them
     def run_all_tests(self):
         # filter groups
-        self.parallel_test_groups = \
-            self.__filter_groups(self.parallel_test_groups)
-        self.non_parallel_test_groups = \
-            self.__filter_groups(self.non_parallel_test_groups)
+        # for each test group, check all tests against the filter, then remove
+        # all groups that don't have any tests
+        self.parallel_test_groups = list(
+            filter(self.__filter_group,
+                   self.parallel_test_groups)
+        )
+        self.non_parallel_test_groups = list(
+            filter(self.__filter_group,
+                   self.non_parallel_test_groups)
+        )
 
         # create a pool of worker threads
         pool = multiprocessing.Pool(processes=1)
@@ -338,6 +335,23 @@ class AutotestRunner:
                   "Test".center(9) + "Total".center(9))
             print("=" * 80)
 
+            # print out skipped autotests if there were any
+            if len(self.skipped):
+                print("Skipped autotests:")
+
+                # print out any skipped tests
+                for result in self.skipped:
+                    # unpack result tuple
+                    test_result, result_str, test_name, _, _, _ = result
+                    self.csvwriter.writerow([test_name, test_result,
+                                             result_str])
+
+                    t = ("%s:" % test_name).ljust(30)
+                    t += result_str.ljust(29)
+                    t += "[00m 00s]"
+
+                    print(t)
+
             # make a note of tests start time
             self.start = time.time()
 
-- 
2.17.1

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

* [dpdk-stable] patch 'mk: update targets for classified tests' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (3 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'test: improve filtering' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'mk: remove unnecessary test rules' " Christian Ehrhardt
                   ` (41 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Jananee Parthasarathy; +Cc: Reshma Pattan, Anatoly Burakov, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 210b3a9767996a3bfbcdb6ca922c072d0aa35a52 Mon Sep 17 00:00:00 2001
From: Jananee Parthasarathy <jananeex.m.parthasarathy@intel.com>
Date: Fri, 27 Jul 2018 10:40:19 +0100
Subject: [PATCH] mk: update targets for classified tests

[ upstream commit 37c1401ecc615bc96df2f1d95c192abe9203f4e9 ]

Makefiles are updated with new test case lists.
Test cases are classified as -
P1 - Main test cases,
P2 - Cryptodev/driver test cases,
P3 - Perf test cases which takes longer than 10s,
P4 - Logging/Dump test cases.

Makefile is updated with different targets
for the above classified groups.
Test cases for different targets are listed accordingly.

Signed-off-by: Jananee Parthasarathy <jananeex.m.parthasarathy@intel.com>
Reviewed-by: Reshma Pattan <reshma.pattan@intel.com>
Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 mk/rte.sdkroot.mk |  4 ++--
 mk/rte.sdktest.mk | 33 +++++++++++++++++++++++++++------
 2 files changed, 29 insertions(+), 8 deletions(-)

diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
index f43cc7829..ea3473ebf 100644
--- a/mk/rte.sdkroot.mk
+++ b/mk/rte.sdkroot.mk
@@ -68,8 +68,8 @@ config defconfig showconfigs showversion showversionum:
 cscope gtags tags etags:
 	$(Q)$(RTE_SDK)/devtools/build-tags.sh $@ $T
 
-.PHONY: test test-basic test-fast test-ring test-mempool test-perf coverage
-test test-basic test-fast test-ring test-mempool test-perf coverage:
+.PHONY: test test-basic test-fast test-ring test-mempool test-perf coverage test-drivers test-dump
+test test-basic test-fast test-ring test-mempool test-perf coverage test-drivers test-dump:
 	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdktest.mk $@
 
 test: test-build
diff --git a/mk/rte.sdktest.mk b/mk/rte.sdktest.mk
index ee1fe0c7e..13d1efb6a 100644
--- a/mk/rte.sdktest.mk
+++ b/mk/rte.sdktest.mk
@@ -18,14 +18,35 @@ DIR := $(shell basename $(RTE_OUTPUT))
 #
 # test: launch auto-tests, very simple for now.
 #
-.PHONY: test test-basic test-fast test-perf coverage
+.PHONY: test test-basic test-fast test-perf test-drivers test-dump coverage
 
-PERFLIST=ring_perf,mempool_perf,memcpy_perf,hash_perf,timer_perf
-coverage: BLACKLIST=-$(PERFLIST)
-test-fast: BLACKLIST=-$(PERFLIST)
-test-perf: WHITELIST=$(PERFLIST)
+PERFLIST=ring_perf,mempool_perf,memcpy_perf,hash_perf,timer_perf,\
+         reciprocal_division,reciprocal_division_perf,lpm_perf,red_all,\
+         barrier,hash_multiwriter,timer_racecond,efd,hash_functions,\
+         eventdev_selftest_sw,member_perf,efd_perf,lpm6_perf,red_perf,\
+         distributor_perf,ring_pmd_perf,pmd_perf,ring_perf
+DRIVERSLIST=link_bonding,link_bonding_mode4,link_bonding_rssconf,\
+            cryptodev_sw_mrvl,cryptodev_dpaa2_sec,cryptodev_dpaa_sec,\
+            cryptodev_qat,cryptodev_aesni_mb,cryptodev_openssl,\
+            cryptodev_scheduler,cryptodev_aesni_gcm,cryptodev_null,\
+            cryptodev_sw_snow3g,cryptodev_sw_kasumi,cryptodev_sw_zuc
+DUMPLIST=dump_struct_sizes,dump_mempool,dump_malloc_stats,dump_devargs,\
+         dump_log_types,dump_ring,quit,dump_physmem,dump_memzone,\
+         devargs_autotest
 
-test test-basic test-fast test-perf:
+SPACESTR:=
+SPACESTR+=
+STRIPPED_PERFLIST=$(subst $(SPACESTR),,$(PERFLIST))
+STRIPPED_DRIVERSLIST=$(subst $(SPACESTR),,$(DRIVERSLIST))
+STRIPPED_DUMPLIST=$(subst $(SPACESTR),,$(DUMPLIST))
+
+coverage: BLACKLIST=-$(STRIPPED_PERFLIST)
+test-fast: BLACKLIST=-$(STRIPPED_PERFLIST),$(STRIPPED_DRIVERSLIST),$(STRIPPED_DUMPLIST)
+test-perf: WHITELIST=$(STRIPPED_PERFLIST)
+test-drivers: WHITELIST=$(STRIPPED_DRIVERSLIST)
+test-dump: WHITELIST=$(STRIPPED_DUMPLIST)
+
+test test-basic test-fast test-perf test-drivers test-dump:
 	@mkdir -p $(AUTOTEST_DIR) ; \
 	cd $(AUTOTEST_DIR) ; \
 	if [ -f $(RTE_OUTPUT)/app/test ]; then \
-- 
2.17.1

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

* [dpdk-stable] patch 'mk: remove unnecessary test rules' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (4 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'mk: update targets for classified tests' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'test: fix uninitialized port configuration' " Christian Ehrhardt
                   ` (40 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Reshma Pattan; +Cc: Anatoly Burakov, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 2cf731a33af8e6a2cd25fec0b3394ab1c0c29350 Mon Sep 17 00:00:00 2001
From: Reshma Pattan <reshma.pattan@intel.com>
Date: Fri, 27 Jul 2018 10:40:20 +0100
Subject: [PATCH] mk: remove unnecessary test rules

[ upstream commit 9724d127f2d729c7475c4667bc14f95dc17fff8a ]

make rule test-basic is duplicate of test rule.
removed unused test-mempool and test-ring make rules.

Fixes: a3df7f8d9c ("mk: rename test related rules")

Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 mk/rte.sdkroot.mk | 4 ++--
 mk/rte.sdktest.mk | 7 +++----
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
index ea3473ebf..18c88017e 100644
--- a/mk/rte.sdkroot.mk
+++ b/mk/rte.sdkroot.mk
@@ -68,8 +68,8 @@ config defconfig showconfigs showversion showversionum:
 cscope gtags tags etags:
 	$(Q)$(RTE_SDK)/devtools/build-tags.sh $@ $T
 
-.PHONY: test test-basic test-fast test-ring test-mempool test-perf coverage test-drivers test-dump
-test test-basic test-fast test-ring test-mempool test-perf coverage test-drivers test-dump:
+.PHONY: test test-fast test-perf coverage test-drivers test-dump
+test test-fast test-perf coverage test-drivers test-dump:
 	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdktest.mk $@
 
 test: test-build
diff --git a/mk/rte.sdktest.mk b/mk/rte.sdktest.mk
index 13d1efb6a..295592809 100644
--- a/mk/rte.sdktest.mk
+++ b/mk/rte.sdktest.mk
@@ -18,7 +18,7 @@ DIR := $(shell basename $(RTE_OUTPUT))
 #
 # test: launch auto-tests, very simple for now.
 #
-.PHONY: test test-basic test-fast test-perf test-drivers test-dump coverage
+.PHONY: test test-fast test-perf test-drivers test-dump coverage
 
 PERFLIST=ring_perf,mempool_perf,memcpy_perf,hash_perf,timer_perf,\
          reciprocal_division,reciprocal_division_perf,lpm_perf,red_all,\
@@ -31,8 +31,7 @@ DRIVERSLIST=link_bonding,link_bonding_mode4,link_bonding_rssconf,\
             cryptodev_scheduler,cryptodev_aesni_gcm,cryptodev_null,\
             cryptodev_sw_snow3g,cryptodev_sw_kasumi,cryptodev_sw_zuc
 DUMPLIST=dump_struct_sizes,dump_mempool,dump_malloc_stats,dump_devargs,\
-         dump_log_types,dump_ring,quit,dump_physmem,dump_memzone,\
-         devargs_autotest
+         dump_log_types,dump_ring,dump_physmem,dump_memzone
 
 SPACESTR:=
 SPACESTR+=
@@ -46,7 +45,7 @@ test-perf: WHITELIST=$(STRIPPED_PERFLIST)
 test-drivers: WHITELIST=$(STRIPPED_DRIVERSLIST)
 test-dump: WHITELIST=$(STRIPPED_DUMPLIST)
 
-test test-basic test-fast test-perf test-drivers test-dump:
+test test-fast test-perf test-drivers test-dump:
 	@mkdir -p $(AUTOTEST_DIR) ; \
 	cd $(AUTOTEST_DIR) ; \
 	if [ -f $(RTE_OUTPUT)/app/test ]; then \
-- 
2.17.1

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

* [dpdk-stable] patch 'test: fix uninitialized port configuration' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (5 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'mk: remove unnecessary test rules' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'app/testpmd: fix DCB config' " Christian Ehrhardt
                   ` (39 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Radu Nicolau; +Cc: Bernard Iremonger, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From badf723690ee75e0bc90eafcc09353e2815eddfc Mon Sep 17 00:00:00 2001
From: Radu Nicolau <radu.nicolau@intel.com>
Date: Tue, 31 Jul 2018 15:16:21 +0100
Subject: [PATCH] test: fix uninitialized port configuration

[ upstream commit f5929159465772a1284e9ea1b87462ef2ab90e94 ]

test_pmd_ring_pair_create_attach() uses an uninitialized
struct rte_eth_conf object

Fixes: 51f567129c94 ("app/test: add pmd_ring")

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

diff --git a/test/test/test_pmd_ring.c b/test/test/test_pmd_ring.c
index 219620125..19d7d20a0 100644
--- a/test/test/test_pmd_ring.c
+++ b/test/test/test_pmd_ring.c
@@ -218,6 +218,8 @@ test_pmd_ring_pair_create_attach(int portd, int porte)
 	struct rte_mbuf buf, *pbuf = &buf;
 	struct rte_eth_conf null_conf;
 
+	memset(&null_conf, 0, sizeof(struct rte_eth_conf));
+
 	if ((rte_eth_dev_configure(portd, 1, 1, &null_conf) < 0)
 		|| (rte_eth_dev_configure(porte, 1, 1, &null_conf) < 0)) {
 		printf("Configure failed for port\n");
-- 
2.17.1

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

* [dpdk-stable] patch 'app/testpmd: fix DCB config' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (6 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'test: fix uninitialized port configuration' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'latency: free up the memzone' " Christian Ehrhardt
                   ` (38 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Konstantin Ananyev; +Cc: Bernard Iremonger, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 19ded3d093f8488083f18e7edde4c885d8a0f7b9 Mon Sep 17 00:00:00 2001
From: Konstantin Ananyev <konstantin.ananyev@intel.com>
Date: Tue, 31 Jul 2018 15:43:34 +0100
Subject: [PATCH] app/testpmd: fix DCB config

[ upstream commit ac7c491c3fecb835d637e867467dcf7cc8736828 ]

After adding RSS hash offload check, default rss_hf will fail on devices
that do not support all bits. This will lead to dcb config failure. The
patch fixes this issue by reading current valid rss_conf from the device.

Fixes: 8863a1fbfc66 ("ethdev: add supported hash function check")
Fixes: 1a572499beb6 ("app/testpmd: setup DCB forwarding based on traffic class")

Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 app/test-pmd/testpmd.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index acdce2a01..e35603de5 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -2454,12 +2454,14 @@ const uint16_t vlan_tags[] = {
 };
 
 static  int
-get_eth_dcb_conf(struct rte_eth_conf *eth_conf,
+get_eth_dcb_conf(portid_t pid, struct rte_eth_conf *eth_conf,
 		 enum dcb_mode_enable dcb_mode,
 		 enum rte_eth_nb_tcs num_tcs,
 		 uint8_t pfc_en)
 {
 	uint8_t i;
+	int32_t rc;
+	struct rte_eth_rss_conf rss_conf;
 
 	/*
 	 * Builds up the correct configuration for dcb+vt based on the vlan tags array
@@ -2499,6 +2501,10 @@ get_eth_dcb_conf(struct rte_eth_conf *eth_conf,
 		struct rte_eth_dcb_tx_conf *tx_conf =
 				&eth_conf->tx_adv_conf.dcb_tx_conf;
 
+		rc = rte_eth_dev_rss_hash_conf_get(pid, &rss_conf);
+		if (rc != 0)
+			return rc;
+
 		rx_conf->nb_tcs = num_tcs;
 		tx_conf->nb_tcs = num_tcs;
 
@@ -2506,8 +2512,9 @@ get_eth_dcb_conf(struct rte_eth_conf *eth_conf,
 			rx_conf->dcb_tc[i] = i % num_tcs;
 			tx_conf->dcb_tc[i] = i % num_tcs;
 		}
+
 		eth_conf->rxmode.mq_mode = ETH_MQ_RX_DCB_RSS;
-		eth_conf->rx_adv_conf.rss_conf.rss_hf = rss_hf;
+		eth_conf->rx_adv_conf.rss_conf = rss_conf;
 		eth_conf->txmode.mq_mode = ETH_MQ_TX_DCB;
 	}
 
@@ -2541,7 +2548,7 @@ init_port_dcb_config(portid_t pid,
 	port_conf.txmode = rte_port->dev_conf.txmode;
 
 	/*set configuration of DCB in vt mode and DCB in non-vt mode*/
-	retval = get_eth_dcb_conf(&port_conf, dcb_mode, num_tcs, pfc_en);
+	retval = get_eth_dcb_conf(pid, &port_conf, dcb_mode, num_tcs, pfc_en);
 	if (retval < 0)
 		return retval;
 	port_conf.rxmode.offloads |= DEV_RX_OFFLOAD_VLAN_FILTER;
-- 
2.17.1

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

* [dpdk-stable] patch 'latency: free up the memzone' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (7 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'app/testpmd: fix DCB config' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/octeontx: fix stop clearing Rx/Tx functions' " Christian Ehrhardt
                   ` (37 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Reshma Pattan; +Cc: Remy Horton, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From e78941d116aa320101d4010ea97cbde154cb374c Mon Sep 17 00:00:00 2001
From: Reshma Pattan <reshma.pattan@intel.com>
Date: Thu, 26 Jul 2018 17:50:08 +0100
Subject: [PATCH] latency: free up the memzone

[ upstream commit 8224b9d682d436c3d9f5f448e9f8a19fb872ed40 ]

Free up the memzone allocated during the
rte_latencystats_init().

Fixes: 5cd3cac9ed ("latency: added new library for latency stats")

Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Acked-by: Remy Horton <remy.horton@intel.com>
---
 lib/librte_latencystats/rte_latencystats.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/lib/librte_latencystats/rte_latencystats.c b/lib/librte_latencystats/rte_latencystats.c
index 46c69bf05..1fdec68e3 100644
--- a/lib/librte_latencystats/rte_latencystats.c
+++ b/lib/librte_latencystats/rte_latencystats.c
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2017 Intel Corporation
+ * Copyright(c) 2018 Intel Corporation
  */
 
 #include <unistd.h>
@@ -265,6 +265,7 @@ rte_latencystats_uninit(void)
 	uint16_t qid;
 	int ret = 0;
 	struct rxtx_cbs *cbs = NULL;
+	const struct rte_memzone *mz = NULL;
 
 	/** De register Rx/Tx callbacks */
 	RTE_ETH_FOREACH_DEV(pid) {
@@ -288,6 +289,11 @@ rte_latencystats_uninit(void)
 		}
 	}
 
+	/* free up the memzone */
+	mz = rte_memzone_lookup(MZ_RTE_LATENCY_STATS);
+	if (mz)
+		rte_memzone_free(mz);
+
 	return 0;
 }
 
-- 
2.17.1

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

* [dpdk-stable] patch 'net/octeontx: fix stop clearing Rx/Tx functions' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (8 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'latency: free up the memzone' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnxt: fix filter freeing' " Christian Ehrhardt
                   ` (36 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Pavan Nikhilesh; +Cc: Jerin Jacob, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From abff2c9f549bfff2896954546455e0b1e754724e Mon Sep 17 00:00:00 2001
From: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Date: Tue, 24 Jul 2018 16:13:50 +0530
Subject: [PATCH] net/octeontx: fix stop clearing Rx/Tx functions

[ upstream commit efb9dd148e234aecd01966cd1d2aaa4b75836966 ]

On dev_stop the Rx/Tx_burst functions are being set to NULL, this causes
a SEGFAULT in cases where control path calls stop and a paket is still
being processed by a worker.
Instead clear the fastpath functions in dev_close.

Fixes: da6c687471a3 ("net/octeontx: add start and stop support")

Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 drivers/net/octeontx/octeontx_ethdev.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/octeontx/octeontx_ethdev.c
index c8eb91046..f335badf8 100644
--- a/drivers/net/octeontx/octeontx_ethdev.c
+++ b/drivers/net/octeontx/octeontx_ethdev.c
@@ -352,6 +352,9 @@ octeontx_dev_close(struct rte_eth_dev *dev)
 
 		rte_free(txq);
 	}
+
+	dev->tx_pkt_burst = NULL;
+	dev->rx_pkt_burst = NULL;
 }
 
 static int
@@ -445,9 +448,6 @@ octeontx_dev_stop(struct rte_eth_dev *dev)
 			     ret);
 		return;
 	}
-
-	dev->tx_pkt_burst = NULL;
-	dev->rx_pkt_burst = NULL;
 }
 
 static void
-- 
2.17.1

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

* [dpdk-stable] patch 'net/bnxt: fix filter freeing' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (9 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/octeontx: fix stop clearing Rx/Tx functions' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnxt: fix memory leaks in NVM commands' " Christian Ehrhardt
                   ` (35 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Somnath Kotur; +Cc: Ajit Khaparde, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From f03899b36e717cbf229a5015d67ae10cc74ce7fd Mon Sep 17 00:00:00 2001
From: Somnath Kotur <somnath.kotur@broadcom.com>
Date: Wed, 25 Jul 2018 18:15:44 -0700
Subject: [PATCH] net/bnxt: fix filter freeing

[ upstream commit eae0a36249acb365c9c5952b0ed7f1d4b625ab42 ]

bnxt_clear_hwrm_vnic_filters() was removing the created filter from HW,
but not clearing the internal data structures by removing it from the
struct bnxt_vnic_info->filter list.

Fixes: 5ef3b79fdfe6 ("net/bnxt: support flow filter ops")

Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
 drivers/net/bnxt/bnxt_hwrm.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index 5e8b14c41..8d8104a19 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -1977,6 +1977,7 @@ int bnxt_clear_hwrm_vnic_filters(struct bnxt *bp, struct bnxt_vnic_info *vnic)
 			rc = bnxt_hwrm_clear_ntuple_filter(bp, filter);
 		else
 			rc = bnxt_hwrm_clear_l2_filter(bp, filter);
+		STAILQ_REMOVE(&vnic->filter, filter, bnxt_filter_info, next);
 		//if (rc)
 			//break;
 	}
-- 
2.17.1

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

* [dpdk-stable] patch 'net/bnxt: fix memory leaks in NVM commands' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (10 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnxt: fix filter freeing' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnxt: fix lock release on NVM write failure' " Christian Ehrhardt
                   ` (34 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Ajit Khaparde
  Cc: Somnath Kotur, Ray Jui, Michael Wildt, Randy Schacher, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 6e664dcb2dee1760a5957aefcf12dfe7b40250a0 Mon Sep 17 00:00:00 2001
From: Ajit Khaparde <ajit.khaparde@broadcom.com>
Date: Wed, 25 Jul 2018 18:15:45 -0700
Subject: [PATCH] net/bnxt: fix memory leaks in NVM commands

[ upstream commit 6621ae146166adaba8dc4c120ad8c0fabab95830 ]

In some cases we may not be freeing up memory allocated for certain
NVM commands because the code might have bailed out before reaching
rte_free(). This patch moves some code around to ensure the allocated
memory is freed before exiting the function.

Fixes: 19e6af01bb36 ("net/bnxt: support get/set EEPROM")

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Ray Jui <ray.jui@broadcom.com>
Reviewed-by: Michael Wildt <michael.wildt@broadcom.com>
Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com>
---
 drivers/net/bnxt/bnxt_hwrm.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index 8d8104a19..714871eb2 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -3310,13 +3310,12 @@ int bnxt_get_nvram_directory(struct bnxt *bp, uint32_t len, uint8_t *data)
 	req.host_dest_addr = rte_cpu_to_le_64(dma_handle);
 	rc = bnxt_hwrm_send_message(bp, &req, sizeof(req));
 
-	HWRM_CHECK_RESULT();
-	HWRM_UNLOCK();
-
 	if (rc == 0)
 		memcpy(data, buf, len > buflen ? buflen : len);
 
 	rte_free(buf);
+	HWRM_CHECK_RESULT();
+	HWRM_UNLOCK();
 
 	return rc;
 }
@@ -3348,12 +3347,13 @@ int bnxt_hwrm_get_nvram_item(struct bnxt *bp, uint32_t index,
 	req.offset = rte_cpu_to_le_32(offset);
 	req.len = rte_cpu_to_le_32(length);
 	rc = bnxt_hwrm_send_message(bp, &req, sizeof(req));
-	HWRM_CHECK_RESULT();
-	HWRM_UNLOCK();
 	if (rc == 0)
 		memcpy(data, buf, length);
 
 	rte_free(buf);
+	HWRM_CHECK_RESULT();
+	HWRM_UNLOCK();
+
 	return rc;
 }
 
@@ -3408,10 +3408,10 @@ int bnxt_hwrm_flash_nvram(struct bnxt *bp, uint16_t dir_type,
 
 	rc = bnxt_hwrm_send_message(bp, &req, sizeof(req));
 
+	rte_free(buf);
 	HWRM_CHECK_RESULT();
 	HWRM_UNLOCK();
 
-	rte_free(buf);
 	return rc;
 }
 
-- 
2.17.1

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

* [dpdk-stable] patch 'net/bnxt: fix lock release on NVM write failure' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (11 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnxt: fix memory leaks in NVM commands' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnxt: check access denied for HWRM commands' " Christian Ehrhardt
                   ` (33 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Ajit Khaparde; +Cc: Randy Schacher, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From c11bdac58e36d2af9a43c733bd1942e8fc286401 Mon Sep 17 00:00:00 2001
From: Ajit Khaparde <ajit.khaparde@broadcom.com>
Date: Wed, 25 Jul 2018 18:15:46 -0700
Subject: [PATCH] net/bnxt: fix lock release on NVM write failure

[ upstream commit 4623c0d4b572e9bea28d59e6e54ae6d5dab2412e ]

In bnxt_hwrm_flash_nvram, before attempting to allocate a buffer
we are grabbing the rte_spinlock. And if the allocation fails we
are returning before releasing the spinlock. We avoid the situation
by calling HWRM_PREP which grabs the lock after the buffer is
allocated successfully.

Fixes: 19e6af01bb36 ("net/bnxt: support get/set EEPROM")

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com>
---
 drivers/net/bnxt/bnxt_hwrm.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index 714871eb2..b800b1a51 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -3384,14 +3384,6 @@ int bnxt_hwrm_flash_nvram(struct bnxt *bp, uint16_t dir_type,
 	rte_iova_t dma_handle;
 	uint8_t *buf;
 
-	HWRM_PREP(req, NVM_WRITE);
-
-	req.dir_type = rte_cpu_to_le_16(dir_type);
-	req.dir_ordinal = rte_cpu_to_le_16(dir_ordinal);
-	req.dir_ext = rte_cpu_to_le_16(dir_ext);
-	req.dir_attr = rte_cpu_to_le_16(dir_attr);
-	req.dir_data_length = rte_cpu_to_le_32(data_len);
-
 	buf = rte_malloc("nvm_write", data_len, 0);
 	rte_mem_lock_page(buf);
 	if (!buf)
@@ -3404,6 +3396,14 @@ int bnxt_hwrm_flash_nvram(struct bnxt *bp, uint16_t dir_type,
 		return -ENOMEM;
 	}
 	memcpy(buf, data, data_len);
+
+	HWRM_PREP(req, NVM_WRITE);
+
+	req.dir_type = rte_cpu_to_le_16(dir_type);
+	req.dir_ordinal = rte_cpu_to_le_16(dir_ordinal);
+	req.dir_ext = rte_cpu_to_le_16(dir_ext);
+	req.dir_attr = rte_cpu_to_le_16(dir_attr);
+	req.dir_data_length = rte_cpu_to_le_32(data_len);
 	req.host_src_addr = rte_cpu_to_le_64(dma_handle);
 
 	rc = bnxt_hwrm_send_message(bp, &req, sizeof(req));
-- 
2.17.1

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

* [dpdk-stable] patch 'net/bnxt: check access denied for HWRM commands' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (12 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnxt: fix lock release on NVM write failure' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnxt: fix RETA size' " Christian Ehrhardt
                   ` (32 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Ajit Khaparde; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 90ac8fc9fa88af097d7cbec0dafb888a39fb7815 Mon Sep 17 00:00:00 2001
From: Ajit Khaparde <ajit.khaparde@broadcom.com>
Date: Wed, 25 Jul 2018 18:15:47 -0700
Subject: [PATCH] net/bnxt: check access denied for HWRM commands

[ upstream commit 6dc875ab5ff76377376906aa6d05d95ffd34b9f9 ]

Firmware can restrict access to certain resources in the hardware
depending on various factors. In such cases when the PMD tries to
configure these resources the firmware will return
HWRM_ERR_CODE_RESOURCE_ACCESS_DENIED error. Parse this and return
the standard EACCES error to the applications.

Fixes: 804e746c7b73 ("net/bnxt: add hardware resource manager init code")

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
 drivers/net/bnxt/bnxt_hwrm.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index b800b1a51..d734eb94e 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -170,6 +170,10 @@ err_ret:
 	if (rc) { \
 		PMD_DRV_LOG(ERR, "failed rc:%d\n", rc); \
 		rte_spinlock_unlock(&bp->hwrm_lock); \
+		if (rc == HWRM_ERR_CODE_RESOURCE_ACCESS_DENIED) \
+			rc = -EACCES; \
+		else if (rc > 0) \
+			rc = -EINVAL; \
 		return rc; \
 	} \
 	if (resp->error_code) { \
@@ -188,6 +192,10 @@ err_ret:
 			PMD_DRV_LOG(ERR, "error %d\n", rc); \
 		} \
 		rte_spinlock_unlock(&bp->hwrm_lock); \
+		if (rc == HWRM_ERR_CODE_RESOURCE_ACCESS_DENIED) \
+			rc = -EACCES; \
+		else if (rc > 0) \
+			rc = -EINVAL; \
 		return rc; \
 	} \
 } while (0)
-- 
2.17.1

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

* [dpdk-stable] patch 'net/bnxt: fix RETA size' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (13 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnxt: check access denied for HWRM commands' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/qede: fix interrupt handler unregister' " Christian Ehrhardt
                   ` (31 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Ajit Khaparde; +Cc: Scott Branden, Randy Schacher, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 61b6459ddd4f556b635a471f245e00443b44a48f Mon Sep 17 00:00:00 2001
From: Ajit Khaparde <ajit.khaparde@broadcom.com>
Date: Wed, 25 Jul 2018 18:15:48 -0700
Subject: [PATCH] net/bnxt: fix RETA size

[ upstream commit 7f675c27d9c80bc6ff3793140fa3215671b295d6 ]

The reta_size being indicated in the bnxt_dev_info_get_op was incorrect.
Set it to the value supported by the hardware.

Fixes: 0a6d2a720078 ("net/bnxt: get device infos")

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Scott Branden <scott.branden@broadcom.com>
Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com>
Tested-by: Randy Schacher <stuart.schacher@broadcom.com>
---
 drivers/net/bnxt/bnxt_ethdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index d4866490c..ddc18de22 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -422,7 +422,7 @@ static void bnxt_dev_info_get_op(struct rte_eth_dev *eth_dev,
 	/* For the sake of symmetry, max_rx_queues = max_tx_queues */
 	dev_info->max_rx_queues = max_rx_rings;
 	dev_info->max_tx_queues = max_rx_rings;
-	dev_info->reta_size = bp->max_rsscos_ctx;
+	dev_info->reta_size = HW_HASH_INDEX_SIZE;
 	dev_info->hash_key_size = 40;
 	max_vnics = bp->max_vnics;
 
-- 
2.17.1

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

* [dpdk-stable] patch 'net/qede: fix interrupt handler unregister' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (14 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnxt: fix RETA size' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/qede/base: fix to clear HW indication' " Christian Ehrhardt
                   ` (30 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Shahed Shaikh; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 3ecf141a94622b51eb33cb8f73319305a1deb3c7 Mon Sep 17 00:00:00 2001
From: Shahed Shaikh <shahed.shaikh@cavium.com>
Date: Tue, 24 Jul 2018 15:18:41 -0700
Subject: [PATCH] net/qede: fix interrupt handler unregister

[ upstream commit 4eee1bbf25859b72723ec570d77bf5fb501bedcf ]

Commit 023d7a0449f11 ("net/qede: fix legacy interrupt mode")
added a handler for legacy interrupt mode but forgot to
unregister same handler in rte_intr_callback_unregister()

Fixes: 245aec289338 ("net/qede: fix legacy interrupt mode")

Signed-off-by: Shahed Shaikh <shahed.shaikh@cavium.com>
---
 drivers/net/qede/qede_ethdev.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
index 876052772..c404e19aa 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -1730,8 +1730,20 @@ static void qede_dev_close(struct rte_eth_dev *eth_dev)
 	qdev->ops->common->slowpath_stop(edev);
 	qdev->ops->common->remove(edev);
 	rte_intr_disable(&pci_dev->intr_handle);
-	rte_intr_callback_unregister(&pci_dev->intr_handle,
-				     qede_interrupt_handler, (void *)eth_dev);
+
+	switch (pci_dev->intr_handle.type) {
+	case RTE_INTR_HANDLE_UIO_INTX:
+	case RTE_INTR_HANDLE_VFIO_LEGACY:
+		rte_intr_callback_unregister(&pci_dev->intr_handle,
+					     qede_interrupt_handler_intx,
+					     (void *)eth_dev);
+		break;
+	default:
+		rte_intr_callback_unregister(&pci_dev->intr_handle,
+					   qede_interrupt_handler,
+					   (void *)eth_dev);
+	}
+
 	if (ECORE_IS_CMT(edev))
 		rte_eal_alarm_cancel(qede_poll_sp_sb_cb, (void *)eth_dev);
 }
-- 
2.17.1

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

* [dpdk-stable] patch 'net/qede/base: fix to clear HW indication' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (15 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/qede: fix interrupt handler unregister' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/qede/base: fix GRC attention callback' " Christian Ehrhardt
                   ` (29 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Rasesh Mody; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 70ad498939da11aaa767f76368d89f8eb16299a6 Mon Sep 17 00:00:00 2001
From: Rasesh Mody <rasesh.mody@cavium.com>
Date: Tue, 24 Jul 2018 15:18:42 -0700
Subject: [PATCH] net/qede/base: fix to clear HW indication

[ upstream commit c8dbf6814312f12cd7fef7203ea9b40255ea1f76 ]

VDMs may cause the was_error indication to be set after the driver
clears it. Clear the indication after the internal FID_enable for
the PF is set.

Fixes: 60c78a5e258a ("net/qede/base: fix recovery from previous ungraceful exit")

Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
---
 drivers/net/qede/base/ecore_dev.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/net/qede/base/ecore_dev.c b/drivers/net/qede/base/ecore_dev.c
index 4ebbedd6d..69bdd0055 100644
--- a/drivers/net/qede/base/ecore_dev.c
+++ b/drivers/net/qede/base/ecore_dev.c
@@ -2513,9 +2513,8 @@ enum _ecore_status_t ecore_hw_init(struct ecore_dev *p_dev,
 			}
 		}
 
-		/* Log and clean previous pglue_b errors if such exist */
+		/* Log and clear previous pglue_b errors if such exist */
 		ecore_pglueb_rbc_attn_handler(p_hwfn, p_hwfn->p_main_ptt, true);
-		ecore_pglueb_clear_err(p_hwfn, p_hwfn->p_main_ptt);
 
 		/* Enable the PF's internal FID_enable in the PXP */
 		rc = ecore_pglueb_set_pfid_enable(p_hwfn, p_hwfn->p_main_ptt,
@@ -2523,6 +2522,13 @@ enum _ecore_status_t ecore_hw_init(struct ecore_dev *p_dev,
 		if (rc != ECORE_SUCCESS)
 			goto load_err;
 
+		/* Clear the pglue_b was_error indication.
+		 * In E4 it must be done after the BME and the internal
+		 * FID_enable for the PF are set, since VDMs may cause the
+		 * indication to be set again.
+		 */
+		ecore_pglueb_clear_err(p_hwfn, p_hwfn->p_main_ptt);
+
 		switch (load_code) {
 		case FW_MSG_CODE_DRV_LOAD_ENGINE:
 			rc = ecore_hw_init_common(p_hwfn, p_hwfn->p_main_ptt,
-- 
2.17.1

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

* [dpdk-stable] patch 'net/qede/base: fix GRC attention callback' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (16 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/qede/base: fix to clear HW indication' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/qede: fix MAC address removal failure message' " Christian Ehrhardt
                   ` (28 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Rasesh Mody; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 8e6269870e59dc464893e27965f1fe29d1e69190 Mon Sep 17 00:00:00 2001
From: Rasesh Mody <rasesh.mody@cavium.com>
Date: Tue, 24 Jul 2018 15:18:43 -0700
Subject: [PATCH] net/qede/base: fix GRC attention callback

[ upstream commit 538bcb378af5d1750a6831efeea4d9565a3267f0 ]

Treat any attention which is not for timeout event as invalid
and return status accordingly. The HW error handler logs and clears
the HW attention. Without this fix we can see flood of GRC attentions.

Fixes: e6051bd6b07d ("qede: add interrupt handling support")

Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
---
 drivers/net/qede/base/ecore_int.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/drivers/net/qede/base/ecore_int.c b/drivers/net/qede/base/ecore_int.c
index 7272f059f..3a6f1bbb5 100644
--- a/drivers/net/qede/base/ecore_int.c
+++ b/drivers/net/qede/base/ecore_int.c
@@ -233,15 +233,19 @@ static const char *grc_timeout_attn_master_to_str(u8 master)
 
 static enum _ecore_status_t ecore_grc_attn_cb(struct ecore_hwfn *p_hwfn)
 {
+	enum _ecore_status_t rc = ECORE_SUCCESS;
 	u32 tmp, tmp2;
 
 	/* We've already cleared the timeout interrupt register, so we learn
-	 * of interrupts via the validity register
+	 * of interrupts via the validity register.
+	 * Any attention which is not for a timeout event is treated as fatal.
 	 */
 	tmp = ecore_rd(p_hwfn, p_hwfn->p_dpc_ptt,
 		       GRC_REG_TIMEOUT_ATTN_ACCESS_VALID);
-	if (!(tmp & ECORE_GRC_ATTENTION_VALID_BIT))
+	if (!(tmp & ECORE_GRC_ATTENTION_VALID_BIT)) {
+		rc = ECORE_INVAL;
 		goto out;
+	}
 
 	/* Read the GRC timeout information */
 	tmp = ecore_rd(p_hwfn, p_hwfn->p_dpc_ptt,
@@ -265,11 +269,11 @@ static enum _ecore_status_t ecore_grc_attn_cb(struct ecore_hwfn *p_hwfn)
 		  (tmp2 & ECORE_GRC_ATTENTION_VF_MASK) >>
 		  ECORE_GRC_ATTENTION_VF_SHIFT);
 
-out:
-	/* Regardles of anything else, clean the validity bit */
+	/* Clean the validity bit */
 	ecore_wr(p_hwfn, p_hwfn->p_dpc_ptt,
 		 GRC_REG_TIMEOUT_ATTN_ACCESS_VALID, 0);
-	return ECORE_SUCCESS;
+out:
+	return rc;
 }
 
 #define ECORE_PGLUE_ATTENTION_VALID (1 << 29)
-- 
2.17.1

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

* [dpdk-stable] patch 'net/qede: fix MAC address removal failure message' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (17 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/qede/base: fix GRC attention callback' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnx2x: fix FW command timeout during stop' " Christian Ehrhardt
                   ` (27 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Shahed Shaikh; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 171115b74f9318113fa8fd0f3dc4f57317088834 Mon Sep 17 00:00:00 2001
From: Shahed Shaikh <shahed.shaikh@cavium.com>
Date: Tue, 24 Jul 2018 15:18:44 -0700
Subject: [PATCH] net/qede: fix MAC address removal failure message

[ upstream commit 7e3060a3704e21ab63e9f1b4338be2fed9a345d1 ]

Don't treat MAC address removal failure as a fatal error
and print in logs.

Fixes: 77fac1b54fc9 ("net/qede: fix filtering code")

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

diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
index c404e19aa..769972939 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -961,7 +961,10 @@ qede_mac_int_ops(struct rte_eth_dev *eth_dev, struct ecore_filter_ucast *ucast,
 	if (rc == 0)
 		rc = ecore_filter_ucast_cmd(edev, ucast,
 					    ECORE_SPQ_MODE_CB, NULL);
-	if (rc != ECORE_SUCCESS)
+	/* Indicate error only for add filter operation.
+	 * Delete filter operations are not severe.
+	 */
+	if ((rc != ECORE_SUCCESS) && add)
 		DP_ERR(edev, "MAC filter failed, rc = %d, op = %d\n",
 		       rc, add);
 
-- 
2.17.1

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

* [dpdk-stable] patch 'net/bnx2x: fix FW command timeout during stop' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (18 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/qede: fix MAC address removal failure message' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnx2x: fix poll link status' " Christian Ehrhardt
                   ` (26 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Rasesh Mody; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 5f5a8eac698e18a9e9f447f419c10acfd15b0c20 Mon Sep 17 00:00:00 2001
From: Rasesh Mody <rasesh.mody@cavium.com>
Date: Wed, 1 Aug 2018 11:19:20 -0700
Subject: [PATCH] net/bnx2x: fix FW command timeout during stop

[ upstream commit 4a4607bb9cadcc49a062a46588dbdcc873dfe27a ]

This patch fixes firmware command timeout error seen during device stop
while stopping queues. It patially reverts an earlier preventive change
commit 91b7e432bcef ("net/bnx2x: disable fast path interrupts") to now
enable fast path interrupts.

The original issue of performance degradation is not observed anymore,
with or without the fix.

Fixes: 91b7e432bcef ("net/bnx2x: disable fast path interrupts")

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

diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c
index 84ade5fb4..6228744f3 100644
--- a/drivers/net/bnx2x/bnx2x.c
+++ b/drivers/net/bnx2x/bnx2x.c
@@ -4490,6 +4490,8 @@ static void bnx2x_handle_fp_tq(struct bnx2x_fastpath *fp, int scan_fp)
 	struct bnx2x_softc *sc = fp->sc;
 	uint8_t more_rx = FALSE;
 
+	PMD_DRV_LOG(DEBUG, "---> FP TASK QUEUE (%d) <--", fp->index);
+
 	/* update the fastpath index */
 	bnx2x_update_fp_sb_idx(fp);
 
@@ -4506,7 +4508,7 @@ static void bnx2x_handle_fp_tq(struct bnx2x_fastpath *fp, int scan_fp)
 	}
 
 	bnx2x_ack_sb(sc, fp->igu_sb_id, USTORM_ID,
-		   le16toh(fp->fp_hc_idx), IGU_INT_DISABLE, 1);
+		   le16toh(fp->fp_hc_idx), IGU_INT_ENABLE, 1);
 }
 
 /*
-- 
2.17.1

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

* [dpdk-stable] patch 'net/bnx2x: fix poll link status' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (19 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnx2x: fix FW command timeout during stop' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/dpaa2: remove loop for unused pool entries' " Christian Ehrhardt
                   ` (25 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Rasesh Mody; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 35d7c6494334baa8ca3db0995ac92946c4f54812 Mon Sep 17 00:00:00 2001
From: Rasesh Mody <rasesh.mody@cavium.com>
Date: Thu, 2 Aug 2018 21:42:45 -0700
Subject: [PATCH] net/bnx2x: fix poll link status

[ upstream commit 6041aa619f9adc35edf0ea8f4dca5d09d320459a ]

The PMD has been modified to invoke the polling function in the link
management code which detects the peer speed/mode, configure the link
and update the status accordingly. This patch is the fix for the link
down issue seen when we do dev_stop() and dev_start() from an
application.

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

Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
---
 drivers/net/bnx2x/bnx2x.c        |  18 ------
 drivers/net/bnx2x/bnx2x.h        |   1 +
 drivers/net/bnx2x/bnx2x_ethdev.c | 105 +++++++++++++++++++++++--------
 drivers/net/bnx2x/bnx2x_ethdev.h |   3 +-
 4 files changed, 83 insertions(+), 44 deletions(-)

diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c
index 6228744f3..9cb9f21fd 100644
--- a/drivers/net/bnx2x/bnx2x.c
+++ b/drivers/net/bnx2x/bnx2x.c
@@ -125,7 +125,6 @@ int bnx2x_nic_load(struct bnx2x_softc *sc);
 
 static int bnx2x_handle_sp_tq(struct bnx2x_softc *sc);
 static void bnx2x_handle_fp_tq(struct bnx2x_fastpath *fp, int scan_fp);
-static void bnx2x_periodic_stop(struct bnx2x_softc *sc);
 static void bnx2x_ack_sb(struct bnx2x_softc *sc, uint8_t igu_sb_id,
 			 uint8_t storm, uint16_t index, uint8_t op,
 			 uint8_t update);
@@ -1969,9 +1968,6 @@ bnx2x_nic_unload(struct bnx2x_softc *sc, uint32_t unload_mode, uint8_t keep_link
 
 	PMD_DRV_LOG(DEBUG, "Starting NIC unload...");
 
-	/* stop the periodic callout */
-	bnx2x_periodic_stop(sc);
-
 	/* mark driver as unloaded in shmem2 */
 	if (IS_PF(sc) && SHMEM2_HAS(sc, drv_capabilities_flag)) {
 		val = SHMEM2_RD(sc, drv_capabilities_flag[SC_FW_MB_IDX(sc)]);
@@ -6999,16 +6995,6 @@ void bnx2x_link_status_update(struct bnx2x_softc *sc)
 	}
 }
 
-static void bnx2x_periodic_start(struct bnx2x_softc *sc)
-{
-	atomic_store_rel_long(&sc->periodic_flags, PERIODIC_GO);
-}
-
-static void bnx2x_periodic_stop(struct bnx2x_softc *sc)
-{
-	atomic_store_rel_long(&sc->periodic_flags, PERIODIC_STOP);
-}
-
 static int bnx2x_initial_phy_init(struct bnx2x_softc *sc, int load_mode)
 {
 	int rc, cfg_idx = bnx2x_get_link_cfg_idx(sc);
@@ -7043,10 +7029,6 @@ static int bnx2x_initial_phy_init(struct bnx2x_softc *sc, int load_mode)
 		bnx2x_link_report(sc);
 	}
 
-	if (!CHIP_REV_IS_SLOW(sc)) {
-		bnx2x_periodic_start(sc);
-	}
-
 	sc->link_params.req_line_speed[cfg_idx] = req_line_speed;
 	return rc;
 }
diff --git a/drivers/net/bnx2x/bnx2x.h b/drivers/net/bnx2x/bnx2x.h
index 4150fd85a..873b0030f 100644
--- a/drivers/net/bnx2x/bnx2x.h
+++ b/drivers/net/bnx2x/bnx2x.h
@@ -1930,6 +1930,7 @@ void bnx2x_link_status_update(struct bnx2x_softc *sc);
 int bnx2x_complete_sp(struct bnx2x_softc *sc);
 int bnx2x_set_storm_rx_mode(struct bnx2x_softc *sc);
 void bnx2x_periodic_callout(struct bnx2x_softc *sc);
+void bnx2x_periodic_stop(void *param);
 
 int bnx2x_vf_get_resources(struct bnx2x_softc *sc, uint8_t tx_count, uint8_t rx_count);
 void bnx2x_vf_close(struct bnx2x_softc *sc);
diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c b/drivers/net/bnx2x/bnx2x_ethdev.c
index 6a9cd5810..2ec707b45 100644
--- a/drivers/net/bnx2x/bnx2x_ethdev.c
+++ b/drivers/net/bnx2x/bnx2x_ethdev.c
@@ -13,6 +13,7 @@
 
 #include <rte_dev.h>
 #include <rte_ethdev_pci.h>
+#include <rte_alarm.h>
 
 int bnx2x_logtype_init;
 int bnx2x_logtype_driver;
@@ -81,26 +82,31 @@ static const struct rte_bnx2x_xstats_name_off bnx2x_xstats_strings[] = {
 		offsetof(struct bnx2x_eth_stats, pfc_frames_received_lo)}
 };
 
-static void
+static int
 bnx2x_link_update(struct rte_eth_dev *dev)
 {
 	struct bnx2x_softc *sc = dev->data->dev_private;
+	struct rte_eth_link link;
 
 	PMD_INIT_FUNC_TRACE();
+
 	bnx2x_link_status_update(sc);
+	memset(&link, 0, sizeof(link));
 	mb();
-	dev->data->dev_link.link_speed = sc->link_vars.line_speed;
+	link.link_speed = sc->link_vars.line_speed;
 	switch (sc->link_vars.duplex) {
 		case DUPLEX_FULL:
-			dev->data->dev_link.link_duplex = ETH_LINK_FULL_DUPLEX;
+			link.link_duplex = ETH_LINK_FULL_DUPLEX;
 			break;
 		case DUPLEX_HALF:
-			dev->data->dev_link.link_duplex = ETH_LINK_HALF_DUPLEX;
+			link.link_duplex = ETH_LINK_HALF_DUPLEX;
 			break;
 	}
-	dev->data->dev_link.link_autoneg = !(dev->data->dev_conf.link_speeds &
+	link.link_autoneg = !(dev->data->dev_conf.link_speeds &
 			ETH_LINK_SPEED_FIXED);
-	dev->data->dev_link.link_status = sc->link_vars.link_up;
+	link.link_status = sc->link_vars.link_up;
+
+	return rte_eth_linkstatus_set(dev, &link);
 }
 
 static void
@@ -109,8 +115,6 @@ bnx2x_interrupt_action(struct rte_eth_dev *dev)
 	struct bnx2x_softc *sc = dev->data->dev_private;
 	uint32_t link_status;
 
-	PMD_DEBUG_PERIODIC_LOG(INFO, "Interrupt handled");
-
 	bnx2x_intr_legacy(sc, 0);
 
 	if (sc->periodic_flags & PERIODIC_GO)
@@ -128,10 +132,41 @@ bnx2x_interrupt_handler(void *param)
 	struct rte_eth_dev *dev = (struct rte_eth_dev *)param;
 	struct bnx2x_softc *sc = dev->data->dev_private;
 
+	PMD_DEBUG_PERIODIC_LOG(INFO, "Interrupt handled");
+
 	bnx2x_interrupt_action(dev);
 	rte_intr_enable(&sc->pci_dev->intr_handle);
 }
 
+static void bnx2x_periodic_start(void *param)
+{
+	struct rte_eth_dev *dev = (struct rte_eth_dev *)param;
+	struct bnx2x_softc *sc = dev->data->dev_private;
+	int ret = 0;
+
+	atomic_store_rel_long(&sc->periodic_flags, PERIODIC_GO);
+	bnx2x_interrupt_action(dev);
+	if (IS_PF(sc)) {
+		ret = rte_eal_alarm_set(BNX2X_SP_TIMER_PERIOD,
+					bnx2x_periodic_start, (void *)dev);
+		if (ret) {
+			PMD_DRV_LOG(ERR, "Unable to start periodic"
+					 " timer rc %d", ret);
+			assert(false && "Unable to start periodic timer");
+		}
+	}
+}
+
+void bnx2x_periodic_stop(void *param)
+{
+	struct rte_eth_dev *dev = (struct rte_eth_dev *)param;
+	struct bnx2x_softc *sc = dev->data->dev_private;
+
+	atomic_store_rel_long(&sc->periodic_flags, PERIODIC_STOP);
+
+	rte_eal_alarm_cancel(bnx2x_periodic_start, (void *)dev);
+}
+
 /*
  * Devops - helper functions can be called from user application
  */
@@ -187,6 +222,10 @@ bnx2x_dev_start(struct rte_eth_dev *dev)
 
 	PMD_INIT_FUNC_TRACE();
 
+	/* start the periodic callout */
+	if (sc->periodic_flags & PERIODIC_STOP)
+		bnx2x_periodic_start(dev);
+
 	ret = bnx2x_init(sc);
 	if (ret) {
 		PMD_DRV_LOG(DEBUG, "bnx2x_init failed (%d)", ret);
@@ -227,6 +266,9 @@ bnx2x_dev_stop(struct rte_eth_dev *dev)
 				bnx2x_interrupt_handler, (void *)dev);
 	}
 
+	/* stop the periodic callout */
+	bnx2x_periodic_stop(dev);
+
 	ret = bnx2x_nic_unload(sc, UNLOAD_NORMAL, FALSE);
 	if (ret) {
 		PMD_DRV_LOG(DEBUG, "bnx2x_nic_unload failed (%d)", ret);
@@ -309,20 +351,16 @@ bnx2x_dev_link_update(struct rte_eth_dev *dev, __rte_unused int wait_to_complete
 {
 	PMD_INIT_FUNC_TRACE();
 
-	int old_link_status = dev->data->dev_link.link_status;
-
-	bnx2x_link_update(dev);
-
-	return old_link_status == dev->data->dev_link.link_status ? -1 : 0;
+	return bnx2x_link_update(dev);
 }
 
 static int
 bnx2xvf_dev_link_update(struct rte_eth_dev *dev, __rte_unused int wait_to_complete)
 {
-	int old_link_status = dev->data->dev_link.link_status;
 	struct bnx2x_softc *sc = dev->data->dev_private;
+	int ret = 0;
 
-	bnx2x_link_update(dev);
+	ret = bnx2x_link_update(dev);
 
 	bnx2x_check_bull(sc);
 	if (sc->old_bulletin.valid_bitmap & (1 << CHANNEL_DOWN)) {
@@ -331,7 +369,7 @@ bnx2xvf_dev_link_update(struct rte_eth_dev *dev, __rte_unused int wait_to_comple
 		dev->data->dev_link.link_status = ETH_LINK_DOWN;
 	}
 
-	return old_link_status == dev->data->dev_link.link_status ? -1 : 0;
+	return ret;
 }
 
 static int
@@ -585,6 +623,17 @@ bnx2x_common_dev_init(struct rte_eth_dev *eth_dev, int is_vf)
 		return ret;
 	}
 
+	/* schedule periodic poll for slowpath link events */
+	if (IS_PF(sc)) {
+		ret = rte_eal_alarm_set(BNX2X_SP_TIMER_PERIOD,
+					bnx2x_periodic_start, (void *)eth_dev);
+		if (ret) {
+			PMD_DRV_LOG(ERR, "Unable to start periodic"
+					  " timer rc %d", ret);
+			return -EINVAL;
+		}
+	}
+
 	eth_dev->data->mac_addrs = (struct ether_addr *)sc->link_params.mac_addr;
 
 	PMD_DRV_LOG(INFO, "pcie_bus=%d, pcie_device=%d",
@@ -599,18 +648,20 @@ bnx2x_common_dev_init(struct rte_eth_dev *eth_dev, int is_vf)
 	if (IS_VF(sc)) {
 		rte_spinlock_init(&sc->vf2pf_lock);
 
-		if (bnx2x_dma_alloc(sc, sizeof(struct bnx2x_vf_mbx_msg),
-				    &sc->vf2pf_mbox_mapping, "vf2pf_mbox",
-				    RTE_CACHE_LINE_SIZE) != 0)
-			return -ENOMEM;
+		ret = bnx2x_dma_alloc(sc, sizeof(struct bnx2x_vf_mbx_msg),
+				      &sc->vf2pf_mbox_mapping, "vf2pf_mbox",
+				      RTE_CACHE_LINE_SIZE);
+		if (ret)
+			goto out;
 
 		sc->vf2pf_mbox = (struct bnx2x_vf_mbx_msg *)
 					 sc->vf2pf_mbox_mapping.vaddr;
 
-		if (bnx2x_dma_alloc(sc, sizeof(struct bnx2x_vf_bulletin),
-				    &sc->pf2vf_bulletin_mapping, "vf2pf_bull",
-				    RTE_CACHE_LINE_SIZE) != 0)
-			return -ENOMEM;
+		ret = bnx2x_dma_alloc(sc, sizeof(struct bnx2x_vf_bulletin),
+				      &sc->pf2vf_bulletin_mapping, "vf2pf_bull",
+				      RTE_CACHE_LINE_SIZE);
+		if (ret)
+			goto out;
 
 		sc->pf2vf_bulletin = (struct bnx2x_vf_bulletin *)
 					     sc->pf2vf_bulletin_mapping.vaddr;
@@ -618,10 +669,14 @@ bnx2x_common_dev_init(struct rte_eth_dev *eth_dev, int is_vf)
 		ret = bnx2x_vf_get_resources(sc, sc->max_tx_queues,
 					     sc->max_rx_queues);
 		if (ret)
-			return ret;
+			goto out;
 	}
 
 	return 0;
+
+out:
+	bnx2x_periodic_stop(eth_dev);
+	return ret;
 }
 
 static int
diff --git a/drivers/net/bnx2x/bnx2x_ethdev.h b/drivers/net/bnx2x/bnx2x_ethdev.h
index f05be7ee1..5f9169d10 100644
--- a/drivers/net/bnx2x/bnx2x_ethdev.h
+++ b/drivers/net/bnx2x/bnx2x_ethdev.h
@@ -58,7 +58,6 @@
 #define wmb()   rte_wmb()
 #define rmb()   rte_rmb()
 
-
 #define MAX_QUEUES sysconf(_SC_NPROCESSORS_CONF)
 
 #define BNX2X_MIN_RX_BUF_SIZE 1024
@@ -72,6 +71,8 @@
 /* Maximum number of Rx packets to process at a time */
 #define BNX2X_RX_BUDGET 0xffffffff
 
+#define BNX2X_SP_TIMER_PERIOD US_PER_S /* 1 second */
+
 #endif
 
 /* MAC address operations */
-- 
2.17.1

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

* [dpdk-stable] patch 'net/dpaa2: remove loop for unused pool entries' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (20 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnx2x: fix poll link status' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx4: check RSS queues number limitation' " Christian Ehrhardt
                   ` (24 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Gavin Hu; +Cc: Honnappa Nagarahalli, Shreyansh Jain, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 89861471ad75f2267f3e574155d867426907b251 Mon Sep 17 00:00:00 2001
From: Gavin Hu <gavin.hu@arm.com>
Date: Tue, 31 Jul 2018 15:51:37 +0800
Subject: [PATCH] net/dpaa2: remove loop for unused pool entries

[ upstream commit e94be227b7ea025d8fd0ee5d79052a8c31d432c6 ]

Currently only one buffer pool is configured and in use,
looping for up to maxmum 8 times is unnecessary and might
be buggy as assigned uninititalized values.

The fix is to loop for the configured times with initialize
with valid values.

Fixes: 16bbc98a3e ("bus/fslmc: update MC to 10.3.x")

Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
---
 drivers/net/dpaa2/mc/dpni.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/dpaa2/mc/dpni.c b/drivers/net/dpaa2/mc/dpni.c
index 69cf119ce..9f228169a 100644
--- a/drivers/net/dpaa2/mc/dpni.c
+++ b/drivers/net/dpaa2/mc/dpni.c
@@ -198,7 +198,7 @@ int dpni_set_pools(struct fsl_mc_io *mc_io,
 					  token);
 	cmd_params = (struct dpni_cmd_set_pools *)cmd.params;
 	cmd_params->num_dpbp = cfg->num_dpbp;
-	for (i = 0; i < DPNI_MAX_DPBP; i++) {
+	for (i = 0; i < cmd_params->num_dpbp; i++) {
 		cmd_params->pool[i].dpbp_id =
 			cpu_to_le16(cfg->pools[i].dpbp_id);
 		cmd_params->pool[i].priority_mask =
-- 
2.17.1

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

* [dpdk-stable] patch 'net/mlx4: check RSS queues number limitation' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (21 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/dpaa2: remove loop for unused pool entries' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx4: avoid stripping the glue library' " Christian Ehrhardt
                   ` (23 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Moti Haimovsky; +Cc: Matan Azrad, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 0fdc12d793e1331be2f4eaa0c1be11712dd6c3ec Mon Sep 17 00:00:00 2001
From: Moti Haimovsky <motih@mellanox.com>
Date: Wed, 25 Jul 2018 17:47:39 +0300
Subject: [PATCH] net/mlx4: check RSS queues number limitation

[ upstream commit 2b4e423fd4c9ed5b0a4d1a0962f4af653b7324c5 ]

This patch verifies that the number of Rx queues configured for RSS
is supported by the device hardware.
RSS support in mlx4 requires contiguous chunk of QPs to be reserved,
there is a hardware limitation on the amount of contiguous QPs which
is reported by the hardware. Ignoring this value will cause Rx queues
creation to fail.

Signed-off-by: Moti Haimovsky <motih@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
---
 drivers/net/mlx4/mlx4.c     | 3 +++
 drivers/net/mlx4/mlx4.h     | 1 +
 drivers/net/mlx4/mlx4_rxq.c | 6 ++++++
 3 files changed, 10 insertions(+)

diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c
index d151a9055..7cbe1e734 100644
--- a/drivers/net/mlx4/mlx4.c
+++ b/drivers/net/mlx4/mlx4.c
@@ -673,6 +673,9 @@ mlx4_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
 						   &device_attr_ex);
 		DEBUG("supported RSS hash fields mask: %016" PRIx64,
 		      priv->hw_rss_sup);
+		priv->hw_rss_max_qps =
+			device_attr_ex.rss_caps.max_rwq_indirection_table_size;
+		DEBUG("MAX RSS queues %d", priv->hw_rss_max_qps);
 		priv->hw_fcs_strip = !!(device_attr_ex.raw_packet_caps &
 					IBV_RAW_PACKET_CAP_SCATTER_FCS);
 		DEBUG("FCS stripping toggling is %ssupported",
diff --git a/drivers/net/mlx4/mlx4.h b/drivers/net/mlx4/mlx4.h
index 300cb4d7a..2f8ea3c4c 100644
--- a/drivers/net/mlx4/mlx4.h
+++ b/drivers/net/mlx4/mlx4.h
@@ -90,6 +90,7 @@ struct priv {
 	uint32_t hw_csum:1; /**< Checksum offload is supported. */
 	uint32_t hw_csum_l2tun:1; /**< Checksum support for L2 tunnels. */
 	uint32_t hw_fcs_strip:1; /**< FCS stripping toggling is supported. */
+	uint32_t hw_rss_max_qps; /**< Max Rx Queues supported by RSS. */
 	uint64_t hw_rss_sup; /**< Supported RSS hash fields (Verbs format). */
 	struct rte_intr_handle intr_handle; /**< Port interrupt handle. */
 	struct mlx4_drop *drop; /**< Shared resources for drop flow rules. */
diff --git a/drivers/net/mlx4/mlx4_rxq.c b/drivers/net/mlx4/mlx4_rxq.c
index 87688c1c7..e0867040f 100644
--- a/drivers/net/mlx4/mlx4_rxq.c
+++ b/drivers/net/mlx4/mlx4_rxq.c
@@ -338,6 +338,12 @@ mlx4_rss_init(struct priv *priv)
 
 	if (priv->rss_init)
 		return 0;
+	if (priv->dev->data->nb_rx_queues > priv->hw_rss_max_qps) {
+		ERROR("RSS does not support more than %d queues",
+		      priv->hw_rss_max_qps);
+		rte_errno = EINVAL;
+		return -rte_errno;
+	}
 	/* Prepare range for RSS contexts before creating the first WQ. */
 	ret = mlx4_glue->dv_set_context_attr
 		(priv->ctx,
-- 
2.17.1

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

* [dpdk-stable] patch 'net/mlx4: avoid stripping the glue library' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (22 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx4: check RSS queues number limitation' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx5: " Christian Ehrhardt
                   ` (22 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Timothy Redaelli; +Cc: Luca Boccassi, Christian Ehrhardt, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 40515f20fcca24255d8a2e2720d052b8732b9bb5 Mon Sep 17 00:00:00 2001
From: Timothy Redaelli <tredaelli@redhat.com>
Date: Tue, 31 Jul 2018 15:15:27 +0200
Subject: [PATCH] net/mlx4: avoid stripping the glue library

[ upstream commit d7a4e99d84f961c72eca7541e090cc3f43b60fb8 ]

Stripping binaries at build time is usually a bad thing since it makes
impossible to generate (split) debug symbols and this can lead to a more
difficult debugging.

Fixes: 27cea11686ff ("net/mlx4: spawn rdma-core dependency plug-in")

Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
---
 drivers/net/mlx4/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/mlx4/Makefile b/drivers/net/mlx4/Makefile
index 73f9d4056..75a93ca2c 100644
--- a/drivers/net/mlx4/Makefile
+++ b/drivers/net/mlx4/Makefile
@@ -110,7 +110,7 @@ endif
 $(LIB_GLUE): mlx4_glue.o
 	$Q $(LD) $(GLUE_LDFLAGS) $(EXTRA_LDFLAGS) \
 		-Wl,-h,$(LIB_GLUE) \
-		-s -shared -o $@ $< -libverbs -lmlx4
+		-shared -o $@ $< -libverbs -lmlx4
 
 mlx4_glue.o: mlx4_autoconf.h
 
-- 
2.17.1

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

* [dpdk-stable] patch 'net/mlx5: avoid stripping the glue library' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (23 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx4: avoid stripping the glue library' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx4: advertise Rx jumbo frame support' " Christian Ehrhardt
                   ` (21 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Timothy Redaelli; +Cc: Luca Boccassi, Christian Ehrhardt, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From fa31a37f8e127f0c6721daef4a55cd560d80c358 Mon Sep 17 00:00:00 2001
From: Timothy Redaelli <tredaelli@redhat.com>
Date: Tue, 31 Jul 2018 15:15:28 +0200
Subject: [PATCH] net/mlx5: avoid stripping the glue library

[ upstream commit c7684b6be4977e7d343b17f798192062b312461d ]

Stripping binaries at build time is usually a bad thing since it makes
impossible to generate (split) debug symbols and this can lead to a more
difficult debugging.

Fixes: 59b91bec12c6 ("net/mlx5: spawn rdma-core dependency plug-in")

Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
---
 drivers/net/mlx5/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/Makefile b/drivers/net/mlx5/Makefile
index 03bbfc309..552ab1dfd 100644
--- a/drivers/net/mlx5/Makefile
+++ b/drivers/net/mlx5/Makefile
@@ -177,7 +177,7 @@ endif
 $(LIB_GLUE): mlx5_glue.o
 	$Q $(LD) $(GLUE_LDFLAGS) $(EXTRA_LDFLAGS) \
 		-Wl,-h,$(LIB_GLUE) \
-		-s -shared -o $@ $< -libverbs -lmlx5
+		-shared -o $@ $< -libverbs -lmlx5
 
 mlx5_glue.o: mlx5_autoconf.h
 
-- 
2.17.1

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

* [dpdk-stable] patch 'net/mlx4: advertise Rx jumbo frame support' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (24 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx5: " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx5: fix secondary process resource leakage' " Christian Ehrhardt
                   ` (20 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Moti Haimovsky; +Cc: Matan Azrad, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 366393d9f264a9872a4ffb29762c5511ea12e8ab Mon Sep 17 00:00:00 2001
From: Moti Haimovsky <motih@mellanox.com>
Date: Tue, 31 Jul 2018 19:13:06 +0300
Subject: [PATCH] net/mlx4: advertise Rx jumbo frame support

[ upstream commit ff9fe66c9714f1bd0440b264067d3c37de9e2ec9 ]

This commit adds the missing Rx jumbo frame support advertisement
in Rx offload capabilities.

Signed-off-by: Moti Haimovsky <motih@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
---
 drivers/net/mlx4/mlx4_rxq.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/mlx4/mlx4_rxq.c b/drivers/net/mlx4/mlx4_rxq.c
index e0867040f..ffe61793d 100644
--- a/drivers/net/mlx4/mlx4_rxq.c
+++ b/drivers/net/mlx4/mlx4_rxq.c
@@ -678,7 +678,8 @@ uint64_t
 mlx4_get_rx_queue_offloads(struct priv *priv)
 {
 	uint64_t offloads = DEV_RX_OFFLOAD_SCATTER |
-			    DEV_RX_OFFLOAD_CRC_STRIP;
+			    DEV_RX_OFFLOAD_CRC_STRIP |
+			    DEV_RX_OFFLOAD_JUMBO_FRAME;
 
 	if (priv->hw_csum)
 		offloads |= DEV_RX_OFFLOAD_CHECKSUM;
-- 
2.17.1

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

* [dpdk-stable] patch 'net/mlx5: fix secondary process resource leakage' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (25 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx4: advertise Rx jumbo frame support' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/i40e: fix device parameter parsing' " Christian Ehrhardt
                   ` (19 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Ophir Munk; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From e5716b6ec6a3f8fe0490b7ccb8e450dda7a465ce Mon Sep 17 00:00:00 2001
From: Ophir Munk <ophirmu@mellanox.com>
Date: Tue, 31 Jul 2018 22:38:04 +0000
Subject: [PATCH] net/mlx5: fix secondary process resource leakage

[ upstream commit 09e0fd260e2e414134154b6e0e955c8424b51c0a ]

When running testpmd with an mlx5 device and then executing at testpmd
prompt in a raw: "port start all" followed by "port stop all"
a new file named /var/tmp/net_mlx5_<socket num> is created as a result
of creating a new unix domain socket (used for communication between
the primary and secondary processes).
When the new unix socket file is created the old unix socket file should
have been removed. This commit fixes it by closing the old unix socket
just before creating the new one in function mlx5_socket_init()

Fixes: f8b9a3bad467 ("net/mlx5: install a socket to exchange a file descriptor")

Signed-off-by: Ophir Munk <ophirmu@mellanox.com>
---
 drivers/net/mlx5/mlx5_socket.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/net/mlx5/mlx5_socket.c b/drivers/net/mlx5/mlx5_socket.c
index 99297d5c4..a3a522911 100644
--- a/drivers/net/mlx5/mlx5_socket.c
+++ b/drivers/net/mlx5/mlx5_socket.c
@@ -35,6 +35,12 @@ mlx5_socket_init(struct rte_eth_dev *dev)
 	int ret;
 	int flags;
 
+	/*
+	 * Close the last socket that was used to communicate
+	 * with the secondary process
+	 */
+	if (priv->primary_socket)
+		mlx5_socket_uninit(dev);
 	/*
 	 * Initialise the socket to communicate with the secondary
 	 * process.
-- 
2.17.1

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

* [dpdk-stable] patch 'net/i40e: fix device parameter parsing' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (26 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx5: fix secondary process resource leakage' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/i40e: fix rearm check in AVX2 Rx' " Christian Ehrhardt
                   ` (18 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Beilei Xing; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 4b757363fadbb5688038d5d30b712aa4918bbd47 Mon Sep 17 00:00:00 2001
From: Beilei Xing <beilei.xing@intel.com>
Date: Thu, 26 Jul 2018 10:19:15 +0800
Subject: [PATCH] net/i40e: fix device parameter parsing

[ upstream commit 33310b592f4157073186cfcf4a21da35d25ee405 ]

There's parsing error when using device argument
support-multi-driver or queue-num-per-vf or both.
Error log is "PMD: Error parsing device, invalid
key <support-multi-driver>" and "PMD: Error parsing
device, invalid key <queue-num-per-vf>". The root
cause is that device argument will be parsed in
different parsing functions with local valid key .
This patch fixes the issue by combine all supported
arguments's valid keys.

Fixes: cfdfca493cae ("net/i40e: fix multiple driver support")
Fixes: ee653bd80044 ("net/i40e: determine number of queues per VF at run time")

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

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 4702c9379..bbd80ccd1 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -42,6 +42,8 @@
 
 #define ETH_I40E_FLOATING_VEB_ARG	"enable_floating_veb"
 #define ETH_I40E_FLOATING_VEB_LIST_ARG	"floating_veb_list"
+#define ETH_I40E_SUPPORT_MULTI_DRIVER	"support-multi-driver"
+#define ETH_I40E_QUEUE_NUM_PER_VF_ARG	"queue-num-per-vf"
 
 #define I40E_CLEAR_PXE_WAIT_MS     200
 
@@ -401,6 +403,13 @@ static void i40e_notify_all_vfs_link_status(struct rte_eth_dev *dev);
 int i40e_logtype_init;
 int i40e_logtype_driver;
 
+static const char *const valid_keys[] = {
+	ETH_I40E_FLOATING_VEB_ARG,
+	ETH_I40E_FLOATING_VEB_LIST_ARG,
+	ETH_I40E_SUPPORT_MULTI_DRIVER,
+	ETH_I40E_QUEUE_NUM_PER_VF_ARG,
+	NULL};
+
 static const struct rte_pci_id pci_id_i40e_map[] = {
 	{ RTE_PCI_DEVICE(I40E_INTEL_VENDOR_ID, I40E_DEV_ID_SFP_XL710) },
 	{ RTE_PCI_DEVICE(I40E_INTEL_VENDOR_ID, I40E_DEV_ID_QEMU) },
@@ -849,7 +858,7 @@ config_vf_floating_veb(struct rte_devargs *devargs,
 	if (devargs == NULL)
 		return;
 
-	kvlist = rte_kvargs_parse(devargs->args, NULL);
+	kvlist = rte_kvargs_parse(devargs->args, valid_keys);
 	if (kvlist == NULL)
 		return;
 
@@ -890,7 +899,7 @@ is_floating_veb_supported(struct rte_devargs *devargs)
 	if (devargs == NULL)
 		return 0;
 
-	kvlist = rte_kvargs_parse(devargs->args, NULL);
+	kvlist = rte_kvargs_parse(devargs->args, valid_keys);
 	if (kvlist == NULL)
 		return 0;
 
@@ -1097,8 +1106,6 @@ i40e_init_queue_region_conf(struct rte_eth_dev *dev)
 	memset(info, 0, sizeof(struct i40e_queue_regions));
 }
 
-#define ETH_I40E_SUPPORT_MULTI_DRIVER	"support-multi-driver"
-
 static int
 i40e_parse_multi_drv_handler(__rte_unused const char *key,
 			       const char *value,
@@ -1130,9 +1137,8 @@ static int
 i40e_support_multi_driver(struct rte_eth_dev *dev)
 {
 	struct i40e_pf *pf = I40E_DEV_PRIVATE_TO_PF(dev->data->dev_private);
-	static const char *const valid_keys[] = {
-		ETH_I40E_SUPPORT_MULTI_DRIVER, NULL};
 	struct rte_kvargs *kvlist;
+	int kvargs_count;
 
 	/* Enable global configuration by default */
 	pf->support_multi_driver = false;
@@ -1144,7 +1150,13 @@ i40e_support_multi_driver(struct rte_eth_dev *dev)
 	if (!kvlist)
 		return -EINVAL;
 
-	if (rte_kvargs_count(kvlist, ETH_I40E_SUPPORT_MULTI_DRIVER) > 1)
+	kvargs_count = rte_kvargs_count(kvlist, ETH_I40E_SUPPORT_MULTI_DRIVER);
+	if (!kvargs_count) {
+		rte_kvargs_free(kvlist);
+		return 0;
+	}
+
+	if (kvargs_count > 1)
 		PMD_DRV_LOG(WARNING, "More than one argument \"%s\" and only "
 			    "the first invalid or last valid one is used !",
 			    ETH_I40E_SUPPORT_MULTI_DRIVER);
@@ -4356,7 +4368,6 @@ i40e_get_cap(struct i40e_hw *hw)
 }
 
 #define RTE_LIBRTE_I40E_QUEUE_NUM_PER_VF	4
-#define QUEUE_NUM_PER_VF_ARG			"queue-num-per-vf"
 
 static int i40e_pf_parse_vf_queue_number_handler(const char *key,
 		const char *value,
@@ -4390,9 +4401,9 @@ static int i40e_pf_parse_vf_queue_number_handler(const char *key,
 
 static int i40e_pf_config_vf_rxq_number(struct rte_eth_dev *dev)
 {
-	static const char * const valid_keys[] = {QUEUE_NUM_PER_VF_ARG, NULL};
 	struct i40e_pf *pf = I40E_DEV_PRIVATE_TO_PF(dev->data->dev_private);
 	struct rte_kvargs *kvlist;
+	int kvargs_count;
 
 	/* set default queue number per VF as 4 */
 	pf->vf_nb_qp_max = RTE_LIBRTE_I40E_QUEUE_NUM_PER_VF;
@@ -4404,12 +4415,18 @@ static int i40e_pf_config_vf_rxq_number(struct rte_eth_dev *dev)
 	if (kvlist == NULL)
 		return -(EINVAL);
 
-	if (rte_kvargs_count(kvlist, QUEUE_NUM_PER_VF_ARG) > 1)
+	kvargs_count = rte_kvargs_count(kvlist, ETH_I40E_QUEUE_NUM_PER_VF_ARG);
+	if (!kvargs_count) {
+		rte_kvargs_free(kvlist);
+		return 0;
+	}
+
+	if (kvargs_count > 1)
 		PMD_DRV_LOG(WARNING, "More than one argument \"%s\" and only "
 			    "the first invalid or last valid one is used !",
-			    QUEUE_NUM_PER_VF_ARG);
+			    ETH_I40E_QUEUE_NUM_PER_VF_ARG);
 
-	rte_kvargs_process(kvlist, QUEUE_NUM_PER_VF_ARG,
+	rte_kvargs_process(kvlist, ETH_I40E_QUEUE_NUM_PER_VF_ARG,
 			   i40e_pf_parse_vf_queue_number_handler, pf);
 
 	rte_kvargs_free(kvlist);
@@ -12492,5 +12509,7 @@ i40e_init_log(void)
 }
 
 RTE_PMD_REGISTER_PARAM_STRING(net_i40e,
-			      QUEUE_NUM_PER_VF_ARG "=1|2|4|8|16"
+			      ETH_I40E_FLOATING_VEB_ARG "=1"
+			      ETH_I40E_FLOATING_VEB_LIST_ARG "=<string>"
+			      ETH_I40E_QUEUE_NUM_PER_VF_ARG "=1|2|4|8|16"
 			      ETH_I40E_SUPPORT_MULTI_DRIVER "=1");
-- 
2.17.1

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

* [dpdk-stable] patch 'net/i40e: fix rearm check in AVX2 Rx' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (27 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/i40e: fix device parameter parsing' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/i40e: revert fix of flow director check' " Christian Ehrhardt
                   ` (17 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Harry van Haaren; +Cc: David Coyle, Brendan Ryan, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 430b9e8217ad4ea38450d6b31e0768e9c4ad5ed3 Mon Sep 17 00:00:00 2001
From: Harry van Haaren <harry.van.haaren@intel.com>
Date: Mon, 30 Jul 2018 18:34:19 +0100
Subject: [PATCH] net/i40e: fix rearm check in AVX2 Rx

[ upstream commit f5dd9a88dedd54fa89a25c9a10d39f3abe31e5c2 ]

This commit fixes an infinite loop bug that could occur
if the i40e AVX2 driver is used, and high traffic rates
cause the mempool from which the rxq pulls mbufs to become
empty.

The result would be an infinite loop of checking if we
should perform an rx rearm, calling the function and an
error return due the the mempool being emtpy.

The fix is to align the code in the AVX2 driver with the
SSE driver, where an if() is used instead of a while(),
allowing the thread to return from i40e rx function even
if the mempool is empty.

Fixes: dafadd73762e ("net/i40e: add AVX2 Rx function")

Reported-by: David Coyle <david.coyle@intel.com>
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Brendan Ryan <brendan.ryan@intel.com>
Tested-by: David Coyle <david.coyle@intel.com>
---
 drivers/net/i40e/i40e_rxtx_vec_avx2.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/i40e/i40e_rxtx_vec_avx2.c b/drivers/net/i40e/i40e_rxtx_vec_avx2.c
index dbcb61f38..23179b3b8 100644
--- a/drivers/net/i40e/i40e_rxtx_vec_avx2.c
+++ b/drivers/net/i40e/i40e_rxtx_vec_avx2.c
@@ -188,7 +188,7 @@ _recv_raw_pkts_vec_avx2(struct i40e_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 	/* See if we need to rearm the RX queue - gives the prefetch a bit
 	 * of time to act
 	 */
-	while (rxq->rxrearm_nb > RTE_I40E_RXQ_REARM_THRESH)
+	if (rxq->rxrearm_nb > RTE_I40E_RXQ_REARM_THRESH)
 		i40e_rxq_rearm(rxq);
 
 	/* Before we start moving massive data around, check to see if
-- 
2.17.1

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

* [dpdk-stable] patch 'net/i40e: revert fix of flow director check' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (28 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/i40e: fix rearm check in AVX2 Rx' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/avf: fix offload capabilities' " Christian Ehrhardt
                   ` (16 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Wei Zhao; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From e4a983a61f83018064825ab0ba7e4222a65ae02b Mon Sep 17 00:00:00 2001
From: Wei Zhao <wei.zhao1@intel.com>
Date: Wed, 1 Aug 2018 10:54:50 +0800
Subject: [PATCH] net/i40e: revert fix of flow director check

[ upstream commit 21ecd2d7ab59060e3123261d1d62a53182029dd0 ]

This reverts commit 7546dc4a1331340ecb665af9af0a005bb8b657c8.

In i40e FDIR PMD code for checking programming status,
when the action of add FDIR filter is ok, i40e NIC will
not write back to programming status descriptor, so if
PMD code check DD is not done after period of time dealy,
it means the add or remove filter action is ok. It only write
back descriptor when fail. So, there is no issue for the original
code.

Fixes: 7546dc4a1331 ("net/i40e: fix check of flow director programming status")

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/i40e/i40e_fdir.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/net/i40e/i40e_fdir.c b/drivers/net/i40e/i40e_fdir.c
index 7140237a0..a4a61d1c3 100644
--- a/drivers/net/i40e/i40e_fdir.c
+++ b/drivers/net/i40e/i40e_fdir.c
@@ -1361,8 +1361,6 @@ i40e_check_fdir_programming_status(struct i40e_rx_queue *rxq)
 			I40E_PCI_REG_WRITE(rxq->qrx_tail, rxq->nb_rx_desc - 1);
 		else
 			I40E_PCI_REG_WRITE(rxq->qrx_tail, rxq->rx_tail - 1);
-	} else {
-		ret = -1;
 	}
 
 	return ret;
-- 
2.17.1

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

* [dpdk-stable] patch 'net/avf: fix offload capabilities' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (29 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/i40e: revert fix of flow director check' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'vhost: flush IOTLB cache on new mem table handling' " Christian Ehrhardt
                   ` (15 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Xiaoyun Li; +Cc: Wenzhuo Lu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 2723470a43da054c51e52751fe7f9e1e95dffed2 Mon Sep 17 00:00:00 2001
From: Xiaoyun Li <xiaoyun.li@intel.com>
Date: Wed, 25 Jul 2018 15:14:30 +0800
Subject: [PATCH] net/avf: fix offload capabilities

[ upstream commit 5ce4c2be1a64962364742dcc8fde14f76716abf2 ]

There are several tx/rx offload capabilities missing in AVF.
Add them in this patch since AVF supports them.

Fixes: 69dd4c3d0898 ("net/avf: enable queue and device")

Signed-off-by: Xiaoyun Li <xiaoyun.li@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 drivers/net/avf/avf_ethdev.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/drivers/net/avf/avf_ethdev.c b/drivers/net/avf/avf_ethdev.c
index ad83a57e0..b96ba1d5a 100644
--- a/drivers/net/avf/avf_ethdev.c
+++ b/drivers/net/avf/avf_ethdev.c
@@ -518,16 +518,29 @@ avf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 	dev_info->max_mac_addrs = AVF_NUM_MACADDR_MAX;
 	dev_info->rx_offload_capa =
 		DEV_RX_OFFLOAD_VLAN_STRIP |
+		DEV_RX_OFFLOAD_QINQ_STRIP |
 		DEV_RX_OFFLOAD_IPV4_CKSUM |
 		DEV_RX_OFFLOAD_UDP_CKSUM |
-		DEV_RX_OFFLOAD_TCP_CKSUM;
+		DEV_RX_OFFLOAD_TCP_CKSUM |
+		DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM |
+		DEV_RX_OFFLOAD_CRC_STRIP |
+		DEV_RX_OFFLOAD_SCATTER |
+		DEV_RX_OFFLOAD_JUMBO_FRAME |
+		DEV_RX_OFFLOAD_VLAN_FILTER;
 	dev_info->tx_offload_capa =
 		DEV_TX_OFFLOAD_VLAN_INSERT |
+		DEV_TX_OFFLOAD_QINQ_INSERT |
 		DEV_TX_OFFLOAD_IPV4_CKSUM |
 		DEV_TX_OFFLOAD_UDP_CKSUM |
 		DEV_TX_OFFLOAD_TCP_CKSUM |
 		DEV_TX_OFFLOAD_SCTP_CKSUM |
-		DEV_TX_OFFLOAD_TCP_TSO;
+		DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM |
+		DEV_TX_OFFLOAD_TCP_TSO |
+		DEV_TX_OFFLOAD_VXLAN_TNL_TSO |
+		DEV_TX_OFFLOAD_GRE_TNL_TSO |
+		DEV_TX_OFFLOAD_IPIP_TNL_TSO |
+		DEV_TX_OFFLOAD_GENEVE_TNL_TSO |
+		DEV_TX_OFFLOAD_MULTI_SEGS;
 
 	dev_info->default_rxconf = (struct rte_eth_rxconf) {
 		.rx_free_thresh = AVF_DEFAULT_RX_FREE_THRESH,
-- 
2.17.1

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

* [dpdk-stable] patch 'vhost: flush IOTLB cache on new mem table handling' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (30 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/avf: fix offload capabilities' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/bonding: fix race condition' " Christian Ehrhardt
                   ` (14 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Maxime Coquelin; +Cc: Tiwei Bie, Jens Freimann, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From db31cb32bca97b40ee3d590d8a438734e99dfd0d Mon Sep 17 00:00:00 2001
From: Maxime Coquelin <maxime.coquelin@redhat.com>
Date: Thu, 2 Aug 2018 19:21:22 +0200
Subject: [PATCH] vhost: flush IOTLB cache on new mem table handling

[ upstream commit af53db486792f3d864c9a30dc13ee12402994640 ]

IOTLB entries contain the host virtual address of the guest
pages. When receiving a new VHOST_USER_SET_MEM_TABLE request,
the previous regions get unmapped, so the IOTLB entries, if any,
will be invalid. It does cause the vhost-user process to
segfault.

This patch introduces a new function to flush the IOTLB cache,
and call it as soon as the backend handles a VHOST_USER_SET_MEM
request.

Fixes: 69c90e98f483 ("vhost: enable IOMMU support")

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
Reviewed-by: Jens Freimann <jfreimann@redhat.com>
---
 lib/librte_vhost/iotlb.c      | 10 ++++++++--
 lib/librte_vhost/iotlb.h      |  2 +-
 lib/librte_vhost/vhost_user.c |  5 +++++
 3 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/lib/librte_vhost/iotlb.c b/lib/librte_vhost/iotlb.c
index c11ebcaac..c6354fef7 100644
--- a/lib/librte_vhost/iotlb.c
+++ b/lib/librte_vhost/iotlb.c
@@ -303,6 +303,13 @@ out:
 	return vva;
 }
 
+void
+vhost_user_iotlb_flush_all(struct vhost_virtqueue *vq)
+{
+	vhost_user_iotlb_cache_remove_all(vq);
+	vhost_user_iotlb_pending_remove_all(vq);
+}
+
 int
 vhost_user_iotlb_init(struct virtio_net *dev, int vq_index)
 {
@@ -315,8 +322,7 @@ vhost_user_iotlb_init(struct virtio_net *dev, int vq_index)
 		 * The cache has already been initialized,
 		 * just drop all cached and pending entries.
 		 */
-		vhost_user_iotlb_cache_remove_all(vq);
-		vhost_user_iotlb_pending_remove_all(vq);
+		vhost_user_iotlb_flush_all(vq);
 	}
 
 #ifdef RTE_LIBRTE_VHOST_NUMA
diff --git a/lib/librte_vhost/iotlb.h b/lib/librte_vhost/iotlb.h
index e7083e37b..60b9e4c57 100644
--- a/lib/librte_vhost/iotlb.h
+++ b/lib/librte_vhost/iotlb.h
@@ -73,7 +73,7 @@ void vhost_user_iotlb_pending_insert(struct vhost_virtqueue *vq, uint64_t iova,
 						uint8_t perm);
 void vhost_user_iotlb_pending_remove(struct vhost_virtqueue *vq, uint64_t iova,
 						uint64_t size, uint8_t perm);
-
+void vhost_user_iotlb_flush_all(struct vhost_virtqueue *vq);
 int vhost_user_iotlb_init(struct virtio_net *dev, int vq_index);
 
 #endif /* _VHOST_IOTLB_H_ */
diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
index 947290fc3..683b99d33 100644
--- a/lib/librte_vhost/vhost_user.c
+++ b/lib/librte_vhost/vhost_user.c
@@ -751,6 +751,11 @@ vhost_user_set_mem_table(struct virtio_net **pdev, struct VhostUserMsg *pmsg)
 		dev->mem = NULL;
 	}
 
+	/* Flush IOTLB cache as previous HVAs are now invalid */
+	if (dev->features & (1ULL << VIRTIO_F_IOMMU_PLATFORM))
+		for (i = 0; i < dev->nr_vring; i++)
+			vhost_user_iotlb_flush_all(dev->virtqueue[i]);
+
 	dev->nr_guest_pages = 0;
 	if (!dev->guest_pages) {
 		dev->max_guest_pages = 8;
-- 
2.17.1

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

* [dpdk-stable] patch 'net/bonding: fix race condition' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (31 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'vhost: flush IOTLB cache on new mem table handling' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx5: preserve promiscuous flag for flow isolation mode' " Christian Ehrhardt
                   ` (13 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Radu Nicolau; +Cc: Chas Williams, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From f10ba4166f288571cf8a5dec884bacaee54f4171 Mon Sep 17 00:00:00 2001
From: Radu Nicolau <radu.nicolau@intel.com>
Date: Wed, 25 Jul 2018 10:39:40 +0100
Subject: [PATCH] net/bonding: fix race condition

[ upstream commit 5922ff069fb910946f97780754ad4b66b987d5b6 ]

Race condition can appear in the bond_mode_8023ad_periodic_cb()
callback when bonding port is stopped, reconfigured and restarted.

Re-ordered calls in bond_ethdev_start() to have callback alarm set
after slave ports are reconfigured.

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

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

diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index b0f820c0d..bd959c94c 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -2057,10 +2057,6 @@ bond_ethdev_start(struct rte_eth_dev *eth_dev)
 		}
 	}
 
-	/* Update all slave devices MACs*/
-	if (mac_address_slaves_update(eth_dev) != 0)
-		goto out_err;
-
 	/* If bonded device is configure in promiscuous mode then re-apply config */
 	if (internals->promiscuous_en)
 		bond_ethdev_promiscuous_enable(eth_dev);
@@ -2101,6 +2097,10 @@ bond_ethdev_start(struct rte_eth_dev *eth_dev)
 			(void *)&rte_eth_devices[internals->port_id]);
 	}
 
+	/* Update all slave devices MACs*/
+	if (mac_address_slaves_update(eth_dev) != 0)
+		goto out_err;
+
 	if (internals->user_defined_primary_port)
 		bond_ethdev_primary_set(internals, internals->primary_port);
 
-- 
2.17.1

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

* [dpdk-stable] patch 'net/mlx5: preserve promiscuous flag for flow isolation mode' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (32 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/bonding: fix race condition' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx5: preserve allmulticast " Christian Ehrhardt
                   ` (12 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Yongseok Koh; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 38b9617cc522f4ac0192d0b2372ba280b14233fc Mon Sep 17 00:00:00 2001
From: Yongseok Koh <yskoh@mellanox.com>
Date: Thu, 2 Aug 2018 14:06:31 -0700
Subject: [PATCH] net/mlx5: preserve promiscuous flag for flow isolation mode

[ upstream commit 24b068ad71229139f74a1c45bd45dcf9f4611f89 ]

mlx5_dev_ops_isolate doesn't have APIs for enabling/disabling promiscuous
mode as it can't be enabled in flow isolation mode. If the function
pointers are null, librte APIs such as rte_eth_promiscuous_enable/disable()
fail to set the flag (dev->data->promiscuous). The flag is used when
starting traffic by mlx5_traffic_enable(). When switching out of flow
isolation mode, promiscuous mode will not be set even though it has been
enabled.

Fixes: 0887aa7f27f3 ("net/mlx5: add new operations for isolated mode")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
---
 drivers/net/mlx5/mlx5.c        |  2 ++
 drivers/net/mlx5/mlx5_rxmode.c | 13 +++++++++++--
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c
index bd2a5b9c1..187a01463 100644
--- a/drivers/net/mlx5/mlx5.c
+++ b/drivers/net/mlx5/mlx5.c
@@ -370,6 +370,8 @@ const struct eth_dev_ops mlx5_dev_ops_isolate = {
 	.dev_set_link_down = mlx5_set_link_down,
 	.dev_set_link_up = mlx5_set_link_up,
 	.dev_close = mlx5_dev_close,
+	.promiscuous_enable = mlx5_promiscuous_enable,
+	.promiscuous_disable = mlx5_promiscuous_disable,
 	.link_update = mlx5_link_update,
 	.stats_get = mlx5_stats_get,
 	.stats_reset = mlx5_stats_reset,
diff --git a/drivers/net/mlx5/mlx5_rxmode.c b/drivers/net/mlx5/mlx5_rxmode.c
index 80824bc43..3c0373bb4 100644
--- a/drivers/net/mlx5/mlx5_rxmode.c
+++ b/drivers/net/mlx5/mlx5_rxmode.c
@@ -32,10 +32,18 @@
 void
 mlx5_promiscuous_enable(struct rte_eth_dev *dev)
 {
+	struct priv *priv = dev->data->dev_private;
 	int ret;
 
 	dev->data->promiscuous = 1;
-	if (((struct priv *)dev->data->dev_private)->config.vf)
+	if (priv->isolated) {
+		DRV_LOG(WARNING,
+			"port %u cannot enable promiscuous mode"
+			" in flow isolation mode",
+			dev->data->port_id);
+		return;
+	}
+	if (priv->config.vf)
 		mlx5_nl_promisc(dev, 1);
 	ret = mlx5_traffic_restart(dev);
 	if (ret)
@@ -52,10 +60,11 @@ mlx5_promiscuous_enable(struct rte_eth_dev *dev)
 void
 mlx5_promiscuous_disable(struct rte_eth_dev *dev)
 {
+	struct priv *priv = dev->data->dev_private;
 	int ret;
 
 	dev->data->promiscuous = 0;
-	if (((struct priv *)dev->data->dev_private)->config.vf)
+	if (priv->config.vf)
 		mlx5_nl_promisc(dev, 0);
 	ret = mlx5_traffic_restart(dev);
 	if (ret)
-- 
2.17.1

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

* [dpdk-stable] patch 'net/mlx5: preserve allmulticast flag for flow isolation mode' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (33 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx5: preserve promiscuous flag for flow isolation mode' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'event: fix ring init failure handling' " Christian Ehrhardt
                   ` (11 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Yongseok Koh; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From f79da6b446da14335581a094bf98b9509884f62d Mon Sep 17 00:00:00 2001
From: Yongseok Koh <yskoh@mellanox.com>
Date: Thu, 2 Aug 2018 14:06:32 -0700
Subject: [PATCH] net/mlx5: preserve allmulticast flag for flow isolation mode

[ upstream commit 2547ee74580d376a680729567dae8bc757fba438 ]

mlx5_dev_ops_isolate doesn't have APIs for enabling/disabling allmulti
mode as it can't be enabled in flow isolation mode. If the function
pointers are null, librte APIs such as
rte_eth_allmulticast_enable/disable() fail to set the flag
(dev->data->all_multicast). The flag is used when starting traffic by
mlx5_traffic_enable(). When switching out of flow isolation mode, allmulti
mode will not be set even though it has been enabled.

Fixes: 0887aa7f27f3 ("net/mlx5: add new operations for isolated mode")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
---
 drivers/net/mlx5/mlx5.c        |  2 ++
 drivers/net/mlx5/mlx5_rxmode.c | 13 +++++++++++--
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c
index 187a01463..72fe9fcee 100644
--- a/drivers/net/mlx5/mlx5.c
+++ b/drivers/net/mlx5/mlx5.c
@@ -372,6 +372,8 @@ const struct eth_dev_ops mlx5_dev_ops_isolate = {
 	.dev_close = mlx5_dev_close,
 	.promiscuous_enable = mlx5_promiscuous_enable,
 	.promiscuous_disable = mlx5_promiscuous_disable,
+	.allmulticast_enable = mlx5_allmulticast_enable,
+	.allmulticast_disable = mlx5_allmulticast_disable,
 	.link_update = mlx5_link_update,
 	.stats_get = mlx5_stats_get,
 	.stats_reset = mlx5_stats_reset,
diff --git a/drivers/net/mlx5/mlx5_rxmode.c b/drivers/net/mlx5/mlx5_rxmode.c
index 3c0373bb4..e74fdef8b 100644
--- a/drivers/net/mlx5/mlx5_rxmode.c
+++ b/drivers/net/mlx5/mlx5_rxmode.c
@@ -81,10 +81,18 @@ mlx5_promiscuous_disable(struct rte_eth_dev *dev)
 void
 mlx5_allmulticast_enable(struct rte_eth_dev *dev)
 {
+	struct priv *priv = dev->data->dev_private;
 	int ret;
 
 	dev->data->all_multicast = 1;
-	if (((struct priv *)dev->data->dev_private)->config.vf)
+	if (priv->isolated) {
+		DRV_LOG(WARNING,
+			"port %u cannot enable allmulticast mode"
+			" in flow isolation mode",
+			dev->data->port_id);
+		return;
+	}
+	if (priv->config.vf)
 		mlx5_nl_allmulti(dev, 1);
 	ret = mlx5_traffic_restart(dev);
 	if (ret)
@@ -101,10 +109,11 @@ mlx5_allmulticast_enable(struct rte_eth_dev *dev)
 void
 mlx5_allmulticast_disable(struct rte_eth_dev *dev)
 {
+	struct priv *priv = dev->data->dev_private;
 	int ret;
 
 	dev->data->all_multicast = 0;
-	if (((struct priv *)dev->data->dev_private)->config.vf)
+	if (priv->config.vf)
 		mlx5_nl_allmulti(dev, 0);
 	ret = mlx5_traffic_restart(dev);
 	if (ret)
-- 
2.17.1

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

* [dpdk-stable] patch 'event: fix ring init failure handling' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (34 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx5: preserve allmulticast " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'app/crypto-perf: fix auth IV offset' " Christian Ehrhardt
                   ` (10 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Harry van Haaren; +Cc: Jerin Jacob, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 3ecf5f23f9e6ddbeb50f2384e673a9ffa6a932fa Mon Sep 17 00:00:00 2001
From: Harry van Haaren <harry.van.haaren@intel.com>
Date: Thu, 2 Aug 2018 15:43:29 +0100
Subject: [PATCH] event: fix ring init failure handling

[ upstream commit 219ae4a12995e5a8ee5e184655a37dd4ee96bf25 ]

This commit fixes a bug in a 32-bit environment where the
generic ring_init() would fail, but given the interaction
with memzones the next iteration of the event_ring_autotest
would actually *pass* because the ring in question would
exist already an be looked-up.

This commit rightly error checks the result of ring_init(),
and calls rte_free() on the memory as required.

Fixes: dc39e2f359b5 ("eventdev: add ring structure for events")

Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 lib/librte_eventdev/rte_event_ring.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/lib/librte_eventdev/rte_event_ring.c b/lib/librte_eventdev/rte_event_ring.c
index eb67751dc..16d02a953 100644
--- a/lib/librte_eventdev/rte_event_ring.c
+++ b/lib/librte_eventdev/rte_event_ring.c
@@ -82,11 +82,16 @@ rte_event_ring_create(const char *name, unsigned int count, int socket_id,
 	mz = rte_memzone_reserve(mz_name, ring_size, socket_id, mz_flags);
 	if (mz != NULL) {
 		r = mz->addr;
-		/*
-		 * no need to check return value here, we already checked the
-		 * arguments above
-		 */
-		rte_event_ring_init(r, name, requested_count, flags);
+		/* Check return value in case rte_ring_init() fails on size */
+		int err = rte_event_ring_init(r, name, requested_count, flags);
+		if (err) {
+			RTE_LOG(ERR, RING, "Ring init failed\n");
+			if (rte_memzone_free(mz) != 0)
+				RTE_LOG(ERR, RING, "Cannot free memzone\n");
+			rte_free(te);
+			rte_rwlock_write_unlock(RTE_EAL_TAILQ_RWLOCK);
+			return NULL;
+		}
 
 		te->data = (void *) r;
 		r->r.memzone = mz;
-- 
2.17.1

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

* [dpdk-stable] patch 'app/crypto-perf: fix auth IV offset' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (35 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'event: fix ring init failure handling' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'eal: fix bitmap documentation' " Christian Ehrhardt
                   ` (9 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Pablo de Lara; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 3eb717eb7c0b8cdb79554859d00f79055667c051 Mon Sep 17 00:00:00 2001
From: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Date: Thu, 2 Aug 2018 09:44:39 +0100
Subject: [PATCH] app/crypto-perf: fix auth IV offset

[ upstream commit 7925c6be2a738051bb2fc2b4be4be9a5a5c412a1 ]

Auth IV offset was not being set when creating the crypto session.

Fixes: acf8616901b5 ("cryptodev: add auth IV")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 app/test-crypto-perf/cperf_ops.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/app/test-crypto-perf/cperf_ops.c b/app/test-crypto-perf/cperf_ops.c
index 8f320099d..44808f50a 100644
--- a/app/test-crypto-perf/cperf_ops.c
+++ b/app/test-crypto-perf/cperf_ops.c
@@ -514,6 +514,7 @@ cperf_create_session(struct rte_mempool *sess_mp,
 		auth_xform.next = NULL;
 		auth_xform.auth.algo = options->auth_algo;
 		auth_xform.auth.op = options->auth_op;
+		auth_xform.auth.iv.offset = iv_offset;
 
 		/* auth different than null */
 		if (options->auth_algo != RTE_CRYPTO_AUTH_NULL) {
@@ -568,6 +569,8 @@ cperf_create_session(struct rte_mempool *sess_mp,
 		auth_xform.next = NULL;
 		auth_xform.auth.algo = options->auth_algo;
 		auth_xform.auth.op = options->auth_op;
+		auth_xform.auth.iv.offset = iv_offset +
+			cipher_xform.cipher.iv.length;
 
 		/* auth different than null */
 		if (options->auth_algo != RTE_CRYPTO_AUTH_NULL) {
-- 
2.17.1

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

* [dpdk-stable] patch 'eal: fix bitmap documentation' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (36 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'app/crypto-perf: fix auth IV offset' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'examples/flow_filtering: add flow director config for i40e' " Christian Ehrhardt
                   ` (8 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Jerin Jacob; +Cc: Cristian Dumitrescu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From a9042c468f648997fc7536cc02bee4f52246e780 Mon Sep 17 00:00:00 2001
From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Date: Tue, 17 Jul 2018 22:44:17 +0530
Subject: [PATCH] eal: fix bitmap documentation

[ upstream commit ebaa25f0700e95063d783911d30c476a1c86d336 ]

n_bits comes as first argument, align doxygen comment.

n_bit need to not be multiple of 512 as n_bits
are rounding to RTE_BITMAP_CL_BIT_SIZE.

Fixes: 14456f59e9f7 ("doc: fix doxygen warnings in QoS API")
Fixes: de3cfa2c9823 ("sched: initial import")

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
---
 lib/librte_eal/common/include/rte_bitmap.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/lib/librte_eal/common/include/rte_bitmap.h b/lib/librte_eal/common/include/rte_bitmap.h
index 7d4935fcc..d9facc642 100644
--- a/lib/librte_eal/common/include/rte_bitmap.h
+++ b/lib/librte_eal/common/include/rte_bitmap.h
@@ -198,12 +198,12 @@ rte_bitmap_get_memory_footprint(uint32_t n_bits) {
 /**
  * Bitmap initialization
  *
- * @param mem_size
- *   Minimum expected size of bitmap.
+ * @param n_bits
+ *   Number of pre-allocated bits in array2.
  * @param mem
  *   Base address of array1 and array2.
- * @param n_bits
- *   Number of pre-allocated bits in array2. Must be non-zero and multiple of 512.
+ * @param mem_size
+ *   Minimum expected size of bitmap.
  * @return
  *   Handle to bitmap instance.
  */
-- 
2.17.1

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

* [dpdk-stable] patch 'examples/flow_filtering: add flow director config for i40e' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (37 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'eal: fix bitmap documentation' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 12:08   ` Xu, Rosen
  2018-08-14 11:06 ` [dpdk-stable] patch 'hash: fix doxygen of return values' " Christian Ehrhardt
                   ` (7 subsequent siblings)
  46 siblings, 1 reply; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Rosen Xu; +Cc: Ori Kam, Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 0fd2f90f51b1c8a4cc2370c71bc04e78d9df0cef Mon Sep 17 00:00:00 2001
From: Rosen Xu <rosen.xu@intel.com>
Date: Tue, 31 Jul 2018 20:52:40 +0800
Subject: [PATCH] examples/flow_filtering: add flow director config for i40e

[ upstream commit 9a93446a0e8c7e95504ff0bfd26d139a8c1ef320 ]

Rte_fdir_conf of rte_eth_conf should be initialized before
port initialization. It is a workaround solution when working
with Intel I40e.

Fixes: 4a3ef59a10c8 ("examples/flow_filtering: add simple demo of flow API")

Signed-off-by: Rosen Xu <rosen.xu@intel.com>
Acked-by: Ori Kam <orika@mellanox.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 examples/flow_filtering/main.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/examples/flow_filtering/main.c b/examples/flow_filtering/main.c
index e0ee51679..9980a3ad5 100644
--- a/examples/flow_filtering/main.c
+++ b/examples/flow_filtering/main.c
@@ -133,6 +133,22 @@ init_port(void)
 				DEV_TX_OFFLOAD_SCTP_CKSUM  |
 				DEV_TX_OFFLOAD_TCP_TSO,
 		},
+		/*
+		 * Initialize fdir_conf of rte_eth_conf.
+		 * Fdir is used in flow filtering for I40e,
+		 * so rte_flow rules involve some fdir
+		 * configurations. In long term it's better
+		 * that drivers don't require any fdir
+		 * configuration for rte_flow, but we need to
+		 * get this workaround so that sample app can
+		 * run on I40e.
+		 */
+		.fdir_conf = {
+			.mode = RTE_FDIR_MODE_PERFECT,
+			.pballoc = RTE_FDIR_PBALLOC_64K,
+			.status = RTE_FDIR_REPORT_STATUS,
+			.drop_queue = 127,
+		},
 	};
 	struct rte_eth_txconf txq_conf;
 	struct rte_eth_rxconf rxq_conf;
-- 
2.17.1

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

* [dpdk-stable] patch 'hash: fix doxygen of return values' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (38 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'examples/flow_filtering: add flow director config for i40e' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/tap: fix zeroed flow mask configurations' " Christian Ehrhardt
                   ` (6 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Pablo de Lara; +Cc: Petr Houska, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 8ade816d20b07670a2e8f3f595b710d0a0f36b96 Mon Sep 17 00:00:00 2001
From: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Date: Tue, 7 Aug 2018 03:00:04 +0100
Subject: [PATCH] hash: fix doxygen of return values

[ upstream commit f9975d333a8d51e4c15961f56a554914288768aa ]

rte_hash_lookup_data() and rte_hash_lookup_with_hash_data()
functions return the index of the table where the key is stored
when this is found, and not 0 as the Doxygen currently states.

Also, these functions, and rte_hash_get_key_with_position()
return negative values when keys are not found (-EINVAL and -ENOENT),
where the minus sign was missing.

Bugzilla ID: 78
Fixes: 473d1bebce43 ("hash: allow to store data in hash table")
Fixes: 6dc34e0afe7a ("hash: retrieve a key given its position")

Reported-by: Petr Houska <t-pehous@microsoft.com>
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 lib/librte_hash/rte_hash.h | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/lib/librte_hash/rte_hash.h b/lib/librte_hash/rte_hash.h
index f71ca9fbf..ed5c134b1 100644
--- a/lib/librte_hash/rte_hash.h
+++ b/lib/librte_hash/rte_hash.h
@@ -254,8 +254,8 @@ rte_hash_del_key_with_hash(const struct rte_hash *h, const void *key, hash_sig_t
  *   Output containing a pointer to the key
  * @return
  *   - 0 if retrieved successfully
- *   - EINVAL if the parameters are invalid.
- *   - ENOENT if no valid key is found in the given position.
+ *   - -EINVAL if the parameters are invalid.
+ *   - -ENOENT if no valid key is found in the given position.
  */
 int
 rte_hash_get_key_with_position(const struct rte_hash *h, const int32_t position,
@@ -272,9 +272,11 @@ rte_hash_get_key_with_position(const struct rte_hash *h, const int32_t position,
  * @param data
  *   Output with pointer to data returned from the hash table.
  * @return
- *   0 if successful lookup
- *   - EINVAL if the parameters are invalid.
- *   - ENOENT if the key is not found.
+ *   - A positive value that can be used by the caller as an offset into an
+ *     array of user data. This value is unique for this key, and is the same
+ *     value that was returned when the key was added.
+ *   - -EINVAL if the parameters are invalid.
+ *   - -ENOENT if the key is not found.
  */
 int
 rte_hash_lookup_data(const struct rte_hash *h, const void *key, void **data);
@@ -293,9 +295,11 @@ rte_hash_lookup_data(const struct rte_hash *h, const void *key, void **data);
  * @param data
  *   Output with pointer to data returned from the hash table.
  * @return
- *   0 if successful lookup
- *   - EINVAL if the parameters are invalid.
- *   - ENOENT if the key is not found.
+ *   - A positive value that can be used by the caller as an offset into an
+ *     array of user data. This value is unique for this key, and is the same
+ *     value that was returned when the key was added.
+ *   - -EINVAL if the parameters are invalid.
+ *   - -ENOENT if the key is not found.
  */
 int
 rte_hash_lookup_with_hash_data(const struct rte_hash *h, const void *key,
-- 
2.17.1

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

* [dpdk-stable] patch 'net/tap: fix zeroed flow mask configurations' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (39 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'hash: fix doxygen of return values' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/qede: fix ntuple filter configuration' " Christian Ehrhardt
                   ` (5 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Matan Azrad; +Cc: Adrien Mazarguil, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 7a30ead394d74ccaa3d5d46bafa9025b9ea1fd32 Mon Sep 17 00:00:00 2001
From: Matan Azrad <matan@mellanox.com>
Date: Mon, 6 Aug 2018 10:58:47 +0000
Subject: [PATCH] net/tap: fix zeroed flow mask configurations

[ upstream commit 4278f8df470fa76259ed8d1fd52d4995d9fb6557 ]

The rte_flow meaning of zero flow mask configuration is to match all
the range of the item value.
For example, the flow eth / ipv4 dst spec 1.2.3.4 dst mask 0.0.0.0
should much all the ipv4 traffic from the rte_flow API perspective.

>From some kernel perspectives the above rule means to ignore all the
ipv4 traffic (e.g. Ubuntu 16.04, 4.15.10).

Due to the fact that the tap PMD should provide the rte_flow meaning,
it is necessary to ignore the spec in case the mask is zero when it
forwards such like flows to the kernel.
So, the above rule should be translated to eth / ipv4 to get the
correct meaning.

Ignore spec configurations when the mask is zero.

Fixes: de96fe68ae95 ("net/tap: add basic flow API patterns and actions")

Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
---
 drivers/net/tap/tap_flow.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/net/tap/tap_flow.c b/drivers/net/tap/tap_flow.c
index 6b60e6dc5..0e01af62a 100644
--- a/drivers/net/tap/tap_flow.c
+++ b/drivers/net/tap/tap_flow.c
@@ -537,7 +537,7 @@ tap_flow_create_eth(const struct rte_flow_item *item, void *data)
 	if (!flow)
 		return 0;
 	msg = &flow->msg;
-	if (!is_zero_ether_addr(&spec->dst)) {
+	if (!is_zero_ether_addr(&mask->dst)) {
 		tap_nlattr_add(&msg->nh, TCA_FLOWER_KEY_ETH_DST, ETHER_ADDR_LEN,
 			   &spec->dst.addr_bytes);
 		tap_nlattr_add(&msg->nh,
@@ -651,13 +651,13 @@ tap_flow_create_ipv4(const struct rte_flow_item *item, void *data)
 		info->eth_type = htons(ETH_P_IP);
 	if (!spec)
 		return 0;
-	if (spec->hdr.dst_addr) {
+	if (mask->hdr.dst_addr) {
 		tap_nlattr_add32(&msg->nh, TCA_FLOWER_KEY_IPV4_DST,
 			     spec->hdr.dst_addr);
 		tap_nlattr_add32(&msg->nh, TCA_FLOWER_KEY_IPV4_DST_MASK,
 			     mask->hdr.dst_addr);
 	}
-	if (spec->hdr.src_addr) {
+	if (mask->hdr.src_addr) {
 		tap_nlattr_add32(&msg->nh, TCA_FLOWER_KEY_IPV4_SRC,
 			     spec->hdr.src_addr);
 		tap_nlattr_add32(&msg->nh, TCA_FLOWER_KEY_IPV4_SRC_MASK,
@@ -707,13 +707,13 @@ tap_flow_create_ipv6(const struct rte_flow_item *item, void *data)
 		info->eth_type = htons(ETH_P_IPV6);
 	if (!spec)
 		return 0;
-	if (memcmp(spec->hdr.dst_addr, empty_addr, 16)) {
+	if (memcmp(mask->hdr.dst_addr, empty_addr, 16)) {
 		tap_nlattr_add(&msg->nh, TCA_FLOWER_KEY_IPV6_DST,
 			   sizeof(spec->hdr.dst_addr), &spec->hdr.dst_addr);
 		tap_nlattr_add(&msg->nh, TCA_FLOWER_KEY_IPV6_DST_MASK,
 			   sizeof(mask->hdr.dst_addr), &mask->hdr.dst_addr);
 	}
-	if (memcmp(spec->hdr.src_addr, empty_addr, 16)) {
+	if (memcmp(mask->hdr.src_addr, empty_addr, 16)) {
 		tap_nlattr_add(&msg->nh, TCA_FLOWER_KEY_IPV6_SRC,
 			   sizeof(spec->hdr.src_addr), &spec->hdr.src_addr);
 		tap_nlattr_add(&msg->nh, TCA_FLOWER_KEY_IPV6_SRC_MASK,
@@ -762,10 +762,10 @@ tap_flow_create_udp(const struct rte_flow_item *item, void *data)
 	tap_nlattr_add8(&msg->nh, TCA_FLOWER_KEY_IP_PROTO, IPPROTO_UDP);
 	if (!spec)
 		return 0;
-	if (spec->hdr.dst_port & mask->hdr.dst_port)
+	if (mask->hdr.dst_port)
 		tap_nlattr_add16(&msg->nh, TCA_FLOWER_KEY_UDP_DST,
 			     spec->hdr.dst_port);
-	if (spec->hdr.src_port & mask->hdr.src_port)
+	if (mask->hdr.src_port)
 		tap_nlattr_add16(&msg->nh, TCA_FLOWER_KEY_UDP_SRC,
 			     spec->hdr.src_port);
 	return 0;
@@ -808,10 +808,10 @@ tap_flow_create_tcp(const struct rte_flow_item *item, void *data)
 	tap_nlattr_add8(&msg->nh, TCA_FLOWER_KEY_IP_PROTO, IPPROTO_TCP);
 	if (!spec)
 		return 0;
-	if (spec->hdr.dst_port & mask->hdr.dst_port)
+	if (mask->hdr.dst_port)
 		tap_nlattr_add16(&msg->nh, TCA_FLOWER_KEY_TCP_DST,
 			     spec->hdr.dst_port);
-	if (spec->hdr.src_port & mask->hdr.src_port)
+	if (mask->hdr.src_port)
 		tap_nlattr_add16(&msg->nh, TCA_FLOWER_KEY_TCP_SRC,
 			     spec->hdr.src_port);
 	return 0;
-- 
2.17.1

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

* [dpdk-stable] patch 'net/qede: fix ntuple filter configuration' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (40 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/tap: fix zeroed flow mask configurations' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'kni: fix crash with null name' " Christian Ehrhardt
                   ` (4 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Shahed Shaikh; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 9a161855fbff3e414bf95523ee445cd1a6eb57db Mon Sep 17 00:00:00 2001
From: Shahed Shaikh <shahed.shaikh@cavium.com>
Date: Tue, 7 Aug 2018 22:38:34 -0700
Subject: [PATCH] net/qede: fix ntuple filter configuration

[ upstream commit 10191fcd1a00d4dc55302d5f4abe97b5f3df0704 ]

PMD did not pass down the intended queue id while
configuring the ntuple filter.

Fixes: 622075356e8f ("net/qede: support ntuple and flow director filter")

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

diff --git a/drivers/net/qede/qede_fdir.c b/drivers/net/qede/qede_fdir.c
index 9d0b0526a..5cca2e2c0 100644
--- a/drivers/net/qede/qede_fdir.c
+++ b/drivers/net/qede/qede_fdir.c
@@ -465,5 +465,8 @@ int qede_ntuple_filter_conf(struct rte_eth_dev *eth_dev,
 		udpv4_flow->src_port = ntuple->src_port;
 		udpv4_flow->dst_port = ntuple->dst_port;
 	}
+
+	fdir_entry.action.rx_queue = ntuple->queue;
+
 	return qede_config_cmn_fdir_filter(eth_dev, &fdir_entry, add);
 }
-- 
2.17.1

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

* [dpdk-stable] patch 'kni: fix crash with null name' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (41 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'net/qede: fix ntuple filter configuration' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'kni: fix build on RHEL 7.5' " Christian Ehrhardt
                   ` (3 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Dan Gora; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From e24b0d4717786d14a1897b502b2e893c2842acdf Mon Sep 17 00:00:00 2001
From: Dan Gora <dg@adax.com>
Date: Thu, 28 Jun 2018 15:58:38 -0700
Subject: [PATCH] kni: fix crash with null name

[ upstream commit e716b639856cc4baa46bc6d5bc63bcc1d6bd9cf9 ]

Fix a segmentation fault which occurs when the kni_autotest is run
in the 'test' application.

This segmenation fault occurs when rte_kni_get() is called with a
NULL value for 'name'.

Fixes: 0c6bc8ef70ba ("kni: memzone pool for alloc and release")

Signed-off-by: Dan Gora <dg@adax.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 lib/librte_kni/rte_kni.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/librte_kni/rte_kni.c b/lib/librte_kni/rte_kni.c
index 8a8f6c1cc..65f6a2b03 100644
--- a/lib/librte_kni/rte_kni.c
+++ b/lib/librte_kni/rte_kni.c
@@ -715,6 +715,9 @@ rte_kni_get(const char *name)
 	struct rte_kni_memzone_slot *it;
 	struct rte_kni *kni;
 
+	if (name == NULL || name[0] == '\0')
+		return NULL;
+
 	/* Note: could be improved perf-wise if necessary */
 	for (i = 0; i < kni_memzone_pool.max_ifaces; i++) {
 		it = &kni_memzone_pool.slots[i];
-- 
2.17.1

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

* [dpdk-stable] patch 'kni: fix build on RHEL 7.5' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (42 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'kni: fix crash with null name' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'ethdev: fix a doxygen comment for port allocation' " Christian Ehrhardt
                   ` (2 subsequent siblings)
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Drocula Lambda; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 9fb76db4312c1ff0b19bc783e83595c1d66c90b5 Mon Sep 17 00:00:00 2001
From: Drocula Lambda <quzeyao@gmail.com>
Date: Thu, 9 Aug 2018 12:09:06 +0000
Subject: [PATCH] kni: fix build on RHEL 7.5

[ upstream commit 3639c91df43d7cfa29cf4d419a2c56c45f6fcf26 ]

This patch fixes compilation errors on Centos 7.5 when
CONFIG_RTE_KNI_KMOD_ETHTOOL is set to 'y'.
On RHEL75 ndo_change_mtu has changed to ndo_change_mtu_rh74.

See commit 37d477b6863e5c06 ("kni: fix build on RHEL 7.5")

Signed-off-by: Drocula Lambda <quzeyao@gmail.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 kernel/linux/kni/ethtool/igb/kcompat.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/kernel/linux/kni/ethtool/igb/kcompat.h b/kernel/linux/kni/ethtool/igb/kcompat.h
index 40a8d99ce..ae1b53093 100644
--- a/kernel/linux/kni/ethtool/igb/kcompat.h
+++ b/kernel/linux/kni/ethtool/igb/kcompat.h
@@ -3929,6 +3929,11 @@ skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type)
 #endif
 #endif
 
+#if (defined(RHEL_RELEASE_CODE) && \
+	(RHEL_RELEASE_VERSION(7, 5) <= RHEL_RELEASE_CODE))
+#define ndo_change_mtu ndo_change_mtu_rh74
+#endif
+
 #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0)
 #define HAVE_PCI_ENABLE_MSIX
 #endif
-- 
2.17.1

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

* [dpdk-stable] patch 'ethdev: fix a doxygen comment for port allocation' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (43 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'kni: fix build on RHEL 7.5' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'mk: fix permissions when using make install' " Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'maintainers: claim maintainership for ARM v7 and v8' " Christian Ehrhardt
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Rami Rosen; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 3eb73c07289e2ba1070193cae614cb250a3cf4b8 Mon Sep 17 00:00:00 2001
From: Rami Rosen <rami.rosen@intel.com>
Date: Sun, 5 Aug 2018 23:03:28 +0300
Subject: [PATCH] ethdev: fix a doxygen comment for port allocation

[ upstream commit 2da7f0146e47833215e68f2c658b4275b8d609fc ]

This patch fixes a doxygen comment of the rte_eth_dev_allocate()
method. There is no parameter named "type" for this
method; so this patch removes the doxygen comment about it.

Fixes: 6751f6deb798 ("ethdev: get rid of device type")

Signed-off-by: Rami Rosen <rami.rosen@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 lib/librte_ethdev/rte_ethdev_driver.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/lib/librte_ethdev/rte_ethdev_driver.h b/lib/librte_ethdev/rte_ethdev_driver.h
index c9c825e3f..f158462a0 100644
--- a/lib/librte_ethdev/rte_ethdev_driver.h
+++ b/lib/librte_ethdev/rte_ethdev_driver.h
@@ -38,7 +38,6 @@ struct rte_eth_dev *rte_eth_dev_allocated(const char *name);
  * to that slot for the driver to use.
  *
  * @param	name	Unique identifier name for each Ethernet device
- * @param	type	Device type of this Ethernet device
  * @return
  *   - Slot in the rte_dev_devices array for a new device;
  */
-- 
2.17.1

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

* [dpdk-stable] patch 'mk: fix permissions when using make install' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (44 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'ethdev: fix a doxygen comment for port allocation' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  2018-08-14 11:06 ` [dpdk-stable] patch 'maintainers: claim maintainership for ARM v7 and v8' " Christian Ehrhardt
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Thomas Monjalon, dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From b19e612c954645e858b5383908cc7d03e9d8efb1 Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Thu, 9 Aug 2018 16:22:35 +0100
Subject: [PATCH] mk: fix permissions when using make install

[ upstream commit 2a1a8a5f766a10ecb86514b7dbefd41694f7e47a ]

When using make install, the permissions of the resulting file should be
those of the user using make install, not those of the user who ran the
build. This would not be the case when a user explicitly runs:

   "make && sudo make install"

Fix this by changing "cp -a", which preserves all attributes, to
"cp -dR --preserve=timestamp", and by adding the flags
"--no-same-owner --no-same-permissions" to the calls to tar.

Fixes: 1fa0fd9d6b42 ("mk: allow to specify DESTDIR in build rule")
Fixes: 6b62a72a70d0 ("mk: install a standard cutomizable tree")
Fixes: 576de42b83e5 ("doc: render and install man pages")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
---
 mk/rte.sdkinstall.mk | 36 +++++++++++++++++++-----------------
 1 file changed, 19 insertions(+), 17 deletions(-)

diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk
index e756ec629..8296e6dbd 100644
--- a/mk/rte.sdkinstall.mk
+++ b/mk/rte.sdkinstall.mk
@@ -85,18 +85,22 @@ else
 	@echo Installation in $(DESTDIR)$(prefix)/ complete
 endif
 
+# when installing we want recursive copies preserving timestamps only, no
+# preservation of user/group ids or permissions
+CP_FLAGS=-dR --preserve=timestamps
+TAR_X_FLAGS=--strip-components=1 --keep-newer-files --no-same-owner --no-same-permissions
+
 install-runtime:
 	$(Q)$(call rte_mkdir, $(DESTDIR)$(libdir))
-	$(Q)cp -a    $O/lib/* $(DESTDIR)$(libdir)
+	$(Q)cp $(CP_FLAGS)    $O/lib/* $(DESTDIR)$(libdir)
 	$(Q)$(call rte_mkdir, $(DESTDIR)$(bindir))
 	$(Q)tar -cf -      -C $O --exclude 'app/*.map' \
 		--exclude app/dpdk-pmdinfogen \
 		--exclude 'app/cmdline*' --exclude app/test \
 		--exclude app/testacl --exclude app/testpipeline app | \
-	    tar -xf -      -C $(DESTDIR)$(bindir) --strip-components=1 \
-		--keep-newer-files
+	    tar -xf -      -C $(DESTDIR)$(bindir) $(TAR_X_FLAGS)
 	$(Q)$(call rte_mkdir,      $(DESTDIR)$(datadir))
-	$(Q)cp -a $(RTE_SDK)/usertools $(DESTDIR)$(datadir)
+	$(Q)cp $(CP_FLAGS) $(RTE_SDK)/usertools $(DESTDIR)$(datadir)
 	$(Q)$(call rte_mkdir,      $(DESTDIR)$(sbindir))
 	$(Q)$(call rte_symlink,    $(DESTDIR)$(datadir)/usertools/dpdk-devbind.py, \
 	                           $(DESTDIR)$(sbindir)/dpdk-devbind)
@@ -104,30 +108,29 @@ install-runtime:
 	                           $(DESTDIR)$(bindir)/dpdk-pmdinfo)
 ifneq ($(wildcard $O/doc/man/*/*.1),)
 	$(Q)$(call rte_mkdir,      $(DESTDIR)$(mandir)/man1)
-	$(Q)cp -a $O/doc/man/*/*.1 $(DESTDIR)$(mandir)/man1
+	$(Q)cp $(CP_FLAGS) $O/doc/man/*/*.1 $(DESTDIR)$(mandir)/man1
 endif
 ifneq ($(wildcard $O/doc/man/*/*.8),)
 	$(Q)$(call rte_mkdir,      $(DESTDIR)$(mandir)/man8)
-	$(Q)cp -a $O/doc/man/*/*.8 $(DESTDIR)$(mandir)/man8
+	$(Q)cp $(CP_FLAGS) $O/doc/man/*/*.8 $(DESTDIR)$(mandir)/man8
 endif
 
 install-kmod:
 ifneq ($(wildcard $O/kmod/*),)
 	$(Q)$(call rte_mkdir, $(DESTDIR)$(kerneldir))
-	$(Q)cp -a   $O/kmod/* $(DESTDIR)$(kerneldir)
+	$(Q)cp $(CP_FLAGS)   $O/kmod/* $(DESTDIR)$(kerneldir)
 endif
 
 install-sdk:
 	$(Q)$(call rte_mkdir, $(DESTDIR)$(includedir))
 	$(Q)tar -chf -     -C $O include | \
-	    tar -xf -      -C $(DESTDIR)$(includedir) --strip-components=1 \
-		--keep-newer-files
+	    tar -xf -      -C $(DESTDIR)$(includedir) $(TAR_X_FLAGS)
 	$(Q)$(call rte_mkdir,                            $(DESTDIR)$(sdkdir))
-	$(Q)cp -a               $(RTE_SDK)/mk            $(DESTDIR)$(sdkdir)
-	$(Q)cp -a               $(RTE_SDK)/buildtools    $(DESTDIR)$(sdkdir)
+	$(Q)cp $(CP_FLAGS)      $(RTE_SDK)/mk            $(DESTDIR)$(sdkdir)
+	$(Q)cp $(CP_FLAGS)      $(RTE_SDK)/buildtools    $(DESTDIR)$(sdkdir)
 	$(Q)$(call rte_mkdir,                            $(DESTDIR)$(targetdir)/app)
-	$(Q)cp -a               $O/.config               $(DESTDIR)$(targetdir)
-	$(Q)cp -a               $O/app/dpdk-pmdinfogen   $(DESTDIR)$(targetdir)/app
+	$(Q)cp $(CP_FLAGS)      $O/.config               $(DESTDIR)$(targetdir)
+	$(Q)cp $(CP_FLAGS)      $O/app/dpdk-pmdinfogen   $(DESTDIR)$(targetdir)/app
 	$(Q)$(call rte_symlink, $(DESTDIR)$(includedir), $(DESTDIR)$(targetdir)/include)
 	$(Q)$(call rte_symlink, $(DESTDIR)$(libdir),     $(DESTDIR)$(targetdir)/lib)
 
@@ -135,12 +138,11 @@ install-doc:
 ifneq ($(wildcard $O/doc/html),)
 	$(Q)$(call rte_mkdir, $(DESTDIR)$(docdir))
 	$(Q)tar -cf -      -C $O/doc --exclude 'html/guides/.*' html | \
-	    tar -xf -      -C $(DESTDIR)$(docdir) --strip-components=1 \
-		--keep-newer-files
+	    tar -xf -      -C $(DESTDIR)$(docdir) $(TAR_X_FLAGS)
 endif
 ifneq ($(wildcard $O/doc/*/*/*pdf),)
 	$(Q)$(call rte_mkdir,     $(DESTDIR)$(docdir)/guides)
-	$(Q)cp -a $O/doc/*/*/*pdf $(DESTDIR)$(docdir)/guides
+	$(Q)cp $(CP_FLAGS) $O/doc/*/*/*pdf $(DESTDIR)$(docdir)/guides
 endif
 	$(Q)$(call rte_mkdir,         $(DESTDIR)$(datadir))
-	$(Q)cp -a $(RTE_SDK)/examples $(DESTDIR)$(datadir)
+	$(Q)cp $(CP_FLAGS) $(RTE_SDK)/examples $(DESTDIR)$(datadir)
-- 
2.17.1

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

* [dpdk-stable] patch 'maintainers: claim maintainership for ARM v7 and v8' has been queued to stable release 18.05.1
  2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
                   ` (45 preceding siblings ...)
  2018-08-14 11:06 ` [dpdk-stable] patch 'mk: fix permissions when using make install' " Christian Ehrhardt
@ 2018-08-14 11:06 ` Christian Ehrhardt
  46 siblings, 0 replies; 49+ messages in thread
From: Christian Ehrhardt @ 2018-08-14 11:06 UTC (permalink / raw)
  To: Gavin Hu
  Cc: Song Zhu, Honnappa Nagarahalli, Jerin Jacob, Jan Viktorin,
	Jianbo Liu, Tomasz Duszynski, Dmitri Epshtein, Natalie Samsonov,
	dpdk stable

Hi,

FYI, your patch has been queued to stable release 18.05.1

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

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From f063d3517a37e0fb584253896a48cc22184dbefc Mon Sep 17 00:00:00 2001
From: Gavin Hu <gavin.hu@arm.com>
Date: Thu, 9 Aug 2018 09:58:03 +0800
Subject: [PATCH] maintainers: claim maintainership for ARM v7 and v8

[ upstream commit 94110dc0d8842bf72088250706b8483fad6edf48 ]

Claim the maintainership as Jianbo Liu is not working on this any more.
Aslo remove the co-maintainership for Marvel mvpp2 amd mrvl crypto driver
and doc.

Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Song Zhu <song.zhu@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 MAINTAINERS | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 18d649a7a..3b538d5b1 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -209,13 +209,13 @@ F: test/test/test_bitmap.c
 
 ARM v7
 M: Jan Viktorin <viktorin@rehivetech.com>
-M: Jianbo Liu <jianbo.liu@arm.com>
+M: Gavin Hu <gavin.hu@arm.com>
 F: lib/librte_eal/common/arch/arm/
 F: lib/librte_eal/common/include/arch/arm/
 
 ARM v8
 M: Jerin Jacob <jerin.jacob@caviumnetworks.com>
-M: Jianbo Liu <jianbo.liu@arm.com>
+M: Gavin Hu <gavin.hu@arm.com>
 F: lib/librte_eal/common/include/arch/arm/*_64.h
 F: lib/librte_net/net_crc_neon.h
 F: lib/librte_acl/acl_run_neon.*
@@ -570,7 +570,6 @@ Marvell mvpp2
 M: Tomasz Duszynski <tdu@semihalf.com>
 M: Dmitri Epshtein <dima@marvell.com>
 M: Natalie Samsonov <nsamsono@marvell.com>
-M: Jianbo Liu <jianbo.liu@arm.com>
 F: drivers/net/mvpp2/
 F: doc/guides/nics/mvpp2.rst
 F: doc/guides/nics/features/mvpp2.ini
@@ -782,7 +781,6 @@ Marvell Mrvl
 M: Tomasz Duszynski <tdu@semihalf.com>
 M: Dmitri Epshtein <dima@marvell.com>
 M: Natalie Samsonov <nsamsono@marvell.com>
-M: Jianbo Liu <jianbo.liu@arm.com>
 F: drivers/crypto/mvsam/
 F: doc/guides/cryptodevs/mvsam.rst
 F: doc/guides/cryptodevs/features/mvsam.ini
-- 
2.17.1

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

* Re: [dpdk-stable] patch 'examples/flow_filtering: add flow director config for i40e' has been queued to stable release 18.05.1
  2018-08-14 11:06 ` [dpdk-stable] patch 'examples/flow_filtering: add flow director config for i40e' " Christian Ehrhardt
@ 2018-08-14 12:08   ` Xu, Rosen
  0 siblings, 0 replies; 49+ messages in thread
From: Xu, Rosen @ 2018-08-14 12:08 UTC (permalink / raw)
  To: Christian Ehrhardt; +Cc: Ori Kam, Yigit, Ferruh, dpdk stable

Got, thanks Christian.

> -----Original Message-----
> From: Christian Ehrhardt [mailto:christian.ehrhardt@canonical.com]
> Sent: Tuesday, August 14, 2018 19:07
> To: Xu, Rosen <rosen.xu@intel.com>
> Cc: Ori Kam <orika@mellanox.com>; Yigit, Ferruh <ferruh.yigit@intel.com>;
> dpdk stable <stable@dpdk.org>
> Subject: patch 'examples/flow_filtering: add flow director config for i40e' has
> been queued to stable release 18.05.1
> 
> Hi,
> 
> FYI, your patch has been queued to stable release 18.05.1
> 
> Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
> It will be pushed if I get no objections before 08/16/18. So please shout if
> anyone has objections.
> 
> Thanks.
> 
> Christian Ehrhardt <christian.ehrhardt@canonical.com>
> 
> ---
> From 0fd2f90f51b1c8a4cc2370c71bc04e78d9df0cef Mon Sep 17 00:00:00
> 2001
> From: Rosen Xu <rosen.xu@intel.com>
> Date: Tue, 31 Jul 2018 20:52:40 +0800
> Subject: [PATCH] examples/flow_filtering: add flow director config for i40e
> 
> [ upstream commit 9a93446a0e8c7e95504ff0bfd26d139a8c1ef320 ]
> 
> Rte_fdir_conf of rte_eth_conf should be initialized before port initialization.
> It is a workaround solution when working with Intel I40e.
> 
> Fixes: 4a3ef59a10c8 ("examples/flow_filtering: add simple demo of flow API")
> 
> Signed-off-by: Rosen Xu <rosen.xu@intel.com>
> Acked-by: Ori Kam <orika@mellanox.com>
> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
> ---
>  examples/flow_filtering/main.c | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> diff --git a/examples/flow_filtering/main.c b/examples/flow_filtering/main.c
> index e0ee51679..9980a3ad5 100644
> --- a/examples/flow_filtering/main.c
> +++ b/examples/flow_filtering/main.c
> @@ -133,6 +133,22 @@ init_port(void)
>  				DEV_TX_OFFLOAD_SCTP_CKSUM  |
>  				DEV_TX_OFFLOAD_TCP_TSO,
>  		},
> +		/*
> +		 * Initialize fdir_conf of rte_eth_conf.
> +		 * Fdir is used in flow filtering for I40e,
> +		 * so rte_flow rules involve some fdir
> +		 * configurations. In long term it's better
> +		 * that drivers don't require any fdir
> +		 * configuration for rte_flow, but we need to
> +		 * get this workaround so that sample app can
> +		 * run on I40e.
> +		 */
> +		.fdir_conf = {
> +			.mode = RTE_FDIR_MODE_PERFECT,
> +			.pballoc = RTE_FDIR_PBALLOC_64K,
> +			.status = RTE_FDIR_REPORT_STATUS,
> +			.drop_queue = 127,
> +		},
>  	};
>  	struct rte_eth_txconf txq_conf;
>  	struct rte_eth_rxconf rxq_conf;
> --
> 2.17.1

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

end of thread, other threads:[~2018-08-14 12:09 UTC | newest]

Thread overview: 49+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' has been queued to stable release 18.05.1 Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'test: fix code on report' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'test: make autotest runner python 2/3 compliant' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'test: print autotest categories' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'test: improve filtering' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'mk: update targets for classified tests' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'mk: remove unnecessary test rules' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'test: fix uninitialized port configuration' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'app/testpmd: fix DCB config' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'latency: free up the memzone' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/octeontx: fix stop clearing Rx/Tx functions' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnxt: fix filter freeing' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnxt: fix memory leaks in NVM commands' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnxt: fix lock release on NVM write failure' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnxt: check access denied for HWRM commands' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnxt: fix RETA size' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/qede: fix interrupt handler unregister' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/qede/base: fix to clear HW indication' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/qede/base: fix GRC attention callback' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/qede: fix MAC address removal failure message' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnx2x: fix FW command timeout during stop' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnx2x: fix poll link status' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/dpaa2: remove loop for unused pool entries' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx4: check RSS queues number limitation' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx4: avoid stripping the glue library' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx5: " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx4: advertise Rx jumbo frame support' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx5: fix secondary process resource leakage' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/i40e: fix device parameter parsing' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/i40e: fix rearm check in AVX2 Rx' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/i40e: revert fix of flow director check' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/avf: fix offload capabilities' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'vhost: flush IOTLB cache on new mem table handling' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/bonding: fix race condition' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx5: preserve promiscuous flag for flow isolation mode' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx5: preserve allmulticast " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'event: fix ring init failure handling' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'app/crypto-perf: fix auth IV offset' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'eal: fix bitmap documentation' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'examples/flow_filtering: add flow director config for i40e' " Christian Ehrhardt
2018-08-14 12:08   ` Xu, Rosen
2018-08-14 11:06 ` [dpdk-stable] patch 'hash: fix doxygen of return values' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/tap: fix zeroed flow mask configurations' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/qede: fix ntuple filter configuration' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'kni: fix crash with null name' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'kni: fix build on RHEL 7.5' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'ethdev: fix a doxygen comment for port allocation' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'mk: fix permissions when using make install' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'maintainers: claim maintainership for ARM v7 and v8' " Christian Ehrhardt

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).