Thomas Monjalon [Tue, 1 May 2018 20:07:11 +0000 (22:07 +0200)]
use SPDX license tag in Mellanox copyrighted files
Some files were left with full license and wrong copyright format.
They are switched to this format:
SPDX-License-Identifier: BSD-3-Clause
Copyright 2017 Mellanox Technologies, Ltd
Luca Boccassi [Thu, 17 May 2018 13:53:35 +0000 (14:53 +0100)]
doc: advise to specify LTS branch when backporting patches
We have many stable branches being maintained at the same time, and
sometimes it's not clear which branch a patch is being backported for.
Note in the guidelines that it should be specified via the cover letter,
annotation or using --subject-prefix.
Also note to send only to stable@dpdk.org, not dev@dpdk.org.
Signed-off-by: Luca Boccassi <bluca@debian.org> Acked-by: Thomas Monjalon <thomas@monjalon.net>
Ajit Khaparde [Tue, 22 May 2018 18:13:47 +0000 (11:13 -0700)]
net/bnxt: fix Rx checksum flags
For frames where the hardware is not able to calculate checksum
we are indicating such frames to be bad. And that is incorrect.
Indicate PKT_RX_IP_CKSUM_UNKNOWN or PKT_RX_L4_CKSUM_UNKNOWN
for such frames.
Fixes: 7ec39d8c524b ("net/bnxt: update status of Rx IP/L4 CKSUM") Cc: stable@dpdk.org Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Ajit Khaparde [Tue, 22 May 2018 18:13:45 +0000 (11:13 -0700)]
net/bnxt: fix VF resource allocation
If the resource requirement of a VF is more than what is allotted
to it by the FW, a VF can request to reallocate some of the resources.
This is possible only when the NIC is running the Resource Manager aware
CHiMP FW.
If necessary, calculate Tx and Rx ring count using the new RM API.
Otherwise use the Tx and Rx ring count as-is. Update the cp ring count
based on the Tx and Rx ring count.
Fixes: b7778e8a1c00 ("net/bnxt: refactor to properly allocate resources for PF/VF") Signed-off-by: Jay Ding <jay.ding@broadcom.com> Signed-off-by: Scott Branden <scott.branden@broadcom.com> Reviewed-by: Ray Jui <ray.jui@broadcom.com> Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Ajit Khaparde [Tue, 22 May 2018 18:13:44 +0000 (11:13 -0700)]
net/bnxt: use first completion ring for fwd and async event
In order to save completion resource, use the first completion ring from
PF or VF as the default completion ring for async event & HWRM forward
response handling. Add bnxt_hwrm_set_async_event_cr() to set
async_event_cr for either PF or VF.
Fixes: 7bc8e9a227cc ("net/bnxt: support async link notification") Signed-off-by: Qingmin Liu <qingmin.liu@broadcom.com> Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Ajit Khaparde [Tue, 22 May 2018 18:13:43 +0000 (11:13 -0700)]
net/bnxt: fix RSS hash configuration
While configuring RSS, the FW needs to know the rss_hash_mode that needs
to be initialized.
Set hash mode to HWRM_VNIC_RSS_CFG_INPUT_HASH_MODE_FLAGS_DEFAULT
to allow the FW to use the global mode already configured in the device.
Yongseok Koh [Tue, 22 May 2018 08:59:42 +0000 (01:59 -0700)]
net/mlx5: fix setting offsets for SW parser
Since ConnectX-5, SW parser just complements HW parser. SW parser starts to
engage only if HW parser can't reach a header. For the older devices, HW
parser will not kick in if any of SWP offsets is set. Therefore, all of the
L3 offsets should be set regardless of HW offload. As IPv6 doesn't have
header checksum, the mbuf can't have PKT_TX_[OUTER_]IP_CKSUM if outer or
inner L3 is IPv6.
And if inner packet isn't IP, the inner offsets shouldn't be set.
Fixes: 5f8ba81c4228 ("net/mlx5: support generic tunnel offloading") Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Acked-by: Xueming Li <xuemingl@mellanox.com>
Matan Azrad [Tue, 22 May 2018 12:38:46 +0000 (12:38 +0000)]
net/failsafe: fix removed sub-device cleanup
The fail-safe PMD registers to RMV event for each removable sub-device
port in order to cleanup the sub-device resources and switch the Tx
sub-device directly when it is plugged-out.
During removal time, the fail-safe PMD stops and closes the sub-device
but it doesn't unregister the LSC and RMV callbacks of the sub-device
port.
It can lead the callbacks to be called for a port which is no more
associated with the fail-safe sub-device, because there is not a
guarantee that a sub-device gets the same port ID for each plug-in
process. This port, for example, may belong to another sub-device of a
different fail-safe device.
Unregister the LSC and RMV callbacks for sub-devices which are not
used.
Adrien Mazarguil [Mon, 21 May 2018 15:50:12 +0000 (17:50 +0200)]
net/mlx4: refactor RSS conversion functions
Since commit 97b2217ae5bc ("net/mlx4: advertise supported RSS hash
functions"), this PMD includes two similar-looking functions that convert
RSS hash fields between Verbs and DPDK formats.
This patch refactors them as a single two-way function and gets rid of
redundant helper macros.
Adrien Mazarguil [Mon, 21 May 2018 15:50:09 +0000 (17:50 +0200)]
net/mlx4: fix default in RSS converter
Below commit documents 0 as a value standing for a default set of RSS hash
types, however the mlx4 PMD doesn't interpret it correctly and still uses
its own internal special value for that (-1).
Matan Azrad [Mon, 21 May 2018 16:23:30 +0000 (16:23 +0000)]
net/vdev_netvsc: fix automatic probing
The vdev_netvsc driver allows an automatic probe in Hyper-V VM systems
unless it was already specified by the EAL command line.
The detection of a specified NetVSC device is wrongly done by comparing
the vdev_netvsc driver name to all the vdev devices names, including
the suffix device index. Thus, if the user specifies the vdev_netvsc
device by adding an index to the device name, the comparison fails.
Consequently, the vdev_netvsc driver may automatically probe NetVSC
devices, despite the NetVSC device that was specified by the EAL command
line.
Compare the vdev_netvsc driver name to the devices names without the
index.
Ed Czeck [Mon, 21 May 2018 19:29:07 +0000 (15:29 -0400)]
net/ark: fix call to probing finish function for first port
Fixes: fbe90cdd776c ("ethdev: add probing finish function") Signed-off-by: Ed Czeck <ed.czeck@atomicrules.com> Acked-by: John Miller <john.miller@atomicrules.com> Reviewed-by: Thomas Monjalon <thomas@monjalon.net>
Harry van Haaren [Mon, 21 May 2018 09:31:41 +0000 (10:31 +0100)]
net/e1000: fix build of igb only
This commit fixes a compilation error if EM_PMD is
not defined, bug IGB_PMD is. The root cause of the
issue was that log init variables are declared as
extern in a header file, while the definition of the
variables was in e1000_ethdev.c. Hence, the definitions
were not available if the e1000 PMD is disabled.
To fix this, a new file is added e1000_logs.c, which
matches the e1000_logs.h header. The log variables are
always compiled in, but the PMD logs are only registered
if a PMD is enabled in the configuration. Extra checks
are added in order to avoid duplicate registering.
David Marchand [Sun, 20 May 2018 08:13:58 +0000 (10:13 +0200)]
net/mlx5: fix count in xstats
With the commit af4f09f28294 ("net/mlx5: prefix all functions with mlx5"),
mlx5_xstats_get() is not compliant any longer with the api.
It always returns the caller max entries count while it should return how
many entries it wrote/wanted to write.
Fixes: af4f09f28294 ("net/mlx5: prefix all functions with mlx5") Signed-off-by: David Marchand <david.marchand@6wind.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Ophir Munk [Mon, 21 May 2018 07:54:33 +0000 (07:54 +0000)]
net/tap: fix device removal when no queue exist
TAP device is created following its first queue creation. Multiple
queues can be added or removed over time. In Linux terminology those
are file descriptors which are opened or closed over time. As long as
the number of opened file descriptors is positive - TAP device will
appear as a Linux device. In case all queues are released (the
equivalent of all file descriptors being closed) the TAP device will
be removed. This can lead to abnormalities in different scenarios
where the TAP device should exist even if all its queues are released.
In order to make TAP existence independent of its number of queues -
an extra file descriptor is opened on TAP creation and is closed on
TAP closure. Its only purpose is to serve as a keep-alive mechanism
for the TAP device.
Fixes: bf7b7f437b49 ("net/tap: create netdevice during probing") Cc: stable@dpdk.org Signed-off-by: Ophir Munk <ophirmu@mellanox.com> Acked-by: Keith Wiles <keith.wiles@intel.com>
Adrien Mazarguil [Mon, 21 May 2018 11:44:28 +0000 (13:44 +0200)]
ethdev: fix shallow copy of flow API RAW item
Like original commit mentioned below, this fix synchronizes flow rule copy
function with testpmd's own implementation following "app/testpmd: fix copy
of raw flow item (revisited)".
It addresses a crash that occurs when feeding a RAW pattern item to
rte_flow_copy(). Besides external applications, two PMDs (bonding and
failsafe) rely on this function internally.
Note the scope of this patch is limited to the RAW pattern item and has no
impact on all others.
Fixes: 972bf3610611 ("ethdev: fix shallow copy of flow API RSS action") Cc: stable@dpdk.org Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Adrien Mazarguil [Mon, 21 May 2018 11:44:26 +0000 (13:44 +0200)]
app/testpmd: fix copy of raw flow item - revisited
While previous fix with the same title does address the main issue, root
cause is that proper handling of spec/last/mask was overlooked in the
original patch.
Mask and last fields must be taken into account at all times.
Shagun Agrawal [Mon, 21 May 2018 08:05:07 +0000 (13:35 +0530)]
net/cxgbevf: fix inter-VM traffic when physical link down
Add force_link_up devargs to always force link as up for VFs.
This enables VFs on the same NIC to send traffic to each other
even when physical link is down.
Also add RTE_PMD_REGISTER_PARAM_STRING to export all supported
devargs.
Remy Horton [Fri, 18 May 2018 11:49:48 +0000 (12:49 +0100)]
net/i40e: fix corruption of VF stats
The resetting of stats on a VF involves the setting of an offset
that is subtracted from future calls, rather zeroing of counters.
However doing a stats reset on the port representor was also
adjusting the values forwarded to the VF, which had the effect of
corrupting the VF's counters. The fix is for the port representor
to maintain its own stats offset, so the port representor and VF
maintain independently-resettable counters.
Fixes: e0cb96204b71 ("net/i40e: add support for representor ports") Signed-off-by: Remy Horton <remy.horton@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Wei Dai [Sat, 19 May 2018 10:11:19 +0000 (18:11 +0800)]
net/ixgbe: fix config VLAN strip on the fly
The old ixgbe_vlan_offload_set() is called by
rte_eth_dev_set_vlan_offload() which is meant to config VLAN
strip/filter/extend on all queues.
This old function is also called by rte_eth_dev_start()/ixgbe_dev_start()
which need support per-queue VALN strip on only parts of queues.
So add new function ixgbe_vlan_offload_config() =
old ixgbe_vlan_offload_set().
This new function is called by ixgbe_dev_start() to support VLAN strip
per-queue configuration.
New ixgbe_vlan_offload_set() = codes to align VLAN strip flags on all
queues with port level setting + new ixgbe_vlan_offload_configure().
The 2nd function is called by rte_eth_dev_set_vlan_offload to support
configure VLAN strip on all queues of whole port.
Fixes: 216f78f4d53f ("net/ixgbe: support VLAN strip per queue offloading in PF") Fixes: 860a94d3c692 ("net/ixgbe: support VLAN strip per queue offloading in VF") Signed-off-by: Wei Dai <wei.dai@intel.com> Signed-off-by: Yanglong Wu <yanglong.wu@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Rasesh Mody [Sun, 20 May 2018 00:15:45 +0000 (17:15 -0700)]
net/qede/base: reduce verbosity in HW init log
Reduce the verbosity in ecore_pglueb_rbc_attn_handler() while logging
errmsg during HW init. This could happen due to ungraceful exit of
previous driver instance.
Qiming Yang [Fri, 18 May 2018 09:51:56 +0000 (17:51 +0800)]
net/ixgbe: fix DCB configuration
This patch removes unnecessary check in ixgbe_check_mq_mode, which
fixes the DCB configuration issue.
Fixes: 27b609cbd1c6 ("ethdev: move the multi-queue mode check to specific drivers") Cc: stable@dpdk.org Signed-off-by: Qiming Yang <qiming.yang@intel.com> Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Zhiyong Yang [Fri, 18 May 2018 09:59:37 +0000 (17:59 +0800)]
app/testpmd: fix exit for virtio-user
For vdev, just calling rte_eth_dev_close() isn't enough to free all
the resources allocated during device probe, e.g. for virtio-user,
virtio_user_pmd_remove(), i.e. the remove() method of a vdev driver,
needs to be called to unlink the socket file created during device
probe. So this patch calls the rte_eth_dev_detach() for vdev when
quitting testpmd.
vdevs detach on testpmd exit implemented as workaround to fix
a virtio-user issue. The issue was virtio-user cleanup is not
called and existing socket file not cleaned up which will fail
next run.
Added a comment that this workaround should be converted to a proper
cleanup, not something specific to virtio-user, and not something
specific to vdev and testpmd.
Fixes: af75078fece3 ("first public release") Fixes: bd8f50a45d0f ("net/virtio-user: support server mode") Cc: stable@dpdk.org Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com> Tested-by: Lei Yao <lei.a.yao@intel.com> Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com> Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
igb_main.c: In function ‘igb_ndo_bridge_getlink’:
igb_main.c:2289:2: error: too few arguments to function
‘ndo_dflt_bridge_getlink’
return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode, 0, 0, nlflags);
^
Centos 7.4 needs HAVE_VF_VLAN_PROTO and needs to redefine
ndo_set_vf_vlan to .extended.ndo_set_vf_vlan:
igb_main.c:2318:2: error: unknown field ‘ndo_set_vf_vlan’ specified
in initializer
.ndo_set_vf_vlan = igb_ndo_set_vf_vlan,
^
Signed-off-by: Dan Gora <dg@adax.com> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Vipin Varghese [Mon, 21 May 2018 10:29:00 +0000 (15:59 +0530)]
eventdev: add note in Rx adapter API doc
rte_event_eth_rx_adapter_create allocates eth_devices for
currently available eth devices. For newly created eth
devices a new instance for rx adapter has to be created.
Dan Gora [Tue, 22 May 2018 00:14:14 +0000 (21:14 -0300)]
eventdev: fix resetting software timer
Fix the call to rte_timer_reset_sync() in sw_event_timer_cb(). The
second parameter is the number of ticks, the third is the timer type.
Fixes: 6750b21bd6af ("eventdev: add default software timer adapter") Signed-off-by: Dan Gora <dg@adax.com> Acked-by: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>
Pablo de Lara [Tue, 22 May 2018 12:43:14 +0000 (13:43 +0100)]
doc: update ZUC installation section
Intel's libsso_zuc library has been moved to a
new location, under "Intel Resource & Design Center".
The installation section of this PMD has been updated
to include the new instructions.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Marko Kovacevic <marko.kovacevic@intel.com>
Pablo de Lara [Tue, 22 May 2018 12:43:13 +0000 (13:43 +0100)]
doc: update SNOW3G installation section
Intel's libsso_snow3g library has been moved to a
new location, under "Intel Resource & Design Center".
The installation section of this PMD has been updated
to include the new instructions.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Marko Kovacevic <marko.kovacevic@intel.com>
Pablo de Lara [Tue, 22 May 2018 12:43:12 +0000 (13:43 +0100)]
doc: update KASUMI installation section
Intel's libsso_kasumi library has been moved to a
new location, under "Intel Resource & Design Center".
The installation section of this PMD has been updated
to include the new instructions.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Marko Kovacevic <marko.kovacevic@intel.com>
Pablo de Lara [Mon, 21 May 2018 13:08:41 +0000 (14:08 +0100)]
cryptodev: rename functions to get session size
rte_cryptodev_get_header_session_size() and
rte_cryptodev_get_private_session_size() functions are
targeting symmetric sessions.
With the future addition of asymmetric operations,
these functions need to be renamed from *cryptodev_*_session_*
to *cryptodev_sym_*_session_* to be symmetric specific.
The two original functions are marked as deprecated
and will be removed in 18.08, so applications can still
use the functions in 18.05.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Shally Verma <shally.verma@caviumnetworks.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com> Acked-by: Deepak Kumar Jain <deepak.k.jain@intel.com>
Pablo de Lara [Mon, 21 May 2018 13:08:40 +0000 (14:08 +0100)]
doc: announce deprecation in crypto feature flags
Some feature flags, such as RTE_CRYPTODEV_FF_MBUF_SCATTER_GATHER
are ambiguous. In this case, it is not clear if Scatter Gather lists
are supported in the input buffer and/or output buffer.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Deepak Kumar Jain <deepak.k.jain@intel.com>
Pablo de Lara [Mon, 21 May 2018 13:08:39 +0000 (14:08 +0100)]
doc: announce deprecation in crypto queue pair start/stop
Functions rte_cryptodev_queue_pair_start/stop
are not really used in any of the crypto drivers
(they all just return 0 or -ENOTSUP).
Therefore, this API can be deprecated from 18.05
and removed in 18.08.
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> Acked-by: Deepak Kumar Jain <deepak.k.jain@intel.com>
Pablo de Lara [Mon, 21 May 2018 13:08:38 +0000 (14:08 +0100)]
doc: announce deprecation for attach/detach crypto session
Functions rte_cryptodev_queue_pair_attach_sym_session
and rte_cryptodev_queue_pair_detach_sym_sessions
are not really used in any of the crypto drivers
(only one driver implements it and it just return 0).
Therefore, this API can be deprecated from 18.05
and removed in 18.08.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Deepak Kumar Jain <deepak.k.jain@intel.com>
Pablo de Lara [Mon, 21 May 2018 13:08:37 +0000 (14:08 +0100)]
doc: announce ABI change for crypto info struct
Cryptodev info structure currently contains
a pointer to an rte_pci_device structure.
This field depends on a specific bus type (PCI),
which is not following a bus independent design.
Following the same approach taken in ethdev, the field
will be replaced with a pointer to an rte_device structure.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Deepak Kumar Jain <deepak.k.jain@intel.com>
Pablo de Lara [Mon, 21 May 2018 13:08:36 +0000 (14:08 +0100)]
doc: announce ABI change for crypto sym info struct
Since the API changes made in 17.08, the session mempool
is not created anymore in each crypto device.
Therefore, there is no need to have, in the cryptodev info
structure, the maximum number of sessions supported per device
and per queue pair.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com> Acked-by: Deepak Kumar Jain <deepak.k.jain@intel.com>
Fiona Trahe [Tue, 22 May 2018 10:33:30 +0000 (11:33 +0100)]
compressdev: clarify when private xform can be cleared
As the private_xform data can be shared by many operations
and across queue_pairs, it would be performance impacting
for PMDs to track inflights associated with one. It makes
more sense to push the responsibility to the application to
keep track of its usage and only delete the private_xform when
there are no more ops using it.
Signed-off-by: Fiona Trahe <fiona.trahe@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
crypto/scheduler: fix 64-bit mask of workers cores
The list of workers cores was represented by 64-bit bitmask.
It doesn't work if system has cores with id higher than 63.
This fix changes list of workers cores to array of uint16_t.
The size of array equals to RTE_MAX_LCORE.
Fixes: 4c07e0552f0a ("crypto/scheduler: add multicore scheduling mode") Cc: stable@dpdk.org Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Pablo de Lara [Tue, 15 May 2018 19:13:13 +0000 (20:13 +0100)]
cryptodev: fix supported size check
Crypto capability structure contains supported
sizes for key, IV, digest, etc. on different algorithms.
These sizes can be expressed as a single value or
a range of values.
The check was broken when a size was checked against
a range with multiple values.
Also, for more clarity, the param_range_check macro
has been converted into a function.
Fixes: 38227c0e3ad2 ("cryptodev: retrieve device info") Cc: stable@dpdk.org Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Pablo de Lara [Tue, 15 May 2018 20:21:02 +0000 (21:21 +0100)]
crypto/aesni_gcm: remove unneeded cast
qp->temp_digest is already an array of uint8_t,
so no need to cast to uint8_t*.
Fixes: baf1e63bfd65 ("crypto/aesni_gcm: do not append digest") Cc: stable@dpdk.org Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Pablo de Lara [Tue, 15 May 2018 19:15:27 +0000 (20:15 +0100)]
crypto/aesni_mb: fix capabilities
Missing AES-CMAC supported parameters
in PMD capabilities.
Fixes: 6491dbbecebb ("crypto/aesni_mb: support AES CMAC") Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Marko Kovacevic <marko.kovacevic@intel.com>
Jerin Jacob [Wed, 16 May 2018 12:28:04 +0000 (17:58 +0530)]
app/crypto-perf: fix parameters copy
Since arm64 was using plain memcpy for rte_memcpy, gcc 8.1, could
detect size was more than source address range. In this case, the
source was wrong.
test/test/test_cryptodev.c: In function 'test_multi_session_random_usage':
rte_memcpy_64.h:364:29: error: 'memcpy'
forming offset [113, 184] is out of the bounds [0, 112] of object
'testsuite_params' with type 'struct crypto_testsuite_params'
[-Werror=array-bounds]
#define rte_memcpy(d, s, n) memcpy((d), (s), (n))
^~~~~~~~~~~~~~~~~~~~~
test/test/test_cryptodev.c:6618:3: note:
in expansion of macro 'rte_memcpy'
rte_memcpy(&ut_paramz[i].ut_params, &testsuite_params,
^~~~~~~~~~
test/test/test_cryptodev.c:140:39: note:
'testsuite_params' declared here
static struct crypto_testsuite_params testsuite_params = { NULL };
Fixes: ffbe3be0d4b5 ("app/test: add libcrypto") Cc: stable@dpdk.org Suggested-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Jerin Jacob [Wed, 16 May 2018 12:28:03 +0000 (17:58 +0530)]
app/crypto-perf: use strcpy for allocated string
inlined from ‘cperf_test_vector_get_from_file’ at
app/test-crypto-perf/cperf_test_vector_parsing.c:578:11:
app/test-crypto-perf/cperf_test_vector_parsing.c:510:3: error:
‘strncpy’ output truncated before terminating nul copying as many bytes
from a string as its length [-Werror=stringop-truncation]
strncpy(entry, line, strlen(line));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
app/test-crypto-perf/cperf_test_vector_parsing.c:528:5: error:
‘strncat’ output truncated before terminating nul copying as many bytes
from a string as its length [-Werror=stringop-truncation]
strncat(entry, line, strlen(line));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Found this issue with meson build and gcc 8.1.
Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application") Cc: stable@dpdk.org Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Fan Zhang [Wed, 16 May 2018 13:10:32 +0000 (14:10 +0100)]
crypto/scheduler: fix possible duplicated ring names
This patch fixes the possible duplicated ring names in multi-core
scheduler. Originally two or more multi-core schedulers may have
same worker ring names thus will cause initialization error.
Fixes: 4c07e0552f0a ("crypto/scheduler: add multicore scheduling mode") Cc: stable@dpdk.org Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
When scheduler mode changed from multicore to roundrobin and
back to multicore, scheduler tries to create memory rings with
the same name and fails. The fix allows to lookup and re-use
previously allocated memory rings.
Fixes: 4c07e0552f0a ("crypto/scheduler: add multicore scheduling mode") Cc: stable@dpdk.org Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Fan Zhang <roy.fan.zhang@intel.com> Tested-by: Reshma Pattan <reshma.pattan@intel.com>
Thomas Monjalon [Tue, 22 May 2018 11:28:17 +0000 (13:28 +0200)]
bus/vdev: replace device list lock by a recursive one
A device like failsafe can manage sub-devices.
When removing such device, it removes its sub-devices
and try to take the same vdev_device_list_lock.
It was causing a deadlock because the lock was not recursive.
Andy Green [Tue, 22 May 2018 01:24:47 +0000 (09:24 +0800)]
ethdev: fix type and scope of variables in Rx burst
GCC 8.1 warned:
In function 'rte_eth_rx_burst':
rte_ethdev.h:3836:18: warning: conversion to 'int16_t'
{aka 'short int'} from 'uint16_t' {aka 'short unsigned int'}
may change the sign of the result [-Wsign-conversion]
int16_t nb_rx = (*dev->rx_pkt_burst)(dev->data->rx_queues[queue_id],
^
rte_ethdev.h:3844:50: warning: conversion to 'uint16_t'
{aka 'short unsigned int'} from 'int16_t' {aka 'short int'}
may change the sign of the result [-Wsign-conversion]
nb_rx = cb->fn.rx(port_id, queue_id, rx_pkts, nb_rx,
^~~~~
rte_ethdev.h:3844:12: warning: conversion to 'int16_t'
{aka 'short int'} from 'uint16_t' {aka 'short unsigned int'}
may change the sign of the result [-Wsign-conversion]
nb_rx = cb->fn.rx(port_id, queue_id, rx_pkts, nb_rx,
^~
rte_ethdev.h:3851:9: warning: conversion to 'uint16_t'
{aka 'short unsigned int'} from 'int16_t' {aka 'short int'}
may change the sign of the result [-Wsign-conversion]
return nb_rx;
^~~~~
The second part of the patch is solved by its own basic
block because it is inside a preprocessor conditional.
Bringing the declaration of the var to the top of the
function would require that also being given its own
preprocessor conditional, or a (void)var to avoid an
unused var warning. The basic block is no worse than
those imho.
Fixes: 467465d86df1 ("ethdev: add packet count parameter to Rx callback") Fixes: 4dc294158cac ("ethdev: support optional Rx and Tx callbacks") Cc: stable@dpdk.org Signed-off-by: Andy Green <andy@warmcat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>