470 Commits

Author SHA1 Message Date
Olivier Matz
93092a5610 mempool: remove deprecated get and put functions
As announced in the deprecation notice, remove the functions for
single/multi producer/consumer enqueue/dequeue.

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
2017-02-21 12:05:46 +01:00
Olivier Matz
f3bc028909 mempool: remove deprecated count functions
As announced in the deprecation notice, remove these functions.

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
2017-02-21 12:05:46 +01:00
Ferruh Yigit
aa0d7c2d32 kni: remove KNI vhost support
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2017-02-21 11:43:07 +01:00
Ferruh Yigit
b99f4e4b2d doc: add removed items section to release notes
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2017-02-21 11:43:07 +01:00
John McNamara
c75c6c4bce doc: add template release notes for 17.05
Add template release notes for DPDK 17.05 with inline
comments and explanations of the various sections.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Bruce Richardson <bruce.ricahrdson@intel.com>
2017-02-17 11:36:15 +01:00
John McNamara
dbe29a6258 doc: update release notes for 17.02
Fix grammar, spelling and formatting of DPDK 17.02 release notes.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
2017-02-14 21:58:04 +01:00
Akhil Goyal
db4b919074 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>
2017-02-14 21:41:49 +01:00
Fan Zhang
82862986ad 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>
2017-02-14 21:39:15 +01:00
Ferruh Yigit
d938931b8f 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>
2017-02-14 21:30:58 +01:00
Yuanhan Liu
a5c44ed455 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>
2017-02-14 21:28:14 +01:00
Bernard Iremonger
610b7b78e0 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>
2017-02-14 20:35:53 +01:00
Thomas Monjalon
8b2b62fdcf 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>
2017-02-14 20:26:45 +01:00
Shreyansh Jain
1c27f182fc 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>
2017-02-14 20:26:45 +01:00
Thomas Monjalon
c1f07dd16d 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>
2017-02-14 20:26:45 +01:00
Bruce Richardson
1a80a32cd1 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>
2017-02-14 20:26:45 +01:00
Thomas Monjalon
4c2128edee 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>
2017-02-14 18:13:48 +01:00
Thomas Monjalon
f17ba2b291 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>
2017-02-14 15:21:14 +01:00
Shreyansh Jain
59fc318ec4 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>
2017-02-14 15:15:00 +01:00
Yulong Pei
38ca45ce6d 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>
2017-02-14 14:29:25 +01:00
Nelio Laranjeiro
a114e31059 doc: update release notes for mlx5
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2017-02-14 14:29:23 +01:00
Nelio Laranjeiro
3730c188e9 doc: update release notes for mlx4
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2017-02-14 14:29:17 +01:00
Nelio Laranjeiro
d4b29993ec 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>
2017-02-14 14:28:45 +01:00
David Hunt
7a53028af5 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>
2017-02-13 17:28:16 +01:00
Shreyansh Jain
b84be21b92 doc: remove deprecation notice for bus abstraction
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2017-02-13 17:10:33 +01:00
Olivier Matz
e19138a2a2 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>
2017-02-13 15:20:28 +01:00
Thomas Monjalon
587e41a888 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>
2017-02-13 11:54:34 +01:00
Jianfeng Tan
18aea6b6f8 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>
2017-02-10 11:49:17 +01:00
Olivier Matz
604a69493d doc: add known issue for virtio TSO with clones
Document the issue with Tso on shared packets.

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
2017-02-09 16:05:29 +01:00
John Daley
e736083b5d doc: update release notes for enic driver
Signed-off-by: John Daley <johndale@cisco.com>
2017-02-09 15:58:51 +01:00
Jeff Guo
39922c470e doc: add known uio_pci_generic issue for i40e
When bind the "uio_pci_generic" module in X710/XL710/XXV710,
the result is failed. The "uio_pci_generic" module is not
supported by X710/XL710/XXV710.

