Commit Graph

9307 Commits

Author SHA1 Message Date
Wei Zhao
3d4b081471 net/ixgbe: fix 82599ES flow API port check
This NIC type port check should use port index
not mask for 82599ES.

Fixes: d9347d2540 ("net/ixgbe: support 82599ES SCTP packet drop action")

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
2017-07-31 19:58:41 +02:00
Qi Zhang
86e19565f5 net/ixgbe: fix SCTP port support
Only x550 family support SCTP port in FDIR filter, so
add this limitation when parse consistent API.

Fixes: 11777435c7 ("net/ixgbe: parse flow director filter")
Cc: stable@dpdk.org

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
2017-07-31 19:58:40 +02:00
Wenzhuo Lu
41ab4ff5e5 net/i40e: fix TM hierarchy commit check
If there's no Traffic Management node added. Not
necessary to check if TM is committed.

Fixes: cac29c3c00 ("net/i40e: support committing TM hierarchy")

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2017-07-31 19:16:23 +02:00
Wenzhuo Lu
ad3782f7fe net/ixgbe: fix TM hierarchy commit check
If there's no Traffic Management node added,
not necessary to check if TM is committed.

Fixes: 5713ade697 ("net/ixgbe: support committing TM hierarchy")

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2017-07-31 19:16:23 +02:00
Jiayu Hu
e7b9d1d280 net/virtio: fix Rx interrupt setup
When use rte_eth_dev_configure() to enable rx queue interrupt for virtio
devices, virtio_init_device() isn't called to set up the interrupt
environment, which causes rx queue interrupt setup failed. This patch is
to fix this issue.

Fixes: 26b683b4f7 ("net/virtio: setup Rx queue interrupts")
Cc: stable@dpdk.org

Signed-off-by: Jiayu Hu <jiayu.hu@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2017-07-31 19:16:23 +02:00
Jianfeng Tan
cb482cb3a3 net/virtio: fix MAC address read
When virtio-net devices are bound to uio_pci_generic, we get
the wrong mac addr by virtio PMD. The wrong mac addr is a
addr that is 4-byte left shift of the correct addr.

It's a regression bug introduced by the cleanup patch below.
The condition of if we set use_msix should be if msix is
actually enabled. Only to check if there is a capability list
is not enough. For example, binding a transitional device
to uio_pci_device would trigger the wrong assignment of use_msix.

To correct that, we also check the flags of msix capability to
make sure it's enabled.

Fixes: ee1843bd89 ("net/virtio: remove redundant MSI-X detection")
Cc: stable@dpdk.org

Reported-by: Vipin Varghese <vipin.varghese@intel.com>
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Acked-by: Yuanhan Liu <yliu@fridaylinux.org>
2017-07-31 18:45:59 +02:00
Pablo de Lara
c0bad56ef8 mbuf: fix doxygen comment of bulk alloc
When calling rte_pktmbuf_alloc_bulk, if there are
not enough objects in the mempool, it returns
a negative value, which should be reflected
in the Doxygen comments.

Fixes: 9ec201f5d6 ("mbuf: provide bulk allocation")
Cc: stable@dpdk.org

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2017-07-31 17:17:25 +02:00
Zhiyong Yang
ffae3ab3b7 ethdev: remove duplicate interrupt handle copy
The code eth_dev->intr_handle = &dev->intr_handle; has duplicate code
in the function rte_eth_copy_pci_info(), remove it here.

Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
2017-07-31 17:04:11 +02:00
Gaetan Rivet
b05b444d22 ethdev: fix invalid length write on detach
The name of a device is copied in a provided buffer within
rte_eth_dev_detach(). The current sizeof is done on a pointer instead of
the intended array usually pointed to.

The name field of an rte_device is not assured however to point an
rte_devargs name field. The almost correct length to base this copy over
is thus RTE_DEV_NAME_MAX_LEN.

Almost correct, because unfortunately this function does not allow the
user to pass down a size parameter for the buffer it is meant to write.
This API should be fixed, it is broken by design.

Fixes: a1e7c17555 ("ethdev: use device name from device structure")
Cc: stable@dpdk.org

Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
2017-07-31 16:24:12 +02:00
Gaetan Rivet
1b4f2f8372 dev: fix vdev attach after PCI mismatch
If the device is a vdev, the parsing for PCI will fail with -EFAULT,
and will not try to check for a vdev.

Checking against error values returned by rte_eal_hotplug_add is
inelegant and prone to mistakes. Additionally, the failed PCI probe
prints a useless error that would throw off unsuspecting users:

   ERROR: failed to parse device "pci:net_ring0"

