Re: [dpdk-dev] [PATCH] net/virtio: fix an incorrect behavior of device stop/start

2017-08-31 Thread Jens Freimann
On Wed, Aug 30, 2017 at 06:24:24PM +0800, Tiwei Bie wrote: Hi Jens, On Wed, Aug 30, 2017 at 11:13:06AM +0200, Jens Freimann wrote: Hi Tiwei, On Tue, Aug 29, 2017 at 04:26:01PM +0800, Tiwei Bie wrote: > After starting a device, the driver shouldn't deliver the > packets that already existed in

Re: [dpdk-dev] [PATCH 0/2] virtio: cleanup virtio code

2017-08-31 Thread Yuanhan Liu
On Wed, Aug 30, 2017 at 02:03:52PM +0200, Maxime Coquelin wrote: > Hi Zhiyong, > > On 08/03/2017 03:21 AM, Zhiyong Yang wrote: > >This patchset has some trivial changes and make it easier > >to read code. > > > >Zhiyong Yang (2): > > virtio: fix the wrong indent > > virtio: use macro to replac

Re: [dpdk-dev] [PATCH 1/2] net/i40e: queue region set and flush

2017-08-31 Thread Zhao1, Wei
HI, Ferruh > -Original Message- > From: Yigit, Ferruh > Sent: Friday, September 1, 2017 12:18 AM > To: Zhao1, Wei ; dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH 1/2] net/i40e: queue region set and flush > > On 8/24/2017 4:26 AM, Wei Zhao wrote: > > This feature enable queue regions conf

[dpdk-dev] [PATCH v4] ethdev: allow returning error on VLAN offload configuration

2017-08-31 Thread David Harton
Some devices may not support or fail setting VLAN offload configuration based on dynamic circurmstances so the vlan_offload_set_t vector is modified to return an int so the caller can determine success or not. rte_eth_dev_set_vlan_offload is updated to return the value provided by the vector when

Re: [dpdk-dev] [PATCH v2 1/2] net/i40e: fix clear xstats bug in vf port

2017-08-31 Thread Zhao1, Wei
Hi, Ferruh > -Original Message- > From: Yigit, Ferruh > Sent: Friday, September 1, 2017 12:54 AM > To: Zhao1, Wei ; dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH v2 1/2] net/i40e: fix clear xstats bug in vf > port > > On 8/29/2017 3:28 AM, Wei Zhao wrote: > > There is a bug in vf clear x

[dpdk-dev] [PATCH v5] ethdev: add return code to rte_eth_stats_reset()

2017-08-31 Thread David Harton
Some devices do not support reset of eth stats. An application may need to know not to clear shadow stats if the device cannot. rte_eth_stats_reset is updated to provide a return code to share whether the device supports reset or not. Signed-off-by: David Harton --- v5: * squashed doc patch *

Re: [dpdk-dev] [PATCH] lib/gro: fix typo in .map file

2017-08-31 Thread Hu, Jiayu
Hi Thomas, > -Original Message- > From: Thomas Monjalon [mailto:tho...@monjalon.net] > Sent: Friday, September 1, 2017 4:35 AM > To: Hu, Jiayu > Cc: dev@dpdk.org; Yigit, Ferruh > Subject: Re: [dpdk-dev] [PATCH] lib/gro: fix typo in .map file > > 22/08/2017 16:38, Ferruh Yigit: > > On 8/

Re: [dpdk-dev] [PATCH v3] ethdev: modifiy vlan_offload_set_t to return int

2017-08-31 Thread David Harton (dharton)
Hi Thomas, > -Original Message- > From: Thomas Monjalon [mailto:tho...@monjalon.net] > Sent: Thursday, August 31, 2017 6:04 PM > To: David Harton (dharton) > Cc: dev@dpdk.org; ferruh.yi...@intel.com; ajit.khapa...@broadcom.com; John > Daley (johndale) ; konstantin.anan...@intel.com; > jin

Re: [dpdk-dev] [PATCH v4 1/2] ethdev: add return code to rte_eth_stats_reset()

2017-08-31 Thread Thomas Monjalon
10/08/2017 15:29, David Harton: > Some devices do not support reset of eth stats. An application may > need to know not to clear shadow stats if the device cannot. Yes, thanks for improving this old API. > rte_eth_stats_reset is updated to provide a return code to share > whether the device supp

Re: [dpdk-dev] [PATCH v4 2/2] doc: Update ABI Change for rte_eth_stats_reset

2017-08-31 Thread Thomas Monjalon
01/09/2017 00:10, Thomas Monjalon: > 10/08/2017 15:29, David Harton: > > --- a/doc/guides/rel_notes/release_17_11.rst > > +++ b/doc/guides/rel_notes/release_17_11.rst > > @@ -124,6 +124,7 @@ ABI Changes > > Also, make sure to start the actual text at the margin. > >

Re: [dpdk-dev] [PATCH v4 2/2] doc: Update ABI Change for rte_eth_stats_reset

2017-08-31 Thread Thomas Monjalon
10/08/2017 15:29, David Harton: > --- a/doc/guides/rel_notes/release_17_11.rst > +++ b/doc/guides/rel_notes/release_17_11.rst > @@ -124,6 +124,7 @@ ABI Changes > Also, make sure to start the actual text at the margin. > = > > +* Chan

Re: [dpdk-dev] [PATCH v3] ethdev: modifiy vlan_offload_set_t to return int

