dpdk.git
4 years agobuild: create dummy Makefile
Bruce Richardson [Thu, 3 Sep 2020 15:26:49 +0000 (16:26 +0100)]
build: create dummy Makefile

This patch modifies the root Makefile to act as a dummy Makefile for
when the make support is removed from DPDK in subsequent patches.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
4 years agoexamples: remove old build system references
Ciara Power [Thu, 3 Sep 2020 15:26:52 +0000 (16:26 +0100)]
examples: remove old build system references

Remove the references to RTE_SDK and RTE_TARGET environment variables from
the build instructions in the comments of the various BPF files, and in
the ipsec-secgw common definition script.

Signed-off-by: Ciara Power <ciara.power@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
4 years agoexamples/ethtool: convert to pkg-config-based build
Bruce Richardson [Thu, 3 Sep 2020 15:26:48 +0000 (16:26 +0100)]
examples/ethtool: convert to pkg-config-based build

Remove references to the old DPDK build system from the makefiles, and use
pkg-config provided flags instead.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
4 years agoexamples/vm_power: convert to pkg-config-based build
Bruce Richardson [Thu, 3 Sep 2020 15:26:46 +0000 (16:26 +0100)]
examples/vm_power: convert to pkg-config-based build

Convert the makefiles to build using pkg-config
rather than the old build system.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
4 years agoexamples/multi_process: convert to pkg-config-based build
Bruce Richardson [Thu, 3 Sep 2020 15:26:42 +0000 (16:26 +0100)]
examples/multi_process: convert to pkg-config-based build

Remove references to the old make build system and use pkg-config for
building these examples.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
4 years agoexamples/performance-thread: convert to pkg-config-based build
Kevin Laatz [Thu, 3 Sep 2020 15:26:45 +0000 (16:26 +0100)]
examples/performance-thread: convert to pkg-config-based build

Remove references to the old make build system and use pkg-config for
building these examples.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
4 years agoexamples/server_node_efd: convert to pkg-config-based build
Kevin Laatz [Thu, 3 Sep 2020 15:26:43 +0000 (16:26 +0100)]
examples/server_node_efd: convert to pkg-config-based build

Remove references to the old make build system and use pkg-config for
building these examples.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
4 years agoexamples/ka-agent: convert to pkg-config-based build
Kevin Laatz [Thu, 3 Sep 2020 15:26:44 +0000 (16:26 +0100)]
examples/ka-agent: convert to pkg-config-based build

Remove references to the old make build system and use pkg-config for
building these examples.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
4 years agoexamples: remove legacy sections of makefiles
Ciara Power [Thu, 3 Sep 2020 15:26:41 +0000 (16:26 +0100)]
examples: remove legacy sections of makefiles

The example app makefiles contained sections using the legacy method of
compiling with make. These are no longer needed, and are removed,
leaving only the section that uses pkg-config for the make build.

Signed-off-by: Ciara Power <ciara.power@intel.com>
Acked-by: Nicolas Chautru <nicolas.chautru@intel.com>
4 years agodoc: build without using make
Bruce Richardson [Thu, 3 Sep 2020 15:26:58 +0000 (16:26 +0100)]
doc: build without using make

When building the DPDK guide documents, the DPDK version information was
pulled using "make showversion", which meant there was a dependency on
the DPDK make-based build system. Change this to have the version info
passed in from meson itself.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
4 years agoswitch default git branch name to main
Thomas Monjalon [Wed, 12 Aug 2020 09:15:30 +0000 (11:15 +0200)]
switch default git branch name to main

The default git branch of the main DPDK repository has been renamed
from master to main.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
4 years agomaintainers: remove QoS and pipeline repositories
Thomas Monjalon [Wed, 12 Aug 2020 07:49:00 +0000 (09:49 +0200)]
maintainers: remove QoS and pipeline repositories

The git trees dpdk-next-qos and dpdk-next-pipeline were created
to share the load of patches merging.
It has been decided in the Technical Board that the load is not big
enough to justify keeping these repositories.

The patches for ethdev TM and MTR will be managed in dpdk-next-net.
The sched and meter libraries will be managed in the main tree.
The packet framework will be managed in the main tree as well.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
4 years agodoc: describe process for new ABI versions
Ray Kinsella [Wed, 12 Aug 2020 11:26:02 +0000 (12:26 +0100)]
doc: describe process for new ABI versions

Added a section describing new ABI versions, this provides pointers to
the relevant amended rules that apply during the abi breakage window.
Also remove the large note at the head of the ABI policy describing the
ABI stability process that has taken place over the previous year.

Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
4 years agodoc: announce renaming in crypto scheduler API
Adam Dybkowski [Mon, 27 Jul 2020 09:41:13 +0000 (11:41 +0200)]
doc: announce renaming in crypto scheduler API

This patch adds a deprecation notice about upcoming changes
in public API of the Scheduler PMD.

Signed-off-by: Adam Dybkowski <adamx.dybkowski@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
4 years agodevtools: fix ABI update in map files
Thomas Monjalon [Tue, 11 Aug 2020 09:49:19 +0000 (11:49 +0200)]
devtools: fix ABI update in map files

The script was using the full ABI version, including the minor number,
to version the symbols in the map files.
It is fixed to use only the major number for symbol versioning.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
4 years agoversion: 20.11-rc0
Thomas Monjalon [Mon, 10 Aug 2020 15:10:20 +0000 (17:10 +0200)]
version: 20.11-rc0

Start a new release cycle with empty release notes.

The ABI version becomes 21.0.
The ABI major is back to normal, having only one number (21 vs 20.0).
The map files are updated to the new ABI major number (21).
The ABI exceptions are dropped.
Travis ABI check is disabled because compatibility is not preserved.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
4 years agoversion: 20.08.0
Thomas Monjalon [Sat, 8 Aug 2020 06:08:20 +0000 (08:08 +0200)]
version: 20.08.0

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
4 years agodoc: update release notes for 20.08
John McNamara [Fri, 7 Aug 2020 08:30:05 +0000 (09:30 +0100)]
doc: update release notes for 20.08

