[dpdk-dev] [PATCH 04/17] ixgbe: support of unified packet type

2015-01-29 Thread Liang, Cunming
> -Original Message- > From: Richardson, Bruce > Sent: Thursday, January 29, 2015 4:30 PM > To: Zhang, Helin > Cc: dev at dpdk.org; Cao, Waterman; Liang, Cunming; Liu, Jijiang; Ananyev, > Konstantin > Subject: Re: [PATCH 04/17] ixgbe: support of unified packet type > > On Thu, Jan 29, 20

[dpdk-dev] [PATCH] acl: remove standalone header

2015-01-29 Thread Thomas Monjalon
This is a duplication of some EAL parts for a standalone packaging which is not documented. Packaging should be done outside of DPDK. Signed-off-by: Thomas Monjalon --- Konstantin said it could be removed: http://dpdk.org/ml/archives/dev/2014-December/010129.html --- app/test-acl/main.c

[dpdk-dev] [BUG] ixgbe vector cannot compile without bulk alloc

2015-01-29 Thread Liang, Cunming
> -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Bruce Richardson > Sent: Thursday, January 29, 2015 4:28 PM > To: Thomas Monjalon > Cc: dev at dpdk.org > Subject: Re: [dpdk-dev] [BUG] ixgbe vector cannot compile without bulk alloc > > On Thu, Jan 29, 2015 a

[dpdk-dev] [BUG] ixgbe vector cannot compile without bulk alloc

2015-01-29 Thread Thomas Monjalon
2014-12-01 18:22, Thomas Monjalon: > 2014-12-01 17:18, Bruce Richardson: > > On Mon, Dec 01, 2014 at 06:10:18PM +0100, Thomas Monjalon wrote: > > > These 2 configuration options are incompatible: > > > CONFIG_RTE_LIBRTE_IXGBE_RX_ALLOW_BULK_ALLOC=n > > > CONFIG_RTE_IXGBE_INC_VECTOR=y > > > Build

[dpdk-dev] [DISCUSSION] : ERROR while running vhost example in dpdk-1.8

2015-01-29 Thread Srinivasreddy R
Hi, I am using dpdk-1.8.0. I am trying to run vhost example . I followed sample app user guide at below link. http://www.dpdk.org/doc/guides/sample_app_ug/vhost.html what may be the reason . may be I am missing some thing . Facing problem while running , VHOST_CONFIG: (0) Failed to find

[dpdk-dev] [PATCH] MAINTAINERS: claim responsibility for Linux AF_PACKET PMD

2015-01-29 Thread Thomas Monjalon
2015-01-23 13:16, Neil Horman: > On Fri, Jan 23, 2015 at 01:12:25PM -0500, John W. Linville wrote: > > Signed-off-by: John W. Linville > > --- > > MAINTAINERS | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/MAINTAINERS b/MAINTAINERS > > index 1f7d04a9ec2b..5fccdbb1618c 100644 > >

[dpdk-dev] [PATCH v2] maintainers: start a Linux-style file

2015-01-29 Thread Thomas Monjalon
2015-01-28 11:50, Thomas Monjalon: > This MAINTAINERS file is inspired from the Linux one. > > Almost all files are split into areas in order to identify maintainers of > each DPDK area. Note that a maintainer is not a git tree manager. > Candidates are welcome to send a patch to sign up for one o

[dpdk-dev] [PATCH] vhost: notify guest to fill buffer when there is no buffer

2015-01-29 Thread Linhaifeng
On 2015/1/29 21:00, Xie, Huawei wrote: > > >> -Original Message- >> From: Linhaifeng [mailto:haifeng.lin at huawei.com] >> Sent: Thursday, January 29, 2015 8:39 PM >> To: Xie, Huawei; dev at dpdk.org >> Subject: Re: [dpdk-dev] [PATCH] vhost: notify guest to fill buffer when >> there is

[dpdk-dev] [PATCH 04/17] ixgbe: support of unified packet type

2015-01-29 Thread Bruce Richardson
On Thu, Jan 29, 2015 at 11:52:03PM +, Liang, Cunming wrote: > > > > -Original Message- > > From: Richardson, Bruce > > Sent: Thursday, January 29, 2015 4:30 PM > > To: Zhang, Helin > > Cc: dev at dpdk.org; Cao, Waterman; Liang, Cunming; Liu, Jijiang; Ananyev, > > Konstantin > > Subjec

[dpdk-dev] [PATCH] vhost: notify guest to fill buffer when there is no buffer

