dpdk.git
5 years agoapp/testpmd: show supported packet types
Vamsi Attunuru [Thu, 19 Sep 2019 03:50:04 +0000 (09:20 +0530)]
app/testpmd: show supported packet types

Patch adds a runtime function to display port supported ptypes
in different layers.

Signed-off-by: Vamsi Attunuru <vattunuru@marvell.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
5 years agoethdev: fix QinQ offload
Vivek Sharma [Fri, 13 Sep 2019 11:14:49 +0000 (16:44 +0530)]
ethdev: fix QinQ offload

Use correct flag for indicating QinQ strip rx offload.

Fixes: dfebfc9882fb ("ethdev: support dynamic configuration of QinQ strip")
Cc: stable@dpdk.org
Signed-off-by: Vivek Sharma <viveksharma@marvell.com>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
5 years agonet/octeontx2: enable GTPU for RSS hash index
Kiran Kumar K [Tue, 3 Sep 2019 06:43:05 +0000 (12:13 +0530)]
net/octeontx2: enable GTPU for RSS hash index

Adding support to parse GTPU flag for RSS hash index calculation in
octeontx2.

Signed-off-by: Kiran Kumar K <kirankumark@marvell.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
5 years agoethdev: add GTPU flow type
Kiran Kumar K [Tue, 3 Sep 2019 06:43:04 +0000 (12:13 +0530)]
ethdev: add GTPU flow type

Adding support to enable GTPU eth flow type for RSS hash
index calculation.

Signed-off-by: Kiran Kumar K <kirankumark@marvell.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
5 years agonet/dpaa2: update MC firmware version
Sachin Saxena [Tue, 10 Sep 2019 10:30:51 +0000 (16:00 +0530)]
net/dpaa2: update MC firmware version

MC firmware is the core component of FSLMC bus and net/DPAA2 devices.

Prior to this patch, MC firmware supported 10.14.x version. This
patch bumps the min supported version to 10.18.x.

Signed-off-by: Sachin Saxena <sachin.saxena@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
5 years agobus/fslmc: update MC firmware version
Sachin Saxena [Tue, 10 Sep 2019 10:30:50 +0000 (16:00 +0530)]
bus/fslmc: update MC firmware version

MC firmware is the core component of FSLMC bus and DPAA2 devices.

Prior to this patch, MC firmware supported 10.14.x version. This
patch bumps the min supported version to 10.18.x.

Signed-off-by: Sachin Saxena <sachin.saxena@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
5 years agoethdev: add definitions for EEPROM standards
Dekel Peled [Mon, 9 Sep 2019 11:09:59 +0000 (14:09 +0300)]
ethdev: add definitions for EEPROM standards

This patch add definitions of maximal data length in module EEPROM,
values are compatible with include/uapi/linux/ethtool.h.

These definitions can be used by application to validate data length.

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
5 years agotest/bonding: fix LSC timeout unit
Krzysztof Kanas [Fri, 23 Aug 2019 08:16:59 +0000 (10:16 +0200)]
test/bonding: fix LSC timeout unit

Fixes: 76d29903f5f5 ("bond: support link status interrupt")
Cc: stable@dpdk.org
Signed-off-by: Krzysztof Kanas <kkanas@marvell.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
5 years agotest/bonding: fix LSC related cases
Krzysztof Kanas [Fri, 23 Aug 2019 08:16:58 +0000 (10:16 +0200)]
test/bonding: fix LSC related cases

On rare situation test_link_bonding test case fail due to timespec
tv_nsec overflow, which causes pthread_cond_timedwait to return EINVAL
and test to fail.

Fixes: 76d29903f5f5 ("bond: support link status interrupt")
Cc: stable@dpdk.org
Signed-off-by: Krzysztof Kanas <kkanas@marvell.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
5 years agoapp/testpmd: add bits per second to statistics
Matan Azrad [Mon, 29 Jul 2019 12:36:57 +0000 (12:36 +0000)]
app/testpmd: add bits per second to statistics

Traffic bps statistics is very useful for performance testing.

Add bits per second statistics for Rx and Tx.

Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Moti Haimovsky <motih@mellanox.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
5 years agoethdev: add AH key field to flow API
Kiran Kumar K [Thu, 25 Jul 2019 09:03:45 +0000 (14:33 +0530)]
ethdev: add AH key field to flow API

Add new rte_flow_item_ah in order to match the Authentication Header
based on RFC 2402.

Signed-off-by: Kiran Kumar K <kirankumark@marvell.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
5 years agoethdev: add IGMP key field to flow API
Kiran Kumar K [Thu, 25 Jul 2019 09:03:44 +0000 (14:33 +0530)]
ethdev: add IGMP key field to flow API

Add new rte_flow_item_igmp in order to match the Internet Group
Management Protocol based on RFC 2236.

Signed-off-by: Kiran Kumar K <kirankumark@marvell.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
5 years agoethdev: add NSH key field to flow API
Kiran Kumar K [Thu, 25 Jul 2019 09:03:43 +0000 (14:33 +0530)]
ethdev: add NSH key field to flow API

Add new rte_flow_item_nsh in order to match the network service header
based on RFC 8300.

Signed-off-by: Kiran Kumar K <kirankumark@marvell.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
5 years agonet/mlx5: fix allocation size of RQT attribute
Ori Kam [Thu, 26 Sep 2019 10:22:15 +0000 (10:22 +0000)]
net/mlx5: fix allocation size of RQT attribute

The receive queues list size is based on the size of uint32_t, so
when allocating the memory, the correct value should be used. Or
else there is risk to corrupt the memory, depending on the queues
number, because there is some pad area for alignment. If the queue
number is not large enough, the issue couldn't be observed.

