dpdk.git
7 years agodoc: announce API change for cryptodev sessions info
Akhil Goyal [Tue, 14 Feb 2017 12:11:14 +0000 (17:41 +0530)]
doc: announce API change for cryptodev sessions info

A new parameter is planned to be added in 17.05 release in
rte_cryptodev_info.sym - max_nb_sessions_per_qp.

This will allow applications to know the maximum number of session
which can be attached to queue_pairs of device.

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
7 years agodoc: announce ABI change for cryptodev configuration
Fan Zhang [Tue, 14 Feb 2017 10:41:06 +0000 (10:41 +0000)]
doc: announce ABI change for cryptodev configuration

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
7 years agodoc: announce KNI vhost removal
Ferruh Yigit [Thu, 17 Nov 2016 13:27:21 +0000 (13:27 +0000)]
doc: announce KNI vhost removal

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
7 years agodoc: announce API changes for vhost
Yuanhan Liu [Mon, 23 Jan 2017 13:04:42 +0000 (21:04 +0800)]
doc: announce API changes for vhost

I made a vhost ABI/API refactoring at v16.04, meant to avoid such issue
forever. Well, apparently, I lied.

People are looking for more vhost-user options now days, other than
vhost-user net only. For example, SPDK (Storage Performance Development
Kit) are looking for chance of vhost-user SCSI and vhost-user block.

Apparently, they also need a vhost-user backend, while DPDK already
has a (mature enough) backend, they don't want to implement it again
from scratch. They want to leverage the one DPDK provides.

However, the last refactoring hasn't done that right, at least it's
not friendly for extending vhost-user to add more devices support.
For example, different virtio devices has its own feature set, while
APIs like rte_vhost_feature_disable(feature_mask) have no option to
tell the device type. Thus, a more proper API should look like:

    rte_vhost_feature_disable(device_type, feature_mask);

Besides that, few public files and structures should be renamed, to
not let it bind to virtio-net. Specifically, they are:

- virtio_net_device_ops --> vhost_device_ops
- rte_virtio_net.h      --> rte_vhost.h

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
7 years agodoc: announce move of ethdev bypass function to ixgbe API
Bernard Iremonger [Thu, 5 Jan 2017 15:25:36 +0000 (15:25 +0000)]
doc: announce move of ethdev bypass function to ixgbe API

In 17.05, nine rte_eth_dev_* functions for bypass control,
and implemented only in ixgbe, will be removed from ethdev,
renamed and moved to the ixgbe PMD-specific API.

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
7 years agodoc: postpone API change in ethdev
Thomas Monjalon [Mon, 13 Feb 2017 14:26:44 +0000 (15:26 +0100)]
doc: postpone API change in ethdev

The change of _rte_eth_dev_callback_process has not been done in 17.02.
Let's postpone to 17.05.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
7 years agodoc: announce VFIO symbols renaming for export
Shreyansh Jain [Mon, 13 Feb 2017 12:01:48 +0000 (17:31 +0530)]
doc: announce VFIO symbols renaming for export

Some vfio symbols need to be exported outside librte_eal.
For that, they need to be renamed to rte_* naming convention.

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agodoc: announce API changes to implement the bus model
Thomas Monjalon [Mon, 13 Feb 2017 16:20:34 +0000 (17:20 +0100)]
doc: announce API changes to implement the bus model

The new bus model has been proposed in 17.02 without being used.
The big rework should happen in 17.05.

Suggested-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Jan Blunck <jblunck@infradead.org>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: announce ABI change for ring library
Bruce Richardson [Mon, 13 Feb 2017 17:38:30 +0000 (17:38 +0000)]
doc: announce ABI change for ring library

Document proposed changes for the rings code in the next release.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agodoc: announce TILE-Gx removal
Thomas Monjalon [Mon, 13 Feb 2017 10:52:32 +0000 (11:52 +0100)]
doc: announce TILE-Gx removal

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
7 years agocfgfile: fix uninitialized variable on load error
Dmitriy Yakovlev [Tue, 7 Feb 2017 02:51:06 +0000 (05:51 +0300)]
cfgfile: fix uninitialized variable on load error

Uninitialized scalar variable.
Using uninitialized value cfg->sections[curr_section]->num_entries
when calling rte_cfgfile_close.
And memory in variables cfg->sections[curr_section],
sect->entries[curr_entry] maybe not equal NULL.
We must decrement counters curr_section, curr_entry when failed to realloc.

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

Signed-off-by: Dmitriy Yakovlev <bombermag@gmail.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
7 years agodoc: fix images of virtio-user tutorials
Jianfeng Tan [Tue, 14 Feb 2017 11:55:34 +0000 (11:55 +0000)]
doc: fix images of virtio-user tutorials

The images by below two commits are very unclear. Fix it.

Fixes: 50665deebda ("doc: add guide to use virtio-user for container networking")
Fixes: 0ba3870e755 ("doc: add guide to use virtio-user as exceptional path")

Suggested-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: introduce tested platforms as combinations
Thomas Monjalon [Tue, 14 Feb 2017 13:57:37 +0000 (14:57 +0100)]
doc: introduce tested platforms as combinations