2015-01-29 Thread Linhaifeng
On 2015/1/29 18:39, Xie, Huawei wrote: >> -if (count == 0) >> +/* If there is no buffers we should notify guest to fill. >> +* This is need when guest use virtio_net driver(not pmd). >> +*/ >> +if (count == 0) { >> +

[dpdk-dev] [BUG] ixgbe vector cannot compile without bulk alloc

2015-01-29 Thread Bruce Richardson
On Thu, Jan 29, 2015 at 11:39:37PM +, Liang, Cunming wrote: > > > > -Original Message- > > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Bruce Richardson > > Sent: Thursday, January 29, 2015 4:28 PM > > To: Thomas Monjalon > > Cc: dev at dpdk.org > > Subject: Re: [dpdk-dev]

[dpdk-dev] [PATCH 2/2] eal: add help option

2015-01-29 Thread Thomas Monjalon
Help is printed with -h or --help. Help is also printed for an unknown option. This was broken since the rework of options. Fixes: 489a9d6c9f77 ("merge bsd and linux common options parsing") Signed-off-by: Thomas Monjalon --- lib/librte_eal/bsdapp/eal/eal.c| 7 ++- lib/librte_e

[dpdk-dev] [PATCH 1/2] eal: sort and align options lists

2015-01-29 Thread Thomas Monjalon
Options listing in usage help was a mess. The main usage line is fixed and shorter. The options in usage output are logically sorted (cpu/mem/dev/proc), aligned and lightly reworded. The options in declarations are alphabetically sorted. Code in swith statement is not moved. Signed-off-by: Thomas

[dpdk-dev] [PATCH 0/2] help option

2015-01-29 Thread Thomas Monjalon
This is a small reorganization of options. The main goal is to provide a nice --help option. Thomas Monjalon (2): eal: sort and align options lists eal: add help option lib/librte_eal/bsdapp/eal/eal.c| 7 +- lib/librte_eal/common/eal_common_options.c | 115 +++--

[dpdk-dev] [PATCH] vhost: notify guest to fill buffer when there is no buffer

2015-01-29 Thread linhaifeng
From: Linhaifeng If we found there is no buffer we should notify virtio_net to fill buffers. We use mz send buffers from VM to VM,found that the other VM stop to receive data after many hours. Signed-off-by: Linhaifeng --- lib/librte_vhost/vhost_rxtx.c | 9 +++-- 1 file changed, 7 inserti

[dpdk-dev] Regarding UDP checksum offload

2015-01-29 Thread Prashant Upadhyaya
Hi Olivier, On Wed, Jan 28, 2015 at 8:39 PM, Olivier MATZ wrote: > Hi Prashant, > > > On 01/28/2015 03:57 PM, Prashant Upadhyaya wrote: > >> I am using dpdk 1.6r1, intel 82599 NIC. I have an mbuf, I have hand-constructed a UDP packet (IPv4) in the data

[dpdk-dev] [PATCH 0/8] Improve build process

2015-01-29 Thread Thomas Monjalon
2015-01-29 11:38, Neil Horman: > On Thu, Jan 29, 2015 at 03:20:03PM +, Sergio Gonzalez Monroy wrote: > > This patch series improves the DPDK build system mostly for shared > > libraries (and a few nits for static libraries) with the following goals: > > - Create a library containing core DPDK

[dpdk-dev] Different core to each operation of packet handling

2015-01-29 Thread Sachin Sharma
Hi all, I am interested to assign different cores to each of the following operations: (1) copying an incoming packet from NIC to the memory pool, (2) handling the copied packet from the userspace program (e.g., l2fwd application), (3) doing lookup for output port for the packet, (4) transmitti

[dpdk-dev] [PATCH 1/3] librte_reorder: New reorder library

2015-01-29 Thread Gonzalez Monroy, Sergio
Hi Thomas, > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Thomas Monjalon > Sent: Tuesday, January 20, 2015 8:01 AM > To: Pattan, Reshma > Cc: dev at dpdk.org > Subject: Re: [dpdk-dev] [PATCH 1/3] librte_reorder: New reorder library > > Hi, > > 2015-01-07 16:39, Reshma Pattan: > >

[dpdk-dev] [PATCH v1 3/3] tools: enable binding NIC device to uio_pci_generic

2015-01-29 Thread Danny Zhou
Add uio_pci_generic to the list of supported DPDK driver. Signed-off-by: Danny Zhou Tested-by: Qun Wan --- tools/dpdk_nic_bind.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/dpdk_nic_bind.py b/tools/dpdk_nic_bind.py index 812b6a1..2483056 100755 --- a/tools/dpdk_ni

[dpdk-dev] [PATCH v1 2/3] eal: add interrupt enable/disable routines for uio_pci_generic

2015-01-29 Thread Danny Zhou
enable/disable interrupt by manipulating enable/disable bit of command register on NIC's PCIe configuration space. Signed-off-by: Danny Zhou Tested-by: Qun Wan --- lib/librte_eal/linuxapp/eal/eal_interrupts.c | 68 +--- 1 file changed, 52 insertions(+), 16 deletions(-)

[dpdk-dev] [PATCH v1 1/3] eal: enable uio_pci_generic support

2015-01-29 Thread Danny Zhou
1) Unify procedure to retrieve BAR resource mapping information. 2) Setup bus master bit in NIC's PCIe configuration space for uio_pci_generic. Signed-off-by: Danny Zhou Tested-by: Qun Wan --- lib/librte_eal/common/include/rte_pci.h| 1 + lib/librte_eal/linuxapp/eal/eal_pci.c

[dpdk-dev] [PATCH 0/3] Enable uio_pci_generic support

2015-01-29 Thread Danny Zhou
Linux kernel provides UIO as well as VFIO mechanism to support writing user space device driver. Comparing to UIO which is available since 2.6.32 kernel, the VFIO is introduced into kernel since version 3.6.0 with better interrupt and memory protection (build on top of Intel VT-d technology) suppor

[dpdk-dev] [PATCH 0/2] new headroom stats library and example application

2015-01-29 Thread Wodkowski, PawelX
> -Original Message- > From: Neil Horman [mailto:nhorman at tuxdriver.com] > Sent: Thursday, January 29, 2015 2:25 PM > To: Wodkowski, PawelX > Cc: dev at dpdk.org > Subject: Re: [dpdk-dev] [PATCH 0/2] new headroom stats library and example > application > > On Thu, Jan 29, 2015 at 12:50:0

[dpdk-dev] [PATCH] mk: allow application to override clean

2015-01-29 Thread Mcnamara, John
> -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Thomas Monjalon > Sent: Thursday, January 29, 2015 10:52 AM > To: stephen at networkplumber.org > Cc: dev at dpdk.org; Stephen Hemminger > Subject: Re: [dpdk-dev] [PATCH] mk: allow application to override clean >

[dpdk-dev] [PATCH 0/8] Improve build process

