Mattias Rönnblom [Tue, 14 Jan 2020 18:03:38 +0000 (19:03 +0100)]
event/dsw: avoid credit leak on oversized enqueue bursts
If an application issues rte_event_enqueue_new_burst() or
rte_event_enqueue_forward_burst() call with a burst of events longer
than the configured max enqueue burst size, DSW allocates credits not
only for events actually enqueued, but for the complete burst. If this
process is repeated, enough credits will have leaked to cause the
event device to backpressure (i.e. disallow) any new enqueue
operations.
In addition, the port-level enqueue xstats will log the wrong number
of events enqueued for oversized enqueues.
This patch makes DSW gracefully handle oversized enqueue bursts.
Fixes:
1c8e3caa3bfb ("event/dsw: add event scheduling and device start/stop")
Cc: stable@dpdk.org
Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
Pavan Nikhilesh [Fri, 20 Dec 2019 14:27:41 +0000 (19:57 +0530)]
examples/l2fwd-event: fix event device config
Always enable implicit release since we don't support explicit release
in datapath.
Master lcore is used only for printing stats so don't allocate event
port for it.
Fix service launch for event device without distributed scheduling.
Fixes:
bcb6f841d42a ("examples/l2fwd-event: setup service core")
Cc: stable@dpdk.org
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Mattias Rönnblom [Tue, 17 Dec 2019 11:13:44 +0000 (12:13 +0100)]
event/dsw: flush buffers immediately on zero-sized enqueue
Fix DSW's rte_event_enqueue_burst(), so that a call with a zero-sized
event array immediately flushes the port's output buffers. Prior to
this patch, the flush operation would be deferred to the next enqueue
or dequeue call, which is inconsistent with DSW documentation.
Fixes:
1c8e3caa3bfb ("event/dsw: add event scheduling and device start/stop")
Cc: stable@dpdk.org
Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
Mattias Rönnblom [Thu, 12 Dec 2019 18:44:13 +0000 (19:44 +0100)]
event/dsw: add xstats query by name
Implement rte_event_dev_stats_by_name().
Suggested-by: Niclas Storm <niclas.storm@ericsson.com>
Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
Bruce Richardson [Fri, 10 Jan 2020 21:52:05 +0000 (21:52 +0000)]
doc: reduce indentation in meson build file
When building the API docs, we can make the meson.build file easier to
read, and allow more code per line, by using subdir_done() to quit early.
Cc: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Aaron Conole <aconole@redhat.com>
Acked-by: Luca Boccassi <bluca@debian.org>
Bruce Richardson [Fri, 10 Jan 2020 21:52:04 +0000 (21:52 +0000)]
doc: rebuild with meson whenever a file changes
Add proper support for calling sphinx whenever a file in the doc
directory changes. This is accomplished by using a wrapper script
for sphinx, which runs sphinx but also emits a gcc-format dependency
file listing all the doc files. This is used by ninja so that any
change to the doc files triggers a rebuild of the docs.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Aaron Conole <aconole@redhat.com>
Acked-by: Luca Boccassi <bluca@debian.org>
Bruce Richardson [Fri, 10 Jan 2020 21:52:03 +0000 (21:52 +0000)]
doc: reduce whitespace in meson build file
For building the guides, we can make the meson.build easier to read by
using the subdir_done function to quit early.
Cc: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Aaron Conole <aconole@redhat.com>
Acked-by: Luca Boccassi <bluca@debian.org>
Bruce Richardson [Fri, 10 Jan 2020 21:52:02 +0000 (21:52 +0000)]
doc: fix warning with meson
The install parameter to configure_file is new in 0.50 and generates a
warning since it is newer than our minimum version of 0.47.1. The
parameter, however, is unneeded as the documentation states:
"When omitted it defaults to true when install_dir is set and not empty,
false otherwise."
Given that install_dir is not set for this file, install defaults to false
so no need to explicitly specify it.
Fixes:
720b14db3ae2 ("build: generate API documentation with meson")
Cc: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Aaron Conole <aconole@redhat.com>
Acked-by: Luca Boccassi <bluca@debian.org>
Bruce Richardson [Fri, 10 Jan 2020 21:52:00 +0000 (21:52 +0000)]
kni: fix meson warning about console keyword
Since kni no longer includes the ethtool code and so is faster to build, we
no longer need the console parameter to have incremental screen updates as
it builds. Therefore, we drop the keyword which removes the warning.
Fixes:
b78f32cff94d ("kni: support meson build")
Cc: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Aaron Conole <aconole@redhat.com>
Acked-by: Luca Boccassi <bluca@debian.org>
Ruifeng Wang [Mon, 13 Jan 2020 06:26:06 +0000 (14:26 +0800)]
ci: add travis ci support for native aarch64
Add Travis compilation jobs for native aarch64. gcc/clang compilations
for static/shared libraries are added.
Some limitations for current aarch64 Travis support:
1. Container is used. Huge page is not available due to security reason.
2. Missing kernel header package in Xenial distribution.
Solutions to address the limitations:
1. Not to add unit test for now. And run tests with no-huge in future.
2. Use Bionic distribution for all aarch64 jobs.
Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
Acked-by: Aaron Conole <aconole@redhat.com>
Ruifeng Wang [Mon, 13 Jan 2020 06:26:05 +0000 (14:26 +0800)]
devtools: add path to additional shared object files
Drivers librte_mempool_ring.so and librte_pmd_null.so are loaded by
librte_eal.so when running testpmd.
In Ubuntu Xenial, driver path is installed to RPATH on testpmd. This
allows librte_eal.so to find drivers by using the RPATH.
However, in Ubuntu Bionic, driver path is installed to RUNPATH instead.
The RUNPATH on testpmd is not available by librte_eal.so and therefore
lead to driver load failure:
EAL: Detected 32 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: librte_mempool_ring.so: cannot open shared object file:
No such file or directory
EAL: FATAL: Cannot init plugins
EAL: Cannot init plugins
Add 'drivers' into LD_LIBRARY_PATH so that testpmd can find and make
use of these shared libraries.
Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
Acked-by: Aaron Conole <aconole@redhat.com>
Matan Azrad [Thu, 9 Jan 2020 11:00:17 +0000 (11:00 +0000)]
drivers: move ifc to vDPA directory
A new vDPA class was recently introduced.
IFC driver implements the vDPA operations,
hence it should be moved to the vDPA class.
Move it.
Signed-off-by: Matan Azrad <matan@mellanox.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Matan Azrad [Thu, 9 Jan 2020 11:00:16 +0000 (11:00 +0000)]
doc: add vDPA features table
Add vDPA devices features table and explanation.
Any vDPA driver can add its own supported features by ading a new ini
file to the features directory in doc/guides/vdpadevs/features.
Signed-off-by: Matan Azrad <matan@mellanox.com>
Matan Azrad [Thu, 9 Jan 2020 11:00:15 +0000 (11:00 +0000)]
drivers: introduce vDPA class
The vDPA (vhost data path acceleration) drivers provide support for
the vDPA operations introduced by the rte_vhost library.
Any driver which provides the vDPA operations should be moved\added to
the vdpa class under drivers/vdpa/.
Create the general files for vDPA class in drivers and in documentation.
The management tree for vDPA drivers is
git://dpdk.org/next/dpdk-next-virtio.
Signed-off-by: Matan Azrad <matan@mellanox.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
David Marchand [Thu, 9 Jan 2020 12:59:16 +0000 (13:59 +0100)]
ci: use meson 0.47.1
meson 0.53.0 has a compatibility issue [1] with the python 3.5.2 that comes
in Ubuntu 16.04.
On the other hand, the minimal version supported in dpdk is 0.47.1.
Stick to this version to avoid getting hit by regressions in meson latest
shiny release.
1: https://github.com/mesonbuild/meson/issues/6427
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
David Marchand [Thu, 9 Jan 2020 12:59:15 +0000 (13:59 +0100)]
build: fix libm detection in meson
Using version 0.47.1, meson is unable to find the math library in Travis
for the 32bits job.
Quite surprisingly, this problem is not seen with the 64bits jobs.
Switching to 0.48.0, the problem disappears.
But we should pass 'm' to find_library instead of 'libm' anyway.
Fixes:
98edcbb5ab2f ("eal/windows: introduce Windows support")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Bruce Richardson [Mon, 23 Dec 2019 10:38:40 +0000 (10:38 +0000)]
build: explicitly enable sse4 for meson
If the compiler does not recognise the specific CPU when building with the
default "native" machine type, sse4.2 instructions can be missing, causing
a build error. Rather than advising the user to change the machine type,
we can just turn on SSE4.2 directly. This can prevent issues with running
automated tests with older compilers/distros on newer hardware.
Cc: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: David Marchand <david.marchand@redhat.com>
Aaron Conole [Tue, 3 Dec 2019 21:15:44 +0000 (16:15 -0500)]
service: don't walk out of bounds when checking services
The service_valid call is used without properly bounds checking the
input parameter. Almost all instances of the service_valid call are
inside a for() loop that prevents excessive walks, but some of the
public APIs don't bounds check and will pass invalid arguments.
Prevent this by using SERVICE_GET_OR_ERR_RET where it makes sense,
and adding a bounds check to one service_valid() use.
Fixes:
8d39d3e237c2 ("service: fix race in service on app lcore function")
Fixes:
e9139a32f6e8 ("service: add function to run on app lcore")
Fixes:
e30dd31847d2 ("service: add mechanism for quiescing")
Cc: stable@dpdk.org
Signed-off-by: Aaron Conole <aconole@redhat.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
David Marchand [Fri, 20 Dec 2019 14:01:49 +0000 (15:01 +0100)]
test/common: fix log2 check
We recently started to get random failures on the common_autotest ut with
clang on Ubuntu 16.04.6.
Example: https://travis-ci.com/DPDK/dpdk/jobs/
263177424
Wrong rte_log2_u64(0) val 0, expected
ffffffff
Test Failed
The ut passes 0 to log2() to get an expected value.
Quoting log2 / log(3) manual:
If x is zero, then a pole error occurs, and the functions return
-HUGE_VAL, -HUGE_VALF, or -HUGE_VALL, respectively.
rte_log2_uXX helpers handle 0 as a special value and return 0.
Let's have dedicated tests for this case.
Fixes:
05c4345ef5c2 ("test: add unit test for integer log2 function")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Aaron Conole <aconole@redhat.com>
Bruce Richardson [Thu, 12 Dec 2019 11:58:26 +0000 (11:58 +0000)]
build: fix soname info for 19.11 compatibility
The soname for each stable ABI version should be just the ABI version major
number without the minor number. Unfortunately both major and minor were
used causing version 20.1 to be incompatible with 20.0.
This patch fixes the issue by switching from 2-part to 3-part ABI version
numbers so that we can keep 20.0 as soname and using the final digits to
identify the 20.x releases which are ABI compatible. This requires changes
to both make and meson builds to handle the three-digit version and shrink
it to 2-digit for soname.
The final fix needed in this patch is to adjust the library version number
for the ethtool example library, which needs to be upped to 2-digits, as
external libraries using the DPDK build system also use the logic in this
file.
Fixes:
cba806e07d6f ("build: change ABI versioning to global")
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Tested-by: Ray Kinsella <mdr@ashroe.eu>
Tested-by: Ferruh Yigit <ferruh.yigit@intel.com>
Tested-by: Kevin Laatz <kevin.laatz@intel.com>
Tested-by: David Marchand <david.marchand@redhat.com>
Thomas Monjalon [Mon, 16 Dec 2019 14:45:32 +0000 (15:45 +0100)]
devtools: fix debug build test
When testing build with +debug options, the statistics are enabled.
It was wrongly matching CONFIG_RTE_IBVERBS_LINK_STATIC.
The pattern is fixed to match only statistics config options.
Fixes:
2c0dd7b69fb0 ("config: add static linkage of mlx dependency")
Cc: stable@dpdk.org
Reported-by: Ali Alnubani <alialnu@mellanox.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Ali Alnubani [Wed, 11 Dec 2019 06:49:25 +0000 (06:49 +0000)]
net/mlx: fix build with clang 9
This rewrites the MKSTR macro appending an empty string to its arguments
to resolve build failures similar to:
drivers/net/mlx4/mlx4.c:461:14: fatal error: format string is not a
string literal [-Wformat-nonliteral]
MKSTR(path, "%s/device/uevent", device->ibdev_path);
drivers/net/mlx4/mlx4_utils.h:82:30: note: expanded from macro 'MKSTR'
char name[snprintf(NULL, 0, __VA_ARGS__) + 1]; \
drivers/net/mlx5/mlx5_stats.c:144:15: fatal error: format string is not a
string literal [-Wformat-nonliteral]
MKSTR(path, "%s/ports/%d/hw_counters/%s",
drivers/net/mlx5/mlx5_utils.h:149:30: note: expanded from macro 'MKSTR'
char name[snprintf(NULL, 0, __VA_ARGS__) + 1]; \
The errors reproduce with clang version 9.0.0, and the release notes
don't mention what could have caused them.
Fixes:
7fae69eeff13 ("mlx4: new poll mode driver")
Fixes:
771fa900b73a ("mlx5: introduce new driver for Mellanox ConnectX-4 adapters")
Cc: stable@dpdk.org
Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
Signed-off-by: Matan Azrad <matan@mellanox.com>
Thomas Monjalon [Mon, 9 Dec 2019 20:43:12 +0000 (21:43 +0100)]
doc: fix build with python 3.8
After upgrading to python-3.8.0, a syntax mismatch is revealed:
doc/guides/conf.py:240: SyntaxWarning: "is not" with a literal.
Did you mean "!="?
if value is not '':
Removing "is not ''" seems the right thing to do.
A patch may also be needed in the RTD theme package:
https://github.com/readthedocs/sphinx_rtd_theme/commit/
a49a812c.diff
(not included in release 0.4.3)
Fixes:
9db3f52126fb ("doc: generate NIC overview table from ini files")
Cc: stable@dpdk.org
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
David Marchand [Wed, 4 Dec 2019 13:16:22 +0000 (14:16 +0100)]
eal/linux: fix build error on RHEL 7.6
Previous fix gives hiccups to gcc on RHEL 7.6:
== Build lib/librte_eal/linux/eal
CC eal_interrupts.o
...lib/librte_eal/linux/eal/eal_interrupts.c: In function
‘eal_intr_thread_main’:
...lib/librte_eal/linux/eal/eal_interrupts.c:1048:9: error: missing
initializer for field ‘events’ of ‘struct epoll_event’
[-Werror=missing-field-initializers]
struct epoll_event ev = { };
^
In file included from ...lib/librte_eal/linux/eal/eal_interrupts.c:15:0:
/usr/include/sys/epoll.h:89:12: note: ‘events’ declared here
uint32_t events; /* Epoll events */
^
...lib/librte_eal/linux/eal/eal_interrupts.c: At top level:
cc1: error: unrecognized command line option
"-Wno-address-of-packed-member" [-Werror]
cc1: all warnings being treated as errors
Fixes:
e0ab8020ac2a ("eal/linux: fix uninitialized data valgrind warning")
Cc: stable@dpdk.org
Reported-by: Andrew Rybchenko <arybchenko@solarflare.com>
Signed-off-by: David Marchand <david.marchand@redhat.com>
Stephen Hemminger [Wed, 27 Nov 2019 22:32:32 +0000 (14:32 -0800)]
eal/linux: fix uninitialized data valgrind warning
Valgrind reports that eal interrupt thread is calling epoll_ctl
with uninitialized data.
This is a false positive, because the kernel is not going to care about
the unused bits in the union but trivial to fix by initializing it.
Fixes:
af75078fece3 ("first public release")
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: David Marchand <david.marchand@redhat.com>
Thomas Monjalon [Mon, 2 Dec 2019 14:49:08 +0000 (15:49 +0100)]
version: 20.02-rc0
Start a new release cycle with empty release notes.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Thomas Monjalon [Thu, 28 Nov 2019 22:13:49 +0000 (23:13 +0100)]
version: 19.11.0
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Ali Alnubani [Thu, 28 Nov 2019 07:24:38 +0000 (07:24 +0000)]
config: add pkgconfig for arm64
Meson fails to find a pkg-config executable if pkgconfig
isn't set for aarch64. The environment variable `PKG_CONFIG_PATH`
is useless in this case, and meson fails to locate dependencies
that are built in non-standard paths.
Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Joyce Kong [Thu, 28 Nov 2019 06:32:59 +0000 (14:32 +0800)]
doc: update arm64 cross build tool version
Update the cross build tool version to gcc8.3.
Fixes:
01add9da25cd ("doc: add cross compiling guide")
Cc: stable@dpdk.org
Signed-off-by: Joyce Kong <joyce.kong@arm.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Ali Alnubani [Wed, 27 Nov 2019 15:23:18 +0000 (15:23 +0000)]
doc: update libnuma dependency on arm64
Previous versions of numactl may produce the following error
on some systems (at least on Fedora 30 and RHEL7.4):
./.libs/libnuma.so: undefined reference to `minor'
./.libs/libnuma.so: undefined reference to `major'
collect2: error: ld returned 1 exit status
This was fixed in upstream commit:
https://github.com/numactl/numactl/commit/
25691a084a2012a339395ade567dbae814e237e9
The fix is available in v2.0.13.
Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Acked-by: Gavin Hu <gavin.hu@arm.com>
Bruce Richardson [Thu, 28 Nov 2019 16:33:50 +0000 (16:33 +0000)]
doc: update example output in FreeBSD guide
The output of running the helloworld example on FreeBSD was a little
out-of-date and can be shortened by using the latest version of DPDK.
Update appropriately.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Bruce Richardson [Thu, 28 Nov 2019 16:33:49 +0000 (16:33 +0000)]
doc: remove reference to old version of FreeBSD
FreeBSD 10 is now EOL and all testing with DPDK takes place on BSD versions
11 and 12, so we can just remove the note. The BSD ports are supported on
all non-EOL versions of BSD.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Bruce Richardson [Thu, 28 Nov 2019 16:33:48 +0000 (16:33 +0000)]
doc: reorder meson and make build instructions for Arm
Since the meson instructions are the simpler of the two sets, and also the
ones most future-proof, put those first in the user documentation with make
instructions following them.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Gavin Hu <gavin.hu@arm.com>
Bruce Richardson [Thu, 28 Nov 2019 16:33:47 +0000 (16:33 +0000)]
doc: add building with meson to Linux guide
Add instructions on building DPDK and using the pkg-config file to the
linux GSG.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Bruce Richardson [Thu, 28 Nov 2019 16:33:46 +0000 (16:33 +0000)]
doc: update system requirements in Linux guide
Update the system requirements section of the doc to cover builds with
meson and ninja. This involves updating the package dependencies to include
meson, ninja and python 3.5, and also updating the optional dependencies
section to explain that the components are enabled/disabled automatically
by meson.
As part of this update, the relevant sections were simplified to keep the
document shorter. For mandatory requirements, we can refer to the various
distro's development tools package groups rather than requiring gcc, core
tools etc. individually. The optional package list was very incomplete, and
if complete would duplicate information in the individual driver's guides.
Therefore we can simplify it by listing only the library optional
requirements and referring users to the driver docs to find details on
their dependencies.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Yinan Wang [Thu, 28 Nov 2019 14:30:21 +0000 (15:30 +0100)]
doc: clarify path selection in virtio guide
Add virtio paths selection and usage introduction for better
virtio usability.
Signed-off-by: Yinan Wang <yinan.wang@intel.com>
Acked-by: Tiwei Bie <tiwei.bie@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Raslan Darawsheh [Thu, 28 Nov 2019 11:40:58 +0000 (11:40 +0000)]
doc: update offload dependencies in mlx5 guide
Fix OFED and rdma-core versions for current offloads.
Add new offloads minimum versions.
Signed-off-by: Raslan Darawsheh <rasland@mellanox.com>
Acked-by: Ori Kam <orika@mellanox.com>
Raslan Darawsheh [Thu, 28 Nov 2019 09:30:45 +0000 (09:30 +0000)]
doc: add tested platforms with Mellanox NICs
Signed-off-by: Raslan Darawsheh <rasland@mellanox.com>
Bruce Richardson [Wed, 27 Nov 2019 23:00:55 +0000 (00:00 +0100)]
devtools: control location of test builds
By default, both test-build.sh and test-meson-builds.sh scripts create the
builds they generate in the current working directory, leading to a large
number of build directories being present when testing patches. This
patchset modifies both scripts to use a DPDK_BUILD_TEST_DIR environment
variable to control where the build outputs are put.
For example, doing:
export DPDK_BUILD_TEST_DIR=__builds
./devtools/test-meson-builds.sh && ./devtools/test-build.sh \
x86_64-native-linux-clang+shared i686-native-linux-gcc
gives a "__builds" directory with 14 meson and 2 make builds (with the
meson build count depending on compiler availability)
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: David Marchand <david.marchand@redhat.com>
David Marchand [Thu, 28 Nov 2019 13:46:29 +0000 (14:46 +0100)]
devtools: move ABI scripts from buildtools
Those scripts are only used by developers and not part of the build
process.
Move them to devtools so they are not installed.
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Sucharitha Sarananaga [Wed, 27 Nov 2019 05:00:48 +0000 (10:30 +0530)]
examples/fips_validation: fix vectors for AES-GCM
Test vectors for AES-GCM need to be populated by using aead member
and not cipher_auth. Using incorrect member would result in failures
when AES-GCM with non-zero AAD is tried.
Bugzilla ID: 360
Fixes:
4aaad2995e13 ("examples/fips_validation: support GCM parsing")
Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Sucharitha Sarananaga <ssarananaga@marvell.com>
Sachin Saxena [Wed, 6 Nov 2019 10:43:46 +0000 (16:13 +0530)]
drivers: update copyright for NXP files
Signed-off-by: Sachin Saxena <sachin.saxena@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Ferruh Yigit [Thu, 28 Nov 2019 12:15:26 +0000 (12:15 +0000)]
kni: fix build with Linux 4.9.x
The 'get_user_pages_remote()' API is updated in kernel 4.10.0 [1],
but the check added as > 4.9.0,
this logic is broken for kernels 4.9.x, because they justify
> 4.9.0 check but have the old API.
Fixing the check as >= 4.10.0
[1]
commit
5b56d49fc31d ("mm: add locked parameter to get_user_pages_remote()")
Fixes:
d965af9e8ae1 ("kni: increase kernel version requirement for VA")
Reported-by: Andrew Rybchenko <arybchenko@solarflare.com>
Suggested-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Tested-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Bruce Richardson [Fri, 8 Nov 2019 14:26:27 +0000 (14:26 +0000)]
usertools: fix typo in SPDX tag of telemetry script
There is a typo in the SPDX tag, which is down as an "SPDK" tag.
One-character change should be all that is needed.
Fixes:
d1b94da4a4e0 ("usertools: add client script for telemetry")
Cc: stable@dpdk.org
Reported-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Kevin Traynor <ktraynor@redhat.com>
Stephen Hemminger [Wed, 25 Sep 2019 15:51:31 +0000 (08:51 -0700)]
eal/windows: remove tail queue license boilerplate
The BSD license is already handled by SPDX tag.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Stephen Hemminger [Wed, 25 Sep 2019 15:51:30 +0000 (08:51 -0700)]
eal: remove reciprocal divide license boilerplate
No need for extra language, covered by SPDX tag.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Stephen Hemminger [Wed, 25 Sep 2019 15:51:29 +0000 (08:51 -0700)]
eal: remove uuid license boilerplate
License type is already clear from SPDX tag.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Stephen Hemminger [Fri, 8 Nov 2019 17:09:25 +0000 (09:09 -0800)]
examples/l2fwd-event: add missing SPDX license header
Add same tag as other files in this example.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Tetsuya Mukawa [Fri, 30 Aug 2019 03:57:04 +0000 (12:57 +0900)]
doc: use SPDX license tag for vhost PMD guide
Signed-off-by: Tetsuya Mukawa <mtetsuyah@gmail.com>
Allain Legacy [Thu, 7 Nov 2019 20:37:44 +0000 (14:37 -0600)]
doc: fix copyright notice in AVP guide
Aligning the Wind River copyright notices to be consistent with the
other files which bare the Wind River copyright notice.
Fixes:
32113d352d3b ("doc: replace license text with SPDX tag in AVP guide")
Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
Allain Legacy [Thu, 7 Nov 2019 20:37:43 +0000 (14:37 -0600)]
test/cfgfile: replace license text with SPDX tag
Replacing full license text with SPDX tag.
Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Vladimir Medvedkin [Sun, 11 Aug 2019 19:01:17 +0000 (22:01 +0300)]
test/thash: replace license text with SPDX tag
Signed-off-by: Vladimir Medvedkin <medvedkinv@gmail.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Xiaolong Ye [Fri, 26 Jul 2019 16:43:41 +0000 (00:43 +0800)]
port: replace license text with SPDX tag
Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Acked-by: Ethan Zhuang <zhuangwj@gmail.com>
Hemant Agrawal [Fri, 27 Sep 2019 08:33:41 +0000 (14:03 +0530)]
net/nfp: replace license text with SPDX tag
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Heinrich Kuhn <heinrich.kuhn@netronome.com>
Jerin Jacob [Wed, 27 Nov 2019 10:58:47 +0000 (16:28 +0530)]
doc: add tested Marvell integrated NIC platforms
Add tested Marvell integrated NIC platforms to v19.11 release notes.
Signed-off-by: Jerin Jacob <jerinj@marvell.com>
Wenjie Li [Wed, 27 Nov 2019 13:21:11 +0000 (21:21 +0800)]
doc: add tested Intel platforms with Intel NICs
Add tested Intel platforms with Intel NICs to v19.11 release notes.
Signed-off-by: Wenjie Li <wenjiex.a.li@intel.com>
Kevin Traynor [Wed, 20 Nov 2019 13:27:13 +0000 (13:27 +0000)]
doc: add codespell config in contributing guide
Document the config to use codespell with checkpatches.sh.
Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
Ruifeng Wang [Wed, 27 Nov 2019 08:47:08 +0000 (16:47 +0800)]
maintainers: update armv8 crypto PMD
It is expected to update this PMD to be in line with Arm's crypto library.
Update the maintainership to refect the change.
Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Heinrich Kuhn [Wed, 27 Nov 2019 11:36:15 +0000 (13:36 +0200)]
maintainers: update for NFP
As Alejandro is no longer with Netronome we appointed two new
maintainers for the Netronome PMD
Signed-off-by: Heinrich Kuhn <heinrich.kuhn@netronome.com>
David Marchand [Tue, 8 Oct 2019 15:52:29 +0000 (17:52 +0200)]
devtools: check coverity and bugzilla tags
Let's try to check for discrepancies in coverity and bugzilla tags.
The contributing guide specifies that:
- for coverity issues, the tag is 'Coverity issue:'
- for bugzilla issues, the tag is 'Bugzilla ID:'
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Kevin Traynor <ktraynor@redhat.com>
David Marchand [Wed, 2 Oct 2019 16:55:47 +0000 (18:55 +0200)]
devtools: reset compilation flags for each target
Same idea than overriding PATH and PKG_CONFIG_PATH, it can be quite
useful to override compilation flags like CFLAGS, CPPFLAGS and LDFLAGS
for cross compilation or libraries that won't provide a pkg-config file.
Fixes:
272236741258 ("devtools: load target-specific compilation environment")
Signed-off-by: David Marchand <david.marchand@redhat.com>
Thomas Monjalon [Sat, 14 Sep 2019 15:05:09 +0000 (17:05 +0200)]
git: ignore more build directories
Build directories commonly have compiler in their names.
In order to filter build directories not starting with "build-"
(common with make), patterns for gcc and clang are added to .gitignore.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: David Marchand <david.marchand@redhat.com>
Harry van Haaren [Wed, 27 Nov 2019 13:20:27 +0000 (13:20 +0000)]
test/service: fix wait for service core
This commit fixes a sporadic failure of the service_autotest
unit test, as seen in the DPDK CI. The failure occurs as the main test
thread did not wait on the service-thread to return, and allowing it
to read a flag before the service was able to write to it.
The fix changes the wait API call to specific the service-core ID,
and this waits for cores with both ROLE_RTE and ROLE_SERVICE.
The rte_eal_mp_wait_lcore() call does not (and should not) wait
for service cores, so must not be used to wait on service-cores.
Fixes:
f038a81e1c56 ("service: add unit tests")
Cc: stable@dpdk.org
Reported-by: Aaron Conole <aconole@redhat.com>
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: David Marchand <david.marchand@redhat.com>
Pavan Nikhilesh [Wed, 27 Nov 2019 12:36:47 +0000 (18:06 +0530)]
event/octeontx: fix partial Rx packet handling
When net/octeontx is connected to event/octeontx as an event Rx adapter,
PKI aka 'net/octeontx' can forward packets directly to SSO aka
'event/octeontx'.
When pumping traffic to PKI if flow control is disabled internal FIFOs
might be overrun causing partial l2 packets to be enqueued.
SSO receives <31:0> TAG tag calculated by PKI, in normal cases <31:28>
is always 0 which signifies RTE_EVENT_TYPE_ETHDEV. But in case of
partial received packets PKI sets the <31:0> TAG as 0xFFFFFFFF which
is an invalid event type.
Add a check to see if TAG is 0xFFFFFFFF and free the partial receive
packet.
Fixes:
d0d654986018 ("net/octeontx: support event Rx adapter")
Cc: stable@dpdk.org
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Viacheslav Ovsiienko [Wed, 27 Nov 2019 13:06:16 +0000 (13:06 +0000)]
net/mlx5: fix legacy inline multi-packet performance
The legacy multi-packet write is the feature allowing to
put multiple packets into one transmitting descriptor,
this feature is supported by only NIC ConnectX-4LX.
The number of packets should be limited to provide
optimal size descriptor and better performance.
Fixes:
18a1c20044c0 ("net/mlx5: implement Tx burst template")
Cc: stable@dpdk.org
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
Viacheslav Ovsiienko [Wed, 27 Nov 2019 12:33:12 +0000 (12:33 +0000)]
net/mlx5: fix legacy non-inline multi-packet performance
The legacy multi-packet write is the feature allowing to
put multiple packets into one transmitting descriptor,
this feature is supported by only NIC ConnectX-4LX.
The number of packets should be limited to provide
optimal size descriptor and better performance.
Fixes:
18a1c20044c0 ("net/mlx5: implement Tx burst template")
Cc: stable@dpdk.org
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
Viacheslav Ovsiienko [Wed, 27 Nov 2019 13:36:43 +0000 (13:36 +0000)]
net/mlx5: fix default mark copy flow
In extensive metadata mode the MARK copy table is engaged,
if the application creates the flow with zero MARK ID action:
flow create 1 ingress pattern eth / ... / end actions mark id 0 / .. end
And then destroys that, the traffic to the port stops. This happens
due to default flow for the copy table has the zero ID and is removed
with the application rule. The patch extends internal ID variable
to 64 bits and provide the UINT64_MAX ID for the copy table default
rule.
Fixes:
dd3c774f6ffb ("net/mlx5: add metadata register copy table")
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Ori Kam <orika@mellanox.com>
Thomas Monjalon [Wed, 27 Nov 2019 12:22:56 +0000 (13:22 +0100)]
ethdev: limit maximum number of queues
A buffer overflow happens in testpmd with some drivers
since the queue arrays are limited to RTE_MAX_QUEUES_PER_PORT.
The advertised capabilities of mlx4, mlx5 and softnic
for the number of queues were the maximum number: UINT16_MAX.
They must be limited by the configured RTE_MAX_QUEUES_PER_PORT
that applications expect to be respected.
The limitation is applied at ethdev level (function rte_eth_dev_info_get),
in order to force the configured limit for all drivers.
Fixes:
14b53e27b30e ("ethdev: fix crash with multiprocess")
Cc: stable@dpdk.org
Reported-by: Raslan Darawsheh <rasland@mellanox.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Thomas Monjalon [Tue, 26 Nov 2019 23:43:18 +0000 (00:43 +0100)]
version: 19.11-rc4
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Kirill Rybalchenko [Tue, 15 Oct 2019 13:45:35 +0000 (14:45 +0100)]
maintainers: claim maintainership of ptpclient example
Claim maintainership of examples/ptpclient/
Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Allain Legacy [Thu, 7 Nov 2019 20:48:34 +0000 (14:48 -0600)]
maintainers: replace for AVP
Resigning my maintainership of the AVP driver and adding Steve Webster
as a new maintainer.
Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
Xiaolong Ye [Mon, 28 Oct 2019 05:47:16 +0000 (13:47 +0800)]
maintainers: update for ifpga
Add raw/ifpga to next-net-intel tree.
Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
John McNamara [Mon, 25 Nov 2019 12:38:13 +0000 (12:38 +0000)]
doc: update release notes for 19.11
Fix grammar, spelling and formatting of DPDK 19.11 release notes.
Signed-off-by: John McNamara <john.mcnamara@intel.com>
Thomas Monjalon [Tue, 26 Nov 2019 22:11:36 +0000 (23:11 +0100)]
doc: sort features in 19.11 release notes
Move cryptodev feature near other crypto features.
Group ethdev features together.
Sort drivers/net features with new PMDs first.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Ray Kinsella [Mon, 18 Nov 2019 13:15:28 +0000 (13:15 +0000)]
doc: add ABI policy changes to release notes
Add some pointers to the releases notes on the changes to the abi policy,
the introduction of project-level ABI management and the deprecation of
library-level management.
Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Acked-by: John McNamara <john.mcnamara@intel.com>
Pavan Nikhilesh [Sat, 2 Nov 2019 14:23:15 +0000 (19:53 +0530)]
usertools: fix device binding module detection
Some kernel modules use '-' in their name when registering through
`pci_register_driver` and the same name is populated in
'/sys/bus/pci/drivers/'.
But the kernel always populates modules names replacing '-' with '_'
in '/sys/module/'.
Example:
# ./usertools/dpdk-devbind.py -b octeontx2-nicpf 0002:03:00.0
Error: Driver 'octeontx2-nicpf' is not loaded.
# ls /sys/bus/pci/drivers/octeontx2-nicpf
bind module new_id remove_id uevent unbind
# ls /sys/module/octeontx2_nicpf/
drivers uevent version
The patch addresses it by always replacing '-' with '_' when looking in
'/sys/module/'
Signed-off-by: Phanendra Vukkisala <pvukkisala@marvell.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
David Marchand [Fri, 22 Nov 2019 15:54:29 +0000 (16:54 +0100)]
ci: add minimal check on testpmd
Try to start testpmd with two vdevs without hugepages.
This is a really basic check, but better than nothing.
Signed-off-by: David Marchand <david.marchand@redhat.com>
Suanming Mou [Tue, 26 Nov 2019 14:08:35 +0000 (16:08 +0200)]
net/mlx5: fix crash on GRE flow rule parsing
When set the GRE item, GRE key should follow after GRE header, or the
header gre_item pointer used by the key will be invalid.
Currently in the mlx5_flow_validate_item_gre_key() function, the header
gre_item pointer is access before checking if the key is after the
header or not. Once the key item is before the header, invalid gre_item
pointer access happens.
Move the gre_item pointer access after the GRE header check to avoid the
crash issue.
Fixes:
a7a0365565a4 ("net/mlx5: match GRE key and present bits")
Cc: stable@dpdk.org
Signed-off-by: Suanming Mou <suanmingm@mellanox.com>
Acked-by: Ori Kam <orika@mellanox.com>
Suanming Mou [Tue, 26 Nov 2019 14:06:05 +0000 (16:06 +0200)]
net/mlx5: add GENEVE in tunnel offloads capabilities
GENEVE is available in tunnel offloads. Add it as the default support
option.
Signed-off-by: Suanming Mou <suanmingm@mellanox.com>
Acked-by: Ori Kam <orika@mellanox.com>
Ali Alnubani [Tue, 26 Nov 2019 08:35:24 +0000 (08:35 +0000)]
net/mlx5: fix build with dlopen linkage
The header mlx5_glue.h includes rte_byteorder.h, which isn't
pulled by global_inc. This patch adds the missing include directory
and fixes the build error:
In file included from drivers/net/mlx5/mlx5_glue.c:31:
drivers/net/mlx5/mlx5_glue.h:12:10: fatal error:
rte_byteorder.h: No such file or directory
The build failure can be triggered with:
meson -Dibverbs_link=dlopen build && ninja -C build
Fixes:
400d985eb586 ("net/mlx5: add VLAN push/pop DR commands to glue")
Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Viacheslav Ovsiienko [Tue, 26 Nov 2019 10:45:03 +0000 (10:45 +0000)]
net/mlx5: fix legacy multi-packet Tx descriptors
ConnectX-4LX supports multiple packets within the single Tx
descriptor. This feature is named as "Legacy Multi-Packet Write"
and imposes a lot of limitations:
- no ACLs, it means no NIC Tx Flows are supported and Tx metadata
become meaningless
- the required minimal inline data must be zero
- no SR-IOV, it means no support in E-Switch configurations,
- no priority and dscp forcing
- no VLAN insertion
- no TSO
- all packets within MPW session must have the same size
This legacy MPW feature is mainly intended for test purposes.
To explicitly engage the feature on ConnectX-4LX the devargs
should be specified:
- txq_mpw_en=1
This feature was dropped in 19.08, this patch reverts it back.
Fixes:
18a1c20044c0 ("net/mlx5: implement Tx burst template")
Cc: stable@dpdk.org
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
Ferruh Yigit [Tue, 26 Nov 2019 10:50:07 +0000 (10:50 +0000)]
net/kni: fix crash caused by double stop
'close()' calls 'stop()' and 'stop()' cancels pthread without any check.
Calling 'stop()' & 'close()' sequentially tries to cancel pthread twice
which will cause a crash.
Adding a state check in 'stop()' before canceling the pthread to prevent
multiple stop.
Fixes:
696fbc7bb4fc ("net/kni: remove resources when port is closed")
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Tested-by: Yinan Wang <yinan.wang@intel.com>
Matan Azrad [Tue, 26 Nov 2019 09:04:10 +0000 (09:04 +0000)]
ethdev: fix item expansion for RSS flow
When the last item in flow pattern includes "next protocol" field which
is relevant for RSS flow expansion, a new item is added to the pattern
according to the "next protocol" field. This field is called missed
field.
The missed field wrongly was not initialized what caused to some of the
flow item fields to contain garbage values.
As a result, the PMDs internal flow engine may crash.
For example, the spec value may include garbage pointer and to cause
crash.
Initialize the missed field with zeroes.
Fixes:
fc2dd8dd492f ("ethdev: fix expand RSS flows")
Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Ori Kam <orika@mellanox.com>
Xiao Wang [Tue, 26 Nov 2019 14:59:31 +0000 (09:59 -0500)]
net/ifc: check VFIO query error
It's possible that we fail to get the IOMMU group of ifcvf device, this
patch adds a check on the return value.
Coverity issue: 349894
Fixes:
a3f8150eac6d ("net/ifcvf: add ifcvf vDPA driver")
Cc: stable@dpdk.org
Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>
Dekel Peled [Tue, 26 Nov 2019 08:34:22 +0000 (10:34 +0200)]
net/mlx5: fix flow engine choice
Commit in fixes line sets the DV (Direct Verbs) flow engine as default.
Newer versions of DV flow engine use the DR (Direct Rules) features.
DR is supported from RDMA Core library version rdma-core-24.0.
This cause failure to start port when using older rdma-core version,
without DR support.
This patch selects DV flow engine if rdma-core version is v24.0 or
higher. Verbs flow engine is selected otherwise.
Fixes:
cd4569d2bf3c ("net/mlx5: change default flow engine to DV")
Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Ori Kam <orika@mellanox.com>
Sunil Kumar Kori [Tue, 26 Nov 2019 07:03:58 +0000 (12:33 +0530)]
net/octeontx2: fix loopback config return for VF
loopback mode is not supported for VFs so returning error if
VF is being configured with loopback mode.
Fixes:
920717e4d8ba ("net/octeontx2: add device start operation")
Cc: stable@dpdk.org
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Lunyuan Cui [Wed, 13 Nov 2019 12:46:59 +0000 (12:46 +0000)]
net/e1000: fix link status
The link status got from link status register was not correct,
because register has been reset when ports reset.
After port reset, set the link status down.
Fixes:
c431ec66c54c ("net/igb: support setting link up or down")
Cc: stable@dpdk.org
Signed-off-by: Lunyuan Cui <lunyuanx.cui@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Lunyuan Cui [Mon, 18 Nov 2019 15:37:44 +0000 (15:37 +0000)]
net/ixgbe: fix link status
The link status for
82599eb got from link status register was not
correct. Check the enable/disable flag of tx laser, set the link
status down if tx laser disabled. Then, we can get correct status.
But after port reset, tx laser register will be reset enable.
Link status will always be up. So set tx laser disable when port resets.
When hw->mac.autotry_restart is true, whether tx laser is disable or
enable, it will be set enable in ixgbe_flap_tx_laser_multispeed_fiber().
hw->mac.autotry_restart can be set true in both port init and port start.
Because we don't need this treatment before port starts, set
hw->mac.autotry_restart false when port init.
Fixes:
0408f47ba4d6 ("net/ixgbe: fix busy polling while fiber link update")
Cc: stable@dpdk.org
Signed-off-by: Lunyuan Cui <lunyuanx.cui@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Lunyuan Cui [Wed, 20 Nov 2019 09:22:03 +0000 (09:22 +0000)]
net/e1000: fix link status update
Meaningless to judge the link state according to the memset'ed
link variable, this patch fixes this logical issue.
In addition, this patch changes the variable from link_check to link_up
according to its real meaning.
Fixes:
80ba61115e77 ("net/e1000: use link status helper functions")
Cc: stable@dpdk.org
Signed-off-by: Lunyuan Cui <lunyuanx.cui@intel.com>
Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Andrew Rybchenko [Tue, 19 Nov 2019 12:12:15 +0000 (12:12 +0000)]
ethdev: remove deprecation notice about RSS hash flag
The offload flag was added, but the deprecation notice was not removed.
Fixes:
5d308972954c ("ethdev: add mbuf RSS update as an offload")
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Andrew Rybchenko [Tue, 19 Nov 2019 12:12:14 +0000 (12:12 +0000)]
ethdev: remove deprecation notice for packet type set
The functionality is added, but the deprecation notice is not
removed.
Fixes:
5d4813acda2c ("ethdev: add packet type range function")
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Wei Hu (Xavier) [Mon, 25 Nov 2019 09:00:53 +0000 (17:00 +0800)]
net/hns3: fix checking enough Tx BDs
In .tx_pkt_burst ops implementation function of hns3 PMD driver,
there is one check whether there are enough BDs in the TX queue.
If not, driver will stop sending the packets.
Currently in the 'for' process loop, the next_to_use member of
TX queue is not updated in time after processing BDs of one packet,
which results in the invalid action of checking whether there are
enough BDs and failure in sending packets.
This patch fixes it by moving the assignment statment of the
next_to_use member of TX queue to the place after porcessing TX BDs
in the 'for' loop.
Fixes:
bba636698316 ("net/hns3: support Rx/Tx and related operations")
Cc: stable@dpdk.org
Signed-off-by: Hongbo Zheng <zhenghongbo3@huawei.com>
Signed-off-by: Huisong Li <lihuisong@huawei.com>
Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
Rasesh Mody [Fri, 22 Nov 2019 23:31:18 +0000 (15:31 -0800)]
doc: update qede guide
- Add note for sharing an adapter between DPDK and Linux drivers.
- Update the firmware version in example.
- Add Config note for potential error due to lack of memzone descriptor
count.
Signed-off-by: Rasesh Mody <rmody@marvell.com>
Pavan Nikhilesh [Sat, 23 Nov 2019 08:58:31 +0000 (14:28 +0530)]
net/octeontx2: fix packet type parsing disabled by default
Enable packet type parsing by default, only disable when
`rte_eth_dev_set_ptypes()` is called with ptype_mask as 0.
This would enable applications that are dependent on packet type parsing
like l3fwd.
Also this patch preserves configuration set by `rte_eth_dev_set_ptypes`
across multiple calls of `rte_eth_dev_configure()`
Fixes:
d2706e15e6fb ("net/octeontx2: support reduced set of packet types")
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Viacheslav Ovsiienko [Mon, 18 Nov 2019 11:20:34 +0000 (11:20 +0000)]
doc: update metadata feature in mlx5 guide
Legacy Verbs supports MARK and FLAG metadata actions only.
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Viacheslav Ovsiienko [Thu, 21 Nov 2019 17:59:42 +0000 (17:59 +0000)]
net/mlx5: fix getting metadata register for E-Switch domain
The metadata register used for META item/action within E-Switch
steering domain should be altered depending on dv_xmeta_en
devarg value.
Fixes:
3e8edd0ef848 ("net/mlx5: update metadata register ID query")
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
Suanming Mou [Thu, 21 Nov 2019 12:09:30 +0000 (14:09 +0200)]
net/mlx5: fix chosen L3/L4 layer with tunnel
For tunnel mode, there may be two L3/L4 layer match pattern items, one
for inner and one for outer layers. The L3 TTL and L4 port header
modify actions should handle the outermost layer items.
Currently flow_dv_attr_init() doesn't distinguish between outer and
inner layers, since inner layer comes later than the outer layer, this
may cause inner layer values also set to the flow attributes and may
lead actions to use inner L3/L4 pattern items.
Adding a check in flow_dv_attr_init() to prevent inner layer to set the
flow attribute if the previous L3/L4 outer pattern exist.
Fixes:
4bb14c83df95 ("net/mlx5: support modify header using Direct Verbs")
Cc: stable@dpdk.org
Signed-off-by: Suanming Mou <suanmingm@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
Pavan Nikhilesh [Thu, 21 Nov 2019 19:34:06 +0000 (01:04 +0530)]
app/testpmd: use better randomness for Tx split
Use rte_rand() instead of random() for better randomness.
Coverity issue: 337666
Fixes:
79bec05b32b7 ("app/testpmd: add ability to split outgoing packets")
Cc: stable@dpdk.org
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Min Hu (Connor) [Fri, 22 Nov 2019 12:06:24 +0000 (20:06 +0800)]
net/hns3: fix duplicated VLAN entry
When setting vlan, hns3 driver will add vlan entry to vlan linked list
each time, and this is unreasonable.
This patch adds a check whether the VLAN to be added already exists
in the linked list and prevents adding duplicated vlan.
Fixes:
411d23b9eafb ("net/hns3: support VLAN")
Cc: stable@dpdk.org
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
Huisong Li [Fri, 22 Nov 2019 12:06:23 +0000 (20:06 +0800)]
net/hns3: fix VF link status
Currently, port link status is "up" in VF driver after user calling the
rte_eth_dev_stop API. This is unreasonable.
Therefore, this patch adjusts the strategy of getting link status from
PF driver for VF. VF driver should stop getting link status from PF by
canceling the alarm that VF driver send mailbox message to PF driver,
when the rte_eth_dev_stop API is called. And VF driver should restore
the alarm when the rte_eth_dev_start API is called.
Fixes:
a5475d61fa34 ("net/hns3: support VF")
Cc: stable@dpdk.org
Signed-off-by: Huisong Li <lihuisong@huawei.com>
Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>