Add some text and rearrange lists to make sure it is clear that the
tested platforms listed in the release notes are some combinations
of the items in each group.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: add EAL bus support in release notes
Shreyansh Jain [Mon, 13 Feb 2017 11:29:48 +0000 (16:59 +0530)]
doc: add EAL bus support in release notes

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agodoc: add tested Intel platforms in the release notes
Yulong Pei [Tue, 14 Feb 2017 04:14:14 +0000 (12:14 +0800)]
doc: add tested Intel platforms in the release notes

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>
7 years agodoc: update release notes for mlx5
Nelio Laranjeiro [Thu, 9 Feb 2017 08:32:01 +0000 (09:32 +0100)]
doc: update release notes for mlx5

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: update release notes for mlx4
Nelio Laranjeiro [Thu, 9 Feb 2017 08:32:00 +0000 (09:32 +0100)]
doc: update release notes for mlx4

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: merge test sections in release notes
Nelio Laranjeiro [Thu, 9 Feb 2017 08:31:59 +0000 (09:31 +0100)]
doc: merge test sections in release notes

These sections do not provide the exact tests that were done nor whether
specific NICs are supported by all platforms.

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agovfio: fix maximum number of interrupt for MSI-X
Qi Zhang [Thu, 9 Feb 2017 19:59:43 +0000 (14:59 -0500)]
vfio: fix maximum number of interrupt for MSI-X

The max number of interrupt request is possible
be changed after rte_intr_callback_register, so
in get_max_intr, we need to check if necessary to
update the max_intr.

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
7 years agoethdev: fix typo in UDP tunnel API description
Andrew Rybchenko [Mon, 13 Feb 2017 10:32:23 +0000 (10:32 +0000)]
ethdev: fix typo in UDP tunnel API description

Fixes: 1cbe755fef47 ("ethdev: rename UDP tunnel port functions")

Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
7 years agodoc: add distributor library API change notice
David Hunt [Mon, 6 Feb 2017 08:08:29 +0000 (08:08 +0000)]
doc: add distributor library API change notice

Given that the packet distributor library improvements (1) will
not be in 17.02, I plan on doing some consolidation of the
API for burst operation for 17.05, merging the two api's into
one, with options for single or burst operation.

(1) http://dpdk.org/dev/patchwork/patch/19911/

Signed-off-by: David Hunt <david.hunt@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agodoc: remove deprecation notice for bus abstraction
Shreyansh Jain [Mon, 13 Feb 2017 11:55:44 +0000 (17:25 +0530)]
doc: remove deprecation notice for bus abstraction

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agodoc: postpone ABI changes to 17.05
Olivier Matz [Mon, 13 Feb 2017 11:05:26 +0000 (12:05 +0100)]
doc: postpone ABI changes to 17.05

Postpone the ABI changes for mempool and mbuf that were planned
for 17.02 to 17.05.

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
7 years agodoc: remove announce of Tx preparation
Thomas Monjalon [Mon, 13 Feb 2017 10:54:34 +0000 (11:54 +0100)]
doc: remove announce of Tx preparation

The feature is part of 17.02, so the ABI changes notice can be removed.

Fixes: 4fb7e803eb1a ("ethdev: add Tx preparation")

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
7 years agoversion: 17.02-rc3
Thomas Monjalon [Fri, 10 Feb 2017 16:15:32 +0000 (17:15 +0100)]
version: 17.02-rc3

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
7 years agodoc: clarify multi-buffer crypto library version support
Pablo de Lara [Fri, 10 Feb 2017 12:33:42 +0000 (12:33 +0000)]
doc: clarify multi-buffer crypto library version support

AES-NI MB PMD uses external Multi-Buffer library,
which is hosted in github, but the version was not specified
in the documentation.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Deepak Kumar Jain <deepak.k.jain@intel.com>
7 years agocrypto/scheduler: fix session backup
Fan Zhang [Thu, 9 Feb 2017 18:46:21 +0000 (18:46 +0000)]
crypto/scheduler: fix session backup

Fixes the missed session backup during enqueue.

Fixes: 100e4f7e44ab ("crypto/scheduler: add round-robin mode")

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
7 years agocrypto/scheduler: fix initialization
Fan Zhang [Thu, 9 Feb 2017 18:49:59 +0000 (18:49 +0000)]
crypto/scheduler: fix initialization

Fixes the wrong slave initialization issue on start-up

Fixes: 100e4f7e44ab ("crypto/scheduler: add round-robin mode")

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
7 years agoapp/crypto-perf: fix null dereference
Slawomir Mrozowicz [Fri, 10 Feb 2017 14:22:30 +0000 (15:22 +0100)]
app/crypto-perf: fix null dereference

Dereferencing a pointer that might be null key_token when calling strstr.
Check if the pointer is null before.

Coverity issue: 141071
Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application")

Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
7 years agoapp/crypto-perf: fix size of expression
Jacek Piasecki [Fri, 10 Feb 2017 13:26:15 +0000 (14:26 +0100)]
app/crypto-perf: fix size of expression

This commit fixes problem of passing a pointer to sizeof() function.
Now the size of enabled_cdevs structure is passed by RTE_CRYPTO_MAX_DEVS.

Coverity issue: 141068
Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application")

Signed-off-by: Jacek Piasecki <jacekx.piasecki@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
7 years agoapp/crypto-perf: fix crash for wireless algorithms
Slawomir Mrozowicz [Thu, 9 Feb 2017 13:57:29 +0000 (14:57 +0100)]
app/crypto-perf: fix crash for wireless algorithms

