Re: [dpdk-dev] [PATCH v11 1/3] lib: add Generic Receive Offload API framework

2017-07-06 Thread Tan, Jianfeng
On 7/5/2017 12:08 PM, Jiayu Hu wrote: Generic Receive Offload (GRO) is a widely used SW-based offloading technique to reduce per-packet processing overhead. It gains performance by reassembling small packets into large ones. This patchset is to support GRO in DPDK. To support GRO, this patch im

Re: [dpdk-dev] [PATCH v11 2/3] lib/gro: add TCP/IPv4 GRO support

2017-07-06 Thread Tan, Jianfeng
On 7/5/2017 12:08 PM, Jiayu Hu wrote: In this patch, we introduce five APIs to support TCP/IPv4 GRO. - gro_tcp4_tbl_create: create a TCP/IPv4 reassembly table, which is used to merge packets. - gro_tcp4_tbl_destroy: free memory space of a TCP/IPv4 reassembly table. - gro_tcp4_tbl_timeout_f

Re: [dpdk-dev] [PATCH 1/2] eventdev: add event adapter for ethernet Rx queues

2017-07-06 Thread Rao, Nikhil
On 7/6/2017 7:48 PM, Jerin Jacob wrote: -Original Message- Date: Fri, 7 Jul 2017 03:22:31 +0530 From: Nikhil Rao To: jerin.ja...@caviumnetworks.com CC: gage.e...@intel.com, dev@dpdk.org, tho...@monjalon.net, bruce.richard...@intel.com, harry.van.haa...@intel.com, hemant.agra...@nxp.

[dpdk-dev] [PATCH 2/2] testpmd: give more hint on invalid RETA size

2017-07-06 Thread Yuanhan Liu
Print the valid RTE size range so that user knows what goes wrong. Signed-off-by: Yuanhan Liu --- app/test-pmd/cmdline.c | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index c8faef9..d32a1df 100644 --- a/app/test-pmd/cm

[dpdk-dev] [PATCH 1/2] testpmd: allow to query any RETA size

2017-07-06 Thread Yuanhan Liu
Currently, testpmd just allows to query the RETA info only when the required size equals to configured RETA size. This patch allows to query any RETA size <= the configured size. This helps when the RETA size is big (say 512) and when I just want to peak few RETA entries. Signed-off-by: Yuanhan L

Re: [dpdk-dev] [PATCH v3 00/34] introduce generic eventdev test application framework

2017-07-06 Thread Jerin Jacob
-Original Message- > Date: Tue, 4 Jul 2017 10:22:55 +0530 > From: Jerin Jacob > To: dev@dpdk.org > Cc: harry.van.haa...@intel.com, bruce.richard...@intel.com, > hemant.agra...@nxp.com, gage.e...@intel.com, nipun.gu...@nxp.com, > narender.vang...@intel.com, nikhil@intel.com, > gprat

[dpdk-dev] [PATCH] crypto/scheduler: fix slave name parsing

2017-07-06 Thread Fan Zhang
Fixes: 503e9c5afb38 ("crypto/scheduler: register as vdev driver") This patch fixes the incorrect index checking in parse_slave function. Signed-off-by: Fan Zhang --- drivers/crypto/scheduler/scheduler_pmd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/crypto/sched

Re: [dpdk-dev] [PATCH v3] examples/vhost: introduce a new vhost-user-scsi sample application

2017-07-06 Thread Yuanhan Liu
On Sat, Jul 08, 2017 at 01:21:37PM +0800, Changpeng Liu wrote: > vhost-user protocol is common to many virtio devices, such as > virtio_net/virtio_scsi/virtio_blk. Since DPDK vhost library > removed the NET specific data structures, the vhost library > is common to other virtio devices, such as vir

[dpdk-dev] [PATCH v3] examples/vhost: introduce a new vhost-user-scsi sample application

2017-07-06 Thread Changpeng Liu
vhost-user protocol is common to many virtio devices, such as virtio_net/virtio_scsi/virtio_blk. Since DPDK vhost library removed the NET specific data structures, the vhost library is common to other virtio devices, such as virtio-scsi. Here we introduce a simple memory based block device that ca

Re: [dpdk-dev] [PATCH v2] examples/vhost: introduce a new vhost-user-scsi sample application

2017-07-06 Thread Liu, Changpeng
> -Original Message- > From: Yuanhan Liu [mailto:y...@fridaylinux.org] > Sent: Friday, July 7, 2017 12:49 PM > To: Liu, Changpeng > Cc: dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH v2] examples/vhost: introduce a new vhost-user- > scsi sample application > > On Sat, Jul 08, 2017 at 12:

Re: [dpdk-dev] [PATCH v8 0/3] next-eventdev: evendev pipeline sample app

2017-07-06 Thread Jerin Jacob
-Original Message- > Date: Thu, 6 Jul 2017 15:35:13 +0100 > From: David Hunt > To: dev@dpdk.org > CC: jerin.ja...@caviumnetworks.com, harry.van.haa...@intel.com > Subject: [PATCH v8 0/3] next-eventdev: evendev pipeline sample app > X-Mailer: git-send-email 2.7.4 > > This patchset introduc

