Michael Lilja [Wed, 17 May 2017 14:57:57 +0000 (16:57 +0200)]
net/i40e: improve FDIR programming times
Previously, the FDIR programming time is +11ms on i40e.
This patch will result in an average programming time of
22usec with a max of 60usec .
Signed-off-by: Michael Lilja <ml@napatech.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
John Miller [Tue, 16 May 2017 16:14:18 +0000 (12:14 -0400)]
net/ark: fix return value of null not checked
Coverity issue: 144517
Fixes:
1131cbf0fb2b ("net/ark: stub PMD for Atomic Rules Arkville")
Cc: stable@dpdk.org
Signed-off-by: John Miller <john.miller@atomicrules.com>
John Miller [Tue, 16 May 2017 16:14:17 +0000 (12:14 -0400)]
net/ark: fix null pointer dereference
Coverity issue: 144520
Fixes:
727b3fe292bc ("net/ark: integrate PMD")
Cc: stable@dpdk.org
Signed-off-by: John Miller <john.miller@atomicrules.com>
John Miller [Tue, 16 May 2017 16:14:16 +0000 (12:14 -0400)]
net/ark: fix return code not checked
Coverity issue: 144514
Fixes:
727b3fe292bc ("net/ark: integrate PMD")
Cc: stable@dpdk.org
Signed-off-by: John Miller <john.miller@atomicrules.com>
John Miller [Tue, 16 May 2017 16:14:15 +0000 (12:14 -0400)]
net/ark: fix buffer not null terminated
Coverity issue: 144512
Coverity issue: 144513
Fixes:
9c7188a68d7b ("net/ark: provide API for hardware modules pktchkr and pktgen")
Cc: stable@dpdk.org
Signed-off-by: John Miller <john.miller@atomicrules.com>
Ferruh Yigit [Mon, 15 May 2017 10:24:03 +0000 (11:24 +0100)]
drivers/net: add generic ethdev macro to get PCI device
Instead of many PMD define their own macro, define a generic one in
ethdev and use that in PMDs.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Allain Legacy <allain.legacy@windriver.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Ferruh Yigit [Fri, 12 May 2017 10:33:03 +0000 (11:33 +0100)]
drivers/net: remove unnecessary macro for unused variables
remove __rte_unused instances that are not required.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Allain Legacy <allain.legacy@windriver.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Pascal Mazon [Fri, 12 May 2017 13:01:40 +0000 (15:01 +0200)]
net/tap: do not set remote MAC if not necessary
Check for the current MAC address on both the remote and the tap
netdevices before setting a new value.
While there, remove wrong empty lines and ensure tap_ioctl() return
value is negative, just like what is done throughout this code.
Fixes:
2bc06869cd94 ("net/tap: add remote netdevice traffic capture")
Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
Pascal Mazon [Fri, 12 May 2017 13:01:39 +0000 (15:01 +0200)]
net/tap: create netdevice during probing
This has three main benefits:
- tun_alloc is now generic again for any queue,
- mtu no longer needs to be handled in tap_setup_queue(),
- an actual netdevice is created as soon as the device is probed.
On top of it, code in eth_dev_tap_create() has been reworked to have a
more logical behavior; initialization can now fail if a remote is
requested but cannot be set up.
Fixes:
2bc06869cd94 ("net/tap: add remote netdevice traffic capture")
Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
Pascal Mazon [Fri, 12 May 2017 13:01:38 +0000 (15:01 +0200)]
net/tap: drop unnecessary nested block
This is cosmetic; the code is functionally equivalent.
Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
Pascal Mazon [Fri, 12 May 2017 13:01:37 +0000 (15:01 +0200)]
net/tap: remove unnecessary functions
These functions are only two lines each and are used only once.
Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
Pascal Mazon [Fri, 12 May 2017 13:01:36 +0000 (15:01 +0200)]
net/tap: add debug messages
Print a detailed debug message inside tap_ioctl() directly. The caller
now only needs to check for return value.
Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
Pascal Mazon [Wed, 12 Apr 2017 07:30:21 +0000 (09:30 +0200)]
net/tap: add support for fixed MAC addresses
Support for a fixed MAC address for testing with the last octet
incrementing by one for each interface defined with the new 'mac=fixed'
string on the --vdev option. The default option is still to randomize
the MAC address for each tap interface.
Signed-off-by: Keith Wiles <keith.wiles@intel.com>
Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
Acked-by: Keith Wiles <keith.wiles@intel.com>
Herakliusz Lipiec [Tue, 9 May 2017 14:37:34 +0000 (15:37 +0100)]
net/i40e: add return value checks
Coverity issue:
1379362
Coverity issue:
1379365
Fixes:
71d35259ff67 ("i40e: tear down flow director")
Cc: stable@dpdk.org
Signed-off-by: Herakliusz Lipiec <herakliusz.lipiec@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Ferruh Yigit [Thu, 4 May 2017 15:43:58 +0000 (16:43 +0100)]
net/null: do not touch mbuf next or nb segs on Rx
mbuf next and nb_segs fields already have the default values when get
from mempool, no need to update them in PMD.
See:
8f094a9ac5d7 ("mbuf: set mbuf fields while in pool")
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Reviewed-by: Olivier Matz <olivier.matz@6wind.com>
Ferruh Yigit [Thu, 4 May 2017 15:59:23 +0000 (16:59 +0100)]
net/ixgbe: do not touch mbuf initialized fields
See:
8f094a9ac5d7 ("mbuf: set mbuf fields while in pool")
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Jerin Jacob [Mon, 1 May 2017 06:40:18 +0000 (12:10 +0530)]
net/thunderx: add compile-time checks
The thunderx PMD is sensitive to the layout of the mbuf on
the RX path. Add in some compile-time checks to make sure the mbuf layout
assumptions are valid, and to provide hints to anyone changing the mbuf
where things may need to be updated.
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Bruce Richardson [Fri, 28 Apr 2017 16:21:15 +0000 (17:21 +0100)]
net/fm10k: add compile-time checks to vector driver
The vector PMD is very sensitive to the layout of the mbuf, especially on
the RX path. Add in some compile-time checks to make sure the mbuf layout
assumptions are valid, and to provide hints to anyone changing the mbuf
where things may need to be updated.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Bruce Richardson [Fri, 28 Apr 2017 16:21:14 +0000 (17:21 +0100)]
net/i40e: add compile-time checks to vector driver
The vector PMD is very sensitive to the layout of the mbuf, especially on
the RX path. Add in some compile-time checks to make sure the mbuf layout
assumptions are valid, and to provide hints to anyone changing the mbuf
where things may need to be updated.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Bruce Richardson [Fri, 28 Apr 2017 16:21:13 +0000 (17:21 +0100)]
net/ixgbe: enable ixgbe vector PMD for i686
The ixgbe vector PMD was disabled for i686 unnecessarily. Enable it.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Bruce Richardson [Fri, 28 Apr 2017 16:21:12 +0000 (17:21 +0100)]
net/ixgbe: add compile-time checks to vector driver
The vector PMD is very sensitive to the layout of the mbuf, especially on
the RX path. Add in some compile-time checks to make sure the mbuf layout
assumptions are valid, and to provide hints to anyone changing the mbuf
where things may need to be updated.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Ilya Maximets [Thu, 18 May 2017 12:19:40 +0000 (15:19 +0300)]
ethdev: keep port id unchanged if obtaining by name failed
Currently, 'rte_eth_dev_get_port_by_name' changes transmitted
'port_id' unconditionally. This is undocumented and misleading
behaviour as user may expect unchanged value in case of error.
Otherwise, there is no sense having both return value and
a pointer in the function.
Fixes:
9c5b8d8b9feb ("ethdev: clean port id retrieval when attaching")
Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Beilei Xing [Thu, 18 May 2017 09:06:12 +0000 (17:06 +0800)]
app/testpmd: add TCP flags in flow rules
This commit adds TCP flags support in flow API as
some drivers have SYN filter.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Tested-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Beilei Xing [Fri, 12 May 2017 07:13:09 +0000 (15:13 +0800)]
app/testpmd: fix creating E-Tag and NVGRE flow rules
Application fails to create NVGRE and E-Tag flows with
current configuration, this commit fixes the issue by
adding flow items for E_TAG and NVGRE.
Fixes:
e4840ef2685d ("ethdev: fix incomplete items in flow API")
Cc: stable@dpdk.org
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Jerin Jacob [Sat, 13 May 2017 09:27:27 +0000 (14:57 +0530)]
eal: introduce macro for no inline
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Jerin Jacob [Sat, 13 May 2017 09:27:25 +0000 (14:57 +0530)]
eal: introduce macro for always inline
Different drivers use internal macros like force_inline for compiler
always inline feature.
Standardizing it through __rte_always_inline macro.
Verified the change by comparing the output binary file.
No difference found in the output binary file with this change.
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Alejandro Lucero [Fri, 12 May 2017 10:18:25 +0000 (11:18 +0100)]
vfio: fix array bounds check
Checking against VFIO_MAX_GROUPS goes beyond the maximum array
index which should be (VFIO_MAX_GROUPS - 1).
Coverity issue: 144555, 144556, 144557
Fixes:
94c0776b1bad ("support hotplug")
Cc: stable@dpdk.org
Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
David Marchand [Sat, 20 May 2017 13:12:37 +0000 (15:12 +0200)]
drivers/net: fix vfio kmod dependency
vfio is the kernel framework used by the vfio-pci kernel driver.
DPDK drivers do not rely solely on vfio, but rather on vfio-pci to gain
access to pci resources.
Fixes:
0880c40113ef ("drivers: advertise kmod dependencies in pmdinfo")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@6wind.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Tonghao Zhang [Fri, 12 May 2017 06:03:43 +0000 (23:03 -0700)]
memzone: check NUMA id when reserving a zone
If the socket_id is invalid (e.g. -2, -3), the
memzone_reserve_aligned_thread_unsafe should return the
EINVAL and not ENOMEM. To avoid it, we should check the
socket_id before calling malloc_heap_alloc.
Signed-off-by: Tonghao Zhang <nic@opencloud.tech>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Tiwei Bie [Fri, 19 May 2017 00:13:48 +0000 (08:13 +0800)]
examples/exception_path: support FreeBSD
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Andrew Rybchenko [Thu, 25 May 2017 15:46:32 +0000 (16:46 +0100)]
examples/multi_process: remove unused variable
Fix broken build with -Werror=unused-but-set-variable
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Lee Roberts [Wed, 31 May 2017 15:40:15 +0000 (09:40 -0600)]
kni: fix build on RHEL 7.4
Linux:
9b36627acecd ("net: remove dev->trans_start")
Signed-off-by: Lee Roberts <lee.roberts@hpe.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Remy Horton [Thu, 11 May 2017 12:53:30 +0000 (13:53 +0100)]
metrics: fix out of bound access
Fixes memory access errors detected by Coverity.
All cases are the maximum permissable value causing an
out-by-one overrun.
Coverity issue: 143433, 143434, 143460, 143464
Fixes:
349950ddb9c5 ("metrics: add information metrics library")
Signed-off-by: Remy Horton <remy.horton@intel.com>
Sangjin Han [Fri, 2 Jun 2017 05:07:46 +0000 (05:07 +0000)]
lpm: fix build with gcc -O0 option
When rte_lpm.h is used on x86, -O0 option (no optimization at all)
given to gcc causes a compile error like this:
error: the last argument must be an 8-bit immediate
i24 = _mm_srli_si128(i24, sizeof(uint64_t));
-O0 option is useful for debugging and code coverage measurement, but
this error prevents DPDK programs from building. This patch replaces
"sizeof(uint64_t)" with a constant literal "8" to work around the issue.
The issue occurs on gcc/g++ versions from 4.8 to 5.
Signed-off-by: Sangjin Han <sangjin@eecs.berkeley.edu>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Jerin Jacob [Fri, 2 Jun 2017 11:20:31 +0000 (16:50 +0530)]
examples/vhost: fix uninitialized descriptor indexes
Fixing the below error by returning from the function early
when count == 0.
Issue flagged by GCC 7.1.1
examples/vhost/virtio_net.c:370:38: error: ‘desc_indexes[0]’ may be used
uninitialized in this function [-Werror=maybe-uninitialized]
rte_prefetch0(&vr->desc[desc_indexes[0]]);
Fixes:
ca059fa5e290 ("examples/vhost: demonstrate the new generic APIs")
Cc: stable@dpdk.org
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Jerin Jacob [Fri, 2 Jun 2017 11:20:30 +0000 (16:50 +0530)]
examples/qos_sched: suppress gcc 7.1.1 warning
This one is more of a compiler issue as application
checks the app_parse_opt_vals() return value.
Since this code is in slow path, adding a memset
to fix following "maybe-uninitialized" warning.
qos_sched/args.c: In function ‘app_parse_args’:
examples/qos_sched/args.c:254:32: error: ‘vals[0]’ may be
used uninitialized in this function [-Werror=maybe-uninitialized]
pconf->rx_port = (uint8_t)vals[0];
~~~~^~~
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Jerin Jacob [Fri, 2 Jun 2017 11:20:29 +0000 (16:50 +0530)]
examples/performance-thread: add fall-through comments
This fixes compiler warnings with GCC 7.1.1
Fixes:
d48415e1fee3 ("examples/performance-thread: add l3fwd-thread app")
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Jerin Jacob [Fri, 2 Jun 2017 11:20:28 +0000 (16:50 +0530)]
examples/l3fwd: add switch fall-through comments
This fixes compiler warnings with GCC 7.1.1
Fixes:
268888b5b020 ("examples/l3fwd: modularize")
Fixes:
94c54b4158d5 ("examples/l3fwd: rework exact-match")
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Herakliusz Lipiec [Mon, 29 May 2017 14:56:50 +0000 (15:56 +0100)]
config: fix comment
Fixes:
4fb7e803eb1a ("ethdev: add Tx preparation")
Signed-off-by: Herakliusz Lipiec <herakliusz.lipiec@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Ferruh Yigit [Tue, 9 May 2017 10:35:05 +0000 (11:35 +0100)]
app/testpmd: remove duplicated license
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Ferruh Yigit [Tue, 9 May 2017 10:35:04 +0000 (11:35 +0100)]
eal: remove duplicated license
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
John McNamara [Thu, 11 May 2017 14:09:40 +0000 (15:09 +0100)]
doc: change line length limit in contributors guide
The DPDK documentation guidelines state that lines should be wrapped as
follows:
* The recommended style for the DPDK documentation is to put sentences on
separate lines. This allows for easier reviewing of patches. ...
* Long sentences should be wrapped at 120 characters +/- 10 characters.
They should be wrapped at words.
http://dpdk.org/doc/guides/contributing/documentation.html#line-length
However, in practice, users almost never submit doc patches in this format.
Instead most users wrap their doc patches at 80 characters.
This patch updates the documentation contributors guide to reflect this
as the recommended guideline.
Signed-off-by: John McNamara <john.mcnamara@intel.com>
Reviewed-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Yuanhan Liu [Fri, 2 Jun 2017 13:34:36 +0000 (21:34 +0800)]
maintainers: update email address
Signed-off-by: Yuanhan Liu <yliu@fridaylinux.org>
Thomas Monjalon [Mon, 15 May 2017 10:19:45 +0000 (12:19 +0200)]
version: 17.08-rc0
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
John McNamara [Thu, 11 May 2017 12:57:45 +0000 (13:57 +0100)]
doc: add template release notes for 17.08
Add template release notes for DPDK 17.08 with inline
comments and explanations of the various sections.
Signed-off-by: John McNamara <john.mcnamara@intel.com>
Thomas Monjalon [Thu, 11 May 2017 01:11:34 +0000 (03:11 +0200)]
version: 17.05.0
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Cristian Dumitrescu [Tue, 2 May 2017 18:22:53 +0000 (19:22 +0100)]
doc: announce API change for table library
Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Acked-by: Jasvinder Singh <jasvinder.singh@intel.com>
Acked-by: Reshma Pattan <reshma.pattan@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Pablo de Lara [Fri, 28 Apr 2017 18:06:44 +0000 (19:06 +0100)]
doc: announce crypto structures rework
The current crypto operation and symmetric crypto operation
structures will be reworked for correctness and improvement,
reducing also their sizes, to fit into less cache lines,
as stated in the following RFC:
http://dpdk.org/dev/patchwork/patch/24011/
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Tomasz Kulasek [Thu, 4 May 2017 15:37:23 +0000 (17:37 +0200)]
doc: announce API changes for crypto sessions
API changes are planned for 17.08 to made sessions agnostic to the
underlaying devices, removing coupling with crypto PMDs, so a single
session can be used on multiple devices.
It requires to change "struct rte_cryptodev_sym_session" to store more
than one private data for devices, as well as remove redundant dev_id
and dev_type.
Effected public functions:
- rte_cryptodev_sym_session_pool_create
- rte_cryptodev_sym_session_create
- rte_cryptodev_sym_session_free
While session will not be directly associated with device, followed API
will be changed adding uint8_t dev_id to the argument list:
- rte_cryptodev_queue_pair_attach_sym_session
- rte_cryptodev_queue_pair_detach_sym_session
Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Acked-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>
Slawomir Mrozowicz [Fri, 5 May 2017 11:24:19 +0000 (13:24 +0200)]
doc: announce crypto device type enumeration removal
Refer to RFC patch - cryptodev: remove crypto device type enumeration
It is planned to remove device type enumeration rte_cryptodev_type from
library to remove the coupling between crypto PMD and the librte_cryptodev.
In this case following stuctures will be changed: rte_cryptodev_session,
rte_cryptodev_sym_session, rte_cryptodev_info, rte_cryptodev.
It is planned to change the function rte_cryptodev_count_devtype().
The function prototype doesn’t clearly show the operation.
>From next release 17.08 the dev_type will be changed to driver_id.
So the function name will change to rte_cryptodev_device_count_by_driver().
Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Slawomir Mrozowicz [Thu, 4 May 2017 09:39:19 +0000 (11:39 +0200)]
doc: announce public crypto PMD names removal
The following PMD names definitions will be moved to the individual PMDs
to remove the coupling between crypto PMDs and the librte_cryptodev:
CRYPTODEV_NAME_NULL_PMD
CRYPTODEV_NAME_AESNI_MB_PMD
CRYPTODEV_NAME_AESNI_GCM_PMD
CRYPTODEV_NAME_OPENSSL_PMD
CRYPTODEV_NAME_QAT_SYM_PMD
CRYPTODEV_NAME_SNOW3G_PMD
CRYPTODEV_NAME_KASUMI_PMD
CRYPTODEV_NAME_ZUC_PMD
CRYPTODEV_NAME_ARMV8_PMD
CRYPTODEV_NAME_SCHEDULER_PMD
CRYPTODEV_NAME_DPAA2_SEC_PMD
Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Thomas Monjalon [Wed, 10 May 2017 23:56:58 +0000 (01:56 +0200)]
doc: postpone unaccomplished deprecation notices
Some work remains for VDEV bus move.
Not sure if there will be some API or ABI changes.
The notice is kept and postponed until the end of this rework.
The PCI fields must be removed from cryptodev and the newly
introduced eventdev, in order to complete the bus rework.
The VLAN flags rework should be completed in 17.08.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Thomas Monjalon [Wed, 10 May 2017 23:39:31 +0000 (01:39 +0200)]
doc: remove outdated deprecation notices
Some VFIO functions have been exported without any rename,
thus no breakage.
The struct eth_driver has been removed, but rte_pci_driver
is still used in rte_cryptodev_driver.
Fixes:
a016873eb3c2 ("vfio: export utility functions in map file")
Fixes:
9dca21fb80b6 ("ethdev: remove ethdev driver")
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Bernard Iremonger [Tue, 18 Apr 2017 15:48:56 +0000 (16:48 +0100)]
doc: postpone deprecation of bypass in ethdev
The deprecation of the bypass functions in the ethdev has not been
done in 17.05. Let's postpone to 17.08.
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Reshma Pattan <reshma.pattan@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Bernard Iremonger [Tue, 18 Apr 2017 15:48:30 +0000 (16:48 +0100)]
doc: postpone ABI change for callbacks in ethdev
The change of _rte_eth_dev_callback_process has not been done in 17.05.
Let's postpone to 17.08.
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Reshma Pattan <reshma.pattan@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Shahaf Shuler [Mon, 1 May 2017 06:58:12 +0000 (09:58 +0300)]
doc: announce ABI change for Tx offload
This is an ABI change notice for DPDK 17.08 in ethdev
about changes in rte_eth_txmode structure.
Currently Tx offloads are enabled by default, and can be disabled
using ETH_TXQ_FLAGS_NO* flags. This behaviour is not consistent with
the Rx side where the Rx offloads are disabled by default and enabled
according to bit field in rte_eth_rxmode structure.
The proposal is to disable the Tx offloads by default, and provide
a way for the application to enable them in rte_eth_txmode structure.
Besides of making the Tx configuration API more consistent for
applications, PMDs will be able to provide a better out of the
box performance.
Finally, as part of the work, the ETH_TXQ_FLAGS_NO* will
be superseded as well.
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Gaetan Rivet [Wed, 10 May 2017 15:46:10 +0000 (17:46 +0200)]
doc: announce ABI change for device parameters
The PCI and virtual bus are planned to be moved to the generic
drivers/bus directory in v17.08. For this change to be possible, the EAL
must be made completely independent.
The rte_devargs structure currently holds device representation internal
to those two busses. It must be made generic before this work can be
completed.
Instead of using either a driver name for a vdev or a PCI address for a
PCI device, a devargs structure will have to be able to describe any
possible device on all busses, without introducing dependencies on
any bus-specific device representation. This will break the ABI for this
structure.
Additionally, an evolution will occur regarding the device parsing
from the command-line. A user must be able to set which bus will handle
which device, and this setting is integral to the definition of a
device.
The format has not yet been formally defined, but a proposition will
follow soon for a new command line parameter format for all devices.
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: David Marchand <david.marchand@6wind.com>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Ferruh Yigit [Wed, 10 May 2017 13:33:50 +0000 (14:33 +0100)]
maintainers: add drivers features files
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Shahaf Shuler [Wed, 10 May 2017 13:56:56 +0000 (16:56 +0300)]
doc: add tested platforms with Mellanox NICs
Update release notes with Mellanox tested platforms.
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Yulong Pei [Thu, 4 May 2017 04:42:53 +0000 (12:42 +0800)]
doc: add tested Intel platforms with Intel NICs
Add tested Intel platforms with Intel NICs to the release note.
Signed-off-by: Yulong Pei <yulong.pei@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
John McNamara [Wed, 10 May 2017 19:01:14 +0000 (20:01 +0100)]
doc: update release notes for 17.05
Fix grammar, spelling and formatting of DPDK 17.05 release notes.
Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Herakliusz Lipiec [Wed, 10 May 2017 13:38:52 +0000 (14:38 +0100)]
doc: update bonding device name in prog guide
Fixes:
35b09d76f89e ("doc: use corelist instead of coremask")
Fixes:
58c82067f1ae ("app/testpmd: use consistent vdev names")
Signed-off-by: Herakliusz Lipiec <herakliusz.lipiec@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Wenzhuo Lu [Wed, 10 May 2017 01:39:41 +0000 (09:39 +0800)]
doc: add details about MDD with ixgbe kernel PF
Add a better explanation about how to disable MDD (Malicious Driver
Detection) in a kernel PF.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Yongseok Koh [Wed, 10 May 2017 17:30:16 +0000 (10:30 -0700)]
net/mlx5: fix rollback when starting device
In mlx5_dev_start(), the spinlock isn't released when returning error.
Fixes:
c8d4ee50cc85 ("net/mlx5: fix startup when flow cannot be applied")
Cc: stable@dpdk.org
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Gang Jiang [Sun, 16 Apr 2017 11:39:40 +0000 (19:39 +0800)]
examples/vhost: fix socket path parsing
The return value of strnlen(s, maxlen) is never bigger than maxlen.
Fixes:
4796ad63ba1f ("examples/vhost: import userspace vhost application")
Signed-off-by: Gang Jiang <jiangg@mail.ustc.edu.cn>
Michal Jastrzebski [Tue, 9 May 2017 05:23:29 +0000 (07:23 +0200)]
app/procinfo: fix xstats by ID on 32-bit
Coverity reported that an argument for sizeof was used improperly.
We should allocate memory for value size that pointer points to,
instead of pointer size itself.
Coverity issue: 144523, 144521
Fixes:
7ac16a3660c0 ("app/proc-info: support xstats by ID and by name")
Signed-off-by: Michal Jastrzebski <michalx.k.jastrzebski@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Gaetan Rivet [Sat, 6 May 2017 22:35:46 +0000 (00:35 +0200)]
app/testpmd: print all or no events
Adds the "all" option to the print-event and mask-event parameters. This
option will enable or disable all event notifications from being
displayed.
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Shahaf Shuler [Tue, 9 May 2017 07:28:37 +0000 (10:28 +0300)]
app/testpmd: fix mempool creation by socket id
The test assumes the socket ids are contiguous. This
is not necessarily the case on all servers and may cause
mempool creation to fail.
Fixing it by detecting the list of valid socket ids and
use it for the mempool creation.
Fixes:
7acf894d07d1 ("app/testpmd: detect numa socket count")
Cc: stable@dpdk.org
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Gregory Etelson [Wed, 10 May 2017 15:13:10 +0000 (17:13 +0200)]
mbuf: fix bulk allocation when debug enabled
The debug assertions when allocating a raw mbuf are not correct since
commit
8f094a9ac5d7 ("mbuf: set mbuf fields while in pool"),
which triggers a panic when using this function in debug mode
Change the expected number of segments to 1 instead of 0, and
factorize these sanity checks.
Fixes:
8f094a9ac5d7 ("mbuf: set mbuf fields while in pool")
Signed-off-by: Gregory Etelson <gregory@weka.io>
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Rasesh Mody [Sun, 7 May 2017 22:53:12 +0000 (15:53 -0700)]
net/qede: fix RSS table entries for 100G adapter
With the change in base APIs the logic for 100G handling needs to be
adjusted to pass cid values instead for queue ids. The current API
works assuming its queue id.
Fixes:
69d7ba88f1a1 ("net/qede/base: use L2-handles for RSS configuration")
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Yongseok Koh [Tue, 9 May 2017 20:49:31 +0000 (13:49 -0700)]
net/mlx5: change error-prone code on Tx path
In the main loop of mlx5_tx_burst(), pointers/indexes are advanced at the
beginning. Therefore, those should be rolled back if checking resource
availability fails and breaks the loop. And some of them are even
redundant.
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Yongseok Koh [Tue, 9 May 2017 20:49:30 +0000 (13:49 -0700)]
net/mlx5: fix index handling for Tx ring
In case of resource deficiency on Tx, mlx5_tx_burst() breaks the loop
without rolling back consumed resources (txq->wqes[] and txq->elts[]). This
can make application crash because unposted mbufs can be freed while
processing completions. Other Tx functions don't have this issue.
Fixes:
3f13f8c23a7c ("net/mlx5: support hardware TSO")
Fixes:
f04f1d51564b ("net/mlx5: fix Tx WQE corruption caused by starvation")
Cc: stable@dpdk.org
Reported-by: Hanoch Haim <hhaim@cisco.com>
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Qi Zhang [Mon, 8 May 2017 03:57:33 +0000 (23:57 -0400)]
net/ixgbe: fix LSC interrupt
There is a bug in previous fix for lsc interrupt.
lsc interrupt is not disabled before delayed handler,
that cause the delayed handler be re-entered.
Fixes:
9b667210700e ("net/ixgbe: fix blocked interrupts")
Cc: stable@dpdk.org
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Wei Dai [Wed, 10 May 2017 07:00:02 +0000 (15:00 +0800)]
net/ixgbe: fix calling null function of VF
hw->mac.ops.get_media-type() of ixgbe VF is NULL and should not
be called directly. It had better be replaced by calling
ixgbe_get_media_type( ) to avoid crash.
Fixes:
c12d22f65b13 ("net/ixgbe: ensure link status is updated")
Signed-off-by: Wei Dai <wei.dai@intel.com>
Acked-by: Laurent Hardy <laurent.hardy@6wind.com>
Michal Jastrzebski [Tue, 9 May 2017 05:22:13 +0000 (07:22 +0200)]
ethdev: fix xstats by ID on 32-bit
Coverity reported that an argument for sizeof was used improperly.
We should allocate memory for value size that pointer points to,
instead of pointer size itself.
Coverity issue: 144522
Fixes:
79c913a42f0e ("ethdev: retrieve xstats by ID")
Signed-off-by: Michal Jastrzebski <michalx.k.jastrzebski@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Jerin Jacob [Tue, 9 May 2017 09:45:41 +0000 (15:15 +0530)]
hash: add switch fall-through comments for arm64
This fixes compiler warnings with GCC 7 for arm64 build.
Fixes:
da8dcc27f644 ("hash: use armv8-a CRC32 instructions")
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Tiwei Bie [Sun, 7 May 2017 13:33:34 +0000 (13:33 +0000)]
eal/bsd: fix read on PCI configuration space
Some drivers (such as virtio) may need to read more than 4 bytes
data from PCI configuration space via rte_eal_pci_read_config().
But it will return with an error on FreeBSD when the expected
data length is bigger than the size of pi.pi_data whose type is
u_int32_t. This patch removes this limitation.
Fixes:
632b2d1deeed ("eal: provide functions to access PCI config")
Cc: stable@dpdk.org
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Tiwei Bie [Sun, 7 May 2017 13:33:33 +0000 (13:33 +0000)]
eal/bsd: fix ioport write operation
The first param of out*() on FreeBSD is port, and the second one
is data. But they are reversed in DPDK. This patch fixes it.
Fixes:
756ce64b1ecd ("eal: introduce PCI ioport API")
Cc: stable@dpdk.org
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Jianfeng Tan [Fri, 5 May 2017 16:10:13 +0000 (16:10 +0000)]
xen: fix physical address availability in dom0
When physical NICs are binded to igb_uio/uio-pci-generic, they cannot
be used in DPDK app in Xen dom0.
Due to (1) a restriction that phys addresses should be availabe is added
by commit
cdc242f260e7 ("eal/linux: support running as unprivileged user"),
(2) and previous implementation of the test to check if phys addresses are
available (using a variable on the stack) just works for non-Xen
environment. Actually, for Xen dom0, the physical addresses are always
available if the memory is initialized successfully..
To fix it, we add an precheck to bypass the physical address availability
test.
Fixes:
cdc242f260e7 ("eal/linux: support running as unprivileged user")
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Alejandro Lucero [Wed, 10 May 2017 08:54:23 +0000 (09:54 +0100)]
vfio: fix index for tracking devices in a group
Previous fix for properly handling devices from the same VFIO group
introduced another bug where the file descriptor of a kernel vfio
group is used as the index for tracking number of devices of a vfio
group struct handled by dpdk vfio code. Instead of the file
descriptor itself, the vfio group object that file descriptor is
registered with has to be used.
This patch introduces specific functions for incrementing or
decrementing the device counter for a specific vfio group using the
vfio file descriptor as a parameter. Note the code is not optimized
as the vfio group is found sequentially going through the vfio group
array but this should not be a problem as this is not related to
packet handling at all.
Fixes:
a9c349e3a100 ("vfio: fix device unplug when several devices per group")
Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
Tested-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
Thomas Monjalon [Sun, 7 May 2017 20:38:41 +0000 (22:38 +0200)]
version: 17.05-rc4
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Qiming Yang [Fri, 5 May 2017 05:16:30 +0000 (13:16 +0800)]
doc: add known issue about l3fwd-power
Because of UIO only support one interrupt, when insmod
``igb_uio`` and running l3fwd-power APP, link status
getting doesn't work properly.
Signed-off-by: Qiming Yang <qiming.yang@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Thomas Monjalon [Thu, 4 May 2017 21:56:29 +0000 (23:56 +0200)]
doc: factorize overview table CSS
There were several tables in NIC and crypto guides with the same
copy-pasted CSS addition.
It is moved into one unique place: conf.py.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: John McNamara <john.mcnamara@intel.com>
Shreyansh Jain [Tue, 2 May 2017 11:44:58 +0000 (17:14 +0530)]
doc: fix list numbering in prog guide
Because of extra space before each list item, indexing numbers
generated by Sphinx were same.
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Yong Wang [Tue, 2 May 2017 11:54:20 +0000 (07:54 -0400)]
doc: fix usertools path in guides
Fixes:
26b683b4f7d0 ("net/virtio: setup Rx queue interrupts")
Fixes:
58a2551a160f ("doc: introduce PVP reference benchmark")
Cc: stable@dpdk.org
Signed-off-by: Yong Wang <wang.yong19@zte.com.cn>
Signed-off-by: John McNamara <john.mcnamara@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Rasesh Mody [Tue, 2 May 2017 23:57:49 +0000 (16:57 -0700)]
doc: explain zlib dependency for bnx2x
Correct CONFIG_RTE_LIBRTE_BNX2X_PMD config file option and add a note
about external zlib dependency for loading the firmware image.
Fixes:
ce9b8bb8b998 ("config: disable bnx2x driver")
Cc: stable@dpdk.org
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Shahaf Shuler [Wed, 3 May 2017 07:28:48 +0000 (10:28 +0300)]
doc: update mlx supported OFED and FW
Update the supported Mellanox OFED and FW versions.
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Qiming Yang [Wed, 3 May 2017 06:21:28 +0000 (14:21 +0800)]
doc: add kernel module restriction for VF
This patch adds two note in doc build_dpdk, suggests DPDK user
don't use ``vfio-pci`` and ``uio_pci_generic`` module to create
virtual functions(VFs).
Signed-off-by: Qiming Yang <qiming.yang@intel.com>
Jerin Jacob [Thu, 4 May 2017 10:48:50 +0000 (16:18 +0530)]
usertools: add Cavium pkx as network device
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Guduri Prathyusha [Thu, 4 May 2017 10:48:49 +0000 (16:18 +0530)]
usertools: fix binding device match
If multiple devices of same class are added to a device type,
only devices that match first device listed in device type list are
processed.
Fixing it in device_type_match() by returning false after iterating
through all the devices listed in a device type list.
Fixes:
8ad08a287918 ("usertools: define DPDK PCI functional device")
Signed-off-by: Guduri Prathyusha <gprathyusha@caviumnetworks.com>
Gaetan Rivet [Tue, 2 May 2017 09:54:06 +0000 (11:54 +0200)]
app/testpmd: configure event display
Add two parameters to testpmd:
--print-event <event name>
--mask-event <event name>
To enable or disable to printing of events. This display is configured
on a per-event basis. By default, all except VF_MBOX are displayed.
Fixes:
76ad4a2d82d4 ("app/testpmd: add generic event handler")
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Yulong Pei [Wed, 3 May 2017 10:29:47 +0000 (18:29 +0800)]
app/testpmd: fix NUMA structures initialization
Previous numa_support = 0 by default, it need to add --numa to testpmd
command line to enable numa, so port_numa and ring_numa were initialized
at function launch_args_parse(), now testpmd change numa_support = 1 as
default, so port_numa and ring_numa also need to initialize by default,
otherwise port->socket_id will be probed to wrong value.
Fixes:
999b2ee0fe45 ("app/testpmd: enable NUMA support by default")
Signed-off-by: Yulong Pei <yulong.pei@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Adrien Mazarguil [Thu, 4 May 2017 17:08:23 +0000 (19:08 +0200)]
app/testpmd: fix MAC endian in flow command
MAC addresses are implicitly handled in network order since they are
actually byte strings, however this is not properly enforced with MAC masks
provided as prefix lengths, which end up inverted on little endian
systems.
Fixes:
6df81b325fa4 ("app/testpmd: add items eth/vlan to flow command")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Adrien Mazarguil [Thu, 4 May 2017 17:08:22 +0000 (19:08 +0200)]
app/testpmd: fix stack overwriting by flow command
The parameter type parser function stores a stack-local address in the
global parser context when parsing a "prefix" keyword.
This usually translates to "Bad arguments" errors even for correct flow
rules as stack gets overwritten by subsequent function calls.
Fixes:
d3f61b7bad20 ("app/testpmd: add flow item spec prefix length")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Pablo de Lara [Thu, 4 May 2017 16:28:48 +0000 (17:28 +0100)]
app/testpmd: disable latency stats by default
Disable latency stats gathering by default,
so there is not performance degradation if user
is not interested in them.
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Pablo de Lara [Wed, 3 May 2017 07:02:09 +0000 (08:02 +0100)]
app/testpmd: fix build without bitrate lib
Fixes:
e25e6c70fb56 ("app/testpmd: add --bitrate-stats option")
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Remy Horton <remy.horton@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Bruce Richardson [Thu, 4 May 2017 15:38:22 +0000 (16:38 +0100)]
test/eventdev: fix build with gcc 7
GCC flags an uninitialized value, so provide an initializer.
Fixes:
3a17ff401f1e ("test/eventdev: add basic SW tests")
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Bruce Richardson [Thu, 4 May 2017 15:38:21 +0000 (16:38 +0100)]
test/cmdline: fix missing break in switch
Issue flagged by GCC 7 as a switch fall-through.
Fixes:
dbb860e03eb1 ("cmdline: tests")
CC: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Bruce Richardson [Thu, 4 May 2017 15:38:19 +0000 (16:38 +0100)]
net: fix missing break in CRC switch
The #ifdef only had the break in the else leg rather than in the first leg,
leading to the value set their being overridden on fall-through.
Fixes:
986ff526fb84 ("net: add CRC computation API")
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Jasvinder Singh <jasvinder.singh@intel.com>
Bruce Richardson [Thu, 4 May 2017 15:38:20 +0000 (16:38 +0100)]
app/testpmd: add switch fall-through comments
This fixes compiler warnings with GCC 7.
Fixes:
28d62131a1b1 ("app/testpmd: extend flow director input set commands")
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>