[dpdk-dev] [PATCH 6/6] vhost: add pmd client and reconnect option

2016-05-06 Thread Yuanhan Liu
Add client and reconnect option to vhost pmd. reconnect only works when client is given as well. Cc: Tetsuya Mukawa Signed-off-by: Yuanhan Liu --- drivers/net/vhost/rte_eth_vhost.c | 54 ++- 1 file changed, 42 insertions(+), 12 deletions(-) diff --git a/driv

[dpdk-dev] [PATCH 5/6] examples/vhost: add client and reconnect option

2016-05-06 Thread Yuanhan Liu
Add --client and --reconnect option to enable the client mode and reconnect mode, respectively. --rconnect works only when --client is given as well. Signed-off-by: Yuanhan Liu --- examples/vhost/main.c | 23 +-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/

[dpdk-dev] [PATCH 4/6] vhost: workaround stale vring base

2016-05-06 Thread Yuanhan Liu
When DPDK app crashes (or quits, or gets killed), and when QEMU supports reconnecting (patches have been sent, not merged yet), a restart of DPDK app would get stale vring base from QEMU. That would break the kernel virtio net completely, making it non-work any more, unless a driver reset is done.

[dpdk-dev] [PATCH 3/6] vhost: add reconnect ability

2016-05-06 Thread Yuanhan Liu
Allow reconnecting on failure when both RTE_VHOST_USER_RECONNECT and RTE_VHOST_USER_CLIENT flags are set. Reconnecting means two things here: - when DPDK app starts first and QEMU (as the server) is not started, without reconnecting, DPDK app would simply fail on vhost-user registration. - w

[dpdk-dev] [PATCH 2/6] vhost: add vhost-user client mode

2016-05-06 Thread Yuanhan Liu
Add a new paramter (flags) to rte_vhost_driver_register(). DPDK vhost-user acts as client mode when RTE_VHOST_USER_CLIENT flag is set. The flags would also allow future extensions without breaking the API (again). The rest is straingfoward then: allocate a unix socket, and bind/listen for server,

[dpdk-dev] [PATCH 1/6] vhost: rename structs for enabling client mode

2016-05-06 Thread Yuanhan Liu
DPDK vhost-user just acts as server so far, so, using a struct named as "vhost_server" is okay. However, if we add the support of DPDK vhost-user acting as client, it doesn't make sense any more. Here rename it to "vhost_user_socket". There was too much wrong for "connfd_ctx", but I think it's obv

[dpdk-dev] [PATCH 0/6] vhost: add vhost-user client mode and reconnect ability

2016-05-06 Thread Yuanhan Liu
Both the vhost-user backend (DPDK here) and frontend (QEMU) could be server, as well as client. DPDK just acts as server so far. This patch set would make it possible to act as both. A new arg (flags) is introduced for API rte_vhost_driver_register(). And the client mode is enabled when RTE_VHOST_

[dpdk-dev] [PATCH v1] hash: add tsx support for cuckoo hash