Fixes: dc9ceff73c99 ("net/mlx5: create advanced RxQ via DevX")
Cc: stable@dpdk.org
Signed-off-by: Ori Kam <orika@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
5 years agonet/mlx5: validate flow rule item order
Xiaoyu Min [Wed, 11 Sep 2019 08:46:15 +0000 (16:46 +0800)]
net/mlx5: validate flow rule item order

The Item order validation between L2 and L3 is missing, which leading to
the following flow rule is accepted:

  testpmd> flow create 0 ingress pattern ipv4 / eth / end actions drop /
           end

Only the outer L3 layer should check whether the L2 layer is present,
because the L3 layer could directly follow the tunnel layer
without L2 layer.

Meanwhile inner L2 layer should check whether there is inner L3 layer
before it.

Fixes: 23c1d42c7138 ("net/mlx5: split flow validation to dedicated function")
Cc: stable@dpdk.org
Signed-off-by: Xiaoyu Min <jackmin@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
5 years agonet/virtio: do not require IO permissions
David Marchand [Tue, 22 Oct 2019 08:21:43 +0000 (10:21 +0200)]
net/virtio: do not require IO permissions

On x86, iopl permissions are only available to root user (or users that
have the CAP_SYS_RAWIO capability).
But those permissions are only needed when the virtio devices accesses
are done with inb/outb instructions, which is when the device is bound
to a UIO kernel module.

So far, the virtio driver was refusing to register based on the check
on IO permissions.
This check does not make sense when binding the device to vfio.

Now that the check on IO permissions has been abstracted in the ioport
API, we can remove it on virtio side.

We still need to call rte_eal_iopl_init() in the virtio constructor so
that the interrupt thread inherits this permission in the case it could
be used with UIO later.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Tiwei Bie <tiwei.bie@intel.com>
5 years agobus/pci: check IO permissions for UIO only
David Marchand [Tue, 22 Oct 2019 08:21:42 +0000 (10:21 +0200)]
bus/pci: check IO permissions for UIO only

On x86, calling inb/outb special instructions (used in UIO ioport
read/write parts) is only possible if the right IO permissions has been
granted.

The only user of this API (the net/virtio pmd) checks this
unconditionnaly but this should be hidden by the rte_pci_ioport API
itself and only checked when the device is bound to a UIO driver.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
5 years agoeal: use define instead of raw option name
Anatoly Burakov [Thu, 24 Oct 2019 15:17:57 +0000 (16:17 +0100)]
eal: use define instead of raw option name

We are using '--base-virtaddr' in a few places. We have a define for that,
so use it instead.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
5 years agoeal/freebsd: support option --base-virtaddr
Anatoly Burakov [Thu, 24 Oct 2019 15:17:56 +0000 (16:17 +0100)]
eal/freebsd: support option --base-virtaddr

According to our docs, only Linuxapp supports base-virtaddr option.
That is, strictly speaking, not true because most of the things
that are attempting to respect base-virtaddr are in common files,
so FreeBSD already *mostly* supports this option in practice.

This commit fixes the remaining bits to explicitly support
base-virtaddr option, and moves the arg parsing from EAL to common
options parsing code. Documentation is also updated to reflect
that all platforms now support base-virtaddr.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
5 years agobus/pci: remove useless link dependency on ethdev
Seth Howell [Fri, 11 Oct 2019 20:56:07 +0000 (13:56 -0700)]
bus/pci: remove useless link dependency on ethdev

The makefile in drivers/bus/pci specified rte_ethdev as a dependency for
the library. However there are no actual symbols from librte_ethdev used
in librte_bus_pci.

Including librte_ethdev as a dependency only becomes a problem in some
niche cases like when attempting to build the rte_bus_pci library as a
shared object without building the rte_ethdev library.

I specifically ran into this when trying to build the DPDK included as
an SPDK submodule on a FreeBSD machine. I figure that since there are no
real dependencies between the two, we should enable building
librte_bus_pci without librte_ethdev.

Fixes: c752998b5e2e ("pci: introduce library and driver")
Cc: stable@dpdk.org
Signed-off-by: Seth Howell <seth.howell@intel.com>
Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
5 years agotest/distributor: fix spurious failure
Ruifeng Wang [Tue, 15 Oct 2019 09:28:26 +0000 (17:28 +0800)]
test/distributor: fix spurious failure

Sanity test could spuriously fail with reporting flush count error.
It was caused by worker stat coherent issue between distributor and
worker thread.
Fix this issue by using atomic operations to update worker stat.

Fixes: c3eabff124e6 ("distributor: add unit tests")
Cc: stable@dpdk.org
Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
Acked-by: David Hunt <david.hunt@intel.com>
5 years agolib/distributor: fix deadlock on aarch64
Ruifeng Wang [Tue, 15 Oct 2019 09:28:25 +0000 (17:28 +0800)]
lib/distributor: fix deadlock on aarch64

Distributor and worker threads rely on data structs in cache line
for synchronization. The shared data structs were not protected.
This caused deadlock issue on weaker memory ordering platforms as
aarch64.
Fix this issue by adding memory barriers to ensure synchronization
among cores.

Bugzilla ID: 342
Fixes: 775003ad2f96 ("distributor: add new burst-capable library")
Cc: stable@dpdk.org
Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
Acked-by: David Hunt <david.hunt@intel.com>
5 years agobuild: fix compatibility with meson 0.47
Bruce Richardson [Thu, 24 Oct 2019 10:41:08 +0000 (11:41 +0100)]
build: fix compatibility with meson 0.47

The "in" keyword was introduced in meson 0.49, which means we need to use
an old-fashioned loop to check the array of disabled drivers.

