Re: [dpdk-dev] [dpdk-announce] DPDK 17.05.1 released

2017-06-30 Thread Kavanagh, Mark B
>From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Yuanhan Liu >Sent: Friday, June 30, 2017 12:24 PM >To: annou...@dpdk.org >Subject: [dpdk-dev] [dpdk-announce] DPDK 17.05.1 released > >Hi all, > >Here is a new stable release: > http://fast.dpdk.org/rel/dpdk-17.05.1.tar.xz > >The git tree

[dpdk-dev] [PATCH v2 11/11] doc: add new crypto session information

2017-06-30 Thread Pablo de Lara
Modified cryptodev library section in Programmer's Guide, with the recent changes in the rypto sessions. Signed-off-by: Slawomir Mrozowicz Signed-off-by: Pablo de Lara --- doc/guides/prog_guide/cryptodev_lib.rst | 59 ++-- doc/guides/prog_guide/img/cryptodev_sym_sess.svg | 418 +++

[dpdk-dev] [PATCH v2 09/11] cryptodev: support device independent sessions

2017-06-30 Thread Pablo de Lara
From: Slawomir Mrozowicz Change crypto device's session management to make it device independent and simplify architecture when session is intended to be used on more than one device. Sessions private data is agnostic to underlying device by adding an indirection in the sessions private data usi

[dpdk-dev] [PATCH v2 08/11] cryptodev: remove mempool from session

2017-06-30 Thread Pablo de Lara
From: Slawomir Mrozowicz Mempool pointer can be obtained from the object itself, which means that it is not required to actually store the pointer in the session. Signed-off-by: Slawomir Mrozowicz Signed-off-by: Pablo de Lara --- doc/guides/rel_notes/release_17_08.rst | 1 + lib/librte_crypto

[dpdk-dev] [PATCH v2 10/11] cryptodev: add mempool pointer in queue pair setup

2017-06-30 Thread Pablo de Lara
The session mempool pointer is needed in each queue pair, if session-less operations are being handled. Therefore, the API is changed to accept this parameter, as the session mempool is created outside the device configuration function, similar to what ethdev does with the rx queues. Signed-off-by

[dpdk-dev] [PATCH v2 07/11] cryptodev: remove driver id from session

2017-06-30 Thread Pablo de Lara
From: Slawomir Mrozowicz Since crypto session will not be attached to a specific device or driver, the field driver_id is not required anymore (only used to check that a session was being handled by the right device). Signed-off-by: Slawomir Mrozowicz Signed-off-by: Pablo de Lara --- doc/guid

[dpdk-dev] [PATCH v2 06/11] cryptodev: remove dev_id from crypto session

2017-06-30 Thread Pablo de Lara
From: Slawomir Mrozowicz Device id is necessary in the crypto session, as it was only used for the functions that attach/detach a session to a queue pair. Since the session is not going to be attached to a device anymore, this is field is no longer necessary. Signed-off-by: Slawomir Mrozowicz

[dpdk-dev] [PATCH v2 02/11] cryptodev: move session init out of session pool creation

2017-06-30 Thread Pablo de Lara
Prior to removing the session pool creation from cryptodev configure function, session init function needs to be separated from the pool creation. Signed-off-by: Pablo de Lara --- lib/librte_cryptodev/rte_cryptodev.c | 13 + 1 file changed, 5 insertions(+), 8 deletions(-) diff --git

[dpdk-dev] [PATCH v2 05/11] cryptodev: change attach session to queue pair API

2017-06-30 Thread Pablo de Lara
From: Slawomir Mrozowicz Device id is going to be removed from session, as the session will be device independent. Therefore, the functions that attach/dettach a session to a queue pair need to be updated, to accept the device id as a parameter, apart from the queue pair id and the session. Sign

[dpdk-dev] [PATCH v2 04/11] cryptodev: do not create session mempool internally