2016-05-06 Thread Stephen Hemminger
On Fri, 6 May 2016 21:05:02 +0100 Shen Wei wrote: > --- a/lib/librte_hash/rte_cuckoo_hash.c > +++ b/lib/librte_hash/rte_cuckoo_hash.c > @@ -1,7 +1,7 @@ > /*- > * BSD LICENSE > * > - * Copyright(c) 2010-2015 Intel Corporation. All rights reserved. > + * Copyright(c) 2010-2016 Intel Cor

[dpdk-dev] Fwd: Rx Error when two pktgen sending packet to each other at the same time on Intel 82599ES 10G

2016-05-06 Thread 高佳琦
Hi, I am doing experiments about packet classification algorithm and I found I always get RX Error when the throughput is too high, so I did the following experiments. There are two PC servers (A and B), each of them has a Intel 82599ES 10G with two ports(1 and 2). And they are connected to each

[dpdk-dev] [PATCH 9/9] qede: update version to 8.7.9.0_1.1.0.1

2016-05-06 Thread Rasesh Mody
From: Harish Patil Signed-off-by: Harish Patil --- drivers/net/qede/qede_ethdev.h |6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/qede/qede_ethdev.h b/drivers/net/qede/qede_ethdev.h index b080f5f..abb33af 100644 --- a/drivers/net/qede/qede_ethdev.h +++ b

[dpdk-dev] [PATCH 8/9] qede: enable vf-vf traffic with unmatched dest addr

2016-05-06 Thread Rasesh Mody
From: Sony Chacko This patch enables VF to VF traffic with unmatched destination address. Signed-off-by: Sony Chacko --- drivers/net/qede/base/ecore_l2.c | 19 +++- drivers/net/qede/qede_eth_if.c | 45 +- 2 files changed, 39 insertions(+),

[dpdk-dev] [PATCH 7/9] qede: add 100g mode support

2016-05-06 Thread Rasesh Mody
From: Harish Patil Change details: - Add device id to the PCI table - Add polling for the slowpath events for CMT mode device - Add prerequites to allow 100g mode o Min number of queues needed is 2 o Only even number of queues are allowed - Update documentation Signed-off-by:

[dpdk-dev] [PATCH 6/9] qede: add support for xstats

2016-05-06 Thread Rasesh Mody
This patch adds support for extended statistics for QEDE PMD. Signed-off-by: Rasesh Mody --- doc/guides/nics/overview.rst |2 +- drivers/net/qede/qede_ethdev.c | 152 +--- 2 files changed, 145 insertions(+), 9 deletions(-) diff --git a/doc/guides/nics/

[dpdk-dev] [PATCH 5/9] qede: set mtu

2016-05-06 Thread Rasesh Mody
From: Sony Chacko Add support for mtu_set. Signed-off-by: Sony Chacko --- drivers/net/qede/qede_ethdev.c | 34 ++ 1 file changed, 34 insertions(+) diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c index 3754454..af16277 100644 --- a

[dpdk-dev] [PATCH 4/9] qede: rss redirection table query

2016-05-06 Thread Rasesh Mody
From: Sony Chacko Add support for reta_query. Signed-off-by: Sony Chacko --- drivers/net/qede/qede_ethdev.c | 27 +++ 1 file changed, 27 insertions(+) diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c index 2b91e09..3754454 100644 --- a/dri

[dpdk-dev] [PATCH 3/9] qede: rss redirection table update

2016-05-06 Thread Rasesh Mody
From: Sony Chacko Add support for reta_update. Signed-off-by: Sony Chacko --- doc/guides/nics/overview.rst |2 +- drivers/net/qede/qede_ethdev.c | 36 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/doc/guides/nics/overview.rst b/doc/

[dpdk-dev] [PATCH 2/9] qede: get hash configuration

2016-05-06 Thread Rasesh Mody
From: Sony Chacko Add support for rss_hash_conf_get. Signed-off-by: Sony Chacko --- drivers/net/qede/qede_ethdev.c | 34 ++ 1 file changed, 34 insertions(+) diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c index 84ff6f8..6614632 10

[dpdk-dev] [PATCH 1/9] qede: update hash config

2016-05-06 Thread Rasesh Mody
From: Sony Chacko Add support for rss_hash_update. Signed-off-by: Sony Chacko --- doc/guides/nics/overview.rst |2 +- doc/guides/nics/qede.rst |3 +-- drivers/net/qede/qede_eth_if.h |1 + drivers/net/qede/qede_ethdev.c | 43 driver

[dpdk-dev] [PATCH 0/9] qede: update qede PMD to 1.1.0.1

2016-05-06 Thread Rasesh Mody
This patch set adds support for enabling 100G mode for QEDE PMD. It also adds support for APIs like - mtu_set - reta_update - reta_query - rss_hash_update - rss_hash_conf_get - xstats_get The changes include enablement of vf-vf traffic and updated the driver version to 8.7.9.0_1.1.0.1 The pa

[dpdk-dev] [PATCH 2/2] qede: return LAN stats to MFW

2016-05-06 Thread Rasesh Mody
From: Harish Patil Under certain scenarios, MFW periodically polls the driver for LAN statistics. This patch implements the osal hook to fill in the stats. Fixes: ffa002d318d36 ("qede: add base driver") Signed-off-by: Harish Patil --- drivers/net/qede/base/bcm_osal.c | 21 ++

[dpdk-dev] [PATCH 1/2] qede: rename config option

2016-05-06 Thread Rasesh Mody
Rename RTE_LIBRTE_QEDE_DEBUG_DRV to RTE_LIBRTE_QEDE_DEBUG_DRIVER Fixes: 425cba2a5176 ("qede: enable PMD build") Fixes: 33e9ff1b72ca ("qede: add core driver") Signed-off-by: Rasesh Mody --- config/common_base |2 +- doc/guides/nics/qede.rst |2 +- drivers/net/qede/qede_logs

[dpdk-dev] [PATCH v1] hash: add tsx support for cuckoo hash

2016-05-06 Thread Shen Wei
Introduced Intel TSX-enabled scalable multi-writer Cuckoo hash insertion. This patch introduced scalable multi-writer Cuckoo Hash insertion based on a split Cuckoo Search and Move operation using Intel TSX. It can do scalable hash insertion with 22 cores with little performance loss and negligible

[dpdk-dev] [PATCH v3] bond: inherit maximum rx packet length

2016-05-06 Thread Eric Kinzie
Instead of a hard-coded maximum receive length, allow the bond interface to inherit this limit from the slave interfaces. This allows an application that uses jumbo frames to pass realistic values to rte_eth_dev_configure without causing an error. Before the bond interface is configured

[dpdk-dev] [PATCH v3] bond: inherit maximum rx packet length

2016-05-06 Thread Eric Kinzie
v2 changes: - remove type cast on constant - check max_rx_pktlen when adding a slave to make sure it is >= max packet length of existing slave interfaces v3 changes: - allow slaves with any max rx packet length to be added to the bonding interface until it is configured. After bond_ethde

[dpdk-dev] [PATCH] ip_pipeline: add command for multiple execution of run

2016-05-06 Thread Jasvinder Singh
From: Sankar Chokkalingam The new command enables the execution of script-file for 'n' number of times in regular intervals. It takes script-file, number of times to be executed, interval between each execution as inputs. Syntax: run Usage: This command helps to collect statistics of ports a

[dpdk-dev] [PATCH v2] ip_pipeline: add script file for pipeline to core mappings

2016-05-06 Thread Jasvinder Singh
From: Guruprasad Mukundarao This script parses the application configuration file and detects all the pipelines specified therein, and then, it generates all the possible mappings of those pipelines on the specified CPU core-list. As a result, each of the possible pipeline-to-core mappings is sa

[dpdk-dev] [PATCH] examples/ip_pipline: fix memory initialization in firewall bulk functions

2016-05-06 Thread Daniel Mrzyglod
bulk functions expect that all memory is set with zeros Fixes: 67ebdbef0c31 ("examples/ip_pipeline: add bulk update of firewall rules") Signed-off-by: Daniel Mrzyglod --- examples/ip_pipeline/pipeline/pipeline_firewall_be.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git

[dpdk-dev] [PATCH] ip_pipeline: add scripts file for pipeline to core mappings

2016-05-06 Thread Jasvinder Singh
From: Guruprasad Mukundarao This script parses the application configuration file and detects all the pipelines specified therein, and then, it generates all the possible mappings of those pipelines on the specified CPU core-list. As a result, each of the possible pipeline-to-core mappings is sa

[dpdk-dev] Fwd: Rx Error when two pktgen sending packet to each other at the same time on Intel 82599ES 10G

2016-05-06 Thread Wiles, Keith
>Hi, > >I am doing experiments about packet classification algorithm and I found I >always get RX Error when the throughput is too high, so I did the following >experiments. > >There are two PC servers (A and B), each of them has a Intel 82599ES 10G >with two ports(1 and 2). And they are connected

[dpdk-dev] DPDK cpu layout script won't work on non x86

2016-05-06 Thread Wiles, Keith
>The format and layout of /proc/cpuinfo changes on different architectures, >therefore the DPDK cpu_layout.py tool doesn't work. > >Could you please change the tool to use sysfs >/sys/devices/system/cpu/cpuN/topology/ >instead? Then the script would be portable and use the same files as the DPDK >

[dpdk-dev] [PATCH v1 02/10] app/test: support resources externally linked

2016-05-06 Thread Jan Viktorin
Hello Thomas, On Fri, 06 May 2016 16:32:53 +0200 Thomas Monjalon wrote: > It looks a lot too much tricky to be integrated without code comments ;) > Please make a documentation effort. I know it's not the brightly shining code... I focused mainly on the C API of this. Thanks a lot for comments.

[dpdk-dev] [PATCH v1 01/10] app/test: introduce resources for tests

2016-05-06 Thread Jan Viktorin
On Fri, 06 May 2016 16:01:08 +0200 Thomas Monjalon wrote: > 2016-05-06 12:48, Jan Viktorin: > > --- /dev/null > > +++ b/app/test/resource.h > > @@ -0,0 +1,61 @@ > > +/*- > > + * BSD LICENSE > [...] > > + */ > > Please include a multi-line comment here to explain what is a resource > and wh

