[dpdk-dev] Userland IP stack for DPDK

2014-09-17 Thread Matthew Hall
On Thu, Sep 18, 2014 at 07:13:43AM +0300, Vadim Suraev wrote: > Hi, > I've published the source code of Linux kernel IP stack ported to user space > and integrated with DPDK (1.6 currently). > I includes also some example applications & test scripts as well as > documentation > about what & how is

[dpdk-dev] Maximum possible throughput with the KNI DPDK Application

2014-09-17 Thread Malveeka Tewari
Thanks Helin! I am actually working on a project to quantify the overhead of user-space to kernel-space data copying in case of conventional socket based applications. My understanding is that the KNI application involves userspace -> kernel space -> user-space data copy again to send to the

[dpdk-dev] [PATCH] doc: apply one comment to all members of a group

2014-09-17 Thread Thomas Monjalon
A doxygen group begins with /**@{*/ and ends with /**@}*/. By enabling DISTRIBUTE_GROUP_DOC, the first comment is applied to each undocumented member of the group. Signed-off-by: Thomas Monjalon --- doc/doxy-api.conf | 1 + lib/librte_port/rte_port.h | 3 ++- 2 files changed, 3

[dpdk-dev] i40e: Steps and required configurations of how to achieve the best performance!

2014-09-17 Thread David Marchand
On Wed, Sep 17, 2014 at 10:50 AM, Zhang, Helin wrote: > For the ?extended tag?, it was defined in PCIe spec, but actually not > all BIOS implements it. Enabling it in BIOS or at runtime are two choices > of doing the same thing. I don?t think it can be configured per PCI device > in BIOS, so we

[dpdk-dev] [PATCH 4/5] mbuf: add userdata pointer field

2014-09-17 Thread Richardson, Bruce
> -Original Message- > From: Neil Horman [mailto:nhorman at tuxdriver.com] > Sent: Wednesday, September 17, 2014 4:35 PM > To: Richardson, Bruce > Cc: dev at dpdk.org > Subject: Re: [dpdk-dev] [PATCH 4/5] mbuf: add userdata pointer field > > On Wed, Sep 17, 2014 at 11:01:41AM +0100, Bruce

[dpdk-dev] [PATCH 3/3] i40e: fix of interrupt based link status change

2014-09-17 Thread Helin Zhang
As driver flag of 'RTE_PCI_DRV_INTR_LSC' was introduced recently, it must be added in i40e. One second waiting is needed for link up event, to wait the hardware into a stable state, so the interrupt could be processed in two parts. In addition, it should finally call the callback function

[dpdk-dev] [PATCH 2/3] i40e: rework of PF interrupt cause enable flags processing

2014-09-17 Thread Helin Zhang
To get the code cleaner and more straightforward, a macro is defined for all interrupt cause enable flags. Two more causes are enabled, and all the interrupt causes for reporting any errors are compiled conditionally, as they are for debug only. Signed-off-by: Helin Zhang Reviewed-by: Jing Chen

[dpdk-dev] [PATCH 1/3] i40e: renaming some local variables

2014-09-17 Thread Helin Zhang
To be more straightforward, two local variables in interrupt handler are renamed. Signed-off-by: Helin Zhang Reviewed-by: Jing Chen Reviewed-by: Jijiang Liu --- lib/librte_pmd_i40e/i40e_ethdev.c | 26 +- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git

[dpdk-dev] [PATCH 0/3] fix of lsc interrupt in i40e PF

2014-09-17 Thread Helin Zhang
The patches include the fix for link status change interrupt in i40e PF, and code style fixes. Helin Zhang (3): i40e: renaming some local variables i40e: rework of PF interrupt cause enable flags processing i40e: fix of interrupt based link status change lib/librte_pmd_i40e/i40e_ethdev.c

[dpdk-dev] Maximum possible throughput with the KNI DPDK Application

2014-09-17 Thread Malveeka Tewari
Hi all I've been playing the with DPDK API to send out packets using the l2fwd app and the Kernel Network Interface app with a single Intel 82599 NIC on an Intel Xeon E5-2630 With the l2fwd application, I've been able to achieve 14.88 Mpps with minimum sized packets. However, running iperf with