Fix grammar, spelling and formatting of DPDK 20.08 release notes.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
4 years agodoc: announce sched API changes for dynamic config
Savinay Dharmappa [Wed, 29 Jul 2020 11:08:01 +0000 (12:08 +0100)]
doc: announce sched API changes for dynamic config

Add deprecation note for making changes in data structures and APIs
in order to allow dynamic configuration of subport bandwidth profile.
These changes are aligned as suggested in the RFC[1].

https://mails.dpdk.org/archives/dev/2020-July/175161.html

Signed-off-by: Savinay Dharmappa <savinay.dharmappa@intel.com>
Acked-by: Jasvinder Singh <jasvinder.singh@intel.com>
Acked-by: Praveen Shetty <praveen.shetty@intel.com>
Acked-by: Sunil Pai G <sunil.pai.g@intel.com>
4 years agodoc: announce new ethdev field in Rx queue info
Chengchang Tang [Fri, 7 Aug 2020 10:30:52 +0000 (18:30 +0800)]
doc: announce new ethdev field in Rx queue info

Struct rte_eth_rxq_info will be modified to include a new field, indicating
the size of each buffer that could be used for HW to receive packets. Add
this field to rte_eth_rxq_info to expose relevant information to upper
layer users/application.

For more details:
https://mails.dpdk.org/archives/dev/2020-July/176135.html

Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
4 years agodoc: announce removal of vhost zero-copy dequeue
Maxime Coquelin [Mon, 3 Aug 2020 14:55:38 +0000 (16:55 +0200)]
doc: announce removal of vhost zero-copy dequeue

Vhost-user dequeue zero-copy support will be removed in
20.11. The only known user is OVS where the feature is
still experimental, and has not received any update for
several years. This feature faces reliability issues and
is often conflicting with new features being implemented.

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Chenbo Xia <chenbo.xia@intel.com>
Acked-by: Ian Stokes <ian.stokes@intel.com>
Acked-by: Ciara Loftus <ciara.loftus@intel.com>
Acked-by: Aaron Conole <aconole@redhat.com>
4 years agodoc: announce deprecation of CPU build flags
Bruce Richardson [Wed, 5 Aug 2020 14:21:41 +0000 (15:21 +0100)]
doc: announce deprecation of CPU build flags

The RTE_MACHINE_CPUFLAGS_* macros in DPDK build just duplicate info from
the compiler macros, so we can remove them and just use the compiler
versions directly.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
4 years agousertools: warn about future removal of setup script
Thomas Monjalon [Thu, 6 Aug 2020 17:13:03 +0000 (19:13 +0200)]
usertools: warn about future removal of setup script

As agreed in the deprecation notice, the "generic" script
to setup the Linux environment will be removed in DPDK 20.11.
Some specific parts may be converted into dedicated scripts.

In the meantime, a warning will be printed to users of this script.

Suggested-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
4 years agodevtools: ignore Linux-style fallthrough warning
Adrian Moreno [Tue, 4 Aug 2020 07:38:37 +0000 (09:38 +0200)]
devtools: ignore Linux-style fallthrough warning

The PREFER_FALLTHROUGH check warns if a passthrough comment is found
because, in the kernel, the special macro "fallthrough" is preferred.

Since that keyword is not defined in DPDK, ignore the warning.

Ignoring this check does not affect the MISSING_BREAK check that will
warn if a switch case/default is not preceded by break or a fallthrough
comment.

Signed-off-by: Adrian Moreno <amorenoz@redhat.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Chenbo Xia <chenbo.xia@intel.com>
4 years agodevtools: add acronyms in dictionary for commit checks
Ferruh Yigit [Thu, 6 Aug 2020 14:24:10 +0000 (15:24 +0100)]
devtools: add acronyms in dictionary for commit checks

GTPU  -> GPRS Tunnelling Protocol User Plane
MSI   -> Message Signalled Interrupts
MSI-X -> Message Signalled Interrupts (Extended)
TCAM  -> Ternary Content Addressable Memory
ULP   -> Upper Layer Protocol
XOR   -> Exclusive OR

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
4 years agodevtools: rename variables in maintainers file parsing
Stephen Hemminger [Thu, 6 Aug 2020 17:19:47 +0000 (10:19 -0700)]
devtools: rename variables in maintainers file parsing

Change variable names in the shell script.
Replace whitelist with include_files and blacklist with exclude_files.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: John McNamara <john.mcnamara@intel.com>
4 years agoethdev: improve API comment for MAC address addition
Stephen Hemminger [Thu, 6 Aug 2020 17:19:46 +0000 (10:19 -0700)]
ethdev: improve API comment for MAC address addition

The comment used the term whitelist and was awkardly written.
Replace it with simpler direct description of adding a new address.
No code or API changes for this.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: John McNamara <john.mcnamara@intel.com>
4 years agodoc: announce deprecation of blacklist/whitelist naming
Stephen Hemminger [Thu, 6 Aug 2020 17:19:45 +0000 (10:19 -0700)]
doc: announce deprecation of blacklist/whitelist naming

Announce upcoming changes for 20.11.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
4 years agodoc: fix reference to master process
Stephen Hemminger [Thu, 6 Aug 2020 17:19:44 +0000 (10:19 -0700)]
doc: fix reference to master process

Correct terminolgy here is primary process.
This is a bug in original doc.

Fixes: fc1f2750a3ec ("doc: programmers guide")
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
4 years agokni: fix reference to master/slave process
Stephen Hemminger [Thu, 6 Aug 2020 17:19:43 +0000 (10:19 -0700)]
kni: fix reference to master/slave process

In DPDK, the correct terms for process are primary/secondary.
This is bugfix, not a change in terms for new release.

Fixes: f2e7592c474c ("kni: fix multi-process support")
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
4 years agodoc: announce deprecation of master lcore naming
Stephen Hemminger [Thu, 6 Aug 2020 17:19:42 +0000 (10:19 -0700)]
doc: announce deprecation of master lcore naming