[dpdk-dev] [PATCH] app/test: isolate lpm performance cases

2016-05-06 Thread Thomas Monjalon
The LPM performance tests should not be mixed with functional tests: they are long and show some statistics. Signed-off-by: Thomas Monjalon --- app/test/Makefile | 2 + app/test/test_lpm.c | 211 +-- app/test/test_lpm6.c | 155 +---

[dpdk-dev] [PATCH 6/6] examples/ip_pipeline: modifies flow action pipeline CLI

2016-05-06 Thread Michal Jastrzebski
All commands merged into one: cmd_action_parsed. modified bulk command: action flow bulk File line format: flow meter 0 meter 1 meter 2 meter 3 policer 0policer 1 policer 2policer 3 port at least one meter needs to be provided (can be any meter ID) and at least one

[dpdk-dev] [PATCH 5/6] examples/ip_pipeline: modifies flow classifications pipeline CLI

2016-05-06 Thread Michal Jastrzebski
This patch modifies flow classifications pipeline command line interface. All commands are merged into one cmd_fc_parsed. Additionally a classification for ipv6, ipv4 and qinq can be added from configuration file. 1. flow add qinq bulk File line format: qinq port id File line example: qinq 1 2

[dpdk-dev] [PATCH 4/6] examples/ip_pipeline: modifies firewall pipeline CLI

2016-05-06 Thread Michal Jastrzebski
Each command are merged into one: cmd_firewall_parsed. ADD command format is changed: p firewall add priority ipv4 port and bulk command was modified: 1. firewall add bulk File line format: priority ipv4 port (protomask is a hex value) File line example: priority 0 ipv4 1.

[dpdk-dev] [PATCH 3/6] examples/ip_pipeline: modifies routing commands

2016-05-06 Thread Michal Jastrzebski
several routing commands are merged into two commands: route and arp - these two commands are handled by cli library. Rest of the commands are handled internaly by the pipeline code. Signed-off-by: Piotr Azarewicz --- examples/ip_pipeline/pipeline/pipeline_routing.c | 1774 ++

[dpdk-dev] [PATCH 2/6] examples/ip_pipeline: modifies common pipeline CLI

2016-05-06 Thread Michal Jastrzebski
All commands are merged into one command: cmd_link_parsed. Signed-off-by: Tomasz Kulasek --- examples/ip_pipeline/pipeline/pipeline_common_fe.c | 309 - 1 file changed, 111 insertions(+), 198 deletions(-) diff --git a/examples/ip_pipeline/pipeline/pipeline_common_fe.c b/exa

[dpdk-dev] [PATCH 1/6] examples/ip_pipeline: add helper functions for parsing string