[dpdk-dev] [PATCH v3 19/20] e1000: add a message when forcing scatter mode

2014-09-17 Thread David Marchand
Signed-off-by: David Marchand Acked-by: Bruce Richardson --- lib/librte_pmd_e1000/em_rxtx.c |4 lib/librte_pmd_e1000/igb_rxtx.c | 14 ++ 2 files changed, 18 insertions(+) diff --git a/lib/librte_pmd_e1000/em_rxtx.c b/lib/librte_pmd_e1000/em_rxtx.c index 444fd02..f7a9c3a

[dpdk-dev] [PATCH v3 18/20] e1000: always log init messages

2014-09-17 Thread David Marchand
'init' messages should always be logged and filtered at runtime by rte_log. All the more so as these messages are not in the datapath. Signed-off-by: David Marchand Acked-by: Bruce Richardson --- lib/librte_pmd_e1000/e1000_logs.h |7 --- 1 file changed, 4 insertions(+), 3 deletions(-)

[dpdk-dev] [PATCH v3 17/20] e1000: clean log messages

2014-09-17 Thread David Marchand
Clean log messages: - remove leading \n in some messages, - remove trailing \n in some messages, - split multi lines messages, - introduce PMD_INIT_FUNC_TRACE macro and use it instead of PMD_INIT_LOG(DEBUG, "some_func") Signed-off-by: David Marchand v2 Reviewed-by: Jay Rolette v2 Acked-by:

[dpdk-dev] [PATCH v3 16/20] e1000: indent logs sections

2014-09-17 Thread David Marchand
Prepare for next commit, indent sections where log messages will be modified so that next patch is only about \n. Signed-off-by: David Marchand --- lib/librte_pmd_e1000/em_ethdev.c | 28 - lib/librte_pmd_e1000/em_rxtx.c| 60 ++---

[dpdk-dev] [PATCH v3 15/20] e1000/base: add a raw macro for use by shared code

2014-09-17 Thread David Marchand
Since shared code always add a trailing \n, add a PMD_DRV_LOG_RAW macro that will not add one. Signed-off-by: David Marchand Acked-by: Bruce Richardson --- lib/librte_pmd_e1000/e1000/e1000_osdep.h |4 ++-- lib/librte_pmd_e1000/e1000_logs.h|9 ++--- 2 files changed, 8

[dpdk-dev] [PATCH v3 14/20] e1000: use the right debug macro

2014-09-17 Thread David Marchand
- We should not use DEBUGOUT* / DEBUGFUNC macros in non-shared code. These macros come as compat wrappers for shared code. - We should avoid calling RTE_LOG directly as pmd provides a wrapper for logs. Signed-off-by: David Marchand v2 Reviewed-by: Jay Rolette v2 Acked-by: Bruce Richardson ---

[dpdk-dev] [PATCH v3 13/20] i40e: add log messages when rx bulk mode is not usable

2014-09-17 Thread David Marchand
Signed-off-by: David Marchand Acked-by: Bruce Richardson --- lib/librte_pmd_i40e/i40e_rxtx.c | 29 - 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/lib/librte_pmd_i40e/i40e_rxtx.c b/lib/librte_pmd_i40e/i40e_rxtx.c index 22f9fd5..481ebed 100644 ---

[dpdk-dev] [PATCH v3 12/20] i40e: always log init messages

2014-09-17 Thread David Marchand
'init' messages should always be logged and filtered at runtime by rte_log. All the more so as these messages are not in the datapath. Signed-off-by: David Marchand Acked-by: Bruce Richardson --- lib/librte_pmd_i40e/i40e_logs.h |7 --- 1 file changed, 4 insertions(+), 3 deletions(-)

[dpdk-dev] [PATCH v3 11/20] i40e: clean log messages

2014-09-17 Thread David Marchand
Clean log messages: - remove leading \n in some messages, - remove trailing \n in some messages, - split multi lines messages. Signed-off-by: David Marchand v2 Reviewed-by: Jay Rolette v2 Acked-by: Bruce Richardson --- lib/librte_pmd_i40e/i40e_ethdev.c| 248