Announce upcoming changes related to master/slave in reference
to lcore.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: John McNamara <john.mcnamara@intel.com>
4 years agomaintainers: update for Windows
Harini Ramakrishnan [Wed, 5 Aug 2020 07:10:52 +0000 (00:10 -0700)]
maintainers: update for Windows

Signed-off-by: Harini Ramakrishnan <harini.ramakrishnan@microsoft.com>
Acked-by: Ranjit Menon <ranjit.menon@intel.com>
Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
4 years agomaintainers: update for Vhost/Virtio/vDPA
Maxime Coquelin [Thu, 30 Jul 2020 13:46:31 +0000 (15:46 +0200)]
maintainers: update for Vhost/Virtio/vDPA

Chenbo has done an excellent job in reviewing,
contributing and testing patches.

This patch adds him as co-maintainer for Vhost, Virtio
and vDPA components.

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Chenbo Xia <chenbo.xia@intel.com>
4 years agodoc: sort features in release notes
Thomas Monjalon [Thu, 6 Aug 2020 23:34:36 +0000 (01:34 +0200)]
doc: sort features in release notes

The features in release notes are easier to read if sorted.

Move vDPA near vhost features.
Move ethdev features of Marvell and Mellanox in alphabetical ordering.

Fix small indent issues at the same time.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
4 years agodoc: add tested platforms with Broadcom NICs
Ajit Khaparde [Thu, 6 Aug 2020 22:17:34 +0000 (15:17 -0700)]
doc: add tested platforms with Broadcom NICs

Add platforms tested with Broadcom NICs.

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
4 years agodoc: add tested Intel platforms with Intel NICs
Bo Chen [Wed, 5 Aug 2020 02:29:03 +0000 (10:29 +0800)]
doc: add tested Intel platforms with Intel NICs

Signed-off-by: Bo Chen <box.c.chen@intel.com>
4 years agodoc: update release notes for ice and iavf
Qi Zhang [Thu, 6 Aug 2020 11:09:26 +0000 (19:09 +0800)]
doc: update release notes for ice and iavf

Update release notes by adding new features for ice and iavf PMD.

Fixes: de32fa2ba27b ("net/ice: support RSS for IPv6 prefix")
Fixes: 610bc231d09b ("net/ice: support RSS for IPv4 IPv6 mix of GTP")
Fixes: a9bafa9f700c ("net/ice: support flow director GTPU outer IPv4/IPv6")
Fixes: 37e444b77814 ("net/ice: support hash for GTPU protocols")
Fixes: 54851ff3375c ("net/ice: support PPPoE RSS")

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Signed-off-by: Junfeng Guo <junfeng.guo@intel.com>
Signed-off-by: Jeff Guo <jia.guo@intel.com>
4 years agodoc: update release notes for mlx5 PMD
Suanming Mou [Thu, 6 Aug 2020 02:42:23 +0000 (10:42 +0800)]
doc: update release notes for mlx5 PMD

Update the release notes of mlx5 PMD for two new added devargs:
1. sys_mem_en
2. decap_en

Fixes: 5522da6b201b ("net/mlx5: add option to allocate memory from system")
Fixes: 50f95b23c9ba ("net/mlx5: add option to configure FCS or decapsulation")

Signed-off-by: Suanming Mou <suanmingm@mellanox.com>
4 years agodoc: fix release notes for mlx5 dependency
Viacheslav Ovsiienko [Thu, 6 Aug 2020 16:55:02 +0000 (16:55 +0000)]
doc: fix release notes for mlx5 dependency

The mlx5 PMD does not work on Power 9 platform with OFED
version 5.1-0.6.6.0 (latest GA release at the moment).
Release notes known issues chapter is updated accordingly,
workaround is proposed.

Fixes: 544f35c334e5 ("doc: add tested platforms with Mellanox NICs")

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Asaf Penso <asafp@mellanox.com>
4 years agodoc: announce more fields in flow API for IPv6
Dekel Peled [Mon, 3 Aug 2020 19:51:13 +0000 (22:51 +0300)]
doc: announce more fields in flow API for IPv6

Struct rte_flow_item_ipv6 will be modified to include additional
values, indicating existence or absence of IPv6 extension headers
following the IPv6 header, as proposed in RFC
https://mails.dpdk.org/archives/dev/2020-August/177257.html.
Because of ABI break this change is proposed for 20.11.

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: Ori Kam <orika@mellanox.com>
4 years agodoc: announce more fields in flow API for VLAN
Dekel Peled [Thu, 6 Aug 2020 10:45:07 +0000 (13:45 +0300)]
doc: announce more fields in flow API for VLAN

Structs rte_flow_item_eth and rte_flow_item_vlan will be modified,
to include an additional value, indicating existence or absence of VLAN
headers following the current header, as proposed in RFC
https://mails.dpdk.org/archives/dev/2020-August/177536.html.
Because of ABI break this change is proposed for 20.11.

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: Ori Kam <orika@mellanox.com>
4 years agodoc: announce ethdev API change for Rx split
Viacheslav Ovsiienko [Wed, 5 Aug 2020 08:49:55 +0000 (08:49 +0000)]
doc: announce ethdev API change for Rx split

The DPDK datapath in the transmit direction is very flexible.
The applications can build multi-segment packets and manages
almost all data aspects - the memory pools where segments
are allocated from, the segment lengths, the memory attributes
like external, registered, etc.

In the receiving direction, the datapath is much less flexible,
the applications can only specify the memory pool to configure
the receiving queue and nothing more. The packet being received
can only be pushed to the chain of the mbufs of the same data
buffer size and allocated from the same pool. In order to extend
the receiving datapath buffer description it is proposed to add
the new fields into rte_eth_rxconf structure:

struct rte_eth_rxconf {
    ...
    uint16_t rx_split_num; /* number of segments to split */
    uint16_t *rx_split_len; /* array of segment lengths */
    struct rte_mempool **mp; /* array of segment memory pools */
    ...
};

