Commit Graph

6037 Commits

Author SHA1 Message Date
Yuanhan Liu
73d017dd9c net/virtio: simplify queue memzone name
Instead of setting up a queue memzone name like "port0_rxq0", "port0_txq0",
it could be simplified a bit to something like "port0_vq0", "port0_vq1" ...

Meanwhile, the code is also simplified a bit.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2016-11-07 15:39:52 +01:00
Yuanhan Liu
3f3b3d549b net/virtio: revert fix restart
This reverts commit 9a0615af77 ("virtio: fix restart"); conflict is
manually addressed.

Kyle reported an issue with above commit

    qemu-kvm: Guest moved used index from 5 to 1

with following steps,

    1) Start my virtio interfaces
    2) Send some traffic into/out of the interfaces
    3) Stop the interfaces
    4) Start the interfaces
    5) Send some more traffic

And here are some quotes from Kyle's analysis,

    Prior to the patch, if an interface were stopped then started, without
    restarting the application, the queues would be left as-is, because
    hw->started would be set to 1. Now, calling stop sets hw->started to 0,
    which means the next call to start will "touch the queues". This is the
    unintended side-effect that causes the problem.

We should not touch the queues once the init is done, otherwise, the vring
state of virtio PMD driver and vhost-user would be inconsistent, leading
some issue like above.

Thus this patch is reverted.

Fixes: 9a0615af77 ("virtio: fix restart")

Reported-by: Kyle Larose <klarose@sandvine.com>
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2016-11-07 15:39:43 +01:00
Mauricio Vasquez B
f74ea27bb5 net/ring: remove unnecessary NULL check
Coverity detected this as an issue because internals->data will never be NULL,
then the check is not necessary.

Coverity issue: 137873
Fixes: d082c0395b ("ring: fix memory leak when detaching")

Signed-off-by: Mauricio Vasquez B <mauricio.vasquez@polito.it>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
2016-11-07 14:50:47 +01:00
Igor Ryzhov
25c62ca4eb pci: fix probing error if no driver found
The rte_eal_pci_probe_one function could return false positive result if
no driver is found for the device.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
Acked-by: David Marchand <david.marchand@6wind.com>
2016-11-07 14:50:47 +01:00
David Marchand
d82eeefe7a pci: unset driver if probe fails
dev->driver should be set only if a driver did take the device.

Signed-off-by: David Marchand <david.marchand@6wind.com>
2016-11-07 14:50:47 +01:00
Fan Zhang
07b156199f examples/ipsec-secgw: fix configuration string termination
Coverity issue: 137854, 137855
Fixes: 0d547ed037 ("examples/ipsec-secgw: support configuration file")

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
2016-11-07 00:35:43 +01:00
Arek Kusztal
7e70f8a608 app/test: fix hanging in SNOW 3G performance test
This commit fixes problem with device hanging because of
wrong pointer values in snow3g performance test

Fixes: 97fe6461c7 ("app/test: add SNOW 3G performance test")

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
2016-11-07 00:23:04 +01:00
Fiona Trahe
59ab9a97c8 cryptodev: clarify how operations affect buffers
Updated comments on API to clarify which parts of mbufs are
copied or changed by crypto operations.

Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2016-11-07 00:22:58 +01:00
Nikita Kozlov
b2212274c8 app/test: fix crash when checking LPM performance twice
num_route_entries needs to be resetted.

Fixes: 17d60f5b5e ("app/test: remove large IPv4 LPM data file")

Signed-off-by: Nikita Kozlov <nikita@elyzion.net>
Tested-by: Bruce Richardson <bruce.richardson@intel.com>
Tested-by: Wei Dai <wei.dai@intel.com>
Acked-by: Wei Dai <wei.dai@intel.com>
2016-11-06 23:55:15 +01:00
Wei Dai
c7e9d6a6ed lpm: fix freeing memory
The memory pointed by lpm->rules_tbl should also be freed
when memory malloc for tbl8 fails in rte_lpm_create_v1604( ).
And the memory pointed by lpm->tbl8 should also be freed
when the lpm object is freed in rte_lpm_free_v1604( ).

Fixes: f1f7261838 ("lpm: add a new config structure for IPv4")

