14839 Commits

Author SHA1 Message Date
Pavan Nikhilesh
efb9dd148e net/octeontx: fix stop clearing Rx/Tx functions
On dev_stop the Rx/Tx_burst functions are being set to NULL, this causes
a SEGFAULT in cases where control path calls stop and a paket is still
being processed by a worker.
Instead clear the fastpath functions in dev_close.

Fixes: da6c687471a3 ("net/octeontx: add start and stop support")
Cc: stable@dpdk.org

Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
2018-08-02 09:59:10 +02:00
Tiwei Bie
62758c768f net/virtio-user: fix parameters string
Add the missing param "server" to param string.
Also add the missing spaces after params.

Fixes: bd8f50a45d0f ("net/virtio-user: support server mode")
Cc: stable@dpdk.org

Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2018-08-02 04:41:58 +02:00
Tiwei Bie
25760ee803 net/virtio: remove unused offloads macro
This macro isn't used any more after below commit:

Fixes: a4996bd89c42 ("ethdev: new Rx/Tx offloads API")
Cc: stable@dpdk.org

Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
2018-08-02 04:41:55 +02:00
Tiwei Bie
8855839c5d net/virtio: remove unnecessary Rx error assignments
Remove the unnecessary assignments in Rx functions
as they are useless and misleading.

Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
2018-08-02 04:41:51 +02:00
Tiwei Bie
adead74939 vhost: remove unused variable
The nr_updated is just increased and not really used.

Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
2018-08-02 04:41:49 +02:00
Stephen Hemminger
cf63e03273 ethdev: decrease log level of ownership change
Changing ownership of a port is a normal event, and should
not be logged at ERR priority. Downgrade to a DEBUG message.

Fixes: bea1e0c70cfc ("ethdev: convert static log type usage to dynamic")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Matan Azrad <matan@mellanox.com>
2018-08-02 09:00:18 +02:00
Shreyansh Jain
fc4a4860ba raw/skeleton: implement queue count API
Use the rte_rawdev_queue_count API in skeleton and add its unit test
case.

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2018-08-01 18:25:30 +02:00
Shreyansh Jain
e728f9d92c rawdev: fix missing queue count API
Rawdev queue count API prototype was declared, but the definition was
missing from the library. This patch implements the function.

This API is used to query the device about the count of queues it has
been configured with.

Fixes: c88b3f2558ed ("rawdev: introduce raw device library")
Cc: stable@dpdk.org

Suggested-by: Keith Wiles <keith.wiles@intel.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2018-08-01 18:25:10 +02:00
Reshma Pattan
8224b9d682 latency: free up the memzone
Free up the memzone allocated during the
rte_latencystats_init().

Fixes: 5cd3cac9ed ("latency: added new library for latency stats")
CC: stable@dpdk.org

Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Acked-by: Remy Horton <remy.horton@intel.com>
2018-08-01 18:25:08 +02:00
Anatoly Burakov
4268cf49e8 eal/bsd: silence unsupported interrupts error
Currently, nic_uio driver does not support interrupts, so any
attempts to install an interrupt handler will fail with a
not supported error, which will cause an error message that is
confusing to the user.

Silence this error by moving it to debug log level, and reword
the message to avoid containing the word "Error", to avoid
triggering DTS test failures [1].

[1] https://git.dpdk.org/tools/dts/tree/tests/TestSuite_scatter.py?#n110

Fixes: 23150bd8d8a8 ("eal/bsd: add interrupt thread")

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
2018-08-01 18:25:05 +02:00
Anatoly Burakov
45fdc3ed87 vfio: revert retry logic for MSI-X BAR mapping
This reverts commit d4774a568ba0a5923229974a002972c83eb04570.

The patch is incomplete because kernel 4.16+, while being capable
of mapping MSI-X BARs, will also report if such a capability is
available. Without checking this capability, gratuitous errors
are displayed on kernels <4.16 while VFIO is attempting to mmap
MSI-X BAR and fails, which can be confusing to the user.