This error is printed when attempting to probe a virtual device first
with the PCI bus (here, a net_ring0 device).

Use the relevant functions to infer the intended bus. The limitation to
PCI or vdev device is kept for strict API compatibility. Thus the PCI
probe attempt is avoided and the right function is directly called.

Fixes: 1c35f666df ("dev: fix attach proceeding with vdev on PCI success")

Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
2017-07-31 15:18:32 +02:00
Matan Azrad
857dc6803b ethdev: fix flow rule copy functions
The corrupted code checks only RAW flow item type special case for
returning its size but doesn't deal with any other flow item type
and returns 0 for all the others.

This bug leaves the flow descriptor empty for non RAW types.

The fix takes the correct size to any regular types from appropriate
array.

The same issue, with a similar fix, is in flow action size method
which deals only with RSS special type.

This bug was already present in the original code taken from testpmd.

Fixes: 18da437b5f ("ethdev: add flow rule copy function")

Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2017-07-31 14:08:25 +02:00
Matan Azrad
79bf388493 app/testpmd: fix flow rule copy functions
The corrupted code checks only RAW flow item type special case for
returning its size but doesn't deal with any other flow item type
and returns 0 for all the others.

This bug leaves the flow descriptor empty for non RAW types.

The fix takes the correct size to any regular types from appropriate
array.

The same issue, with a similar fix, is in flow action size method which
deals only with RSS special type.

Fixes: 938a184a18 ("app/testpmd: implement basic support for flow API")
Cc: stable@dpdk.org

Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2017-07-31 14:08:25 +02:00
Gaetan Rivet
3070419e84 app/testpmd: add log on device detach failures
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2017-07-31 14:08:25 +02:00
Gaetan Rivet
bd735c31c7 net/mlx5: advertise the detach capability
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2017-07-31 14:08:25 +02:00
Gaetan Rivet
ac075085c1 net/mlx4: advertise the detach capability
This PMD supports hotplug, it is able to be detached.

Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2017-07-31 14:08:25 +02:00
Gaetan Rivet
8e04becc94 ethdev: remove useless check in detach capability
This capability is not bound to which driver is handling the device, but
whether the bus is able to unplug it.

This check is already performed in rte_eal_dev_detach, there is no need
to do it in the ethdev layer.

Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2017-07-31 14:08:25 +02:00
Gaetan Rivet
f2b24fb03e ethdev: fix device state on detach
The device state should be handled by the ethdev layer when possible.
Applications should not have to do it.

Not setting the state to UNUSED will make the port_id of the device
valid for all ethdev API functions, usually resulting in segfault.

Fixes: 284c908cc5 ("app/testpmd: request device removal interrupt")
Cc: stable@dpdk.org

Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Tested-by: Shachar Beiser <shacharbe@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2017-07-31 14:08:17 +02:00
Gaetan Rivet
1c35f666df dev: fix attach proceeding with vdev on PCI success
When rte_eal_hotplug_add() successfully probes a PCI device,
the return value is zero.
The check afterward only returns on error different from -EINVAL.
It should return also on success, as there is no need to
attempt probing the device with vdev.

Fixes: 0bba9e6050 ("eal: use new hotplug API in attach")
Cc: stable@dpdk.org

Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
2017-07-31 09:56:25 +02:00
Chas Williams
8783252166 log: get level for dynamic types
This function wasn't provided in the original commit.

Fixes: 4f0981e6ec ("eal: deprecate log functions")
Cc: stable@dpdk.org

Signed-off-by: Chas Williams <ciwillia@brocade.com>
2017-07-31 09:45:45 +02:00
Herbert Guan
b06c9b941f eal/arm64: fix poly64/128 compilation with GCC < 4.9
Use built-in data types for unsupported poly64/128 types
for GCC version lower than 4.9.0

Fixes: 3c4b4024c2 ("arch/arm: add vcopyq_laneq_u32 for old gcc")
Cc: stable@dpdk.org

Signed-off-by: Herbert Guan <herbert.guan@arm.com>
2017-07-31 09:45:40 +02:00
Jiayu Hu
ee9c90cf2f gro: fix bitwise overflow
When try to get GRO types, expression "1 << i" with type "int" may
overflow. This patch is to fix this issue.

Coverity issue: 158664
Fixes: e996506a1c ("lib/gro: add Generic Receive Offload API framework")

Signed-off-by: Jiayu Hu <jiayu.hu@intel.com>
2017-07-31 09:00:49 +02:00
Hemant Agrawal
eedbb9a103 eal: disable NUMA related warnings on non-NUMA systems
Disable multiple NUMA warnings on non-NUMA systems.