[dpdk-dev] [PATCH v3 10/20] i40e: indent logs sections

2014-09-17 Thread David Marchand
Prepare for next commit, indent sections where log messages will be modified so that next patch is only about \n. Signed-off-by: David Marchand --- lib/librte_pmd_i40e/i40e_ethdev.c| 101 +- lib/librte_pmd_i40e/i40e_ethdev_vf.c | 76

[dpdk-dev] [PATCH v3 09/20] i40e/base: add a raw macro for use by shared code

2014-09-17 Thread David Marchand
Since shared code always add a trailing \n, add a PMD_DRV_LOG_RAW macro that will not add one. Signed-off-by: David Marchand Acked-by: Bruce Richardson --- lib/librte_pmd_i40e/i40e/i40e_osdep.h |8 lib/librte_pmd_i40e/i40e_logs.h |9 ++--- 2 files changed, 10

[dpdk-dev] [PATCH v3 08/20] i40e: use the right debug macro

2014-09-17 Thread David Marchand
- Don't use DEBUGFUNC macro in non-shared code. - Don't use printf for logs. - We should avoid calling RTE_LOG directly as pmd provides a wrapper for logs. - Replace some PMD_INIT_LOG(DEBUG, "some_func") with PMD_INIT_FUNC_TRACE(). Signed-off-by: David Marchand v2 Reviewed-by: Jay Rolette v2

[dpdk-dev] [PATCH v3 07/20] ixgbe: add log messages when rx bulk mode is not usable

2014-09-17 Thread David Marchand
Signed-off-by: David Marchand Acked-by: Bruce Richardson --- lib/librte_pmd_ixgbe/ixgbe_rxtx.c | 29 - 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c index 98fbd46..4876feb

[dpdk-dev] [PATCH v3 06/20] ixgbe: add a message when forcing scatter mode

2014-09-17 Thread David Marchand
Signed-off-by: David Marchand Acked-by: Bruce Richardson --- lib/librte_pmd_ixgbe/ixgbe_rxtx.c |8 1 file changed, 8 insertions(+) diff --git a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c index 9a3fd0d..98fbd46 100644 ---

[dpdk-dev] [PATCH v3 05/20] ixgbe: always log init messages

2014-09-17 Thread David Marchand
'init' messages should always be logged and filtered at runtime by rte_log. All the more so as these messages are not in the datapath. Signed-off-by: David Marchand Acked-by: Bruce Richardson --- lib/librte_pmd_ixgbe/ixgbe_logs.h |7 --- 1 file changed, 4 insertions(+), 3 deletions(-)

[dpdk-dev] [PATCH v3 03/20] ixgbe: indent logs sections

2014-09-17 Thread David Marchand
Prepare for next commit, indent sections where log messages will be modified so that next patch is only about \n. Signed-off-by: David Marchand --- lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 51 +-- lib/librte_pmd_ixgbe/ixgbe_rxtx.c | 34 ---

[dpdk-dev] [PATCH v3 02/20] ixgbe/base: add a raw macro for use by shared code

2014-09-17 Thread David Marchand
Since shared code always add a trailing \n, add a PMD_DRV_LOG_RAW macro that will not add one. Signed-off-by: David Marchand Acked-by: Bruce Richardson --- lib/librte_pmd_ixgbe/ixgbe/ixgbe_osdep.h |4 ++-- lib/librte_pmd_ixgbe/ixgbe_logs.h|9 ++--- 2 files changed, 8

[dpdk-dev] [PATCH v3 01/20] ixgbe: use the right debug macro

2014-09-17 Thread David Marchand
- We should not use DEBUGOUT*/DEBUGFUNC macros in non-shared code. These macros come as compat wrappers for shared code. - We should avoid calling RTE_LOG directly as pmd provides a wrapper for logs. - Replace some PMD_INIT_LOG(DEBUG, "some_func") with PMD_INIT_FUNC_TRACE(). Signed-off-by: David