Signed-off-by: Morten Brørup <mb@smartsharesystems.com>
Signed-off-by: Wei Dai <wei.dai@intel.com>
2016-11-06 23:46:03 +01:00
Dmitriy Yakovlev
bf39fb4c5b cfgfile: fix API comments
Fixed style and return values in Doxygen comments.

Fixes: eaafbad419 ("cfgfile: library to interpret config files")

Signed-off-by: Dmitriy Yakovlev <bombermag@gmail.com>
2016-11-06 23:34:40 +01:00
Ferruh Yigit
20dbd33a36 net: remove mempool dependency
Fixes: b25c2a8c69 ("net: introduce net library")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
2016-11-06 23:25:20 +01:00
Ferruh Yigit
b4e7b68cd3 doc: add net library in release notes
Fixes: b25c2a8c69 ("net: introduce net library")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2016-11-06 23:24:56 +01:00
Ben Walker
d9dd34bc8a pci: probe only devices without any driver
If the user asks to probe multiple times, the probe
callback should only be called on devices that don't have
a driver already loaded.

This is useful if a driver is registered after the
execution of a program has started and the list of devices
needs to be re-scanned.

Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2016-11-06 22:58:08 +01:00
Jianbo Liu
545f16daf6 eal/ppc: fix file descriptor leak when getting CPU features
Close the file descriptor after finish using it.

Fixes: 9ae15538 ("eal/ppc: cpu flag checks for IBM Power")

Signed-off-by: Jianbo Liu <jianbo.liu@linaro.org>
Acked-by: Jan Viktorin <viktorin@rehivetech.com>
2016-11-06 22:42:06 +01:00
Jianbo Liu
a1ed637873 eal/arm: fix file descriptor leak when getting CPU features
Close the file descriptor after finish using it.

Fixes: b94e5c94 ("eal/arm: add CPU flags for ARMv7")
Fixes: 97523f82 ("eal/arm: add CPU flags for ARMv8")

Signed-off-by: Jianbo Liu <jianbo.liu@linaro.org>
Acked-by: Jan Viktorin <viktorin@rehivetech.com>
2016-11-06 22:41:51 +01:00
Thomas Monjalon
e65b5069fd ethdev: rename library for consistency
The library was named libethdev without rte_ prefix.
It is now fixed, the library namespace is consistent.

Note: the ABI version has already been changed in this release cycle.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2016-11-06 20:53:23 +01:00
Shreyansh Jain
6ba1affa54 lib: fix ABI version after device model rework
rte_device/driver generalization patches [1] were merged without a change
in the LIBABIVER variable. This patches bumps the macro of affected libs:

- libcryptodev and libetherdev have been bumped
- librte_eal version changed in
  d7e61ad3ae ("log: remove deprecated history dump")

