Commit Graph

3399 Commits

Author SHA1 Message Date
Bruce Richardson
bbfc94efca 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>
2020-01-15 08:50:28 +01:00
Bruce Richardson
f5ab2074cf 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>
2020-01-15 08:50:28 +01:00
Bruce Richardson
affc17c821 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>
2020-01-15 08:50:28 +01:00
Bruce Richardson
b1e1bd379a 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: 720b14db3a ("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>
2020-01-15 08:50:28 +01:00
Matan Azrad
5c060bf178 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>
2020-01-14 00:09:33 +01:00
Matan Azrad
6222035e1a 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>
2020-01-14 00:09:33 +01:00
Matan Azrad
3df349b7af 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>
2020-01-13 23:28:00 +01:00
Thomas Monjalon
878f99d114 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: 9db3f52126 ("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>
2019-12-12 23:18:10 +01:00
Thomas Monjalon
d51827a981 version: 20.02-rc0
Start a new release cycle with empty release notes.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2019-12-02 17:59:49 +01:00
Ali Alnubani
f31d178072 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>
2019-11-28 23:03:52 +01:00
Joyce Kong
2bf752c112 doc: update arm64 cross build tool version
Update the cross build tool version to gcc8.3.

Fixes: 01add9da25 ("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>
2019-11-28 23:03:52 +01:00
Ali Alnubani
0fc0edb9cb 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:
25691a084a
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>
2019-11-28 23:03:52 +01:00
Bruce Richardson
e21ee74082 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>
2019-11-28 23:03:52 +01:00
Bruce Richardson
fc6eb30769 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>
2019-11-28 23:03:52 +01:00
Bruce Richardson
50f5aa1020 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>
2019-11-28 23:03:52 +01:00
Bruce Richardson
63fc2479b3 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>
2019-11-28 22:31:53 +01:00
Bruce Richardson
f6412d7528 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>
2019-11-28 22:31:53 +01:00
Yinan Wang
9dcf5d1556 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>
2019-11-28 22:31:53 +01:00
Raslan Darawsheh
fb2861f1b5 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>
2019-11-28 22:31:53 +01:00
Raslan Darawsheh
8b3726776f doc: add tested platforms with Mellanox NICs
Signed-off-by: Raslan Darawsheh <rasland@mellanox.com>
2019-11-28 22:31:53 +01:00
Bruce Richardson
aa75995509 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>
2019-11-28 22:31:53 +01:00
Ferruh Yigit
de480bbf13 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: d965af9e8a ("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>
2019-11-28 14:48:24 +01:00
Tetsuya Mukawa
688604c224 doc: use SPDX license tag for vhost PMD guide
Signed-off-by: Tetsuya Mukawa <mtetsuyah@gmail.com>
2019-11-28 03:12:55 +01:00
Allain Legacy
6cb99ee853 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: 32113d352d ("doc: replace license text with SPDX tag in AVP guide")

Signed-off-by: Allain Legacy <allain.legacy@windriver.com>
2019-11-28 03:12:55 +01:00
Jerin Jacob
5302532d4a 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>
2019-11-28 02:11:01 +01:00
Wenjie Li
53c3fe545b 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>
2019-11-28 02:10:40 +01:00
Kevin Traynor
409a346a2e doc: add codespell config in contributing guide
Document the config to use codespell with checkpatches.sh.

Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
2019-11-28 01:10:44 +01:00
John McNamara
92c083915a 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>
2019-11-27 00:10:25 +01:00
Thomas Monjalon
463b11bd4c 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>
2019-11-27 00:00:24 +01:00
Ray Kinsella
da585123a0 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>
2019-11-27 00:00:24 +01:00
Dekel Peled
0adf23adcb 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: cd4569d2bf ("net/mlx5: change default flow engine to DV")

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Ori Kam <orika@mellanox.com>
2019-11-26 18:05:15 +01:00
Andrew Rybchenko
f3e7fb09c6 ethdev: remove deprecation notice about RSS hash flag
The offload flag was added, but the deprecation notice was not removed.

Fixes: 5d30897295 ("ethdev: add mbuf RSS update as an offload")

Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
2019-11-26 18:05:15 +01:00
Andrew Rybchenko
6355f12370 ethdev: remove deprecation notice for packet type set
The functionality is added, but the deprecation notice is not
removed.

Fixes: 5d4813acda ("ethdev: add packet type range function")

Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
2019-11-26 18:05:15 +01:00
Rasesh Mody
e28bfe3355 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>
2019-11-26 18:05:15 +01:00
Viacheslav Ovsiienko
771e5af073 doc: update metadata feature in mlx5 guide
Legacy Verbs supports MARK and FLAG metadata actions only.

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
2019-11-26 18:05:15 +01:00
Ajit Khaparde
b6d42ce526 doc: update release notes for bnxt
Update release doc briefly describing updates to bnxt PMD for
19.11 release.

The support for these was added in the following commits:
1) b150a7e7ee ("net/bnxt: support LRO on Thor adapters")
2) be14720def ("net/bnxt: support FW reset")
3) df6cd7c1f7 ("net/bnxt: handle reset notify async event from FW")
4) 698aa7e953 ("net/bnxt: add code to determine the Tx COS queue")
5) 04102f2ffc ("net/bnxt: update HWRM API to version 1.10.1.6")

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2019-11-26 18:05:15 +01:00
Ajit Khaparde
67f96b2c9e doc: update bnxt feature list
Updating bnxt.ini file.
These features were added earlier under the following commits.
1) 94d4afd2d1 ("net/bnxt: advertise scatter Rx offload capability")
2) 57d5e5bc86 ("net/bnxt: add statistics")
3) 8892013668 ("net/bnxt: support xstats get by id")

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
2019-11-26 18:05:15 +01:00
Andrzej Ostruszka
781088dad5 doc: fix tap guide
Corrected one typo and IP address according RFC5735.