[dpdk-dev] [PATCH v3 00/20] cleanup logs in main PMDs

2014-09-17 Thread David Marchand
Here is a patchset that reworks the log macro in e1000, ixgbe and i40e PMDs. The idea behind this is to make it easier to debug some init failures and to be sure of the datapath selected in these PMDs (rx / tx handlers selection). The PMDs changes involve adding more debug messages in the default

[dpdk-dev] [PATCH 2/5] ixgbe: add prefetch to improve slow-path tx perf

2014-09-17 Thread Richardson, Bruce
> -Original Message- > From: Neil Horman [mailto:nhorman at tuxdriver.com] > Sent: Wednesday, September 17, 2014 4:21 PM > To: Richardson, Bruce > Cc: dev at dpdk.org > Subject: Re: [dpdk-dev] [PATCH 2/5] ixgbe: add prefetch to improve slow-path > tx > perf > > On Wed, Sep 17, 2014 at

[dpdk-dev] [PATCH 2/2] bond: add mode 4 support

2014-09-17 Thread Pawel Wodkowski
Signed-off-by: Pawel Wodkowski Signed-off-by: Maciej T Gajdzica Reviewed-by: Declan Doherty --- lib/librte_ether/rte_ether.h |1 + lib/librte_pmd_bond/Makefile |1 + lib/librte_pmd_bond/rte_eth_bond.h |4 +

[dpdk-dev] [PATCH 1/2] bond: extract common code to separate functions

2014-09-17 Thread Pawel Wodkowski
Signed-off-by: Pawel Wodkowski Reviewed-by: Declan Doherty --- lib/librte_pmd_bond/rte_eth_bond_api.c | 59 +--- lib/librte_pmd_bond/rte_eth_bond_pmd.c | 47 ++ lib/librte_pmd_bond/rte_eth_bond_private.h | 30 -- 3 files

[dpdk-dev] [PATCH 0/2] bond: add mode 4 support

2014-09-17 Thread Pawel Wodkowski
This patch set adds support of mode 4 to link bonding pmd. It also introduce some minor changes to the orginal pmd driver to easer integrate mode 4. This patchset depend on Declan Doherty patch set: http://dpdk.org/ml/archives/dev/2014-September/005069.html Pawel Wodkowski (2): bond: Extract

[dpdk-dev] Regarding Crypto Accelerators

2014-09-17 Thread Zhu, Heqing
8086:0435 is also valid for the new generation. -Sent via Intel smartphone. -Original Message- From: De Lara Guarch, Pablo [pablo.de.lara.guarch at intel.com] Sent: Wednesday, September 17, 2014 04:19 AM Pacific Standard Time To: Prashant

[dpdk-dev] [PATCH 4/5] mbuf: add userdata pointer field

2014-09-17 Thread Neil Horman
On Wed, Sep 17, 2014 at 04:02:07PM +, Richardson, Bruce wrote: > > -Original Message- > > From: Neil Horman [mailto:nhorman at tuxdriver.com] > > Sent: Wednesday, September 17, 2014 4:35 PM > > To: Richardson, Bruce > > Cc: dev at dpdk.org > > Subject: Re: [dpdk-dev] [PATCH 4/5] mbuf:

[dpdk-dev] [PATCH 2/5] ixgbe: add prefetch to improve slow-path tx perf

2014-09-17 Thread Neil Horman
On Wed, Sep 17, 2014 at 03:35:19PM +, Richardson, Bruce wrote: > > > -Original Message- > > From: Neil Horman [mailto:nhorman at tuxdriver.com] > > Sent: Wednesday, September 17, 2014 4:21 PM > > To: Richardson, Bruce > > Cc: dev at dpdk.org > > Subject: Re: [dpdk-dev] [PATCH 2/5]

[dpdk-dev] [PATCH 5/5] mbuf: Add in second vlan tag field to mbuf

2014-09-17 Thread Stephen Hemminger
On Wed, 17 Sep 2014 11:01:42 +0100 Bruce Richardson wrote: > Packets with double vlan tags are relatively common. Applications can be > written to use these, and some NICs (such as those supported by the i40e > driver) have hardware support for double vlan tags. To support apps and > drivers