This commit fixes segmentation fault that happens when
using KASUMI, SNOW3G or ZUC authentication algorithms,
as they need authentication keys and was not being set.
It also set value of authentication key to cipher key
when using GMAC algorithm.

Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application")

Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
7 years agoapp/crypto-perf: fix uninitialized variable
Aleksander Gajewski [Fri, 10 Feb 2017 09:22:32 +0000 (10:22 +0100)]
app/crypto-perf: fix uninitialized variable

This commit ixes problem with uninitialized nb_cryptodevs variable by
initialize it with 0 value. Program could jump to err label
without running cperf_initialize_cryptodev() function. Also assign 0
value to nb_cryptodevs after cperf_initialize_cryptodev() when value is
negative.

Coverity issue: 141073
Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application")

Signed-off-by: Aleksander Gajewski <aleksanderx.gajewski@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
7 years agoexamples/l2fwd-crypto: fix padding
Pablo de Lara [Thu, 9 Feb 2017 12:27:45 +0000 (12:27 +0000)]
examples/l2fwd-crypto: fix padding

L2fwd-crypto app was padding an incoming buffer,
to be aligned with the algorithm block size, in all cases.
This was not the right approach, as padding is only necessary
when using block cipher algorithms, such as AES-CBC.
In case of using a stream cipher algorithm, such as SNOW3G UEA2,
there is no need to include padding and increase the buffer size.

Fixes: 387259bd6c67 ("examples/l2fwd-crypto: add sample application")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
7 years agoexamples/l2fwd-crypto: fix overflow
Pablo de Lara [Tue, 7 Feb 2017 14:17:25 +0000 (14:17 +0000)]
examples/l2fwd-crypto: fix overflow

This commit fixes an array overflow when number of crypto devices
is higher than 32.

Fixes: 387259bd6c67 ("examples/l2fwd-crypto: add sample application")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
7 years agoapp/crypto-perf: fix big parameter passed by value
Jacek Piasecki [Wed, 8 Feb 2017 16:04:40 +0000 (17:04 +0100)]
app/crypto-perf: fix big parameter passed by value

Structure opts and structure test_vec are now passed by  pointer to
the cperf_check_test_vector.

Coverity issue: 141072
Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application")

Signed-off-by: Jacek Piasecki <jacekx.piasecki@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
7 years agodrivers/crypto: fix different auth/cipher keys
Pablo de Lara [Tue, 7 Feb 2017 22:49:58 +0000 (22:49 +0000)]
drivers/crypto: fix different auth/cipher keys

When ciphering and authenticating in the same operation
(cipher-then-auth or auth-then-cipher),
the cipher key and authentication key were set with the same
key, in SNOW3G, KASUMI and ZUC PMDs.
They were using the key of the first transform structure,
instead of using the keys of the two different transform
structures.

This is not a big issue, since usually, the same key is
used for ciphering and authentication, but keys may be different.

Fixes: 3aafc423cf4d ("snow3g: add driver for SNOW 3G library")
Fixes: 2773c86d061a ("crypto/kasumi: add driver for KASUMI library")
Fixes: cf7685d68f00 ("crypto/zuc: add driver for ZUC library")
Cc: stable@dpdk.org
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Deepak Kumar Jain <deepak.k.jain@intel.com>
7 years agodoc: add limitations section to cryptoperf guide
Fiona Trahe [Tue, 7 Feb 2017 16:32:55 +0000 (16:32 +0000)]
doc: add limitations section to cryptoperf guide

Add limitations to use of the dpdk-test-crypto-perf
tool for hardware accelerator measurements

Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
7 years agoapp/crypto-perf: add options parsing check
Kuba Kozak [Tue, 7 Feb 2017 12:20:16 +0000 (13:20 +0100)]
app/crypto-perf: add options parsing check

Added total_ops value validation in parse_total_ops() function.

Coverity issue: 141070
Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application")

Signed-off-by: Kuba Kozak <kubax.kozak@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
7 years agoapp/crypto-perf: fix string not null terminated
Aleksander Gajewski [Tue, 7 Feb 2017 09:20:18 +0000 (10:20 +0100)]
app/crypto-perf: fix string not null terminated

This commit fixes the case where the string buffer may not have
a null terminator if the source string's length is equal to the
buffer size.

Coverity issue: 141069
Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application")

Signed-off-by: Aleksander Gajewski <aleksanderx.gajewski@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
7 years agocryptodev: fix crash when querying device by name
Slawomir Mrozowicz [Fri, 3 Feb 2017 15:55:02 +0000 (16:55 +0100)]
cryptodev: fix crash when querying device by name

This patch fixes a segmentation fault in function
rte_cryptodev_devices_get(), due to incorrect driver name path.
It reworks the function to use correct types and clean up
for visibility.

Coverity issue: 141067
Fixes: 38227c0e3ad2 ("cryptodev: retrieve device info")

Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
7 years agocrypto/aesni_mb: add missing digest length
Pablo de Lara [Fri, 27 Jan 2017 13:16:08 +0000 (13:16 +0000)]
crypto/aesni_mb: add missing digest length

AESNI MB now supports authentication only operations,
but the array containing all the possible digest lengths
was not updated to reflect the new algorithm NULL_HASH,
causing an "Out-of-bounds access".

Coverity issue: 140977
Fixes: 8772c3f713e2 ("crypto/aesni_mb: add single operation functionality")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
7 years agonet/i40e: fix TC bandwidth definition
Wenzhuo Lu [Fri, 10 Feb 2017 05:25:53 +0000 (13:25 +0800)]
net/i40e: fix TC bandwidth definition

