dpdk.git
6 years agodoc: announce ethdev API change for default MAC
Olivier Matz [Mon, 29 Jan 2018 17:13:39 +0000 (18:13 +0100)]
doc: announce ethdev API change for default MAC

Announce internal PMD API change in the function to set the default MAC
address. The objective is to be able to notify errors occurring in the
PMD.

Link: https://dpdk.org/dev/patchwork/patch/32284/
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
6 years agodoc: announce ethdev API change for VF representors
Shahaf Shuler [Wed, 14 Feb 2018 12:32:44 +0000 (14:32 +0200)]
doc: announce ethdev API change for VF representors

This is following the RFC being discussed and targets 18.05

http://dpdk.org/ml/archives/dev/2018-January/085716.html

Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Remy Horton <remy.horton@intel.com>
Acked-by: Luca Boccassi <luca.boccassi@intl.att.com>
Acked-by: Alex Zelezniak <alexz@att.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
6 years agodoc: announce ethdev API change for preferred burst size
Shreyansh Jain [Mon, 5 Feb 2018 06:22:22 +0000 (11:52 +0530)]
doc: announce ethdev API change for preferred burst size

rte_eth_rx_burst(..,nb_pkts) function has semantic that if return value
is smaller than requested, application can consider it end of packet
stream. Some hardware can only support smaller burst sizes which need
to be advertised. Similar is the case for Tx burst.

This patch adds deprecation notice for rte_eth_dev_info structure as
new members, for preferred Rx and Tx burst and ring size would be
added - impacting the size of the structure.

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Zhiyong Yang <zhiyong.yang@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
6 years agodoc: announce ethdev API change for RSS configuration
Xueming Li [Tue, 6 Feb 2018 07:38:48 +0000 (15:38 +0800)]
doc: announce ethdev API change for RSS configuration

Update deprecation notice for the new rss_level field of
rte_eth_rss_conf.

Link: http://www.dpdk.org/dev/patchwork/patch/31891
Signed-off-by: Xueming Li <xuemingl@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
6 years agodoc: announce mbuf sched field change
Cristian Dumitrescu [Fri, 9 Feb 2018 16:45:16 +0000 (16:45 +0000)]
doc: announce mbuf sched field change

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Acked-by: Jasvinder Singh <jasvinder.singh@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Kevin Laatz <kevin.laatz@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
6 years agodoc: announce control mbuf removal
Olivier Matz [Mon, 29 Jan 2018 09:30:27 +0000 (10:30 +0100)]
doc: announce control mbuf removal

Link: http://dpdk.org/ml/archives/dev/2017-July/069813.html
Link: http://dpdk.org/dev/patchwork/patch/32041/
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
6 years agodoc: announce mempool API changes
Andrew Rybchenko [Tue, 23 Jan 2018 13:23:04 +0000 (13:23 +0000)]
doc: announce mempool API changes

An API/ABI changes are planned for 18.05 [1]:

 * Allow to customize how mempool objects are stored in memory.
 * Deprecate mempool XMEM API.
 * Add mempool driver ops to get information from mempool driver and
   dequeue contiguous blocks of objects if driver supports it.

[1] http://dpdk.org/ml/archives/dev/2018-January/088698.html

Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
6 years agodoc: announce EAL function removal for default mempool
Hemant Agrawal [Fri, 2 Feb 2018 08:31:42 +0000 (14:01 +0530)]
doc: announce EAL function removal for default mempool

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
6 years agodoc: announce memory hotplug changes
Anatoly Burakov [Thu, 18 Jan 2018 10:32:28 +0000 (10:32 +0000)]
doc: announce memory hotplug changes

Due to coming changes outlined in memory hotplug RFC, there will
be several API/ABI changes.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Jonas Pfefferle <pepperjo@japf.ch>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
6 years agodoc: announce EAL ABI change for NUMA node count
Anatoly Burakov [Tue, 16 Jan 2018 17:53:40 +0000 (17:53 +0000)]
doc: announce EAL ABI change for NUMA node count

There will be a new function added in v18.05 that will return
number of detected sockets, which will change the ABI.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Jonas Pfefferle <pepperjo@japf.ch>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
6 years agodoc: announce EAL API change to lcore role function
Erik Gabriel Carrillo [Fri, 12 Jan 2018 20:45:35 +0000 (14:45 -0600)]
doc: announce EAL API change to lcore role function

This an API/ABI change notice for DPDK 18.05 announcing a change in
the meaning of the return values of the rte_lcore_has_role() function.

Signed-off-by: Erik Gabriel Carrillo <erik.g.carrillo@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
6 years agodoc: update deprecation notice for devargs
Gaetan Rivet [Wed, 7 Feb 2018 09:26:10 +0000 (10:26 +0100)]
doc: update deprecation notice for devargs

The declaration and identification of devices will change in v18.05.

Remove the precedent deprecation notice.

Add new one reflecting the planned changes more accurately,
updated for v18.05.

Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
6 years agonet/failsafe: fix Rx interrupt reinstallation
Matan Azrad [Wed, 14 Feb 2018 14:47:26 +0000 (14:47 +0000)]
net/failsafe: fix Rx interrupt reinstallation

Fail-safe dev_start() operation can be called by both the application
and the hot-plug alarm mechanism.

The installation of Rx interrupt are triggered from dev_start() in any
time it is called while actually the Rx interrupt should be installed
only by the application calls.

So, each plug-in event causes reinstallation which causes memory leak
and spoils the fail-safe Rx interrupt mechanism.

Trigger the Rx interrupt installation only when it does not exist.

Fixes: 9e0360aebf23 ("net/failsafe: register as Rx interrupt mode")

Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
6 years agonet/tap: fix promiscuous rules double insertions
Ophir Munk [Wed, 14 Feb 2018 11:32:19 +0000 (11:32 +0000)]
net/tap: fix promiscuous rules double insertions

Running testpmd command "port stop all" followed by command "port start
all" may result in a TAP error:
PMD: Kernel refused TC filter rule creation (17): File exists

Root cause analysis: during the execution of "port start all" command
testpmd calls rte_eth_promiscuous_enable() while during the execution
of "port stop all" command testpmd does not call
rte_eth_promiscuous_disable().
As a result the TAP PMD is trying to add tc (traffic control command)
promiscuous rules to the remote netvsc device consecutively. From the
kernel point of view it is seen as an attempt to add the same rule more
than once. In recent kernels (e.g. version 4.13) this attempt is rejected
with a "File exists" error. In less recent kernels (e.g. version 4.4) the
same rule may have been successfully accepted twice, which is undesirable.

