Ciara Power [Thu, 3 Sep 2020 15:26:50 +0000 (16:26 +0100)]
build: remove makefiles
A decision was made [1] to no longer support Make in DPDK, this patch
removes all Makefiles that do not make use of pkg-config, along with
the mk directory previously used by make.
Signed-off-by: Ciara Power <ciara.power@intel.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
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>
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>
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>
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>
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.
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>
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>
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].
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
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>
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>
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>
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>
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>
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>
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>
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.
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>
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>
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>
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>
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>
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>
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.
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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.
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>
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>
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>
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>
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>
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>
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.
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")
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>
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>
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>
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>
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>
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>
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.
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.
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>
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>
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>