The range of TC bandwidth is 0 ~ 800, it's 16bits not 8bits.

Fixes: c8b9a3e3fe1b ("i40e: support DCB mode")
Cc: stable@dpdk.org
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
7 years agonet/ixgbe: fix VLAN mask TCI in flow rule parser
Wei Zhao [Fri, 10 Feb 2017 01:37:58 +0000 (09:37 +0800)]
net/ixgbe: fix VLAN mask TCI in flow rule parser

Use vlan_mask->tci as big endian since this is how rte flow defines it.

Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
Fixes: 37ed39b4e67d ("net/ixgbe: add TCI mask check for flow director")

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
7 years agodoc: add known issue for i40e statistics
Jingjing Wu [Thu, 9 Feb 2017 06:41:54 +0000 (14:41 +0800)]
doc: add known issue for i40e statistics

Rx statistic is incorrect when packet is oversize.

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: announce ixgbe MTU setting limitation
Wenzhuo Lu [Thu, 9 Feb 2017 01:28:00 +0000 (09:28 +0800)]
doc: announce ixgbe MTU setting limitation

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agodoc: fix titles of ixgbe guide
Wenzhuo Lu [Thu, 9 Feb 2017 01:27:59 +0000 (09:27 +0800)]
doc: fix titles of ixgbe guide

The framework of the ixgbe doc is not appropriate,
adjust it.

Fixes: 972e365bfe7a ("doc: nics guide")
CC: stable@dpdk.org
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agonet/mlx5: fix link status query
Shahaf Shuler [Thu, 9 Feb 2017 12:29:54 +0000 (14:29 +0200)]
net/mlx5: fix link status query

Trying to query the link status through the new ETHTOOL_GLINKSETTINGS
ioctl available since Linux 4.5 was always failing due to a kernel bug
fixed since version 4.9.

This commit also addresses a common issue where the headers version used
at compile time differs from that of the kernel on the target system, by
always defining missing symbols and moving the kernel version check at run
time.

Fixes: 188408719888 ("net/mlx5: fix support for newer link speeds")
CC: stable@dpdk.org
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
7 years agonet/bnx2x: increase release version
Rasesh Mody [Thu, 9 Feb 2017 07:06:44 +0000 (23:06 -0800)]
net/bnx2x: increase release version

This patch bumps bnx2x PMD version to 1.0.5.1 to track the recent
fixes to the driver.

Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
7 years agonet/vmxnet3: add speed capability
Ido Barnea [Thu, 2 Feb 2017 12:08:22 +0000 (12:08 +0000)]
net/vmxnet3: add speed capability

Signed-off-by: Ido Barnea <ibarnea@cisco.com>
Acked-by: Yong Wang <yongwang@vmware.com>
7 years agonet/ixgbe: fix received packets number for ARM NEON
Jianbo Liu [Thu, 9 Feb 2017 04:05:26 +0000 (12:05 +0800)]
net/ixgbe: fix received packets number for ARM NEON

Vector PMD will check 4 descs in one time, but the statuses are not
consistent because the memory allocated for RX descriptors is cacheable
huagepage.
This patch is to calculate the number of received packets by scann DD bit
sequentially, and stops when meeting the first packet with DD bit unset.

Fixes: b20971b6cca0 ("net/ixgbe: implement vector driver for ARM")
Cc: stable@dpdk.org
Signed-off-by: Jianbo Liu <jianbo.liu@linaro.org>
7 years agonet/ixgbe: fix received packets number for ARM
Jianbo Liu [Thu, 9 Feb 2017 04:05:25 +0000 (12:05 +0800)]
net/ixgbe: fix received packets number for ARM

To get better performance, Rx bulk alloc recv function will scan 8 descs
in one time, but the statuses are not consistent on ARM platform because
the memory allocated for Rx descriptors is cacheable hugepages.
This patch is to calculate the number of received packets by scan DD bit
sequentially, and stops when meeting the first packet with DD bit unset.

Fixes: 7431041062b9 ("ixgbe: allow rx bulk alloc")
Cc: stable@dpdk.org
Signed-off-by: Jianbo Liu <jianbo.liu@linaro.org>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agonet/enic: fix hardcoding of some flow director masks
John Daley [Thu, 9 Feb 2017 00:40:09 +0000 (16:40 -0800)]
net/enic: fix hardcoding of some flow director masks

Hard coded mask values were being used for several of the IPv4 and IPv6
fields. Use the values in the rte_eth_fdir_masks structure provided by the
caller.

Fixes: dfbd6a9cb504 ("net/enic: extend flow director support for 1300 series")
Cc: stable@dpdk.org
Signed-off-by: John Daley <johndale@cisco.com>
7 years agombuf: fix bitmask of Tx offload flags
Jingjing Wu [Wed, 8 Feb 2017 05:05:53 +0000 (13:05 +0800)]
mbuf: fix bitmask of Tx offload flags

Add missed PKT_TX_MACSEC and PKT_TX_IEEE1588_TMST flags to bitmask of
all supported packet Tx offload features flags.

Fixes: 4fb7e803eb1a ("ethdev: add Tx preparation")

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agonet/e1000: fix bitmask of supported Tx flags
Jingjing Wu [Wed, 8 Feb 2017 05:05:52 +0000 (13:05 +0800)]
net/e1000: fix bitmask of supported Tx flags