In the corrupted code every tc promiscuous rule included a different
handle number parameter. If instead an identical handle number is
used for all tc promiscuous rules - all kernels will reject the second
identical rule with a "File exists" error, which is easy to identify and
to silently ignore.

Fixes: 2bc06869cd94 ("net/tap: add remote netdevice traffic capture")
Cc: stable@dpdk.org
Signed-off-by: Ophir Munk <ophirmu@mellanox.com>
Acked-by: Pascal Mazon <pascal.mazon@6wind.com>
6 years agomaintainers: update for stable branches
Luca Boccassi [Tue, 13 Feb 2018 23:31:07 +0000 (23:31 +0000)]
maintainers: update for stable branches

I am maintaining 16.11 until November 2018

Signed-off-by: Luca Boccassi <bluca@debian.org>
6 years agodoc: add maintainers section to the contributors guide
Ciara Power [Tue, 13 Feb 2018 09:08:32 +0000 (09:08 +0000)]
doc: add maintainers section to the contributors guide

Add a maintainers section to the contributors guide to have a low tech
location to check/link to the current maintainers. This file is included
dynamically from the MAINTAINERS file in the root directory of the DPDK
source when the docs are built. This also allows us to link to the file
from other sections of the docs.

Signed-off-by: Ciara Power <ciara.power@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
6 years agodoc: improve HTML spacing in release notes
Thomas Monjalon [Mon, 12 Feb 2018 17:13:44 +0000 (18:13 +0100)]
doc: improve HTML spacing in release notes

Vertical spacing is lower before an item title than after.
So the items with paragraphs are not well separated.

A custom CSS is added to override the rtd theme.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: John McNamara <john.mcnamara@intel.com>
6 years agodoc: add vhost live migration features to release notes
Jiayu Hu [Fri, 9 Feb 2018 07:47:24 +0000 (15:47 +0800)]
doc: add vhost live migration features to release notes

Signed-off-by: Jiayu Hu <jiayu.hu@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
6 years agodoc: add VxLAN GRO to release notes
Jiayu Hu [Fri, 9 Feb 2018 05:28:37 +0000 (13:28 +0800)]
doc: add VxLAN GRO to release notes

Signed-off-by: Jiayu Hu <jiayu.hu@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
6 years agodoc: add note for shared library in NICs guide
Vipin Varghese [Thu, 8 Feb 2018 18:19:59 +0000 (23:49 +0530)]
doc: add note for shared library in NICs guide

Add note information to intimate about use of option '-d' for shared
library in DPDK application.

Signed-off-by: Vipin Varghese <vipin.varghese@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
6 years agoexamples/cmdline: convert to SPDX license tag
Lee Daly [Tue, 23 Jan 2018 16:43:52 +0000 (16:43 +0000)]
examples/cmdline: convert to SPDX license tag

This updates the license on files in examples to be the standard
BSD-3-Clause license used for the rest of DPDK,
bringing the files in compliance with the DPDK licensing policy.

Signed-off-by: Lee Daly <lee.daly@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
6 years agoexamples/ip_pipeline: convert dual-license to SDPX
Lee Daly [Wed, 7 Feb 2018 16:43:59 +0000 (16:43 +0000)]
examples/ip_pipeline: convert dual-license to SDPX

This updates the Intel and Oliver Matz licenses on a file in examples
to be the standard BSD-3-Clause license used for the rest of DPDK,
bringing the files in compliance with the DPDK licensing policy.

Signed-off-by: Lee Daly <lee.daly@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
6 years agoexamples/performance-thread: update lthread license
Lee Daly [Tue, 13 Feb 2018 15:12:00 +0000 (15:12 +0000)]
examples/performance-thread: update lthread license

This updates Hasan Alayli's license to be the standard BSD-3-Clause
license used for the rest of DPDK, bringing the files in compliance
with the DPDK licensing policy.

Signed-off-by: Lee Daly <lee.daly@intel.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
6 years agoexamples/ipsec-secgw: fix printed crypto name
Radu Nicolau [Fri, 9 Feb 2018 10:40:05 +0000 (10:40 +0000)]
examples/ipsec-secgw: fix printed crypto name

When AES-256 was used aes-128 was printed in the console

Fixes: fa9088849e12 ("examples/ipsec-secgw: support AES 256")

Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Anoob Joseph <anoob.joseph@caviumnetworks.com>
6 years agoexamples/exception_path: align stats on cache line
Dustin Lundquist [Tue, 13 Feb 2018 16:58:56 +0000 (08:58 -0800)]
examples/exception_path: align stats on cache line

Align stats structure to cache line to prevent bouncing per CPU stats
structure between cache lines.

Fixes: af75078fece3 ("first public release")
Cc: stable@dpdk.org
Signed-off-by: Dustin Lundquist <dustin@null-ptr.net>
Acked-by: Remy Horton <remy.horton@intel.com>
6 years agonet/failsafe: fix FreeBSD build
Thomas Monjalon [Tue, 13 Feb 2018 21:23:35 +0000 (22:23 +0100)]
net/failsafe: fix FreeBSD build

The type pthread_t is not portable because it is freely defined.
On Linux, it is an unsigned long int which can be printed with %l.
On FreeBSD, it is a pointer which can be printed with %p.

That's why there was this error:
drivers/net/failsafe/failsafe_private.h:377:53: error:
format specifies type 'unsigned long' but the argument has
type 'pthread_t' (aka 'struct pthread *')

Fixes: 655fcd68c7d2 ("net/failsafe: fix hotplug races")

Reported-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Tested-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Matan Azrad <matan@mellanox.com>
6 years agonet/virtio-user: fix interrupts with kernel vhost
Jianfeng Tan [Mon, 12 Feb 2018 03:20:28 +0000 (03:20 +0000)]
net/virtio-user: fix interrupts with kernel vhost

intr_handle->fd was wrongly initialized as 0 (usually as the stdio fd)
when virtio-user is used with vhost-kernel. So the interrupt thread
might wrongly treat stdin events as LSC interrupts.