2016-05-06 Thread Michal Jastrzebski
Add a couple of additional functions that will allow to parse many types of input parameters, i.e.: bool, 16, 32, 64 bits, hex, etc. Signed-off-by: Piotr Azarewicz --- examples/ip_pipeline/Makefile | 1 + examples/ip_pipeline/config_parse.c | 242 + examples/ip_pipeline/parse

[dpdk-dev] [PATCH 0/6] ip_pipeline: CLI rework and improvements

2016-05-06 Thread Michal Jastrzebski
Using the latest librte_cmdline improvements, the CLI implementation of the ip_pipeline application is streamlined and improved, which results in eliminating thousands of lines of code from the application, thus leading to code that is easier to maintain and extend. Michal Jastrzebski (6): examp

[dpdk-dev] [PATCH v1] net: i40e: add VLAN tag size to RXMAX

2016-05-06 Thread Nikita Kozlov
Hello, On 09/ 1/15 07:34 AM, Zhang, Helin wrote: >> -Original Message- >> From: Vlad Zolotarov [mailto:vladz at cloudius-systems.com] >> Sent: Monday, August 31, 2015 2:42 PM >> To: dev at dpdk.org >> Cc: Zhang, Helin; Ananyev, Konstantin; avi at cloudius-systems.com; Vlad >> Zolotarov >>

[dpdk-dev] [PATCH 9/9] doc: update ipsec sample guide

2016-05-06 Thread Sergio Gonzalez Monroy
Signed-off-by: Sergio Gonzalez Monroy --- doc/guides/sample_app_ug/ipsec_secgw.rst | 583 --- 1 file changed, 381 insertions(+), 202 deletions(-) diff --git a/doc/guides/sample_app_ug/ipsec_secgw.rst b/doc/guides/sample_app_ug/ipsec_secgw.rst index c11c7e7..5dbee2e 1

[dpdk-dev] [PATCH 8/9] examples/ipsec-secgw: transport mode support

2016-05-06 Thread Sergio Gonzalez Monroy
IPSec transport mode support. Signed-off-by: Sergio Gonzalez Monroy --- examples/ipsec-secgw/esp.c | 121 ++- examples/ipsec-secgw/ipsec.h | 1 + examples/ipsec-secgw/rt.c| 32 examples/ipsec-secgw/sa.c| 39 ++ exampl

[dpdk-dev] [PATCH 7/9] examples/ipsec-secgw: ipv6 support

2016-05-06 Thread Sergio Gonzalez Monroy
Support IPSec IPv6 allowing IPv4/IPv6 traffic in IPv4 or IPv6 tunnel. We need separate Routing (LPM) and SP (ACL) tables for IPv4 and IPv6, but a common SA table. Signed-off-by: Sergio Gonzalez Monroy --- examples/ipsec-secgw/Makefile | 5 +- examples/ipsec-secgw/esp.c | 128

[dpdk-dev] [PATCH 6/9] examples/ipsec-secgw: consistent config variable names

2016-05-06 Thread Sergio Gonzalez Monroy
Modify the default SP config variables names to be consistent with SA. The resulting naming convention is that variables with suffixes _out/_in are the default for ep0 and the reverse for ep1. Signed-off-by: Sergio Gonzalez Monroy --- examples/ipsec-secgw/sp.c | 14 +++--- 1 file change

[dpdk-dev] [PATCH 5/9] examples/ipsec-secgw: fix no sa found case

2016-05-06 Thread Sergio Gonzalez Monroy
The application only checks that an SA shoudln't be NULL through ASSERT (only when debugging is enabled) without properly dealing with the case of not having an SA for the processed packet. If no SA is found, drop the packet. Fixes: d299106e8e31 ("examples/ipsec-secgw: add IPsec sample applicatio

[dpdk-dev] [PATCH 4/9] examples/ipsec-secgw: rework ipsec execution loop

2016-05-06 Thread Sergio Gonzalez Monroy
Rework implementation moving from function pointers approach, where each function implements very specific functionality, to a generic function approach. Signed-off-by: Sergio Gonzalez Monroy --- examples/ipsec-secgw/esp.c | 8 +- examples/ipsec-secgw/esp.h | 9 +- examples/ipsec-secgw/i

[dpdk-dev] [PATCH 3/9] examples/ipsec-secgw: add build option and cleanup

2016-05-06 Thread Sergio Gonzalez Monroy
Add support for building the application with DEBUG=1. This option adds the compiler stack protection flag and enables extra output in the application. Also remove unnecessary VPATH setup. Signe-off-by: Sergio Gonzalez Monroy --- examples/ipsec-secgw/Makefile | 5 +++-- 1 file changed, 3 insert

[dpdk-dev] [PATCH 2/9] examples/ipsec-secgw: fix stack smashing error