Details of ABI/API changes:
- EAL [version already bumped in: d7e61ad3ae]
  |- type field was removed from rte_driver
  |- rte_pci_device now embeds rte_device
  |- rte_pci_resource renamed to rte_mem_resource
  |- numa_node and devargs of rte_pci_driver is moved to rte_driver
  |- APIs for device hotplug (attach/detach) moved into EAL
  |- API rte_eal_pci_device_name added for PCI device naming
  |- vdev registration API introduced (rte_eal_vdrv_register,
  |  rte_eal_vdrv_unregister

- librte_crypto (v 1=>2)
  |- removed rte_cryptodev_create_unique_device_name API
  |- moved device naming to EAL

- librte_ethdev (v 4=>5)
  |- rte_eth_dev_type is removed
  |- removed dev_type from rte_eth_dev_allocate API
  |- removed API rte_eth_dev_get_device_type
  |- removed API rte_eth_dev_get_addr_by_port
  |- removed API rte_eth_dev_get_port_by_addr
  |- removed rte_cryptodev_create_unique_device_name API
  |- moved device naming to EAL

Also, deprecation notice from 16.07 has been removed and release notes for
16.11 added.

[1] http://dpdk.org/ml/archives/dev/2016-September/047087.html

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2016-11-06 20:53:23 +01:00
Thomas Monjalon
f0e64da62c mk: fix install-doc without html
When trying to install PDF, man pages or examples without having built
neither HTML API nor HTML guides, there was an error:

% make install-doc
tar: html: Cannot stat: No such file or directory

The fix is to check the html directory before installing HTML files.

Fixes: e4552b9cc6 ("mk: install doc")

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2016-11-06 20:53:23 +01:00
Thomas Monjalon
ca9b8b960b scripts: remove zlib dependency to test qede build
The driver qede does not depend on zlib anymore.

Fixes: 7d178e9ef6 ("net/qede: remove zlib dependency and enable PMD")

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Harish Patil <harish.patil@qlogic.com>
2016-11-06 20:53:19 +01:00
Thomas Monjalon
47ecf3a566 scripts: ignore const struct checks
checkpatch raise some false positives when run outside of the kernel tree.

The script checkpatch.pl from the kernel checks a list
of structs known to be const.
It is obviously not relevant as DPDK has not such list.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2016-11-05 15:47:42 +01:00
Thomas Monjalon
d10f08472e scripts: show full headline with checkpatch
The Subject in an email can be split on two lines.
In such case, the second line (starting with a space) can be
joined to the first one.

It is handled differently when parsing stdin or a file.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2016-11-05 15:47:42 +01:00
Thomas Monjalon
8005feef42 scripts: add standard input to checkpatch
It is now possible to check a patch by providing an email
through stdin.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2016-11-05 15:47:41 +01:00
Thomas Monjalon
314c78b0e1 scripts: fix quiet checkpatch
The commit e13fbc065c ("scripts: improve quiet checkpatch")
removed the line "total: 1 errors, 0 warnings, 7 lines checked"
from the quiet report.
Later, commit e7c38f4713 ("scripts: remove useless checkpatch notes")
removed few lines before "total:.*lines checked", so it was not working
well for quiet reporting.

Better to keep the "total:" line in quiet mode and remove the other ones.
That's why the checkpatch.pl option --no-summary is not used anymore
by reverting the commit e13fbc065c.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2016-11-05 15:47:41 +01:00
Thomas Monjalon
752d8e097e scripts: show fixes with release version of bug
This script can help to find commits to backport in stable branches.

Fixes are found if there is the word "fix" in the headline or
if there is a tag Fixes: or Reverts: in the message.
Chained fixes of fixes are explored to find the oldest origin.
Fixes of not released bugs are ignored.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Reviewed-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
2016-11-05 15:47:36 +01:00
Thomas Monjalon
ca41215c05 version: 16.11-rc2
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2016-10-26 23:51:42 +02:00
Ferruh Yigit
f146ada21d scripts: add more git log checks
Alphabetically sorted items to check and
added git log capitalization checks for LRO, NIC and PMD

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
2016-10-26 23:47:34 +02:00
Christian Ehrhardt
9d3ad924c2 doc: add basic guide for devbind
This summarizes the "how to call dpdk-devbind" in one place to be
picked up by html/pdf/man-page docs.

That knowledge was available before but spread in various docs along
examples (which are great and have to be kept) as well as in the
--usage/--help option of the tool itself.

As a root only program in sbin it should belong to section 8
"8   System administration commands (usually only for root)"

Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Acked-by: Luca Boccassi <lboccass@brocade.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2016-10-26 23:46:38 +02:00
Christian Ehrhardt
8afe8267b8 doc: add basic guide for pmdinfo
This summarizes the "how to call dpdk-pmdinfo" in one place to be picked
up by html/pdf/man-page docs.

Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Acked-by: Luca Boccassi <lboccass@brocade.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2016-10-26 23:46:35 +02:00
Christian Ehrhardt
576de42b83 doc: render and install man pages
This enables the rendering of rst into man pages as well as installing
them (if built) along the binaries. To do so there is a new make target
"doc-guides-man" which will render the rst files into man format.

Currently these three tools had docs that were compatible "enough" to
make up for a reasonable manpage.
- testpmd
- dpdk-pdump
- dpdk-procinfo

Since a man page should be installed along the binary they are not
installed in install-doc but install-runtime insteade. If not explicitly
built by the "doc-guides-man" target before calling install-runtime
there is no change to the old behaviour.

Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Acked-by: Luca Boccassi <lboccass@brocade.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2016-10-26 23:45:51 +02:00
Christian Ehrhardt
d644886398 doc: move tool guides in their own subdirectory
This is to clarify the scope of these documents that are more tools than
sample applications.
Also this is a preparation step to add more tools and generate man pages
off of their rst files.

Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Acked-by: Luca Boccassi <lboccass@brocade.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2016-10-26 23:45:42 +02:00
Reshma Pattan
bf97a83b13 doc: add pdump limitation note
The note i.e. "The dpdk-pdump tool can only be used in
conjunction with a primary process which has the packet
capture framework initialized already" is added to
doc/guides/sample_app_ug/pdump.rst to facilitate
easy understanding on the usage of the tool.

Suggested-by: Jianfeng Tan <jianfeng.tan@intel.com>
Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
2016-10-26 21:58:43 +02:00
Reshma Pattan
bb900072ff pdump: revert PCI device name conversion
Earlier ethdev library created the device names in the
"bus:device.func" format hence pdump library implemented
its own conversion method for changing the user passed
device name format "domain🚌device.func" to "bus:device.func"
for finding the port id using device name using ethdev library
calls. Now after ethdev and eal rework
http://dpdk.org/dev/patchwork/patch/15855/,
the device names are created in the format "domain🚌device.func",
so pdump library conversion is not needed any more, hence removed
the corresponding code.

Signed-off-by: Reshma Pattan <reshma.pattan@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
2016-10-26 21:54:38 +02:00
Fiona Trahe
bc2a9cdfe1 app/test: use correct offsets in AES performance test
offsets for digest and data need to be adjusted
to take prepended IV into account

Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Deepak Kumar Jain <deepak.k.jain@intel.com>
2016-10-26 14:58:37 +02:00
Fiona Trahe
39e0bee48e crypto/qat: rework request builder for performance
QAT PMD adjusts the buffer start address and offsets passed
to the device so that the DMAs in and out of the device are
64-byte aligned.
This gives more consistent throughput, which had been
variable depending on how the application set up the mbuf.
The message builder code had to be considerably re-factored
to do this efficiently.

Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Deepak Kumar Jain <deepak.k.jain@intel.com>
2016-10-26 14:58:37 +02:00
Slawomir Mrozowicz
8a9867a635 crypto/openssl: rename libcrypto to openssl
This patch replaces name "libcrypto" to "openssl" from file directories,
symbol prefixes and sub-names connected with old name.
Renamed poll mode driver files, test files, and documentations.
It is done to better name association with library because
the cryptography operations are using Openssl library crypto API.

Fixes: d61f70b4c9 ("crypto/libcrypto: add driver for OpenSSL library")

Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
Acked-by: Deepak Kumar Jain <deepak.k.jain@intel.com>
2016-10-26 14:58:37 +02:00
Arek Kusztal
170706a74d app/test: add crypto continual performance tests
This commit adds continual performace tests to Intel(R) QuickAssist
Technology tests suite. Performance tests are run continually with
some number of repeating loops.

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Deepak Kumar Jain <deepak.k.jain@intel.com>
2016-10-26 14:58:37 +02:00
Arek Kusztal
7013c57f4a app/test: add corrupted data for qat
This commit adds tests with corrupted data to the Intel QuickAssist
Technology tests suite in test_cryptodev.c

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Deepak Kumar Jain <deepak.k.jain@intel.com>
2016-10-26 14:58:37 +02:00
Qi Zhang
fcbd40d432 net/i40e: fix Rx hang when disable LLDP
Remove stopping LLDP as a workaround for a known
errata which can cause Rx hang.

Ref: Item #70 from
http://www.intel.com/content/www/us/en/embedded/products/networking/xl710-10-40-controller-spec-update.html

Fixes: 4861cde461 ("i40e: new poll mode driver")

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
2016-10-26 20:12:51 +02:00
Bernard Iremonger
f3f9b17bb8 net/ixgbe: support multiqueue mode VMDq DCB with SRIOV
Allow Data Center Bridge (DCB) configuration when SRIOV is enabled.

Signed-off-by: Rahul R Shah <rahul.r.shah@intel.com>
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2016-10-26 20:12:45 +02:00
Nélio Laranjeiro
1884087198 net/mlx5: fix support for newer link speeds
Not all speed capabilities can be reported properly before Linux 4.8 (25G,
50G and 100G speeds are missing), moreover the API to retrieve them only
exists since Linux 4.5, this commit thus implements compatibility code for
all versions.

Fixes: e274f57322 ("ethdev: add speed capabilities")

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
2016-10-26 20:12:44 +02:00
Nélio Laranjeiro
75ef62a943 net/mlx5: fix link speed capability information
Make hard-coded values dynamic to return correct link speed capabilities
(not all ConnectX-4 NICs support everything).

Fixes: e274f57322 ("ethdev: add speed capabilities")

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
2016-10-26 20:12:43 +02:00
Jeff Guo
f32f5aee9e net/i40e: fix hash filter on X722
When verifying the Hash filtering on X722, we found a problem that
the hash value in descriptor is incorrect. The root cause is that X722
uses different way of hash key word selection compared with X710/XL710.
This patch fixes it by setting X722 specific key selection.

Fixes: 98f0557076 ("i40e: configure input fields for RSS or flow director")

Signed-off-by: Jeff Guo <jia.guo@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
2016-10-26 19:42:23 +02:00
Jeff Guo
4675752f1d net/i40e: fix flow director on X710
Because some registers are only supported by X722, for example,
I40E_GLQF_FD_PCTYPES, the driver needs to use the mac type to distinguish
the behavior of X722 from X710 and other NICs, or it would result in
errors on X710.

Fixes: 8c5cb3c115 ("net/i40e: add packet type translation for X722")

Signed-off-by: Jeff Guo <jia.guo@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
2016-10-26 19:42:23 +02:00
E. Scott Daniels
aaffc740ec net/ixgbe: fix VF VLAN insert API
The final parameter to rte_pmd_ixgbe_set_vf_vlan_insert is uint8_t
and treated as a binary flag when it needs to be a uint16_t
and treated as a VLAN id.  The data sheet (sect 8.2.3.27.13) describes
the right most 16 bits as the VLAN id that is to be inserted; the
16.11  code is accepting only a 1 or 0 thus effectively only
allowing the VLAN id 1 to be inserted (0 disables the insertion
setting).

This patch changes the final parm name to represent the data that
is being accepted (vlan_id), changes the type to permit all valid
VLAN ids, and validates the parameter based on the range of 0 to
4095. Corresponding changes to prototype and documentation in the
.h file.

Fixes: 49e248223e ("net/ixgbe: add API for VF management")

Signed-off-by: E. Scott Daniels <daniels@research.att.com>
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2016-10-26 19:42:23 +02:00
Rasesh Mody
f9e0e7ab78 net/qede: update driver version
This patch updates the qede pmd version to 1.2.0.1.

Signed-off-by: Rasesh Mody <rasesh.mody@qlogic.com>
2016-10-26 19:42:23 +02:00
Rasesh Mody
cda291fb8a doc: update qede guide
Signed-off-by: Rasesh Mody <rasesh.mody@qlogic.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2016-10-26 19:42:23 +02:00
Rasesh Mody
7d178e9ef6 net/qede: remove zlib dependency and enable PMD
The QEDE PMD now uses unzipped firmware file eliminating the dependency
on zlib. Hence remove LDLIBS entry form the Makefile and enable qede
PMD by default.

Fixes: 6adac0bf30 ("qede: add missing external dependency and disable by default")

Signed-off-by: Rasesh Mody <rasesh.mody@qlogic.com>
2016-10-26 19:42:23 +02:00
Rasesh Mody
7634c5f915 net/qede: add queue statistics
This patch adds support for pulling per queue statistics.

Signed-off-by: Rasesh Mody <rasesh.mody@qlogic.com>
2016-10-26 19:42:22 +02:00
Harish Patil
f1e4b6c0ac net/qede: fix status block index for VF queues
o Fix the fastpath status block index such that each queue pair shares
the same index value.

o Add ecore_vf_get_num_sbs() API that returns the number of status
blocks assigned by PF. Use that to decide how many VF queues can be
advertised. Additionally, restrict maximum number of VF queues to 16
for 100G VF case.

Fixes: 2ea6f76aff ("qede: add core driver")

Signed-off-by: Harish Patil <harish.patil@qlogic.com>
2016-10-26 19:42:22 +02:00