Fixes: d4774a568ba0 ("vfio: fix workaround of BAR mapping")

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
2018-08-01 17:51:04 +02:00
Rami Rosen
f771732be8 ethdev: remove unused forward declaration
The forward declaraion of rte_pci_device in rte_ethdev.h
is not needed anymore.

Fixes: cd8c7c7ce241 ("ethdev: replace bus specific struct with generic dev")
Cc: stable@dpdk.org

Signed-off-by: Rami Rosen <rami.rosen@intel.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
2018-08-01 17:14:00 +02:00
Ben Shelton
d473b0ce17 ethdev: clarify usage of TM node parent update
The node parent update API function may be used to update the
priority/weight of an existing node.  Update the documentation to
indicate that this use case is supported.

Signed-off-by: Ben Shelton <benjamin.h.shelton@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2018-08-01 16:42:53 +02:00
Gavin Hu
d633ed1077 devtools: fix checkpatch with dash
When running checkpatch.sh, it generates the following error
on some linux distributions(like Debian) with Dash as the
default shell interpreter.
trap: SIGINT: bad trap

The fix is to replace SIGINT with INT signal, it works for
both bash and dash.

Fixes: 4bec48184e ("devtools: add checks for ABI symbol addition")
Cc: stable@dpdk.org

Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Tested-by: Vipin Varghese <vipin.varghese@intel.com>
2018-08-01 16:42:53 +02:00
Konstantin Ananyev
ac7c491c3f app/testpmd: fix DCB config
After adding RSS hash offload check, default rss_hf will fail on devices
that do not support all bits. This will lead to dcb config failure. The
patch fixes this issue by reading current valid rss_conf from the device.

Fixes: 8863a1fbfc66 ("ethdev: add supported hash function check")
Fixes: 1a572499beb6 ("app/testpmd: setup DCB forwarding based on traffic class")
Cc: stable@dpdk.org

Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
2018-08-01 16:36:04 +02:00
Bernard Iremonger
d07befdf29 app/testpmd: set and clear keep CRC offload flag
If the "port config all crc-strip on" command is issued,
The DEV_RX_OFFLOAD_KEEP_CRC offload flag should be cleared.

If the "port config all crc-strip off command is issued,
The DEV_RX_OFFLOAD_KEEP_CRC offload flag should be set.

Fixes: 70815c9ecadd ("ethdev: add new offload flag to keep CRC")

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
2018-08-01 16:36:04 +02:00
Reshma Pattan
336464c9b1 test: remove CRC offload for bonding slave
Link bonding unit tests uses net_null vdev as slaves,
and trying to configure DEV_RX_OFFLOAD_CRC_STRIP as offload
flags to vdev is not correct as vdev doesn't support offloads.

The unit test is reporting this as failure, so fix this by
removing the offloads.

Fixes: c6698a3e8f ("ethdev: convert remaining apps to new offload API")

Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
2018-08-01 16:36:04 +02:00
Radu Nicolau
f592915946 test: fix uninitialized port configuration
test_pmd_ring_pair_create_attach() uses an uninitialized
struct rte_eth_conf object

Fixes: 51f567129c94 ("app/test: add pmd_ring")
Cc: stable@dpdk.org

Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
2018-08-01 16:36:04 +02:00
Anatoly Burakov
876b3d4c35 test: add fbarray autotest to script
Fbarray autotests were added, but the script command was missing.
Add it, so that fbarray autotest can be executed as part of
autotest script.

Fixes: 7985860c18af ("test/fbarray: add autotests")

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
2018-08-01 15:58:40 +02:00
Reshma Pattan
9724d127f2 mk: remove unnecessary test rules
make rule test-basic is duplicate of test rule.
removed unused test-mempool and test-ring make rules.

Fixes: a3df7f8d9c ("mk: rename test related rules")
CC: stable@dpdk.org

Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>
2018-07-31 16:38:45 +02:00
Jananee Parthasarathy
37c1401ecc mk: update targets for classified tests
Makefiles are updated with new test case lists.
Test cases are classified as -
P1 - Main test cases,
P2 - Cryptodev/driver test cases,
P3 - Perf test cases which takes longer than 10s,
P4 - Logging/Dump test cases.