2017-06-30 Thread Pablo de Lara
From: Slawomir Mrozowicz Instead of creating the session mempool while configuring the crypto device, apps will create the mempool themselves. This way, it gives flexibility to the user to have a single mempool for all devices (as long as the objects are big enough to contain the biggest private

[dpdk-dev] [PATCH v2 01/11] cryptodev: remove unused cryptodev session structure

2017-06-30 Thread Pablo de Lara
Cryptodev session structure was a duplication of the cryptodev symmetric structure. It was used by some PMDs that should use the symmetric structure instead. Since this structure was internal, there is no deprecation notice required. Signed-off-by: Pablo de Lara --- drivers/crypto/kasumi/rte_ka

[dpdk-dev] [PATCH v2 03/11] cryptodev: add private session size retrieval function

2017-06-30 Thread Pablo de Lara
From: Slawomir Mrozowicz Provide a function to get the private session size of any crypto device (specifically, to its crypto driver). This will be useful once the session mempool is created outside the library. Signed-off-by: Slawomir Mrozowicz Signed-off-by: Pablo de Lara --- lib/librte_cr

[dpdk-dev] [PATCH v2 00/11] Device independent crypto sessions

2017-06-30 Thread Pablo de Lara
Currently, the cryptodev library requires the session mempools to be created inside each device. This can be a waste of memory, as several devices with the same driver could be using the same session. This patchset makes changes in the library to allow session to contain multiple driver private da

[dpdk-dev] [PATCH v4] cryptodev: remove crypto device type enumeration

2017-06-30 Thread Pablo de Lara
From: Slawomir Mrozowicz Changes device type identification to be based on a unique driver id replacing the current device type enumeration, which needed library changes every time a new crypto driver was added. The driver id is assigned dynamically during driver registration using the new macro

[dpdk-dev] [PATCH v3] cryptodev: remove crypto device type enumeration

2017-06-30 Thread Pablo de Lara
From: Slawomir Mrozowicz Changes device type identification to be based on a unique driver id replacing the current device type enumeration, which needed library changes every time a new crypto driver was added. The driver id is assigned dynamically during driver registration using the new macro

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

2017-06-30 Thread Bruce Richardson
On Fri, Jun 30, 2017 at 12:23:28PM -0700, Yongseok Koh wrote: > 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

Re: [dpdk-dev] [PATCH v7 06/15] bus: add helper to find which bus holds a device

2017-06-30 Thread Bruce Richardson
On Fri, Jun 30, 2017 at 06:46:31PM +0200, Jan Blunck wrote: > On Fri, Jun 30, 2017 at 11:16 AM, Thomas Monjalon wrote: > > 29/06/2017 20:21, Jan Blunck: > >> +static int > >> +bus_find_device(const struct rte_bus *bus, const void *_dev) > >> +{ > >> + struct rte_device *dev; > >> + > >> +

Re: [dpdk-dev] [PATCH v7 06/15] bus: add helper to find which bus holds a device

2017-06-30 Thread Bruce Richardson
On Fri, Jun 30, 2017 at 08:29:06PM +0200, Thomas Monjalon wrote: > 30/06/2017 18:46, Jan Blunck: > > On Fri, Jun 30, 2017 at 11:16 AM, Thomas Monjalon > > wrote: > > > 29/06/2017 20:21, Jan Blunck: > > >> +static int > > >> +bus_find_device(const struct rte_bus *bus, const void *_dev) > > >> +{ >

Re: [dpdk-dev] Raspberry Pi

2017-06-30 Thread Jim Thompson
Michael, There is no PMD for RPi, so you'll have to run AF_PACKET (librte_pmd_packet) or simila via tap interfacesr. DPDK-IN-A-BOX is designed (by Dave Hunt at Intel) to provide an easy startup and introduction to DPDK. https://dpdksummit.com/Archive/pdf/2016USA/Day02-Session16-DaveHunt-DPDKU

[dpdk-dev] [PATCH v2 5/5] net/mlx5: add vectorized Rx/Tx burst for SSE4.1

2017-06-30 Thread Yongseok Koh
To make vectorized burst routines enabled, it is required to run on x86_64 architecture which can support at least SSE4.1. 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 selecti

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

2017-06-30 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 --- drivers/net/mlx5/mlx5_rxq.c | 2 -- drivers/net/mlx5/mlx5_trigger.c | 3 +++ drivers/net/mlx5/mlx5_txq.c | 2 -- 3 files changed, 3 insertions(+),

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

2017-06-30 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 v2 3/5] net/mlx5: use buffer address for LKEY search

2017-06-30 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 v2 2/5] net/mlx5: free buffers in bulk on Tx completion

2017-06-30 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 --- drivers/net/mlx5/mlx5_rxtx.c | 33 - 1 file changed, 24 insertions(+), 9 deletions(-) diff

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

2017-06-30 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 1/8] eal: expose rte_eal_using_phys_addrs

2017-06-30 Thread Jan Blunck
On Thu, Jun 1, 2017 at 12:14 PM, Gaetan Rivet wrote: > This function was previously private to the EAL layer. > Other subsystems requires it, such as the PCI bus. > > This function is only exposed for linuxapps. > > In order not to force other components to include stdbool, which is > incompatible

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

2017-06-30 Thread Yongseok Koh
On Fri, Jun 30, 2017 at 03:01:51PM +0200, Nélio Laranjeiro wrote: > On Wed, Jun 28, 2017 at 04:04:01PM -0700, Yongseok Koh wrote: > > 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 ev

Re: [dpdk-dev] [PATCH v8 09/14] bus: introduce device plug/unplug functionality

2017-06-30 Thread Jan Blunck
On Fri, Jun 30, 2017 at 8:38 PM, Gaëtan Rivet wrote: > On Fri, Jun 30, 2017 at 08:19:38PM +0200, Jan Blunck wrote: >> This allows the buses to plug and probe specific devices. This is meant to >> be a building block for hotplug support. >> >> Signed-off-by: Jan Blunck >> --- >> lib/librte_eal/co

Re: [dpdk-dev] [PATCH v8 09/14] bus: introduce device plug/unplug functionality

2017-06-30 Thread Gaëtan Rivet
On Fri, Jun 30, 2017 at 08:19:38PM +0200, Jan Blunck wrote: > This allows the buses to plug and probe specific devices. This is meant to > be a building block for hotplug support. > > Signed-off-by: Jan Blunck > --- > lib/librte_eal/common/eal_common_bus.c | 2 ++ > lib/librte_eal/common/inclu

Re: [dpdk-dev] [PATCH v7 06/15] bus: add helper to find which bus holds a device