Fixes: 3d4fb6fd2505 ("net/virtio-user: support Rx interrupt")
Cc: stable@dpdk.org
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
6 years agonet/virtio-user: fix start with kernel vhost
Jianfeng Tan [Mon, 12 Feb 2018 03:20:27 +0000 (03:20 +0000)]
net/virtio-user: fix start with kernel vhost

After reset owner in below patch, we failed to set owner before
sending further vhost messages. It is OK with vhost user implemented
DPDK/VPP/Contrail, but it sees "Operation not permitted" error when
used with vhost kernel.

We fix this by setting owner every time the device is started.

Fixes: 0d6a8752ac9d ("net/virtio-user: fix crash as features change")
Cc: stable@dpdk.org
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
6 years agonet/vhost: fix log messages on create/destroy
Jianfeng Tan [Mon, 12 Feb 2018 03:20:26 +0000 (03:20 +0000)]
net/vhost: fix log messages on create/destroy

The original words are not accurate. For example, as destroy_device
callback gets called, it does not necessarily mean that the connection
is closed.

Fixes: ee584e9710b9 ("vhost: add driver on top of the library")
Cc: stable@dpdk.org
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
6 years agovhost: do not take lock on owner reset
Maxime Coquelin [Mon, 12 Feb 2018 15:46:12 +0000 (16:46 +0100)]
vhost: do not take lock on owner reset

A deadlock happens when handling VHOST_USER_RESET_OWNER request
for the same reason the lock is not taken for
VHOST_USER_GET_VRING_BASE.

It is safe not to take the lock, as the queues are no more used
by the application when the virtqueues and the device are reset.

Fixes: a3688046995f ("vhost: protect active rings from async ring changes")
Cc: stable@dpdk.org
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
Reviewed-by: Jianfeng Tan <jianfeng.tan@intel.com>
6 years agonet/virtio: fix resuming port with Rx vector path
Maxime Coquelin [Mon, 12 Feb 2018 15:46:11 +0000 (16:46 +0100)]
net/virtio: fix resuming port with Rx vector path

Since commit efc83a1e7fc3 ("net/virtio: fix queue setup consistency"),
when resuming a virtio port, the rx rings are refilled with new mbufs
until they are full (vq->vq_free_cnt == 0). This is done without
ensuring that the descriptor index remains a multiple of
RTE_VIRTIO_VPMD_RX_REARM_THRESH, which is a prerequisite when using the
vector mode. This can cause an out of bound access in the rx ring.

This commit changes the vector refill method from
virtqueue_enqueue_recv_refill_simple() to virtio_rxq_rearm_vec(), which
properly checks that the refill is done by batch of
RTE_VIRTIO_VPMD_RX_REARM_THRESH.

As virtqueue_enqueue_recv_refill_simple() is no more used, this
patch also removes the function.

Fixes: efc83a1e7fc3 ("net/virtio: fix queue setup consistency")
Cc: stable@dpdk.org
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Reviewed-by: Jianfeng Tan <jianfeng.tan@intel.com>
6 years agonet/virtio: fix mbuf data offset for simple Rx
Olivier Matz [Mon, 12 Feb 2018 15:46:10 +0000 (16:46 +0100)]
net/virtio: fix mbuf data offset for simple Rx

The mbuf->data_off was was not properly set for the first received
mbufs. Fix this by setting it in virtqueue_enqueue_recv_refill_simple(),
which is used to enqueue the first mbuf in the ring.

The function virtio_rxq_rearm_vec(), which is used to rearm the ring
with new mbufs, is valid and does not need to be updated.

Fixes: cab0461234e7 ("virtio: fill Rx avail ring with blank mbufs")
Cc: stable@dpdk.org
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
6 years agonet/failsafe: fix reconfiguration
Matan Azrad [Sun, 11 Feb 2018 17:27:34 +0000 (17:27 +0000)]
net/failsafe: fix reconfiguration

Fail-safe PMD manages the states of its sub-devices gradually:
DEV_UNDEFINED, DEV_PARSED, DEV_PROBED, DEV_ACTIVE, DEV_STARTED.

When the sub-device arguments successfully was parsed, the state is
raised from DEV_UNDEFINED to DEV_PARSED.
When the sub-device successfully was probed, the state is raised from
DEV_PARSED to DEV_PROBED.
When the sub-device successfully was configured by
rte_eth_dev_configure(), the state is raised from DEV_PROBED to
DEV_ACTIVE.
When the sub-device successfully was started by rte_eth_dev_start(), the
state is raised from DEV_ACTIVE to DEV_STARTED.

When the sub-device successfully was stopped by rte_eth_dev_stop(), the
state is degraded from DEV_STARTED to DEV_ACTIVE.
When the sub-device successfully was closed by rte_eth_dev_close(), the
state is degraded from DEV_ACTIVE to DEV_PROBED.
When the sub-device successfully was removed by
rte_eal_hotplug_remove(), the state is degraded from DEV_PROBED to
DEV_UNDEFINED.

Fail-safe dev_configure() operation calls to its sub-devices
dev_configure() operation, but only for sub-devices which are in
DEV_PROBED state, means that sub-devices which are in DEV_ACTIVE state
because the application triggered dev_stop() operation cannot be
reconfigured again by dev_configure() operation which is really
problematic when application wants to reconfigure its ports.
Actually, the application may get success report when some of the
sub-devices are not in the wanted configuration.

The current behavior of fail-safe dev_configure() is correct only for
the first time dev_configure() is triggered by the application or for
sub-device synchronization in plug-in event, but it ignores the option
for reconfiguration from application side.

Allow calling to sub-devices dev_configure() operations also in
DEV_ACTIVE state when the call was triggered by the application.

Fixes: a46f8d584eb8 ("net/failsafe: add fail-safe PMD")
Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
6 years agonet/failsafe: fix hotplug races
Matan Azrad [Mon, 12 Feb 2018 20:51:42 +0000 (20:51 +0000)]
net/failsafe: fix hotplug races

Fail-safe uses a periodic alarm mechanism, running from the host
thread, to manage the hot-plug events of its sub-devices. This
management requires a lot of sub-devices PMDs operations
(stop, close, start, configure, etc.).

While the hot-plug alarm runs in the host thread, the application may
call fail-safe operations, which directly trigger the sub-devices PMDs
operations as well. This call may occur from any thread decided by the
application (probably the master thread).