2015-01-29 Thread Gonzalez Monroy, Sergio
> From: Neil Horman [mailto:nhorman at tuxdriver.com] > Sent: Thursday, January 29, 2015 4:39 PM > To: Gonzalez Monroy, Sergio > Cc: dev at dpdk.org > Subject: Re: [dpdk-dev] [PATCH 0/8] Improve build process > > On Thu, Jan 29, 2015 at 03:20:03PM +, Sergio Gonzalez Monroy wrote: > > This patc

[dpdk-dev] [PATCH 2/2] mlx4: new poll mode driver

2015-01-29 Thread Adrien Mazarguil
On Thu, Jan 29, 2015 at 03:37:39PM +, Stephen Hemminger wrote: > On Thu, 29 Jan 2015 16:20:46 +0100 > Adrien Mazarguil wrote: > > > This PMD manages all variants of Mellanox ConnectX-3 (EN 40, EN 10, Pro EN > > 40) as well as their virtual functions in SR-IOV context through IB Verbs > > (lib

[dpdk-dev] [PATCH 04/17] ixgbe: support of unified packet type

2015-01-29 Thread Bruce Richardson
On Thu, Jan 29, 2015 at 11:15:52AM +0800, Helin Zhang wrote: > To unify packet types among all PMDs, bit masks of packet type for > ol_flags are replaced by unified packet type for Vector PMD. > Two suggestions on the commit log: 1. Can you add scalar and vector into the titles to make it clear h

[dpdk-dev] [BUG] ixgbe vector cannot compile without bulk alloc

2015-01-29 Thread Bruce Richardson
On Thu, Jan 29, 2015 at 11:18:01PM +0100, Thomas Monjalon wrote: > 2014-12-01 18:22, Thomas Monjalon: > > 2014-12-01 17:18, Bruce Richardson: > > > On Mon, Dec 01, 2014 at 06:10:18PM +0100, Thomas Monjalon wrote: > > > > These 2 configuration options are incompatible: > > > > CONFIG_RTE_LIB

[dpdk-dev] [PATCH 2/2] mlx4: new poll mode driver

2015-01-29 Thread Adrien Mazarguil
This PMD manages all variants of Mellanox ConnectX-3 (EN 40, EN 10, Pro EN 40) as well as their virtual functions in SR-IOV context through IB Verbs (libibverbs) and the dedicated user-space driver (libmlx4). It is disabled by default due to dependencies on these libraries and only supports Linux

[dpdk-dev] [PATCH 1/2] scripts: add auto-config-h.sh

2015-01-29 Thread Adrien Mazarguil
This script looks for types, macros and functions in header files using compilation options found in the environment (CC, CFLAGS, CPPFLAGS) to define feature macros in a generated header. Useful in combination with external headers that do not provide such macros. Signed-off-by: Adrien Mazarguil

[dpdk-dev] [PATCH 0/2] Mellanox ConnectX-3 PMD

2015-01-29 Thread Adrien Mazarguil
This PMD adds support for Mellanox ConnectX-3-based adapters through the verbs framework. It relies on external libraries (libibverbs and user space driver libmlx4) and kernel support to do so. While these libraries and kernel modules are available on OpenFabrics Alliance's website [1] and provide

[dpdk-dev] [PATCH] ixgbe: Fix an unnecessary check in vf rss

2015-01-29 Thread Wodkowski, PawelX
> -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Ouyang, Changchun > Sent: Wednesday, January 28, 2015 2:35 AM > To: Thomas Monjalon > Cc: dev at dpdk.org > Subject: Re: [dpdk-dev] [PATCH] ixgbe: Fix an unnecessary check in vf rss > > Hi Thomas, > > > -Or

[dpdk-dev] DPDK testpmd forwarding performace degradation

2015-01-29 Thread Alexander Belyakov
On Wed, Jan 28, 2015 at 3:24 PM, Alexander Belyakov wrote: > > > On Tue, Jan 27, 2015 at 7:21 PM, De Lara Guarch, Pablo < > pablo.de.lara.guarch at intel.com> wrote: > >> >> >> > On Tue, Jan 27, 2015 at 10:51 AM, Alexander Belyakov >> >> > wrote: >> >> > >> >> > Hi Pablo, >> >> > >> >> > On Mon,

[dpdk-dev] [PATCH 1/3] librte_reorder: New reorder library

2015-01-29 Thread Neil Horman
On Thu, Jan 29, 2015 at 05:35:09PM +, Gonzalez Monroy, Sergio wrote: > Hi Thomas, > > > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Thomas Monjalon > > Sent: Tuesday, January 20, 2015 8:01 AM > > To: Pattan, Reshma > > Cc: dev at dpdk.org > > Subject: Re: [dpdk-dev] [PATCH 1/3] lib

[dpdk-dev] [PATCH 2/2] mlx4: new poll mode driver

2015-01-29 Thread Stephen Hemminger
On Thu, 29 Jan 2015 16:20:46 +0100 Adrien Mazarguil wrote: > This PMD manages all variants of Mellanox ConnectX-3 (EN 40, EN 10, Pro EN > 40) as well as their virtual functions in SR-IOV context through IB Verbs > (libibverbs) and the dedicated user-space driver (libmlx4). Are these available wi

[dpdk-dev] [PATCH v3 25/25] virtio: Fix wmb issue

2015-01-29 Thread Ouyang Changchun
It needs use virtio_wmb instead of virtio_rmb for store memory barrier. Signed-off-by: Changchun Ouyang --- lib/librte_pmd_virtio/virtqueue.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_pmd_virtio/virtqueue.h b/lib/librte_pmd_virtio/virtqueue.h index 6c45c27..

[dpdk-dev] [PATCH v3 24/25] virtio: Remove hotspots

2015-01-29 Thread Ouyang Changchun
Remove those hotspots which is unnecessary when early returning occurs; Signed-off-by: Changchun Ouyang --- lib/librte_pmd_virtio/virtio_rxtx.c | 31 ++- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/lib/librte_pmd_virtio/virtio_rxtx.c b/lib/librte_p

[dpdk-dev] [PATCH v3 23/25] virtio: Fix zero copy break issue

2015-01-29 Thread Ouyang Changchun
vHOST zero copy need get vring descriptor and its buffer address to set the DMA address of HW ring, it is done in new_device when ioctl set_backend is called. This requies virtio_dev_rxtx_start is called before vtpci_reinit_complete, which makes sure the vring descriptro and its buffer is ready be

[dpdk-dev] [PATCH v3 22/25] virtio: Use soft vlan strip in mergeable Rx path

2015-01-29 Thread Ouyang Changchun
To keep the consistent logic with normal Rx path, the mergeable Rx path also needs software vlan strip/decap if it is enabled. Signed-off-by: Changchun Ouyang --- lib/librte_pmd_virtio/virtio_rxtx.c | 4 1 file changed, 4 insertions(+) diff --git a/lib/librte_pmd_virtio/virtio_rxtx.c b/li

[dpdk-dev] [PATCH v3 21/25] example/vhost: Add vlan-strip cmd line option

2015-01-29 Thread Ouyang Changchun
Support turn on/off RX VLAN strip on host, this let guest get the chance of using its software VALN strip functionality. Signed-off-by: Changchun Ouyang --- examples/vhost/main.c | 25 - 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/examples/vhost/main.c b

[dpdk-dev] [PATCH v3 20/25] example/vhost: Avoid inserting vlan twice

2015-01-29 Thread Ouyang Changchun
Check if it has already been vlan-tagged packet, if true, avoid inserting a duplicated vlan tag into it. This is a possible case when guest has the capability of inserting vlan tag. Signed-off-by: Changchun Ouyang --- examples/vhost/main.c | 45 - 1 f

[dpdk-dev] [PATCH v3 19/25] ether: Fix vlan strip/insert issue

2015-01-29 Thread Ouyang Changchun
Need swap the data from cpu to BE(big endian) for vlan-type. Signed-off-by: Changchun Ouyang --- lib/librte_ether/rte_ether.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/librte_ether/rte_ether.h b/lib/librte_ether/rte_ether.h index 74f71c2..0797908 100644 --- a/li

[dpdk-dev] [PATCH v3 18/25] virtio: Fix descriptor index issue

2015-01-29 Thread Ouyang Changchun
It should use vring descriptor index instead of used_ring index to index vq_descx. Signed-off-by: Changchun Ouyang --- lib/librte_pmd_virtio/virtio_rxtx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_pmd_virtio/virtio_rxtx.c b/lib/librte_pmd_virtio/virtio_rxtx

[dpdk-dev] [PATCH v3 17/25] virtio: Use port IO to get PCI resource.

2015-01-29 Thread Ouyang Changchun
Make virtio not require UIO for some security reasons, this is to match 6Wind's virtio-net-pmd. Signed-off-by: Changchun Ouyang --- config/common_linuxapp | 2 + lib/librte_eal/common/include/rte_pci.h | 4 ++ lib/librte_eal/linuxapp/eal/eal_pci.c | 5 +- lib/librte_pmd_vi

[dpdk-dev] [PATCH v3 16/25] virtio: Free mbuf's with threshold

2015-01-29 Thread Ouyang Changchun
This makes virtio driver work like ixgbe. Transmit buffers are held until a transmit threshold is reached. The previous behavior was to hold mbuf's until the ring entry was reused which caused more memory usage than needed. Signed-off-by: Stephen Hemminger Signed-off-by: Changchun Ouyang --- li

[dpdk-dev] [PATCH v3 15/25] virtio: Add ability to set MAC address

2015-01-29 Thread Ouyang Changchun
Need to have do special things to set default mac address. Signed-off-by: Stephen Hemminger Signed-off-by: Changchun Ouyang --- lib/librte_ether/rte_ethdev.h | 5 + lib/librte_pmd_virtio/virtio_ethdev.c | 24 2 files changed, 29 insertions(+) diff --git a/

[dpdk-dev] [PATCH v3 14/25] virtio: Add suport for multiple mac addresses

2015-01-29 Thread Ouyang Changchun
Virtio support multiple MAC addresses. Signed-off-by: Stephen Hemminger Signed-off-by: Changchun Ouyang --- lib/librte_pmd_virtio/virtio_ethdev.c | 94 ++- lib/librte_pmd_virtio/virtio_ethdev.h | 3 +- lib/librte_pmd_virtio/virtqueue.h | 34 - 3

[dpdk-dev] [PATCH v3 13/25] virtio: Add support for vlan filtering

2015-01-29 Thread Ouyang Changchun
Virtio supports vlan filtering. Signed-off-by: Stephen Hemminger Signed-off-by: Changchun Ouyang --- lib/librte_pmd_virtio/virtio_ethdev.c | 31 +-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/lib/librte_pmd_virtio/virtio_ethdev.c b/lib/librte_pmd

[dpdk-dev] [PATCH v3 12/25] virtio: Move allocation before initialization

2015-01-29 Thread Ouyang Changchun
If allocation fails, don't want to leave virtio device stuck in middle of initialization sequence. Signed-off-by: Stephen Hemminger Signed-off-by: Changchun Ouyang --- lib/librte_pmd_virtio/virtio_ethdev.c | 18 +- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/li

[dpdk-dev] [PATCH v3 11/25] virtio: Check for packet headroom at compile time

2015-01-29 Thread Ouyang Changchun
Better to check at compile time than fail at runtime. Signed-off-by: Stephen Hemminger Signed-off-by: Changchun Ouyang --- lib/librte_pmd_virtio/virtio_ethdev.c | 6 +- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/librte_pmd_virtio/virtio_ethdev.c b/lib/librte_pmd_virti

[dpdk-dev] [PATCH v3 10/25] virtio: Make vtpci_get_status local

2015-01-29 Thread Ouyang Changchun
Make vtpci_get_status a local function as it is used in one file. igned-off-by: Stephen Hemminger Signed-off-by: Changchun Ouyang --- lib/librte_pmd_virtio/virtio_pci.c | 4 +++- lib/librte_pmd_virtio/virtio_pci.h | 2 -- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/librte

[dpdk-dev] [PATCH v3 09/25] virtio: Fix how states are handled during initialization

2015-01-29 Thread Ouyang Changchun
Change order of initialiazation to match Linux kernel. Don't blow away control queue by doing reset when stopped. Calling dev_stop then dev_start would not work. Dev_stop was calling virtio reset and that would clear all queues and clear all feature negotiation. Resolved by only doing reset on dev

[dpdk-dev] [PATCH v3 08/25] virtio: Remove redundant vq_alignment

2015-01-29 Thread Ouyang Changchun
Since vq_alignment is constant (always 4K), it does not need to be part of the vring struct. Signed-off-by: Stephen Hemminger Signed-off-by: Changchun Ouyang --- lib/librte_pmd_virtio/virtio_ethdev.c | 1 - lib/librte_pmd_virtio/virtio_rxtx.c | 2 +- lib/librte_pmd_virtio/virtqueue.h | 3

[dpdk-dev] [PATCH v3 07/25] virtio: Remove unnecessary adapter structure

2015-01-29 Thread Ouyang Changchun
Cleanup virtio code by eliminating unnecessary nesting of virtio hardware structure inside adapter structure. Also allows removing unneeded macro, making code clearer. Signed-off-by: Stephen Hemminger Signed-off-by: Changchun Ouyang --- lib/librte_pmd_virtio/virtio_ethdev.c | 43 ---

[dpdk-dev] [PATCH v3 06/25] virtio: Use software vlan stripping

2015-01-29 Thread Ouyang Changchun
Implement VLAN stripping in software. This allows application to be device independent. Signed-off-by: Stephen Hemminger Signed-off-by: Changchun Ouyang --- lib/librte_ether/rte_ethdev.h | 3 +++ lib/librte_pmd_virtio/virtio_ethdev.c | 2 ++ lib/librte_pmd_virtio/virtio_pci.h| 1

[dpdk-dev] [PATCH v3 05/25] ether: Add soft vlan encap/decap functions

2015-01-29 Thread Ouyang Changchun
It is helpful to allow device drivers that don't support hardware VLAN stripping to emulate this in software. This allows application to be device independent. Avoid discarding shared mbufs. Make a copy in rte_vlan_insert() of any packet to be tagged that has a reference count > 1. Signed-off-by:

[dpdk-dev] [PATCH v3 04/25] virtio: Add support for Link State interrupt

2015-01-29 Thread Ouyang Changchun
Virtio has link state interrupt which can be used. Signed-off-by: Stephen Hemminger Signed-off-by: Changchun Ouyang --- lib/librte_pmd_virtio/virtio_ethdev.c | 78 +++ lib/librte_pmd_virtio/virtio_pci.c| 22 ++ lib/librte_pmd_virtio/virtio_pci.h|

[dpdk-dev] [PATCH v3 03/25] virtio: Allow starting with link down

2015-01-29 Thread Ouyang Changchun
Starting driver with link down should be ok, it is with every other driver. So just allow it. Signed-off-by: Stephen Hemminger Signed-off-by: Changchun Ouyang --- lib/librte_pmd_virtio/virtio_ethdev.c | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/librte_pmd_virti

[dpdk-dev] [PATCH v3 02/25] virtio: Use weaker barriers

2015-01-29 Thread Ouyang Changchun
The DPDK driver only has to deal with the case of running on PCI and with SMP. In this case, the code can use the weaker barriers instead of using hard (fence) barriers. This will help performance. The rationale is explained in Linux kernel virtio_ring.h. To make it clearer that this is a virtio t

[dpdk-dev] [PATCH v3 01/25] virtio: Rearrange resource initialization

2015-01-29 Thread Ouyang Changchun
For clarity make the setup of PCI resources for Linux into a function rather than block of code #ifdef'd in middle of dev_init. Signed-off-by: Stephen Hemminger Signed-off-by: Changchun Ouyang --- lib/librte_pmd_virtio/virtio_ethdev.c | 76 --- 1 file changed, 43

[dpdk-dev] [PATCH v3 00/25] Single virtio implementation

2015-01-29 Thread Ouyang Changchun
This is the patch set for single virtio implementation. Why we need single virtio? As we know currently there are at least 3 virtio PMD driver implementations: A) lib/librte_pmd_virtio(refer as virtio A); B) virtio_net_pmd by 6wind(refer as virtio B); C) virtio by Broc