Add missed PKT_TX_IEEE1588_TMST to bitmask of all supported
packet Tx flags.

Fixes: 2b76648872c9 ("net/e1000: add Tx preparation")

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agonet/ixgbe: fix bitmask of supported Tx flags
Jingjing Wu [Wed, 8 Feb 2017 05:05:51 +0000 (13:05 +0800)]
net/ixgbe: fix bitmask of supported Tx flags

Add missed PKT_TX_IEEE1588_TMST to bitmask of all supported
packet Tx flags.

Fixes: 7829b8d52be0 ("net/ixgbe: add Tx preparation")

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agonet/i40e: fix bitmask of supported Tx flags
Jingjing Wu [Wed, 8 Feb 2017 05:05:50 +0000 (13:05 +0800)]
net/i40e: fix bitmask of supported Tx flags

PKT_TX_TUNNEL_MASK and PKT_TX_IEEE1588_TMST are missed in bitmask
of all supported packet Tx flags by i40e. It will cause packet preparing
fail when sending tunnel packets with Tx offload.
This patch fixes it.

Fixes: 3f33e643e5c6 ("net/i40e: add Tx preparation")

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agonet/i40e: fix link update delay
Qiming Yang [Wed, 8 Feb 2017 09:14:24 +0000 (17:14 +0800)]
net/i40e: fix link update delay

Fix the redundant delay in function link update. There is no need to
call rte_delay_ms and hold CPU for 100ms when link status is up.

Fixes: 263333bbb7a9 ("i40e: fix link status timeout")
Cc: stable@dpdk.org
Signed-off-by: Qiming Yang <qiming.yang@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agonet/mlx5: fix updating total length of multi-packet send
Yongseok Koh [Thu, 2 Feb 2017 18:43:32 +0000 (10:43 -0800)]
net/mlx5: fix updating total length of multi-packet send

The total length field in descriptor of inlined multi-packet send must be
updated before closing a session. There's possibility of updating it
afterward. This bug might cause one packet out of MLX5_MPW_DSEG_MAX gets
silently dropped by HW and impact performance, especially lossless test.

Fixes: 230189d9ff22 ("net/mlx5: support multi-packet send")
Cc: stable@dpdk.org
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
7 years agonet/i40e: rework port check for driver-specific API
Wenzhuo Lu [Wed, 8 Feb 2017 14:28:12 +0000 (14:28 +0000)]
net/i40e: rework port check for driver-specific API

Change is_i40e_pmd to is_device_supported to make it more generic.

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
7 years agonet/i40evf: fix reporting of imissed packets
Tom Crugnale [Tue, 6 Dec 2016 20:16:21 +0000 (15:16 -0500)]
net/i40evf: fix reporting of imissed packets

Missed packets on RX were erroneously being assigned to the ierrors
struct member. Change it to be assigned to imissed.

Fixes: 4861cde46116 ("i40e: new poll mode driver")
Cc: stable@dpdk.org
Signed-off-by: Tom Crugnale <tcrugnale@sandvine.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/i40e: fix ethertype filter on X722
Jeff Guo [Tue, 7 Feb 2017 03:52:19 +0000 (11:52 +0800)]
net/i40e: fix ethertype filter on X722

The GL_SWR_PRI_JOIN_MAP registers are effective on filters, changing
the register's default value will fail the ethertype filter.

The GL_SWR_PRI_JOIN_MAP values are different for each NIC, and current
X722 register values are wrong.

Fix X722 ethertype filter by setting registers to X722 default NVM
values.

Fixes: 92fbf2cbdff4 ("i40e: support X722 and its A0 hardware")
Cc: stable@dpdk.org
Signed-off-by: Jeff Guo <jia.guo@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agodrivers/net: fix device configuration
Jeff Guo [Wed, 8 Feb 2017 09:50:16 +0000 (17:50 +0800)]
drivers/net: fix device configuration

dev_flags is wrongly overwritten with RTE_ETH_DEV_DETACHABLE value
in drivers after rte_eth_copy_pci_info().

Previous values of the dev_flags set in rte_eth_copy_pci_info(),
like RTE_ETH_DEV_INTR_LSC, are get lost. That will fail the device
configuration.

Fix by preventing dev_flags overwritten.

Fixes: 22dda618c00c ("pci: separate detaching ethernet ports from PCI devices")

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Signed-off-by: Jeff Guo <jia.guo@intel.com>
7 years agonet/i40e: fix tunnel filter
Beilei Xing [Mon, 6 Feb 2017 08:52:47 +0000 (16:52 +0800)]
net/i40e: fix tunnel filter

Creating IPv4 flow and IPv6 flow will cause conflict error.
Root cause is there's no IP info included in tunnel filter
input.

Fixes: 425c3325f0b0 ("net/i40e: store tunnel filter")
Fixes: d416530e6358 ("net/i40e: parse tunnel filter")

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
7 years agonet/i40e: fix parsing tunnel filter
Beilei Xing [Mon, 6 Feb 2017 05:29:56 +0000 (13:29 +0800)]
net/i40e: fix parsing tunnel filter

VNI of VXLAN is parsed wrongly. The root cause is that
array VNI in item VXLAN uses network byte ordering.

Fixes: d416530e6358 ("net/i40e: parse tunnel filter")

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
7 years agonet/ena: fix setting host attributes
Jakub Palider [Mon, 6 Feb 2017 11:56:56 +0000 (12:56 +0100)]
net/ena: fix setting host attributes