2017-08-31 Thread Thomas Monjalon
One more comment below 01/09/2017 00:04, Thomas Monjalon: > Hi, > > 25/08/2017 15:47, David Harton: > > Some devices may not support or fail setting VLAN offload > > configuration based on dynamic circurmstances so the > > vlan_offload_set_t vector is modified to return an int so > > the caller c

Re: [dpdk-dev] [PATCH v4 3/3] igb_uio: MSI IRQ mode

2017-08-31 Thread Markus Theil
On 31.08.2017 17:32, Stephen Hemminger wrote: > On Thu, 31 Aug 2017 12:22:29 +0200 > Markus Theil wrote: > >> +/* >> + * It masks the msi on/off of generating MSI messages. >> + */ >> +static void >> +igbuio_msi_mask_irq(struct pci_dev *pdev, struct msi_desc *desc, int32_t >> state) >> +{ >> +

Re: [dpdk-dev] [PATCH v3] igb_uio: MSI IRQ mode, irq enable/disable refactored

2017-08-31 Thread Markus Theil
On 30.08.2017 18:32, Ferruh Yigit wrote: > Please add fall back comment: /* fall back to MSI */ > > And related this fallback, previously flow was: > Try MSIX, if fails try legacy. > > Now it is: > Try MSIX, if fails try MSI, if fails try legacy. > > Do you think, does this new step included may br

Re: [dpdk-dev] [PATCH v3] ethdev: modifiy vlan_offload_set_t to return int

2017-08-31 Thread Thomas Monjalon
Hi, 25/08/2017 15:47, David Harton: > Some devices may not support or fail setting VLAN offload > configuration based on dynamic circurmstances so the > vlan_offload_set_t vector is modified to return an int so > the caller can determine success or not. I agree with allowing to return an error.

[dpdk-dev] [PATCH v5 5/5] igb_uio: release in exact reverse order

2017-08-31 Thread Markus Theil
Signed-off-by: Markus Theil --- lib/librte_eal/linuxapp/igb_uio/igb_uio.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c index 5830453..b578c4a 100644 --- a/lib/librte_eal/linuxapp/i

[dpdk-dev] [PATCH v5 2/5] igb_uio: fix irq disable on recent kernels

2017-08-31 Thread Markus Theil
igb_uio already allocates irqs using pci_alloc_irq_vectors on recent kernels >= 4.8. The interrupt disable code was not using the corresponding pci_free_irq_vectors, but the also deprecated pci_disable_msix, before this fix. Fixes: 99bb58f3adc7 ("igb_uio: switch to new irq function for MSI-X") Cc:

[dpdk-dev] [PATCH v5 1/5] igb_uio: refactor irq enable/disable into own functions

2017-08-31 Thread Markus Theil
Interrupt setup code in igb_uio has to deal with multiple types of interrupts and kernel versions. This patch moves the setup and teardown code into own functions, to make it more readable. Signed-off-by: Markus Theil --- lib/librte_eal/linuxapp/igb_uio/igb_uio.c | 112 +-

[dpdk-dev] [PATCH v5 3/5] igb_uio: MSI IRQ mode

2017-08-31 Thread Markus Theil
This patch adds MSI IRQ mode and in a way, that should also work on older kernel versions. The base for my patch was an attempt to do this in cf705bc36c which was later reverted in d8ee82745a. Compilation was tested on Linux 3.2, 4.10 and 4.12. Signed-off-by: Markus Theil --- lib/librte_eal/linu

[dpdk-dev] [PATCH v5 4/5] igb_uio: use msi mask functions from kernel, little corrections

2017-08-31 Thread Markus Theil
This patch substitutes the custom MSI/MSI-X mask code and uses already existing kernel APIs. Feedback/small corrections to the previous patch of this series are also incorporated. Signed-off-by: Markus Theil --- lib/librte_eal/linuxapp/igb_uio/compat.h | 26 +++-- lib/librte_eal/linuxapp/ig

Re: [dpdk-dev] [PATCH 0/4] minor cleanup of filenames and deps

2017-08-31 Thread Thomas Monjalon
31/08/2017 17:26, Thomas Monjalon: > 31/08/2017 16:34, Bruce Richardson: > > On Thu, Aug 31, 2017 at 03:15:05PM +0100, Ferruh Yigit wrote: > > > On 8/31/2017 2:42 PM, Bruce Richardson wrote: > > > > While working on a build system replacement, I find a number of small > > > > inconsistencies and mi

Re: [dpdk-dev] [PATCH] lib/gro: fix typo in .map file

2017-08-31 Thread Thomas Monjalon
22/08/2017 16:38, Ferruh Yigit: > On 8/22/2017 2:58 PM, Jiayu Hu wrote: > > The names of rte_gro_ctx_create() and rte_gro_ctx_destroy() in > > rte_gro_version.map are incorrect. This patch is to fix this issue. > > > > Fixes: e996506a1c07 ("lib/gro: add Generic Receive Offload API framework") > >

Re: [dpdk-dev] [PATCH v2 1/2] net/i40e: fix clear xstats bug in vf port

2017-08-31 Thread Ferruh Yigit
On 8/29/2017 3:28 AM, Wei Zhao wrote: > There is a bug in vf clear xstats command, it do not > record the statics data in offset struct member.So, vf > need to keep record of xstats data from pf and update > the statics according to offset. > > Fixes: da61cd0849766 ("i40evf: add extended stats") >

[dpdk-dev] [PATCH] net/mlx5: fix calculating TSO inline size

2017-08-31 Thread Yongseok Koh
Tx descriptor for TSO embeds packet header to be replicated. If Tx inline is enabled, there could be additional packet data inlined with 4B inline header ahead. And between the header and additional inlined packet data, there may be padding to make the inline part aligned to MLX5_WQE_DWORD_SIZE. In

Re: [dpdk-dev] [PATCH 1/2] net/i40e: queue region set and flush

2017-08-31 Thread Ferruh Yigit
On 8/24/2017 4:26 AM, Wei Zhao wrote: > This feature enable queue regions configuration for RSS in PF/VF, > so that different traffic classes or different packet > classification types can be separated to different queues in > different queue regions.This patch can set queue region range, > it incl

Re: [dpdk-dev] [PATCH] i40e: fix i40e_validate_mac_addr to permit multicast addresses

2017-08-31 Thread David Harton (dharton)
> -Original Message- > From: Ferruh Yigit [mailto:ferruh.yi...@intel.com] > Sent: Thursday, August 31, 2017 11:54 AM > To: David Harton (dharton) ; jingjing...@intel.com; > beilei.x...@intel.com > Cc: dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH] i40e: fix i40e_validate_mac_addr to permi