The non-zero value of rx_split_num field configures the receiving
queue to split ingress packets into multiple segments to the mbufs
allocated from various memory pools according to the specified
lengths. The zero value of rx_split_num field provides the
backward compatibility and queue should be configured in a regular
way (with single/multiple mbufs of the same data buffer length
allocated from the single memory pool).

The new approach would allow splitting the ingress packets into
multiple parts pushed to the memory with different attributes.
For example, the packet headers can be pushed to the embedded data
buffers within mbufs and the application data into the external
buffers attached to mbufs allocated from the different memory
pools. The memory attributes for the split parts may differ
either - for example the application data may be pushed into
the external memory located on the dedicated physical device,
say GPU or NVMe. This would improve the DPDK receiving datapath
flexibility preserving compatibility with existing API.

The proposed extended description of receiving buffers might be
considered by other vendors to be involved into similar features
support, it is the subject for the further discussion.

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
4 years agodoc: announce removal of unused enum in ACL library
Konstantin Ananyev [Thu, 6 Aug 2020 12:23:37 +0000 (13:23 +0100)]
doc: announce removal of unused enum in ACL library

Announce removal of unused enum value (RTE_ACL_CLASSIFY_NUM).

Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
4 years agodoc: announce internal hotplug structure removal
David Marchand [Tue, 4 Aug 2020 14:07:17 +0000 (16:07 +0200)]
doc: announce internal hotplug structure removal

rte_dev_event has never been used outside of the EAL.
No point in exposing it.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
4 years agodoc: announce change of security session API
Akhil Goyal [Thu, 30 Jul 2020 17:13:30 +0000 (22:43 +0530)]
doc: announce change of security session API

The API ``rte_security_session_create`` takes only single mempool
for session and session private data. So the application need to create
mempool for twice the number of sessions needed and will also lead to
wastage of memory as session private data need more memory compared to session.
Hence the API will be modified to take two mempool pointers - one for session
and one for private data. This is very similar to crypto based session
create APIs.

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Anoob Joseph <anoobj@marvell.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
4 years agodoc: announce removal of crypto list end enumerators
Arek Kusztal [Wed, 29 Jul 2020 14:46:51 +0000 (16:46 +0200)]
doc: announce removal of crypto list end enumerators

Enumerators RTE_CRYPTO_CIPHER_LIST_END, RTE_CRYPTO_AUTH_LIST_END,
RTE_CRYPTO_AEAD_LIST_END will be removed to prevent some problems
that may arise when adding new algorithms.

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
4 years agodoc: announce removal of interactive setup script
Thomas Monjalon [Tue, 4 Aug 2020 10:26:43 +0000 (12:26 +0200)]
doc: announce removal of interactive setup script

Environment configuration is the responsibility of distributions
or upper-level frameworks.
DPDK focus on documenting the requirements and some recommendations.
If some specific parts are complex, they can deserve some scripts.

Maintaining a good adaptative deployment setup is a project by itself.
Anyway this script was interactive, useful only for experimenters.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
4 years agoversion: 20.08-rc4
Thomas Monjalon [Thu, 6 Aug 2020 00:47:03 +0000 (02:47 +0200)]
version: 20.08-rc4

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
4 years agodoc: announce deprecation of port mirroring API
Thomas Monjalon [Mon, 3 Aug 2020 15:33:09 +0000 (17:33 +0200)]
doc: announce deprecation of port mirroring API

A new API is planned to be introduced for sampling and mirroring
with rte_flow. It should be more generic and allow more use cases.

This deprecation is to show the direction, avoiding overlapping APIs.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: David Marchand <david.marchand@redhat.com>
4 years agodoc: announce removal of L2 tunnel filtering API
Thomas Monjalon [Mon, 3 Aug 2020 18:06:27 +0000 (20:06 +0200)]
doc: announce removal of L2 tunnel filtering API

The functions for L2 tunnel were missed when marking the legacy
filtering API as deprecated. That's why a separate notice is done
to make clear that it will be removed as well in DPDK 20.11.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: David Marchand <david.marchand@redhat.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
4 years agodoc: announce removal of ethdev flow director API
Thomas Monjalon [Mon, 3 Aug 2020 17:49:09 +0000 (19:49 +0200)]
doc: announce removal of ethdev flow director API

The flow director config, part of the legacy filtering API,
was marked as deprecated last year.
A separate notice is added to make clear that these specific structs
will be removed as well in DPDK 20.11, as the rest of the legacy
filtering API.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: David Marchand <david.marchand@redhat.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
4 years agodoc: announce removal of legacy ethdev filtering API
Thomas Monjalon [Mon, 3 Aug 2020 11:49:01 +0000 (13:49 +0200)]
doc: announce removal of legacy ethdev filtering API

Deprecation of rte_eth_dev_filter_ctrl() was announced in 2016,
and confirmed last year by avoiding include of rte_eth_ctrl.h.
After 4 years, it is time to complete the removal of the API
which is replaced with rte_flow.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: David Marchand <david.marchand@redhat.com>
4 years agodoc: announce ethdev port freeing on close operation
Thomas Monjalon [Tue, 4 Aug 2020 09:20:14 +0000 (11:20 +0200)]
doc: announce ethdev port freeing on close operation

Since DPDK 18.11, some drivers are migrating to a new behaviour,
releasing port resources on close.
The temporary flag RTE_ETH_DEV_CLOSE_REMOVE triggers this new mode
in the migrated drivers.
After 2 years, the flag and the old behaviour will be removed.
Last drivers not migrated will have to complete the switch.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
4 years agodoc: announce mbuf layout change
Thomas Monjalon [Fri, 31 Jul 2020 16:03:49 +0000 (18:03 +0200)]
doc: announce mbuf layout change

In order to prepare for adding more features requiring more space in mbuf,
some static fields must become dynamic.
Some small layout changes may have performance benefits as well.

The deprecation notice for atomic refcount is moved and reworded
to fit below the layout deprecation.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: David Marchand <david.marchand@redhat.com>
4 years agodoc: announce eventdev ABI change to support DLB PMD
Timothy McDaniel [Mon, 3 Aug 2020 17:55:35 +0000 (12:55 -0500)]
doc: announce eventdev ABI change to support DLB PMD