[dpdk-dev] [PATCH 8/8] mk: add -lpthread to linuxapp EXECENV_LDLIBS

2015-01-29 Thread Sergio Gonzalez Monroy
We need to add -lpthread to EXECENV_LDLIBS because we are not passing -pthread flags in EXECENV_CFLAGS to GCC when linking apps/ Signed-off-by: Sergio Gonzalez Monroy --- mk/exec-env/linuxapp/rte.vars.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mk/exec-env/linuxapp/rte.vars.mk b/mk/

[dpdk-dev] [PATCH 7/8] mk: update LDLIBS for app building

2015-01-29 Thread Sergio Gonzalez Monroy
This patch does: - Update the app building command to link against librte_core. - Set --start-group/--end-group and --whole-archive/--no-whole-archive flags only when linking against static DPDK libs. - Set --as-needed when linking against shared DPDK libs. - Link against EXECENV_LIBS always

[dpdk-dev] [PATCH 6/8] mk: use LDLIBS when linking shared libraries

2015-01-29 Thread Sergio Gonzalez Monroy
This patch mainly makes use of the LDLIBS variable when linking shared libraries, setting proper DT_NEEDED entries. This patch also fix a few nits like syntax highlighting, the command string (O_TO_S_STR) used for linking shared libraries and the displayed of dependencies when debugging is enable