Fixes: 6f80f1cd2247 ("build: support disabling drivers with meson")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Luca Boccassi <bluca@debian.org>
5 years agomempool/octeontx2: remove minimum chunck size limitation
Vamsi Attunuru [Tue, 10 Sep 2019 11:03:24 +0000 (16:33 +0530)]
mempool/octeontx2: remove minimum chunck size limitation

Memory required for the mempool objects need not be physically
contiguous on octeontx2's HW, mempool pmd supports the minimum chunk
size set by the default handler. Hence discarding the limitation set
by the pmd on the min_chunk_size value.

Signed-off-by: Vamsi Attunuru <vattunuru@marvell.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
5 years agocryptodev: clarify wireless inputs in digest-encrypted cases
Fiona Trahe [Tue, 22 Oct 2019 13:20:16 +0000 (14:20 +0100)]
cryptodev: clarify wireless inputs in digest-encrypted cases

Clarify constraints on fields specified in bits for wireless
algorithms in digest-encrypted case.

Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agocrypto/dpaax_sec: enable build without rte_security
Hemant Agrawal [Wed, 23 Oct 2019 14:17:02 +0000 (19:47 +0530)]
crypto/dpaax_sec: enable build without rte_security

This patch enables the dpaaX_sec compilation when
RTE_LIBRTE_SECURITY is disabled.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Thierry Herbelot <thierry.herbelot@6wind.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agoapp/procinfo: fix build without rte_security
Hemant Agrawal [Fri, 18 Oct 2019 07:56:12 +0000 (13:26 +0530)]
app/procinfo: fix build without rte_security

This patch fixes the compilation issues when
RTE_LIBRTE_SECURITY is disabled.

Fixes: 8a37f37fc243 ("app/procinfo: add --show-port")
Cc: stable@dpdk.org
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Thierry Herbelot <thierry.herbelot@6wind.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agotest/crypto: fix build without rte_security
Hemant Agrawal [Fri, 18 Oct 2019 07:56:11 +0000 (13:26 +0530)]
test/crypto: fix build without rte_security

This patch fixes the compilation issue in test_cryptodev.c
when RTE_LIBRTE_SECURITY is disabled.

Fixes: d883e6e7131b ("test/crypto: add PDCP C-Plane encap cases")

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Thierry Herbelot <thierry.herbelot@6wind.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agotest/crypto: add encrypted digest case for AES-CTR-CMAC
Adam Dybkowski [Mon, 21 Oct 2019 11:29:55 +0000 (13:29 +0200)]
test/crypto: add encrypted digest case for AES-CTR-CMAC

This patch adds tests for encrypted digest AES-CTR + AES CMAC using
mixed auth-cipher algorithm functions. Tests allow easy
extending with new cases, check in-place and
out-of-place operations and use linear and sgl
buffers as input/output.

Signed-off-by: Adam Dybkowski <adamx.dybkowski@intel.com>
Acked-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
5 years agoconfig: change default endianness for CAAM JR
Gagandeep Singh [Mon, 21 Oct 2019 05:31:27 +0000 (11:01 +0530)]
config: change default endianness for CAAM JR

CAAM JR can work on both LE and BE mode.
Latest platforms are in LE mode, so changing the
default mode to LE to make it more convenient for
the latest platforms.

Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agobaseband/fpga_lte_fec: fix polling of MMIO register
Nicolas Chautru [Tue, 22 Oct 2019 13:16:17 +0000 (06:16 -0700)]
baseband/fpga_lte_fec: fix polling of MMIO register

Polling of MMIO register could misreport the actual value
set dynamically in hardware as the variable was not set explicitly
to volatile integer.

Fixes: efd453698c49 ("baseband/fpga_lte_fec: add driver for FEC on FPGA")
Cc: stable@dpdk.org
Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
5 years agobaseband/fpga_lte_fec: fix probing
Nicolas Chautru [Tue, 22 Oct 2019 13:16:16 +0000 (06:16 -0700)]
baseband/fpga_lte_fec: fix probing

A change to PCI mapping assumption was missed earlier, this causes
probing to fail with the fpga_lte_fec PMD when checking for name
of the rte_driver (not set yet) instead of the rte_pci_driver.

Fixes: 391797f04208 ("drivers/bus: move driver assignment to end of probing")
Cc: stable@dpdk.org
Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
5 years agocrypto/qat: fix AES CMAC mininum digest size
Arek Kusztal [Tue, 22 Oct 2019 14:22:25 +0000 (16:22 +0200)]
crypto/qat: fix AES CMAC mininum digest size

AES-CMAC is used in 3gpp specifications hence it is needed
to support 4 byte digest.

Fixes: 91c1daa4e1f0 ("crypto/qat: support AES-CMAC")
Cc: stable@dpdk.org
Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
5 years agotest/crypto: add RSA cases in QAT and openssl
Arek Kusztal [Tue, 22 Oct 2019 14:04:29 +0000 (16:04 +0200)]
test/crypto: add RSA cases in QAT and openssl

This commit adds RSA tests to Intel QuickAssist Technology pmd
and OpenSSL pmd test suite for session and session-less cases
when PADDING_NONE selected

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
5 years agotest/crypto: add session-less cases in asym mod exp
Arek Kusztal [Tue, 22 Oct 2019 14:04:28 +0000 (16:04 +0200)]
test/crypto: add session-less cases in asym mod exp

This commit adds asymmetric sessionless tests to mod exp.

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
5 years agocrypto/qat: support RSA CRT in asym
Arek Kusztal [Tue, 22 Oct 2019 14:04:27 +0000 (16:04 +0200)]
crypto/qat: support RSA CRT in asym

This commit extends RSA implementation by CRT option

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
5 years agocrypto/qat: support RSA in asym
Arek Kusztal [Tue, 22 Oct 2019 14:04:26 +0000 (16:04 +0200)]
crypto/qat: support RSA in asym