The hardware may reject adding host_info in case support for
host_info is missing in the list of supported features. On the
other hand the list of supported features may contain support
for the host_info - typical bootstrap problem.

This patch solves it by removing check against support for
host_info attribute and improves error handling by reacting
only to host attribute write failure to the hardware.

Fixes: 99ecfbf845b3 ("ena: import communication layer")
Cc: stable@dpdk.org
Signed-off-by: Jakub Palider <jpa@semihalf.com>
7 years agonet/ixgbe: rework port check for driver-specific API
Wenzhuo Lu [Tue, 7 Feb 2017 06:33:26 +0000 (14:33 +0800)]
net/ixgbe: rework port check for driver-specific API

For PMD specific API it is required to check if provided port id is for
a supported device.

It's not appropriate to call rte_eth_dev_info_get in PMD, as
rte_eth_dev_info_get need to get info from PMD.

Remove rte_eth_dev_info_get from PMD code and get the info directly.

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
7 years agonet/tap: move closing file descriptors to close function
Keith Wiles [Mon, 6 Feb 2017 19:40:38 +0000 (13:40 -0600)]
net/tap: move closing file descriptors to close function

Remove closing fds code from pmd stop routine.

Signed-off-by: Keith Wiles <keith.wiles@intel.com>
Acked-by: Pascal Mazon <pascal.mazon@6wind.com>
7 years agonet/tap: move link down before close
Keith Wiles [Mon, 6 Feb 2017 19:40:37 +0000 (13:40 -0600)]
net/tap: move link down before close

Fixes: f457b472b1f2 ("net/tap: add link up and down operations")

Signed-off-by: Keith Wiles <keith.wiles@intel.com>
Acked-by: Pascal Mazon <pascal.mazon@6wind.com>
7 years agonet/tap: cleanup log messages
Keith Wiles [Mon, 6 Feb 2017 19:40:36 +0000 (13:40 -0600)]
net/tap: cleanup log messages

Signed-off-by: Keith Wiles <keith.wiles@intel.com>
Acked-by: Pascal Mazon <pascal.mazon@6wind.com>
7 years agonet/tap: fix multi-queue support
Keith Wiles [Mon, 6 Feb 2017 19:40:35 +0000 (13:40 -0600)]
net/tap: fix multi-queue support

At the same time remove the code which created the first device queue
at probe time. Now all queues are created during queue setup calls.

Fixes: 02f96a0a82d1 ("net/tap: add TUN/TAP device PMD")

Signed-off-by: Keith Wiles <keith.wiles@intel.com>
Acked-by: Pascal Mazon <pascal.mazon@6wind.com>
7 years agonet/tap: remove unused variable
Keith Wiles [Mon, 6 Feb 2017 19:40:34 +0000 (13:40 -0600)]
net/tap: remove unused variable

Signed-off-by: Keith Wiles <keith.wiles@intel.com>
Acked-by: Pascal Mazon <pascal.mazon@6wind.com>
7 years agonet/tap: remove redundant file descriptor array
Keith Wiles [Mon, 6 Feb 2017 19:40:33 +0000 (13:40 -0600)]
net/tap: remove redundant file descriptor array

Signed-off-by: Keith Wiles <keith.wiles@intel.com>
Acked-by: Pascal Mazon <pascal.mazon@6wind.com>
7 years agonet/tap: fix guide for device name
Keith Wiles [Mon, 6 Feb 2017 19:40:32 +0000 (13:40 -0600)]
net/tap: fix guide for device name

Fixes: 02f96a0a82d1 ("net/tap: add TUN/TAP device PMD")

Signed-off-by: Keith Wiles <keith.wiles@intel.com>
Acked-by: Pascal Mazon <pascal.mazon@6wind.com>
7 years agonet/ixgbe: fix VXLAN parsing for flow director
Wei Zhao [Fri, 3 Feb 2017 08:44:49 +0000 (16:44 +0800)]
net/ixgbe: fix VXLAN parsing for flow director

VNI of VXLAN is parsed wrongly. The root cause is that
VNI array in VXLAN item also uses network byte ordering.

Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
Cc: stable@dpdk.org
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
7 years agonet/ixgbe: add TCI mask check for flow director
Wei Zhao [Fri, 3 Feb 2017 08:43:57 +0000 (16:43 +0800)]
net/ixgbe: add TCI mask check for flow director

Add more check on the tci mask of VLAN and VXLAN parser
in fdir filter rule pattern parser. If such check not added,
it maybe cause error in fdir configuration set check.

Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
Cc: stable@dpdk.org
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
7 years agonet/enic: fix memory leak with oversized Tx packets
John Daley [Fri, 3 Feb 2017 01:18:40 +0000 (17:18 -0800)]
net/enic: fix memory leak with oversized Tx packets

If a packet send is attempted with a packet larger than the NIC
is capable of processing (9208) it will be dropped with no
completion descriptor returned or completion index update, which
will lead to an mbuf leak and eventual hang.

Drop and count oversized Tx packets in the Tx burst function and
dereference/free the mbuf without sending it to the NIC.

Since the maximum Rx and Tx packet sizes are different on enic
and are now both being used, make the define ENIC_DEFAULT_MAX_PKT_SIZE
be 2 defines, one for Rx and one for Tx.