[dpdk-dev] [PATCH 5/8] lib: set LDLIBS for each library

2015-01-29 Thread Sergio Gonzalez Monroy
When creating shared libraries, each library will be linked against their dependant libraries (LDLIBS). This patch sets the LDLIBS variable for each library. Signed-off-by: Sergio Gonzalez Monroy --- lib/librte_acl/Makefile | 1 + lib/librte_cfgfile/Makefile | 2 ++ lib/librte_cm

[dpdk-dev] [PATCH 4/8] lib: update DEPDIRS variable

2015-01-29 Thread Sergio Gonzalez Monroy
This patch updates the DEPDIRS variable of all DPDK libraries so they depend on librte_core instead of any of the core libraries. Signed-off-by: Sergio Gonzalez Monroy --- lib/librte_acl/Makefile | 4 ++-- lib/librte_cfgfile/Makefile | 2 +- lib/librte_cmdline/Makefile | 4

[dpdk-dev] [PATCH 3/8] mk: new corelib makefile

2015-01-29 Thread Sergio Gonzalez Monroy
This patch creates a new rte.corelib.mk file and updates core libraries to use it instead of rte.lib.mk Signed-off-by: Sergio Gonzalez Monroy --- lib/librte_eal/bsdapp/eal/Makefile | 3 +- lib/librte_eal/linuxapp/eal/Makefile | 3 +- lib/librte_malloc/Makefile | 2 +- lib/librte_m