This commit adds RSA algorithm to asymmetric pmd
using pair (n, d) private key

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
5 years agocrypto/qat: support session-less for asym ops
Arek Kusztal [Tue, 22 Oct 2019 14:04:25 +0000 (16:04 +0200)]
crypto/qat: support session-less for asym ops

This patch adds option to use asymmetric crypto pmd with
session-less support.

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
5 years agodoc: update doxygen for IPsec library
Vladimir Medvedkin [Thu, 10 Oct 2019 16:52:14 +0000 (17:52 +0100)]
doc: update doxygen for IPsec library

Added ipsec API from:
- rte_ipsec.h
- rte_ipsec_sa.h
- rte_ipsec_group.h
- rte_ipsec_sad.h

Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agoapp/test-sad: add test application for IPsec SAD
Vladimir Medvedkin [Mon, 21 Oct 2019 14:35:46 +0000 (15:35 +0100)]
app/test-sad: add test application for IPsec SAD

Introduce new application to provide user to evaluate and perform
custom functional and performance tests for IPsec SAD implementation.

According to our measurements on SKX for 1M entries average lookup
cost is ~80 cycles, average add cost ~500 cycles.

Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Tested-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
5 years agotest/ipsec: add SAD autotests
Vladimir Medvedkin [Mon, 21 Oct 2019 14:35:45 +0000 (15:35 +0100)]
test/ipsec: add SAD autotests

add unittests for ipsec SAD library

Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Tested-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
5 years agoipsec: add SAD add/delete/lookup implementation
Vladimir Medvedkin [Mon, 21 Oct 2019 14:35:44 +0000 (15:35 +0100)]
ipsec: add SAD add/delete/lookup implementation

Replace rte_ipsec_sad_add(), rte_ipsec_sad_del() and
rte_ipsec_sad_lookup() stubs with actual implementation.

It uses three librte_hash tables each of which contains
an entries for a specific SA type (either it is addressed by SPI only
or SPI+DIP or SPI+DIP+SIP)

Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Tested-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
5 years agoipsec: add SAD create/destroy implementation
Vladimir Medvedkin [Mon, 21 Oct 2019 14:35:43 +0000 (15:35 +0100)]
ipsec: add SAD create/destroy implementation

Replace rte_ipsec_sad_create(), rte_ipsec_sad_destroy() and
rte_ipsec_sad_find_existing() API stubs with actual
implementation.

Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Tested-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
5 years agoipsec: add inbound SAD API
Vladimir Medvedkin [Mon, 21 Oct 2019 14:35:42 +0000 (15:35 +0100)]
ipsec: add inbound SAD API

According to RFC 4301 IPSec implementation needs an inbound SA database
(SAD).
For each incoming inbound IPSec-protected packet (ESP or AH) it has to
perform a lookup within it's SAD.
Lookup should be performed by:
Security Parameters Index (SPI) + destination IP (DIP) + source IP (SIP)
or SPI + DIP
or SPI only
and an implementation has to return the 'longest' existing match.
This patch extend DPDK IPsec library with inbound security association
database (SAD) API implementation that:
- conforms to the RFC requirements above
- can scale up to millions of entries
- supports fast lookups
- supports incremental updates

Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
5 years agocrypto/qat: fix null auth when using VFIO
Damian Nowak [Fri, 9 Aug 2019 09:29:01 +0000 (11:29 +0200)]
crypto/qat: fix null auth when using VFIO

When running auth NULL cases while using
vfio_pci, DMAR read/write faults appear. It
happens even if digest_length is set to 0.
This is caused by auth_res_addr initialized
as 0x0.

Fixes: 4e0955bddb08 ("crypto/qat: fix null auth algo overwrite")
Cc: stable@dpdk.org
Signed-off-by: Damian Nowak <damianx.nowak@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
5 years agocrypto/aesni_gcm: allow device init if no AES-NI is present
Pablo de Lara [Thu, 17 Oct 2019 16:30:50 +0000 (17:30 +0100)]
crypto/aesni_gcm: allow device init if no AES-NI is present

The IPSec Multi buffer library does not require AES-NI
instructions to be supported by the CPU, as it can emulate these
instructions in software (adding a big performance penalty when
using AES algorithms).

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
5 years agocrypto/aesni_mb: allow device init if no AES-NI is present
Pablo de Lara [Thu, 17 Oct 2019 16:30:49 +0000 (17:30 +0100)]
crypto/aesni_mb: allow device init if no AES-NI is present

The IPSec Multi buffer library does not require AES-NI
instructions to be supported by the CPU, as it can emulate these
instructions in software (adding a big performance penalty when
using AES algorithms).

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
5 years agocommon/dpaax: move shared sec HW code from dpaa2_sec
Hemant Agrawal [Tue, 13 Aug 2019 07:20:16 +0000 (12:50 +0530)]
common/dpaax: move shared sec HW code from dpaa2_sec

The SEC HW code is being shared by multiple NXP based
drivers. It is better to place it at a common place.
Current users are:
1. DPAA2_SEC
2. DPAA_SEC
3. CAAM_JR

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agodoc: fix list of unsupported features in IPsec guide
Konstantin Ananyev [Fri, 27 Sep 2019 14:20:42 +0000 (15:20 +0100)]
doc: fix list of unsupported features in IPsec guide

List of unsupported features doesn't reflect latest changes.

Fixes: cd5b860c1851 ("ipsec: support header construction")
Fixes: 2c1887fad075 ("ipsec: fix transport mode for IPv6 with extensions")

Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
5 years agotest/crypto: support asym cases for OCTEON TX2
Sunila Sahu [Wed, 16 Oct 2019 15:25:44 +0000 (20:55 +0530)]
test/crypto: support asym cases for OCTEON TX2