Makefile is updated with different targets
for the above classified groups.
Test cases for different targets are listed accordingly.

Cc: stable@dpdk.org

Signed-off-by: Jananee Parthasarathy <jananeex.m.parthasarathy@intel.com>
Reviewed-by: Reshma Pattan <reshma.pattan@intel.com>
Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>
2018-07-31 16:38:14 +02:00
Jananee Parthasarathy
9eabcb6824 test: update autotest list
Autotest is enhanced with additional test cases
being added to autotest_data.py

Removed non existing PCI autotest.

Cc: stable@dpdk.org

Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Signed-off-by: Jananee Parthasarathy <jananeex.m.parthasarathy@intel.com>
Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>
2018-07-31 16:37:52 +02:00
Anatoly Burakov
22dcd9a4d9 test: parallelize unit tests
Now that everything else is in place, we can run unit tests in a
different fashion to what they were running as before. Previously,
we had all autotests as part of groups (largely obtained through
trial and error) to ensure parallel execution while still limiting
amounts of memory used by those tests.

This is no longer necessary, and as of previous commit, all tests
are now in the same group (still broken into two categories). They
still run one-by-one though. Fix this by initializing child
processes in multiprocessing Pool initialization, and putting all
tests on the queue, so that tests are executed by the first idle
worker. Tests are also affinitized to different NUMA nodes using
taskset in a round-robin fashion, to prevent over-exhausting
memory on any given NUMA node.

Non-parallel tests are executed in similar fashion, but on a
separate queue which will have only one pool worker, ensuring
non-parallel execution.

Support for FreeBSD is also added to ensure that on FreeBSD, all
tests are run sequentially even for the parallel section.

Cc: stable@dpdk.org

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
2018-07-31 16:37:18 +02:00
Anatoly Burakov
82dc85c4e6 test: remove autotest grouping
Previously, all autotests were grouped into (seemingly arbitrary)
groups. The goal was to run all tests in parallel (so that autotest
finishes faster), but we couldn't just do it willy-nilly because
DPDK couldn't allocate and free hugepages on-demand, so we had to
find autotest groupings that could work memory-wise and still be
fast enough to not hold up shorter tests. The inflexibility of
memory subsystem has now been fixed for 18.05, so grouping
autotests is no longer necessary.

Thus, this commit moves all autotests into two groups -
parallel(izable) autotests, and non-arallel(izable) autotests
(typically performance tests). Note that this particular commit
makes running autotests dog slow because while the tests are now
in a single group, the test function itself hasn't changed much,
so all autotests are now run one-by-one, starting and stopping
the DPDK test application.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
2018-07-31 16:37:12 +02:00
Anatoly Burakov
71d97e03d8 test: improve filtering
Improve code for filtering test groups. Also, move reading binary
symbols into filtering stage, so that tests that are meant to be
skipped are never attempted to be executed in the first place.
Before running tests, print out any tests that were skipped because
they weren't compiled.

Cc: stable@dpdk.org

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
2018-07-31 16:36:36 +02:00
Anatoly Burakov
b48188f417 test: print autotest categories
Help visually identify parallel vs. non-parallel autotests.

Cc: stable@dpdk.org

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
2018-07-31 16:35:19 +02:00
Anatoly Burakov
3efeed3db3 test: make autotest runner python 2/3 compliant
Autotest runner was still using python 2-style print syntax. Fix
it by importing print function from the future, and fix the calls
to be python-3 style.

Fixes: 54ca545dce4b ("make python scripts python2/3 compliant")
Cc: stable@dpdk.org

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
2018-07-31 16:34:38 +02:00
Anatoly Burakov
5a6feec6c8 test: fix code on report
There are no reports defined for any test, so this codepath was
never triggered, but it's still wrong because it's referencing
variables that aren't there. Fix it by passing target into the
test function, and reference correct log variable.