Fixes: fefed3d1e62c ("enic: new driver")
Cc: stable@dpdk.org
Signed-off-by: John Daley <johndale@cisco.com>
7 years agonet/tap: support promiscuous and allmulticast
Pascal Mazon [Thu, 2 Feb 2017 16:18:04 +0000 (17:18 +0100)]
net/tap: support promiscuous and allmulticast

Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
Acked-by: Keith Wiles <keith.wiles@intel.com>
7 years agonet/tap: add link up and down operations
Pascal Mazon [Thu, 2 Feb 2017 16:18:03 +0000 (17:18 +0100)]
net/tap: add link up and down operations

Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
Acked-by: Keith Wiles <keith.wiles@intel.com>
7 years agonet/tap: display name after parsing
Pascal Mazon [Thu, 2 Feb 2017 16:18:02 +0000 (17:18 +0100)]
net/tap: display name after parsing

The probe parses for user-defined iface name. Let's use that value.

Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
Acked-by: Keith Wiles <keith.wiles@intel.com>
7 years agonet/tap: keep kernel-assigned MAC address
Pascal Mazon [Thu, 2 Feb 2017 16:18:01 +0000 (17:18 +0100)]
net/tap: keep kernel-assigned MAC address

There's no point in having a different internal MAC address than the one
provided by the kernel when creating the netdevice.

Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
Acked-by: Keith Wiles <keith.wiles@intel.com>
7 years agonet/tap: skip overwritten file descriptor assignment
Pascal Mazon [Thu, 2 Feb 2017 16:18:00 +0000 (17:18 +0100)]
net/tap: skip overwritten file descriptor assignment

pmd->fds[0], pmd->rxq[0] and pmd->txq[0] are set a couple of lines after
the for loop that initializes them to -1.

Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
Acked-by: Keith Wiles <keith.wiles@intel.com>
7 years agonet/tap: fix log level of errors
Pascal Mazon [Thu, 2 Feb 2017 16:17:59 +0000 (17:17 +0100)]
net/tap: fix log level of errors

Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
Acked-by: Keith Wiles <keith.wiles@intel.com>
7 years agonet/tap: fix name
Pascal Mazon [Thu, 2 Feb 2017 16:17:58 +0000 (17:17 +0100)]
net/tap: fix name

dev->data->name contains the device name, e.g. "net_tap0".
dev->data->dev_private->name contains the actual iface name,
e.g. "dtap0".

In any case, the name must to be consistent with the tun_alloc() call in
eth_dev_tap_create().

Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
Acked-by: Keith Wiles <keith.wiles@intel.com>
7 years agonet/mlx5: fix inline WQE consumption
Nélio Laranjeiro [Thu, 2 Feb 2017 10:34:13 +0000 (11:34 +0100)]
net/mlx5: fix inline WQE consumption

For some sizes of packets, the number of bytes copied in the work queue
element could be greater than the available size of the inline.  In such
situation it could consume one more work queue element where it should
not.

Fixes: 0e8679fcddc4 ("net/mlx5: fix inline logic")
Cc: stable@dpdk.org
Reported-by: Elad Persiko <eladpe@mellanox.com>
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
7 years agonet/mlx5: fix Tx WQE corruption caused by starvation
Nélio Laranjeiro [Thu, 2 Feb 2017 10:34:12 +0000 (11:34 +0100)]
net/mlx5: fix Tx WQE corruption caused by starvation

Fixes an issue which may occurs with the inline feature activated and a
packet greater than the max_inline requested.

In such situation, more work request elements can be consumed and in the
worst case override some still handled by the NIC, this can result in
sending garbage on the network or putting the work queue in error.

Fixes: 2a66cf378954 ("net/mlx5: support inline send")
Cc: stable@dpdk.org
Reported-by: Elad Persiko <eladpe@mellanox.com>
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
7 years agonet/mlx5: fix ethernet header re-writing
Nélio Laranjeiro [Thu, 2 Feb 2017 10:34:11 +0000 (11:34 +0100)]
net/mlx5: fix ethernet header re-writing

First two bytes of the Ethernet header was written twice at the same place.

Fixes: b8fe952ec5b6 ("net/mlx5: prepare Tx vectorization")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
7 years agonet/sfc: fix setting empty multicast list
Ivan Malov [Wed, 1 Feb 2017 08:17:11 +0000 (08:17 +0000)]
net/sfc: fix setting empty multicast list

The patch is to fix sfc_set_mc_addr_list() behaviour in order
to make it accept an empty multicast address list thus making
it possible to remove multicast addresses inserted previously

Fixes: 0fa0070e4391 ("net/sfc: support multicast addresses list controls")

Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
7 years agonet/mlx5: fix flow rule creation if ports are stopped
Nélio Laranjeiro [Tue, 31 Jan 2017 16:02:48 +0000 (17:02 +0100)]
net/mlx5: fix flow rule creation if ports are stopped

Adding a flow when the port is stopped ends in an inconsistent situation
where the queue can receive traffic when it should not.
Record new rules and apply them as soon as the port is started.

Fixes: 2097d0d1e2cc ("net/mlx5: support basic flow items and actions")

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
7 years agonet/mlx5: fix verification of mark action
Nélio Laranjeiro [Tue, 31 Jan 2017 16:02:47 +0000 (17:02 +0100)]
net/mlx5: fix verification of mark action

A configuration structure for the MARK action must always be specified.