[dpdk-dev] [PATCH 4/5] mbuf: add userdata pointer field

2014-09-17 Thread Neil Horman
On Wed, Sep 17, 2014 at 11:01:41AM +0100, Bruce Richardson wrote: > While some applications may store metadata about packets in the packet > mbuf headroom, this is not a workable solution for packet metadata which > is either: > * larger than the headroom (or headroom is needed for adding pkt

[dpdk-dev] [PATCH v2 0/6] Mbuf structure Rework, part 1

2014-09-17 Thread Thomas Monjalon
2014-08-28 16:42, Bruce Richardson: > This patch set does some initial pre-work to prepare the mbuf data structure > (and ixgbe vector driver to a lesser extent) for more major changes which > will follow on in a subsequent patch set. [See previous RFC patch set for > more indications of the

[dpdk-dev] [PATCH 3/5] testpmd: Change rxfreet default to 32

2014-09-17 Thread Neil Horman
On Wed, Sep 17, 2014 at 11:01:40AM +0100, Bruce Richardson wrote: > To improve performance by using bulk alloc or vectored RX routines, we > need to set rx free threshold (rxfreet) value to 32, so make this the > testpmd default. > > Signed-off-by: Bruce Richardson > --- >

[dpdk-dev] [PATCH 2/5] ixgbe: add prefetch to improve slow-path tx perf

2014-09-17 Thread Neil Horman
On Wed, Sep 17, 2014 at 11:01:39AM +0100, Bruce Richardson wrote: > Make a small improvement to slow path TX performance by adding in a > prefetch for the second mbuf cache line. > Also move assignment of l2/l3 length values only when needed. > > Signed-off-by: Bruce Richardson > --- >

[dpdk-dev] Regarding Crypto Accelerators

2014-09-17 Thread De Lara Guarch, Pablo
Hi Prashant, > -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Prashant > Upadhyaya > Sent: Wednesday, September 17, 2014 7:32 AM > To: dev at dpdk.org > Subject: [dpdk-dev] Regarding Crypto Accelerators > > Hi, > > I am planning to explore the usage of

[dpdk-dev] [PATCH 2/2] bond: add mode 4 support

2014-09-17 Thread Neil Horman
On Wed, Sep 17, 2014 at 03:21:53PM +0100, Pawel Wodkowski wrote: > Signed-off-by: Pawel Wodkowski > Signed-off-by: Maciej T Gajdzica > Reviewed-by: Declan Doherty > --- > lib/librte_ether/rte_ether.h |1 + > lib/librte_pmd_bond/Makefile |1 + >

[dpdk-dev] [PATCH 5/5] mbuf: Add in second vlan tag field to mbuf

2014-09-17 Thread Bruce Richardson
Packets with double vlan tags are relatively common. Applications can be written to use these, and some NICs (such as those supported by the i40e driver) have hardware support for double vlan tags. To support apps and drivers using double vlan tags, we need to add in a second vlan tag field into

[dpdk-dev] [PATCH 4/5] mbuf: add userdata pointer field

2014-09-17 Thread Bruce Richardson
While some applications may store metadata about packets in the packet mbuf headroom, this is not a workable solution for packet metadata which is either: * larger than the headroom (or headroom is needed for adding pkt headers) * needs to be shared or copied among packets To support these use

[dpdk-dev] [PATCH 3/5] testpmd: Change rxfreet default to 32

2014-09-17 Thread Bruce Richardson
To improve performance by using bulk alloc or vectored RX routines, we need to set rx free threshold (rxfreet) value to 32, so make this the testpmd default. Signed-off-by: Bruce Richardson --- app/test-pmd/testpmd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git

[dpdk-dev] [PATCH 2/5] ixgbe: add prefetch to improve slow-path tx perf

2014-09-17 Thread Bruce Richardson
Make a small improvement to slow path TX performance by adding in a prefetch for the second mbuf cache line. Also move assignment of l2/l3 length values only when needed. Signed-off-by: Bruce Richardson --- lib/librte_pmd_ixgbe/ixgbe_rxtx.c | 12 +++- 1 file changed, 7 insertions(+), 5

[dpdk-dev] [PATCH 1/5] mbuf: ensure next pointer is set to null on free

2014-09-17 Thread Bruce Richardson
The receive functions for packets do not modify the next pointer so the next pointer should always be cleared on mbuf free, just in case. The slow-path TX needs to clear it, and the standard mbuf free function also needs to clear it. Fast path TX does not handle chained mbufs so is unaffected

[dpdk-dev] [PATCH 0/5] Mbuf Structure Rework, part 3

2014-09-17 Thread Bruce Richardson
This is the final planned set of patches to make changes to the mbuf data structure and associated files. This patch set makes more changes to help improve performance following the mbuf changes and adds in two new fields into the mbuf structure. It is planned to add other fields other than the

[dpdk-dev] [PATCH] ADD mode 5(tlb) to link bonding pmd

2014-09-17 Thread Daniel Mrzyglod
This patch set adds support of mode 5 to link bonding pmd This patchset depend on Declan Doherty patch set: http://dpdk.org/ml/archives/dev/2014-September/005069.html Signed-off-by: Daniel Mrzyglod --- lib/librte_pmd_bond/rte_eth_bond.h | 23

[dpdk-dev] [PATCH 1/2] bond: extract common code to separate functions

2014-09-17 Thread Neil Horman
On Wed, Sep 17, 2014 at 03:21:52PM +0100, Pawel Wodkowski wrote: > Signed-off-by: Pawel Wodkowski > Reviewed-by: Declan Doherty > --- > lib/librte_pmd_bond/rte_eth_bond_api.c | 59 > +--- > lib/librte_pmd_bond/rte_eth_bond_pmd.c | 47 ++ >

[dpdk-dev] [PATCH v3 20/20] eal: set log level from command line

2014-09-17 Thread Neil Horman
On Wed, Sep 17, 2014 at 03:46:52PM +0200, David Marchand wrote: > Add a --log-level option to set the default eal log level. > > Signed-off-by: David Marchand > Acked-by: Bruce Richardson > --- > #else > @@ -652,6 +679,18 @@ eal_parse_args(int argc, char **argv) >

[dpdk-dev] i40e: Steps and required configurations of how to achieve the best performance!

2014-09-17 Thread David Marchand
Hello, Some questions/comments : On Wed, Sep 17, 2014 at 6:18 AM, Zhang, Helin wrote: > -- *Extended Tag: Enabled > Note that 'Extended Tag' might not be seen in some BIOS, see 'compile > settings' for doing that at runtime. > I am not sure I understand this point. Either you have a bios

[dpdk-dev] [PATCH] virtio: fix crash if VIRTIO_NET_F_CTRL_VQ is not negotiated

2014-09-17 Thread Olivier MATZ
Hello, On 09/12/2014 12:25 AM, damarion at cisco.com wrote: > From: Damjan Marion > > If VIRTIO_NET_F_CTRL_VQ is not negotiated hw->cvq will be NULL > > Signed-off-by: Damjan Marion > --- > lib/librte_pmd_virtio/virtio_rxtx.c | 6 -- > 1 file changed, 4 insertions(+), 2 deletions(-) >

[dpdk-dev] i40e: Steps and required configurations of how to achieve the best performance!

2014-09-17 Thread Zhang, Helin
Hi David For the ?extended tag?, it was defined in PCIe spec, but actually not all BIOS implements it. Enabling it in BIOS or at runtime are two choices of doing the same thing. I don?t think it can be configured per PCI device in BIOS, so we don?t need to do that per PCI device in DPDK.

[dpdk-dev] TR: PMD for Cisco VIC Ethernet NIC - Request for guidelines for submission

2014-09-17 Thread Hobywan Kenoby
Hi Sujith, I missed you mail! probably because of huge DPDK list activity. As I was checking what was hapening (and expected some announcement at DPDK summit or IDF to be honest) I saw your mail. I was thinking of the new vectorized packet handling functions exposed in ixgbe_rxtx_vec.c. - HK >