This patch updates asymmetric crypto unit-test application to
validate asymmetric crypto operation supported by octeontx2 PMD.

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Kanaka Durga Kotamarthy <kkotamarthy@marvell.com>
Signed-off-by: Sunila Sahu <ssahu@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agocrypto/octeontx2: support asymmetric in enqueue/dequeue
Sunila Sahu [Wed, 16 Oct 2019 15:25:43 +0000 (20:55 +0530)]
crypto/octeontx2: support asymmetric in enqueue/dequeue

This patch adds asymmetric support in enqueue/dequeue ops.

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Kanaka Durga Kotamarthy <kkotamarthy@marvell.com>
Signed-off-by: Sunila Sahu <ssahu@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agocrypto/octeontx2: add asymmetric session
Kanaka Durga Kotamarthy [Wed, 16 Oct 2019 15:25:42 +0000 (20:55 +0530)]
crypto/octeontx2: add asymmetric session

This patch adds asymmetric session setup and free routines.
RSA and modexp operations are supported.

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Kanaka Durga Kotamarthy <kkotamarthy@marvell.com>
Signed-off-by: Sunila Sahu <ssahu@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agotest/crypto: add OCTEON TX2
Anoob Joseph [Wed, 16 Oct 2019 15:25:41 +0000 (20:55 +0530)]
test/crypto: add OCTEON TX2

This patch adds the OCTEON TX2 crypto validation tests.

Signed-off-by: Ankur Dwivedi <adwivedi@marvell.com>
Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Tejasree Kondoj <ktejasree@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agocrypto/octeontx2: add enqueue/dequeue ops
Anoob Joseph [Wed, 16 Oct 2019 15:25:40 +0000 (20:55 +0530)]
crypto/octeontx2: add enqueue/dequeue ops

This patch adds the enqueue burst and dequeue
burst callbacks for the OCTEON TX2 crypto driver.

Signed-off-by: Ankur Dwivedi <adwivedi@marvell.com>
Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Tejasree Kondoj <ktejasree@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agocrypto/octeontx2: add session related functions
Ankur Dwivedi [Wed, 16 Oct 2019 15:25:39 +0000 (20:55 +0530)]
crypto/octeontx2: add session related functions

This patch adds the symmetric session related callbacks.

Signed-off-by: Ankur Dwivedi <adwivedi@marvell.com>
Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Tejasree Kondoj <ktejasree@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agocrypto/octeontx2: add symmetric capabilities
Anoob Joseph [Wed, 16 Oct 2019 15:25:38 +0000 (20:55 +0530)]
crypto/octeontx2: add symmetric capabilities

This patch adds the symmetric capabilities
for OCTEON TX2 crypto PMD.

Signed-off-by: Ankur Dwivedi <adwivedi@marvell.com>
Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Tejasree Kondoj <ktejasree@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agocrypto/octeontx2: add queue pair functions
Ankur Dwivedi [Wed, 16 Oct 2019 15:25:37 +0000 (20:55 +0530)]
crypto/octeontx2: add queue pair functions

This patch adds the queue pair setup and
queue pair release functions for OCTEON TX2 crypto pmd.

Signed-off-by: Ankur Dwivedi <adwivedi@marvell.com>
Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Tejasree Kondoj <ktejasree@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agocrypto/octeontx2: support control ops
Ankur Dwivedi [Wed, 16 Oct 2019 15:25:36 +0000 (20:55 +0530)]
crypto/octeontx2: support control ops

This patch adds the device control functions.

Signed-off-by: Ankur Dwivedi <adwivedi@marvell.com>
Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Tejasree Kondoj <ktejasree@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agocrypto/octeontx2: add init sequence in probe
Anoob Joseph [Wed, 16 Oct 2019 15:25:35 +0000 (20:55 +0530)]
crypto/octeontx2: add init sequence in probe

This patch adds the device init sequence for
OCTEON TX2 crypto device.

Signed-off-by: Ankur Dwivedi <adwivedi@marvell.com>
Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Tejasree Kondoj <ktejasree@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agocrypto/octeontx2: add PMD skeleton
Anoob Joseph [Wed, 16 Oct 2019 15:25:34 +0000 (20:55 +0530)]
crypto/octeontx2: add PMD skeleton

Adding OCTEON TX2 crypto PMD skeleton.
Enabling the driver by default in common_base.

Signed-off-by: Ankur Dwivedi <adwivedi@marvell.com>
Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Tejasree Kondoj <ktejasree@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agotest/compress: add stateless overflow recovery case
Artur Trybula [Wed, 16 Oct 2019 09:40:45 +0000 (11:40 +0200)]
test/compress: add stateless overflow recovery case

Added unit test to check out-of-space recoverable feature.

Signed-off-by: Artur Trybula <arturx.trybula@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
5 years agocompress/qat: catch overflow for stateless compression
Artur Trybula [Wed, 16 Oct 2019 09:40:44 +0000 (11:40 +0200)]
compress/qat: catch overflow for stateless compression

This patch adds out-of-space recoverable feature for stateless
compression scenario to QuickAssist compressdev driver

Signed-off-by: Artur Trybula <arturx.trybula@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
5 years agodoc: fix typo in l2fwd-crypto guide
Xiao Wang [Wed, 16 Oct 2019 08:06:45 +0000 (04:06 -0400)]
doc: fix typo in l2fwd-crypto guide

Unmatched double quotation mark is fixed.

Fixes: ba7b86b1419b ("doc: add l2fwd-crypto sample app guide")
Cc: stable@dpdk.org
Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agodoc: add --external-mbufs option in compress perf guide
Adam Dybkowski [Wed, 16 Oct 2019 12:00:30 +0000 (14:00 +0200)]
doc: add --external-mbufs option in compress perf guide