Re: [dpdk-dev] [PATCH] i40e: fix i40e_validate_mac_addr to permit multicast addresses

2017-08-31 Thread Ferruh Yigit
On 8/22/2017 11:21 PM, David Harton wrote: > The i40e maintains a single MAC filter table for both > unicast and multicast addresses. The i40e_validate_mac_addr > function was preventing multicast addresses from being added > to the table via i40evf_add_mac_addr. Fixed the issue by > removing the

Re: [dpdk-dev] [PATCH v2 1/2] net/mlx5: fix clang compilation

2017-08-31 Thread Ferruh Yigit
On 8/30/2017 3:47 PM, Nelio Laranjeiro wrote: > On redhat 7.2 clang reports the following error: >CC mlx5_rxmode.o > /drivers/net/mlx5/mlx5_ethdev.c:820:32: error: field 'edata' with variable > sized type 'struct ethtool_link_settings' not at the end of a struct or > class is a GNU extensi

Re: [dpdk-dev] [PATCH v4 3/3] igb_uio: MSI IRQ mode

2017-08-31 Thread Stephen Hemminger
On Thu, 31 Aug 2017 12:22:29 +0200 Markus Theil wrote: > +/* > + * It masks the msi on/off of generating MSI messages. > + */ > +static void > +igbuio_msi_mask_irq(struct pci_dev *pdev, struct msi_desc *desc, int32_t > state) > +{ > + u32 mask_bits = desc->masked; > + u32 offset = desc->

Re: [dpdk-dev] [PATCH 0/4] minor cleanup of filenames and deps

2017-08-31 Thread Thomas Monjalon
31/08/2017 16:34, Bruce Richardson: > On Thu, Aug 31, 2017 at 03:15:05PM +0100, Ferruh Yigit wrote: > > On 8/31/2017 2:42 PM, Bruce Richardson wrote: > > > While working on a build system replacement, I find a number of small > > > inconsistencies and minor issues with our current code, which, if f

Re: [dpdk-dev] [PATCH v3 3/5] librte_flow_classify: add librte_flow_classify library

2017-08-31 Thread Pavan Nikhilesh Bhagavatula
On Thu, Aug 31, 2017 at 03:54:45PM +0100, Bernard Iremonger wrote: Hi Bernard, > From: Ferruh Yigit > > The following library APIs's are implemented: > rte_flow_classify_create > rte_flow_classify_validate > rte_flow_classify_destroy > rte_flow_classify_query > > The following librte_table ACL API

Re: [dpdk-dev] [PATCH v3 1/5] librte_table: fix acl entry add and delete functions

2017-08-31 Thread Pavan Nikhilesh Bhagavatula
On Thu, Aug 31, 2017 at 03:54:43PM +0100, Bernard Iremonger wrote: Hi Bernard, Few suggestions inline. > The rte_table_acl_entry_add() function was returning data from > acl_memory instead of acl_rule_memory. It was also returning data > from entry instead of entry_ptr. > > The rte_table_acl_entr

[dpdk-dev] [PATCH 26/26] doc: add octeontx ethdev driver documentation

2017-08-31 Thread Jerin Jacob
Adding octeontx ethdev driver documentation and claim octeontx ethdev driver maintainership. Cc: John McNamara Signed-off-by: Jerin Jacob Co-authored-by: Santosh Shukla --- MAINTAINERS | 7 ++ doc/guides/nics/index.rst| 1 + doc/guides/nics/octeontx.rst | 251

[dpdk-dev] [PATCH 25/26] net/octeontx: add start and stop support

2017-08-31 Thread Jerin Jacob
add start, stop and close support. Signed-off-by: Jerin Jacob Co-authored-by: Santosh Shukla --- drivers/net/octeontx/octeontx_ethdev.c | 137 + 1 file changed, 137 insertions(+) diff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/octeontx/octeont

[dpdk-dev] [PATCH 24/26] net/octeontx: add packet type parsing support

2017-08-31 Thread Jerin Jacob
Mark Packet type parsing in features. Signed-off-by: Jerin Jacob Co-authored-by: Santosh Shukla --- doc/guides/nics/features/octeontx.ini | 1 + drivers/net/octeontx/octeontx_ethdev.c | 22 drivers/net/octeontx/octeontx_rxtx.c | 91 ++ 3 files change

[dpdk-dev] [PATCH 23/26] net/octeontx: add packet receive burst function

2017-08-31 Thread Jerin Jacob
Signed-off-by: Jerin Jacob Co-authored-by: Santosh Shukla --- drivers/net/octeontx/octeontx_rxtx.c | 38 drivers/net/octeontx/octeontx_rxtx.h | 2 ++ 2 files changed, 40 insertions(+) diff --git a/drivers/net/octeontx/octeontx_rxtx.c b/drivers/net/octeontx

[dpdk-dev] [PATCH 21/26] net/octeontx: add Tx queue setup and release ops

2017-08-31 Thread Jerin Jacob
Signed-off-by: Jerin Jacob Co-authored-by: Santosh Shukla --- drivers/net/octeontx/octeontx_ethdev.c | 88 ++ 1 file changed, 88 insertions(+) diff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/octeontx/octeontx_ethdev.c index e2f1e630b..c5e324346

[dpdk-dev] [PATCH 22/26] net/octeontx: add packet transmit burst function

2017-08-31 Thread Jerin Jacob
Signed-off-by: Jerin Jacob Co-authored-by: Santosh Shukla --- drivers/net/octeontx/Makefile| 6 ++ drivers/net/octeontx/octeontx_rxtx.c | 104 +++ drivers/net/octeontx/octeontx_rxtx.h | 46 3 files changed, 156 insertions(+) create mod

[dpdk-dev] [PATCH 20/26] net/octeontx: add Tx queue start and stop

2017-08-31 Thread Jerin Jacob
Mark "Queue start/stop" as P as its been implemented only for tx queue. Signed-off-by: Jerin Jacob Co-authored-by: Santosh Shukla --- doc/guides/nics/features/octeontx.ini | 1 + drivers/net/octeontx/octeontx_ethdev.c | 90 ++ drivers/net/octeontx/octeontx_ethd

[dpdk-dev] [PATCH 19/26] net/octeontx: add Rx queue setup and release ops

2017-08-31 Thread Jerin Jacob
Signed-off-by: Jerin Jacob Co-authored-by: Santosh Shukla --- drivers/net/octeontx/octeontx_ethdev.c | 168 + drivers/net/octeontx/octeontx_ethdev.h | 9 ++ 2 files changed, 177 insertions(+) diff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/oc

[dpdk-dev] [PATCH 18/26] net/octeontx: add MAC addr set op

2017-08-31 Thread Jerin Jacob
Implement "mac_addr_set" op and mark "Unicast MAC filter" feature as "P" as "mac_addr_add" and "mac_addr_remove" are not implemented. Signed-off-by: Jerin Jacob Co-authored-by: Santosh Shukla --- doc/guides/nics/features/octeontx.ini | 1 + drivers/net/octeontx/octeontx_ethdev.c | 14

[dpdk-dev] [PATCH 17/26] net/octeontx: add basic stats support

2017-08-31 Thread Jerin Jacob
Mark Basic stats support in features. Signed-off-by: Jerin Jacob Co-authored-by: Santosh Shukla --- doc/guides/nics/features/octeontx.ini | 1 + drivers/net/octeontx/octeontx_ethdev.c | 52 ++ 2 files changed, 53 insertions(+) diff --git a/doc/guides/nics/feat

[dpdk-dev] [PATCH 16/26] net/octeontx: add promiscuous mode ops

2017-08-31 Thread Jerin Jacob
Mark Promiscuous mode in features. Signed-off-by: Jerin Jacob Co-authored-by: Santosh Shukla --- doc/guides/nics/features/octeontx.ini | 1 + drivers/net/octeontx/octeontx_ethdev.c | 42 ++ 2 files changed, 43 insertions(+) diff --git a/doc/guides/nics/feature

[dpdk-dev] [PATCH 15/26] net/octeontx: add link update

2017-08-31 Thread Jerin Jacob
Mark Link status in features. Signed-off-by: Jerin Jacob Co-authored-by: Santosh Shukla --- doc/guides/nics/features/octeontx.ini | 1 + drivers/net/octeontx/octeontx_ethdev.c | 100 + 2 files changed, 101 insertions(+) diff --git a/doc/guides/nics/features/o

[dpdk-dev] [PATCH 14/26] net/octeontx: add device info

2017-08-31 Thread Jerin Jacob
Mark Speed capabilities, Lock-free Tx queue in features. Signed-off-by: Jerin Jacob Co-authored-by: Santosh Shukla --- doc/guides/nics/features/octeontx.ini | 2 ++ drivers/net/octeontx/octeontx_ethdev.c | 37 ++ 2 files changed, 39 insertions(+) diff --git a/

[dpdk-dev] [PATCH 13/26] net/octeontx: add device configure

2017-08-31 Thread Jerin Jacob
mark Jumbo frame, CRC offload support in features. Signed-off-by: Jerin Jacob Co-authored-by: Santosh Shukla --- doc/guides/nics/features/octeontx.ini | 2 + drivers/net/octeontx/octeontx_ethdev.c | 93 ++ 2 files changed, 95 insertions(+) diff --git a/doc/gui

[dpdk-dev] [PATCH 12/26] net/octeontx: create ethdev ports

2017-08-31 Thread Jerin Jacob
Create ethdev ports by registering withethdev subsystem based on "nr_port" vdev argument or maximum physical ports available in the system. Signed-off-by: Jerin Jacob Co-authored-by: Santosh Shukla --- drivers/net/octeontx/octeontx_ethdev.c | 172 - 1 file chang

[dpdk-dev] [PATCH 11/26] net/octeontx: add eth device probe and remove

2017-08-31 Thread Jerin Jacob
An octeontx ethdev device consists of multiple PKO VF devices, a PKI VF device and multiple SSOVF devices which shared between eventdev. This patch adds a vdev based device called "eth_octeontx" which will create multiple ethernet ports based on "nr_port" or maximum physical ports are available in

[dpdk-dev] [PATCH 10/26] net/octeontx/base: add remaining PKO operations

2017-08-31 Thread Jerin Jacob
Adding remaining PKO operations like flow control, Tx channel query, etc. Signed-off-by: Jerin Jacob Co-authored-by: Santosh Shukla --- drivers/net/octeontx/base/octeontx_pkovf.c | 114 + drivers/net/octeontx/base/octeontx_pkovf.h | 17 + 2 files changed, 131 in

[dpdk-dev] [PATCH 09/26] net/octeontx/base: add base PKO operations

2017-08-31 Thread Jerin Jacob
PKO is the packet output processing unit, which receives the packet from the core and sends to the BGX interface. This patch adds the basic PKO operation like open, close, start and stop. These operations are implemented through mailbox messages and kernel PF driver being the server to process the

[dpdk-dev] [PATCH 08/26] net/octeontx/base: add remaining PKI operations

2017-08-31 Thread Jerin Jacob
Adding remaining PKI operations and sync up the mailbox definitions with PF driver. Signed-off-by: Jerin Jacob Co-authored-by: Santosh Shukla --- drivers/net/octeontx/base/octeontx_pki_var.h | 237 + drivers/net/octeontx/base/octeontx_pkivf.c | 80 ++ drivers/net/octeontx

[dpdk-dev] [PATCH 07/26] net/octeontx/base: add base PKI operations

2017-08-31 Thread Jerin Jacob
PKI is packet input unit, which receives the packet from the BGX interface. This patch adds the basic PKI operation like open, close, start and stop. These operations are implemented through mailbox messages and kernel PF driver being the server to process the message with the logical port identifi

[dpdk-dev] [PATCH 06/26] net/octeontx/base: probe PKI and PKO PCIe VF devices

2017-08-31 Thread Jerin Jacob
An octeontx ethdev device consists of multiple PKO VF devices and an PKI VF device. On Octeontx HW, each Rx queues are enumerated as SSOVF device which is exposed as event_octeontx device, Tx queues are enumerated as PKOVF device, and ingress packet configuration is accomplished through PKIVF devic

[dpdk-dev] [PATCH 05/26] net/octeontx/base: add remaining BGX operations

2017-08-31 Thread Jerin Jacob
Adding remaining BGX operations like, link status, statistics, promiscuous configuration etc. Signed-off-by: Jerin Jacob Co-authored-by: Santosh Shukla --- drivers/net/octeontx/base/octeontx_bgx.c | 154 +++ drivers/net/octeontx/base/octeontx_bgx.h | 76

[dpdk-dev] [PATCH 03/26] event/octeontx: introduce specialized mbox message copy

2017-08-31 Thread Jerin Jacob
Some of the internal toolchain versions create unaligned memory access fault when copying from 17-31B buffer using memcpy. Subsequent patches in this series will be using 17-31B mbox message. Since the mailbox message copy comes in slow path, changing memcpy to byte-per-byte copy to workaround the

[dpdk-dev] [PATCH 04/26] net/octeontx/base: add base BGX operations

2017-08-31 Thread Jerin Jacob
BGX is an HW MAC interface. This patch adds the basic BGX operation like open, close, start and stop. These operations are implemented through mailbox messages and kernel PF driver being the server to process the message with the physical port identifier. Signed-off-by: Jerin Jacob Co-authored-by

[dpdk-dev] [PATCH 02/26] net/octeontx/base: add octeontx io operations

2017-08-31 Thread Jerin Jacob
Adding octeontx specific io operations. Added a stub for building against non octeontx targets. Signed-off-by: Jerin Jacob Co-authored-by: Santosh Shukla --- drivers/net/octeontx/base/octeontx_io.h | 156 1 file changed, 156 insertions(+) create mode 100644 dri

[dpdk-dev] [PATCH v3 5/5] test: flow classify library unit tests

2017-08-31 Thread Bernard Iremonger
Add flow_classify_autotest program. Set up IPv4 ACL field definitions. Create table_acl for use by librte_flow_classify API's. Create an mbuf pool for use by rte_flow_classify_query. For each of the librte_flow_classify API's: add bad parameter tests add bad pattern tests add bad action tests add

[dpdk-dev] [PATCH 01/26] net/octeontx: add build infrastructure

2017-08-31 Thread Jerin Jacob
Adding bare minimum PMD library and doc build infrastructure. Signed-off-by: Jerin Jacob Co-authored-by: Santosh Shukla --- config/common_base| 10 +++ doc/guides/nics/features/octeontx.ini | 9 +++ drivers/net/Makefile |

[dpdk-dev] [PATCH 00/26] DPDK PMD for OCTEONTX NW device

2017-08-31 Thread Jerin Jacob
This patch set provides the initial version of DPDK PMD for the integrated NIC device found in Cavium OCTEONTX SoC(CN83xx) family. Introduction to OCTEONTX ARM processors can be found here: http://www.cavium.com/OCTEON-TX_ARM_Processors.html OCTEONTX SoC family has two types of NIC controllers, 1

[dpdk-dev] [PATCH v3 4/5] examples/flow_classify: flow classify sample application

2017-08-31 Thread Bernard Iremonger
The flow_classify sample application exercises the following librte_flow_classify API's: rte_flow_classify_create rte_flow_classify_validate rte_flow_classify_destroy rte_flow_classify_query It sets up the IPv4 ACL field definitions. It creates table_acl and adds and deletes rules using the librt

[dpdk-dev] [PATCH v3 2/5] librte_table: fix acl lookup function

2017-08-31 Thread Bernard Iremonger
The rte_table_acl_lookup() function was returning data from acl_memory instead of acl_rule_memory. Fixes: 166923eb2f78 ("table: ACL") Cc: sta...@dpdk.org Signed-off-by: Bernard Iremonger --- lib/librte_table/rte_table_acl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib

[dpdk-dev] [PATCH v3 3/5] librte_flow_classify: add librte_flow_classify library

2017-08-31 Thread Bernard Iremonger
From: Ferruh Yigit The following library APIs's are implemented: rte_flow_classify_create rte_flow_classify_validate rte_flow_classify_destroy rte_flow_classify_query The following librte_table ACL API's are used: f_create to create a table ACL. f_add to add an ACL rule to the table. f_del to de

[dpdk-dev] [PATCH v3 1/5] librte_table: fix acl entry add and delete functions

2017-08-31 Thread Bernard Iremonger
The rte_table_acl_entry_add() function was returning data from acl_memory instead of acl_rule_memory. It was also returning data from entry instead of entry_ptr. The rte_table_acl_entry_delete() function was returning data from acl_memory instead of acl_rule_memory. Fixes: 166923eb2f78 ("table: A

[dpdk-dev] [PATCH v3 0/5] flow classification library

2017-08-31 Thread Bernard Iremonger
DPDK works with packets, but some network administration tools works based on flow information. This library is suggested to provide a helper API to convert packet based information to the flow records. Basically the library consist of APIs to validate, create and destroy the rule and to query

[dpdk-dev] multi-process shared memory on PPC

2017-08-31 Thread Xueming(Steven) Li
Hi all, I'm testing multi-process example on PowerPC system, looks like shared memory not working properly. Below are the error and debug info of the first multi-process example 'simple_mp' (works as expected on X86): // Build DPDK, master branch # make T=ppc_64-power8-linuxapp-gcc -j160 -C exa

Re: [dpdk-dev] [PATCH 0/4] minor cleanup of filenames and deps

2017-08-31 Thread Bruce Richardson
On Thu, Aug 31, 2017 at 03:15:05PM +0100, Ferruh Yigit wrote: > On 8/31/2017 2:42 PM, Bruce Richardson wrote: > > While working on a build system replacement, I find a number of small > > inconsistencies and minor issues with our current code, which, if fixed > > would make it simplier to generaliz

Re: [dpdk-dev] [PATCH 3/4] ether: rename version file to match library name

2017-08-31 Thread Bruce Richardson
On Thu, Aug 31, 2017 at 03:18:47PM +0100, Ferruh Yigit wrote: > On 8/31/2017 2:42 PM, Bruce Richardson wrote: > > While almost all libraries have the library name match the directory name, > > some libraries and drivers do not. For those that don't, some have the > > version filename use the libnam

Re: [dpdk-dev] [PATCH 3/4] ether: rename version file to match library name

2017-08-31 Thread Ferruh Yigit
On 8/31/2017 2:42 PM, Bruce Richardson wrote: > While almost all libraries have the library name match the directory name, > some libraries and drivers do not. For those that don't, some have the > version filename use the libname, e.g. null_crypto, others have it use the > directory name, e.g. eth

Re: [dpdk-dev] [PATCH 0/4] minor cleanup of filenames and deps

2017-08-31 Thread Ferruh Yigit
On 8/31/2017 2:42 PM, Bruce Richardson wrote: > While working on a build system replacement, I find a number of small > inconsistencies and minor issues with our current code, which, if fixed > would make it simplier to generalize DPDK build rules. Main set of changes > is to have the name of the v

Re: [dpdk-dev] [RFC PATCH 0/1] IPSec Inline and look aside crypto offload

2017-08-31 Thread Radu Nicolau
On 8/31/2017 2:14 PM, Thomas Monjalon wrote: 31/08/2017 12:52, Akhil Goyal: On 8/31/2017 3:36 PM, Thomas Monjalon wrote: 31/08/2017 11:37, Akhil Goyal: On 8/29/2017 8:19 PM, Thomas Monjalon wrote: 25/07/2017 13:21, Akhil Goyal: 2. Ipsec inline(RTE_SECURITY_SESS_ETH_INLINE_CRYPTO) - This is

[dpdk-dev] [PATCH 3/4] ether: rename version file to match library name

2017-08-31 Thread Bruce Richardson
While almost all libraries have the library name match the directory name, some libraries and drivers do not. For those that don't, some have the version filename use the libname, e.g. null_crypto, others have it use the directory name, e.g. ether. Using the library name seems the better standard t

[dpdk-dev] [PATCH 4/4] crypto/qat: remove dependency on ether library

2017-08-31 Thread Bruce Richardson
The QAT crypto driver does not need to depend on the ether library, so remove the unnecessary header inclusion. Signed-off-by: Bruce Richardson --- drivers/crypto/qat/qat_crypto.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/crypto/qat/qat_crypto.c b/drivers/crypto/qat/qat_crypto.c

[dpdk-dev] [PATCH 2/4] net/ring: change map filename to standardized value

2017-08-31 Thread Bruce Richardson
The filenames of the linker map files for DPDK PMDs, all follow a standard format: rte_pmd__version.map. The ring version, however, had eth instead of pmd in the name, so was non-standard. By changing this, we no longer need the build system to explicitly be given the name of the mapfile, as it can

[dpdk-dev] [PATCH 0/4] minor cleanup of filenames and deps

2017-08-31 Thread Bruce Richardson
While working on a build system replacement, I find a number of small inconsistencies and minor issues with our current code, which, if fixed would make it simplier to generalize DPDK build rules. Main set of changes is to have the name of the version.map file for libs/drivers consistent with the c

[dpdk-dev] [PATCH 1/4] ip_frag: change map filename to standardized value

2017-08-31 Thread Bruce Richardson
The filenames of the linker map files for DPDK libraries, all follow a standard format: rte__version.map. The ip_frag version, however, was missing an underscore in the name, so was non-standard. By changing this, we no longer need the build system to explicitly be given the name of the mapfile, as

Re: [dpdk-dev] [PATCH 9/9] net/virtio: fix Rx handler when checksum is requested

2017-08-31 Thread Olivier MATZ
Platform description guest (dpdk) ++ || || |port0 | ++ | | virtio | ++ | tap0 | || || ++ host (linux, vhost-

Re: [dpdk-dev] [PATCH 8/9] net/virtio: keep Rx handler whatever the Tx queue config

2017-08-31 Thread Olivier MATZ
Platform description guest (dpdk) ++ || || |port0 | ++ | | virtio | ++ | tap0 | || || ++ host (linux, vhost-

Re: [dpdk-dev] [PATCH 6/9] net/virtio: fix queue setup consistency

2017-08-31 Thread Olivier MATZ
Platform description guest (dpdk) ++ || || |port0 | ++ | | virtio | ++ | tap0 | || || ++ host (linux, vhost-

Re: [dpdk-dev] [PATCH 5/9] net/virtio: fix mbuf port for simple Rx function

2017-08-31 Thread Olivier MATZ
Validation: Platform description guest (dpdk) ++ || || |port0 | ++ | | virtio | ++ | tap0 | || || ++ host (

Re: [dpdk-dev] [PATCH 2/9] net/virtio: revert "do not falsely claim to do IP checksum"

2017-08-31 Thread Olivier MATZ
Validation: Platform description guest (dpdk) ++ || || |port0 | ++ | | virtio | ++ | tap0 | || || ++ host

[dpdk-dev] [PATCH 8/9] net/virtio: keep Rx handler whatever the Tx queue config

2017-08-31 Thread Olivier Matz
Split use_simple_rxtx into use_simple_rx and use_simple_tx, and ensure that only use_simple_tx is updated when txq flags forces to use the standard Tx handler. This change is also useful for next commit (disable simple Rx path when Rx checksum is requested). Cc: sta...@dpdk.org Signed-off-by: Ol

[dpdk-dev] [PATCH 9/9] net/virtio: fix Rx handler when checksum is requested

2017-08-31 Thread Olivier Matz
The simple Rx handler is selected even if Rx checksum offload is requested by the application, but this handler does not support offloads. This results in broken received packets (no checksum flag but invalid checksum in the mbuf data). Disable the simple Rx handler in that case. Fixes: 96cb67119

[dpdk-dev] [PATCH 5/9] net/virtio: fix mbuf port for simple Rx function

2017-08-31 Thread Olivier Matz
The mbuf->port was was not properly set for the first received mbufs. Fix this by setting it in virtqueue_enqueue_recv_refill_simple(), which is used to enqueue the first mbuf in the ring. The function virtio_rxq_rearm_vec(), which is used to rearm the ring with new mbufs, is correct and does not

[dpdk-dev] [PATCH 6/9] net/virtio: fix queue setup consistency

2017-08-31 Thread Olivier Matz
In rx/tx queue setup functions, some code is executed only if use_simple_rxtx == 1. The value of this variable can change depending on the offload flags or sse support. If Rx queue setup is called before Tx queue setup, it can result in an invalid configuration: - dev_configure is called: use_simp

[dpdk-dev] [PATCH 7/9] net/virtio: rationalize setting of Rx/Tx handlers

2017-08-31 Thread Olivier Matz
The selection of Rx/Tx handlers is done at several places, group them in one function set_rxtx_funcs(). The update of hw->use_simple_rxtx is also rationalized: - initialized to 1 (prefer simple path) - in dev configure or rx/tx queue setup, if something prevents from using the simple path, chang

[dpdk-dev] [PATCH 4/9] net/virtio: fix log levels in configure

2017-08-31 Thread Olivier Matz
On error, we should log with error level. Fixes: 9f4f2846ef76 ("virtio: support vlan filtering") Fixes: 86d59b21468a ("net/virtio: support LRO") Fixes: 96cb6711939e ("net/virtio: support Rx checksum offload") Cc: sta...@dpdk.org Signed-off-by: Olivier Matz --- drivers/net/virtio/virtio_ethdev.c

[dpdk-dev] [PATCH 3/9] doc: fix description of L4 Rx checksum offload

2017-08-31 Thread Olivier Matz
As described in API documentation, the field hw_ip_checksum requests both L3 and L4 offload. Fixes: dad1ec72a377 ("doc: document NIC features") Cc: sta...@dpdk.org Signed-off-by: Olivier Matz --- doc/guides/nics/features.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/guides/nics/fe

[dpdk-dev] [PATCH 2/9] net/virtio: revert "do not falsely claim to do IP checksum"

2017-08-31 Thread Olivier Matz
This reverts commit 4dab342b7522 ("net/virtio: do not falsely claim to do IP checksum"). The description of rxmode->hw_ip_checksum is: hw_ip_checksum : 1, /**< IP/UDP/TCP checksum offload enable. */ Despite its name, this field can be set by an application to enable L3 and L4 checksums. I

[dpdk-dev] [PATCH 1/9] net/virtio: revert "do not claim to support LRO"

2017-08-31 Thread Olivier Matz
This reverts commit 701a64622c26 ("net/virtio: do not claim to support LRO") Setting rxmode->enable_lro is a way to tell the host that the guest is ok to receive tso packets. From the guest point of view, it is like enabling LRO on a physical driver. Fixes: 701a64622c26 ("net/virtio: do not claim

[dpdk-dev] [PATCH 0/9] virtio fixes

2017-08-31 Thread Olivier Matz
This patchset addresses several issues related to offload and Rx/Tx handler selection in virtio PMD. Olivier Matz (9): net/virtio: revert "do not claim to support LRO" net/virtio: revert "do not falsely claim to do IP checksum" doc: fix description of L4 Rx checksum offload net/virtio: fix

Re: [dpdk-dev] [RFC PATCH 0/1] IPSec Inline and look aside crypto offload

2017-08-31 Thread Thomas Monjalon
31/08/2017 12:52, Akhil Goyal: > On 8/31/2017 3:36 PM, Thomas Monjalon wrote: > > 31/08/2017 11:37, Akhil Goyal: > >> On 8/29/2017 8:19 PM, Thomas Monjalon wrote: > >>> 25/07/2017 13:21, Akhil Goyal: > >> 2. Ipsec inline(RTE_SECURITY_SESS_ETH_INLINE_CRYPTO) - This is when the > >> crypto operations

Re: [dpdk-dev] [RFC PATCH 0/1] IPSec Inline and look aside crypto offload

2017-08-31 Thread Akhil Goyal
On 8/31/2017 3:36 PM, Thomas Monjalon wrote: 31/08/2017 11:37, Akhil Goyal: On 8/29/2017 8:19 PM, Thomas Monjalon wrote: 25/07/2017 13:21, Akhil Goyal: These are very similar to what Declan proposed with a few additions. This can be updated further for other security protocols like MACSec and

[dpdk-dev] [PATCH v2 1/3] eal: introduce integer divide through reciprocal

2017-08-31 Thread Pavan Nikhilesh
In some use cases of integer division, denominator remains constant and numerator varies. It is possible to optimize division for such specific scenarios. The librte_sched uses rte_reciprocal to optimize division so, moving it to eal/common would allow other libraries and applications to use it.

[dpdk-dev] [PATCH v2 3/3] test: add tests for reciprocal based division

2017-08-31 Thread Pavan Nikhilesh
This commit provides a set of tests for verifying the correctness and performance of both unsigned 32 and 64bit reciprocal based division. Signed-off-by: Pavan Nikhilesh --- test/test/Makefile| 2 + test/test/test_reciprocal_division.c | 111 ++ tes

[dpdk-dev] [PATCH v2 2/3] eal: add u64 bit variant for reciprocal

2017-08-31 Thread Pavan Nikhilesh
Currently, rte_reciprocal only supports unsigned 32bit divisors. This commit adds support for unsigned 64bit divisors. Rename unsigned 32bit specific functions appropriately and update librte_sched accordingly. Signed-off-by: Pavan Nikhilesh --- lib/librte_eal/bsdapp/eal/rte_eal_version.map |

[dpdk-dev] [PATCH v4 3/3] igb_uio: MSI IRQ mode

2017-08-31 Thread Markus Theil
This patch adds MSI IRQ mode and in a way, that should also work on older kernel versions. The base for my patch was an attempt to do this in cf705bc36c which was later reverted in d8ee82745a. Compilation was tested on Linux 3.2, 4.10 and 4.12. Signed-off-by: Markus Theil --- lib/librte_eal/linu

[dpdk-dev] [PATCH v4 1/3] igb_uio: refactor irq enable/disable into own functions

2017-08-31 Thread Markus Theil
Interrupt setup code in igb_uio has to deal with multiple types of interrupts and kernel versions. This patch moves the setup and teardown code into own functions, to make it more readable. Signed-off-by: Markus Theil --- lib/librte_eal/linuxapp/igb_uio/igb_uio.c | 112 +-

[dpdk-dev] [PATCH v4 2/3] igb_uio: fix irq disable on recent kernels

2017-08-31 Thread Markus Theil
igb_uio already allocates irqs using pci_alloc_irq_vectors on recent kernels >= 4.8. The interrupt disable code was not using the corresponding pci_free_irq_vectors, but the also deprecated pci_disable_msix, before this fix. Fixes: 99bb58f3adc7 ("igb_uio: switch to new irq function for MSI-X") Cc:

Re: [dpdk-dev] [RFC PATCH 0/1] IPSec Inline and look aside crypto offload

2017-08-31 Thread Thomas Monjalon
31/08/2017 11:37, Akhil Goyal: > On 8/29/2017 8:19 PM, Thomas Monjalon wrote: > > 25/07/2017 13:21, Akhil Goyal: > >> These are very similar to what Declan proposed with a few additions. > >> This can be updated further for other security protocols like MACSec and > >> DTLS > > > > You should avo

  1   2   >