Re: [dpdk-dev] [PATCH v2] examples/vhost: introduce a new vhost-user-scsi sample application

2017-07-06 Thread Yuanhan Liu
On Sat, Jul 08, 2017 at 12:14:51PM +0800, Changpeng Liu wrote: > +.. note:: > +You must check whether your Qemu can support "vhost-user-scsi" or not, > +Qemu v2.9.50 or newer version is required. QEMU v2.9.50 looks like a stable version, and I don't think they will backport new features on

Re: [dpdk-dev] [PATCH v3] test: add delay time in test alarm

2017-07-06 Thread Yang, Qiming
Hi, Mark "2" and "10" is the special number in this test case, not a general number. /* Test that we cannot cancel an alarm from within the callback itself * Also test that we can cancel head-of-line callbacks ok.*/ flag = 0; recursive_error = 0; rte_eal_ala

[dpdk-dev] [PATCH v2] examples/vhost: introduce a new vhost-user-scsi sample application

2017-07-06 Thread Changpeng Liu
vhost-user protocol is common to many virtio devices, such as virtio_net/virtio_scsi/virtio_blk. Since DPDK vhost library removed the NET specific data structures, the vhost library is common to other virtio devices, such as virtio-scsi. Here we introduce a simple memory based block device that ca

Re: [dpdk-dev] [PATCH] examples/vhost: introduce a new vhost-user-scsi sample application

2017-07-06 Thread Yuanhan Liu
On Fri, Jul 07, 2017 at 02:00:38AM +, Liu, Changpeng wrote: > > > > -Original Message- > > From: Yuanhan Liu [mailto:y...@fridaylinux.org] > > Sent: Friday, July 7, 2017 8:51 AM > > To: Liu, Changpeng > > Cc: dev@dpdk.org > > Subject: Re: [PATCH] examples/vhost: introduce a new vhost

Re: [dpdk-dev] [PATCH] examples/vhost: introduce a new vhost-user-scsi sample application

2017-07-06 Thread Liu, Changpeng
> -Original Message- > From: Yuanhan Liu [mailto:y...@fridaylinux.org] > Sent: Friday, July 7, 2017 8:51 AM > To: Liu, Changpeng > Cc: dev@dpdk.org > Subject: Re: [PATCH] examples/vhost: introduce a new vhost-user-scsi sample > application > > On Thu, Jun 29, 2017 at 05:28:32PM +0800, C

Re: [dpdk-dev] [PATCH] examples/vhost: introduce a new vhost-user-scsi sample application

2017-07-06 Thread Yuanhan Liu
On Thu, Jun 29, 2017 at 05:28:32PM +0800, Changpeng Liu wrote: > +.. note:: > +You must check whether you Qemu can support "vhost-user-scsi" or not, > +the latest Qemu code is recommended. You should specify the least QEMU version that supports vhost-user scsi here. > + > +Common Issues >

Re: [dpdk-dev] [PATCH v8 6/6] devargs: parse bus info