This patch documents the new compress perf tool
option --external-mbufs.

Fixes: c02e33b03075 ("app/compress-perf: add --external-mbufs option")

Signed-off-by: Adam Dybkowski <adamx.dybkowski@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
5 years agocryptodev: fix checks related to device id
Julien Meunier [Wed, 16 Oct 2019 10:21:11 +0000 (13:21 +0300)]
cryptodev: fix checks related to device id

Each cryptodev are indexed with dev_id in the global rte_crypto_devices
variable. nb_devs is incremented / decremented each time a cryptodev is
created / deleted. The goal of nb_devs was to prevent the user to get an
invalid dev_id.

Let's imagine DPDK has configured N cryptodevs. If the cryptodev=1 is
removed at runtime, the latest cryptodev N cannot be accessible, because
nb_devs=N-1 with the current implementaion.

In order to prevent this kind of behavior, let's remove the check with
nb_devs and iterate in all the rte_crypto_devices elements: if data is
not NULL, that means a valid cryptodev is available.

Also, remove max_devs field and use RTE_CRYPTO_MAX_DEVS in order to
unify the code.

Fixes: d11b0f30df88 ("cryptodev: introduce API and framework for crypto devices")
Cc: stable@dpdk.org
Signed-off-by: Julien Meunier <julien.meunier@nokia.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agotest/crypto: register octeontx to asym suite
Sunila Sahu [Fri, 11 Oct 2019 13:01:36 +0000 (18:31 +0530)]
test/crypto: register octeontx to asym suite

Updated asymmetric crypto unit-test application to test
asymmetric crypto operations in octeontx PMD

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Kanaka Durga Kotamarthy <kkotamarthy@marvell.com>
Signed-off-by: Sunila Sahu <ssahu@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agocrypto/octeontx: add asymmetric enqueue/dequeue ops
Sunila Sahu [Fri, 11 Oct 2019 13:01:35 +0000 (18:31 +0530)]
crypto/octeontx: add asymmetric enqueue/dequeue ops

Add asymmetric crypto op enqueue & dequeue routines

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Kanaka Durga Kotamarthy <kkotamarthy@marvell.com>
Signed-off-by: Sunila Sahu <ssahu@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agocommon/cpt: add helper functions for asymmetric crypto
Kanaka Durga Kotamarthy [Fri, 11 Oct 2019 13:01:34 +0000 (18:31 +0530)]
common/cpt: add helper functions for asymmetric crypto

Add helper functions to get meta len for asymmetric operations

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Kanaka Durga Kotamarthy <kkotamarthy@marvell.com>
Signed-off-by: Sunila Sahu <ssahu@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agocrypto/octeontx: add asymmetric session operations
Kanaka Durga Kotamarthy [Fri, 11 Oct 2019 13:01:33 +0000 (18:31 +0530)]
crypto/octeontx: add asymmetric session operations

Add asymmetric session setup and free functions. RSA and modexp
operations are supported.

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Kanaka Durga Kotamarthy <kkotamarthy@marvell.com>
Signed-off-by: Sunila Sahu <ssahu@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agocrypto/octeontx: add device type mailbox routine
Kanaka Durga Kotamarthy [Fri, 11 Oct 2019 13:01:32 +0000 (18:31 +0530)]
crypto/octeontx: add device type mailbox routine

Add mailbox communication to query symmetric or asymmetric device type

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Kanaka Durga Kotamarthy <kkotamarthy@marvell.com>
Signed-off-by: Sunila Sahu <ssahu@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agoexamples/fips_validation: separate ECB and CBC init
Michael Shamis [Tue, 1 Oct 2019 11:22:55 +0000 (14:22 +0300)]
examples/fips_validation: separate ECB and CBC init

Separate initialization of IV, PT and CT according to TDES
ECB and CBC crypto modes

Signed-off-by: Michael Shamis <michaelsh@marvell.com>
Reviewed-by: Marko Kovacevic <marko.kovacevic@intel.com>
5 years agoexamples/fips_validation: support AES ECB
Michael Shamis [Tue, 1 Oct 2019 11:22:54 +0000 (14:22 +0300)]
examples/fips_validation: support AES ECB

Signed-off-by: Michael Shamis <michaelsh@marvell.com>
Reviewed-by: Marko Kovacevic <marko.kovacevic@intel.com>
5 years agoexamples/fips_validation: support TDES ECB
Michael Shamis [Tue, 1 Oct 2019 11:22:53 +0000 (14:22 +0300)]
examples/fips_validation: support TDES ECB

Signed-off-by: Michael Shamis <michaelsh@marvell.com>
Reviewed-by: Marko Kovacevic <marko.kovacevic@intel.com>
5 years agocrypto/dpaa_sec: reorganize session management
Hemant Agrawal [Mon, 14 Oct 2019 06:53:30 +0000 (12:23 +0530)]
crypto/dpaa_sec: reorganize session management

The session related parameters shall be populated during
the session create only.
At the runtime on first packet, the CDB should just reference
the session data instead of re-interpreting data again.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agotest/crypto: enable SNOW3G and ZUC for dpaa
Hemant Agrawal [Mon, 14 Oct 2019 06:53:29 +0000 (12:23 +0530)]
test/crypto: enable SNOW3G and ZUC for dpaa

This patch add the SNOW and ZUC cipher only
and auth only test cases.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agocrypto/dpaa_sec: support SNOW3G and ZUC
Hemant Agrawal [Mon, 14 Oct 2019 06:53:28 +0000 (12:23 +0530)]
crypto/dpaa_sec: support SNOW3G and ZUC