Fixes: e2cc79b75d9f ("app: rework autotest.py")
Cc: stable@dpdk.org

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
2018-07-31 16:33:19 +02:00
Anatoly Burakov
9c197a2389 test: fix result printing
Previously, printing was done using tuple syntax, which caused
output to appear as a tuple as opposed to being one string. Fix
this by using addition operator instead.

Fixes: 54ca545dce4b ("make python scripts python2/3 compliant")
Cc: stable@dpdk.org

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
2018-07-31 14:53:24 +02:00
Arnon Warshavsky
7413e7f2ae devtools: alert on new calls to exit from libs
This patch adds a new function that is called
per every checked patch,
and alerts for new instances of rte_panic/rte_exit.
The check excludes comments, and alerts in the case
of a positive balance between additions and removals.

Signed-off-by: Arnon Warshavsky <arnon@qwilt.com>
Reviewed-by: Stephen Hemminger <stephen@networkplumber.org>
Tested-by: Kevin Traynor <ktraynor@redhat.com>
2018-07-31 14:12:57 +02:00
Thomas Monjalon
23888166d9 version: 18.08-rc2
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
v18.08-rc2
2018-07-26 23:59:06 +02:00
Shreyansh Jain
931cc531aa rawdev: remove experimental tag
Besides the librawdev, removing experimental from skeleton_rawdev
dummy driver as well.

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2018-07-26 23:58:08 +02:00
Hemant Agrawal
787ae736a3 vfio: remove experimental tag
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>
2018-07-26 23:46:18 +02:00
Hemant Agrawal
e9072968d8 mbuf: remove experimental tag from pool ops
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
2018-07-26 23:37:08 +02:00
Stephen Hemminger
2be90f7915 doc: fix typo in vdev_netvsc guide
Fixes: 56252de779a6 ("net/vdev_netvsc: add automatic probing")
Cc: stable@dpdk.org

Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
2018-07-26 22:56:51 +02:00
Hemant Agrawal
d014084525 buildtools: change license to SPDX
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
2018-07-26 22:45:17 +02:00
David Hunt
50ac590ff8 doc: update VM power manager sample guide
Add information on the ability of guest app to sent
a policy to the host app.

Add information on the branch ratio out-of-band method
of workload monitoring and power management.

Signed-off-by: David Hunt <david.hunt@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2018-07-26 22:38:54 +02:00
Shreyansh Jain
0c00abfd85 doc: fix bonding command in testpmd
Fixes: ac718398f477 ("doc: testpmd application user guide")
Cc: stable@dpdk.org

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
2018-07-26 22:37:25 +02:00
Pablo de Lara
a4492ab49e test/hash: fix potential memory leak
In the multiwriter test, if "found" array allocation failed,
the memory of "keys" array, which was successfully allocated
could not be freed, since by this time, tbl_multiwriter_test_params.keys
was not set to this array, which is the pointer freed when finishing
the test or when a failure happens.

To solve this, tbl_multiwriter_test_params.keys is set to the "keys"
address, just after allocating and filling the array.

Fixes: be856325cba3 ("hash: add scalable multi-writer insertion with Intel TSX")
Cc: stable@dpdk.org

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2018-07-26 21:52:31 +02:00
Pablo de Lara
0c99282290 test/hash: fix multiwriter with non consecutive cores
When non consecutive cores are passed into the test application,
the distribution of the keys that each thread needs to insert
is not correct, since it assumes that there are no cores skipped
between the master core and the worker core.

Fixes: be856325cba3 ("hash: add scalable multi-writer insertion with Intel TSX")
Cc: stable@dpdk.org

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2018-07-26 21:49:28 +02:00
Ferruh Yigit
2bd55cb990 test/bonding: do not request CRC strip offload
bonding PMD doesn't announce CRC STRIP offload support, don't request
this offload in unit test otherwise unit test fails.

Fixes: f52f1a65e461 ("ethdev: force offloading API rules")
Cc: stable@dpdk.org

Reported-by: Meijuan Zhao <meijuanx.zhao@intel.com>
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-07-26 21:46:38 +02:00
Reshma Pattan
4f872116c5 test/flow_classify: fix return types
UTs should return either TEST_SUCCESS or TEST_FAILED only.
They should not return 0, -1 and any other value.