[dpdk-dev] [PATCH 2/8] core: create new librte_core

2015-01-29 Thread Sergio Gonzalez Monroy
This is a synthetic library used to stage the DPDK building. The goal is to produce a librte_core library that contains all the core libraries. When building the DPDK, all object files from core libraries would be moved to the build directory of librte_core. When building librte_core, the build sy

[dpdk-dev] [PATCH 1/8] mk: remove combined library and related options

2015-01-29 Thread Sergio Gonzalez Monroy
Remove CONFIG_RTE_BUILD_COMBINE_LIBS and CONFIG_RTE_LIBNAME. Signed-off-by: Sergio Gonzalez Monroy --- config/common_bsdapp| 6 -- config/common_linuxapp | 6 -- config/defconfig_ppc_64-power8-linuxapp-gcc | 2 - lib/Makefile

[dpdk-dev] [PATCH 0/8] Improve build process

2015-01-29 Thread Sergio Gonzalez Monroy
This patch series improves the DPDK build system mostly for shared libraries (and a few nits for static libraries) with the following goals: - Create a library containing core DPDK libraries (librte_eal, librte_malloc, librte_mempool, librte_mbuf and librte_ring). The idea of core libraries

[dpdk-dev] [PATCH v2 4/4] lib/librte_eal: Optimized memcpy in arch/x86/rte_memcpy.h for both SSE and AVX platforms

2015-01-29 Thread Ananyev, Konstantin
Hi Zhihong, > -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Zhihong Wang > Sent: Thursday, January 29, 2015 2:39 AM > To: dev at dpdk.org > Subject: [dpdk-dev] [PATCH v2 4/4] lib/librte_eal: Optimized memcpy in > arch/x86/rte_memcpy.h for both SSE and AVX pl

[dpdk-dev] [PATCH v6 7/7] test: remove redundant compile checks

2015-01-29 Thread Yerden Zhumabekov
Since rte_hash_crc() can now be run regardless of SSE4.2 support, we can safely remove compile checks for RTE_MACHINE_CPUFLAG_SSE4_2 in test utilities. Signed-off-by: Yerden Zhumabekov --- app/test/test_hash.c |7 --- app/test/test_hash_perf.c | 11 --- 2 files changed, 18

[dpdk-dev] [PATCH v6 6/7] hash: rte_hash_crc() slices data into 8-byte pieces

2015-01-29 Thread Yerden Zhumabekov
Calculating hash for data of variable length is more efficient when that data is sliced into 8-byte pieces. The rest part of data is hashed using CRC32 functions with either 8 and 4 byte operands. Signed-off-by: Yerden Zhumabekov --- lib/librte_hash/rte_hash_crc.h | 33

[dpdk-dev] [PATCH v6 5/7] hash: add fallback to software CRC32 implementation

2015-01-29 Thread Yerden Zhumabekov
Initially, SSE4.2 support is detected via the constructor function. Added rte_hash_crc_set_alg() function to detect and set CRC32 implementation if necessary. SSE4.2 is allowed by default. rte_hash_crc_*byte() functions reworked so they choose available CRC32 implementation in the runtime. Signe

[dpdk-dev] [PATCH v6 4/7] hash: add rte_hash_crc_8byte function