Thus, more than one operation can be executed to a sub-device at the
same time. This can initiate a lot of races in the sub-PMDs.

Moreover, some control operations update the fail-safe internal
databases, which can be used by the alarm mechanism at the same time.
This can also initiate races and crashes.

Fail-safe is the owner of its sub-devices and must synchronize their
use according to the ETHDEV ownership rules.

Synchronize hot-plug management by a new lock mechanism uses a mutex to
atomically defend each critical section in the fail-safe hot-plug
mechanism and control operations to prevent any races between them.

Fixes: a46f8d5 ("net/failsafe: add fail-safe PMD")
Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
6 years agonet/failsafe: fix removal scope
Matan Azrad [Mon, 12 Feb 2018 20:51:41 +0000 (20:51 +0000)]
net/failsafe: fix removal scope

The fail-safe PMD uses a per sub-device flag called "remove" to
indicate the scope where the sub-device was removed physically and
whether its software resources should be released.

This flag is set when the fail-safe receives an RMV notification
about the physical removal of the sub-device, and should be unset when
all the sub-device resources are released.

The previous code wrongly unsets the flag in dev_configure(), instead
of when the software resources release is completed.

Change the remove flag unsetting to take action in the end of the
software resources release.

Fixes: a46f8d5 ("net/failsafe: add fail-safe PMD")
Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
6 years agonet/failsafe: fix hotplug alarm cancel
Matan Azrad [Mon, 12 Feb 2018 20:51:40 +0000 (20:51 +0000)]
net/failsafe: fix hotplug alarm cancel

The hot-plug alarm mechanism of fail-safe PMD is responsible for
handling removed devices during a plug-out event and to restore them
back to activity following a plug-in event.

Fail-safe sets a flag called "pending_alarm" to validate that only one
alarm callback is pending at any time. While this flag is required to
avoid simultaneous initiations of the alarm thread - it should not be
considered during alarm thread cancellation.

So, when failsafe_hotplug_alarm_cancel() was called while the alarm
callback was being executed the alarm mechanism was not stopped.

Skip checking the "pending_alarm" flag to allow alarm thread
cancellation all the times.

Fixes: ebea83f899d8 ("net/failsafe: add plug-in support")
Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
6 years agonet/tap: add CRC stripping capability
Ophir Munk [Tue, 13 Feb 2018 08:14:25 +0000 (08:14 +0000)]
net/tap: add CRC stripping capability

CRC stripping is executed in the kernel outside of TAP PMD scope.
There is no prevention that the TAP PMD will report on Rx CRC
stripping capability.
In the corrupted code, TAP PMD did not report on this capability.
The fix enables TAP PMD to report that Rx CRC stripping is supported.

Fixes: 02f96a0a82d1 ("net/tap: add TUN/TAP device PMD")
Cc: stable@dpdk.org
Signed-off-by: Ophir Munk <ophirmu@mellanox.com>
6 years agodoc: remove jumbo frames entry from tap features
Matan Azrad [Tue, 13 Feb 2018 13:22:06 +0000 (13:22 +0000)]
doc: remove jumbo frames entry from tap features

The current implementation of the Tap PMD doesn't support packet size
grater than 1522B, so no need to set jumbo frames in the Tap features.

Fixes: 04b2c3c94346 ("doc: add tap features")
Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Pascal Mazon <pascal.mazon@6wind.com>
6 years agodoc: add missing SFN8xxx adapters in sfc guide
Andrew Rybchenko [Fri, 9 Feb 2018 17:57:36 +0000 (17:57 +0000)]
doc: add missing SFN8xxx adapters in sfc guide

Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
6 years agodoc: update Intel VF guide
Jingjing Wu [Mon, 12 Feb 2018 10:25:55 +0000 (18:25 +0800)]
doc: update Intel VF guide

update for intel VF usage:
 - Add note for AVF device ID generation.
 - Add steps for vfio-pci pass through.

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
6 years agodoc: rename nfp PF features file
Alejandro Lucero [Mon, 12 Feb 2018 09:57:38 +0000 (09:57 +0000)]
doc: rename nfp PF features file

Other NICs with VF support do not use the _pf suffix for these files
but just for the VF description.

This change makes NFP files consistent in this regard and helps with
how the DPDK web nics features matrix shows NFP devices.

Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
6 years agonet/mlx5: add log on flow creation error
Xueming Li [Tue, 6 Feb 2018 12:52:53 +0000 (20:52 +0800)]
net/mlx5: add log on flow creation error

Add error message dump when flow create error happened.

Signed-off-by: Xueming Li <xuemingl@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
6 years agonet/mlx5: revert multicast rule verbs flow type
Shahaf Shuler [Tue, 13 Feb 2018 12:31:55 +0000 (14:31 +0200)]
net/mlx5: revert multicast rule verbs flow type

This is to revert the following commits:
commit da646bd93888 ("net/mlx5: fix all multi verification code position")
commit 0a40a1363a4d ("net/mlx5: fix flow type for allmulti rules")

The last one introduced a bug in the following diff:
@ -1262,6 +1274,7 @@ struct ibv_spec_header {
                eth.val.ether_type &= eth.mask.ether_type;
        }
        mlx5_flow_create_copy(parser, &eth, eth_size);
+       parser->allmulti = eth.val.dst_mac[0] & 1;
        return 0;
 }

As broadcast rules will be considered of type allmulti as well.

The patch was originally intended to enable VF to receive all multicast
traffic by using the IBV_FLOW_ATTR_MC_DEFAULT flow type.
Since the support was removed from the kernel there is no point with
fixing this issue, hence the revert.

Fixes: da646bd93888 ("net/mlx5: fix all multi verification code position")
Fixes: 0a40a1363a4d ("net/mlx5: fix flow type for allmulti rules")
Cc: stable@dpdk.org
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
6 years agonet/mlx5: fix close after start failure
Xueming Li [Tue, 6 Feb 2018 12:54:22 +0000 (20:54 +0800)]
net/mlx5: fix close after start failure

This patch fixed primary socket assertion error during close on a device
that failed to start.

Fixes: f8b9a3bad467 ("net/mlx5: install a socket to exchange a file descriptor")
Cc: stable@dpdk.org
Signed-off-by: Xueming Li <xuemingl@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
6 years agonet/dpaa2: remove unused global variable
Jerin Jacob [Sat, 10 Feb 2018 11:57:36 +0000 (17:27 +0530)]
net/dpaa2: remove unused global variable