Fixes: de96fe68ae ("net/tap: add basic flow API patterns and actions")
Cc: stable@dpdk.org

Signed-off-by: Andrzej Ostruszka <aostruszka@marvell.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2019-11-26 18:05:15 +01:00
Anatoly Burakov
ebf9c7b1db doc: fix a typo in EAL guide
The correct name for virt2memseg API is `rte_mem_virt2memseg`, not
`rte_virt2memseg`.

Fixes: 950e8fb4e1 ("mem: allow registering external memory areas")
Cc: stable@dpdk.org

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
2019-11-26 17:44:09 +01:00
David Hunt
f433878a4f doc: add core queries in power example guide
This patch adds some minor updates for the vm_power_manager and guest_cli
example applications.

Now that the virtio-serial channels between vm_power manager and
the guest_cli has bi-directional capability, there are some new commands.

Firstly, the command in vm_power_manager to enable queries for a given VM:

  * set_query {vm_name} enable|disable

Then, commands to query the frequencies and capabilities of the cores
in the VM:

  * query_cpu_freq {core_num}|all
  * query_cpu_caps {core_num}|all

Signed-off-by: David Hunt <david.hunt@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2019-11-26 17:44:09 +01:00
Jasvinder Singh
694fd2cb8d doc: update QoS scheduler guides
Updates documentation to reflect the changes in the QoS scheduler
library and example.

Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2019-11-26 16:13:14 +01:00
Amaranath Somalapuram
1151b4ae2d doc: fix l2fwd-crypto usage in CCP guide
Update the CCP doc for fixing description of some parameter,
Changing AES_CBC to aes-cbc, SHA1_HMAC to sha1-hmac.

Fixes: 4433ced9aa ("doc: add AMD CCP guide")
Cc: stable@dpdk.org

Signed-off-by: Amaranath Somalapuram <asomalap@amd.com>
2019-11-25 11:01:36 +01:00
Pavan Nikhilesh
997d5d0d0e doc: fix command line in l2fwd-event guide
Fix incorrect command line argument documented for l2fwd-event.

Bugzilla ID: 367
Bugzilla ID: 368
Fixes: 14d7ea259a ("doc: add application usage guide for l2fwd-event")

