dpdk.git
6 years agoring: guarantee load/load order in enqueue and dequeue
Jia He [Fri, 10 Nov 2017 03:30:42 +0000 (03:30 +0000)]
ring: guarantee load/load order in enqueue and dequeue

We watched a rte panic of mbuf_autotest in our qualcomm arm64 server
(Amberwing).

Root cause:
In __rte_ring_move_cons_head()
...
        do {
                /* Restore n as it may change every loop */
                n = max;

                *old_head = r->cons.head;                //1st load
                const uint32_t prod_tail = r->prod.tail; //2nd load

In weak memory order architectures (powerpc,arm), the 2nd load might be
reodered before the 1st load, that makes *entries is bigger than we wanted.
This nasty reording messed enque/deque up.

cpu1(producer)          cpu2(consumer)          cpu3(consumer)
                        load r->prod.tail
in enqueue:
load r->cons.tail
load r->prod.head

store r->prod.tail

                                                load r->cons.head
                                                load r->prod.tail
                                                ...
                                                store r->cons.{head,tail}
                        load r->cons.head

Then, r->cons.head will be bigger than prod_tail, then make *entries very
big and the consumer will go forward incorrectly.

After this patch, the old cons.head will be recaculated after failure of
rte_atomic32_cmpset

There is no such issue on X86, because X86 is strong memory order model.
But rte_smp_rmb() doesn't have impact on runtime performance on X86, so
keep the same code without architectures specific concerns.

Fixes: 50d769054872 ("ring: add burst API")
Cc: stable@dpdk.org
Signed-off-by: Jia He <jia.he@hxt-semitech.com>
Signed-off-by: Jie Liu <jie2.liu@hxt-semitech.com>
Signed-off-by: Bing Zhao <bing.zhao@hxt-semitech.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Jianbo Liu <jianbo.liu@arm.com>
6 years agomaintainers: update PTP client example
Pablo de Lara [Tue, 24 Oct 2017 09:55:54 +0000 (10:55 +0100)]
maintainers: update PTP client example

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Daniel Mrzyglod <danielx.t.mrzyglod@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
6 years agomaintainers: update job stats library
Pablo de Lara [Tue, 24 Oct 2017 09:56:44 +0000 (10:56 +0100)]
maintainers: update job stats library

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
6 years agomaintainers: update for fm10k
Xiao Wang [Wed, 25 Oct 2017 11:22:54 +0000 (04:22 -0700)]
maintainers: update for fm10k

Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
6 years agomaintainers: resign from mlx4 maintenance
Nelio Laranjeiro [Fri, 3 Nov 2017 10:04:46 +0000 (11:04 +0100)]
maintainers: resign from mlx4 maintenance

I have been a little too busy these past months and could not follow all
the re-work of this PMD.

So the best thing for this PMD would be to move the mlx4 maintenance to
more involved people.

Cc: stable@dpdk.org
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
6 years agomaintainers: claim maintainership of VDEV bus
Jianfeng Tan [Wed, 8 Nov 2017 01:07:59 +0000 (01:07 +0000)]
maintainers: claim maintainership of VDEV bus

Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Zhiyong Yang <zhiyong.yang@intel.com>
6 years agomaintainers: fill git trees for net and crypto API
Thomas Monjalon [Mon, 6 Nov 2017 11:36:51 +0000 (12:36 +0100)]
maintainers: fill git trees for net and crypto API

The ethdev API (including rte_flow) is managed in the dpdk-next-net tree.
The crypto API is managed in the dpdk-next-crypto tree.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
6 years agodoc: mention 17.11 LTS in contributing guide
Luca Boccassi [Tue, 31 Oct 2017 16:28:55 +0000 (16:28 +0000)]
doc: mention 17.11 LTS in contributing guide

Signed-off-by: Luca Boccassi <bluca@debian.org>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
6 years agodoc: update API/ABI policy
Bruce Richardson [Mon, 6 Nov 2017 11:28:06 +0000 (11:28 +0000)]
doc: update API/ABI policy

Following agreement at the DPDK Technical Board meeting of 2017-10-13 [1],
update the documentation with the ABI/API policy changes.

[1] http://dpdk.org/ml/archives/dev/2017-October/079961.html

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Yuanhan Liu <yliu@fridaylinux.org>
Acked-by: Kevin Traynor <ktraynor@redhat.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
6 years agodoc: update deprecation of ethdev offload API
Shahaf Shuler [Tue, 17 Oct 2017 14:24:14 +0000 (17:24 +0300)]
doc: update deprecation of ethdev offload API

Update deprecation notice for the new ethdev offloads API.
Deprecation of the old offloads API is set to 18.05.

Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
6 years agodoc: postpone devargs clean-up
Gaetan Rivet [Wed, 8 Nov 2017 09:53:27 +0000 (10:53 +0100)]
doc: postpone devargs clean-up

These changes were planned for 17.11 but were proposed too late.
Postpone those to v18.02 instead.

Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
6 years agodoc: update release notes for 17.11
John McNamara [Fri, 10 Nov 2017 12:27:15 +0000 (12:27 +0000)]
doc: update release notes for 17.11

Fix grammar, spelling and formatting of DPDK 17.11 release notes.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
6 years agodoc: add tested Intel platforms with Intel NICs
Yulong Pei [Thu, 9 Nov 2017 06:40:15 +0000 (14:40 +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>
6 years agodoc: fix mempool option in octeontx guide
Santosh Shukla [Tue, 7 Nov 2017 06:59:34 +0000 (12:29 +0530)]
doc: fix mempool option in octeontx guide

Fixes: f820b5896631 ("doc: add octeontx ethdev driver documentation")

Signed-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
6 years agodoc: add octeontx mempool guide
Santosh Shukla [Tue, 7 Nov 2017 06:59:33 +0000 (12:29 +0530)]
doc: add octeontx mempool guide

This commit adds a section to the docs listing the mempool
device PMDs available.

It then adds the octeontx fpavf mempool PMD to the listed mempool
devices.

Signed-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
6 years agodoc: add octeontx platform guide
Santosh Shukla [Tue, 7 Nov 2017 06:59:32 +0000 (12:29 +0530)]
doc: add octeontx platform guide

This commit adds a section to the docs listing the platform
guide for the PMDs.

It then adds the octeontx platform guide to the listed platform
devices.

Patch also removes platform specific duplicate setup information from
eventdev/octeontx.rst, nics/octeontx.rst and update to
plaform/octeontx.rst.

Signed-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
6 years agodoc: update mlx4 documentation
Moti Haimovsky [Thu, 9 Nov 2017 17:30:56 +0000 (19:30 +0200)]
doc: update mlx4 documentation

This updates mlx4 documentation and DPDK release notes
to reflect the PMD support for rdma-core from linux-rdma.

- PMD is now freed from Mellanox OFED and now only depends on the
  public rdma-core package (v15 and above) instead.
  (see https://github.com/linux-rdma/rdma-core/releases)
  This PMD should run under Linux v4.14 and above.
- In case any of the above requirements can't be satisfied,
  Mellanox OFED v4.2 and above also provide an updated rdma-core
  as well back-ported kernel modules for most Linux distributions
  and previous Linux versions.
  (see http://www.mellanox.com/page/products_dyn?product_family=26).

Signed-off-by: Moti Haimovsky <motih@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
6 years agodoc: remove mlx4 Rx inline support
Moti Haimovsky [Thu, 9 Nov 2017 17:30:55 +0000 (19:30 +0200)]
doc: remove mlx4 Rx inline support

This commit removes the stale MLX4_INLINE_RECV_SIZE environment
variable from the documentation.

Fixes: 056eaf2e6d55 ("net/mlx4: drop inline receive support")

Signed-off-by: Moti Haimovsky <motih@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
6 years agodoc: remove mlx4 Tx inline compilation option
Moti Haimovsky [Thu, 9 Nov 2017 17:30:54 +0000 (19:30 +0200)]
doc: remove mlx4 Tx inline compilation option

This patch removes the stale CONFIG_RTE_LIBRTE_MLX4_MAX_INLINE compilation
option from the documentation.

Fixes: 586db080585b ("net/mlx4: remove Tx inline compilation option")

Signed-off-by: Moti Haimovsky <motih@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
6 years agodoc: add inline crypto feature
Radu Nicolau [Thu, 9 Nov 2017 12:29:42 +0000 (12:29 +0000)]
doc: add inline crypto feature

Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
6 years agodoc: move fast mbuf free feature in net guide
Thomas Monjalon [Wed, 8 Nov 2017 20:44:10 +0000 (21:44 +0100)]
doc: move fast mbuf free feature in net guide

The feature was added at the end of the table.
And the description was between the anchor _nic_features_timesync
and its title.
It is moved near related features with a new anchor.

It is also renamed from "mbuf fast free" to "fast mbuf free".

Fixes: d6f90afd3070 ("ethdev: add mbuf fast free Tx offload")

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
6 years agopdump: fix possible mbuf leak on failure
Ilya V. Matveychikov [Fri, 10 Nov 2017 13:55:16 +0000 (16:55 +0300)]
pdump: fix possible mbuf leak on failure

If pdump_pktmbuf_copy_data() fails it's possible to have segment leak
as rte_pktmbuf_free() only handles m_dup chain but not the seg just
allocated and yet not chained.

Fixes: 278f945402c5 ("pdump: add new library for packet capture")

Signed-off-by: Ilya V. Matveychikov <matvejchikov@gmail.com>
6 years agoexamples/ipv4_multicast: fix segments number type
Ilya V. Matveychikov [Fri, 10 Nov 2017 13:57:25 +0000 (16:57 +0300)]
examples/ipv4_multicast: fix segments number type

Fixes: 97cb466d65c9 ("mbuf: use 2 bytes for port and nb segments")

Signed-off-by: Ilya V. Matveychikov <matvejchikov@gmail.com>
6 years agotest/memory: fix autotest parsing
Radoslaw Biernacki [Thu, 9 Nov 2017 18:14:32 +0000 (19:14 +0100)]
test/memory: fix autotest parsing

This patch fixes three problems in memory autotest:
 - the regex for IOVA
 - missing validation of second and following output lines
 - propagation of error to consecutive tests
 - conversion base for mem size (hex indtead of dec)
First fix is for changes introduced with IOVA, the regex was not
updated which lead to unit test failure.  Patch now also uses loop for
line outputs processing to verify more than just one line. By this we
also satisfy the pexpect() and scan the "Test OK"/"Test Failed" so in
case of error all output lines are consumed and does not break the
consecutive test (error does not propagate).

Fixes: 7ba49d39f14c ("mem: rename segment address from physical to IOVA")
Fixes: b4ce15aa2bc7 ("app/test: fix memory autotest")

Signed-off-by: Radoslaw Biernacki <radoslaw.biernacki@linaro.org>
6 years agotest/memzone: fix memory leak
Radoslaw Biernacki [Wed, 8 Nov 2017 12:33:14 +0000 (13:33 +0100)]
test/memzone: fix memory leak

This patch fixes the memory leaks in memzone_autotest. Those memory leaks
lead to failures in tests from the same testing group due to out of memory
problems.  With introduction of rte_memzone_free() it is now possible to
free the memzone.  Fix uses this API call to make a clean after each test
case.

Fixes: ff909fe21f0a ("mem: introduce memzone freeing")
Cc: stable@dpdk.org
Signed-off-by: Radoslaw Biernacki <radoslaw.biernacki@linaro.org>
6 years agoapp/testpmd: remove port status check from TM command
Jasvinder Singh [Fri, 10 Nov 2017 10:30:49 +0000 (10:30 +0000)]
app/testpmd: remove port status check from TM command

Currently, testpmd CLI doesn't permit to add leaf and non-leaf node when
port is started. It doesn't work in case of i40e device as DCB
configuration is deleted when port is stopped. Therefore, removes the
port status check before invoking leaf and nonleaf node API in the cli.
If needed, device can add port status check at the driver layer.

Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
6 years agoeal: fix an include guard comment
Jerin Jacob [Wed, 8 Nov 2017 07:04:55 +0000 (12:34 +0530)]
eal: fix an include guard comment

Fixes: af75078fece3 ("first public release")

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
6 years agonet/virtio: fix Rx interrupt with VFIO
Zhiyong Yang [Thu, 9 Nov 2017 09:21:24 +0000 (17:21 +0800)]
net/virtio: fix Rx interrupt with VFIO

When running l3fwd-power to test virtio rxq interrupt using vfio
pci noiommu mode, startup fails. In the function virtio_read_caps,
the code if (flags & PCI_MSIX_ENABLE) intends to double check
if vfio msix is enabled or not. However, it is not enable at that
time. So use_msix is assigned to "0", not "1", which causes the
failure of configuring rxq intr in l3fwd-power.
This patch adds the function "vtpci_msix_detect" to detect the status
of msix when interrupt changes happen.
In the meanwhile, virtio_intr_enable/disable are introduced to wrap
rte_intr_enable/disable to enhance the ability to detect msix.
use_msix can indicate three different msix status by:
VIRTIO_MSIX_NONE (0)
VIRTIO_MSIX_DISABLED (1)
VIRTIO_MSIX_ENABLED (2)

Fixes: cb482cb3a305 ("net/virtio: fix MAC address read")
Cc: stable@dpdk.org
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
Acked-by: Jianfeng Tan <jianfeng.tan@intel.com>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
6 years agonet/mlx5: fix link speed bitmasks
Edward Makarov [Fri, 10 Nov 2017 14:18:04 +0000 (14:18 +0000)]
net/mlx5: fix link speed bitmasks

The constant ETHTOOL_LINK_MODE_1000baseT_Full_BIT and the others like
that in mlx5_link_update_unlocked_gs must be bit masks but unfortunately
they are bit numbers. This commit fixes the issue.

Fixes: 188408719888 ("net/mlx5: fix support for newer link speeds")
Cc: stable@dpdk.org
Signed-off-by: Edward Makarov <makarov@kraftway.ru>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
6 years agonet/mlx4: fix missing stamp during Tx completion
Matan Azrad [Fri, 10 Nov 2017 08:27:18 +0000 (08:27 +0000)]
net/mlx4: fix missing stamp during Tx completion

After processing completed packets, the owner bit of each TXBB comprised
in its WQEs must be invalidated. The loop stops short of processing the
last WQE.

Fixes: c3c977bbecbd ("net/mlx4: add Tx bypassing Verbs")

Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
6 years agonet/bnxt: fix link handling and configuration
Ajit Khaparde [Thu, 9 Nov 2017 17:46:28 +0000 (11:46 -0600)]
net/bnxt: fix link handling and configuration

Remove a case where we were sending a deprecated field to the FW.
There is no need to send auto_link_speed to the FW.
Also set the auto_mode correctly depending on the setting requested.

Fixes: 7bc8e9a227cc ("net/bnxt: support async link notification")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
6 years agonet/bnxt: fix duplicate creation of ntuple filter
Ajit Khaparde [Thu, 9 Nov 2017 17:46:27 +0000 (11:46 -0600)]
net/bnxt: fix duplicate creation of ntuple filter

Prevent the creation of duplicate 5tuple filters.

Fixes: b7435d660a8c ("net/bnxt: add ntuple filtering support")

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
6 years agonet/nfp: fix possible memory leak
Alejandro Lucero [Wed, 8 Nov 2017 14:42:23 +0000 (14:42 +0000)]
net/nfp: fix possible memory leak

Memory allocated was not being released in any exit path.

Coverity issue: 195030
Fixes: 48e2255f1b63 ("net/nfp: add NSP support for HW link configuration")

Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
6 years agonet/nfp: fix null pointer check
Alejandro Lucero [Wed, 8 Nov 2017 14:36:32 +0000 (14:36 +0000)]
net/nfp: fix null pointer check

First, the received pointer was not checked before. Then the pointer
from malloc was not the one used in the existing check.

Coverity issue: 195027
Fixes: ad60bca34899 ("net/nfp: read PF port MAC addr using NSP")

Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
6 years agonet/nfp: fix possible bad shif operation
Alejandro Lucero [Wed, 8 Nov 2017 12:28:11 +0000 (12:28 +0000)]
net/nfp: fix possible bad shif operation

We do not know how big can the BAR be, but we know anything less
than 1MB is an error. This BAR needs to be big enough for accessing
most of NFP internals.

Coverity issue: 195024
Fixes: d12206e00590 ("net/nfp: add NSP user space interface")

Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
6 years agonet/nfp: fix checking function return value
Alejandro Lucero [Wed, 8 Nov 2017 12:19:48 +0000 (12:19 +0000)]
net/nfp: fix checking function return value

The fstat function could return a value that indicates an error condition.
If this is not checked, the error condition may not be handled correctly.

Coverity issue: 195019
Fixes: f37d8a4b67b2 ("net/nfp: add NSP FW upload command")

Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
6 years agonet/nfp: fix resource leak
Alejandro Lucero [Wed, 8 Nov 2017 12:14:13 +0000 (12:14 +0000)]
net/nfp: fix resource leak

File descriptor is not released in any potential exit path
inside the function.

Coverity issue: 195018
Fixes: f37d8a4b67b2 ("net/nfp: add NSP FW upload command")

Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
6 years agonet/nfp: fix memory allocation
Alejandro Lucero [Wed, 8 Nov 2017 12:07:14 +0000 (12:07 +0000)]
net/nfp: fix memory allocation

If the function actually returns a null value, a null pointer
dereference will occur.

Coverity issue: 195013
Fixes: dd63df2bfff3 ("net/nfp: add NSP symbol resolution command")

Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
6 years agonet/nfp: fix stats struct initial value
Alejandro Lucero [Wed, 8 Nov 2017 11:59:45 +0000 (11:59 +0000)]
net/nfp: fix stats struct initial value

Not all struct fields will be written and random data could
confuse readers.

Coverity issue: 140755
Fixes: 92aa491b881e ("nfp: add statistics")
Cc: stable@dpdk.org
Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
6 years agodrivers/net: fix number of segment storage type
Ilya V. Matveychikov [Thu, 9 Nov 2017 13:54:09 +0000 (17:54 +0400)]
drivers/net: fix number of segment storage type

Fixes: 97cb466d65c9 ("mbuf: use 2 bytes for port and nb segments")
Cc: stable@dpdk.org
Signed-off-by: Ilya V. Matveychikov <matvejchikov@gmail.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
6 years agonet/mlx4: fix rxq interrupt memory corruption
Shahaf Shuler [Thu, 9 Nov 2017 13:50:49 +0000 (15:50 +0200)]
net/mlx4: fix rxq interrupt memory corruption

intr_vec allocation size was wrong causing a memory corruption.

Fixes: 0a2ae703192c ("net/mlx4: fix Rx interrupts management")
Cc: stable@dpdk.org
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
6 years agonet/mlx5: fix rxq interrupt memory corruption
Shahaf Shuler [Thu, 9 Nov 2017 13:10:14 +0000 (15:10 +0200)]
net/mlx5: fix rxq interrupt memory corruption

intr_vec allocation size was wrong causing a memory corruption.

Fixes: e1016cb73383 ("net/mlx5: fix Rx interrupts management")
Cc: stable@dpdk.org
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
6 years agonet/mlx5: fix flow director rules comparison
Nélio Laranjeiro [Thu, 9 Nov 2017 12:43:06 +0000 (13:43 +0100)]
net/mlx5: fix flow director rules comparison

When deleting/replacing a flow director rule the first rule of the list
was always the one replaced instead of the corresponding one.

Fixes: 4c3e9bcdd52e ("net/mlx5: support flow director")

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
6 years agonet/qede: fix default config option
Harish Patil [Thu, 9 Nov 2017 06:52:20 +0000 (22:52 -0800)]
net/qede: fix default config option

Restore the default configuration as in previous releases and
add a debug msg.

Fixes: f07aa795c92a ("net/qede: disable per-VF Tx switching feature")
Cc: stable@dpdk.org
Signed-off-by: Harish Patil <harish.patil@cavium.com>
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
6 years agodoc: update qede PMD NIC guide
Rasesh Mody [Thu, 9 Nov 2017 06:52:19 +0000 (22:52 -0800)]
doc: update qede PMD NIC guide

Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
6 years agonet/mlx4: fix Rx packet type offloads
Moti Haimovsky [Thu, 9 Nov 2017 08:59:33 +0000 (10:59 +0200)]
net/mlx4: fix Rx packet type offloads

This patch improves Rx packet type offload report in case the device is
a virtual function device.
In these devices we observed that the L2 tunnel flag is set also for
non-tunneled packets, this leads to a complete misinterpretation of the
packet type being received.
This issue occurs since the tunnel_mode is not set to 0x7 by the driver
for virtual devices and therefore the value in the L2 tunnel flag is
meaningless and should be ignored.

Fixes: aee4a03fee4f ("net/mlx4: enhance Rx packet type offloads")

Signed-off-by: Moti Haimovsky <motih@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
6 years agonet/i40e: fix VF cannot forward packets issue
Xiaoyun Li [Thu, 9 Nov 2017 06:30:14 +0000 (14:30 +0800)]
net/i40e: fix VF cannot forward packets issue

When Rx interrupt is not enabled, there is no need to check if interrupt
allow others. It will cause VF cannot forwarding packets issue. This patch
fixes this issue.

Fixes: 96a9fd03c25f ("net/i40e: fix Rx queue interrupt mapping in VF")
Cc: stable@dpdk.org
Signed-off-by: Xiaoyun Li <xiaoyun.li@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
6 years agosecurity: fix anonymous unions in structure definitions
Akhil Goyal [Thu, 9 Nov 2017 12:23:57 +0000 (17:53 +0530)]
security: fix anonymous unions in structure definitions

Fixes: c261d1431bd8 ("security: introduce security API and framework")

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
6 years agoexamples/ipsec-secgw: fix build with gcc 4.5.1
Radu Nicolau [Thu, 9 Nov 2017 09:57:21 +0000 (09:57 +0000)]
examples/ipsec-secgw: fix build with gcc 4.5.1

On SUSE11 with gcc 4.5.1 the following build error occurred,
most likely because of improper handling of annonymous unions:

examples/ipsec-secgw/ipsec.c:87:4 error:
unknown field ‘ipsec’ specified in initializer

Fixes: ec17993a145a ("examples/ipsec-secgw: support security offload")

Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
6 years agonet/liquidio: support device reset in driver
Shijith Thotton [Wed, 8 Nov 2017 12:04:07 +0000 (17:34 +0530)]
net/liquidio: support device reset in driver

Reset device during init and close if bound to igb_uio.

Fixes: 369db3ae8e91 ("igb_uio: remove device reset in release")
Cc: stable@dpdk.org
Signed-off-by: Shijith Thotton <shijith.thotton@caviumnetworks.com>
6 years agonet/softnic: fix build with gcc 4.5.1
Jasvinder Singh [Wed, 8 Nov 2017 10:25:08 +0000 (10:25 +0000)]
net/softnic: fix build with gcc 4.5.1

Fix the build error due to improper handling of unions
on SUSE11 (gcc 4.5.1).

drivers/net/softnic/rte_eth_softnic_tm.c:588:3
error: unknown field 'nonleaf' specified in initializer

Fixes: 299a89de916a ("net/softnic: add TM capabilities ops")

Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
6 years agoversion: 17.11-rc3
Thomas Monjalon [Wed, 8 Nov 2017 01:51:44 +0000 (02:51 +0100)]
version: 17.11-rc3

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
6 years agodoc: adjust column width of PMD overview tables
Thomas Monjalon [Mon, 6 Nov 2017 14:40:54 +0000 (15:40 +0100)]
doc: adjust column width of PMD overview tables

The net PMD overview table is big and required to be shrunk.
The crypto PMD tables had variable column sizes: the latest
columns were smaller.

The minimum width is set to 0.9em without any forced padding.
The maximum width is set to 2em.
The width of the first column set by sphinx is overridden to 0
for full elasticity.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: John McNamara <john.mcnamara@intel.com>
6 years agodoc: move dom0 removal notice in removed items
Thomas Monjalon [Mon, 6 Nov 2017 14:45:29 +0000 (15:45 +0100)]
doc: move dom0 removal notice in removed items

Since the release notes has a new section for removed items,
the dom0 removal notice can be moved there.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
6 years agodoc: add DPAA2 event adapter to release notes
Shreyansh Jain [Thu, 26 Oct 2017 14:25:58 +0000 (19:55 +0530)]
doc: add DPAA2 event adapter to release notes

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Acked by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
6 years agodoc: add security library to release notes
Akhil Goyal [Tue, 7 Nov 2017 06:44:28 +0000 (12:14 +0530)]
doc: add security library to release notes

Removed the deprication notice for ABI breakage and updated
release notes for rte_security.

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
6 years agodoc: update IPsec multi-buffer library version
Pablo de Lara [Tue, 7 Nov 2017 09:55:56 +0000 (09:55 +0000)]
doc: update IPsec multi-buffer library version

A new library of the IPsec Multi-buffer library has been
released (0.47), which is used by the AESNI GCM PMD.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
6 years agodoc: fix a typo in EAL guide
Rami Rosen [Sun, 29 Oct 2017 13:24:44 +0000 (15:24 +0200)]
doc: fix a typo in EAL guide

This patch fixes a trivial typo in DPDK programmer's guide:
it should be rte_cpu_get_features() instead of rte_cpu_get_feature().

Signed-off-by: Rami Rosen <rami.rosen@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
6 years agonet/qede: fix icc build
Ferruh Yigit [Tue, 7 Nov 2017 23:38:11 +0000 (23:38 +0000)]
net/qede: fix icc build

observed icc version "icc (ICC) 18.0.0 20170811"

build error:
.../dpdk/drivers/net/qede/qede_ethdev.c(1475):
error #279: controlling expression is constant
assert(false && "Unable to start periodic timer");
^

Warning disabled in Makefile.

Fixes: 2af14ca79c0a ("net/qede: support 100G")
Cc: stable@dpdk.org
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
6 years agonet/qede: fix null pointer dereferences
Rasesh Mody [Tue, 7 Nov 2017 08:34:25 +0000 (00:34 -0800)]
net/qede: fix null pointer dereferences

Fix null pointer dereferences in qede_vxlan_enable() and
qede_conf_udp_dst_port()

Coverity issue: 195010, 195012, 198439
Fixes: e0947ed912f7 ("net/qede: add support for VXLAN UDP port config over VF")
Fixes: 739a5b2f2b49 ("net/qede/base: use passed ptt handler")

Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
6 years agonet/qede/base: fix division by zero
Rasesh Mody [Tue, 7 Nov 2017 08:34:24 +0000 (00:34 -0800)]
net/qede/base: fix division by zero

Fix division by zero in calculating the regpair elements per page
Remove unused API ecore_cxt_free_proto_ilt()

Coverity issue: 13794231379428
Fixes: 22d07d939c3c ("net/qede/base: update")
Cc: stable@dpdk.org
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
6 years agonet/qede/base: fix return code init of filter functions
Rasesh Mody [Tue, 7 Nov 2017 08:34:23 +0000 (00:34 -0800)]
net/qede/base: fix return code init of filter functions

Fix for uninitialized scalar variable for filter APIs

Coverity issue: 1445717144571814457211445722
Fixes: 2e2f392b249a ("net/qede/base: upgrade the FW to 8.20.0.0")
Cc: stable@dpdk.org
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
6 years agonet/qede: fix PF translation table release
Rasesh Mody [Tue, 7 Nov 2017 08:34:22 +0000 (00:34 -0800)]
net/qede: fix PF translation table release

Appropriately release the ptt[PF translation table] handler that is
acquired in error case

Fixes: e0947ed912f7 ("net/qede: add support for VXLAN UDP port config over VF")

Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
6 years agonet/qede: remove duplicate includes
Rasesh Mody [Tue, 7 Nov 2017 08:34:21 +0000 (00:34 -0800)]
net/qede: remove duplicate includes

Fixes: ec94dbc57362 ("qede: add base driver")
Fixes: 2ea6f76aff40 ("qede: add core driver")
Fixes: 622075356e8f ("net/qede: support ntuple and flow director filter")
Fixes: 52d94b57e1c7 ("net/qede: add slowpath support for VXLAN tunneling")
Fixes: 8b3ee85efe11 ("net/qede: fix RSS table entries for 100G adapter")
Cc: stable@dpdk.org
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
6 years agonet/qede: fix device link structure
Rasesh Mody [Tue, 7 Nov 2017 08:34:20 +0000 (00:34 -0800)]
net/qede: fix device link structure

8ea656f8c app/testpmd: request link status interrupt
requires QEDE PMD to populate the device link structure without
having to query the driver for link status change event.
This patch updates the device link structure when link status event is
received.
Remove unused param from qed_link_update()

Fixes: 86a2265e59d7 ("qede: add SRIOV support")
Fixes: ec94dbc57362 ("qede: add base driver")
Cc: stable@dpdk.org
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
6 years agonet/qede: fix VXLAN filter deletion
Harish Patil [Tue, 7 Nov 2017 08:34:19 +0000 (00:34 -0800)]
net/qede: fix VXLAN filter deletion

Initialize ucast parameters before checking if filters exists.

Fixes: e0947ed912f7 ("net/qede: add support for VXLAN UDP port config over VF")

Signed-off-by: Harish Patil <harish.patil@cavium.com>
6 years agonet/qede: disable per-VF Tx switching feature
Harish Patil [Tue, 7 Nov 2017 08:34:18 +0000 (00:34 -0800)]
net/qede: disable per-VF Tx switching feature

Provide a knob to control per-VF Tx switching feature by adding a config
option, CONFIG_RTE_LIBRTE_QEDE_VF_TX_SWITCH. By default, it will be kept
in disabled state for better performance with small sized frames.

Fixes: 2ea6f76aff40 ("qede: add core driver")
Cc: stable@dpdk.org
Signed-off-by: Harish Patil <harish.patil@cavium.com>
6 years agonet/mlx5: fix tunneled TCP/UDP packet type
Yongseok Koh [Tue, 7 Nov 2017 19:04:49 +0000 (11:04 -0800)]
net/mlx5: fix tunneled TCP/UDP packet type

If tunneled bit is set in the HW descriptor, the l4_hdr_type bits
describe the inner packet.

Fixes: ea16068c0064 ("net/mlx5: fix L4 packet type support")
Cc: stable@dpdk.org
Reported-by: Xueming Li <xuemingl@mellanox.com>
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
6 years agonet/mlx5: fix flow director delete with drop action
Nélio Laranjeiro [Mon, 6 Nov 2017 10:41:41 +0000 (11:41 +0100)]
net/mlx5: fix flow director delete with drop action

Removing a flow director rule with a drop action ends by not removing it
due to a missing verbs drop specification in the conversion process between
the flow director and generic flow API.

Fixes: 4c3e9bcdd52e ("net/mlx5: support flow director")

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
6 years agoigb_uio: remove device reset in release
Ferruh Yigit [Tue, 7 Nov 2017 22:29:13 +0000 (22:29 +0000)]
igb_uio: remove device reset in release

More error reported for device reset in release() [1],
when device pass-through to the guest, host kernel crash on guest exit.

Removing the reset completely.

This is close to reverting commit b58eedfc7dd5 [2], taking into account
previous fix to remove reset in open as well [3], but not exactly same.

With latest code, interrupts are enabled in uio open() callback and
disabled in uio release() callback, so when a DPDK application exit
device interrupts are disabled. Previously interrupts were only enabled
once in igb_uio module insert and disabled in module removal.

Also with latest code device set as bus master in open() and master
cleared in release(), clearing bus master should prevent further DMA
which was one of the target of the initial patch.

The initial intention was also to reset the device to be sure it has
been left in proper state, but currently that part is missing because of
reported problem(s).

Still igb_uio should be safer comparing to the pre b58eedfc7dd5 state.

[1]
http://dpdk.org/ml/archives/dev/2017-November/081459.html

[2]
b58eedfc7dd5 ("igb_uio: issue FLR during open and release of device file")

[3]
f73b38e9245d ("igb_uio: remove device reset in open")

Fixes: e3a64deae2d5 ("igb_uio: prevent reset for bnx2x devices")
Fixes: b58eedfc7dd5 ("igb_uio: issue FLR during open and release of device file")
Cc: stable@dpdk.org
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
6 years agodevtools: add script to get maintainers from patch
Ferruh Yigit [Fri, 4 Aug 2017 14:01:25 +0000 (15:01 +0100)]
devtools: add script to get maintainers from patch

This is a wrapper to Linux kernel get_maintainer.pl file and only
supports parsing MAINTAINERS file (no git fallback etc..)

Requires DPDK_GETMAINTAINER_PATH devel config option set, please check
devtools/load-devel-config.

DPDK_GETMAINTAINER_PATH should be full path to the get_maintainer.pl
script, like:
DPDK_GETMAINTAINER_PATH=~/linux/scripts/get_maintainer.pl

Can be used individually:
./devtools/get-maintainer.sh <my.patch>

Or via git send-email, to add maintainers automatically:
git send-email --to-cmd ./devtools/get-maintainer.sh \
--cc dev@dpdk.org HEAD -4

Currently there is an ugly workaround to be able to use Linux script out
of the kernel tree, later better method can replace it.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
6 years agodevtools: rework ABI checker script
Olivier Matz [Thu, 5 Oct 2017 07:53:27 +0000 (09:53 +0200)]
devtools: rework ABI checker script

The initial version of the script had some limitations:
- cannot work on a non-clean workspace
- environment variables are not documented
- no compilation log in case of failure
- return success even it abi is incompatible

This patch addresses these issues and rework the code.

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
6 years agodevtools: rename build dependency of mlx drivers
Thomas Monjalon [Wed, 11 Oct 2017 13:28:58 +0000 (15:28 +0200)]
devtools: rename build dependency of mlx drivers

The Mellanox drivers were requiring MOFED at compilation time.
It is now possible to use the upstream rdma-core package.
So the dependency option is renamed in the build tool.

Fixes: 43e9d9794cde ("net/mlx5: support upstream rdma-core")

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
6 years agousertools: fix device binding with python 3
Omri Mor [Fri, 6 Oct 2017 21:38:38 +0000 (16:38 -0500)]
usertools: fix device binding with python 3

When using Python 3, dpdk-devbind.py fails to detect modules other than
igb_uio.

Fixes: bb9f408550d1 ("tools: support binding to built-in kernel modules")

Signed-off-by: Omri Mor <omrimor2@illinois.edu>
6 years agobuildtools: check allocation error in pmdinfogen
Yong Wang [Fri, 15 Sep 2017 11:33:08 +0000 (07:33 -0400)]
buildtools: check allocation error in pmdinfogen

In func locate_pmd_entries(), pointer 'new' returned from call to func
'calloc' may be NULL. It is dereferenced without null point check.

Signed-off-by: Yong Wang <wang.yong19@zte.com.cn>
6 years agoeventdev: remove experimental label
Jerin Jacob [Mon, 16 Oct 2017 10:32:55 +0000 (16:02 +0530)]
eventdev: remove experimental label

The eventdev API was introduced in DPDK 17.05 release.
Since then it
- has been reviewed and iterated for 17.08, 17.11 releases
- three drivers were implemented using the API.
- introduced another subsystem like service core and ethdev-eventdev Rx
adapter APIs to abstract the difference between HW and SW
eventdev implementations in a transparent way.
- had extensive use by the app/test-eventdev/ and
examples/eventdev_pipeline_sw_pmd/

I believe the API is now stable and the EXPERIMENTAL label
should be removed.

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Gage Eads <gage.eads@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
6 years agodoc: add event eth Rx adapter guide
Nikhil Rao [Tue, 24 Oct 2017 09:13:29 +0000 (14:43 +0530)]
doc: add event eth Rx adapter guide

Add programmer's guide doc to explain the use of the
Event Ethernet Rx Adapter library.

Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
6 years agodoc: add flow classify guides
Bernard Iremonger [Fri, 3 Nov 2017 11:13:55 +0000 (11:13 +0000)]
doc: add flow classify guides

The Flow Classify Library Programmers Guide documents
librte_flow_classify.

The Flow Classify Sample Application Guide documents the
flow_classify sample application which is used to
demonstrate the use of the Flow Classify Library,
librte_flow_classify.

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
6 years agodoc: add basic howto for flow API
Ori Kam [Wed, 25 Oct 2017 14:51:16 +0000 (17:51 +0300)]
doc: add basic howto for flow API

As the rte_flow is a new complex module in the DPDK.
In order to ease developers in to using this feature
it was suggested to supply a simple howto doc.

Signed-off-by: Ori Kam <orika@mellanox.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
6 years agoexamples/flow_filtering: add simple demo of flow API
Ori Kam [Wed, 1 Nov 2017 09:42:37 +0000 (11:42 +0200)]
examples/flow_filtering: add simple demo of flow API

This application shows a simple usage of the
rte_flow API for hardware filtering offloading.

In this demo we are filtering specific IP to
specific target queue, while sending all the
rest of the packets to other queue.

Signed-off-by: Ori Kam <orika@mellanox.com>
6 years agoexamples: remove dependency on PCI
Bruce Richardson [Fri, 3 Nov 2017 13:46:27 +0000 (13:46 +0000)]
examples: remove dependency on PCI

All PCI functionality should be hidden from apps via the PCI bus driver,
the EAL and individual device drivers. Therefore remove the inclusion of
rte_pci.h from sample apps.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
6 years agoapp/testpmd: fix topology error message
Pablo de Lara [Tue, 7 Nov 2017 18:11:26 +0000 (18:11 +0000)]
app/testpmd: fix topology error message

Fixes: 3e2006d6186c ("app/testpmd: add loopback topology")
Cc: stable@dpdk.org
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
6 years agoapp/testpmd: fix forwarding between non consecutive ports
Ophir Munk [Tue, 7 Nov 2017 13:52:30 +0000 (13:52 +0000)]
app/testpmd: fix forwarding between non consecutive ports

When defining two failsafe devices in testpmd the port numbers of the
failsafe devices may not be consecutive.
For example: if failsafe device includes a PCI device and a TAP device
then failsafe port numbers would be 0 and 3.
Port 0 - failsafe #1 device
Port 1 - PCI #1 device
Port 2 - TAP #1 device
Port 3 - failsafe #2 device
Port 4 - PCI #2 device
Port 5 - TAP #2 device

If forwarding is defined between the failsafe devices including a peer
address the forwarding should be between peer addresses of ports 0
and 3. Instead testpmd establishes forwarding between peer addresses
of consecutive ports 0 and 1. This commit fixes this bug.

Fixes: af75078fece3 ("first public release")
Cc: stable@dpdk.org
Signed-off-by: Ophir Munk <ophirmu@mellanox.com>
Signed-off-by: Raslan Darawsheh <rasland@mellanox.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
6 years agoapp/crypto-perf: add help option
Pablo de Lara [Wed, 11 Oct 2017 00:29:11 +0000 (01:29 +0100)]
app/crypto-perf: add help option

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
6 years agotest/memcpy_perf: provide perf ratio and test time
Herbert Guan [Wed, 25 Oct 2017 07:13:46 +0000 (15:13 +0800)]
test/memcpy_perf: provide perf ratio and test time

The printed time values presented in TSC is not straight forward
showing the performance difference.  And if the high resolution
counter is not enabled, time value is too small to show the actual
performance (e.g. "1 - 1" seems the same but in fact the perfomance
diffs by 50% or more).
With the performance difference ratio caculated and printed, it'll be
easier for people to read and compare the performance between
rte_memcpy() and memcpy().
Since the TSC values' units may diff a lot on different platforms,
the total execution time of aligned/unaligned memcpy test are
provided to allow comparation between platforms.

Signed-off-by: Herbert Guan <herbert.guan@arm.com>
Acked-by: Jianbo Liu <jianbo.liu@arm.com>
6 years agotest/pmd_perf: fix crash with multiple devices
Daniel Mrzyglod [Fri, 27 Oct 2017 16:24:08 +0000 (18:24 +0200)]
test/pmd_perf: fix crash with multiple devices

Error can be reproduce if we run pmd_perf_autotest with more then
one device in such way:
RTE>>set_rxtx_sc poll_before_xmit
RTE>>pmd_perf_autotest

if first burst was value less than MAX_PKT_BURST in the end we overwrite
pkts_burst table for rx which was supposed for another interface.

Fixes: 002ade70e933 ("app/test: measure cycles per packet in Rx/Tx")
Cc: stable@dpdk.org
Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod@intel.com>
Acked-by: Michal Jastrzebski <michalx.k.jastrzebski@intel.com>
6 years agobus/pci: fix PPC condition for IOMMU class
Jonas Pfefferle [Tue, 7 Nov 2017 14:52:20 +0000 (15:52 +0100)]
bus/pci: fix PPC condition for IOMMU class

This fixes the use of an never defined PPC64 define in
ret_pci_get_iommu_class.

Fixes: b48e0e2d9cb4 ("bus/pci: fix IOMMU class for sPAPR")

Signed-off-by: Jonas Pfefferle <jpf@zurich.ibm.com>
6 years agobus/vdev: change log type
Jianfeng Tan [Tue, 7 Nov 2017 06:54:22 +0000 (06:54 +0000)]
bus/vdev: change log type

Use specialized dynamic log type for vdev bus logging.

Suggested-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Suggested-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
6 years agobus/vdev: move code from EAL into a new driver
Jianfeng Tan [Tue, 7 Nov 2017 06:54:21 +0000 (06:54 +0000)]
bus/vdev: move code from EAL into a new driver

Move the vdev bus from lib/librte_eal to drivers/bus.

As the crypto vdev helper function refers to data structure
in rte_vdev.h, so we move those helper function into drivers/bus
too.

Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
6 years agoeal: remove dependency on vdev in attach
Jianfeng Tan [Tue, 7 Nov 2017 06:54:20 +0000 (06:54 +0000)]
eal: remove dependency on vdev in attach

We can call bus->plug() to avoid calling rte_vdev_init() explicitly.

Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
6 years agocryptodev: remove vdev create function
Jianfeng Tan [Tue, 7 Nov 2017 06:54:19 +0000 (06:54 +0000)]
cryptodev: remove vdev create function

Remove rte_cryptodev_create_vdev() for duplication.

Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
6 years agocrypto/dpaa_sec: rename mbuf physical address to IOVA
Hemant Agrawal [Tue, 7 Nov 2017 12:15:08 +0000 (17:45 +0530)]
crypto/dpaa_sec: rename mbuf physical address to IOVA

buf_physaddr is getting deprecated in mbuf.

Fixes: 455da5453987 ("mbuf: rename physical address to IOVA")

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
6 years agobus/fslmc: set IOVA mode as physical
Hemant Agrawal [Tue, 7 Nov 2017 12:15:06 +0000 (17:45 +0530)]
bus/fslmc: set IOVA mode as physical

Setting the default iova mode as physical.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
6 years agobus/dpaa: set IOVA mode as physical
Hemant Agrawal [Tue, 7 Nov 2017 12:15:07 +0000 (17:45 +0530)]
bus/dpaa: set IOVA mode as physical

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
6 years agonet/vhost: add parameter to enable IOMMU feature
Maxime Coquelin [Mon, 6 Nov 2017 20:38:12 +0000 (21:38 +0100)]
net/vhost: add parameter to enable IOMMU feature

Introduce a new iommu-support parameter to Vhost PMD that
passes the RTE_VHOST_USER_IOMMU_SUPPORT flag at vhost
device register time.

Default value is 0, meaning that IOMMU support is disabled
if not specified explicitly.

Example to enable IOMMU support for a given device:

--vdev 'net_vhost0,iface=/tmp/vhost-user2,iommu-support=1'

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Yuanhan Liu <yliu@fridaylinux.org>
Tested-by: Mark Kavanagh <mark.b.kavanagh@intel.com>
Acked-by: Mark Kavanagh <mark.b.kavanagh@intel.com>
6 years agovhost: add flag to enable IOMMU support
Maxime Coquelin [Mon, 6 Nov 2017 20:38:11 +0000 (21:38 +0100)]
vhost: add flag to enable IOMMU support

Qemu versions from v2.7.0 to v2.9.0 have their reply-ack protocol
feature implementation broken with multiqueue. The reply-ack
protocol feature is optional except for IOMMU feature.

This patch introduce a new RTE_VHOST_USER_IOMMU_SUPPORT flag to
enable VIRTIO_F_IOMMU_PLATFORM virtio feature.

By default, the IOMMU support is now disabled.

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Yuanhan Liu <yliu@fridaylinux.org>
Tested-by: Mark Kavanagh <mark.b.kavanagh@intel.com>
Acked-by: Mark Kavanagh <mark.b.kavanagh@intel.com>
6 years agovhost: disable reply-ack feature if IOMMU disabled
Maxime Coquelin [Mon, 6 Nov 2017 20:38:10 +0000 (21:38 +0100)]
vhost: disable reply-ack feature if IOMMU disabled

If the application has disabled VIRTIO_F_IOMMU_PLATFORM, disable
VHOST_USER_PROTOCOL_F_REPLY_ACK protocol feature that is only
mandatory with IOMMU for now.

This is done to provide a way for the application to support
multiqueue with old Qemu versions (v2.7.0 to v2.9.0) that have
reply-ack feature broken.

Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Yuanhan Liu <yliu@fridaylinux.org>
Tested-by: Mark Kavanagh <mark.b.kavanagh@intel.com>
Acked-by: Mark Kavanagh <mark.b.kavanagh@intel.com>
6 years agonet/mlx5: fix socket field initialization
Olivier Gournet [Tue, 7 Nov 2017 09:59:37 +0000 (10:59 +0100)]
net/mlx5: fix socket field initialization

Fixes: a1366b1a2be3 ("net/mlx5: add reference counter on DPDK Rx queues")

Signed-off-by: Olivier Gournet <ogournet@corp.free.fr>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
6 years agonet/mlx4: enhance Rx packet type offloads
Moti Haimovsky [Sun, 5 Nov 2017 17:26:56 +0000 (19:26 +0200)]
net/mlx4: enhance Rx packet type offloads

This patch enhances the Rx packet type offload to also report the L4
protocol information in the hw ptype filled by the PMD for each received
packet.

Signed-off-by: Moti Haimovsky <motih@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
6 years agonet/pcap: fix memory leak in dumper open
Stefan Baranoff [Sun, 5 Nov 2017 17:24:45 +0000 (12:24 -0500)]
net/pcap: fix memory leak in dumper open

In open_single_tx_pcap there is a call to pcap_open_dead which calls
malloc to create and return a pcap_t. That object is never freed in
this case. Other places it is freed by passing it back similar to the
way the pcap_dumper_t is in this case.

The pcap_t is only used to create the pcap_dumper_t and is never used
again so freeing it here is safe and much simpler than trying to pass
it back to be freed in eth_dev_stop along with the other
pcap_t/pcap_dumper_t objects.

Fixes: 4c173302c307 ("pcap: add new driver")
Cc: stable@dpdk.org
Signed-off-by: Stefan Baranoff <sbaranoff@gmail.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>