Due to the missing __packed definition, compiler treating
it as as global variable.

grep "Allocating common symbols" -A 100 build/app/testacl.map
__packed   0x8  /build/lib/librte_pmd_dpaa2.a(dpaa2_rxtx.o)

Fixes: a5fc38d422a7 ("net/dpaa2: support Rx packet parsing")
Cc: stable@dpdk.org
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
6 years agoethdev: increase log level of port allocation failure
Martin Klozik [Tue, 13 Feb 2018 15:03:47 +0000 (15:03 +0000)]
ethdev: increase log level of port allocation failure

DPDK API does not propagate the reason of device allocation failure
from rte_eth_dev_allocate() up to the DPDK application (e.g. Open
vSwitch).
Log level of associated log entries was changed to warning. So user
can find additional details in log files also in production systems,
where debug messages cannot be turned on.

Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
6 years agoethdev: fix data alignment
Jerin Jacob [Mon, 12 Feb 2018 13:13:43 +0000 (18:43 +0530)]
ethdev: fix data alignment

The struct rte_eth_dev_data is used in ethdev fastpath routines
and it not aligned to cache line size. This patch fixes the ethdev
data alignment.

The alignment was broken from the "first public release" changeset
where ethdev data address was aligned only to the first port.
Remaining ports alignment was defined by the size of the struct
(rte_eth_dev_data). This scheme is not guaranteed to be cache line
aligned all the time.

"ethdev: add port ownership" change set introduced a
rte_eth_dev_shared_data container for port ownership change,
This resulted in rte_eth_dev->data memory for the first port also
as cache unaligned.

Added a compiler alignment attribute to make sure
rte_eth_dev->data always cache aligned so that CPU/compiler
1) Avoid sharing the element with another cache line
2) Can load/store the elements in struct rte_eth_dev_data as
naturally aligned.

Some platform like thunderX could see performance regression of 1%
at "ethdev: add port ownership" change set with
1 port/1 queue l3fwd application and this patch fixes that regression.

example command:
sudo ./examples/l3fwd/build/l3fwd -c 0xff00 -- -p 0x1 --config="(0,0,9)"

Fixes: af75078fece3 ("first public release")
Fixes: 5b7ba31148a8 ("ethdev: add port ownership")
Cc: stable@dpdk.org
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
6 years agoeal: fix errno in IPC API
Anatoly Burakov [Sat, 10 Feb 2018 13:15:15 +0000 (13:15 +0000)]
eal: fix errno in IPC API

rte_errno values should not be negative.

Fixes: bacaa2754017 ("eal: add channel for multi-process communication")
Fixes: 783b6e54971d ("eal: add synchronous multi-process communication")

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Reviewed-by: Jianfeng Tan <jianfeng.tan@intel.com>
6 years agolib: remove unused map symbols
Pavan Nikhilesh [Mon, 12 Feb 2018 14:23:05 +0000 (19:53 +0530)]
lib: remove unused map symbols

Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
6 years agomaintainers: update for driver information tool
Neil Horman [Fri, 9 Feb 2018 15:23:36 +0000 (10:23 -0500)]
maintainers: update for driver information tool