2016-05-06 Thread Sergio Gonzalez Monroy
Building the application with -O3 and -fstack-protection (default in Ubuntu) results in the following error: *** stack smashing detected ***: ./build/ipsec-secgw terminated The error is caused by storing an 8B value in a 4B variable. Fixes: d299106e8e31 ("examples/ipsec-secgw: add IPsec sample a

[dpdk-dev] [PATCH 1/9] examples/ipsec-secgw: fix esp padding check

2016-05-06 Thread Sergio Gonzalez Monroy
Current code fails to correctly check padding sequence for inbound packets. Padding sequence starts on 1 but it checks for 0. Fixes: d299106e8e31 ("examples/ipsec-secgw: add IPsec sample application") Signed-off-by: Sergio Gonzalez Monroy --- examples/ipsec-secgw/esp.c | 2 +- 1 file changed, 1

[dpdk-dev] [PATCH 0/9] IPSec example enhancements

2016-05-06 Thread Sergio Gonzalez Monroy
Update IPSec sample app with IPv6 and Transport mode support. The series contains some bug fixes to facilitate patch merge. Sergio Gonzalez Monroy (9): examples/ipsec-secgw: fix esp padding check examples/ipsec-secgw: fix stack smashing error examples/ipsec-secgw: add build option and clean

[dpdk-dev] [PATCH] i40e: support user unaware VF reset

2016-05-06 Thread Zhe Tao
Problem: Now the i40e VF PMD driver does not support reset event from PF. Customer want the user unaware VF reset feature in VF PMD driver, with this feature, the application doesn't need to concern about the VF reset procedure and all the application can work correctly when VF is doing the reset.

[dpdk-dev] [PATCH 0/2] mempool: add stack (fifo) mempool handler

2016-05-06 Thread Tan, Jianfeng
Hi David, On 5/6/2016 2:29 AM, David Hunt wrote: > This patch set adds a fifo stack handler to the external mempool > manager. Just a minor confusion for me. Usually, we refer stack as LIFO and queue as FIFO. So is there any particular reason why we call "stack (fifo)" here? Thanks, Jianfeng

[dpdk-dev] [PATCH v1 02/10] app/test: support resources externally linked

2016-05-06 Thread Thomas Monjalon
It looks a lot too much tricky to be integrated without code comments ;) Please make a documentation effort. 2016-05-06 12:48, Jan Viktorin: > --- a/app/test/Makefile > +++ b/app/test/Makefile > @@ -33,6 +33,37 @@ include $(RTE_SDK)/mk/rte.vars.mk > > ifeq ($(CONFIG_RTE_APP_TEST),y) A comment

[dpdk-dev] [PATCH] i40evf: fix return value if command fails