This patch add support for ZUC and SNOW 3G in
non-PDCP offload mode.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agotest/crypto: add case for auth only trailer
Hemant Agrawal [Mon, 14 Oct 2019 06:53:27 +0000 (12:23 +0530)]
test/crypto: add case for auth only trailer

This patch add support for case when there is auth only
header and auth only tailroom present simultaneously.
This simulates the case of IPSEC ESN.

This patch also enable the new test case for openssl and
NXP dpaa_sec and dpaa2_sec platforms.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Vakul Garg <vakul.garg@nxp.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agotest/crypto: increase cases for dpaax
Hemant Agrawal [Mon, 14 Oct 2019 06:53:26 +0000 (12:23 +0530)]
test/crypto: increase cases for dpaax

dpaa_sec and dpaa2_sec testsuite are added with more
cases which are valid.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agocrypto/dpaax_sec: support auth trailer in cipher-auth
Vakul Garg [Mon, 14 Oct 2019 06:53:25 +0000 (12:23 +0530)]
crypto/dpaax_sec: support auth trailer in cipher-auth

For cases like ESN where authentication data can be after cipher
data, support for authentication trailer is required.
This patch adds support of auth-only data trailing after cipher data.

Signed-off-by: Vakul Garg <vakul.garg@nxp.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agocrypto/dpaax_sec: enhance GCM descs to not skip AAD
Vakul Garg [Mon, 14 Oct 2019 06:53:24 +0000 (12:23 +0530)]
crypto/dpaax_sec: enhance GCM descs to not skip AAD

The GCM descriptors needlessly skip auth_only_len bytes from output
buffer. Due to this, workarounds have to be made in dpseci driver code.
Also this leads to failing of one cryptodev test case for gcm. In this
patch, we change the descriptor construction and adjust dpaaX_sec
accordingly. The test_AES_GCM_auth_encrypt_SGL_out_of_place_400B_1seg
now passes.

Signed-off-by: Vakul Garg <vakul.garg@nxp.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agocrypto/dpaa_sec: fix auth-cipher check for AEAD
Vakul Garg [Mon, 14 Oct 2019 06:53:23 +0000 (12:23 +0530)]
crypto/dpaa_sec: fix auth-cipher check for AEAD

The code shall also check aead as non auth-cipher case

Fixes: 1f14d500bce1 ("crypto/dpaa_sec: support IPsec protocol offload")
Cc: stable@dpdk.org
Signed-off-by: Vakul Garg <vakul.garg@nxp.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agocrypto/dpaa2_sec: fix IPv6 PDB options
Hemant Agrawal [Mon, 14 Oct 2019 06:53:22 +0000 (12:23 +0530)]
crypto/dpaa2_sec: fix IPv6 PDB options

HW PDB Option was being overwritten.

Fixes: 53982ba2805d ("crypto/dpaa2_sec: support IPv6 tunnel for protocol offload")

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agotest/crypto: fix PDCP session create
Hemant Agrawal [Mon, 14 Oct 2019 06:53:21 +0000 (12:23 +0530)]
test/crypto: fix PDCP session create

session_priv_mpool should be used instead of session pool

Fixes: d883e6e7131b ("test/crypto: add PDCP C-Plane encap cases")

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agocryptodev: add asymmetric session-less
Arek Kusztal [Thu, 10 Oct 2019 11:02:39 +0000 (13:02 +0200)]
cryptodev: add asymmetric session-less

This commit adds asymmetric session-less option to
rte_crypto_asym_op. Feature flag for session-less is added
to rte_cryptodev.

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Anoob Joseph <anoobj@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
5 years agodoc: fix release notes for removed testpmd commands
Thomas Monjalon [Wed, 9 Oct 2019 13:47:09 +0000 (15:47 +0200)]
doc: fix release notes for removed testpmd commands

The notes were not visible in the generated doc output because
of an indentation mistake.
While fixing the indentation, the formatting is improved.

Fixes: e5db17a1e54e ("app/testpmd: remove duplicated Rx offload commands")
Cc: flavia.musatescu@intel.com
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Reviewed-by: David Marchand <david.marchand@redhat.com>
5 years agoeal: remove dead code on NUMA node detection
David Marchand [Tue, 22 Oct 2019 19:34:17 +0000 (21:34 +0200)]
eal: remove dead code on NUMA node detection

RTE_EAL_ALLOW_INV_SOCKET_ID had been introduced and documented as used
with xen dom0 support (dropped for some time now).

Closely looking at this, the code was changed later and ensures that the
socket id is in the [0..RTE_MAX_NUMA_NODES] range anyway.

Let's drop this dead code and the build option with it.

Fixes: 94ef2964148a ("eal/linux: fix numa node detection")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
5 years agoeal/linux: restore specific hugepage ordering for ppc
David Christensen [Wed, 25 Sep 2019 21:42:23 +0000 (14:42 -0700)]
eal/linux: restore specific hugepage ordering for ppc

An ifdef present in eal_memory.c references "RTE_ARCH_PPC64" when
it should actually use "RTE_ARCH_PPC_64".  Simple testing revealed
that both the PPC_64 and non-PPC_64 versions of the code involved
work, but the PPC_64 version of the code is retained to be
consistent with other instances in the same file where mmapped
memory is accessed in reverse order on Power platforms.

Fixes: 66cc45e293ed ("mem: replace memseg with memseg lists")
Cc: stable@dpdk.org
Signed-off-by: David Christensen <drc@linux.vnet.ibm.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
5 years agotest/mempool: add unit test cases
Pallantla Poornima [Tue, 10 Sep 2019 13:25:27 +0000 (14:25 +0100)]
test/mempool: add unit test cases

Added UT to cover below functions:
- rte_mempool_populate_anon(),
- rte_mempool_mem_iter(),