I wrote pmdinfogen initially, and since there isn't a maintainer for it,
I'll volunteer to take care of it

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
6 years agoversion: 18.02-rc4
Thomas Monjalon [Thu, 8 Feb 2018 22:20:35 +0000 (23:20 +0100)]
version: 18.02-rc4

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
6 years agodoc: add tested Intel platforms with Intel NICs
Yulong Pei [Wed, 7 Feb 2018 10:17:48 +0000 (18:17 +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: add increased default ring size to release notes
John McNamara [Thu, 8 Feb 2018 12:47:58 +0000 (12:47 +0000)]
doc: add increased default ring size to release notes

Added note on the increased ring size in testpmd and the sample
applications to the release note.

Fixes: bd8f10f6d69f ("app/testpmd: increase default ring sizes to 1024")
Fixes: 867a6c66ecf3 ("examples: increase default ring sizes to 1024")

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
6 years agodoc: update limitations in procinfo guide
Marko Kovacevic [Wed, 7 Feb 2018 21:46:26 +0000 (21:46 +0000)]
doc: update limitations in procinfo guide

Updated the limitations for dpdk-procinfo
to inform user of the proper use. To avoid
failures and build issues

Signed-off-by: Marko Kovacevic <marko.kovacevic@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
6 years agodoc: update callback functions in pipeline sample guide
Bao-Long Tran [Thu, 8 Feb 2018 01:19:03 +0000 (08:19 +0700)]
doc: update callback functions in pipeline sample guide

Update f_post_init for pipeline frontend.
Move f_track from pipeline backend to pipeline frontend.

Signed-off-by: Bao-Long Tran <longtb5@viettel.com.vn>
Acked-by: Marko Kovacevic <marko.kovacevic@intel.com>
6 years agoexamples/l3fwd: convert Altivec files to SPDX license tag
Lee Daly [Tue, 23 Jan 2018 16:45:29 +0000 (16:45 +0000)]
examples/l3fwd: convert Altivec files to SPDX license tag

This updates the Intel and IBM license on files in examples to be
the standard BSD-3-Clause license used for the rest of DPDK,
bringing the files in compliance with the DPDK licensing policy.

Signed-off-by: Lee Daly <lee.daly@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Chao Zhu <chaozhu@linux.vnet.ibm.com>
6 years agoexamples/performance-thread: convert license to SPDX tag
Lee Daly [Thu, 8 Feb 2018 14:03:54 +0000 (14:03 +0000)]
examples/performance-thread: convert license to SPDX tag

This updates the Intel and Cavium license on files in examples to be
the standard BSD-3-Clause license used for the rest of DPDK, bringing
the files in compliance with the DPDK licensing policy.

Signed-off-by: Lee Daly <lee.daly@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
6 years agoexamples/ipsec-secgw: support AES 256
Anoob Joseph [Thu, 8 Feb 2018 06:12:42 +0000 (06:12 +0000)]
examples/ipsec-secgw: support AES 256

Adding support for AES 256 algorithm in ipsec-secgw application

Signed-off-by: Anoob Joseph <anoob.joseph@caviumnetworks.com>
Acked-by: Radu Nicolau <radu.nicolau@intel.com>
6 years agoapp/testpmd: fix flow director filter
Beilei Xing [Thu, 8 Feb 2018 12:35:40 +0000 (20:35 +0800)]
app/testpmd: fix flow director filter

This patch fixes issue during dealing with flow
director filter.

Fixes: 6c684f579df5 ("app/testpmd: add or delete flow director filter")
Cc: stable@dpdk.org
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
6 years agobuildtools: output build failure reason to stderr
Andrew Rybchenko [Wed, 7 Feb 2018 08:24:00 +0000 (08:24 +0000)]
buildtools: output build failure reason to stderr

If build fails because of failed experimental check and stdout is
redirected to /dev/null, it is absolutely unclear why build fails.

Fixes: a4bcd61de82d ("buildtools: add script to check experimental API exports")

Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
6 years agoeal/ppc64: revert arch-specific TSC freq query
Gowrishankar Muthukrishnan [Tue, 30 Jan 2018 08:59:13 +0000 (14:29 +0530)]
eal/ppc64: revert arch-specific TSC freq query

This reverts commit 15692396fd68932b6a81f00f12d4b0da12baa7d3
(eal/ppc64: implement arch-specific TSC freq query).
We intended to derive pkt/sec estimation with cpu clock frequency.
As timebase register serves the timer purpose, we need to stick with it
for calculating pkt/sec, hence reverting the change.

Fixes: 15692396fd ("eal/ppc64: implement arch-specific TSC freq query")
Cc: stable@dpdk.org
Signed-off-by: Gowrishankar Muthukrishnan <gowrishankar.m@linux.vnet.ibm.com>
Acked-by: Chao Zhu <chaozhu@linux.vnet.ibm.com>
6 years agodoc: add systems support in tap guide
Ophir Munk [Thu, 8 Feb 2018 14:54:14 +0000 (14:54 +0000)]
doc: add systems support in tap guide

Signed-off-by: Ophir Munk <ophirmu@mellanox.com>
Acked-by: Pascal Mazon <pascal.mazon@6wind.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
6 years agonet/qede: fix tunnel parameters init
Harish Patil [Wed, 7 Feb 2018 21:51:01 +0000 (13:51 -0800)]
net/qede: fix tunnel parameters init

Add the missing VF check to initialize tunnel params correctly.

Fixes: dd28bc8c6ef4 ("net/qede: fix VF port creation sequence")
Cc: stable@dpdk.org
Signed-off-by: Harish Patil <harish.patil@cavium.com>
6 years agonet/mlx5: revert support of IPv4 time-to-live filter
Shahaf Shuler [Wed, 7 Feb 2018 14:34:32 +0000 (16:34 +0200)]
net/mlx5: revert support of IPv4 time-to-live filter

Neither upstream kernel nor MLNX_OFED support such filter.
There is no point announcing this feature.

Reverts commit 0fb2c9842b20 ("net/mlx5: support IPv4 time-to-live filter")

Fixes: 0fb2c9842b20 ("net/mlx5: support IPv4 time-to-live filter")

Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
6 years agoapp/testpmd: enable CRC strip without capability check
Ferruh Yigit [Thu, 8 Feb 2018 12:08:03 +0000 (12:08 +0000)]
app/testpmd: enable CRC strip without capability check

Some hardware doesn't support disabling CRC strip. In techboard it has
been decided to enable CRC strip always.

The testpmd update in commit 8b9bd0efe0b6, enables CRC strip only if
PMD reports CRC strip capability. Not all PMDs updated to report CRC
strip.

For the PMDs not reporting CRC strip testpmd behavior changed and
disabling CRC strip for them. And this may generate error for PMDs that
doesn't support disabling CRC strip.

Removing capability check for this release. In long term there can be
option to remove CRC strip flag completely or adding a new flag to let
PMD say disabling is not supported.

Fixes: 8b9bd0efe0b6 ("app/testpmd: disable Rx VLAN offloads by default")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
6 years agonet/mlx4: add CRC stripping capability
Moti Haimovsky [Thu, 8 Feb 2018 11:14:27 +0000 (13:14 +0200)]
net/mlx4: add CRC stripping capability

This patch updates mlx4 Rx offload capabilities to also indicate that
Rx CRC stripping is (always) supported.

Since the device does not support disabling CRC stripping the PMD
silently ignores such requests.

Signed-off-by: Moti Haimovsky <motih@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
6 years agonet/i40e: check multi-driver option parsing
Beilei Xing [Thu, 8 Feb 2018 13:18:12 +0000 (21:18 +0800)]
net/i40e: check multi-driver option parsing

This patch fixes the coverity CHECKED_RETURN issue.

Coverity issue: 261779
Fixes: cfdfca493cae ("net/i40e: fix multiple driver support")
Cc: stable@dpdk.org
Reported-by: John McNamara <john.mcnamara@intel.com>
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
6 years agodoc: add igb guide
Wei Zhao [Fri, 2 Feb 2018 03:29:32 +0000 (11:29 +0800)]
doc: add igb guide

This patch adds user guide specifically for igb NIC, like ixgbe,
to list all the supported features and known issues.

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
6 years agonet/bnxt: fix packet type
Olivier Matz [Thu, 8 Feb 2018 08:24:17 +0000 (09:24 +0100)]
net/bnxt: fix packet type

The hw flags are not read correctly: the defines
RX_PKT_CMPL_FLAGS_ITYPE_* are not bits but values, so the should not be
tested with if (value & X) but with if ((value & MASK) == X).
This was resulting in a wrong packet type.

For instance, an IPv4/ICMP packet was returning a value of 7 for
the layer 4, which is undefined.

This patch rework the way packet types are processed, to ensure
that only valid packet types will be advertised.

Fixes: 3d2a6644eb05 ("net/bnxt: support getting ptypes")
Cc: stable@dpdk.org
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
6 years agonet/bnxt: fix return code in MAC address set
Ajit Khaparde [Wed, 7 Feb 2018 01:16:16 +0000 (17:16 -0800)]
net/bnxt: fix return code in MAC address set

There is no need to return an error if an existing MAC is added.

Fixes: 778b759ba10e ("net/bnxt: add MAC address")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
6 years agonet/bnxt: add 100G speed config capability
Ajit Khaparde [Wed, 7 Feb 2018 01:16:15 +0000 (17:16 -0800)]
net/bnxt: add 100G speed config capability

We are not parsing for 100G speed correctly.
With this patch we should be able to configure 100G link.

Fixes: 90ed2b72291a ("net/bnxt: add 100G speed detection")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
6 years agonet/bnxt: fix link speed setting with autoneg off
Ajit Khaparde [Wed, 7 Feb 2018 01:16:14 +0000 (17:16 -0800)]
net/bnxt: fix link speed setting with autoneg off

When Autoneg is turned off especially on remote side,
link does not come up. This patch fixes that.

Fixes: 7bc8e9a227cc ("net/bnxt: support async link notification")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
6 years agodoc: update bnxt feature list
Ajit Khaparde [Wed, 7 Feb 2018 01:16:13 +0000 (17:16 -0800)]
doc: update bnxt feature list

Updating bnxt.ini file.

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
6 years agonet/bnxt: fix Rx checksum flags
Olivier Matz [Tue, 6 Feb 2018 13:39:31 +0000 (14:39 +0100)]
net/bnxt: fix Rx checksum flags

Fix the Rx offload flags when the IP or L4 checksum is seen as incorrect
by the hardware. In this case, the proper value is PKT_RX_IP_CKSUM_BAD.

PKT_RX_IP_CKSUM_NONE means that the checksum may be incorrect in the
packet headers, but the integrity of the IP header is verified. This is
mostly useful for virtual drivers.

Fixes: 7ec39d8c524b ("net/bnxt: update status of Rx IP/L4 CKSUM")
Cc: stable@dpdk.org
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
6 years agonet/tap: fix cleanup on allocation failure
Moti Haimovsky [Mon, 5 Feb 2018 16:17:20 +0000 (18:17 +0200)]
net/tap: fix cleanup on allocation failure

This patch complements the partial cleanup done inside
eth_dev_tap_create when the routine failed.
Such a failure left a non-functional device attached to the system.

Fixes: 050fe6e9ff97 ("drivers/net: use ethdev allocation helper for vdev")
Cc: stable@dpdk.org
Signed-off-by: Moti Haimovsky <motih@mellanox.com>
Acked-by: Pascal Mazon <pascal.mazon@6wind.com>
6 years agonet/ixgbe: fix CRC stripping capability
Xiaoyun Li [Thu, 8 Feb 2018 05:45:15 +0000 (13:45 +0800)]
net/ixgbe: fix CRC stripping capability

testpmd needs to get CRC strip offload from rx_offload_capa with a
recent change. This patch adds CRC strip flag to rx_offload_capa
for ixgbe and ixgbevf, as they have the capability.

Fixes: 8b9bd0efe0b6 ("app/testpmd: disable Rx VLAN offloads by default")

Signed-off-by: Xiaoyun Li <xiaoyun.li@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
6 years agonet/i40e: revert enhancing loopback AQ command
Yanglong Wu [Thu, 8 Feb 2018 04:59:53 +0000 (12:59 +0800)]
net/i40e: revert enhancing loopback AQ command

This reverts commit 7b7711bea5f4 ("net/i40e/base: enhance loopback
AQ command").

It was to support multiple type of loopbacks, which results to
configuration error about adminq. So revert it as agreed.

Fixes: 7b7711bea5f4 ("net/i40e/base: enhance loopback AQ command")

Signed-off-by: Yanglong Wu <yanglong.wu@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
6 years agodoc: add multi-driver option in i40e guide
Beilei Xing [Sun, 4 Feb 2018 03:40:57 +0000 (11:40 +0800)]
doc: add multi-driver option in i40e guide

This patch updates the i40e guide with new device parameter of
'support-multi-driver'.

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Marko Kovacevic <marko.kovacevic@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
6 years agoversion: 18.02-rc3
Thomas Monjalon [Tue, 6 Feb 2018 22:41:40 +0000 (23:41 +0100)]
version: 18.02-rc3

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
6 years agodoc: convert Intel sharing license header to SPDX tag
Ferruh Yigit [Thu, 1 Feb 2018 17:19:39 +0000 (17:19 +0000)]
doc: convert Intel sharing license header to SPDX tag

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Marko Kovacevic <marko.kovacevic@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
6 years agodoc: convert Intel license headers to SPDX tags
Ferruh Yigit [Thu, 1 Feb 2018 17:18:17 +0000 (17:18 +0000)]
doc: convert Intel license headers to SPDX tags

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
6 years agocompat: relicense some files
Neil Horman [Thu, 1 Feb 2018 12:19:11 +0000 (07:19 -0500)]
compat: relicense some files

Received a note the other day from the Linux Foundation governance board
for DPDK indicating that several files I have copyright on need to be
relicensed to be compliant with the DPDK licensing guidelines.  I have
some concerns with some parts of the request, but am not opposed to
other parts.  So, for those pieces that we are in consensus on, I'm
proposing that we change their license from BSD 2 clause to 3 clause.
I'm also updating the files to use the SPDX licensing scheme

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
6 years agodoc: remove UTF-8 BOM from membership guide
Anatoly Burakov [Thu, 21 Dec 2017 15:28:53 +0000 (15:28 +0000)]
doc: remove UTF-8 BOM from membership guide

Fixes: 55694b2a9f64 ("doc: add membership documentation")
Cc: stable@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Marko Kovacevic <marko.kovacevic@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
6 years agodoc: add hyperthreading note to power library guide
David Hunt [Wed, 31 Jan 2018 12:29:46 +0000 (12:29 +0000)]
doc: add hyperthreading note to power library guide

Signed-off-by: David Hunt <david.hunt@intel.com>
Acked-by: Marko Kovacevic <marko.kovacevic@intel.com>
6 years agodoc: update definition of lcore id and index
Marko Kovacevic [Fri, 2 Feb 2018 15:02:32 +0000 (15:02 +0000)]
doc: update definition of lcore id and index

Added examples in lcore index for better explanation on
various examples, Sited examples for lcore id.

Signed-off-by: Marko Kovacevic <marko.kovacevic@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
6 years agodoc: add note on multiple crypto vdevs
Vipin Varghese [Tue, 6 Feb 2018 16:11:57 +0000 (21:41 +0530)]
doc: add note on multiple crypto vdevs

Add information to explain applications using multiple instances of sw
crypto with example.

Signed-off-by: Vipin Varghese <vipin.varghese@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
6 years agodoc: update minimum requirement of l2fwd-crypto
Vipin Varghese [Mon, 5 Feb 2018 17:32:07 +0000 (23:02 +0530)]
doc: update minimum requirement of l2fwd-crypto

Added note section to update information for use cases working with
multiple crypto devices.

Signed-off-by: Vipin Varghese <vipin.varghese@intel.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
6 years agoexamples/ptpclient: fix Tx configuration
Pablo de Lara [Thu, 1 Feb 2018 16:42:27 +0000 (16:42 +0000)]
examples/ptpclient: fix Tx configuration

The PTP Client application requires IEEE1588 to be supported
by the network driver used, which needs full Tx data path
to be used.

Fixes: b960219b0d83 ("examples/ptpclient: convert to new ethdev offloads API")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
6 years agoeventdev: check error in default Rx conf callback
Nikhil Rao [Sun, 4 Feb 2018 18:18:31 +0000 (23:48 +0530)]
eventdev: check error in default Rx conf callback

The default adapter configuration callback is invoked when a Rx
queue is added to the adapter and the adapter detects that a SW
service is needed. The adapter needs to re-configure the device
with an additional port and to do do, it needs to stop the
device and restart it after it is done reconfiguring it. This
patch adds code to check the return code of
rte_event_dev_start() for both when the reconfiguration fails
and when it succeeds and introduces a new error code (-EIO)
for the first case.

Coverity issue: 257000
Fixes: 9c38b704d280 ("eventdev: add eth Rx adapter implementation")
Cc: stable@dpdk.org
Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
6 years agonet/virtio-user: check error on clearing non block flag
Sebastian Basierski [Tue, 14 Nov 2017 10:39:56 +0000 (11:39 +0100)]
net/virtio-user: check error on clearing non block flag

Report error message if clearing O_NONBLOCK flag will fail,
then return from function.

Coverity issue: 143439
Fixes: ef53b6030039 ("net/virtio-user: support LSC")
Cc: stable@dpdk.org
Signed-off-by: Sebastian Basierski <sebastianx.basierski@intel.com>
Acked-by: Jianfeng Tan <jianfeng.tan@intel.com>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
6 years agonet/i40e: fix Rx interrupt
Beilei Xing [Tue, 6 Feb 2018 05:33:31 +0000 (13:33 +0800)]
net/i40e: fix Rx interrupt

This patch fixes interval error and corrects macros when
enabling Rx interrupt mode. The patch also fixes a logical
error during supporting multiple drivers.

Fixes: cfdfca493cae ("net/i40e: fix multiple driver support")
Cc: stable@dpdk.org
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
6 years agonet/i40e: fix multiple DDP packages conflict
Kirill Rybalchenko [Thu, 1 Feb 2018 12:43:05 +0000 (12:43 +0000)]
net/i40e: fix multiple DDP packages conflict

Should be not possible to load conflicting DDP profiles. Only DDP
profiles of the same group (not 0) can be loaded together. If DDP
profile group is 0, it is exclusive, i.e. it cannot be loaded with
any other DDP profile. If DDP profile groups are different, these
profiles cannot be loaded together.

Fixes: b319712f53c8 ("net/i40e: extended list of operations for DDP processing")
Cc: stable@dpdk.org
Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
Acked-by: Andrey Chilikin <andrey.chilikin@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
6 years agoapp/testpmd: fix port DCB configuration
Yanglong Wu [Mon, 5 Feb 2018 09:56:19 +0000 (17:56 +0800)]
app/testpmd: fix port DCB configuration

The port_conf for the DCB configuration should
inherit the same configuration of the port.

Fixes: 0074d02fca21 ("app/testpmd: convert to new Rx offloads API")

Signed-off-by: Yanglong Wu <yanglong.wu@intel.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
6 years agotest/timer_perf: fix memory leak
Anatoly Burakov [Tue, 6 Feb 2018 13:35:42 +0000 (13:35 +0000)]
test/timer_perf: fix memory leak

Fixes: 277afaf3dbcb ("app/test: add timer_perf")
Cc: stable@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
6 years agotest/table: fix memory leak
Anatoly Burakov [Tue, 6 Feb 2018 13:35:41 +0000 (13:35 +0000)]
test/table: fix memory leak

Always deallocate allocated resources after the test is done.

Fixes: 5205954791cb ("app/test: packet framework unit tests")
Cc: stable@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
6 years agotest/ring_perf: fix memory leak
Anatoly Burakov [Tue, 6 Feb 2018 13:35:40 +0000 (13:35 +0000)]
test/ring_perf: fix memory leak

Fixes: ac3fb3019c52 ("app: rework ring tests")
Cc: stable@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
6 years agotest/ring: fix memory leak
Anatoly Burakov [Tue, 6 Feb 2018 13:35:39 +0000 (13:35 +0000)]
test/ring: fix memory leak

Get rid of global static ring variable and don't reuse rings
between test runs.

Acked-by: Olivier Matz <olivier.matz@6wind.com>
Fixes: 4e32101f9b01 ("ring: support freeing")
Cc: stable@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
6 years agotest/reorder: fix memory leak
Anatoly Burakov [Tue, 6 Feb 2018 13:35:38 +0000 (13:35 +0000)]
test/reorder: fix memory leak

Add a teardown function that frees allocated resources.

Fixes: d0c9b58d7156 ("app/test: new reorder unit test")
Cc: stable@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
6 years agotest/bitmap: fix memory leak
Anatoly Burakov [Tue, 6 Feb 2018 13:35:37 +0000 (13:35 +0000)]
test/bitmap: fix memory leak

Fixes: c7e4a134e769 ("test: verify bitmap operations")
Cc: stable@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
6 years agoexamples/ip_pipeline: fix timer period unit
Bao-Long Tran [Wed, 31 Jan 2018 08:48:16 +0000 (15:48 +0700)]
examples/ip_pipeline: fix timer period unit

The timer_period option specified by users via config file
should have unit of 1 millisecond. However timer_period is
internally converted to unit of 10 millisecond.

Fixes: 4e14069328fc ("examples/ip_pipeline: measure CPU utilization")
Cc: stable@dpdk.org
Signed-off-by: Bao-Long Tran <longtb5@viettel.com.vn>
Reviewed-by: Jasvinder Singh <jasvinder.singh@intel.com>