2017-07-06 Thread Stephen Hemminger
On Fri, 7 Jul 2017 02:03:12 +0200 Gaetan Rivet wrote: > +static int > +bus_name_cmp(const struct rte_bus *bus, const void *_name) > +{ > + const char *name = _name; > + > + return strncmp(bus->name, name, > +strlen(bus->name)); I don't think you need the _name variab

[dpdk-dev] [PATCH] eal/common: minor fix for spelling and format

2017-07-06 Thread Keith Wiles
Signed-off-by: Keith Wiles --- lib/librte_eal/common/malloc_elem.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/librte_eal/common/malloc_elem.c b/lib/librte_eal/common/malloc_elem.c index 08516af2b..150769057 100644 --- a/lib/librte_eal/common/malloc_elem.c +++ b

Re: [dpdk-dev] [PATCH v10 11/20] unci: add netlink exec

2017-07-06 Thread Stephen Hemminger
On Thu, 6 Jul 2017 11:45:48 +0100 Ferruh Yigit wrote: > > > Blocking for completion with mutex held? > > Sleeping with mutex held is not allowed in Linux. > > > > You will see this if you run with lockdep and all the other kernel debug > > config options. > > Thank you for the review, > >

Re: [dpdk-dev] [PATCH] vhost: print the reason on numa node obtaining failure

2017-07-06 Thread Yuanhan Liu
On Thu, Jul 06, 2017 at 04:30:43PM +0300, Ilya Maximets wrote: > syscall always returns '-1' on failure and there is no point > in printing that value. 'errno' is much more informative. > > Fixes: 586e39001317 ("vhost: export numa node") > > Signed-off-by: Ilya Maximets Applied to dpdk-next-vir

[dpdk-dev] [PATCH v6 22/22] net/failsafe: support flow API isolation mode

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet --- drivers/net/failsafe/failsafe_ether.c | 34 +++-- drivers/net/failsafe/failsafe_flow.c| 29 drivers/net/failsafe/failsafe_private.h | 4 3 files changed, 65 insertions(+), 2 deletions(-) diff --g

[dpdk-dev] [PATCH v6 23/23] net/failsafe: support flow API isolation mode

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet --- drivers/net/failsafe/failsafe_ether.c | 34 +++-- drivers/net/failsafe/failsafe_flow.c| 29 drivers/net/failsafe/failsafe_private.h | 4 3 files changed, 65 insertions(+), 2 deletions(-) diff --g

[dpdk-dev] [PATCH v6 22/23] net/failsafe: support link status change event

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet --- doc/guides/nics/features/failsafe.ini | 1 + drivers/net/failsafe/failsafe.c | 1 + drivers/net/failsafe/failsafe_ether.c | 18 ++ drivers/net/failsafe/failsafe_ops.c | 23 +++ drivers/net/failsafe/failsafe_priv

[dpdk-dev] [PATCH v6 21/23] net/failsafe: support device removal

2017-07-06 Thread Gaetan Rivet
Listen to INTR_RMV events issued by slaves. Add atomic flags on slave queues to detect use of slave bursts function. If a removal is detected, set the recollection flag on this slave. During a slave upkeep round, if its recollection flag is set and its burst functions are not in use by any thread,

[dpdk-dev] [PATCH v6 21/22] net/failsafe: support link status change event

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet --- doc/guides/nics/features/failsafe.ini | 1 + drivers/net/failsafe/failsafe.c | 1 + drivers/net/failsafe/failsafe_ether.c | 18 ++ drivers/net/failsafe/failsafe_ops.c | 23 +++ drivers/net/failsafe/failsafe_priv

[dpdk-dev] [PATCH v6 19/22] net/failsafe: add fast burst functions

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet Acked-by: Olga Shern --- drivers/net/failsafe/failsafe_private.h | 8 +++ drivers/net/failsafe/failsafe_rxtx.c| 124 ++-- 2 files changed, 112 insertions(+), 20 deletions(-) diff --git a/drivers/net/failsafe/failsafe_private.h b/dri

[dpdk-dev] [PATCH v6 19/23] net/failsafe: support offload capabilities

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet Acked-by: Olga Shern --- doc/guides/nics/features/failsafe.ini | 6 ++ drivers/net/failsafe/failsafe_ops.c | 131 +- 2 files changed, 135 insertions(+), 2 deletions(-) diff --git a/doc/guides/nics/features/failsafe.ini b/doc/guide

[dpdk-dev] [PATCH v6 20/22] net/failsafe: support device removal

2017-07-06 Thread Gaetan Rivet
Listen to INTR_RMV events issued by slaves. Add atomic flags on slave queues to detect use of slave bursts function. If a removal is detected, set the recollection flag on this slave. During a slave upkeep round, if its recollection flag is set and its burst functions are not in use by any thread,

[dpdk-dev] [PATCH v6 20/23] net/failsafe: add fast burst functions

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet Acked-by: Olga Shern --- drivers/net/failsafe/failsafe_private.h | 8 +++ drivers/net/failsafe/failsafe_rxtx.c| 124 ++-- 2 files changed, 112 insertions(+), 20 deletions(-) diff --git a/drivers/net/failsafe/failsafe_private.h b/dri

[dpdk-dev] [PATCH v6 18/22] net/failsafe: support offload capabilities

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet Acked-by: Olga Shern --- doc/guides/nics/features/failsafe.ini | 6 ++ drivers/net/failsafe/failsafe_ops.c | 131 +- 2 files changed, 135 insertions(+), 2 deletions(-) diff --git a/doc/guides/nics/features/failsafe.ini b/doc/guide

[dpdk-dev] [PATCH v6 18/23] net/failsafe: support flow API

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet Acked-by: Olga Shern --- doc/guides/nics/features/failsafe.ini | 1 + drivers/net/failsafe/Makefile | 1 + drivers/net/failsafe/failsafe.c | 1 + drivers/net/failsafe/failsafe_eal.c | 1 + drivers/net/failsafe/failsafe_ether.c | 70 +

[dpdk-dev] [PATCH v6 17/23] net/failsafe: add flexible device definition

2017-07-06 Thread Gaetan Rivet
Add the "exec" device type. The parameters given to this type of device will be executed in a shell. The output of this command is then used as a definition for a device. That command can be re-interpreted if the related device is not plugged-in. It allows for a device definition to react to syste

[dpdk-dev] [PATCH v6 17/22] net/failsafe: support flow API

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet Acked-by: Olga Shern --- doc/guides/nics/features/failsafe.ini | 1 + drivers/net/failsafe/Makefile | 1 + drivers/net/failsafe/failsafe.c | 1 + drivers/net/failsafe/failsafe_eal.c | 1 + drivers/net/failsafe/failsafe_ether.c | 70 +

[dpdk-dev] [PATCH v6 16/23] net/failsafe: add plug-in support

2017-07-06 Thread Gaetan Rivet
Periodically check for the existence of a device. If a device has not been initialized and exists on the system, then it is probed and configured. The configuration process strives to synchronize the states between the plugged-in sub-device and the fail-safe device. Signed-off-by: Gaetan Rivet A

[dpdk-dev] [PATCH v6 16/22] net/failsafe: add flexible device definition

2017-07-06 Thread Gaetan Rivet
Add the "exec" device type. The parameters given to this type of device will be executed in a shell. The output of this command is then used as a definition for a device. That command can be re-interpreted if the related device is not plugged-in. It allows for a device definition to react to syste

[dpdk-dev] [PATCH v6 14/23] ethdev: count devices consistently

2017-07-06 Thread Gaetan Rivet
Make the rte_eth_dev_count() return the number of available devices even after some are detached by the hotplug API or put in a deferred state. Signed-off-by: Gaetan Rivet --- lib/librte_ether/rte_ethdev.c | 16 +--- lib/librte_ether/rte_ethdev.h | 13 ++--- 2 files changed,

[dpdk-dev] [PATCH v6 15/22] net/failsafe: add plug-in support

2017-07-06 Thread Gaetan Rivet
Periodically check for the existence of a device. If a device has not been initialized and exists on the system, then it is probed and configured. The configuration process strives to synchronize the states between the plugged-in sub-device and the fail-safe device. Signed-off-by: Gaetan Rivet A

[dpdk-dev] [PATCH v6 14/22] net/failsafe: add fail-safe PMD

2017-07-06 Thread Gaetan Rivet
Introduce the fail-safe poll mode driver initialization and enable its build infrastructure. This PMD allows for applications to benefit from true hot-plugging support without having to implement it. It intercepts and manages Ethernet device removal events issued by slave PMDs and re-initializes

[dpdk-dev] [PATCH v6 13/22] ethdev: count devices consistently

2017-07-06 Thread Gaetan Rivet
Make the rte_eth_dev_count() return the number of available devices even after some are detached by the hotplug API or put in a deferred state. Signed-off-by: Gaetan Rivet --- lib/librte_ether/rte_ethdev.c | 16 +--- lib/librte_ether/rte_ethdev.h | 13 ++--- 2 files changed,

[dpdk-dev] [PATCH v6 15/23] net/failsafe: add fail-safe PMD

2017-07-06 Thread Gaetan Rivet
Introduce the fail-safe poll mode driver initialization and enable its build infrastructure. This PMD allows for applications to benefit from true hot-plugging support without having to implement it. It intercepts and manages Ethernet device removal events issued by slave PMDs and re-initializes

[dpdk-dev] [PATCH v6 13/23] ethdev: add deferred intermediate device state

2017-07-06 Thread Gaetan Rivet
This device state means that the device is managed externally, by whichever party has set this state (PMD or application). Note: this new device state is only an information. The related device structure and operators are still valid and can be used normally. It is however made private by device

[dpdk-dev] [PATCH v6 12/22] ethdev: add deferred intermediate device state

2017-07-06 Thread Gaetan Rivet
This device state means that the device is managed externally, by whichever party has set this state (PMD or application). Note: this new device state is only an information. The related device structure and operators are still valid and can be used normally. It is however made private by device

[dpdk-dev] [PATCH v6 12/23] ethdev: save VLAN filter setting

2017-07-06 Thread Gaetan Rivet
Other configuration items (i.e. MAC addresses) are stored within rte_eth_dev_data, but not this one. Signed-off-by: Gaetan Rivet --- lib/librte_ether/rte_ethdev.c | 19 ++- lib/librte_ether/rte_ethdev.h | 10 ++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git

[dpdk-dev] [PATCH v6 11/23] ethdev: add flow API rule copy function

2017-07-06 Thread Gaetan Rivet
This allows PMDs and applications to save flow rules in their generic format for later processing. This is useful when rules cannot be applied immediately, such as when the device is not properly initialized. Signed-off-by: Gaetan Rivet Signed-off-by: Adrien Mazarguil --- lib/librte_ether/rte_e

[dpdk-dev] [PATCH v6 11/22] ethdev: save VLAN filter setting

2017-07-06 Thread Gaetan Rivet
Other configuration items (i.e. MAC addresses) are stored within rte_eth_dev_data, but not this one. Signed-off-by: Gaetan Rivet --- lib/librte_ether/rte_ethdev.c | 19 ++- lib/librte_ether/rte_ethdev.h | 10 ++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git

[dpdk-dev] [PATCH v6 10/22] bus: remove useless plug parameter

2017-07-06 Thread Gaetan Rivet
The prior scan should link the relevant rte_devargs to the newly allocated rte_device. As such, it is useless to pass device arguments to the plug callback. Fixes: 7c8810f43f6e ("bus: introduce device plug/unplug") Fixes: 00e62aae69c0 ("bus/pci: implement plug/unplug operations") Fixes: a3ee360f44

[dpdk-dev] [PATCH v6 09/22] vdev: implement plug operation

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet --- lib/librte_eal/common/eal_common_vdev.c | 12 +++- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/librte_eal/common/eal_common_vdev.c b/lib/librte_eal/common/eal_common_vdev.c index 517a9f3..5f1c224 100644 --- a/lib/librte_eal/common/eal

[dpdk-dev] [PATCH v6 08/22] vdev: add dev to vdev macro

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet --- lib/librte_eal/common/include/rte_vdev.h | 7 +++ 1 file changed, 7 insertions(+) diff --git a/lib/librte_eal/common/include/rte_vdev.h b/lib/librte_eal/common/include/rte_vdev.h index 3c07b76..639e6d6 100644 --- a/lib/librte_eal/common/include/rte_vdev.h +++

[dpdk-dev] [PATCH v6 07/22] pci: fix hotplug operations

2017-07-06 Thread Gaetan Rivet
The device handle is already known and does not have to be infered from the PCI address. Additionally, rte_memcpy.h was erroneously included. Fixes: 00e62aae69c0 ("bus/pci: implement plug/unplug operations") Signed-off-by: Gaetan Rivet --- lib/librte_eal/common/eal_common_pci.c | 25 ++

[dpdk-dev] [PATCH v6 06/22] pci: fix generic driver pointer on probe error

2017-07-06 Thread Gaetan Rivet
The field is set but never resetted on error. Fixes: 7917d5f5ea46 ("pci: initialize generic driver pointer") Cc: sta...@dpdk.org Signed-off-by: Gaetan Rivet --- lib/librte_eal/common/eal_common_pci.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/librte_eal/common/eal_common_pci.c b/l

[dpdk-dev] [PATCH v6 04/22] eal: release devargs on device removal

2017-07-06 Thread Gaetan Rivet
Release resources allocated for devargs when the device is being removed. Signed-off-by: Gaetan Rivet --- lib/librte_eal/common/eal_common_dev.c | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/librte_eal/common/eal_common_dev.c b/lib/librte_eal/common/eal_comm

[dpdk-dev] [PATCH v6 05/22] pci: use given name as generic name

2017-07-06 Thread Gaetan Rivet
The PCI device is referenced by other DPDK systems by the name of its parameter, not by the system name. Fixes: beec692c5157 ("eal: add name field to generic device") Cc: sta...@dpdk.org Signed-off-by: Gaetan Rivet --- lib/librte_eal/bsdapp/eal/eal_pci.c| 4 ++-- lib/librte_eal/common/eal_

[dpdk-dev] [PATCH v6 03/22] devargs: introduce removal function

2017-07-06 Thread Gaetan Rivet
Hotplug support introduces the possibility of removing devices from the system. Allocated resources must be freed. Signed-off-by: Gaetan Rivet --- lib/librte_eal/bsdapp/eal/rte_eal_version.map | 1 + lib/librte_eal/common/eal_common_devargs.c | 18 ++ lib/librte_eal/commo

[dpdk-dev] [PATCH v6 02/22] eal: fix hotplug add

2017-07-06 Thread Gaetan Rivet
New device should be represented by an rte_devarg prior to being plugged. Fixes: a3ee360f4440 ("eal: add hotplug add/remove device") Signed-off-by: Gaetan Rivet --- lib/librte_eal/common/eal_common_dev.c | 43 +++--- 1 file changed, 40 insertions(+), 3 deletions(-)

[dpdk-dev] [PATCH v6 00/22] introduce fail-safe PMD

2017-07-06 Thread Gaetan Rivet
This PMD intercepts and manages Ethernet device removal events issued by slave PMDs and re-initializes them transparently when brought back so that existing applications do not need to be modified to benefit from true hot-plugging support. The stacked PMD approach shares many similarities with the

[dpdk-dev] [PATCH v6 01/22] eal: return device handle upon plugin

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet --- lib/librte_eal/common/eal_common_dev.c | 40 +++-- lib/librte_eal/common/include/rte_dev.h | 10 + 2 files changed, 34 insertions(+), 16 deletions(-) diff --git a/lib/librte_eal/common/eal_common_dev.c b/lib/librte_eal/common/

[dpdk-dev] [PATCH v4] ethdev: add flow API rule copy function

2017-07-06 Thread Gaetan Rivet
This allows PMDs and applications to save flow rules in their generic format for later processing. This is useful when rules cannot be applied immediately, such as when the device is not properly initialized. Signed-off-by: Gaetan Rivet Signed-off-by: Adrien Mazarguil --- Gaetan, sorry for taki

[dpdk-dev] [PATCH v7 17/17] eal: change whitelist / blacklist command line doc

2017-07-06 Thread Gaetan Rivet
The use of these commands have evolved. It is now possible to use whitelist and blacklist on any bus. Update the source code accordingly. Signed-off-by: Gaetan Rivet Acked-by: John McNamara --- lib/librte_eal/common/eal_common_options.c | 18 +- lib/librte_eal/common/eal_option

[dpdk-dev] [PATCH v7 14/17] net/virtio: do not reference device type

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet --- drivers/net/virtio/virtio_pci.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/virtio/virtio_pci.c b/drivers/net/virtio/virtio_pci.c index b7b3d61..e6eda75 100644 --- a/drivers/net/virtio/virtio_pci.c +++ b/drivers/net/virtio/v

[dpdk-dev] [PATCH v7 15/17] devargs: generic device types

2017-07-06 Thread Gaetan Rivet
rte_devargs now represents any device from any bus. The related devtypes do not identify a bus anymore, only which scan policy the device subscribes to. The bus itself is identified by a bus handle previously introduced. Signed-off-by: Gaetan Rivet --- lib/librte_eal/common/eal_common_devargs.c

[dpdk-dev] [PATCH v7 16/17] devargs: introduce cleaner parsing helper

2017-07-06 Thread Gaetan Rivet
Introduce a more versatile helper to parse device strings. This helper expects a generic rte_devargs structure as storage in order not to require API changes in the future, should this structure be updated. The old equivalent function is thus being deprecated, as its API does not allow to accompan

[dpdk-dev] [PATCH v7 13/17] devargs: generic device representation

2017-07-06 Thread Gaetan Rivet
Remove the dependency of this subsystem upon bus specific device representation. Devargs only validates that a device declaration is correct and handled by a bus. The device interpretation is done afterward within the bus. Signed-off-by: Gaetan Rivet --- app/test-pmd/testpmd.c

[dpdk-dev] [PATCH v7 12/17] devargs: parse bus policies

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet --- lib/librte_eal/common/eal_common_devargs.c | 15 +++ 1 file changed, 15 insertions(+) diff --git a/lib/librte_eal/common/eal_common_devargs.c b/lib/librte_eal/common/eal_common_devargs.c index 102bd8d..16052a3 100644 --- a/lib/librte_eal/common/eal_co

[dpdk-dev] [PATCH v7 11/17] bus: introduce bus scan policies

2017-07-06 Thread Gaetan Rivet
Scan policies describe the way a bus should scan the system to search for possible devices. Three flags are introduced: RTE_BUS_SCAN_UNDEFINED: Configuration is irrelevant for this bus RTE_BUS_SCAN_WHITELIST: Scanning should be limited to declared devices RTE_BUS_SCAN_BLACKLIST: Scanning sho

[dpdk-dev] [PATCH v7 10/17] dev: device kernel module is a device attribute

2017-07-06 Thread Gaetan Rivet
It is used in generic device structures and must not be tied to a bus. Signed-off-by: Gaetan Rivet --- lib/librte_eal/common/include/rte_dev.h | 12 lib/librte_eal/common/include/rte_pci.h | 9 - 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/lib/librte_eal

[dpdk-dev] [PATCH v7 04/17] net/e1000: properly reference PCI header

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet --- drivers/net/e1000/e1000_ethdev.h | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/e1000/e1000_ethdev.h b/drivers/net/e1000/e1000_ethdev.h index 9266540..3f521a7 100644 --- a/drivers/net/e1000/e1000_ethdev.h +++ b/drivers/net/e1000/e1000_ethdev.h @@ -

[dpdk-dev] [PATCH v7 09/17] examples/ethtool: properly reference PCI header

2017-07-06 Thread Gaetan Rivet
From: Thomas Monjalon In devargs rework, rte_pci.h won't be included by rte_ethdev.h (via rte_devargs.h) anymore. rte_ethtool_get_drvinfo() could use rte_devargs.name instead of creating equivalent bus specific name. For now, it is workarounded by just including rte_pci.h. Signed-off-by: Thomas

[dpdk-dev] [PATCH v7 05/17] net/ixgbe: properly reference PCI header

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet --- drivers/net/ixgbe/ixgbe_ethdev.h | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ixgbe/ixgbe_ethdev.h b/drivers/net/ixgbe/ixgbe_ethdev.h index 10b9967..bcbd62d 100644 --- a/drivers/net/ixgbe/ixgbe_ethdev.h +++ b/drivers/net/ixgbe/ixgbe_ethdev.h @@ -

[dpdk-dev] [PATCH v7 08/17] test: properly reference PCI header

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet --- test/test/virtual_pmd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/test/test/virtual_pmd.c b/test/test/virtual_pmd.c index db99894..8e698bc 100644 --- a/test/test/virtual_pmd.c +++ b/test/test/virtual_pmd.c @@ -33,6 +33,7 @@ #include #include +#inclu

[dpdk-dev] [PATCH v7 07/17] app/testpmd: properly reference PCI header

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet --- app/test-pmd/testpmd.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h index 5cabeef..9cc313e 100644 --- a/app/test-pmd/testpmd.h +++ b/app/test-pmd/testpmd.h @@ -34,6 +34,8 @@ #ifndef _TESTPMD_H_ #define _TES

[dpdk-dev] [PATCH v7 06/17] net/sfc: properly reference PCI header

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet --- drivers/net/sfc/sfc.h | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/sfc/sfc.h b/drivers/net/sfc/sfc.h index 007ed24..41dff48 100644 --- a/drivers/net/sfc/sfc.h +++ b/drivers/net/sfc/sfc.h @@ -34,6 +34,7 @@ #include +#include #include #in

[dpdk-dev] [PATCH v7 02/17] net/bnxt: properly reference PCI header

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet --- drivers/net/bnxt/bnxt.h | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h index 1538aa5..07279f7 100644 --- a/drivers/net/bnxt/bnxt.h +++ b/drivers/net/bnxt/bnxt.h @@ -38,6 +38,7 @@ #include #include +#inclu

[dpdk-dev] [PATCH v7 00/17] Generic devargs parsing

2017-07-06 Thread Gaetan Rivet
The second part of the work outlined in [1] and [2]. The first part is at [3]. In this patchset, the representation of devices in rte_devargs is made generic to remove some dependencies of the EAL on specific buses implementations. Following the device types being characterized by their bus, the D

[dpdk-dev] [PATCH v7 03/17] net/mlx5: properly reference PCI header

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet --- drivers/net/mlx5/mlx5.h | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h index 1148dee..9ef2c11 100644 --- a/drivers/net/mlx5/mlx5.h +++ b/drivers/net/mlx5/mlx5.h @@ -54,6 +54,7 @@ #ifdef PEDANTIC #pragma GCC d

[dpdk-dev] [PATCH v7 01/17] net/bonding: properly reference PCI header

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet --- drivers/net/bonding/rte_eth_bond_args.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/bonding/rte_eth_bond_args.c b/drivers/net/bonding/rte_eth_bond_args.c index a422eb8..4f12050 100644 --- a/drivers/net/bonding/rte_eth_bond_args.c +++ b/drivers/

[dpdk-dev] [PATCH v8 6/6] devargs: parse bus info

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet Acked-by: Shreyansh Jain --- lib/librte_eal/common/eal_common_devargs.c | 42 - lib/librte_eal/common/eal_common_vdev.c | 6 +++-- lib/librte_eal/common/include/rte_devargs.h | 3 +++ 3 files changed, 42 insertions(+), 9 deletions(-)

[dpdk-dev] [PATCH v8 2/6] bus: introduce parsing functionality

2017-07-06 Thread Gaetan Rivet
This operation can be used either to validate that a device representation can be understood by a bus, as well as store the resulting specialized device representation in any format determined by the bus. Implementing this function allows EAL initialization routines to infer which bus should handl

[dpdk-dev] [PATCH v8 5/6] bus: add helper to find a bus from a device name

2017-07-06 Thread Gaetan Rivet
Find which bus should be able to parse this device name into an internal device representation. Signed-off-by: Gaetan Rivet Acked-by: Bruce Richardson --- lib/librte_eal/common/eal_common_bus.c | 21 + lib/librte_eal/common/eal_private.h| 12 2 files changed

[dpdk-dev] [PATCH v8 3/6] vdev: implement parse bus operation

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet Acked-by: Bruce Richardson --- lib/librte_eal/common/eal_common_vdev.c | 58 - 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/lib/librte_eal/common/eal_common_vdev.c b/lib/librte_eal/common/eal_common_vdev.c index 3bad

[dpdk-dev] [PATCH v8 4/6] pci: implement parse bus operation

2017-07-06 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet Acked-by: Bruce Richardson --- lib/librte_eal/common/eal_common_pci.c | 15 +++ 1 file changed, 15 insertions(+) diff --git a/lib/librte_eal/common/eal_common_pci.c b/lib/librte_eal/common/eal_common_pci.c index 2c99049..d7e2fb4 100644 --- a/lib/librte_e

[dpdk-dev] [PATCH v8 0/6] rte_bus parse API

2017-07-06 Thread Gaetan Rivet
Following the evolutions announced in [1], here is the first part of the rte_devargs rework planned for 17.08. The rationale has been partially explained in [2]. This first part covers the introduction of the necessary facilities in rte_bus to allow for generic device parsing. This API is implemen

[dpdk-dev] [PATCH v8 1/6] bus: fix driver registration

2017-07-06 Thread Gaetan Rivet
From: Thomas Monjalon The bus name was stored with embedded double quotes. Indeed the bus name is given with a string in a macro, which is not used elsewhere. These macros are useless because the buses are drivers, so they must not have any API for the application writer. The registration can be

[dpdk-dev] [PATCH] ethdev: fix build with gcc 5.4.0

2017-07-06 Thread Thomas Monjalon
Seen on Ubuntu 16.04 with GCC 5.4.0: lib/librte_ether/rte_ethdev.c: In function 'get_mac_addr_index': lib/librte_ether/rte_ethdev.c:2369:26: error: 'dev_info.max_mac_addrs' may be used uninitialized in this function Indeed, rte_eth_dev_info_get() do not write into dev_info if the port_id is not v

[dpdk-dev] [PATCH RFC] usertools: add dpdk run script

2017-07-06 Thread Keith Wiles
I use a script like this one with pktgen and wanted to see if DPDK would be interested in this application. The following script adds support for executing applications using a configuration file. The configuration file is formatted as a python data file to be loaded by the run.py script. Inside

[dpdk-dev] [PATCH v4 5/5] net/mlx5: add vectorized Rx/Tx burst for x86

2017-07-06 Thread Yongseok Koh
To make vectorized burst routines enabled, it is required to run on x86_64 architecture. If all the conditions are met, the vectorized burst functions are enabled automatically. The decision is made individually on RX and TX. There's no PMD option to make a selection. Signed-off-by: Yongseok Koh

[dpdk-dev] [PATCH v4 4/5] net/mlx5: select Rx/Tx callbacks when starting device

2017-07-06 Thread Yongseok Koh
The callbacks are global to a device but the seletion is made every queue configuration, which is redundant. Signed-off-by: Yongseok Koh Acked-by: Nelio Laranjeiro --- drivers/net/mlx5/mlx5_ethdev.c | 23 +++ drivers/net/mlx5/mlx5_rxq.c | 2 -- drivers/net/mlx5/mlx5_tr

[dpdk-dev] [PATCH v4 3/5] net/mlx5: use buffer address for LKEY search

2017-07-06 Thread Yongseok Koh
When searching LKEY, if search key is mempool pointer, the 2nd cacheline has to be accessed and it even requires to check whether a buffer is indirect per every search. Instead, using address for search key can reduce cycles taken. And caching the last hit entry is beneficial as well. Signed-off-b

[dpdk-dev] [PATCH v4 1/5] net/mlx5: change indexing for Tx SW ring

2017-07-06 Thread Yongseok Koh
For Tx SW ring (txq->elts[]), indexes are kept and used in txq->elts_head/tail. Because of this, one entry must always be left unused and it also makes code complex. Changed to store counters instead of indexes in order to make the code simpler and to reduce a few calculations. Signed-off-by: Yong

[dpdk-dev] [PATCH v4 2/5] net/mlx5: free buffers in bulk on Tx completion

2017-07-06 Thread Yongseok Koh
When processing Tx completion, it is more efficient to free buffers in bulk using rte_mempool_put_bulk() if buffers are from a same mempool. Signed-off-by: Yongseok Koh Acked-by: Nelio Laranjeiro --- drivers/net/mlx5/mlx5_rxtx.c | 33 - 1 file changed, 24 inserti

[dpdk-dev] [PATCH v4 0/5] net/mlx5: add vectorized Rx/Tx burst for x86

2017-07-06 Thread Yongseok Koh
This is to introduce more efficient Rx/Tx burst functions using SIMD instructions. Currently it is only supported by 64bit x86 having SSE4.1. >From functional perspective, Rx burst function is equivalent to the existing mlx5_rx_burst() except for scatter support, which will be added soon. Tx burst

Re: [dpdk-dev] [PATCH] igb_uio: issue FLR during open and release of device file

2017-07-06 Thread Gregory Etelson
I could not reproduce server crash with http://dpdk.org/dev/patchwork/patch/25267/ [1] However, pci_try_reset_function() API used in that patch is not defined in RedHat-6.x Linux-2.6.32 kernels Therefore I work with http://dpdk.org/dev/patchwork/patch/25061/ patch [2]. [2] was successfully test

Re: [dpdk-dev] [PATCH v3] ethdev: add flow API rule copy function

2017-07-06 Thread Gaƫtan Rivet
Hi Adrien, On Thu, Jul 06, 2017 at 06:56:54PM +0200, Adrien Mazarguil wrote: > From: Gaetan Rivet > > This allows PMDs and applications to save flow rules in their generic > format for later processing. This is useful when rules cannot be applied > immediately, such as when the device is not pro

[dpdk-dev] [PATCH v3] ethdev: add flow API rule copy function

2017-07-06 Thread Adrien Mazarguil
From: Gaetan Rivet This allows PMDs and applications to save flow rules in their generic format for later processing. This is useful when rules cannot be applied immediately, such as when the device is not properly initialized. Signed-off-by: Gaetan Rivet Signed-off-by: Adrien Mazarguil ---

[dpdk-dev] [PATCH v2] ether: add support for vtune task tracing

2017-07-06 Thread ilia . kurakin
From: Ilia Kurakin The patch adds tracing of loop iterations that yielded no packets in a DPDK application. It is using ITT task API: https://software.intel.com/en-us/node/544206 We suppose the flow of using this tracing would assume the user has ITT lib and header on machine and re-build DP

Re: [dpdk-dev] [PATCH] igb_uio: issue FLR during open and release of device file

2017-07-06 Thread Ferruh Yigit
On 6/12/2017 10:38 AM, Shijith Thotton wrote: > Set UIO info device file operations open and release. Call pci reset > function inside open and release to clear device state at start and end. > Copied this behaviour from vfio_pci kernel module code. With this patch, > it is not mandatory to issue F

[dpdk-dev] [PATCH] net/ring: add missing newlines in logs

2017-07-06 Thread Thomas Monjalon
Some logs are missing the newline character \n. The logs using only line can be checked with this command: git grep 'RTE_LOG(.*".*[^n]"' drivers/net/tap/ Fixes: 61934c0956d4 ("ring: convert to use of PMD_REGISTER_DRIVER and fix linking") Signed-off-by: Thomas Monjalon --- drivers/net/

[dpdk-dev] [PATCH] net/tap: add missing newlines in logs

2017-07-06 Thread Thomas Monjalon
Some logs are missing the newline character \n. The logs using only line can be checked with this command: git grep 'RTE_LOG(.*".*[^n]"' drivers/net/tap/ Fixes: 02f96a0a82d1 ("net/tap: add TUN/TAP device PMD") Fixes: 268483dc2086 ("net/tap: add preliminary support for flow API") Fixes: 2b

[dpdk-dev] [PATCH 3/3] eal: fix spelling in comment

2017-07-06 Thread Stephen Hemminger
Minor spelling error in comment. Signed-off-by: Stephen Hemminger --- lib/librte_eal/common/eal_common_pci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_eal/common/eal_common_pci.c b/lib/librte_eal/common/eal_common_pci.c index 7ed259b09cd0..15991b5e9640 10064

[dpdk-dev] [PATCH 2/3] fslmc: simplfy find_device

2017-07-06 Thread Stephen Hemminger
Don't need separate flag value. Signed-off-by: Stephen Hemminger --- drivers/bus/fslmc/fslmc_bus.c | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c index 1e3bbeeb0a66..88b969c073a0 100644 --- a/drivers/bus/fsl

  1   2   >