Reported-by: Vipin Varghese <vipin.varghese@intel.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
2019-11-26 07:49:30 +01:00
Pavan Nikhilesh
b4134b2d31 common/octeontx: update mbox to version 1.1.3
Sync mail box data structures to version 1.1.3.
Add mail box version verification and defer initializing octeontx
devices if mail box version mismatches.
Update OCTEON TX limitaion with max mempool size used.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Reviewed-by: Jerin Jacob <jerinj@marvell.com>
2019-11-26 07:49:30 +01:00
Stephen Hemminger
06710448c9 remove blank lines at end of file
Remove trailing blank lines. They serve no purpose and are just
editor leftovers.
These can cause git to complain about whitespace errors during merges.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2019-11-26 00:12:08 +01:00
Shahaf Shuler
39a19ae03d mbuf: extend mbuf pool private structure
With the API and ABI freeze ahead, it will be good to reserve
some bits on the private structure for future use.

Otherwise we will potentially need to maintain two different
private structure during 2020 period.

There is already one use case for those reserved bits[1]

The reserved field should be set to 0 by the user.

[1] https://patches.dpdk.org/patch/63077/

Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
2019-11-25 22:44:46 +01:00
Ferruh Yigit
d965af9e8a kni: increase kernel version requirement for VA
A build error reported related to the selected 'get_user_pages_remote()'
kernel API:

.../kernel/linux/kni/kni_dev.h:113:8:
  error: too few arguments to function ‘get_user_pages_remote’
  ret = get_user_pages_remote(tsk, tsk->mm, iova, 1
        ^~~~~~~~~~~~~~~~~~~~~

Currently there are three versions of the 'get_user_pages_remote()'
supported, based on kernel version < 4.9, = 4.9, > 4.9.

These version based checks are not working fine with the distro kernels
which is the cause of reported build error. The error reported by the
kernel version 4.8, but it is using API defined in > 4.9.

To be able to take control of this, and possible more, related build
error, increasing the minimum supported kernel version for iova=va with
KNI to kernel version 4.9.

This leaves us with single version of the kernel API and more manageable.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
2019-11-21 00:18:02 +01:00
Marcin Baran
cba806e07d build: change ABI versioning to global
As per new ABI policy [1], all of the libraries are now versioned using
one global ABI version. Stable libraries use the MAJOR.MINOR ABI
version for their shared objects, while experimental libraries
use the 0.MAJORMINOR convention for their versioning.
Experimental library versioning is managed globally. Changes in this
patch implement the necessary steps to enable that.

The CONFIG_RTE_MAJOR_ABI option was introduced to permit multiple
DPDK versions installed side by side. The problem is now addressed
through the new ABI policy, and thus can be removed.

[David] For external libraries relying on Makefile, LIBABIVER is
preserved to avoid using DPDK global ABI version.

[1] https://doc.dpdk.org/guides/contributing/abi_policy.html

Signed-off-by: Marcin Baran <marcinx.baran@intel.com>
Signed-off-by: Pawel Modrak <pawelx.modrak@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
2019-11-20 23:05:39 +01:00
Qi Zhang
3b4888d53d net/ice: add flow mark hint
Since not all data paths support flow mark, the driver needs
a hint from application to select the correct data path if
flow mark is required. The patch introduces a devarg
"flow-mark-support" as a workaround solution, since a standard
way is still ongoing.

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Qiming Yang <qiming.yang@intel.com>
2019-11-20 17:36:06 +01:00
Viacheslav Ovsiienko
f078ceb6ae net/mlx5: fix Tx doorbell write memory barrier
As the result of testing it was found that some hosts have
the performance penalty imposed by required write memory barrier
after doorbell writing. Before 19.08 release there was some
heuristics to decide whether write memory barrier should be
performed. For the bursts of recommended size (or multiple)
it was supposed there were some extra ongoing packets in the
next burst and write memory barrier may be skipped (supposed
to be performed in the next burst, at least after descriptor
writing).

This patch restores that behaviour, the devargs tx_db_nc=2
must be specified to engage this performance tuning feature.

Fixes: 8409a28573 ("net/mlx5: control transmit doorbell register mapping")
Cc: stable@dpdk.org

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
2019-11-20 17:36:06 +01:00