The ABI changes associated with this notification will better support
devices that:
1. Have limits on the number or queues that may be linked to a port
2. Have ports that are limited to exactly one linked queue
3. Are not able to transparently transfer the event flow_id field

Signed-off-by: Timothy McDaniel <timothy.mcdaniel@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
4 years agodoc: announce PCI resources map API removal
David Marchand [Tue, 4 Aug 2020 08:47:32 +0000 (10:47 +0200)]
doc: announce PCI resources map API removal

The PCI resources map API (pci_map_resource/pci_unmap_resource) was
imposing use of Unix mmap flags while it does not make sense on Windows.
This API was only used to internally setup PCI devices in the PCI bus
driver and has no known external users.

Announce its removal in 20.11 with its associated structures.

The workaround implemented in the commit 9d2b24593724 ("pci: keep API
compatibility with mmap values") will be removed at the same time.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Gaetan Rivet <grive@u256.net>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
4 years agodoc: announce kernel driver enum removal
David Marchand [Tue, 4 Aug 2020 14:07:52 +0000 (16:07 +0200)]
doc: announce kernel driver enum removal

rte_kernel_driver is only used by the PCI subsystem and has polluted
ethdev for no reason.
Hide it in the PCI bus driver.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Gaetan Rivet <grive@u256.net>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
4 years agodoc: announce rawdev API change
Bruce Richardson [Mon, 13 Jul 2020 12:31:05 +0000 (13:31 +0100)]
doc: announce rawdev API change

Add to the documentation for 20.08 a notice about the changes of rawdev
APIs proposed by patchset [1].

[1] http://inbox.dpdk.org/dev/20200709152047.167730-1-bruce.richardson@intel.com/

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Rosen Xu <rosen.xu@intel.com>
4 years agodoc: announce removal of make build system
Bruce Richardson [Mon, 13 Jul 2020 12:31:04 +0000 (13:31 +0100)]
doc: announce removal of make build system

Add in an official notice that the make build system is being removed in
20.11 and provide a link to instructions on how to build using meson and
ninja instead.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
4 years agonet/bnxt: fix flow counter query
Somnath Kotur [Mon, 3 Aug 2020 14:12:19 +0000 (19:42 +0530)]
net/bnxt: fix flow counter query

OVS-DPDK seems to set the reset bit for every flow query. Honor
the bit by resetting the SW counter values after assigning them.
Also set the 'hit' bit only if the counter value retrieved by HW
is non-zero.
While querying flow stats, use max possible entries in the fc table scan
for valid entries instead of active entries as the active entry can be in
any slot in the table.

This is a critical fix for OVS-DPDK flow aging.

Fixes: 306c2d28e247 ("net/bnxt: support count action in flow query")

Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>
4 years agonet/bnxt: update resource allocation settings
Shahaji Bhosle [Mon, 3 Aug 2020 06:45:59 +0000 (12:15 +0530)]
net/bnxt: update resource allocation settings

Adjusted resource allocations for the hardware resources
like TCAM entries, action records, stat counters, exact match records to
scale up offload flows.
Also increased IPv4 nat entries to 1023.
This patch is a critical fix to enable driver load on current and all
FW versions going forward.

Fixes: cef3749d501e2 ("net/bnxt: update TruFlow resource allocation numbers")

Signed-off-by: Shahaji Bhosle <sbhosle@broadcom.com>
Signed-off-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com>
Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>
Reviewed-by: Mike Baucom <michael.baucom@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
4 years agoethdev: remove device-specific comments from VLAN API
Thomas Monjalon [Tue, 4 Aug 2020 09:48:08 +0000 (11:48 +0200)]
ethdev: remove device-specific comments from VLAN API

Some confusing comments were still present from old days,
when most drivers were from Intel.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
4 years agodoc: update firmware/driver mapping table for i40e
Bo Chen [Wed, 5 Aug 2020 02:41:18 +0000 (10:41 +0800)]
doc: update firmware/driver mapping table for i40e

Update i40e PMD firmware/driver mapping table.

Signed-off-by: Bo Chen <box.c.chen@intel.com>
4 years agonet/iavf: fix default RSS hash configuration
Jeff Guo [Tue, 4 Aug 2020 02:58:31 +0000 (10:58 +0800)]
net/iavf: fix default RSS hash configuration

Different device has different hash capability, it should not be
expected that all hash set would be successful to set into all
devices by default. So remove the return checking when hash default
set. And remove gtpu hash default set, iavf only enable hash for
general protocols.

Fixes: c94366cfc641 ("net/iavf: add GTPU in default hash")

Signed-off-by: Jeff Guo <jia.guo@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Tested-by: Wei Xie <weix.xie@intel.com>
4 years agonet/ice: revert fake TSO fixes
Haiyue Wang [Fri, 31 Jul 2020 05:59:40 +0000 (13:59 +0800)]
net/ice: revert fake TSO fixes

The two fixes are not the real root cause for MDD event, it mitigates
the failure rate when different test mode, so revert them.

Fixes: 2a0c9ae4f646 ("net/ice: fix TCP checksum offload")
Fixes: 7365a3cee51f ("net/ice: calculate TCP header size for offload")
Cc: stable@dpdk.org
Signed-off-by: Haiyue Wang <haiyue.wang@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
4 years agonet/ice: fix Tx hang with TSO
Haiyue Wang [Fri, 31 Jul 2020 04:27:13 +0000 (12:27 +0800)]
net/ice: fix Tx hang with TSO

The variables 'td_offset' and 'td_tag' should be reset to 0 for every
burst packet, otherwise the fields of Tx Descriptor will be set wrong,
this will cause the MDD event error, and Tx will hang.

Fixes: 17c7d0f9d6a4 ("net/ice: support basic Rx/Tx")
Cc: stable@dpdk.org
Signed-off-by: Haiyue Wang <haiyue.wang@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
4 years agonet/i40e: remove duplicate tunnel type check
Gaurav Singh [Sat, 1 Aug 2020 01:57:52 +0000 (21:57 -0400)]
net/i40e: remove duplicate tunnel type check

remove duplicate check

Fixes: 62e94f7f66fb ("net/i40e: configure packet type mapping")
Cc: stable@dpdk.org
Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
4 years agoregex/mlx5: fix registered driver name
Thomas Monjalon [Wed, 5 Aug 2020 14:51:01 +0000 (16:51 +0200)]
regex/mlx5: fix registered driver name

The driver name was registered as "net_mlx5_regex".
It is renamed as "regex_mlx5".
The same name is used in mlx5_regex_driver.pci_driver.driver.name,
instead of "mlx5_regex", for consistency.

The string used for log registration (pmd.regex.mlx5) could be derived
from the driver name. A macro is created so name definitions are close.

Fixes: cfc672a90b74 ("regex/mlx5: support probing")

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Ori Kam <orika@mellanox.com>
4 years agovdpa/mlx5: fix virtio queue unset
Matan Azrad [Mon, 3 Aug 2020 08:25:24 +0000 (08:25 +0000)]
vdpa/mlx5: fix virtio queue unset

When a virtq is destroyed, the SW should be able to continue the virtq
processing from where the HW stopped.

The current destroy behavior in the driver saves the virtq state (used
and available indexes) only when LM is requested.
So, when LM is not requested the queue state is not saved and the SW
indexes stay invalid.

Save the virtq state in the virtq destroy process.

Fixes: bff735011078 ("vdpa/mlx5: prepare virtio queues")
Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Xueming Li <xuemingl@mellanox.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
4 years agovdpa/mlx5: fix queue update synchronization
Xueming Li [Sun, 2 Aug 2020 09:21:51 +0000 (09:21 +0000)]
vdpa/mlx5: fix queue update synchronization

The driver CQ event management is done by non vhost library thread,
either the dpdk host thread or the internal vDPA driver thread.

When a queue is updated the CQ may be destroyed and created by the vhost
library thread via the queue state operation.

When the queue update feature was added, it didn't synchronize the CQ
management to the queue update what may cause invalid memory access.

Add the aforementioned synchronization by a new per device configuration
mutex.

Fixes: c47d6e83334e ("vdpa/mlx5: support queue update")

Signed-off-by: Xueming Li <xuemingl@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
4 years agonet/netvsc: fix chimney index
Long Li [Sun, 2 Aug 2020 06:04:28 +0000 (23:04 -0700)]
net/netvsc: fix chimney index

The code should look into "slab" to figure out the index returned from
rte_bitmap_scan().

Fixes: cc02518132 ("net/netvsc: split send buffers from Tx descriptors")
Cc: stable@dpdk.org
Signed-off-by: Long Li <longli@microsoft.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
4 years agonet/bonding: fix dead loop on RSS RETA update
Zhiguang He [Sun, 2 Aug 2020 12:27:27 +0000 (20:27 +0800)]
net/bonding: fix dead loop on RSS RETA update

When parameter reta_size < RTE_RETA_GROUP_SIZE, reta_count will be 0.
Then this function will be deadloop.

Fixes: 734ce47f71e0 ("bonding: support RSS dynamic configuration")
Cc: stable@dpdk.org
Signed-off-by: Zhiguang He <hezhiguang3@huawei.com>
Acked-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
4 years agodoc: add timestamp upper limitation in mlx5 guide
Viacheslav Ovsiienko [Mon, 27 Jul 2020 15:51:04 +0000 (15:51 +0000)]
doc: add timestamp upper limitation in mlx5 guide

Add description about Tx scheduling timestamp upper limit.
If timestamp exceeds the value, it is marked by PMD as being
into "too-distant-future" and not scheduled at all
(is being sent without any wait).

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
4 years agonet/mlx5: fix number of retries for UAR allocation
Dekel Peled [Mon, 3 Aug 2020 09:18:27 +0000 (12:18 +0300)]
net/mlx5: fix number of retries for UAR allocation

Previous fix added definition of number of retries for UAR allocation.
This value is adequate for x86 systems with 4K pages.
On Power9 system with 64K pages the required value is 32.
This patch updates the defined value from 2 to 32.

Fixes: a0bfe9d56f74 ("net/mlx5: fix UAR memory mapping type")

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
4 years agoversion: 20.08-rc3
Thomas Monjalon [Thu, 30 Jul 2020 23:37:05 +0000 (01:37 +0200)]
version: 20.08-rc3

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
4 years agodoc: refer to default directory for hugepages
Sarosh Arif [Tue, 23 Jun 2020 05:55:59 +0000 (10:55 +0500)]
doc: refer to default directory for hugepages

Change /dev/huge to /dev/hugepages which is the default directory
on most systems.

Bugzilla ID: 492

Signed-off-by: Sarosh Arif <sarosh.arif@emumba.com>
4 years agodoc: fix ethtool app path
Sarosh Arif [Thu, 4 Jun 2020 09:59:31 +0000 (14:59 +0500)]
doc: fix ethtool app path

The path to the ethtool application was slightly incorrect in the
documentation. This patch corrects that path.

Fixes: bda68ab9d1e7 ("examples/ethtool: add user-space ethtool sample application")
Cc: stable@dpdk.org
Signed-off-by: Sarosh Arif <sarosh.arif@emumba.com>
4 years agodoc: add patch dependency syntax to contributing guide
Ferruh Yigit [Fri, 3 Jul 2020 09:53:48 +0000 (10:53 +0100)]
doc: add patch dependency syntax to contributing guide

To help managing patch dependencies, both for maintainers or automation
tasks, document a syntax for commit logs or cover letters to express
their dependencies.

Using the syntax proposed in Bugzilla ID 210:
[https://bugs.dpdk.org/show_bug.cgi?id=210]

Depends-on: series-NNNNN ("Title of the series")
OR
Depends-on: patch-NNNNN ("Title of the patch")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
4 years agodoc: fix build when sphinx reports version to stderr
Bruce Richardson [Mon, 22 Jun 2020 14:00:02 +0000 (15:00 +0100)]
doc: fix build when sphinx reports version to stderr

When sphinx-build reports its version information to stderr rather
than stdout, the wrapper script misses it, and then fails to run.
We can fix this by redirecting stderr to stdout for the version
query call.

Fixes: f5ab2074cfba ("doc: rebuild with meson whenever a file changes")
Cc: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Tested-by: Ciara Power <ciara.power@intel.com>
Tested-by: David Marchand <david.marchand@redhat.com>
4 years agodevtools: summarize git log check
Ciara Power [Tue, 23 Jun 2020 09:29:35 +0000 (10:29 +0100)]
devtools: summarize git log check

When all checks are completed on the specified commit logs, the script
indicates if all are valid, or if there were some failures.

Signed-off-by: Ciara Power <ciara.power@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
4 years agodevtools: standardize script arguments
Ciara Power [Tue, 23 Jun 2020 09:29:34 +0000 (10:29 +0100)]
devtools: standardize script arguments

This patch modifies the arguments expected by the check-git-log script,
to match the format of arguments for the checkpatches script. Both
scripts now take certain argument options in the same format, making
them easier to use.
e.g. Both now take a commit ID range by "-r <range>"

The checkpatches help print is also updated to include the "-h" option.

The contributor's guide includes the usage of both the checkpatches and
check-git-log scripts, which needed to be updated to reflect the now
standardised format.

Signed-off-by: Ciara Power <ciara.power@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Reviewed-by: Thomas Monjalon <thomas@monjalon.net>
4 years agodevtools: add new SPDX license compliance checker
Stephen Hemminger [Tue, 14 Jul 2020 23:21:01 +0000 (16:21 -0700)]
devtools: add new SPDX license compliance checker

Simple script to look for drivers and scripts that
are missing requires SPDX header.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
4 years agodevtools: add checkpatch spelling dictionary builder
Thomas Monjalon [Tue, 7 Jul 2020 08:35:55 +0000 (10:35 +0200)]
devtools: add checkpatch spelling dictionary builder

The script checkpatch.pl (used in checkpatches.sh) can use a dictionary
from the codespell project to check spelling.
There are multiple dictionaries to be used.

The script build-dict.sh concatenate multiple dictionaries and remove
some annoying false positives.

The dictionary built by this script must be saved in a file which
is referenced with the environment variable DPDK_CHECKPATCH_CODESPELL.
The easiest is to export this variable in ~/.config/dpdk/devel.config.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
4 years agodevtools: avoid explicit experimental build flag
David Marchand [Thu, 16 Jul 2020 07:26:48 +0000 (09:26 +0200)]
devtools: avoid explicit experimental build flag

-DALLOW_EXPERIMENTAL_API is always set for in-tree compilation since
https://git.dpdk.org/dpdk/commit/?id=acec04c4b2f5

Warn people not to copy/paste this flag that was needed before.

Signed-off-by: David Marchand <david.marchand@redhat.com>
4 years agonet/netvsc: fix crash during Tx
Chas Williams [Wed, 29 Jul 2020 13:58:44 +0000 (09:58 -0400)]
net/netvsc: fix crash during Tx

Commit cc0251813277 ("net/netvsc: split send buffers from Tx
descriptors") changed the way that transmit descriptors are
allocated. They come from a single pool instead of being
individually attached to each mbuf. To find the IOVA, you need
to calculate the offset from the base of the pool.

Fixes: cc0251813277 ("net/netvsc: split send buffers from Tx descriptors")
Cc: stable@dpdk.org
Signed-off-by: Chas Williams <3chas3@gmail.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
4 years agoexamples/packet_ordering: use proper exit method
Sarosh Arif [Fri, 5 Jun 2020 11:48:28 +0000 (16:48 +0500)]
examples/packet_ordering: use proper exit method

rte_exit should be called when the application exits due to
invalid EAL or application arguments.

Fixes: 850f3733f840 ("examples/packet_ordering: new sample app")

Signed-off-by: Sarosh Arif <sarosh.arif@emumba.com>
4 years agoexamples: fix port mask parsing failure handling
Sarosh Arif [Thu, 11 Jun 2020 12:36:24 +0000 (17:36 +0500)]
examples: fix port mask parsing failure handling

Giving invalid or zero portmask as command line option to
these applications will have an unexpected response.
The reason behind this is that the return value of function
that parses portmask is stored in a variable whose datatype is
unsigned int, hence returning -1 in case of zero or
invalid portmask causes an unexpected behaviour.
If we return 0 instead of -1 this issue can be resolved.
The program already contains the functionality to print
"invalid portmask" and program usage if zero is returned.

Signed-off-by: Sarosh Arif <sarosh.arif@emumba.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
4 years agodoc: add more detail to telemetry guides
Ciara Power [Fri, 24 Jul 2020 11:20:33 +0000 (12:20 +0100)]
doc: add more detail to telemetry guides

This patch adds examples to the Telemetry HowTo guide, to demonstrate
commands that use parameters. The programmer's guide is also modified to
include details on writing a callback function for a new command.

Signed-off-by: Ciara Power <ciara.power@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
4 years agodoc: add tested platforms with Mellanox NICs
Raslan Darawsheh [Wed, 29 Jul 2020 12:22:14 +0000 (15:22 +0300)]
doc: add tested platforms with Mellanox NICs

Signed-off-by: Raslan Darawsheh <rasland@mellanox.com>
4 years agonet/kni: set packet input port in Rx
Jecky Pei [Fri, 24 Jul 2020 15:10:28 +0000 (16:10 +0100)]
net/kni: set packet input port in Rx

Store port_id in pmd_internals when eth kni device is created.
Then set packet port of rte_mbuf in function eth_kni_rx.

Cc: stable@dpdk.org
Signed-off-by: Jecky Pei <jpei@sonicwall.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
4 years agocommon/mlx5: fix regex register layout
Yuval Avnery [Tue, 28 Jul 2020 17:50:44 +0000 (17:50 +0000)]
common/mlx5: fix regex register layout

Reserved field should be 0x60 instead of 0x40.
Will fail FW check otherwise.

Fixes: 9428310ae1f1 ("regex/mlx5: add engine status check")

Signed-off-by: Yuval Avnery <yuvalav@mellanox.com>
Acked-by: Ori Kam <orika@mellanox.com>
4 years agocommon/mlx5: fix MAC addresses flush
Shiri Kuzin [Wed, 29 Jul 2020 14:29:00 +0000 (17:29 +0300)]
common/mlx5: fix MAC addresses flush

mlx5_nl_mac_addr_flush should flush all allocated MAC
addresses.

The MAC addresses array size should be of size
MLX5_MAX_MAC_ADDRESSES, but currently we return without
flushing the addresses if size is MLX5_MAX_MAC_ADDRESSES.

This was fixed by not allowing an array larger than
MLX5_MAX_MAC_ADDRESSES.

Fixes: e9a8ac59b6e2 ("common/mlx5: fix MAC addresses assert")
Cc: stable@dpdk.org
Signed-off-by: Shiri Kuzin <shirik@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
4 years agocommon/mlx5: fix user mode register access command
Viacheslav Ovsiienko [Wed, 29 Jul 2020 12:29:14 +0000 (12:29 +0000)]
common/mlx5: fix user mode register access command

To detect the timestamp mode configured on the NIC the mlx5
PMD uses the firmware command ACCESS_REGISTER_USER. This
command is relatively new and might be not supported by
older firmware versions and was rejected, causing annoying
messages in kernel log.

This patch adds the attribute flag check whether firmware
supports the command and avoid the call if it does not.

Fixes: bb7ef9a96281 ("common/mlx5: add register access DevX routine")

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
4 years agovhost: fix async copy on multi-page buffers
Patrick Fu [Wed, 29 Jul 2020 02:04:56 +0000 (10:04 +0800)]
vhost: fix async copy on multi-page buffers

Async copy fails when single ring buffer vector is split on multiple
physical pages. This happens because current hpa address translation
function doesn't handle multi-page buffers. A new gpa to hpa address
conversion function, which returns the hpa on the first hitting host
pages, is implemented in this patch. Async data path recursively calls
this new function to construct a multi-segments async copy descriptor
for ring buffers crossing physical page boundaries.

Fixes: cd6760da1076 ("vhost: introduce async enqueue for split ring")

Signed-off-by: Patrick Fu <patrick.fu@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
4 years agonet/virtio-user: check tap system call setting
Chenbo Xia [Wed, 29 Jul 2020 13:12:30 +0000 (13:12 +0000)]
net/virtio-user: check tap system call setting

Setting the flags of tapfd may fail and the return value
should be checked.

Coverity issue: 140739
Fixes: e3b434818bbb ("net/virtio-user: support kernel vhost")
Cc: stable@dpdk.org
Signed-off-by: Chenbo Xia <chenbo.xia@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
4 years agonet/vhost: fix interrupt mode
Maxime Coquelin [Fri, 24 Jul 2020 14:45:30 +0000 (16:45 +0200)]
net/vhost: fix interrupt mode

At .new_device() time, only the first vring pair is
now ready, other vrings are configured later.

Problem is that when application will setup and enable
interrupts, only the first queue pair Rx interrupt will
be enabled.

This patches fixes the issue by setting the number of
max interrupts to the number of Rx queues that will be
later initialized. Then, as soon as a Rx vring is ready
and interrupt enabled by the application, it removes the
corresponding uninitialized epoll event, and installs a
new one with the valid FD.

Fixes: 604052ae5395 ("net/vhost: support queue update")

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
4 years agonet/vhost: fix queue update
Maxime Coquelin [Thu, 23 Jul 2020 13:08:54 +0000 (15:08 +0200)]
net/vhost: fix queue update

Now that the vhost library saves the guest notifications
enablement value in its virtqueues metadata, it is not
necessary to do it in the vring_state_changed callback.

One effect of the patch is also to prevent possible
deadlock happening in vhost library.

Fixes: 604052ae5395 ("net/vhost: support queue update")

Reported-by: Yinan Wang <yinan.wang@intel.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Tested-by: Yinan Wang <yinan.wang@intel.com>
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
4 years agovhost: fix guest notification setting
Maxime Coquelin [Thu, 23 Jul 2020 13:08:53 +0000 (15:08 +0200)]
vhost: fix guest notification setting

If rte_vhost_enable_guest_notification is called before
the virtqueue is ready, the configuration is lost.

This patch fixes this by saving the guest notification
enablement value requested by the application, and apply
it before the virtqueue is made ready to the application.

Fixes: 604052ae5395 ("net/vhost: support queue update")

Reported-by: Yinan Wang <yinan.wang@intel.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Tested-by: Yinan Wang <yinan.wang@intel.com>
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
4 years agonet/bnxt: remove EEM system memory support
Randy Schacher [Tue, 28 Jul 2020 21:03:42 +0000 (17:03 -0400)]
net/bnxt: remove EEM system memory support

Remove the memory management scheme for Extended Exact Match
using system memory. Using host memory scheme instead which
was the default anyway.

Fixes: b2da02480cb7 ("net/bnxt: support EEM system memory")

Signed-off-by: Randy Schacher <stuart.schacher@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Peter Spreadborough <peter.spreadborough@broadcom.com>
Reviewed-by: Farah Smith <farah.smith@broadcom.com>
4 years agoapp/testpmd: fix timestamp init in txonly mode
Viacheslav Ovsiienko [Wed, 29 Jul 2020 12:29:54 +0000 (12:29 +0000)]
app/testpmd: fix timestamp init in txonly mode

The testpmd application forwards data in multiple threads.
In the txonly mode the Tx timestamps must be initialized
on per thread basis to provide phase shift for the packet
burst being sent. This per thread initialization was performed
on zero value of the variable in thread local storage and
happened only once after testpmd forwarding start. Executing
"start" and "stop" commands did not cause thread local variables
zeroing and wrong timestamp values were used.

Fixes: 4940344dab1d ("app/testpmd: add Tx scheduling command")

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Reviewed-by: Phil Yang <phil.yang@arm.com>