Fixes: 9c9befea4f ("test: add flow classify unit tests")
CC: stable@dpdk.org

Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>
2018-07-26 21:42:41 +02:00
Anatoly Burakov
786b29255c test: fix file prefix discovery
Config file has moved, but the tests weren't updated to point to
its new location. Update the code to find current prefix.

Also, this function is duplicated across multiple tests, so move it
into process.h and force compile failures for any attempts to use
it on platforms other than Linux.

Fixes: adf1d867361c ("eal: move runtime config file to new location")

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Reshma Pattan <reshma.pattan@intel.com>
2018-07-26 21:34:08 +02:00
Anatoly Burakov
b5d878e6db test: fix EAL flags autotest on FreeBSD
FreeBSD does not support running multiple primary processes
concurrently, because all DPDK instances will allocate memory
from the same place (memory provided by contigmem driver).
While it is technically possible to launch a DPDK process
using no-shconf switch, it will actually corrupt main process'
for the above reason.

Fix EAL flags autotest to not run primary processes unless
both no-shconf and no-huge are specified.

Cc: stable@dpdk.org

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Tested-by: Changqing Wu <changqingx.wu@intel.com>
2018-07-26 21:25:12 +02:00
Rami Rosen
73d1562103 bus/pci: fix a typo
This patch fixes a trivial typo in pci_common.c.

Fixes: 23eaa9059ec2 ("bus/pci: use given name as generic name")
Cc: stable@dpdk.org

Signed-off-by: Rami Rosen <rami.rosen@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2018-07-26 21:23:16 +02:00
Remy Horton
219731302a metrics: disallow null as metric name
This patch adds a sanity check so that names passed into
rte_metrics_reg_names() and the wrapper rte_metrics_reg_name()
cannot be NULL.

Fixes: 349950ddb9c5 ("metrics: add information metrics library")
Cc: stable@dpdk.org

Signed-off-by: Remy Horton <remy.horton@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-07-26 20:30:18 +02:00
Remy Horton
a84bdf6a10 metrics: do not fail silently when uninitialised
If rte_metrics_init() had not been called and hence the internal
metric storage is not allocated, rte_metrics_get_values() and
rte_metrics_get_name() would silently fail by returning zero
(i.e. no metrics registered). This patch changes the result of
this scenario to an explicit fail by returning -EIO.

Fixes: 349950ddb9c5 ("metrics: add information metrics library")
Cc: stable@dpdk.org

Signed-off-by: Remy Horton <remy.horton@intel.com>
2018-07-26 20:28:02 +02:00
Remy Horton
50d2459fdd metrics: add check for invalid key
This patchset adds a check to rte_metrics_update_values()
that prevents the updating of metrics when presented with
an invalid metric key. Previously, doing the latter could
result in a crash.

Fixes: 349950ddb9c5 ("metrics: add information metrics library")
Cc: stable@dpdk.org

Signed-off-by: Remy Horton <remy.horton@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-07-26 20:12:02 +02:00
Remy Horton
90b0e5aaf4 bitrate: add sanity check on parameters
If rte_stats_bitrate_reg() or rte_stats_bitrate_calc() are
passed NULL as the parameter for the stats structure, the
result is a crash. Fixed by adding a sanity check that makes
sure the passed-in pointer is not NULL.

Fixes: 2ad7ba9a6567 ("bitrate: add bitrate statistics library")
Cc: stable@dpdk.org

Signed-off-by: Remy Horton <remy.horton@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
2018-07-26 20:07:57 +02:00
Rami Rosen
8dedd73745 examples/l3fwd: remove useless include
This patch removes unneeded include of rte_mempool.h in
two modules in examples/l3fwd.

Fixes: 268888b5b020 ("examples/l3fwd: modularize")
Cc: stable@dpdk.org

Signed-off-by: Rami Rosen <rami.rosen@intel.com>
2018-07-26 20:03:12 +02:00