"EAL: eal_parse_sysfs_value(): cannot open sysfs value
	/sys/bus/pci/devices/0000:00:00.0/numa_node
EAL: numa_node is invalid or not present. Set it 0 as default
EAL: cannot open /proc/self/numa_maps, consider that all memory is
	in socket_id 0"

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Tested-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
2017-07-30 23:29:17 +02:00
Hemant Agrawal
41dae1e091 doc: update DPAA2 net PMD guide
added features, limitations and copyright.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2017-07-30 23:22:00 +02:00
Hemant Agrawal
e1043b049f doc: add DPAA2 net PMD enhancements to release notes
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2017-07-30 23:21:22 +02:00
Hemant Agrawal
e6c7ef7336 doc: update DPAA2 eventdev extra path
The DPDK helper for NXP devices is not dpdk-extras

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2017-07-30 23:21:09 +02:00
Hemant Agrawal
ff7a619118 doc: add DPAA2 eventdev to release notes
announcing the addition of DPAA2 eventdev

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2017-07-30 23:21:07 +02:00
Hemant Agrawal
a084096398 net/dpaa2: enable Tx congestion state check
For larger packet size congestion is observed on Tx Queues.
This patch enables Tx Queue congestion state check support.
If congested, try to resend the packet few times.

Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2017-07-30 20:24:55 +02:00
Jerin Jacob
a2c0df7503 maintainers: update for ARMv8 crypto PMD
Update the maintainers as Zbigniew no longer working for Cavium.
Thanks to Zbigniew for his support and development of
armv8 crypto driver.

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
2017-07-30 19:09:13 +02:00
Srisivasubramanian S
0f89def761 crypto/armv8: fix HMAC supported key sizes
For HMAC algorithms (SHAx-HMAC), the supported
key sizes are not a fixed value, but a range between
1 and the block size.

Fixes: 169ca3db55 ("crypto/armv8: add PMD optimized for ARMv8 processors")
Cc: stable@dpdk.org

Signed-off-by: Srisivasubramanian S <ssrinivasan@caviumnetworks.com>
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
2017-07-30 18:51:25 +02:00
Srisivasubramanian S
473174a7da crypto/armv8: fix authentication session configuration
For key sizes greater than digest length, pad with zero rather than
computing hash of the key itself.

Fixes: 169ca3db55 ("crypto/armv8: add PMD optimized for ARMv8 processors")
Cc: stable@dpdk.org

Signed-off-by: Srisivasubramanian S <ssrinivasan@caviumnetworks.com>
2017-07-30 18:49:45 +02:00
Pablo de Lara
31850d2685 doc: add cryptodev sample code
In order to illustrate in a simple way how to use
the cryptodev API to perform a basic crypto operation,
sample code has been added in the Programmer's Guide.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2017-07-28 18:49:02 +02:00
Pablo de Lara
49ff67d0d9 app/crypto-perf: fix CSV output
When using CSV, the output of the throughput performance numbers
was not correct, representing decimal numbers incorrectly.

Fixes: f8be1786b1 ("app/crypto-perf: introduce performance test application")
Cc: stable@dpdk.org

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2017-07-28 18:47:49 +02:00
Pablo de Lara
15b4beab8a app/crypto-perf: add pool size error message
If the crypto operation pool size is too small,
the pool might run out of operations, if all the crypto operations
are still being used and have not been freed.
To inform the user about this, the application should display
an error message, asking the user to increase the pool size
through the app parameters.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2017-07-28 18:47:34 +02:00
Pablo de Lara
fda78c512e doc: complete crypto sample command line
Documentation of some virtual crypto PMDs have a sample command line
to show how to initialize the device on a specific application,
L2fwd-crypto.

This was meant to be used as a reference, but these lines themselves
do not work, as the sample application used required more parameters,
which are added in this commit to have a fully functional example.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2017-07-28 18:47:17 +02:00
Jan Blunck
7109bec9ea cryptodev: deprecate vdev create function
The function rte_cryptodev_create_vdev is an alias
for rte_vdev_init() which is scheduled to move out of the
rte_eal library. Lets deprecate this function to be able to
remove it from the cryptodev library in 17.11.

Signed-off-by: Jan Blunck <jblunck@infradead.org>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2017-07-28 16:32:19 +02:00
Pablo de Lara
15ed07656d cryptodev: fix doxygen comment of bulk alloc
When calling rte_crypto_op_bulk_alloc, the function may
return either a 0, if not enough objects are available
in the mempool or the number of operations requested,
it there are enough available. However, the Doxygen comments
were not matching these two cases.