2015-01-29 Thread Yerden Zhumabekov
SSE4.2 provides CRC32 intrinsic with 8-byte operand. Signed-off-by: Yerden Zhumabekov --- lib/librte_hash/rte_hash_crc.h | 16 1 file changed, 16 insertions(+) diff --git a/lib/librte_hash/rte_hash_crc.h b/lib/librte_hash/rte_hash_crc.h index 45b0dce..6cc67cd 100644 --- a/lib

[dpdk-dev] [PATCH v6 3/7] hash: replace built-in functions implementing SSE4.2

2015-01-29 Thread Yerden Zhumabekov
Give up using built-in intrinsics and use our own assembly implementation. Remove #include entry as well. Signed-off-by: Yerden Zhumabekov --- lib/librte_hash/rte_hash_crc.h |3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/librte_hash/rte_hash_crc.h b/lib/librte_hash/

[dpdk-dev] [PATCH v6 2/7] hash: add assembly implementation of CRC32 intrinsics

2015-01-29 Thread Yerden Zhumabekov
Added: - crc32c_sse42_u32() emits 'crc32l' asm instruction; - crc32c_sse42_u64() emits 'crc32q' asm instruction; - crc32c_sse42_u64_mimic(), wrapper in case of run on 32-bit platform. Signed-off-by: Yerden Zhumabekov --- lib/librte_hash/rte_hash_crc.h | 34 ++ 1

[dpdk-dev] [PATCH v6 1/7] hash: add software CRC32 implementation

2015-01-29 Thread Yerden Zhumabekov
Add lookup tables for CRC32 algorithm, crc32c_1word() and crc32c_2words() functions returning hash of 32-bit and 64-bit operand. Signed-off-by: Yerden Zhumabekov --- lib/librte_hash/rte_hash_crc.h | 316 1 file changed, 316 insertions(+) diff --git a/li

[dpdk-dev] [PATCH v6 0/7] rte_hash_crc reworked to be platform-independent

2015-01-29 Thread Yerden Zhumabekov
This is a rework of my previous patches improving performance of rte_hash_crc. Summary of changes: * software implementation of CRC32 introduced; * in the runtime, algorithm can fall back to software version if CPU doesn't support SSE4.2; * best available algorithm is automatically detected upon

[dpdk-dev] [PATCH 0/8] Improve build process

2015-01-29 Thread Neil Horman
On Thu, Jan 29, 2015 at 05:04:20PM +, Gonzalez Monroy, Sergio wrote: > > From: Neil Horman [mailto:nhorman at tuxdriver.com] > > Sent: Thursday, January 29, 2015 4:39 PM > > To: Gonzalez Monroy, Sergio > > Cc: dev at dpdk.org > > Subject: Re: [dpdk-dev] [PATCH 0/8] Improve build process > > >

[dpdk-dev] [PATCH 0/2] new headroom stats library and example application

2015-01-29 Thread Neil Horman
On Thu, Jan 29, 2015 at 05:10:36PM +, Wodkowski, PawelX wrote: > > -Original Message- > > From: Neil Horman [mailto:nhorman at tuxdriver.com] > > Sent: Thursday, January 29, 2015 2:25 PM > > To: Wodkowski, PawelX > > Cc: dev at dpdk.org > > Subject: Re: [dpdk-dev] [PATCH 0/2] new headro

[dpdk-dev] [PATCH 15/15] doc: commands changed in testpmd_funcs.rst for flow director

2015-01-29 Thread Jingjing Wu
Following commands of flow director filter are removed: - add_signature_filter - upd_signature_filter - rm_signature_filter - add_perfect_filter - upd_perfect_filter - rm_perfect_filter - set_masks_filter - set_ipv6_masks_filter New command is added to set flow director's mask: -

[dpdk-dev] [PATCH 14/15] testpmd: remove old commands for flow director

2015-01-29 Thread Jingjing Wu
Following commands of flow director filter are removed: - add_signature_filter - upd_signature_filter - rm_signature_filter - add_perfect_filter - upd_perfect_filter - rm_perfect_filter - set_masks_filter - set_ipv6_masks_filter Signed-off-by: Jingjing Wu --- app/test-pmd/cmdline

[dpdk-dev] [PATCH 13/15] testpmd: set the default value of flow director's mask

2015-01-29 Thread Jingjing Wu
this patch sets the default value of flow director's mask. Signed-off-by: Jingjing Wu --- app/test-pmd/testpmd.c | 13 + 1 file changed, 13 insertions(+) diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index 2773c10..8b41fe5 100644 --- a/app/test-pmd/testpmd.c +++ b/app

[dpdk-dev] [PATCH 12/15] testpmd: update function to show flow director information

2015-01-29 Thread Jingjing Wu
update the function to print information includes: - capability - mask - flex configuration Signed-off-by: Jingjing Wu --- app/test-pmd/config.c | 77 ++- 1 file changed, 45 insertions(+), 32 deletions(-) diff --git a/app/test-pmd/config.c b/ap

[dpdk-dev] [PATCH 11/15] testpmd: add and update commands for flow director

2015-01-29 Thread Jingjing Wu
Add new command to set flow director's mask: - flow_director_mask Update arguments of commands: - flow_director_filter - flow_director_flex_mask - flow_director_flex_payload Signed-off-by: Jingjing Wu --- app/test-pmd/cmdline.c | 182 - 1 f

[dpdk-dev] [PATCH 10/15] ixgbe: implement the flush operation of flow director

2015-01-29 Thread Jingjing Wu
This patch implement RTE_ETH_FILTER_FLUSH operation to delete all flow director filters in ixgbe driver. Signed-off-by: Jingjing Wu --- lib/librte_pmd_ixgbe/ixgbe_fdir.c | 26 ++ 1 file changed, 26 insertions(+) diff --git a/lib/librte_pmd_ixgbe/ixgbe_fdir.c b/lib/librt

