Igor Romanov [Thu, 7 Feb 2019 16:29:12 +0000 (16:29 +0000)]
net/sfc/base: remove min/max defines for number of Rx descs
EF100/Riverhead has different min/max limits. So, these limits should
be a part of NIC config, not defines common for all NIC families.
Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Igor Romanov [Thu, 7 Feb 2019 16:29:11 +0000 (16:29 +0000)]
net/sfc/base: define max desc number for every EF10 NIC
For consistency with defines of min descriptor number, define max
descriptor number for Huntington, Medford and Medford2.
Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Igor Romanov [Thu, 7 Feb 2019 16:29:10 +0000 (16:29 +0000)]
net/sfc/base: remove min define for number of Tx descs
EF100/Riverhead has different min limit. So, this limit should
be a part of NIC config, not define common for all NIC families.
Define maximum Tx descriptor number for Siena in the same way as
minimum for consistency.
Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Ivan Malov [Thu, 7 Feb 2019 16:29:09 +0000 (16:29 +0000)]
net/sfc/base: report support for Tx checksum op descriptors
FreeBSD driver needs a patch to provide a means for packets
which do not need checksum offload but have flow ID set
to avoid hitting only the first Tx queue (which has been used
for packets not needing checksum offload).
This should be possible on Huntington, Medford or Medford2 chips
since these support toggling checksum offload on any given queue
dynamically by means of pushing option descriptors.
The patch for FreeBSD driver will then need a means to figure out
whether the feature can be used, and testing adapter family might
not be a good solution.
This patch adds a feature bit specifically to indicate support
for checksum option descriptors. The new feature bits may have
more users in future, apart from the mentioned FreeBSD patch.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Mark Spender [Thu, 7 Feb 2019 16:29:08 +0000 (16:29 +0000)]
net/sfc/base: ensure EvQ poll stops when abort is requested
If an event handler requested an abort, only the inner loop was
guaranteed to be broken out of - the outer loop could continue
if total == batch.
Fix this by poisoning batch to ensure it is different to total.
Signed-off-by: Mark Spender <mspender@solarflare.com>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Richard Houldsworth [Thu, 7 Feb 2019 16:29:07 +0000 (16:29 +0000)]
net/sfc/base: update external port number calculation
Revise the external port calculation to support all
X2 port modes. The previous algorithm could not
handle different port numbering schemes on each cage.
Signed-off-by: Richard Houldsworth <rhouldsworth@solarflare.com>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Richard Houldsworth [Thu, 7 Feb 2019 16:29:06 +0000 (16:29 +0000)]
net/sfc/base: correct annotations where NULL input is OK
Correct annotations where NULL input can be permitted
Signed-off-by: Richard Houldsworth <rhouldsworth@solarflare.com>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:53 +0000 (12:17 +0000)]
net/sfc: support Rx packet types get in secondary process
Secondary process needs to know packet classes supported
by the NIC on Rx.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:52 +0000 (12:17 +0000)]
net/sfc: separate adapter primary process and shared data
Make sfc_adapter primary process only.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:51 +0000 (12:17 +0000)]
net/sfc: remove adapter locks from secondary process ops
Adapter lock will become primary process only.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:50 +0000 (12:17 +0000)]
net/sfc: move isolated flag in adapter shared
The flag is required in default RSS RETA get which does not make sense
in isolated mode.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:49 +0000 (12:17 +0000)]
net/sfc: move RSS config to adapter shared
RSS get requests are supported in secondary process.
Prepare to make sfc_adapter primary process private data.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:48 +0000 (12:17 +0000)]
net/sfc: move TxQ shared information to adapter shared
Prepare to make sfc_adapter primary process private data.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:47 +0000 (12:17 +0000)]
net/sfc: move RxQ shared information to adapter shared
Prepare to make sfc_adapter primary process private data.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:46 +0000 (12:17 +0000)]
net/sfc: make main logging macro reusable in secondary
Logging should be supported in secondary process and now we have
everything required to share at least main logging macro.
sfc_adapter is going to become primary process only.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:45 +0000 (12:17 +0000)]
net/sfc: move Rx/Tx datapath names to shared state
Prepare to make sfc_adapter primary process private data.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:44 +0000 (12:17 +0000)]
net/sfc: start to factor out multi-process shared data
sfc_adapter structure will become primary process only private data.
Start to factor out shared data into dedicated structure which will
become separate structure finally.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:43 +0000 (12:17 +0000)]
net/sfc: remove TxQ control from shared TxQ info
libefx is not multi-process aware and all related structures
should be moved to primary process only.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:42 +0000 (12:17 +0000)]
net/sfc: remove RxQ control from shared RxQ info
libefx is not multi-process aware and all related structures
should be moved to primary process only.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:41 +0000 (12:17 +0000)]
net/sfc: remove unnecessary functions to get TxQ index
TxQ index is stored in generic datapath queue structure.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:40 +0000 (12:17 +0000)]
net/sfc: remove unnecessary functions to get RxQ index
RxQ index is stored in generic datapath queue structure.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:39 +0000 (12:17 +0000)]
net/sfc: support RSS RETA and hash config get in secondary
RSS RETA query and hash configuration get functions use shared
adapter data only. No libefx functions are called.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:38 +0000 (12:17 +0000)]
net/sfc: support Tx descriptor status in secondary process
If Tx datapath supports multi-process, secondary process should be
able to use Tx descriptor status API.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:37 +0000 (12:17 +0000)]
net/sfc: move datapath TxQ handle to shared TxQ info
If datapath supports multi-process, it should be possible to get
its TxQ structure by the queue index.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:36 +0000 (12:17 +0000)]
net/sfc: move TxQ state to multi-process shared location
Secondary process needs to know TxQ state.
TxQ control structure will become primary process private.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:35 +0000 (12:17 +0000)]
net/sfc: support Rx descriptor status in secondary process
If Rx datapath supports multi-process, secondary process should be
able to use Rx descriptor status and related API.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:34 +0000 (12:17 +0000)]
net/sfc: move datapath RxQ handle to shared RxQ info
If datapath supports multi-process, it should be possible to get
its RxQ structure by the queue index.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:33 +0000 (12:17 +0000)]
net/sfc: move RxQ state to multi-process shared location
Secondary process needs to know RxQ state.
RxQ control structure will become primary process private.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:32 +0000 (12:17 +0000)]
net/sfc: move main log type to process private data
Dynamic log type value may differ in primary and secondary processes.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:31 +0000 (12:17 +0000)]
net/sfc: move datapath ops pointers to process private data
The change is required to support datapath-dependent device operations
for secondary process. It is just a step in the direction.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:30 +0000 (12:17 +0000)]
net/sfc: make it simpler to change datapath ops location
Rx and Tx datapath ops should be stored in process private
data since these structures are located in the data section
(not allocated from shared memory).
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:29 +0000 (12:17 +0000)]
net/sfc: remove wrappers around Rx descriptor count and done
These wrappers are used in single place and just complicate reading
and understanding if these ops could be supported in secondary process.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:28 +0000 (12:17 +0000)]
net/sfc: avoid usage of TxQ control structure in info get
TxQ control structure contains primary process only data and will become
primary process only. TxQ info get is supported in secondary process.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:27 +0000 (12:17 +0000)]
net/sfc: avoid usage of RxQ control structure in info get
RxQ control structure contains primary process only data and will
become primary process only. RxQ info get is supported in secondary
process.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:26 +0000 (12:17 +0000)]
net/sfc: fix logging from secondary process
Dynamic log type value may differ in different processes.
Fixes:
f28ede500c2e ("net/sfc: support multi-process")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Thu, 7 Feb 2019 12:17:25 +0000 (12:17 +0000)]
net/sfc: remove control path logging from Rx queue count
Rx queue count may be used from data core and it should not
generate control path logs.
Fixes:
04aa6b9c5fd7 ("net/sfc: get RxQ pending descriptors count")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Ivan Malov [Thu, 7 Feb 2019 12:17:24 +0000 (12:17 +0000)]
net/sfc: log port ID as 16-bit unsigned integer on panic
Fixes:
f8244c6399d9 ("ethdev: increase port id range")
Cc: stable@dpdk.org
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Hari Kumar Vemula [Tue, 5 Feb 2019 13:39:39 +0000 (13:39 +0000)]
net/bonding: fix values of descriptor limits
test_create_bonded_device is failing due to improper initialisation in
bonded device configuration. Which leads to crash while setting up
queues.
The value of nb_rx_desc is checked if it is not in range of rx_desc_lim
of bonded device which fails.
This is due to "rx_desc_lim" is set to 0 as default value of bonded
device during bond_alloc().
Hence nb_rx_desc (1024) is > 0 and test fails.
Fix is to set the default values of rx_desc_lim of bonded device to
appropriate value.
Receive the values from slaves configuration like done for other
existing slave configuration
Fixes:
2efb58cbab6e ("bond: new link bonding library")
Cc: stable@dpdk.org
Signed-off-by: Hari Kumar Vemula <hari.kumarx.vemula@intel.com>
Acked-by: Chas Williams <chas3@att.com>
Qi Zhang [Wed, 30 Jan 2019 01:08:54 +0000 (09:08 +0800)]
net/pcap: fix memory leak
Fix potential memory leak due to kvlist not be freed.
Fixes:
0d0dd2d9d8ff ("net/pcap: enable data path for secondary process")
Cc: stable@dpdk.org
Reported-by: Gage Eads <gage.eads@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Viacheslav Ovsiienko [Tue, 22 Jan 2019 10:57:04 +0000 (10:57 +0000)]
app/testpmd: add TOS and TTL fields to VXLAN encapsulation
The new testpmd set vxlan-tos-ttl command is added. It
allows to specify tos and tll fields for encapsulation IP
header.
IPv4 VXLAN outer header:
testpmd> set vxlan-tos-ttl ip-version ipv4 vni 4 udp-src 4
udp-dst 4 ip-tos 0 ip-ttl 255 ip-src 127.0.0.1
ip-dst 128.0.0.1 eth-src 11:11:11:11:11:11
eth-dst 22:22:22:22:22:22
IPv6 VXLAN outer header:
testpmd> set vxlan-tos-ttl ip-version ipv6 vni 4 udp-src 4
udp-dst 4 ip-tos 0 ip-ttl 255 ::1 ip-dst ::2222
eth-src 11:11:11:11:11:11 eth-dst
22:22:22:22:22:22
Note: ip-ttl parameter corresponds the nop_limits field for IPv6.
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Ori Kam <orika@mellanox.com>
Vladimir Medvedkin [Tue, 5 Feb 2019 13:57:35 +0000 (13:57 +0000)]
hash: replace license text with SPDX tag for Toeplitz algo
Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Vladimir Medvedkin [Tue, 5 Feb 2019 13:57:33 +0000 (13:57 +0000)]
maintainers: claim co-maintainership of LPM library
Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Thomas Monjalon [Sat, 2 Feb 2019 15:28:44 +0000 (16:28 +0100)]
version: 19.05-rc0
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: John McNamara <john.mcnamara@intel.com>
Thomas Monjalon [Fri, 1 Feb 2019 14:25:17 +0000 (15:25 +0100)]
version: 19.02.0
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
John McNamara [Fri, 1 Feb 2019 09:23:48 +0000 (09:23 +0000)]
doc: update release notes for 19.02
Fix grammar, spelling and formatting of DPDK 19.02 release notes.
Signed-off-by: John McNamara <john.mcnamara@intel.com>
Reshma Pattan [Wed, 12 Dec 2018 16:38:02 +0000 (16:38 +0000)]
doc: announce replacement of meter colors
Added deprecation notice to replace rte_meter_color
with rte_color.
Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Acked-by: Jasvinder Singh <jasvinder.singh@intel.com>
Acked-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
Nikhil Rao [Tue, 22 Jan 2019 05:44:26 +0000 (11:14 +0530)]
doc: announce parameter change of a service API function
rte_service_attr_get() is passed a uint32_t * to retrieve
an attribute value, this will be changed to uin64_t * as per
patch posted at http://patchwork.dpdk.org/patch/49968/
Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Kevin Traynor <ktraynor@redhat.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: David Marchand <david.marchand@redhat.com>
Bruce Richardson [Wed, 16 Jan 2019 11:37:13 +0000 (11:37 +0000)]
doc: announce meson version upgrade
Add a notice in the deprecation section of the release notes to call out
the fact that the minimum supported meson version for DPDK will change
from 19.05 onwards.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Timothy Redaelli <tredaelli@redhat.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Bruce Richardson [Wed, 30 Jan 2019 16:43:44 +0000 (16:43 +0000)]
doc: remove note about meson being experimental
At this stage, meson builds are widely supported for DPDK, and so
the build system should be no longer called out as experimental.
NOTE: this does not imply it's the primary build system, just that
it's safe to use for day-to-day work and for packaging if so
desired.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Anatoly Burakov [Thu, 31 Jan 2019 17:05:51 +0000 (17:05 +0000)]
doc: clarify libnuma requirement for NUMA systems
Since 18.05, libnuma is pretty much required on Linux when using
non-legacy mode, because without it, we cannot know where our
hugepages are located [1].
In legacy mode, libnuma is not required because we can still sort
pages by sockets, as we use pagemap lookup method to figure out
socket ID's for pages.
So, document libnuma as required for NUMA systems and non-legacy
mode.
[1] https://mails.dpdk.org/archives/dev/2018-December/120490.html
Fixes:
6b42f75632f0 ("eal: enable non-legacy memory mode")
Cc: stable@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Kevin Traynor <ktraynor@redhat.com>
Declan Doherty [Mon, 28 Jan 2019 12:57:19 +0000 (12:57 +0000)]
maintainers: resign from maintainership of link bonding
I've been unable to dedicate enough time to actively help in the
maintainership of the link bonding PMD, and as Chas is now actively
maintaining this PMD, I'm removing my name against it in the
MAINTAINERS file.
Signed-off-by: Declan Doherty <declan.doherty@intel.com>
Thomas Monjalon [Wed, 30 Jan 2019 11:20:20 +0000 (12:20 +0100)]
doc: improve Mellanox bifurcated model description
In the howto guide about flow bifurcation, the Mellanox case
(which does not require specific details) was missing in the landscape.
In the Linux drivers guide, it was not clear that the flow bifurcation
is performed in the NIC hardware.
References to flow isolated mode are also inserted in those contexts.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Thomas Monjalon [Wed, 30 Jan 2019 11:20:19 +0000 (12:20 +0100)]
doc: add references to flow isolated mode in NICs guide
Some drivers (mlx, mvpp2, sfc) support the flow isolated mode,
but the feature was not advertised.
A reference to the feature description is added for each driver.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Thomas Monjalon [Wed, 30 Jan 2019 11:20:18 +0000 (12:20 +0100)]
doc: remove useless anchor for flow API guide
A doc page (.rst file) can be referenced with :doc: syntax
instead of :ref: to .. anchor.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Yongseok Koh [Wed, 30 Jan 2019 07:53:21 +0000 (23:53 -0800)]
doc: add release notes for mlx5
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Yongseok Koh [Wed, 30 Jan 2019 07:53:20 +0000 (23:53 -0800)]
doc: add Mellanox EN support in mlx5 guide
Mellanox EN package is supported along with Mellanox OFED. Mellanox EN is
distriubuted for Ethernet users.
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Yongseok Koh [Wed, 30 Jan 2019 07:53:19 +0000 (23:53 -0800)]
doc: add mlx5 note for Bluefield build configuration
Fixes:
d14e4e976f65 ("config: add Mellanox BlueField armv8 SoC")
Cc: stable@dpdk.org
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Viacheslav Ovsiienko [Mon, 28 Jan 2019 14:22:14 +0000 (14:22 +0000)]
net/mlx5: fix build for armv8
Added <rte_cycles.h> inclusion, was not included on some
building setups (armv8).
Fixes:
71ab2d64723c ("net/mlx5: fix VXLAN port registration race condition")
Cc: stable@dpdk.org
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Thomas Monjalon [Mon, 28 Jan 2019 01:36:47 +0000 (02:36 +0100)]
version: 19.02-rc4
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Raslan Darawsheh [Thu, 24 Jan 2019 12:23:16 +0000 (12:23 +0000)]
doc: add tested platforms with Mellanox NICs
Signed-off-by: Raslan Darawsheh <rasland@mellanox.com>
Lijuan Tu [Fri, 18 Jan 2019 15:15:01 +0000 (23:15 +0800)]
doc: add tested Intel platforms with Intel NICs
Add tested Intel platforms with Intel NICs to v19.02 release note.
Signed-off-by: Lijuan Tu <lijuan.tu@intel.com>
Acked-by: Marko Kovacevic <marko.kovacevic@intel.com>
Rami Rosen [Sun, 20 Jan 2019 18:29:47 +0000 (20:29 +0200)]
doc: add dependency for PDF in contributing guide
There is a missing depenency for building docs with "make doc-guides-pdf".
This causes it to break with "make[3]: latexmk: Command not found". This
was observed and reported in https://bugs.dpdk.org/show_bug.cgi?id=182
This patch fixes this issue by adding the latexmk package dependency in
sub-section 4.3.1 of the contributing guide ("Dependencies").
Bugzilla ID: 182
Cc: stable@dpdk.org
Signed-off-by: Rami Rosen <ramirose@gmail.com>
Luca Boccassi [Thu, 10 Jan 2019 17:28:06 +0000 (17:28 +0000)]
build: mention -march in pkg-config description
Applications need to at least match DPDK's -march option to build
successfully due to some static inline functions in the public headers.
This might cause problems, especially in distributions, so add a note
in the pkg-config description.
Fixes:
a25a650be5f0 ("build: add infrastructure for meson and ninja builds")
Cc: stable@dpdk.org
Signed-off-by: Luca Boccassi <bluca@debian.org>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Bruce Richardson [Tue, 22 Jan 2019 16:27:32 +0000 (16:27 +0000)]
usertools: make telemetry script executable
Add #! line to the top of the script and mark it as executable so it can
be run directly rather than having to pass it to python interpreter.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Congwen Zhang [Thu, 10 Jan 2019 01:32:22 +0000 (20:32 -0500)]
lpm: remove recursively included header file
includes itself: rte_lpm.h -> rte_lpm_sse.h -> rte_lpm.h
includes itself: rte_lpm.h -> rte_lpm_neon.h -> rte_lpm.h
Signed-off-by: Congwen Zhang <zhang.congwen@zte.com.cn>
Ed Czeck [Thu, 24 Jan 2019 14:36:37 +0000 (09:36 -0500)]
mbuf: fix struct initialization with C++
g++ reports "error: missing initializer for member"
Fixes:
5d3f72100904 ("mbuf: implement generic format for sched field")
Signed-off-by: Ed Czeck <ed.czeck@atomicrules.com>
Fiona Trahe [Fri, 25 Jan 2019 16:59:00 +0000 (16:59 +0000)]
crypto/qat: fix digest in wireless auth case
When operation calls for auth (digest generation), followed by
encryption of both data plus digest, the digest-in-buffer
flag must be set for QAT.
Fixes:
39e0bee48e81 ("crypto/qat: rework request builder for performance")
Cc: stable@dpdk.org
Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Rafal Kozik [Fri, 25 Jan 2019 08:10:28 +0000 (09:10 +0100)]
doc: add instructions for WC in ENAv2
ENAv2 hardware provides Low Latency Queue v2 (LLQv2). It needs kernel
PCI driver to support write combining (WC). This patch add information
how to use it with igb_uio and vfio-pci drivers.
Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>
Rafal Kozik [Fri, 25 Jan 2019 08:10:27 +0000 (09:10 +0100)]
doc: update release notes for ENA PMD
Add changes in ENA PMD to DPDK v19.02 release notes.
Signed-off-by: Michal Krawczyk <mk@semihalf.com>
Signed-off-by: Rafal Kozik <rk@semihalf.com>
Michal Krawczyk [Fri, 25 Jan 2019 08:10:26 +0000 (09:10 +0100)]
net/ena: fix errno to positive value
The rte_errno shouldn't have assigned negative error codes, so it has
to be fixed.
Fixes:
b3fc5a1ae10d ("net/ena: add Tx preparation")
Cc: stable@dpdk.org
Signed-off-by: Michal Krawczyk <mk@semihalf.com>
Michal Krawczyk [Fri, 25 Jan 2019 08:10:25 +0000 (09:10 +0100)]
net/ena: fix dev init with multi-process
The check for proc type in eth_ena_dev_init() should appear before
modyfing adapter structure.
Calling memset on ena_adapter from secondary process context, was
erasing all structure information, and it was causing the crash of the
main process.
Fixes:
1173fca25af9 ("ena: add polling-mode driver")
Cc: stable@dpdk.org
Signed-off-by: Michal Krawczyk <mk@semihalf.com>
Michal Krawczyk [Fri, 25 Jan 2019 08:10:24 +0000 (09:10 +0100)]
net/ena: remove lcore constraint from max queue number
The number of queues was limited by number of lcores in the recent ENAv2
patch. However, some apps like symmetric_mp, are configuring multiple
queues although there is only single lcore used.
To prevent failure in that case, the lcore number constraint was
removed.
Fixes:
ea93d37eb49d ("net/ena: add HW queues depth setup")
Signed-off-by: Michal Krawczyk <mk@semihalf.com>
Viacheslav Ovsiienko [Fri, 25 Jan 2019 15:29:35 +0000 (15:29 +0000)]
net/mlx5: fix VXLAN without decap action for E-Switch
There is an intention to support VXLAN tunnel match without
hardware offloaded decapsulation, just to redirect ingress
tunnelled frame untouched. This small fix allows to specify
Flows with VXLAN VNI pattern and with or without following
decapsulation action.
Fixes:
251e8d02cf37 ("net/mlx5: add VXLAN to flow translate routine")
Cc: stable@dpdk.org
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Ivan Malov [Thu, 24 Jan 2019 15:20:16 +0000 (15:20 +0000)]
net/sfc: fix port ID log
Log port ID as 16-bit unsigned integer.
Fixes:
f8244c6399d9 ("ethdev: increase port id range")
Cc: stable@dpdk.org
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Chenmin Sun [Wed, 23 Jan 2019 13:30:03 +0000 (21:30 +0800)]
net/i40e: fix statistics
1. Fix the lldp stop condition check - for firmware
versions 6.01(for X710)/3.33(for X722) or later we need stop the lldp
2. deferred stats reset in dev_init to avoid some noise be counted.
3. Document known issue for tx bytes decreasing due to link status change
Fixes:
044846f071cc ("net/i40e: stop LLDP before setting local LLDP MIB")
Cc: stable@dpdk.org
Signed-off-by: Chenmin Sun <chenmin.sun@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Viacheslav Ovsiienko [Wed, 23 Jan 2019 07:51:18 +0000 (07:51 +0000)]
net/mlx5: fix VXLAN port registration race condition
E-Switch VXLAN tunneling rules require virtual VXLAN network
devices be created. These devices are managed by MLX5 PMD and
created/deleted dynamically.
Kernel creates the VXLAN devices and registers VXLAN UDP ports
to be hardware offloaded within the NIC kernel drivers. The
registration process is being performed into context of working
kernel thread and the race conditions might happen.
The VXLAN device is created and success code is returned to calling
application, but the UDP port registration process is not completed
yet and the next applied rule might be rejected by the driver with
ENOSUP code. This patch adds some timeout for new created devices,
allowing port registration process to be completed. The waiting
is performed once after device been created and first rule is being
applied.
Fixes:
95a464cecc21 ("net/mlx5: add E-switch VXLAN tunnel devices management")
Cc: stable@dpdk.org
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Viacheslav Ovsiienko [Tue, 22 Jan 2019 12:05:46 +0000 (12:05 +0000)]
net/mlx5: fix TC rule handle assignment
When tc rule is created via Netlink message application
can provide the unique rule value which can be accepted
by the kernel. Than rule is managed with this assigned
handle. It was found that kernel can reject the proposed
handle and assign its own handle value, the rule control
is lost, because application uses its initially prorosed
rule handle and knows nothing about handle been repleced.
The kernel can assign handle automatically, the application
can get the assigned handle value by specifying NLM_F_ECHO
flag in Netlink message when rule is being created. The
kernel sends back the full descriptor of rule and handle
can be retrieved from and stored by application for further
rule management.
Fixes:
57123c00c1b8 ("net/mlx5: add Linux TC flower driver for E-Switch flow")
Cc: stable@dpdk.org
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Dekel Peled [Tue, 22 Jan 2019 08:22:24 +0000 (10:22 +0200)]
net/mlx5: block RSS action without Rx queue
This patch modifies function mlx5_flow_validate_action_rss(), to
prevent the setting of rule with rss action, but without specifying
any queues.
For example:
flow create 0 ingress pattern end actions rss queues end / end
Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Dekel Peled [Tue, 22 Jan 2019 08:21:55 +0000 (10:21 +0200)]
net/mlx5: allow port start with zero Rx queue
During port start, function mlx5_ctrl_flow_vlan() is called to create
default ingress flow rules.
For specific use-cases, a port can be used for Tx only.
In such case, number of Rx queues can be set to 0 to save resources,
hence the default ingress rules are irrelevant.
This patch modifies function mlx5_ctrl_flow_vlan() to avoid the
creation of the default ingress rules when number of Rx queues is 0.
It also includes update of validation functions for relevant actions,
mlx5_flow_validate_action_queue() and mlx5_flow_validate_action_rss(),
to prevent creation of flow rules with these actions when number of Rx
queues is 0.
Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Tiwei Bie [Tue, 22 Jan 2019 17:01:43 +0000 (01:01 +0800)]
net/virtio-user: fix used ring in cvq handling
When updating used ring, the id in used element should be the
index of the first desc in the desc chain.
Fixes:
f9b9d1a55775 ("net/virtio-user: add multiple queues in device emulation")
Cc: stable@dpdk.org
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Tiwei Bie [Tue, 22 Jan 2019 17:01:42 +0000 (01:01 +0800)]
net/virtio: use virtio barrier in packed ring
Always use the virtio variants which support the platform
memory ordering.
Fixes:
9230ab8d7913 ("net/virtio: support platform memory ordering")
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Acked-by: Ilya Maximets <i.maximets@samsung.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Tiwei Bie [Tue, 22 Jan 2019 17:01:41 +0000 (01:01 +0800)]
net/virtio-user: fix control VQ
This patch fixed below issues in the packed ring based control
vq support in virtio user:
1. The idx_hdr should be used_idx instead of the id in the desc;
2. We just need to write out a single used descriptor for each
descriptor list;
3. The avail/used bits should be initialized to 0;
Meanwhile, make the function name consistent with other parts.
Fixes:
48a4464029a7 ("net/virtio-user: support control VQ for packed")
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Tiwei Bie [Tue, 22 Jan 2019 17:01:40 +0000 (01:01 +0800)]
net/virtio: fix control VQ
This patch mainly fixed below issues in the packed ring based
control vq support in virtio driver:
1. When parsing the used descriptors, we have to track the
number of descs that we need to skip;
2. vq->vq_free_cnt was decreased twice for a same desc;
Meanwhile, make the function name consistent with other parts.
Fixes:
ec194c2f1895 ("net/virtio: support packed queue in send command")
Fixes:
a4270ea4ff79 ("net/virtio: check head desc with correct wrap counter")
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Dekel Peled [Tue, 22 Jan 2019 15:16:43 +0000 (17:16 +0200)]
app/testpmd: fix Tx metadata show command
Function cmd_config_tx_metadata_specific_parsed() takes input value,
applies rte_cpu_to_be_32() on it, and stores it for Tx use.
Function cmd_show_tx_metadata_parsed() displays the stored value as is.
This patch modifies function cmd_show_tx_metadata_parsed(), to apply
rte_be_to_cpu_32() on the stored value before displaying it.
Fixes:
c18feafa193c ("app/testpmd: support metadata as flow rule item")
Cc: stable@dpdk.org
Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Igor Romanov [Wed, 23 Jan 2019 13:08:55 +0000 (13:08 +0000)]
net/sfc: fix crash in EF10 TSO if no payload
Fixes:
6bc985e41155 ("net/sfc: support TSO in EF10 Tx datapath")
Cc: stable@dpdk.org
Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Wenzhuo Lu [Wed, 23 Jan 2019 05:30:29 +0000 (13:30 +0800)]
net/ice: fix link speed
Fix the issue that the link speed is unknown.
Fixes:
690175ee51bf ("net/ice: support getting device information")
Fixes:
cf911d90e366 ("net/ice: support link update")
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Wenzhuo Lu [Wed, 23 Jan 2019 02:37:01 +0000 (10:37 +0800)]
net/ice: support promiscuous mode
Enable the APIs for unicast and multicast promiscuous
mode setting.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Dekel Peled [Thu, 17 Jan 2019 12:12:19 +0000 (14:12 +0200)]
net/mlx4: fix creation of flow rule w/o ETH spec
The original commit enabled the creation of flow rule with empty
ETH address and with specific VLAN.
It works fine on PF, but such flow rule is still rejected on VF due
to kernel limitation, which blocks MAC address of all zeroes.
This patch complements the original commit.
It sets byte 0 of MAC address to 0xFF.
Fixes:
c0d239263156 ("net/mlx4: support flow w/o ETH spec and with VLAN")
Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Tiwei Bie [Mon, 21 Jan 2019 08:12:18 +0000 (16:12 +0800)]
vhost: fix access for indirect descriptors
Fix a possible out of bound access which may happen when handling
indirect descs in split ring.
Fixes:
1be4ebb1c464 ("vhost: support indirect descriptor in mergeable Rx")
Cc: stable@dpdk.org
Reported-by: Haiyue Wang <haiyue.wang@intel.com>
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Wei Zhao [Tue, 22 Jan 2019 08:11:03 +0000 (16:11 +0800)]
net/i40e: fix queue region DCB configure
DCB is not necessary to be configured if no user priority of
queue region is requested.
Unexpected configuration of DCB will cause unexpected behavior, like
FDIR does not work on those queues, but could cause more issues.
Fixes:
7cbecc2f7424 ("net/i40e: support queue region set and flush")
Cc: stable@dpdk.org
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Tested-by: Yuan Peng <yuan.peng@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Ilya Maximets [Fri, 25 Jan 2019 07:55:58 +0000 (10:55 +0300)]
test: check zero socket memory as valid
Dynamic memory mode allowes zero socket-mem because all the
required memory could be allocated on demand.
Fixes:
0a703f0f36c1 ("eal/linux: fix parsing zero socket memory and limits")
Cc: stable@dpdk.org
Reported-by: Shuai Zhu <shuaix.zhu@intel.com>
Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Ilya Maximets [Tue, 22 Jan 2019 16:27:14 +0000 (19:27 +0300)]
eal/linux: fix parsing zero socket memory and limits
Modern memory mode allowes to not reserve any memory by the
'--socket-mem' option. i.e. it could be possible to specify
zero preallocated memory like '--socket-mem 0'.
Also, it should be possible to configure unlimited memory
allocations by '--socket-limit 0'.
Both cases are impossible now and blocks starting the DPDK
application:
./dpdk-app --socket-limit 0 <...>
EAL: invalid parameters for --socket-limit
EAL: Invalid 'command line' arguments.
Unable to initialize DPDK: Invalid argument
Fixes:
6b42f75632f0 ("eal: enable non-legacy memory mode")
Cc: stable@dpdk.org
Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Alejandro Lucero [Wed, 23 Jan 2019 10:00:48 +0000 (10:00 +0000)]
vfio: fix error message
The message refers to uio driver.
Fixes:
ff0b67d1c868 ("vfio: DMA mapping")
Cc: stable@dpdk.org
Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Ferruh Yigit [Tue, 22 Jan 2019 15:44:29 +0000 (15:44 +0000)]
kni: fix build for igb_ndo_bridge_setlink in Linux 5.0
Build error seen with Linux kernel 5.0 and
when CONFIG_RTE_KNI_KMOD_ETHTOOL is enabled.
build error:
.../build/build/kernel/linux/kni/igb_main.c:2348:24:
error: initialization of
‘int (*)(struct net_device *, struct nlmsghdr *, u16,
struct netlink_ext_ack *)’
{aka ‘int (*)(struct net_device *, struct nlmsghdr *,
short unsigned int, struct netlink_ext_ack *)’}
from incompatible pointer type
‘int (*)(struct net_device *, struct nlmsghdr *, u16)’
{aka ‘int (*)(struct net_device *, struct nlmsghdr *,
short unsigned int)’}
[-Werror=incompatible-pointer-types]
.ndo_bridge_setlink = igb_ndo_bridge_setlink,
^~~~~~~~~~~~~~~~~~~~~~
.../build/build/kernel/linux/kni/igb_main.c:2348:24:
note: (near initialization for ‘igb_netdev_ops.ndo_bridge_setlink’)
igb_ndo_bridge_setlink() is changed in Linux kernel version 5.0
and now requires a new parameter, 'struct netlink_ext_ack *extack'.
Fixed by adding a new parameter with a kernel version check.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Ferruh Yigit [Tue, 22 Jan 2019 15:44:28 +0000 (15:44 +0000)]
kni: fix build for dev_open in Linux 5.0
Build error seen with Linux kernel 5.0 and
when CONFIG_RTE_KNI_KMOD_ETHTOOL is enabled.
build error:
.../build/build/kernel/linux/kni/ixgbe_ethtool.c:1746:4:
error: too few arguments to function ‘dev_open’
dev_open(netdev);
^~~~~~~~
In file included from .../build/kernel/linux/kni/ixgbe_ethtool.c:18:
.../linux/linux/include/linux/netdevice.h:2620:5: note: declared here
int dev_open(struct net_device *dev, struct netlink_ext_ack *extack);
^~~~~~~~
.../build/build/kernel/linux/kni/igb_ethtool.c:1812:4:
error: too few arguments to function ‘dev_open’
dev_open(netdev);
^~~~~~~~
In file included from .../build/build/kernel/linux/kni/igb_ethtool.c:15:
.../linux/linux/include/linux/netdevice.h:2620:5: note: declared here
int dev_open(struct net_device *dev, struct netlink_ext_ack *extack);
^~~~~~~~
dev_open() is changed in Linux kernel version 5.0 and now requires
a new parameter, 'struct netlink_ext_ack *extack'.
Fixed by defining dev_open as macro when kernel version >= 5.0
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Fan Zhang [Fri, 18 Jan 2019 09:15:57 +0000 (09:15 +0000)]
examples/fips_validation: fix physical address
This patch fixes the missed digest and aad data physical
addresses filling to crypto operations in fips_validation
sample application.
Fixes:
41d561cbdd24 ("examples/fips_validation: add power on self test")
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Marko Kovacevic <marko.kovacevic@intel.com>
Fan Zhang [Mon, 21 Jan 2019 15:56:11 +0000 (15:56 +0000)]
crypto/aesni_mb: fix build with custom dependency path
This patch fixes the inflexible compile issue AESNI-MB PMD.
Originally the compile of the PMD will fail if IPSec_MB is
not installed in default location.
Fixes:
c68d7aa354f6 ("crypto/aesni_mb: use architecture independent macros")
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Tested-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Andrew Rybchenko [Mon, 21 Jan 2019 06:42:38 +0000 (06:42 +0000)]
gso: fix VxLAN/GRE tunnel checks
Tunnel type is an enum in PKT_TX_TUNNEL_MASK bits.
As the result, for example, IPIP or MPLSinUDP tunnel packets may be
incorrectly treated internally as VXLAN.
Fixes:
b058d92ea95d ("gso: support VxLAN GSO")
Fixes:
70e737e448c7 ("gso: support GRE GSO")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Jiayu Hu <jiayu.hu@intel.com>
Andrew Rybchenko [Mon, 21 Jan 2019 16:18:35 +0000 (16:18 +0000)]
ethdev: fix errno to have positive value
rte_errno should be set to positive value from errno.h plus
few RTE-specific values.
Fixes:
4fb7e803eb1a ("ethdev: add Tx preparation")
Fixes:
439a90b5f2a7 ("ethdev: reorder inline functions")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Anatoly Burakov [Fri, 18 Jan 2019 10:24:41 +0000 (10:24 +0000)]
vfio: allow secondary process to query IOMMU type
It is only possible to know IOMMU type of a given VFIO container
by attempting to initialize it. Since secondary process never
attempts to set up VFIO container itself (because they're shared
between primary and secondary), it never knows which IOMMU type
the container is using, and never sets up the appropriate config
structures. This results in inability to perform DMA mappings in
secondary process.
Fix this by allowing secondary process to query IOMMU type of
primary's default container at device initialization.
Note that this fix is assuming we're only interested in default
container.
Bugzilla ID: 174
Fixes:
6bcb7c95fe14 ("vfio: share default container in multi-process")
Cc: stable@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>