2016-05-06 Thread Bruce Richardson
On Thu, May 05, 2016 at 02:22:54PM +0800, Jingjing Wu wrote: > Previously, if message is sent successfully, but no response is > received, function "i40evf_execute_vf_cmd" will return without error. > The root cause is value "err" is overwritten. This patch fixes it. > > Fixes: ae19955e7c86 ("i40e

[dpdk-dev] [PATCH 0/2] mempool: add stack (fifo) mempool handler

2016-05-06 Thread Hunt, David
On 5/6/2016 1:34 AM, Tan, Jianfeng wrote: > Hi David, > > > On 5/6/2016 2:29 AM, David Hunt wrote: >> This patch set adds a fifo stack handler to the external mempool >> manager. > > Just a minor confusion for me. Usually, we refer stack as LIFO and > queue as FIFO. So is there any particular re

[dpdk-dev] [PATCH v1 01/10] app/test: introduce resources for tests

2016-05-06 Thread Thomas Monjalon
2016-05-06 12:48, Jan Viktorin: > --- /dev/null > +++ b/app/test/resource.h > @@ -0,0 +1,61 @@ > +/*- > + * BSD LICENSE [...] > + */ Please include a multi-line comment here to explain what is a resource and why it is needed. > + > +#ifndef _RESOURCE_H_ > +#define _RESOURCE_H_ > + |...] |> + >

[dpdk-dev] [PATCH] i40e: fix vlan stripping from inner header

2016-05-06 Thread Bruce Richardson
On Wed, May 04, 2016 at 01:42:25PM +0800, Jingjing Wu wrote: > Previously, for tunnel packets, such as VXLAN/NVGRE, the vlan > tags of the inner header will be stripped without putting vlan > info to descriptor, what is not expected behaviour. > This patch fixes it by changing hardware configuratio

[dpdk-dev] [PATCH v1 28/28] ether: support SoC device/driver

2016-05-06 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- lib/librte_ether/rte_ethdev.c | 127 +- lib/librte_ether/rte_ethdev.h | 31 +++ 2 files changed, 157 insertions(+), 1 deletion(-) diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c index 4af2

[dpdk-dev] [PATCH v1 27/28] ether: extract function eth_dev_get_driver_name

2016-05-06 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- lib/librte_ether/rte_ethdev.c | 15 ++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c index 9378a4a..4af2e5f 100644 --- a/lib/librte_ether/rte_ethdev.c +++ b/lib/librte_ether/

[dpdk-dev] [PATCH v1 26/28] ether: extract function eth_dev_get_intr_handle

2016-05-06 Thread Jan Viktorin
We abstract access to the intr_handle here as we want to get it either from the pci_dev or soc_dev. Signed-off-by: Jan Viktorin --- lib/librte_ether/rte_ethdev.c | 15 +-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/

[dpdk-dev] [PATCH v1 25/28] ether: verify we copy info from a PCI device

2016-05-06 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- lib/librte_ether/rte_ethdev.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c index 5474523..0b0dcbc 100644 --- a/lib/librte_ether/rte_ethdev.c +++ b/lib/librte_ether/rte_ethdev.c @@ -3077,6 +3077,

[dpdk-dev] [PATCH v1 24/28] ether: utilize container_of for pci_drv

2016-05-06 Thread Jan Viktorin
It is not necessary to place the rte_pci_driver at the beginning of the rte_eth_dev struct anymore as we use the container_of macro to get the parent pointer. Signed-off-by: Jan Viktorin --- lib/librte_ether/rte_ethdev.c | 4 ++-- lib/librte_ether/rte_ethdev.h | 2 +- 2 files changed, 3 insertio

[dpdk-dev] [PATCH v1 23/28] eal: define macro container_of

2016-05-06 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- lib/librte_eal/common/include/rte_common.h | 16 1 file changed, 16 insertions(+) diff --git a/lib/librte_eal/common/include/rte_common.h b/lib/librte_eal/common/include/rte_common.h index 332f2a4..a9b6792 100644 --- a/lib/librte_eal/common/inclu

[dpdk-dev] [PATCH v1 22/28] eal/soc: detect DMA non-coherent devices

2016-05-06 Thread Jan Viktorin
The SoC devices can be sometimes DMA non-coherent. This means that we need to take care of memory allocation for those. Generally, drivers assume that every device is DMA coherent. If a driver supports a DMA non-coherent device, it sets the RTE_SOC_DRV_ACCEPT_NONCC flag. Note that the is_dma_coher

[dpdk-dev] [PATCH v1 21/28] eal/soc: unbind kernel driver on probe

2016-05-06 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- lib/librte_eal/common/eal_common_soc.c | 6 ++ lib/librte_eal/common/eal_private.h| 10 ++ lib/librte_eal/linuxapp/eal/eal_soc.c | 11 +++ 3 files changed, 27 insertions(+) diff --git a/lib/librte_eal/common/eal_common_soc.c b/lib/librte

[dpdk-dev] [PATCH v1 20/28] eal/soc: map resources conditionally

2016-05-06 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- lib/librte_eal/common/eal_common_soc.c | 16 ++-- 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/lib/librte_eal/common/eal_common_soc.c b/lib/librte_eal/common/eal_common_soc.c index af4daa5..d178c48 100644 --- a/lib/librte_eal/common/e

[dpdk-dev] [PATCH v1 19/28] eal/soc: add drv_flags

2016-05-06 Thread Jan Viktorin
The flags are copied from the PCI ones. They should be refactorized into a general set of flags in the future. Signed-off-by: Jan Viktorin --- lib/librte_eal/common/include/rte_soc.h | 10 ++ 1 file changed, 10 insertions(+) diff --git a/lib/librte_eal/common/include/rte_soc.h b/lib/li

[dpdk-dev] [PATCH v1 18/28] eal/soc: detect numa_node of the rte_soc_device

2016-05-06 Thread Jan Viktorin
No idea whether this is useful. Who creates the numa_node in the sysfs? This can be probably dropped later. Signed-off-by: Jan Viktorin --- lib/librte_eal/common/eal_common_soc.c | 8 lib/librte_eal/common/include/rte_soc.h | 1 + lib/librte_eal/linuxapp/eal/eal_soc.c | 26

[dpdk-dev] [PATCH v1 17/28] eal/soc: hack (const char *) compatible setting

2016-05-06 Thread Jan Viktorin
The strict GCC rules do not allow to set the rte_soc_addr.compatible as it is marked 'const'. However, we need it to be const because drivers will set it statically by const strings. So this hack enables both. Is there a better way to go? Signed-off-by: Jan Viktorin --- lib/librte_eal/common/in

[dpdk-dev] [PATCH v1 16/28] eal/soc: add intr_handle

2016-05-06 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- lib/librte_eal/common/include/rte_soc.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/librte_eal/common/include/rte_soc.h b/lib/librte_eal/common/include/rte_soc.h index 3192121..4b4789b 100644 --- a/lib/librte_eal/common/include/rte_soc.h +++ b/lib/li

[dpdk-dev] [PATCH v1 15/28] eal/soc: map/unmap resources

2016-05-06 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- lib/librte_eal/bsdapp/eal/eal_soc.c | 12 ++ lib/librte_eal/bsdapp/eal/rte_eal_version.map | 2 + lib/librte_eal/common/eal_common_soc.c | 13 +++ lib/librte_eal/common/include/rte_soc.h | 50 + lib/li

[dpdk-dev] [PATCH v1 14/28] eal/soc: detect assigned kernel driver

2016-05-06 Thread Jan Viktorin
We reuse the existing infrastructure (rte_eal_get_kernel_driver_by_path) here however another possible implementation is by parsing the uevent file. As there are no well-known driver for SoC infra, we does not detect any. This will be changed in the future by checking for VFIO and UIO drivers. Si

[dpdk-dev] [PATCH v1 13/28] eal/soc: update device on probe when already exists

2016-05-06 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- lib/librte_eal/common/eal_common_soc.c | 5 + lib/librte_eal/common/eal_private.h| 13 + lib/librte_eal/linuxapp/eal/eal_soc.c | 11 +++ 3 files changed, 29 insertions(+) diff --git a/lib/librte_eal/common/eal_common_soc.c b/lib/libr

[dpdk-dev] [PATCH v1 12/28] eal/soc: extend and utilize devargs

2016-05-06 Thread Jan Viktorin
This code is not tested. We assume to white/blacklist SoC devices by giving the prefix "soc:" on the command line. Signed-off-by: Jan Viktorin --- lib/librte_eal/common/eal_common_dev.c | 31 ++- lib/librte_eal/common/eal_common_devargs.c | 7 ++ lib/librte_eal/com

[dpdk-dev] [PATCH v1 11/28] eal/soc: implement probing of drivers

2016-05-06 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- lib/librte_eal/bsdapp/eal/rte_eal_version.map | 3 + lib/librte_eal/common/eal_common_soc.c | 200 lib/librte_eal/common/include/rte_soc.h | 25 +++ lib/librte_eal/linuxapp/eal/eal.c | 4 + lib/librte_e

[dpdk-dev] [PATCH v1 10/28] eal/soc: init SoC infra from EAL

2016-05-06 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- lib/librte_eal/bsdapp/eal/eal.c | 4 lib/librte_eal/common/eal_private.h | 10 ++ lib/librte_eal/linuxapp/eal/eal.c | 3 +++ lib/librte_eal/linuxapp/eal/eal_soc.c | 17 + 4 files changed, 34 insertions(+) diff --git a/lib

[dpdk-dev] [PATCH v1 09/28] eal: introduce --no-soc option

2016-05-06 Thread Jan Viktorin
This option has the same meaning for the SoC infra as the --no-pci for the PCI infra. Signed-off-by: Jan Viktorin --- lib/librte_eal/common/eal_common_options.c | 5 + lib/librte_eal/common/eal_internal_cfg.h | 1 + lib/librte_eal/common/eal_options.h| 2 ++ 3 files changed, 8 inse

[dpdk-dev] [PATCH v1 08/28] eal/soc: implement SoC device discovery

2016-05-06 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- lib/librte_eal/bsdapp/eal/Makefile | 1 + lib/librte_eal/bsdapp/eal/eal_soc.c | 40 lib/librte_eal/bsdapp/eal/rte_eal_version.map | 3 + lib/librte_eal/common/eal_common_soc.c | 45 lib/librte_eal/common/include/r

[dpdk-dev] [PATCH v1 07/28] eal/soc: add rte_eal_soc_register/unregister logic

2016-05-06 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- app/test/test_soc.c | 106 lib/librte_eal/bsdapp/eal/Makefile | 1 + lib/librte_eal/bsdapp/eal/rte_eal_version.map | 3 + lib/librte_eal/common/eal_common_soc.c | 55 lib

[dpdk-dev] [PATCH v1 06/28] eal/soc: introduce very essential SoC infra definitions

2016-05-06 Thread Jan Viktorin
Define initial structures and functions for the SoC infrastructure. We support only a very minimal functions now. More features will be added in the following commits. It is to be refactored when a generic rte_device/driver pair is added to DPDK. Signed-off-by: Jan Viktorin --- app/test/Makefile

[dpdk-dev] [PATCH v1 05/28] eal: remove pci_ prefix from pci_(un)map_resource

2016-05-06 Thread Jan Viktorin
The functions pci_map_resource, pci_unmap_resource are generic so the pci_ prefix can be omitted. The functions are moved to the eal_common_dev.c so they can be reused by other infrastructure. Signed-off-by: Jan Viktorin --- lib/librte_eal/bsdapp/eal/eal_pci.c| 2 +- lib/librte_eal/comm

[dpdk-dev] [PATCH v1 04/28] eal/linux: extract function rte_eal_get_kernel_driver_by_path

2016-05-06 Thread Jan Viktorin
Generalize the PCI-specific pci_get_kernel_driver_by_path. The function is general enough, we have just moved it to eal.c, changed the prefix to rte_eal and provided it privately to other parts of EAL. Signed-off-by: Jan Viktorin --- lib/librte_eal/common/eal_private.h | 14 ++ lib

[dpdk-dev] [PATCH v1 03/28] eal/linux: extract function rte_eal_unbind_kernel_driver

2016-05-06 Thread Jan Viktorin
Generalize the PCI-specific pci_unbind_kernel_driver. It is now divided into two parts. First, determination of the path and string identification of the device to be unbound. Second, the actual unbind operation which is generic. Signed-off-by: Jan Viktorin --- lib/librte_eal/common/eal_private.

[dpdk-dev] [PATCH v1 02/28] eal: extract function eal_parse_sysfs_valuef

2016-05-06 Thread Jan Viktorin
The eal_parse_sysfs_value function accepts a filename however, such interface introduces race-conditions to the code. Introduce the variant of this function that accepts an already opened file instead of a filename. Signed-off-by: Jan Viktorin --- lib/librte_eal/common/eal_filesystem.h | 5

[dpdk-dev] [PATCH v1 01/28] eal: make enum rte_kernel_driver non-PCI specific

2016-05-06 Thread Jan Viktorin
Signed-off-by: Jan Viktorin --- lib/librte_eal/common/include/rte_dev.h | 8 lib/librte_eal/common/include/rte_pci.h | 10 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/librte_eal/common/include/rte_dev.h b/lib/librte_eal/common/include/rte_dev.h index b

[dpdk-dev] [PATCH v1 00/28] Support non-PCI devices

2016-05-06 Thread Jan Viktorin
Hello, as a part of reworking the rte_(pci_)device/driver core of DPDK, I am developing support for devices connected anotherway then by the PCI bus. I call those devices _SoC devices_ and they are similar to the kernel's platform_device. The goal is to have access to the on-chip MACs integrated i

[dpdk-dev] [PATCH v4 2/3] bnx2x: enhance stats get

2016-05-06 Thread Bruce Richardson
On Tue, May 03, 2016 at 10:38:21PM -0700, Rasesh Mody wrote: > Enhance the stats_get() routine to display drop counters under > imissed counter. > Added extended stats get support to provide additional info. > Encorporated review comment to rename some of the stats. > > Signed-off-by: Rasesh Mody

[dpdk-dev] [PATCH v4 1/3] bnx2x: refactor Tx routine for single doorbell mechanism

2016-05-06 Thread Bruce Richardson
On Tue, May 03, 2016 at 10:38:20PM -0700, Rasesh Mody wrote: > Change the Tx routine logic to ring the doorbell once per burst and not > on every Tx packet. This driver-level optimization is necessary to achieve > line rates for larger frame sizes (1k or more). > > Fixes: 540a211084a7 ("bnx2x: dri

[dpdk-dev] [PATCH] enic: fix 'imissed' to count drops due to no RX buffers

2016-05-06 Thread Bruce Richardson
On Tue, Apr 26, 2016 at 07:50:15PM -0700, John Daley wrote: > Fixes: 7182d3e7d177 ("enic: expose Rx missed packets counter") > Signed-off-by: John Daley > --- > drivers/net/enic/enic_main.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/enic/enic_main.c

[dpdk-dev] [PATCH] tools: allow binding to other network class devices

2016-05-06 Thread Thadeu Lima de Souza Cascardo
dpdk_nic_bind will only handle Ethernet devices, but Mellanox ConnectX-3 Pro, for example, is a Network class device, but not an Ethernet one. Even though this allows other devices in the list, like Wireless devices, this should not be a problem. Signed-off-by: Thadeu Lima de Souza Cascardo ---

[dpdk-dev] [RFC PATCH 0/4] Convert lpm data from header to resource

2016-05-06 Thread Thomas Monjalon
2016-05-06 13:51, Bruce Richardson: > It takes the existing lpm large routing table information and converts it > from a header file included at compile time to a resource linked in. This > improves things in two ways: > 1. Improves DPDK build time > 2. Removes approx 1 million lines of code from o

[dpdk-dev] [PATCH 0/2] Added AES counter mode capability

2016-05-06 Thread Jain, Deepak K
Series-Acked-by: Deepak Kumar JAIN -Original Message- From: Kusztal, ArkadiuszX Sent: Friday, May 6, 2016 11:22 AM To: dev at dpdk.org Cc: Trahe, Fiona ; Jain, Deepak K ; Griffin, John ; Kusztal, ArkadiuszX Subject: [PATCH 0/2] Added AES counter mode capability This patchset adds AES

[dpdk-dev] [PATCH 8/8] test: add Snow3G UEA2 test with offset

2016-05-06 Thread Pablo de Lara
With the new libsso library, buffers can be encrypted/decrypted, providing an offset in bits, so an extra unit test has been added to cover this case. Signed-off-by: Pablo de Lara --- app/test/test_cryptodev.c | 121 ++ 1 file changed, 121 insertions(+

[dpdk-dev] [PATCH 7/8] test: add bit-level Snow3G UIA2 tests

2016-05-06 Thread Pablo de Lara
Snow3G PMD supports now buffers that are non byte multiple, so tests to cover this case have been added. Signed-off-by: Pablo de Lara --- app/test/test_cryptodev.c | 50 ++ app/test/test_cryptodev_snow3g_hash_test_vectors.h | 107 + 2 files c

[dpdk-dev] [PATCH 6/8] test: add out-of-place crypto op tests for Snow3G PMD

2016-05-06 Thread Pablo de Lara
Signed-off-by: Pablo de Lara --- app/test/test_cryptodev.c | 4 1 file changed, 4 insertions(+) diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c index 1656ad0..6d0abf1 100644 --- a/app/test/test_cryptodev.c +++ b/app/test/test_cryptodev.c @@ -5181,6 +5181,10 @@ static stru

[dpdk-dev] [PATCH 5/8] test: fix buffer lengths for snow3G tests

2016-05-06 Thread Pablo de Lara
No padding was added in the input buffers for snow3G tests, due to a wrong calculation of the length (should be multiple of the block size). This fix takes into account the case where the length is not byte multiple. Fixes: 8bdf665fe6c0 ("app/test: add SNOW 3G") Signed-off-by: Pablo de Lara ---

[dpdk-dev] [PATCH 4/8] test: use new bit-level memcmp macro

2016-05-06 Thread Pablo de Lara
Instead of modifying the content of the buffers, to compare them at bit-level, use the new macro TEST_ASSERT_BUFFERS_ARE_EQUAL_BIT, which does not make any modifications in the buffers. Signed-off-by: Pablo de Lara --- app/test/test_cryptodev.c | 68 +-

[dpdk-dev] [PATCH 3/8] snow3g: support bit-level operations

2016-05-06 Thread Pablo de Lara
Underlying libsso_snow3g library now supports bit-level operations, so PMD has been updated to allow them. Signed-off-by: Pablo de Lara --- doc/guides/cryptodevs/snow3g.rst | 5 +- drivers/crypto/snow3g/rte_snow3g_pmd.c | 129 ++--- 2 files changed, 120 insert

[dpdk-dev] [PATCH 2/8] doc: update build instructions for libsso_snow3g

2016-05-06 Thread Pablo de Lara
With the library update, the way to compile the library has changed, so documentation reflects this change. Also, the patch to fix the compilation issues present with gcc > 5.0 has been removed, as the issues have been fixed in the library. Signed-off-by: Pablo de Lara --- doc/guides/cryptodevs/

  1   2   3   >