Fixes: ea3bc3b1df94 ("net/mlx5: support mark flow action")

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
7 years agonet/mlx5: use flow API default masks
Nélio Laranjeiro [Tue, 31 Jan 2017 16:02:46 +0000 (17:02 +0100)]
net/mlx5: use flow API default masks

Default masks were introduced in the API after its implementation in this
PMD.

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
7 years agonet/mlx5: fix inconsistent link status
Shahaf Shuler [Tue, 31 Jan 2017 13:13:38 +0000 (15:13 +0200)]
net/mlx5: fix inconsistent link status

Querying the link status can end up being in an inconsistent state,
like the port is reporting speed although it is down.

For this case another query is scheduled.

A race condition can occur between the scheduled query and link
status interrupt handlers.

When the scheduled query by-pass interrupt handlers, the link status
will be stuck in an inconsistent state.

This patch addresses the race condition by not blocking link status
queries in case delayed query is used.

Fixes: 198a3c339a8f ("mlx5: handle link status interrupts")
Cc: stable@dpdk.org
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
7 years agopci: fix UIO interrupt file descriptor check before close
Yong Wang [Fri, 10 Feb 2017 13:53:17 +0000 (08:53 -0500)]
pci: fix UIO interrupt file descriptor check before close

The "dev->intr_handle.fd" is possibly a negative value while it is
passed as an argument to function "close". Fix the check to the fd.

Fixes: 5a60a7ffc801 ("pci: introduce functions to alloc and free uio resource")

Signed-off-by: Yong Wang <wang.yong19@zte.com.cn>
7 years agonet/virtio: add speed capability
Ido Barnea [Thu, 2 Feb 2017 12:05:07 +0000 (12:05 +0000)]
net/virtio: add speed capability

The chosen fake capability (10G) is consistent with the reported
link speed in virtio_dev_link_update():
link.link_speed = SPEED_10G;

The feature is not marked in doc/guides/nics/features/virtio.ini
because it is only a fake value.

Signed-off-by: Ido Barnea <ibarnea@cisco.com>
[Thomas: comments added]
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
7 years agodoc: postpone ABI changes in igb_uio
Jianfeng Tan [Thu, 9 Feb 2017 16:06:46 +0000 (16:06 +0000)]
doc: postpone ABI changes in igb_uio

This ABI changes to remove iomem and ioport mapping in igb_uio. The
purpose of this changes was to fix a bug: when DPDK app crashes,
those devices by igb_uio are not stopped either DPDK PMD driver or
igb_uio driver.

Then it has been pointed out by Stephen Hemminger that it has
backward compatibility issue: cannot run old version DPDK on
modified igb_uio.

However, we still have not figure out a new way to fix this bug
without this change. Let's postpone this deprecation announcement
in case this change cannot be avoided.

Fixes: 3bac1dbc1ed ("doc: announce iomem and ioport removal from igb_uio")

Suggested-by: Stephen Hemminger <stephen@networkplumber.org>
Suggested-by: Ferruh Yigit <ferruh.yigit@intel.com>
Suggested-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agodoc: add guide to use virtio-user as exceptional path
Jianfeng Tan [Thu, 9 Feb 2017 16:06:45 +0000 (16:06 +0000)]
doc: add guide to use virtio-user as exceptional path

Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
7 years agodoc: add guide to use virtio-user for container networking
Jianfeng Tan [Thu, 9 Feb 2017 16:06:44 +0000 (16:06 +0000)]
doc: add guide to use virtio-user for container networking

Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
7 years agomk: move PMD libraries linking to applications
Ferruh Yigit [Tue, 31 Jan 2017 15:04:48 +0000 (15:04 +0000)]
mk: move PMD libraries linking to applications

Some PMDs provide device specific APIs. Bond and xenvirt are existing
samples for this.

And since these are PMD libraries, there are two options on how to link
them for shared library build:

1- They can be linked to all applications by default, using common
rte.app.mk file.

2- They can be explicitly linked to applications that use device
specific API.

Currently option one is in use, this patch switches to the option two.

Moves library linking to the Makefile of application Makefile that uses
device specific API.

This prevent these PMD libraries to be a dependency to applications
that don't use these device specific APIs.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agoapp/testpmd: use LDLIBS in makefile
Ferruh Yigit [Tue, 31 Jan 2017 15:04:47 +0000 (15:04 +0000)]
app/testpmd: use LDLIBS in makefile

_LDLIBS is for internal usage, convert to LDLIBS usage.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agomk: link more libraries without --whole-archive
Ferruh Yigit [Tue, 31 Jan 2017 15:01:32 +0000 (15:01 +0000)]
mk: link more libraries without --whole-archive

During app build with static library, some libraries wrapped with
--whole-archive compiler flag.

Wrapped libraries are mainly PMD libraries, this is required because PMD
APIs not called directly but run through callbacks registered via
constructor functions.

Also some set of libraries, depends to the PMD libraries needs this,
because of same reason.

All the libraries used by a plugin (any driver) must be in
--whole-archive to ensure that every symbols will be available for the
plugin.

But other libraries can be out of this flag, and this saves some bytes
in final binary.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
7 years agoexamples/ethtool: display bus information
Qiming Yang [Wed, 4 Jan 2017 12:18:15 +0000 (20:18 +0800)]
examples/ethtool: display bus information

This patch enhances the ethtool example to support to show
bus information, in the same way that the Linux kernel
ethtool does.

Signed-off-by: Qiming Yang <qiming.yang@intel.com>
Acked-by: Remy Horton <remy.horton@intel.com>