Fixes: c0f87eb525 ("cryptodev: change burst API to be crypto op oriented")
Cc: stable@dpdk.org

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
2017-07-27 18:49:11 +02:00
Pablo de Lara
e3346dfc2c doc: fix missing section underline in crypto guide
Fixes: b59502a5e3 ("cryptodev: add AEAD parameters in crypto operation")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2017-07-27 17:43:26 +02:00
Pablo de Lara
9959fbd546 doc: fix l2fwd-crypto sample code
L2fwd-crypto app was modified with various changes
in its code. The application user guide contains
some code snippets that needed to be updated.

Fixes: 2661f4fbe9 ("examples/l2fwd-crypto: add AEAD parameters")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2017-07-27 17:41:48 +02:00
Pablo de Lara
27391b53b3 cryptodev: fix session init return value
When calling rte_cryptodev_sym_session_init(),
if there was an error, it returned -1, instead
of returning the specific error code, which can
be valuable for the application for error handling.

Fixes: b3bbd9e5f2 ("cryptodev: support device independent sessions")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
2017-07-27 17:25:54 +02:00
Pablo de Lara
b5b047aa44 crypto/qat: fix SHA384-HMAC block size
Block size of SHA384-HMAC algorithm is 128 bytes,
and not 64 bytes.

Fixes: d905ee32d0 ("crypto/qat: add aes-sha384-hmac capability")
Cc: stable@dpdk.org

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
2017-07-27 16:44:23 +02:00
Pablo de Lara
5668da1eb5 crypto/qat: fix HMAC supported key sizes
For HMAC algorithms (MD5-HMAC, SHAx-HMAC), the supported
key sizes are not a fixed value, but a range between
1 and the block size.

Fixes: 26c2e4ad5a ("cryptodev: add capabilities discovery")
Cc: stable@dpdk.org

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
2017-07-27 16:43:27 +02:00
Pablo de Lara
e5e7bc7126 crypto/openssl: fix HMAC supported key sizes
For HMAC algorithms (MD5-HMAC, SHAx-HMAC), the supported
key sizes are not a fixed value, but a range between
1 and the block size.

Fixes: d61f70b4c9 ("crypto/libcrypto: add driver for OpenSSL library")
Cc: stable@dpdk.org

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
2017-07-27 16:39:23 +02:00
Pablo de Lara
cefa431162 crypto/aesni_mb: fix HMAC supported key sizes
For HMAC algorithms (MD5-HMAC, SHAx-HMAC), the supported
key sizes are not a fixed value, but a range between
1 and the block size.

Fixes: 26c2e4ad5a ("cryptodev: add capabilities discovery")
Cc: stable@dpdk.org

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
2017-07-27 16:39:21 +02:00
Akhil Goyal
f1bd2f0fb4 crypto/dpaa2_sec: add check for gcc toolchain
Fixes: 6a95466d78 ("crypto/dpaa2_sec: fix build with gcc 7.1")

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
2017-07-27 16:36:45 +02:00
Akhil Goyal
f947fd7718 crypto/dpaa2_sec: fix HMAC supported key sizes
For HMAC algorithms (MD5-HMAC, SHAx-HMAC), the supported
key sizes are not a fixed value, but a range between
1 and the block size.

Fixes: 623326dded ("crypto/dpaa2_sec: introduce poll mode driver")
Cc: stable@dpdk.org

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2017-07-27 16:24:53 +02:00
Pablo de Lara
7af08de584 doc: support new ZUC library version
A new version of the LibSSO ZUC library has been released.
This version includes shared library support and bug fixes.

This commit extends the instructions to install and initialize
the PMD with the new library, enabling also the PMD to be
compiled as a shared library.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2017-07-27 09:30:34 +02:00
Pablo de Lara
0b0a6e5a34 crypto/openssl: fix typo
Fixes: b79e4c00af ("cryptodev: use AES-GCM/CCM as AEAD algorithms")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2017-07-27 09:29:22 +02:00
Shreyansh Jain
247f1f9d22 crypto/dpaa2_sec: reduce init log prints
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2017-07-27 09:26:56 +02:00
Thomas Monjalon
67c4b6db68 version: 17.08-rc2
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2017-07-21 19:33:46 +03:00
Thomas Monjalon
13b1a59735 doc: remove driver interface header from API index
The file rte_flow_driver.h is a driver interface,
thus it should not be listed in the API index.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2017-07-21 19:31:41 +03:00