Anatoly Burakov [Fri, 27 Jul 2018 09:40:14 +0000 (10:40 +0100)]
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>
Anatoly Burakov [Fri, 27 Jul 2018 09:40:13 +0000 (10:40 +0100)]
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>
Anatoly Burakov [Fri, 27 Jul 2018 09:40:12 +0000 (10:40 +0100)]
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>
Anatoly Burakov [Fri, 27 Jul 2018 09:40:11 +0000 (10:40 +0100)]
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>
Arnon Warshavsky [Thu, 26 Jul 2018 22:10:58 +0000 (01:10 +0300)]
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>
Thomas Monjalon [Thu, 26 Jul 2018 21:59:06 +0000 (23:59 +0200)]
version: 18.08-rc2
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Shreyansh Jain [Thu, 14 Jun 2018 13:19:00 +0000 (18:49 +0530)]
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>
Hemant Agrawal [Fri, 8 Jun 2018 09:40:11 +0000 (15:10 +0530)]
vfio: remove experimental tag
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>
Hemant Agrawal [Tue, 5 Jun 2018 06:24:11 +0000 (11:54 +0530)]
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>
Stephen Hemminger [Wed, 25 Jul 2018 17:51:46 +0000 (10:51 -0700)]
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>
Hemant Agrawal [Tue, 5 Jun 2018 07:50:25 +0000 (13:20 +0530)]
buildtools: change license to SPDX
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
David Hunt [Wed, 25 Jul 2018 13:00:09 +0000 (14:00 +0100)]
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>
Shreyansh Jain [Wed, 25 Jul 2018 11:31:32 +0000 (17:01 +0530)]
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>
Pablo de Lara [Tue, 17 Jul 2018 13:31:51 +0000 (14:31 +0100)]
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>
Pablo de Lara [Tue, 17 Jul 2018 13:31:50 +0000 (14:31 +0100)]
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>
Ferruh Yigit [Fri, 20 Jul 2018 15:59:41 +0000 (16:59 +0100)]
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>
Reshma Pattan [Tue, 17 Jul 2018 16:44:45 +0000 (17:44 +0100)]
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>
Anatoly Burakov [Wed, 25 Jul 2018 13:44:26 +0000 (14:44 +0100)]
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>
Anatoly Burakov [Mon, 16 Jul 2018 16:34:04 +0000 (17:34 +0100)]
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>
Rami Rosen [Thu, 26 Jul 2018 18:31:23 +0000 (21:31 +0300)]
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>
Remy Horton [Mon, 2 Jul 2018 13:46:08 +0000 (14:46 +0100)]
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>
Remy Horton [Mon, 2 Jul 2018 14:55:47 +0000 (15:55 +0100)]
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>
Remy Horton [Fri, 6 Jul 2018 13:21:19 +0000 (14:21 +0100)]
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>
Remy Horton [Thu, 12 Jul 2018 10:49:48 +0000 (11:49 +0100)]
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>
Rami Rosen [Mon, 2 Jul 2018 17:55:23 +0000 (20:55 +0300)]
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>
Bruce Richardson [Mon, 16 Jul 2018 16:03:47 +0000 (17:03 +0100)]
examples/exception_path: fix out-of-bounds read
When printing out stats from the exception_path app, all possible
lcore_ids are iterated. However, the app only supports up to 64 cores.
To prevent possible errors, and to remove coverity warnings,
explicitly check for out-of-range lcore ids before printing.
Coverity issue: 268335
Fixes:
af75078fece3 ("first public release")
Cc: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Krzysztof Kanas [Wed, 25 Jul 2018 12:41:49 +0000 (14:41 +0200)]
app/testpmd: fix help for TM commit command
Fixes:
996cb153af06 ("app/testpmd: add commands for TM nodes and hierarchy commit")
Signed-off-by: Krzysztof Kanas <krzysztof.kanas@caviumnetworks.com>
Krzysztof Kanas [Wed, 25 Jul 2018 12:41:48 +0000 (14:41 +0200)]
app/testpmd: fix crash on TM command error
print_err_msg uses message field that may be not initialized causing
segmentation fault.
Fixes:
12f76f5247e2 ("app/testpmd: add command to resume a TM node")
Signed-off-by: Krzysztof Kanas <krzysztof.kanas@caviumnetworks.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Nithin Dabilpuram [Thu, 5 Jul 2018 05:45:46 +0000 (11:15 +0530)]
app/testpmd: fix buffer leak in TM command
Free the buffer allocated for shared_shaper_id array in
case of configuration without shared shapers.
Fixes:
996cb153af06 ("app/testpmd: add commands for TM nodes and hierarchy commit")
Signed-off-by: Nithin Dabilpuram <nithin.dabilpuram@caviumnetworks.com>
Acked-by: Jasvinder Singh <jasvinder.singh@intel.com>
Kevin Laatz [Tue, 17 Jul 2018 10:34:05 +0000 (11:34 +0100)]
app/testpmd: remove logically dead code
Remove logically dead code, tm_port_rate cannot be greater than
UINT32_MAX.
Coverity issue: 302846
Fixes:
0ad778b398c6 ("app/testpmd: rework softnic forward mode")
Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Harry van Haaren [Thu, 26 Jul 2018 16:31:59 +0000 (17:31 +0100)]
service: improve checks of coremasks
This commit improves the error checking performed on the
core masks (or lists) of the service cores, in particular
with respect to the data-plane (RTE) cores of DPDK.
With this commit, invalid configurations are detected at
runtime, and warning messages are printed to inform the user.
For example specifying the coremask as 0xf, and the service
coremask as 0xff00 is invalid as not all service-cores are
contained within the coremask. A warning is now printed to
inform the user.
Reported-by: Vipin Varghese <vipin.varghese@intel.com>
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Vipin Varghese <vipin.varghese@intel.com>
Pavan Nikhilesh [Tue, 24 Jul 2018 12:14:50 +0000 (17:44 +0530)]
app/eventdev: use proper teardown sequence
Use proper teardown sequence when SIGINT is caught to prevent
eventdev from going into undefined state.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Pavan Nikhilesh [Thu, 19 Jul 2018 11:47:47 +0000 (17:17 +0530)]
event/octeontx: remove unnecessary port start and stop
Modifying port state is not necessary when starting/stopping Rx adapter
as it is same as starting/stopping ethdev.
Fixes:
45a914c5bd71 ("event/octeontx: support event Rx adapter")
Cc: stable@dpdk.org
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Pavan Nikhilesh [Tue, 17 Jul 2018 14:33:45 +0000 (20:03 +0530)]
event/octeontx: prefetch mbuf instead of wqe
Prefetch mbuf pointer instead of wqe when SSO receives pkt from PKI.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
Pavan Nikhilesh [Fri, 13 Jul 2018 08:51:14 +0000 (14:21 +0530)]
app/eventdev: fix order test service init
Previous modification to evt_service_setup() broke order_queue/atq
tests.
Fixes:
b0333c55dfa5 ("app/eventdev: add service core configuration")
Cc: stable@dpdk.org
Reported-by: Gage Eads <gage.eads@intel.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Gage Eads <gage.eads@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Cristian Dumitrescu [Thu, 26 Jul 2018 13:38:04 +0000 (14:38 +0100)]
examples/ip_pipeline: add example script for RSS
Add example script to demonstrate Receive Side Scaling (RSS).
Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Cristian Dumitrescu [Wed, 25 Jul 2018 17:10:07 +0000 (18:10 +0100)]
net/softnic: add command for default tmgr hierarchy
Add support for creating default Traffic Manager (TMGR) hierarchy through
firmware CLI script.
Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Cristian Dumitrescu [Wed, 25 Jul 2018 17:10:06 +0000 (18:10 +0100)]
net/softnic: add command for tmgr hierarchy commit
Add support for Traffic Manager (TMGR) hierarchy commit through
firmware CLI script.
Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Cristian Dumitrescu [Wed, 25 Jul 2018 17:10:05 +0000 (18:10 +0100)]
net/softnic: add command for tmgr node addition
Add support for adding Traffic Manager (TMGR) hierarchy node through
firmware CLI script.
Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Cristian Dumitrescu [Wed, 25 Jul 2018 17:10:04 +0000 (18:10 +0100)]
net/softnic: add command for tmgr shared shaper
Add support to create Traffic Manager (TMGR) shared shaper through
firmware CLI script.
Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Cristian Dumitrescu [Wed, 25 Jul 2018 17:10:03 +0000 (18:10 +0100)]
net/softnic: add command for tmgr shaper profile
Add support to create Traffic Manager (TMGR) shaper profile
through firmware CLI script.
Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Cristian Dumitrescu [Wed, 25 Jul 2018 17:10:02 +0000 (18:10 +0100)]
net/softnic: add command for tmgr create
Add support to create Traffic Manager (TMGR) object through firmware
CLI script.
Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Kevin Laatz [Fri, 20 Jul 2018 15:54:27 +0000 (16:54 +0100)]
examples/ip_pipeline: add help command
Add a help to the existing application cli. This will enable users to
display the usage help with descriptions within the cli.
Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Andy Green [Mon, 28 May 2018 09:03:43 +0000 (17:03 +0800)]
ring: fix sign conversion warning
On gcc 5.4.0 / native aarch64 from Ubuntu 16.04:
In function '__rte_ring_do_dequeue':
rte_ring.h: 385:35: warning:
conversion to 'int' from 'unsigned int' may change
the sign of the result [-Wsign-conversion]
n = __rte_ring_move_cons_head(r, is_sc, n, behavior,
^
Fixes:
e8ed5056c8 ("ring: remove signed type flip-flopping")
Cc: stable@dpdk.org
Signed-off-by: Andy Green <andy@warmcat.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Andy Green [Mon, 28 May 2018 09:03:38 +0000 (17:03 +0800)]
ring: fix declaration after statement
On gcc 5.4.0 / native aarch64 from Ubuntu 16.04:
In function '__rte_ring_move_prod_head':
rte_ring_c11_mem.h:69:3: warning:
ISO C90 forbids mixed declarations and code
[-Wdeclaration-after-statement]
const uint32_t cons_tail = r->cons.tail;
^
In function '__rte_ring_move_cons_head':
rte_ring_c11_mem.h:136:3: warning:
ISO C90 forbids mixed declarations and code
[-Wdeclaration-after-statement]
const uint32_t prod_tail = r->prod.tail;
^
Fixes:
39368ebfc6 ("ring: introduce C11 memory model barrier option")
Cc: stable@dpdk.org
Signed-off-by: Andy Green <andy@warmcat.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Matej Vido [Tue, 17 Jul 2018 13:52:18 +0000 (15:52 +0200)]
maintainers: update for szedata2 PMD
I will no longer be maintaining szedata2 PMD.
Jan will take over this role.
Signed-off-by: Matej Vido <matejvido@gmail.com>
Acked-by: Jan Remes <remes@netcope.com>
Moti Haimovsky [Wed, 25 Jul 2018 15:30:09 +0000 (18:30 +0300)]
app/testpmd: revert softnic integration in CLI thread
This patch reverts the testpmd CLI prompt routine modifications done
in order to support softnic.
The reason of doing so is due to testpmd abnormal exit observed on
several setups caused by the softnic modifications to this routine,
for example: When running testpmd with tap interface
(testpmd
-n 4 --vdev=net_tap0,iface=tap0,remote=eth1 -- --burst=64
--mbcache=512 -i --nb-cores=7 --rxq=2 --txq=2 --txd=512
--rxd=512 --port-topology=chained --forward-mode=rxonly)
testpmd crashes seconds after presenting its prompt with the following
error:
testpmd> PANIC in prompt():
CLI poll error (-1)
Thread 1 "testpmd" received signal SIGABRT, Aborted.
0x00007ffff668e0d0 in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x00007ffff668e0d0 in raise () from /lib64/libc.so.6
#1 0x00007ffff668f6b1 in abort () from /lib64/libc.so.6
#2 0x0000000000468027 in __rte_panic ()
#3 0x00000000004876ed in prompt ()
#4 0x000000000046dffc in main ()
When running testpmd with bare-metal device
(testpmd -n 4 --socket-mem=1024,1024 -w 04:00.0 --
--burst=64 --mbcache=512 -i --nb-cores=7
--rxq=64 --txq=4 --txd=16 --rxd=16)
and pressing CTRL+D right after testpmd prompt is presented then
the program crashes while presenting the same messages as above.
Needless to say that this behavior is not observed when using the
previous CLI prompt routine.
Fixes:
0ad778b398c6 ("app/testpmd: rework softnic forward mode")
Signed-off-by: Moti Haimovsky <motih@mellanox.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Acked-by: Aaron Conole <aconole@redhat.com>
Ferruh Yigit [Fri, 20 Jul 2018 14:54:23 +0000 (15:54 +0100)]
drivers/net: fix crash in secondary process
Calling rte_eth_dev_info_get() on secondary process cause a crash
because eth_dev->device is not set properly.
Fixes:
ee27edbe0c10 ("drivers/net: share vdev data to secondary process")
Cc: stable@dpdk.org
Reported-by: Vipin Varghese <vipin.varghese@intel.com>
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Reviewed-by: Qi Zhang <qi.z.zhang@intel.com>
Tiwei Bie [Wed, 25 Jul 2018 14:18:11 +0000 (22:18 +0800)]
vhost: release locks on RARP packet failure
Fixes:
eefac9536a90 ("vhost: postpone device creation until rings are mapped")
Cc: stable@dpdk.org
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Reviewed-by: Jens Freimann <jfreimann@redhat.com>
Tiwei Bie [Wed, 25 Jul 2018 13:51:37 +0000 (21:51 +0800)]
vhost: fix overflow on shadow used ring
The shadow used ring's size is the same as the vq's size,
so we shouldn't try more than "vq size" times. Besides,
the element pointed by avail->idx isn't available to the
device, so we will return error when try "vq size" times.
Fixes:
24e4844048e1 ("vhost: unify Rx mergeable and non-mergeable paths")
Fixes:
a922401f35cc ("vhost: add Rx support for packed ring")
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Reviewed-by: Jens Freimann <jfreimann@redhat.com>
Jiayu Hu [Wed, 25 Jul 2018 08:21:42 +0000 (16:21 +0800)]
vhost: fix return value on dequeue path
This patch fixes the incorrect return value for rte_vhost_dequeue_burst()
when virtqueue is not enabled or virtqueue address translation fails.
Fixes:
62250c1d0978 ("vhost: extract split ring handling from Rx and Tx functions")
Signed-off-by: Jiayu Hu <jiayu.hu@intel.com>
Reviewed-by: Jens Freimann <jfreimann@redhat.com>
Acked-by: Tiwei Bie <tiwei.bie@intel.com>
Yaroslav Brustinov [Thu, 19 Jul 2018 10:00:22 +0000 (13:00 +0300)]
net/mlx5: fix linkage of glue lib with gcc 4.7.2
addressing a gcc 4.7.2 bug that cannot be reproduced with latter
versions:
"bin/ld: Warning: alignment 8 of symbol `mlx5_glue' in
src/dpdk/drivers/net/mlx5/mlx5_glue.c.21.o is smaller than 16 in
src/dpdk/drivers/net/mlx5/mlx5_rxq.c.21.o"
Fix it be forcing the alignment of the glue lib.
Fixes:
0e83b8e536c1 ("net/mlx5: move rdma-core calls to separate file")
Cc: stable@dpdk.org
Signed-off-by: Yaroslav Brustinov <ybrustin@cisco.com>
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Adrien Mazarguil [Wed, 25 Jul 2018 11:24:33 +0000 (13:24 +0200)]
net/mlx5: fix invalid network interface index
Network interface indices being unsigned, an invalid index or error is
normally expressed through a zero value (see if_nametoindex()).
mlx5_ifindex() has a signed return type for negative values in case of
error. Since mlx5_nl.c does not check for errors, these may be fed back as
invalid interfaces indices to subsequent system calls. This usage would
have been correct if mlx5_ifindex() returned a zero value instead.
This patch makes mlx5_ifindex() unsigned for convenience.
Fixes:
ccdcba53a3f4 ("net/mlx5: use Netlink to add/remove MAC addresses")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Nelio Laranjeiro [Wed, 25 Jul 2018 08:46:14 +0000 (10:46 +0200)]
net/mlx5: fix count query when flow has not counter
Querying a counters on a flow without counter is ending with a
segmentation fault.
Fixes:
60bd8c9747e8 ("net/mlx5: add count flow action")
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Ori Kam <orika@mellanox.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Yongseok Koh [Mon, 23 Jul 2018 20:57:04 +0000 (13:57 -0700)]
net/mlx5: fix queue rollback when starting device
mlx5_rxq_start() and mlx5_rxq_stop() must be strictly paired because
internal reference counter is increased or decreased inside. Also,
mlx5_rxq_get() must be paired with mlx5_rxq_release().
Fixes:
7d6bf6b866b8 ("net/mlx5: add Multi-Packet Rx support")
Fixes:
a1366b1a2be3 ("net/mlx5: add reference counter on DPDK Rx queues")
Fixes:
6e78005a9b30 ("net/mlx5: add reference counter on DPDK Tx queues")
Cc: stable@dpdk.org
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Yongseok Koh [Mon, 23 Jul 2018 18:27:44 +0000 (11:27 -0700)]
net/mlx5: fix endless loop when clearing flow flags
If one of (*priv->rxqs)[] is null, the for loop can iterate infinitely as
idx can't be increased.
Fixes:
cd24d526395e ("net/mlx5: add mark/flag flow action")
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Ori Kam <orika@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Nelio Laranjeiro [Tue, 24 Jul 2018 06:50:27 +0000 (08:50 +0200)]
net/mlx5: fix route Netlink message overflow
Route Netlink message socket is wrongly initialized by registering to
the route link group. This causes the socket to receive all link
message related to routes whereas the PMD do not expect to receive such
information. In some situation it ends by filling the socket at a point
that any new message cannot be exchanged.
As the PMD is not expected to process such broadcast messages, the
parameter in the nl_group in the function is also remove.
Fixes:
ccdcba53a3f4 ("net/mlx5: use Netlink to add/remove MAC addresses")
Cc: stable@dpdk.org
Signed-off-by: Zijie Pan <zijie.pan@6wind.com>
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Yongseok Koh [Mon, 23 Jul 2018 18:00:10 +0000 (11:00 -0700)]
net/mlx5: fix assert for Tx completion queue count
There should be at least one Tx CQE remained if Tx WQ and txq->elts[] have
available slots to send a packet because the size of Tx CQ is exactly
calculated from the size of other resources. As it is guaranteed, it is
checked by an assertion.
max_elts is checked after the assertion for Tx CQ. If no slot is available
in txq->elts[], the assertion would be wrong.
Fixes:
2eefbec531c7 ("net/mlx5: add missing sanity checks for Tx completion queue")
Fixes:
6ce84bd88919 ("net/mlx5: add enhanced multi-packet send for ConnectX-5")
Cc: stable@dpdk.org
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Xueming Li <xuemingl@mellanox.com>
Nelio Laranjeiro [Tue, 24 Jul 2018 08:36:45 +0000 (10:36 +0200)]
net/mlx5: fix representors detection
On systems where the required Netlink commands are not supported but
Mellanox OFED is installed, representors information must be retrieved
through sysfs.
Fixes:
26c08b979d26 ("net/mlx5: add port representor awareness")
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Nelio Laranjeiro [Mon, 23 Jul 2018 07:18:40 +0000 (09:18 +0200)]
net/mlx5: fix TCI mask filter
In mlx5_traffic_enable() the TCI mask for the VLAN is wrong causing the
sub flow engine to reject the rule.
Fixes:
272733b5ebfd ("net/mlx5: use flow to enable unicast traffic")
Cc: stable@dpdk.org
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Ori Kam <orika@mellanox.com>
Moti Haimovsky [Sun, 15 Jul 2018 17:31:39 +0000 (20:31 +0300)]
net/mlx5: fix build with old kernels
This commit fixes compilation errors due to missing definitions
found when compiling mlx5 PMD from DPDK 17.11-LTS on Ubuntu 12.4
with kernel 3.15.
Fixes:
75ef62a94301 ("net/mlx5: fix link speed capability information")
Fixes:
5bfc9fc112dd ("net/mlx5: use static assert for compile-time sanity checks")
Cc: stable@dpdk.org
Signed-off-by: Moti Haimovsky <motih@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Adrien Mazarguil [Fri, 13 Jul 2018 09:40:47 +0000 (11:40 +0200)]
net/mlx5: add port ID pattern item to switch flow rules
This enables flow rules to match traffic coming from a different DPDK port
ID associated with the device (PORT_ID pattern item), mainly for the
convenience of applications that want to deal with a single port ID for all
flow rules associated with some physical device.
Testpmd example:
- Creating a flow rule on port ID 1 to consume all traffic from port ID 0
and direct it to port ID 2:
flow create 1 ingress transfer pattern port_id id is 0 / end actions
port_id id 2 / end
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Adrien Mazarguil [Fri, 13 Jul 2018 09:40:45 +0000 (11:40 +0200)]
net/mlx5: add VLAN item and actions to switch flow rules
This enables flow rules to explicitly match VLAN traffic (VLAN pattern
item) and perform various operations on VLAN headers at the switch level
(OF_POP_VLAN, OF_PUSH_VLAN, OF_SET_VLAN_VID and OF_SET_VLAN_PCP actions).
Testpmd examples:
- Directing all VLAN traffic received on port ID 1 to port ID 0:
flow create 1 ingress transfer pattern eth / vlan / end actions
port_id id 0 / end
- Adding a VLAN header to IPv6 traffic received on port ID 1 and directing
it to port ID 0:
flow create 1 ingress transfer pattern eth / ipv6 / end actions
of_push_vlan ethertype 0x8100 / of_set_vlan_vid vlan_vid 42 /
port_id id 0 / end
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Adrien Mazarguil [Fri, 13 Jul 2018 09:40:43 +0000 (11:40 +0200)]
net/mlx5: add L2-L4 pattern items to switch flow rules
This enables flow rules to explicitly match supported combinations of
Ethernet, IPv4, IPv6, TCP and UDP headers at the switch level.
Testpmd example:
- Dropping TCPv4 traffic with a specific destination on port ID 2:
flow create 2 ingress transfer pattern eth / ipv4 / tcp dst is 42 / end
actions drop / end
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Adrien Mazarguil [Fri, 13 Jul 2018 09:40:41 +0000 (11:40 +0200)]
net/mlx5: add fate actions to switch flow rules
This patch enables creation of rte_flow rules that direct matching traffic
to a different port (e.g. another VF representor) or drop it directly at
the switch level (PORT_ID and DROP actions).
Testpmd examples:
- Directing all traffic to port ID 0:
flow create 1 ingress transfer pattern end actions port_id id 0 / end
- Dropping all traffic normally received by port ID 1:
flow create 1 ingress transfer pattern end actions drop / end
Note the presence of the transfer attribute, which requests them to be
applied at the switch level. All traffic is matched due to empty pattern.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Adrien Mazarguil [Fri, 13 Jul 2018 09:40:39 +0000 (11:40 +0200)]
net/mlx5: add framework for switch flow rules
Because mlx5 switch flow rules are configured through Netlink (TC
interface) and have little in common with Verbs, this patch adds a separate
parser function to handle them.
- mlx5_nl_flow_transpose() converts a rte_flow rule to its TC equivalent
and stores the result in a buffer.
- mlx5_nl_flow_brand() gives a unique handle to a flow rule buffer.
- mlx5_nl_flow_create() instantiates a flow rule on the device based on
such a buffer.
- mlx5_nl_flow_destroy() performs the reverse operation.
These functions are called by the existing implementation when encountering
flow rules which must be offloaded to the switch (currently relying on the
transfer attribute).
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Adrien Mazarguil [Fri, 13 Jul 2018 09:40:37 +0000 (11:40 +0200)]
net/mlx5: lay groundwork for switch offloads
With mlx5, unlike normal flow rules implemented through Verbs for traffic
emitted and received by the application, those targeting different logical
ports of the device (VF representors for instance) are offloaded at the
switch level and must be configured through Netlink (TC interface).
This patch adds preliminary support to manage such flow rules through the
flow API (rte_flow).
Instead of rewriting tons of Netlink helpers and as previously suggested by
Stephen [1], this patch introduces a new dependency to libmnl [2]
(LGPL-2.1) when compiling mlx5.
[1] https://mails.dpdk.org/archives/dev/2018-March/092676.html
[2] https://netfilter.org/projects/libmnl/
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Jasvinder Singh [Fri, 20 Jul 2018 11:05:36 +0000 (12:05 +0100)]
net/softnic: fix memory illegal access after free
While deleting the elements from the linked list, TAILQ_FOREACH causes
read from the freed pointer. Fixes the issue by using TAILQ_FOREACH_SAFE
instead.
Coverity issue: 302867
Fixes:
bef50bcb1c47 ("net/softnic: implement start and stop")
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Radu Nicolau [Wed, 18 Jul 2018 11:12:01 +0000 (12:12 +0100)]
net/bonding: fix invalid port id
Setting up the bonding options before calling rte_eth_dev_probing_finish
triggers an invalid port id error because of port state not set, or set
unused
Fixes:
fbe90cdd776c ("ethdev: add probing finish function")
Cc: stable@dpdk.org
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Chas Williams <chas3@att.com>
Qi Zhang [Mon, 16 Jul 2018 12:47:04 +0000 (20:47 +0800)]
net/ixgbe: fix missing null check on detach
Add missing NULL point check inside ixgbe_pf_host_uninit, or it may cause
segment fault when detaching a device.
Fixes:
cf80ba6e2038 ("net/ixgbe: add support for representor ports")
Cc: stable@dpdk.org
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Remy Horton <remy.horton@intel.com>
Ferruh Yigit [Wed, 18 Jul 2018 12:35:22 +0000 (13:35 +0100)]
net/ixgbe: remove redundant queue id checks
remove queue id checks from dev_ops
ixgbe_dev_[rx/tx]_queue_[start/stop]
queue id checks already done by ethdev APIs that are calling these
dev_ops
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Ferruh Yigit [Wed, 18 Jul 2018 12:35:24 +0000 (13:35 +0100)]
net/fm10k: remove redundant queue id checks
remove queue id checks from dev_ops
fm10k_dev_[rx/tx]_queue_[start/stop]
queue id checks already done by ethdev APIs that are calling these
dev_ops
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Ferruh Yigit [Wed, 18 Jul 2018 12:35:23 +0000 (13:35 +0100)]
net/i40e: remove redundant queue id checks
remove queue id checks from dev_ops
i40e_dev_[rx/tx]_queue_[start/stop]
i40evf_dev_[rx/tx]_queue_[start/stop]
queue id checks already done by ethdev APIs that are calling these
dev_ops
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Andrew Rybchenko [Wed, 18 Jul 2018 07:43:13 +0000 (08:43 +0100)]
net/sfc: handle unknown L3 packet class in EF10 event parser
Fix debug build assertion if unknown L3 packet is received.
Fixes:
638bddc99faa ("net/sfc: implement EF10 native Rx datapath")
Fixes:
c121f00836ca ("net/sfc: move EF10 Rx event parser to shared header")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Andrew Rybchenko [Wed, 18 Jul 2018 07:40:06 +0000 (08:40 +0100)]
net/sfc: fix assert in set multicast address list
Return value equal to zero means success and really expected.
Fixes:
0fa0070e4391 ("net/sfc: support multicast addresses list controls")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Rakesh Kudurumalla [Wed, 18 Jul 2018 15:05:02 +0000 (20:35 +0530)]
net/thunderx: support Rx VLAN offload
This feature is used to offload stripping of VLAN header from received
packets and update vlan_tci field in mbuf when
DEV_RX_OFFLOAD_VLAN_STRIP & ETH_VLAN_STRIP_MASK flag is set.
Signed-off-by: Rakesh Kudurumalla <rkudurumalla@caviumnetworks.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Pavan Nikhilesh [Wed, 18 Jul 2018 15:05:01 +0000 (20:35 +0530)]
net/thunderx: enable Rx checksum offload
Add L3/L4 Rx checksum offload and update capabilities.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Jasvinder Singh [Tue, 17 Jul 2018 18:32:55 +0000 (19:32 +0100)]
ethdev: improve description for port name API
Improve description of api used to get port name from port id or
vice-versa.
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Gage Eads [Wed, 18 Jul 2018 16:30:45 +0000 (11:30 -0500)]
net/pcap: set queue started and stopped
Set the rx and tx queue state appropriately when the queues or device are
started or stopped. This enables usage of the ethdev rx/tx queue start/stop
functions with the PCAP PMD.
Signed-off-by: Gage Eads <gage.eads@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Gage Eads [Mon, 9 Jul 2018 20:20:49 +0000 (15:20 -0500)]
net/tap: set queue started and stopped
Set the rx and tx queue state appropriately when the queues or device
are started or stopped.
Signed-off-by: Gage Eads <gage.eads@intel.com>
Acked-by: Keith Wiles <keith.wiles@intel.com>
Tiwei Bie [Tue, 17 Jul 2018 13:10:35 +0000 (21:10 +0800)]
vhost: fix buffer length calculation
Fixes:
fd68b4739d2c ("vhost: use buffer vectors in dequeue path")
Reported-by: Yinan Wang <yinan.wang@intel.com>
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Acked-by: Zhihong Wang <zhihong.wang@intel.com>
Tested-by: Yinan Wang <yinan.wang@intel.com>
Andrew Rybchenko [Sun, 15 Jul 2018 09:56:15 +0000 (10:56 +0100)]
net/sfc: prepare to support Rx datapath without checksum
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Andrew Rybchenko [Sun, 15 Jul 2018 09:56:14 +0000 (10:56 +0100)]
net/sfc: fix Rx queue offloads reporting in queue info
CRC_STRIP offload is always enabled, but lost here.
It is more robust to use device level offloads directly to
compose returned value.
Fixes:
ff6a1197c3b1 ("net/sfc: convert to new Rx offload API")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Andrew Rybchenko [Sun, 15 Jul 2018 09:56:13 +0000 (10:56 +0100)]
net/sfc: move Rx checksum offload check to device level
Rx checksum offloads are on device level and should be checked and
enforced on device level.
Avoid logging of Rx checksum offloads enforced for each Rx queue.
Fixes:
ff6a1197c3b1 ("net/sfc: convert to new Rx offload API")
Cc: stable@dpdk.org
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Hyong Youb Kim [Wed, 18 Jul 2018 02:02:16 +0000 (19:02 -0700)]
net/enic: pick the right Rx handler after changing MTU
enic_set_mtu always reverts to the default Rx handler after changing
MTU. Try to use the simpler, non-scatter handler in this case as well.
Fixes:
35e2cb6a1795 ("net/enic: add simple Rx handler")
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
Igor Romanov [Sat, 14 Jul 2018 07:38:59 +0000 (08:38 +0100)]
net/sfc: fallback to filter with zero vid
Fallback to filter with VLAN=0 if match without VLAN is not supported
Strictly speaking it is not 100% equivalent, but good tradeoff -
untagged and priority only tagged frames will match.
Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Igor Romanov [Sat, 14 Jul 2018 07:38:23 +0000 (08:38 +0100)]
net/sfc: fix filter exceptions logic
Now exception logic handles these cases:
When FW variant does not support filters with transport ports, but
IP protocol filters are supported, TCP/UDP protocol filters may be
used. When FW variant does not support filters with IPv4/6 addresses
or IP protocol, but filters with EtherType are supported, IPv4 and
IPv6 EtherTypes may be used
Fixes:
096dba799b4a ("net/sfc: avoid creation of ineffective flow rules")
Cc: stable@dpdk.org
Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Rasesh Mody [Sat, 14 Jul 2018 01:34:27 +0000 (18:34 -0700)]
net/qede: move SPDX tags to source files
We were using LICENSE.qede_pmd to reference inclusion of SPDX licensing
tag from all the source file. Remove the LICENSE.qede_pmd file and
directly include SPDX tags in source files.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Hyong Youb Kim [Wed, 18 Jul 2018 02:15:30 +0000 (19:15 -0700)]
doc: update enic guide and features
Make a few updates in preparation for 18.08.
- Use SPDX
- Add 1400 series VIC adapters to supported models
- Describe the VXLAN port number
- Expand the description for ig-vlan-rewrite
- Add inner RSS and checksum to the features
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
Xiaoyun Li [Thu, 12 Jul 2018 07:55:46 +0000 (15:55 +0800)]
app/testpmd: fix little performance drop
There is about 3% perf drop. And it is because of a bitrate
calculation in the datapath. So improve it by maintaining an array
of port indexes in testpmd, which is updated with ethdev events.
Fixes:
8728ccf37615 ("fix ethdev ports enumeration")
Cc: stable@dpdk.org
Signed-off-by: Xiaoyun Li <xiaoyun.li@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Kiran Kumar [Wed, 11 Jul 2018 08:24:36 +0000 (13:54 +0530)]
net/thunderx: avoid sq door bell write on zero packet
Avoid sq door bell write on zero packet case to reduce additional
traffic on register bus.
Fixes:
1c421f18e0 ("net/thunderx: add single and multi-segment Tx")
Cc: stable@dpdk.org
Signed-off-by: Kiran Kumar <kkokkilagadda@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Rahul Lakkireddy [Mon, 9 Jul 2018 15:43:23 +0000 (21:13 +0530)]
net/cxgbe: fix init failure due to new flash parts
Add decode logic for new flash parts shipped with new Chelsio NICs
to fix initialization failure on these NICs.
Cc: stable@dpdk.org
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Rahul Lakkireddy [Fri, 6 Jul 2018 14:42:50 +0000 (20:12 +0530)]
net/cxgbe: update release notes for flow API support
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Nelio Laranjeiro [Fri, 6 Jul 2018 06:43:06 +0000 (08:43 +0200)]
app/testpmd: add NVGRE encap/decap
Due to the complex NVGRE_ENCAP flow action and based on the fact testpmd
does not allocate memory, this patch adds a new command in testpmd to
initialise a global structure containing the necessary information to
make the outer layer of the packet. This same global structure will
then be used by the flow command line in testpmd when the action
nvgre_encap will be parsed, at this point, the conversion into such
action becomes trivial.
This global structure is only used for the encap action.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Ori Kam <orika@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
Tested-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
Nelio Laranjeiro [Fri, 6 Jul 2018 06:43:05 +0000 (08:43 +0200)]
app/testpmd: add VXLAN encap/decap
Due to the complex VXLAN_ENCAP flow action and based on the fact testpmd
does not allocate memory, this patch adds a new command in testpmd to
initialise a global structure containing the necessary information to
make the outer layer of the packet. This same global structure will
then be used by the flow command line in testpmd when the action
vxlan_encap will be parsed, at this point, the conversion into such
action becomes trivial.
This global structure is only used for the encap action.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Ori Kam <orika@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
Tested-by: Mohammad Abdul Awal <mohammad.abdul.awal@intel.com>
Jerin Jacob [Fri, 29 Jun 2018 09:44:43 +0000 (15:14 +0530)]
ethdev: fix queue statistics mapping documentation
The RTE_MAX_ETHPORT_QUEUE_STATS_MAPS does not exists, change
to the correct definition(RTE_ETHDEV_QUEUE_STAT_CNTRS)
Fixes:
5de201df8927 ("ethdev: add stats per queue")
Cc: stable@dpdk.org
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
Wei Zhao [Fri, 13 Jul 2018 03:16:33 +0000 (11:16 +0800)]
net/i40e: fix check of flow director programming status
In i40e FDIR PMD code for checking programming status
function i40e_check_fdir_programming_status(), the initial value
of return value ret should be set to -1 not 0, because if DD bit of
I40E_RX_DESC_STATUS_DD is not write back, this function will return
0 to upper function, this give an error info to upper function, the
fact for this is it is time out for DD write back and it should return
-1.
Fixes:
05999aab4ca6 ("i40e: add or delete flow director")
Cc: stable@dpdk.org
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Xiaoyun Li [Tue, 10 Jul 2018 09:30:54 +0000 (17:30 +0800)]
net/i40e: fix link speed
When link needs to go up, I40E_AQ_PHY_AN_ENABLED is always be set in DPDK.
So all speeds are always set. This causes speed config never works.
This patch fixes this issue and only allows to set available speeds. If
link needs to go up and speed setting is not supported, it will print
warning and set default available speeds. And when link needs to go down,
link speed field should be set to non-zero to avoid link down issue when
binding back to kernel driver.
Fixes:
ca7e599d4506 ("net/i40e: fix link management")
Fixes:
1bb8f661168d ("net/i40e: fix link down and negotiation")
Cc: stable@dpdk.org
Signed-off-by: Xiaoyun Li <xiaoyun.li@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Shaopeng He [Tue, 10 Jul 2018 10:37:27 +0000 (06:37 -0400)]
net/i40e: fix Tx queue setup after stop
Currently, i40e_dev_tx_queue_setup_runtime checks simple tx and treats
mbuf fast free offloading as No-simple, which is classified as simple tx
in i40e_set_tx_function_flag. This inconsistent behavior causes tx queue
setup fail after queue was stopped. This patch fixes this bug.
Fixes:
399421100e08 ("net/i40e: fix missing mbuf fast free offload")
Cc: stable@dpdk.org
Signed-off-by: Shaopeng He <shaopeng.he@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Beilei Xing [Thu, 5 Jul 2018 07:03:08 +0000 (15:03 +0800)]
net/i40e: fix setting TPID with AQ command
TPID can be set by set_switch_config AdminQ command on
new FW release. But find fail to set 0x88A8 on some NICs.
According to the datasheet, Switch Tag value should not
be identical to either the First Tag or Second Tag values.
So set something other than common Ethertype for internal
switching.
Fixes:
73cd7d6dc8e1 ("net/i40e: use set switch AQ instead of register setting")
Cc: stable@dpdk.org
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>