[dpdk-dev] [PATCH 09/15] ixgbe: implement the get info and statistic operations of flow director

2015-01-29 Thread Jingjing Wu
This patch changes the get info operation to be implemented through filter_ctrl API and RTE_ETH_FILTER_INFO/RTE_ETH_FILTER_STATS ops. Signed-off-by: Jingjing Wu --- lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 1 - lib/librte_pmd_ixgbe/ixgbe_ethdev.h | 3 -- lib/librte_pmd_ixgbe/ixgbe_fdir.c | 94 +

[dpdk-dev] [PATCH 08/15] ixgbe: implement the mask configuration of flow director filter

2015-01-29 Thread Jingjing Wu
This patch implement the mask configuration of flow director filter, by using the mask defined in rte_fdir_conf instead of callback function fdir_set_masks. Signed-off-by: Jingjing Wu --- lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 1 - lib/librte_pmd_ixgbe/ixgbe_ethdev.h | 16 +- lib/librte_pmd_ix

[dpdk-dev] [PATCH 07/15] ethdev: structures definition for flow director masks

2015-01-29 Thread Jingjing Wu
This patch defines structure rte_eth_fdir_masks. It extends rte_fdir_conf and rte_eth_fdir_info to contain mask's configuration. Signed-off-by: Jingjing Wu --- lib/librte_ether/rte_eth_ctrl.h | 13 + lib/librte_ether/rte_ethdev.h | 1 + 2 files changed, 14 insertions(+) diff --gi

[dpdk-dev] [PATCH 06/15] ethdev: remove flexbytes_offset from rte_fdir_conf

2015-01-29 Thread Jingjing Wu
This patch removes the flexbytes_offset from rte_fdir_conf, because the flexible payload setting is done by flex_conf instead of flexbytes_offset. Signed-off-by: Jingjing Wu --- lib/librte_ether/rte_ethdev.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/librte_ether/rte_ethdev.h b/lib

[dpdk-dev] [PATCH 05/15] testpmd: remove the flexbytes_offset setting

2015-01-29 Thread Jingjing Wu
This patch removes the flexbytes_offset setting, because the flexible payload setting is done by flex_conf instead of flexbytes_offset. Signed-off-by: Jingjing Wu --- app/test-pmd/parameters.c | 16 app/test-pmd/testpmd.c| 1 - 2 files changed, 17 deletions(-) diff --git a

[dpdk-dev] [PATCH 04/15] app/test: remove the flexbytes_offset setting in test_link_bonding

2015-01-29 Thread Jingjing Wu
This patch removes the flexbytes_offset setting, because the flexible payload setting is done by flex_conf instead of flexbytes_offset. Signed-off-by: Jingjing Wu --- app/test/test_link_bonding.c | 1 - 1 file changed, 1 deletion(-) diff --git a/app/test/test_link_bonding.c b/app/test/test_link

[dpdk-dev] [PATCH 03/15] ixgbe: implement the flexpayload configuration of flow director filter

2015-01-29 Thread Jingjing Wu
This patch implement the flexpayload configuration of flow director filter. Signed-off-by: Jingjing Wu --- lib/librte_pmd_ixgbe/ixgbe_ethdev.h | 1 + lib/librte_pmd_ixgbe/ixgbe_fdir.c | 114 +--- 2 files changed, 108 insertions(+), 7 deletions(-) diff --git a

[dpdk-dev] [PATCH 02/15] ethdev: extend flow type and flexible payload type definition for flow director

2015-01-29 Thread Jingjing Wu
This patch adds RTE_ETH_FLOW_TYPE_RAW and RTE_ETH_RAW_PAYLOAD to support the flexible payload is started from the beginning of the packet. Signed-off-by: Jingjing Wu --- lib/librte_ether/rte_eth_ctrl.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/librte_ether/rte_eth_ctrl.h b/lib/li

[dpdk-dev] [PATCH 01/15] ixgbe: migrate flow director filter operations (add/delete/update) to new API

2015-01-29 Thread Jingjing Wu
This patch changes the add/delete/update operations to be implemented through filter_ctrl API and RTE_ETH_FILTER_ADD/RTE_ETH_FILTER_DELETE/RTE_ETH_FILTER_UPDATE ops. It also removes the callback functions: - ixgbe_eth_dev_ops.fdir_add_signature_filter - ixgbe_eth_dev_ops.fdir_update_signature_fi

[dpdk-dev] [PATCH 00/15] migrate flow director in ixgbe driver to new API

2015-01-29 Thread Jingjing Wu
The patch set uses new filter_ctrl API to replace old flow director filter APIs. It uses new functions and structure to replace old ones in ixgbe driver, updates commands to replace old ones in testpmd, and removes the old APIs Jingjing Wu (15): ixgbe: migrate flow director filter operations (ad

[dpdk-dev] [PATCH] vhost: notify guest to fill buffer when there is no buffer

2015-01-29 Thread Xie, Huawei
> -Original Message- > From: Linhaifeng [mailto:haifeng.lin at huawei.com] > Sent: Thursday, January 29, 2015 8:39 PM > To: Xie, Huawei; dev at dpdk.org > Subject: Re: [dpdk-dev] [PATCH] vhost: notify guest to fill buffer when there > is > no buffer > > > > On 2015/1/29 18:39, Xie, Hu

[dpdk-dev] [PATCH 2/2] examples: introduce new l2fwd-headroom example

2015-01-29 Thread Pawel Wodkowski
This app demonstrate usage of new headroom library. It is basicaly orginal l2fwd with following modificantions to met headroom library requirements: - main_loop() was split into two jobs: forward job and flush job. Logic for thos jobs is almost the same as in orginal application. - stats is moved t

  1   2   >