Signed-off-by: Jeff Guo <jia.guo@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2017-01-30 22:18:26 +01:00
Slawomir Mrozowicz
c6baca7adc doc: describe new performance test application
Add documentation to describe using the new performance test application.

Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
Signed-off-by: Piotr Azarewicz <piotrx.t.azarewicz@intel.com>
2017-01-30 17:46:36 +01:00
Jerin Jacob
3c9d2bcc09 doc: add I/O device memory access API to release notes
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2017-01-30 19:03:38 +01:00
Zbigniew Bodek
54c7fdba7c crypto/armv8: add documentation
Add documentation about the driver and update
release notes.

Signed-off-by: Zbigniew Bodek <zbigniew.bodek@caviumnetworks.com>
Reviewed-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
2017-01-19 01:00:55 +01:00
Piotr Azarewicz
9c2a5775c0 crypto/aesni_gcm: migrate from MB library to ISA-L
Current Cryptodev AES-NI GCM PMD is implemented using Multi Buffer
Crypto library.This patch reimplement the device using ISA-L Crypto
library: https://github.com/01org/isa-l_crypto.

The migration entailed the following additional support for:
  * GMAC algorithm.
  * 256-bit cipher key.
  * Session-less mode.
  * Out-of place processing
  * Scatter-gatter support for chained mbufs (only out-of place and
    destination mbuf must be contiguous)

Signed-off-by: Piotr Azarewicz <piotrx.t.azarewicz@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
2017-01-18 21:49:54 +01:00
Pablo de Lara
8772c3f713 crypto/aesni_mb: add single operation functionality
Update driver to use new AESNI Multibuffer IPSec library single
operation functionality (cipher only and authentication only).
This patch also adds tests for this new feature.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
2017-01-18 21:48:56 +01:00
Pablo de Lara
21c0a80e11 crypto/aesni_mb: update dependency in guide
The Intel(R) Multi Buffer Crypto library used in the AESNI MB PMD
has been moved to a new repository, in github.
This patch updates the link where it can be downloaded.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
2017-01-18 21:47:56 +01:00
Arek Kusztal
e09231eaa2 crypto/qat: add SGL capability
This commit adds scatter-gather list capability to Intel QuickAssist
Technology driver.

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
2017-01-18 21:47:04 +01:00
Arek Kusztal
6cd8b4d8ba crypto/qat: add DES capability
This commit adds DES capability to Intel QuickAssist
Technology Driver

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
2017-01-18 21:46:08 +01:00
Pablo de Lara
0dd62a0187 doc: add EFD library section in programmers guide
Signed-off-by: Sameh Gobriel <sameh.gobriel@intel.com>
Acked-by: Christian Maciocco <christian.maciocco@intel.com>
2017-01-18 20:55:25 +01:00
Pablo de Lara
56b6ef874f efd: new Elastic Flow Distributor library
Elastic Flow Distributor (EFD) is a distributor library that uses
perfect hashing to determine a target/value for a given incoming flow key.
It has the following advantages:

- First, because it uses perfect hashing, it does not store
  the key itself and hence lookup performance is not dependent
  on the key size.

- Second, the target/value can be any arbitrary value hence
  the system designer and/or operator can better optimize service rates
  and inter-cluster network traffic locating.

- Third, since the storage requirement is much smaller than a hash-based
  flow table (i.e. better fit for CPU cache), EFD can scale to
  millions of flow keys.
  Finally, with current optimized library implementation performance
  is fully scalable with number of CPU cores.

Signed-off-by: Byron Marohn <byron.marohn@intel.com>
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Saikrishna Edupuganti <saikrishna.edupuganti@intel.com>
Acked-by: Christian Maciocco <christian.maciocco@intel.com>
2017-01-18 20:53:28 +01:00
Jingjing Wu
d2b84bdefc doc: update release notes for i40e base driver
Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
2017-01-17 20:09:28 +01:00
Wenzhuo Lu
19ffc1615d doc: update for VFD experimental API
Update the doc and release note.

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Vincent Jardin <vincent.jardin@6wind.com>
2017-01-17 19:48:02 +01:00
Yongseok Koh
528a9fbec6 net/mlx5: support ConnectX-5 devices
Add PCI device ID for ConnectX-5 and enable multi-packet send for PF and VF
along with changing documentation and release note.

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
2017-01-17 19:41:42 +01:00
Bernard Iremonger
5e823a4512 ethdev: remove some VF functions
remove the following API's:

rte_eth_dev_set_vf_rxmode
rte_eth_dev_set_vf_rx
rte_eth_dev_set_vf_tx
rte_eth_dev_set_vf_vlan_filter
rte_eth_dev_set_vf_rate_limit

Increment LIBABIVER in Makefile
Remove deprecation notice for removing rte_eth_dev_set_vf_* API's.

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
2017-01-17 19:40:50 +01:00
Andrew Rybchenko
63d588ff26 net/sfc: libefx-based driver stub
Enable the PMD by default on supported configurations.

Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@solarflare.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2017-01-17 19:39:25 +01:00
Wenzhuo Lu
31d4210971 net/e1000/base: announce supported devices
Document all supported NICs.
Add Intel I219 NICs support in release note.

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
2017-01-17 19:38:40 +01:00
Qiming Yang
2191347120 ethdev: add firmware version get
This patch adds a new API 'rte_eth_dev_fw_version_get' for
fetching firmware version by a given device.

Signed-off-by: Qiming Yang <qiming.yang@intel.com>
Acked-by: Remy Horton <remy.horton@intel.com>
2017-01-17 22:34:35 +01:00
Jianfeng Tan
26b683b4f7 net/virtio: setup Rx queue interrupts
This patch mainly allocates structure to store queue/irq mapping,
and configure queue/irq mapping down through PCI ops. It also creates
eventfds for each Rx queue and tell the kernel about the eventfd/intr
binding.

Note: So far, we hard-code 1:1 queue/irq mapping (each rx queue has
one exclusive interrupt), like this:
  vec 0 -> config irq
  vec 1 -> rxq0
  vec 2 -> rxq1
  ...

which means, the "vectors" option of QEMU should be configured with
a value >= N+1 (N is the number of the queue pairs).

Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Tested-by: Lei Yao <lei.a.yao@intel.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
2017-01-17 09:26:54 +01:00
Jianfeng Tan
e3b434818b net/virtio-user: support kernel vhost
This patch add support vhost kernel as the backend for virtio_user.
Three main hook functions are added:
  - vhost_kernel_setup() to open char device, each vq pair needs one
    vhostfd;
  - vhost_kernel_ioctl() to communicate control messages with vhost
    kernel module;
  - vhost_kernel_enable_queue_pair() to open tap device and set it
    as the backend of corresonding vhost fd (that is to say, vq pair).

Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
2017-01-17 09:24:56 +01:00
Yuanhan Liu
6d890f8ab5 net/virtio: fix multiple process support
The introduce of virtio 1.0 support brings yet another set of ops, badly,
it's not handled correctly, that it breaks the multiple process support.

The issue is the data/function pointer may vary from different processes,
and the old used to do one time set (for primary process only). That
said, the function pointer the secondary process saw is actually from the
primary process space. Accessing it could likely result to a crash.

Kudos to the last patches, we now be able to maintain those info that may
vary among different process locally, meaning every process could have its
own copy for each of them, with the correct value set. And this is what
this patch does:

- remap the PCI (IO port for legacy device and memory map for modern
  device)

- set vtpci_ops correctly

After that, multiple process would work like a charm. (At least, it
passed my fuzzy test)

Fixes: b8f04520ad71 ("virtio: use PCI ioport API")
Fixes: d5bbeefca826 ("virtio: introduce PCI implementation structure")
Fixes: 6ba1f63b5ab0 ("virtio: support specification 1.0")
Cc: stable@dpdk.org

Reported-by: Juho Snellman <jsnell@iki.fi>
Reported-by: Yaron Illouz <yaroni@radcom.com>
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
2017-01-17 09:20:18 +01:00