Those additions also cover mempool internals:
rte_mempool_memchunk_anon_free() and get_anon_size().

Signed-off-by: Pallantla Poornima <pallantlax.poornima@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
5 years agotest/lpm: fix measured cycles for delete
Honnappa Nagarahalli [Tue, 1 Oct 2019 05:32:53 +0000 (00:32 -0500)]
test/lpm: fix measured cycles for delete

total_time needs to be reset to measure the cycles for delete API.

Fixes: af75078fece3 ("first public release")
Cc: stable@dpdk.org
Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Acked-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Tested-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
5 years agotest/bpf: add new test cases
Harman Kalra [Wed, 25 Sep 2019 10:43:21 +0000 (10:43 +0000)]
test/bpf: add new test cases

This patch implements following new test cases:
- test_call4: test case to verify if stack corruption occurs
across with multiple function calls.
- test_jump2: test case with a default packet in memory, parse
the packet and check if dest ip is part of a subnet.
- test_call5: test case with string data in the stack and
calling string comaprision.

Signed-off-by: Harman Kalra <hkalra@marvell.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
5 years agotest/ring: enhance mp/mc coverage
Joyce Kong [Mon, 9 Sep 2019 05:19:00 +0000 (13:19 +0800)]
test/ring: enhance mp/mc coverage

Run ring perf test on all available cores to really verify MPMC operations.
The old way of running on a pair of cores is not enough for MPMC rings.

Suggested-by: Gavin Hu <gavin.hu@arm.com>
Signed-off-by: Joyce Kong <joyce.kong@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Dharmik Thakkar <dharmik.thakkar@arm.com>
Reviewed-by: Ola Liljedahl <ola.liljedahl@arm.com>
Reviewed-by: Gavin Hu <gavin.hu@arm.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
5 years agotest/mbuf: add unit test on mbuf flag names
Pallantla Poornima [Fri, 30 Aug 2019 14:13:15 +0000 (15:13 +0100)]
test/mbuf: add unit test on mbuf flag names

Added UT for the below functions:
- rte_get_rx_ol_flag_list,
- rte_get_tx_ol_flag_list,
- rte_get_rx_ol_flag_name,
- rte_get_tx_ol_flag_name

Signed-off-by: Pallantla Poornima <pallantlax.poornima@intel.com>
Reviewed-by: Reshma Pattan <reshma.pattan@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
5 years agotest/mbuf: add unit test cases
Lavanya Govindarajan [Fri, 30 Aug 2019 14:13:14 +0000 (15:13 +0100)]
test/mbuf: add unit test cases

Added new unit test cases to cover the below functions:
- rte_validate_tx_offload,
- rte_pktmbuf_alloc_bulk,
- rte_pktmbuf_read,
- rte_pktmbuf_ext_shinfo_init_helper,
- rte_pktmbuf_attach_extbuf,
- rte_mbuf_ext_refcnt_read,
- rte_mbuf_ext_refcnt_update,
- rte_mbuf_ext_refcnt_set,
- rte_pktmbuf_detach_extbuf

Signed-off-by: Lavanya Govindarajan <lavanyax.govindarajan@intel.com>
Reviewed-by: Reshma Pattan <reshma.pattan@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
5 years agotest/mbuf: add case for bulk alloc/free functions
Morten Brørup [Wed, 23 Oct 2019 10:11:11 +0000 (10:11 +0000)]
test/mbuf: add case for bulk alloc/free functions

Add unit test for functions for allocating and freeing a bulk of mbufs.

Signed-off-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
5 years agombuf: add bulk free function
Morten Brørup [Wed, 23 Oct 2019 10:11:10 +0000 (10:11 +0000)]
mbuf: add bulk free function

Add function for freeing a bulk of mbufs.

Signed-off-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
5 years agoconfig: set KNI preempt default with meson
Igor Ryzhov [Mon, 16 Sep 2019 10:08:28 +0000 (13:08 +0300)]
config: set KNI preempt default with meson

Same behavior as in make build system.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
5 years agodrivers: remove duplicated compiler flags
Bruce Richardson [Mon, 7 Oct 2019 14:30:13 +0000 (15:30 +0100)]
drivers: remove duplicated compiler flags

Now that -Wextra, and other warning flags are standard in the build, remove
any duplication in driver build specifications.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Luca Boccassi <bluca@debian.org>
5 years agobuild: enable extra warnings with meson
Bruce Richardson [Mon, 7 Oct 2019 14:30:12 +0000 (15:30 +0100)]
build: enable extra warnings with meson

While meson always adds -Wall flag to C compiles, the make build adds extra
warning flags that are not present in the meson build. This addresses that
shortcoming by adding additional warning flags to our builds. The one
omission is the -Wcast-align flag, which though present in make gcc builds,
gives a lot of warnings/errors when used with clang.

The removed warning "-Wunused-parameter" is covered by the "-Wextra"
parameter so is unnecessary.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Luca Boccassi <bluca@debian.org>
5 years agoraw/ifpga: remove unneeded compiler flags
Bruce Richardson [Mon, 7 Oct 2019 14:30:11 +0000 (15:30 +0100)]
raw/ifpga: remove unneeded compiler flags

The warning disable flags for the base driver code were copy-pasted from
another source, and are actually unnecessary for this driver. Therefore
remove them.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Luca Boccassi <bluca@debian.org>
5 years agobuild: allow stricter fallthrough warnings
Bruce Richardson [Mon, 7 Oct 2019 14:30:10 +0000 (15:30 +0100)]
build: allow stricter fallthrough warnings

DPDK currently compiles with implicit-fallthrough=2 warning level. With gcc
-Wextra flag, the default level is 3, so some minor changes are needed to
support this in DPDK.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Luca Boccassi <bluca@debian.org>