2017-06-30 Thread Thomas Monjalon
30/06/2017 18:46, Jan Blunck: > On Fri, Jun 30, 2017 at 11:16 AM, Thomas Monjalon wrote: > > 29/06/2017 20:21, Jan Blunck: > >> +static int > >> +bus_find_device(const struct rte_bus *bus, const void *_dev) > >> +{ > >> + struct rte_device *dev; > >> + > >> + dev = bus->find_device(NULL, c

Re: [dpdk-dev] [PATCH] net/mlx: update C compliance standard

2017-06-30 Thread Yongseok Koh
Hi, Thanks, Yongseok > On Jun 30, 2017, at 11:14 AM, Yongseok Koh wrote: > > >> On Jun 30, 2017, at 10:47 AM, Ferruh Yigit wrote: >> >> On 6/30/2017 6:19 PM, Adrien Mazarguil wrote: >>> This commit addresses a compilation issue against Glibc >= 2.25, which >>> implements assert() through

[dpdk-dev] [PATCH v8 13/14] ethdev: Use embedded rte_device to detach driver

2017-06-30 Thread Jan Blunck
This is changing the API of rte_eal_dev_detach(). Signed-off-by: Jan Blunck --- app/test-pmd/testpmd.c | 2 +- lib/librte_eal/common/eal_common_dev.c | 32 +++- lib/librte_eal/common/include/rte_dev.h | 7 +++ lib/librte_ether/rte_ethdev.c

[dpdk-dev] [PATCH v8 07/14] bus: require buses to implement find_device operation

2017-06-30 Thread Jan Blunck
Signed-off-by: Jan Blunck --- lib/librte_eal/common/eal_common_bus.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/librte_eal/common/eal_common_bus.c b/lib/librte_eal/common/eal_common_bus.c index 5d06f5d..b8a9e30 100644 --- a/lib/librte_eal/common/eal_common_bus.c +++ b/lib/librte_eal

[dpdk-dev] [PATCH v8 14/14] dev: use new hotplug API in attach

2017-06-30 Thread Jan Blunck
Using the new hotplug API allows attach to be backwards compatible while decoupling it from the concrete bus implementations. Signed-off-by: Jan Blunck --- lib/librte_eal/common/eal_common_dev.c | 27 +-- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/lib

[dpdk-dev] [PATCH v8 12/14] eal: add hotplug add/remove functions

2017-06-30 Thread Jan Blunck
Signed-off-by: Jan Blunck --- lib/librte_eal/bsdapp/eal/rte_eal_version.map | 8 +++ lib/librte_eal/common/eal_common_dev.c | 88 + lib/librte_eal/common/include/rte_dev.h | 34 ++ lib/librte_eal/linuxapp/eal/rte_eal_version.map | 8 +++ 4 file

[dpdk-dev] [PATCH v8 11/14] pci: implement hotplug bus operation

2017-06-30 Thread Jan Blunck
From: Gaetan Rivet Signed-off-by: Gaetan Rivet --- lib/librte_eal/common/eal_common_pci.c | 34 ++ 1 file changed, 34 insertions(+) diff --git a/lib/librte_eal/common/eal_common_pci.c b/lib/librte_eal/common/eal_common_pci.c index e449758..5ee100e 100644 --- a/

[dpdk-dev] [PATCH v8 10/14] vdev: implement unplug bus operation

2017-06-30 Thread Jan Blunck
Signed-off-by: Jan Blunck --- lib/librte_eal/common/eal_common_vdev.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/lib/librte_eal/common/eal_common_vdev.c b/lib/librte_eal/common/eal_common_vdev.c index 9bb7427..baf3c5b 100644 --- a/lib/librte_eal/common/eal_common_vdev.c

[dpdk-dev] [PATCH v8 09/14] bus: introduce device plug/unplug functionality

2017-06-30 Thread Jan Blunck
This allows the buses to plug and probe specific devices. This is meant to be a building block for hotplug support. Signed-off-by: Jan Blunck --- lib/librte_eal/common/eal_common_bus.c | 2 ++ lib/librte_eal/common/include/rte_bus.h | 32 2 files changed, 34 in

[dpdk-dev] [PATCH v8 08/14] bus: add rte_bus_find_by_name

2017-06-30 Thread Jan Blunck
Signed-off-by: Jan Blunck --- lib/librte_eal/bsdapp/eal/rte_eal_version.map | 1 + lib/librte_eal/common/eal_common_bus.c | 14 ++ lib/librte_eal/common/include/rte_bus.h | 5 + lib/librte_eal/linuxapp/eal/rte_eal_version.map | 1 + 4 files changed, 21 insert

[dpdk-dev] [PATCH v8 06/14] bus: add helper to find which bus holds a device

2017-06-30 Thread Jan Blunck
Signed-off-by: Jan Blunck Signed-off-by: Gaetan Rivet --- lib/librte_eal/bsdapp/eal/rte_eal_version.map | 1 + lib/librte_eal/common/eal_common_bus.c | 23 +++ lib/librte_eal/common/include/rte_bus.h | 5 + lib/librte_eal/linuxapp/eal/rte_eal_version.

[dpdk-dev] [PATCH v8 05/14] bus/fslmc: implement find_device bus operation

2017-06-30 Thread Jan Blunck
Signed-off-by: Jan Blunck --- drivers/bus/fslmc/fslmc_bus.c | 23 +++ 1 file changed, 23 insertions(+) diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c index b24642d..1e3bbee 100644 --- a/drivers/bus/fslmc/fslmc_bus.c +++ b/drivers/bus/fslmc/fslmc_bu

[dpdk-dev] [PATCH v8 04/14] pci: implement find_device bus operation

2017-06-30 Thread Jan Blunck
Signed-off-by: Jan Blunck --- lib/librte_eal/common/eal_common_pci.c | 21 + 1 file changed, 21 insertions(+) diff --git a/lib/librte_eal/common/eal_common_pci.c b/lib/librte_eal/common/eal_common_pci.c index 479c62d..e449758 100644 --- a/lib/librte_eal/common/eal_common_pci

[dpdk-dev] [PATCH v8 03/14] vdev: implement find_device bus operation

2017-06-30 Thread Jan Blunck
Signed-off-by: Jan Blunck Signed-off-by: Gaetan Rivet --- lib/librte_eal/common/eal_common_vdev.c | 21 + 1 file changed, 21 insertions(+) diff --git a/lib/librte_eal/common/eal_common_vdev.c b/lib/librte_eal/common/eal_common_vdev.c index b4db2be..9bb7427 100644 --- a/lib/

[dpdk-dev] [PATCH v8 00/14] bus attach/detach API and hotplug rework

2017-06-30 Thread Jan Blunck
-- v7 * Revert removal of RTE_VERIFY on find_device operation since a bus that isn't able to even iterate its devices is pointless * Revert plug() changes that have been introduced in v3: int (*rte_bus_plug_t)(struct rte_device *dev, const char *devargs); * Revert pointless reordering of sta

[dpdk-dev] [PATCH v8 02/14] bus: add find_device bus operation

2017-06-30 Thread Jan Blunck
This new method allows buses to expose their devices in a controlled manner. A comparison function is provided by the user to discriminate between devices, using arbitrary data as identifier. It is possible to start an iteration from a specific point, in order to continue a search. Signed-off-by:

[dpdk-dev] [PATCH v8 01/14] bus: add bus iterator to find a bus

2017-06-30 Thread Jan Blunck
This helper allows to iterate over all registered buses and find one matching data used as parameter. Signed-off-by: Jan Blunck Signed-off-by: Gaetan Rivet --- lib/librte_eal/bsdapp/eal/rte_eal_version.map | 7 + lib/librte_eal/common/eal_common_bus.c | 19 +++ lib/librt

Re: [dpdk-dev] [PATCH] net/mlx: update C compliance standard

2017-06-30 Thread Yongseok Koh
> On Jun 30, 2017, at 10:47 AM, Ferruh Yigit wrote: > > On 6/30/2017 6:19 PM, Adrien Mazarguil wrote: >> This commit addresses a compilation issue against Glibc >= 2.25, which >> implements assert() through a nonstandard ({ }) construct. Such constructs >> can normally not be used without __exte

[dpdk-dev] [PATCH v2] crypto/scheduler: add multicore scheduling mode

2017-06-30 Thread Pablo de Lara
From: Kirill Rybalchenko Multi-core scheduling mode is a mode where scheduler distributes crypto operations in a round-robin base, between several core assigned as workers. Signed-off-by: Kirill Rybalchenko --- Changes in v2: - Rebased against dpdk-next-crypto - Fixed compilation issue - Addre

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

2017-06-30 Thread Yongseok Koh
On Fri, Jun 30, 2017 at 02:43:21PM +0200, Nélio Laranjeiro wrote: > On Fri, Jun 30, 2017 at 02:30:47PM +0200, Nélio Laranjeiro wrote: > > On Wed, Jun 28, 2017 at 04:04:00PM -0700, Yongseok Koh wrote: > > > When processing Tx completion, it is more efficient to free buffers in > > > bulk > > > usin

Re: [dpdk-dev] [PATCH] net/mlx: update C compliance standard

2017-06-30 Thread Ferruh Yigit
On 6/30/2017 6:19 PM, Adrien Mazarguil wrote: > This commit addresses a compilation issue against Glibc >= 2.25, which > implements assert() through a nonstandard ({ }) construct. Such constructs > can normally not be used without __extension__ keyword when -pedantic is > enabled, as is the case wh

Re: [dpdk-dev] [PATCH v9 10/20] unci: init netlink

2017-06-30 Thread Stephen Hemminger
On Fri, 30 Jun 2017 17:51:30 +0100 Ferruh Yigit wrote: > +static struct mutex sync_lock; > + > +static void nl_recv(struct sk_buff *skb) > +{ > + struct nlmsghdr *nlh; > + struct unci_nl_msg nl_msg; > + > + nlh = (struct nlmsghdr *)skb->data; > + > + memcpy(&nl_msg, NLMSG_DATA(nlh

Re: [dpdk-dev] [PATCH v9 10/20] unci: init netlink

2017-06-30 Thread Stephen Hemminger
On Fri, 30 Jun 2017 17:51:30 +0100 Ferruh Yigit wrote: > #define UNCI_DEVICE "unci" > > +#define UNCI_NL_GRP 31 > + > +#define UNCI_NL_MSG_LEN 500 > +struct unci_nl_msg { > + uint32_t cmd_id; > + uint8_t port_id; > + uint32_t flag; > + uint8_t input_buffer[UNCI_NL_MSG_LEN]; > +

Re: [dpdk-dev] [PATCH v9 09/20] unci: add rtnl newlink

2017-06-30 Thread Stephen Hemminger
On Fri, 30 Jun 2017 17:51:29 +0100 Ferruh Yigit wrote: > + > +#ifndef _RTE_UNCI_COMMON_H_ > +#define _RTE_UNCI_COMMON_H_ > + > +#define UNCI_DEVICE "unci" > + > +enum { > + IFLA_UNCI_UNSPEC, > + IFLA_UNCI_PORTID, > + IFLA_UNCI_PID, > + __IFLA_UNCI_MAX, > +}; > + > +#define IFLA_UN

[dpdk-dev] [PATCH] net/mlx: update C compliance standard

2017-06-30 Thread Adrien Mazarguil
This commit addresses a compilation issue against Glibc >= 2.25, which implements assert() through a nonstandard ({ }) construct. Such constructs can normally not be used without __extension__ keyword when -pedantic is enabled, as is the case when compiling mlx4 and mlx5 PMDs in debug mode. While

Re: [dpdk-dev] [PATCH v8 4/4] ethdev: add control interface support

2017-06-30 Thread Ferruh Yigit
On 6/21/2017 4:24 PM, Stephen Hemminger wrote: > On Wed, 21 Jun 2017 12:06:51 +0100 > Ferruh Yigit wrote: > >> To have the support corresponding kernel module (UNCI) needs to be >> inserted. If kernel module is not there, application will run as >> it is without kernel control path support. >> >

Re: [dpdk-dev] [PATCH v8 2/4] unci: add kernel control path kernel module

2017-06-30 Thread Ferruh Yigit
On 6/21/2017 4:23 PM, Stephen Hemminger wrote: > On Wed, 21 Jun 2017 12:06:49 +0100 > Ferruh Yigit wrote: > >> +static struct ethtool_input_buffer { >> +int magic; >> +void *buffer; >> +size_t length; >> +struct completion *msg_received; >> +int *err; >> +u32 in_use; >> +}

Re: [dpdk-dev] [PATCH v8 0/4] Userspace Network Control Interface (UNCI)

2017-06-30 Thread Ferruh Yigit
On 6/29/2017 5:13 PM, Ferruh Yigit wrote: <...> >> 3. From a patchset split point of view, could this set be split up to be >> a bit more granular. There are a lot of functions to be performed on >> NICs called out in the code, e.g. start/stop, get stats, etc. etc. To >> make review easier, should

[dpdk-dev] [PATCH v9 19/20] doc: add control interface library documentation

2017-06-30 Thread Ferruh Yigit
Signed-off-by: Ferruh Yigit --- doc/api/doxy-api-index.md | 3 +- doc/api/doxy-api.conf | 1 + doc/guides/prog_guide/ctrl_if_lib.rst | 50 ++ doc/guides/prog_guide/index.rst| 1 + doc/guides/rel_notes/release_17_08.rst | 8

[dpdk-dev] [PATCH v9 20/20] ethdev: add control interface support

2017-06-30 Thread Ferruh Yigit
To have the support corresponding kernel module (UNCI) needs to be inserted. If kernel module is not there, application will run as it is without kernel control path support. When UNCI module inserted, running application creates a virtual Linux network interface (dpdk$) per DPDK port. This inter

[dpdk-dev] [PATCH v9 18/20] ctrl_if: process ethtool messages

2017-06-30 Thread Ferruh Yigit
Process ethtool messages and rend response back to kernel. Signed-off-by: Ferruh Yigit --- lib/librte_ctrl_if/rte_ctrl_process.c | 223 ++ lib/librte_ctrl_if/rte_ctrl_process.h | 4 + lib/librte_ctrl_if/rte_nl.c | 4 + 3 files changed, 231 insertions

[dpdk-dev] [PATCH v9 17/20] ctrl_if: process control messages

2017-06-30 Thread Ferruh Yigit
Receive the requests from virtual interface and process control messages. Signed-off-by: Ferruh Yigit --- lib/librte_ctrl_if/Makefile | 1 + lib/librte_ctrl_if/rte_ctrl_process.c | 167 ++ lib/librte_ctrl_if/rte_ctrl_process.h | 50 ++ lib/lib

[dpdk-dev] [PATCH v9 16/20] ctrl_if: initialize netlink interface

2017-06-30 Thread Ferruh Yigit
Initialize netlink sockets to exchange data between kernelspace. Signed-off-by: Ferruh Yigit --- lib/librte_ctrl_if/Makefile | 2 + lib/librte_ctrl_if/rte_ctrl_if.c | 9 +++ lib/librte_ctrl_if/rte_nl.c | 158 +++ lib/librte_ctrl_if/rte_nl.h

[dpdk-dev] [PATCH v9 15/20] ctrl_if: add create destroy interface APIs

2017-06-30 Thread Ferruh Yigit
Library provides two APIs to create and destroy interfaces. rtnl used to create or destroy interfaces. Signed-off-by: Ferruh Yigit --- lib/librte_ctrl_if/rte_ctrl_if.c | 304 + lib/librte_ctrl_if/rte_ctrl_if.h | 34 lib/librte_ctrl_if/rte_ct

[dpdk-dev] [PATCH v9 14/20] ctrl_if: add library skeleton

2017-06-30 Thread Ferruh Yigit
Add base files for new control interface library. Control interface is on top of ethtool and ethdev libraries. Control interface connects to the netlink socket provided by Linux kernel and passes commands received via netlink interface to the network drivers. Signed-off-by: Ferruh Yigit --- MA

[dpdk-dev] [PATCH v9 13/20] unci: add ethtool support

2017-06-30 Thread Ferruh Yigit
Add ethtool support to the virtual interface. Ethtool functions also use netlink exec to get data from userspace. Signed-off-by: Ferruh Yigit --- lib/librte_eal/linuxapp/unci/Makefile | 1 + lib/librte_eal/linuxapp/unci/unci_dev.h | 2 + lib/librte_eal/linuxapp/unci/unci_ethtool.c

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

2017-06-30 Thread Ferruh Yigit
Add netlink exec function, which sends a message to userspace and waits and receives the response from userspace. Signed-off-by: Ferruh Yigit --- .../eal/include/exec-env/rte_unci_common.h | 6 + lib/librte_eal/linuxapp/unci/unci_dev.h| 4 + lib/librte_eal/linuxapp/unci/u

[dpdk-dev] [PATCH v9 12/20] unci: add netdevice ops

2017-06-30 Thread Ferruh Yigit
Add ndos for virtual interface. Almost all ndos use netlink exec to pass command to userspace and read response. Signed-off-by: Ferruh Yigit --- .../eal/include/exec-env/rte_unci_common.h | 17 +++ lib/librte_eal/linuxapp/unci/unci_net.c| 132 - 2 files c

[dpdk-dev] [PATCH v9 10/20] unci: init netlink

2017-06-30 Thread Ferruh Yigit
Initialize netlink socket. Userspace application will connect to the socket for data transfer. Signed-off-by: Ferruh Yigit --- .../eal/include/exec-env/rte_unci_common.h | 14 ++ lib/librte_eal/linuxapp/unci/Makefile | 1 + lib/librte_eal/linuxapp/unci/unci_dev.h

[dpdk-dev] [PATCH v9 09/20] unci: add rtnl newlink

2017-06-30 Thread Ferruh Yigit
Use rtnl to create a new interface. Interface is not setup yet. Pid and port_id should be provided by userspace application that does the call for interface creation. Signed-off-by: Ferruh Yigit --- lib/librte_eal/linuxapp/eal/Makefile | 1 + .../eal/include/exec-env/rte_unci_com

[dpdk-dev] [PATCH v9 08/20] unci: add module skeleton

2017-06-30 Thread Ferruh Yigit
Base files to have a new kernel module, without actual source code. Signed-off-by: Ferruh Yigit --- MAINTAINERS | 4 +++ config/common_base | 5 config/common_linuxapp | 1 + lib/librte_eal/linuxapp/Makefile| 4 ++

[dpdk-dev] [PATCH v9 04/20] ethtool: update header doxygen syntax

2017-06-30 Thread Ferruh Yigit
Minor corrections and doxygen syntax fixes on library header file. Signed-off-by: Ferruh Yigit --- lib/librte_ethtool/rte_ethtool.h | 57 +--- 1 file changed, 30 insertions(+), 27 deletions(-) diff --git a/lib/librte_ethtool/rte_ethtool.h b/lib/librte_ethtool

[dpdk-dev] [PATCH v9 03/20] ethtool: remove PMD specific API call

2017-06-30 Thread Ferruh Yigit
ethtool library has ixgbe specific API call, this needs to be removed when moved into lib folder, libraries shouldn't have PMD dependencies. Signed-off-by: Ferruh Yigit --- lib/librte_ethtool/rte_ethtool.c | 23 +-- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git

[dpdk-dev] [PATCH v9 06/20] doc: add ethtool library documentation

2017-06-30 Thread Ferruh Yigit
Signed-off-by: Ferruh Yigit --- doc/api/doxy-api-index.md | 3 +- doc/api/doxy-api.conf | 1 + doc/guides/prog_guide/ethtool_lib.rst | 62 ++ doc/guides/prog_guide/index.rst| 1 + doc/guides/rel_notes/release_17_08.rst | 5

[dpdk-dev] [PATCH v9 07/20] doc: update ethtool sample app doc

2017-06-30 Thread Ferruh Yigit
Signed-off-by: Ferruh Yigit --- doc/guides/sample_app_ug/ethtool.rst | 36 1 file changed, 4 insertions(+), 32 deletions(-) diff --git a/doc/guides/sample_app_ug/ethtool.rst b/doc/guides/sample_app_ug/ethtool.rst index 67797954d..def48985d 100644 --- a/doc/g

[dpdk-dev] [PATCH v9 05/20] ethtool: enable library

2017-06-30 Thread Ferruh Yigit
Enable ethtool library for Linux by default. Enable ethtool sample application that uses ethtool library. Signed-off-by: Ferruh Yigit --- config/common_linuxapp | 1 + examples/Makefile | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/config/common_linuxapp b/config/co

[dpdk-dev] [PATCH v9 00/20] Userspace Network Control Interface (UNCI)

2017-06-30 Thread Ferruh Yigit
Userspace Network Control Interface (UNCI), (formerly KCP). When a NIC bound to the DPDK, it can't be controlled by Linux tools. This patch creates a virtual network interface for each DPDK port, initial target is to get some data from those interfaces, in next step target is to control DPDK port

[dpdk-dev] [PATCH v9 02/20] ethtool: move from sample folder into lib folder

2017-06-30 Thread Ferruh Yigit
ethtool library initially developed for ethtool sample application, moving it to library folder to reuse it. Sample application will continue to use ethtool library. Sample application disabled for now, it will be enabled again when modifications to the ethtool library finished. Signed-off-by: F

[dpdk-dev] [PATCH v9 01/20] ethtool: add library skeleton

2017-06-30 Thread Ferruh Yigit
Library is disabled by default. Signed-off-by: Ferruh Yigit --- MAINTAINERS| 3 +++ config/common_base | 5 + doc/guides/rel_notes/release_17_08.rst | 1 + lib/Makefile | 2 ++ lib/librte_eal/common/inc

Re: [dpdk-dev] [PATCH v7 06/15] bus: add helper to find which bus holds a device

2017-06-30 Thread Jan Blunck
On Fri, Jun 30, 2017 at 11:16 AM, Thomas Monjalon wrote: > 29/06/2017 20:21, Jan Blunck: >> +static int >> +bus_find_device(const struct rte_bus *bus, const void *_dev) >> +{ >> + struct rte_device *dev; >> + >> + dev = bus->find_device(NULL, cmp_rte_device, _dev); >> + return !dev; >>

Re: [dpdk-dev] [PATCH] app/crypto-perf: set crypto op pool cache

2017-06-30 Thread Trahe, Fiona
> -Original Message- > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Sergio Gonzalez Monroy > Sent: Friday, June 30, 2017 8:56 AM > To: dev@dpdk.org > Subject: [dpdk-dev] [PATCH] app/crypto-perf: set crypto op pool cache > > Signed-off-by: Sergio Gonzalez Monroy Acked by: Fiona T

Re: [dpdk-dev] [PATCH] app/crypto-perf: fix digest data for chained mbufs

2017-06-30 Thread Trahe, Fiona
> -Original Message- > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Sergio Gonzalez Monroy > Sent: Friday, June 30, 2017 8:56 AM > To: dev@dpdk.org; sta...@dpdk.org > Subject: [dpdk-dev] [PATCH] app/crypto-perf: fix digest data for chained mbufs > > Use corect mbuf segment for ch

Re: [dpdk-dev] [PATCH v7 13/15] eal: add hotplug add/remove functions

2017-06-30 Thread Thomas Monjalon
30/06/2017 18:25, Bruce Richardson: > On Fri, Jun 30, 2017 at 06:13:51PM +0200, Gaëtan Rivet wrote: > > On Fri, Jun 30, 2017 at 06:03:17PM +0200, Thomas Monjalon wrote: > > > 30/06/2017 17:44, Jan Blunck: > > > > On Fri, Jun 30, 2017 at 11:20 AM, Bruce Richardson > > > > wrote: > > > > > On Fri, J

Re: [dpdk-dev] [PATCH v7 13/15] eal: add hotplug add/remove functions

2017-06-30 Thread Bruce Richardson
On Fri, Jun 30, 2017 at 06:13:51PM +0200, Gaëtan Rivet wrote: > On Fri, Jun 30, 2017 at 06:03:17PM +0200, Thomas Monjalon wrote: > > 30/06/2017 17:44, Jan Blunck: > > > On Fri, Jun 30, 2017 at 11:20 AM, Bruce Richardson > > > wrote: > > > > On Fri, Jun 30, 2017 at 11:11:42AM +0200, Gaėtan Rivet wr

Re: [dpdk-dev] Raspberry Pi

2017-06-30 Thread Michael Williams
Since installing DPDK is not an easy task I wanted to make sure the Raspberry Pi was a supported platform before I spent time on it. I looked at the hardware compatibility list and the Pi wasn’t on it but there were also messages talking about ARM7 and ARM8 support in DPDK so I was wondering if

Re: [dpdk-dev] [PATCH v7 13/15] eal: add hotplug add/remove functions

2017-06-30 Thread Gaëtan Rivet
On Fri, Jun 30, 2017 at 06:03:17PM +0200, Thomas Monjalon wrote: > 30/06/2017 17:44, Jan Blunck: > > On Fri, Jun 30, 2017 at 11:20 AM, Bruce Richardson > > wrote: > > > On Fri, Jun 30, 2017 at 11:11:42AM +0200, Gaėtan Rivet wrote: > > >> On Fri, Jun 30, 2017 at 11:06:03AM +0200, Thomas Monjalon wr

Re: [dpdk-dev] [PATCH] app/crypto-perf: use rte_mempool_put_bulk

2017-06-30 Thread Trahe, Fiona
> -Original Message- > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Sergio Gonzalez Monroy > Sent: Friday, June 30, 2017 8:57 AM > To: dev@dpdk.org > Cc: De Lara Guarch, Pablo > Subject: [dpdk-dev] [PATCH] app/crypto-perf: use rte_mempool_put_bulk > > Use rte_mempool_put_bulk fo

[dpdk-dev] [PATCH v11 1/2] mem: balanced allocation of hugepages

2017-06-30 Thread Thomas Monjalon
From: Ilya Maximets Currently EAL allocates hugepages one by one not paying attention from which NUMA node allocation was done. Such behaviour leads to allocation failure if number of available hugepages for application limited by cgroups or hugetlbfs and memory requested not only from the first

[dpdk-dev] [PATCH v11 0/2] Balanced allocation of hugepages

2017-06-30 Thread Thomas Monjalon
Version 11: * Fixed test-build.sh for missing libnuma dependency Version 10: * Fixed typo in DPAA2 config. Version 9: * Removed DPDK_DEP_NUMA from test-build.sh . Not needed anymore. * Fixed out of bound write to essential_memory in case where s

[dpdk-dev] [PATCH v11 2/2] config: enable vhost NUMA awareness by default

2017-06-30 Thread Thomas Monjalon
From: Ilya Maximets It is safe to enable LIBRTE_VHOST_NUMA by default for all configurations where libnuma is already a default dependency. Signed-off-by: Ilya Maximets Acked-by: Hemant Agrawal Acked-by: Jerin Jacob Tested-by: Jerin Jacob --- config/common_linuxapp| 1 +

Re: [dpdk-dev] [PATCH v3 1/3] eal: add functions parsing EAL arguments

2017-06-30 Thread Bruce Richardson
On Tue, Jun 27, 2017 at 12:52:38PM +0200, Jacek Piasecki wrote: > From: Kuba Kozak > > added function rte_eal_configure which configure > Environment Abstraction Layer (EAL) using > configuration structure. > > Signed-off-by: Kuba Kozak > Suggested-by: Bruce Richardson > --- Thanks for lookin

Re: [dpdk-dev] [PATCH v7 13/15] eal: add hotplug add/remove functions

2017-06-30 Thread Thomas Monjalon
30/06/2017 17:44, Jan Blunck: > On Fri, Jun 30, 2017 at 11:20 AM, Bruce Richardson > wrote: > > On Fri, Jun 30, 2017 at 11:11:42AM +0200, Gaėtan Rivet wrote: > >> On Fri, Jun 30, 2017 at 11:06:03AM +0200, Thomas Monjalon wrote: > >> > 29/06/2017 20:22, Jan Blunck: > >> > > /** > >> > > + * Hotplu

Re: [dpdk-dev] [PATCH v10 2/2] config: enable vhost numa awareness by default

2017-06-30 Thread Thomas Monjalon
29/06/2017 07:59, Ilya Maximets: > It is safe to enable LIBRTE_VHOST_NUMA by default for all > configurations where libnuma is already a default dependency. > > DPDK_DEP_NUMA not needed anymore. > > Signed-off-by: Ilya Maximets > Acked-by: Hemant Agrawal > --- > config/common_linuxapp

Re: [dpdk-dev] [PATCH v7 13/15] eal: add hotplug add/remove functions

2017-06-30 Thread Jan Blunck
On Fri, Jun 30, 2017 at 11:20 AM, Bruce Richardson wrote: > On Fri, Jun 30, 2017 at 11:11:42AM +0200, Gaėtan Rivet wrote: >> On Fri, Jun 30, 2017 at 11:06:03AM +0200, Thomas Monjalon wrote: >> > 29/06/2017 20:22, Jan Blunck: >> > > /** >> > > + * Hotplug add a given device to a specific bus. >> >

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

2017-06-30 Thread Hu, Jiayu
Hi Konstantin, > -Original Message- > From: Ananyev, Konstantin > Sent: Friday, June 30, 2017 8:07 PM > To: Hu, Jiayu > Cc: dev@dpdk.org; Tan, Jianfeng ; > step...@networkplumber.org; y...@fridaylinux.org; Wu, Jingjing > ; Yao, Lei A ; Wiles, Keith > ; Bie, Tiwei > Subject: RE: [PATCH v7

Re: [dpdk-dev] [PATCH] app/testpmd:add bond type description

2017-06-30 Thread Declan Doherty
On 30/06/17 08:56, RongQiang Xie wrote: In function cmd_show_bonding_config_parsed() used number represent the bond type,in order more detailed,add bond type description otherwise we may confused about the number type. And also,the primary port just use in mode active backup and tlb, so,when the

Re: [dpdk-dev] Raspberry Pi

2017-06-30 Thread St Leger, Jim
Did you try it? Have you checked out DPDK-In-A-Box? https://store.netgate.com/DPDK-2220.aspx Jim -Original Message- From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Michael Williams Sent: Friday, June 30, 2017 7:34 AM To: dev@dpdk.org Subject: [dpdk-dev] Raspberry Pi Does DPDK suppo

Re: [dpdk-dev] [PATCH v7 13/15] eal: add hotplug add/remove functions

2017-06-30 Thread Jan Blunck
On Fri, Jun 30, 2017 at 2:54 PM, Thomas Monjalon wrote: > It seems a function is missing in this patch: > > 29/06/2017 20:22, Jan Blunck: >> +int rte_eal_hotplug_add(const char *busname, const char *devname, >> + const char *devargs) >> +{ >> + struct rte_bus *bus; >> +

[dpdk-dev] [PATCH v2 4/5] test/test: add auto-tests for event ring functions

2017-06-30 Thread Bruce Richardson
Add some basic tests for the event ring functions. Not everything needs testing as there is so much code re-use from the rte_ring code. Signed-off-by: Bruce Richardson --- V2: change name of static ring to avoid conflict with ring_autotest --- test/test/Makefile | 1 + test/test/test

[dpdk-dev] [PATCH v2 5/5] event/sw: change worker rings to standard event rings

2017-06-30 Thread Bruce Richardson
Now that we have a standard event ring implementation for passing events core-to-core, use that in place of the custom event rings in the software eventdev. Signed-off-by: Bruce Richardson --- drivers/event/sw/sw_evdev.c | 38 +++ drivers/event/sw/sw_evd

[dpdk-dev] [PATCH v2 3/5] eventdev: add ring structure for events

2017-06-30 Thread Bruce Richardson
Add in a new rte_event_ring structure type and functions to allow events to be passed core to core. This is needed because the standard rte_ring type only works on pointers, while for events, we want to copy the entire, 16B events themselves - not just pointers to them. The code makes extensive use

  1   2   3   >