[dpdk-dev] [PATCH] net/mlx5: fix compilation for rdma-core v19

2018-07-11 Thread Shahaf Shuler
The flow counter support introduced by commit 9a761de8ea14 ("net/mlx5: flow counter support") was intend to work only with MLNX_OFED_4.3 as the upstream rdma-core libraries were lack such support. On rdma-core v19 the support for the flow counters was added but with different user APIs, hence caus

Re: [dpdk-dev] [PATCH v11 07/25] eal: introduce device class abstraction

2018-07-11 Thread Shreyansh Jain
On Thursday 12 July 2018 03:14 AM, Gaetan Rivet wrote: This abstraction exists since the infancy of DPDK. It needs to be fleshed out however, to allow a generic description of devices properties and capabilities. A device class is the northbound interface of the device, intended for applications

Re: [dpdk-dev] [PATCH] examples/flow_filtering: add rte_fdir_conf initialization

2018-07-11 Thread Xu, Rosen
Hi Ori, Pls see my reply. Hi Walter and Ferruh, I need your voice :) > -Original Message- > From: Ori Kam [mailto:or...@mellanox.com] > Sent: Thursday, July 12, 2018 13:58 > To: Xu, Rosen ; dev@dpdk.org > Cc: Yigit, Ferruh ; sta...@dpdk.org > Subject: RE: [dpdk-dev] [PATCH] examples/flo

Re: [dpdk-dev] [PATCH] examples/flow_filtering: add rte_fdir_conf initialization

2018-07-11 Thread Ori Kam
Hi, PSB > -Original Message- > From: Xu, Rosen [mailto:rosen...@intel.com] > Sent: Thursday, July 12, 2018 8:27 AM > To: Ori Kam ; dev@dpdk.org > Cc: Yigit, Ferruh ; sta...@dpdk.org > Subject: RE: [dpdk-dev] [PATCH] examples/flow_filtering: add rte_fdir_conf > initialization > > Hi Ori,

Re: [dpdk-dev] [PATCH v2] app/testpmd: fix little perf drop with XL710

2018-07-11 Thread Lu, Wenzhuo
Hi Xiaoyun, > -Original Message- > From: Li, Xiaoyun > Sent: Wednesday, July 11, 2018 10:16 AM > To: Zhang, Qi Z ; Lu, Wenzhuo > > Cc: dev@dpdk.org; Li, Xiaoyun ; sta...@dpdk.org > Subject: [PATCH v2] app/testpmd: fix little perf drop with XL710 > > There is about 1.8M perf drop with XL

Re: [dpdk-dev] [BUG] mlx5 build failure on Debian testing

2018-07-11 Thread Shahaf Shuler
Hi Stephen, Thursday, July 12, 2018 12:08 AM, Stephen Hemminger: > Subject: [BUG] mlx5 build failure on Debian testing > > I am seeing a build failure of MLX5 driver on Debian testing (buster) with > dpdk.org master branch. > > This is using libibverbs-dev version 19.0-1 > > The failure is: > m

Re: [dpdk-dev] [PATCH v2 4/5] compress/zlib: add enq deq apis

2018-07-11 Thread Verma, Shally
>-Original Message- >From: De Lara Guarch, Pablo [mailto:pablo.de.lara.gua...@intel.com] >Sent: 11 July 2018 18:56 >To: Verma, Shally >Cc: dev@dpdk.org; Athreya, Narayana Prasad >; Challa, Mahipal >; Sahu, Sunila ; Sahu, >Sunila ; Gupta, Ashish > >Subject: RE: [PATCH v2 4/5] compress/

Re: [dpdk-dev] [PATCH] examples/flow_filtering: add rte_fdir_conf initialization

2018-07-11 Thread Xu, Rosen
Hi Ori, examples/flow_filtering sample app fails on i40e [1] because i40e requires explicit FDIR configuration. But rte_flow in and hardware independent ways of describing flow-action, it shouldn't require specific config options for specific hardware. Is there any chance driver select the FDI

[dpdk-dev] [PATCH] ethdev: fix device info getting

2018-07-11 Thread Wenzhuo Lu
The device information cannot be gotten correctly before the configuration is set. Because on some NICs the information has dependence on the configuration. Fixes: 3be82f5cc5e3 ("ethdev: support PMD-tuned Tx/Rx parameters") Signed-off-by: Wenzhuo Lu --- lib/librte_ethdev/rte_ethdev.c | 47 ++

Re: [dpdk-dev] [PATCH] examples/flow_filtering: add rte_fdir_conf initialization

2018-07-11 Thread Ori Kam
Hi Rosen, Why do the fdir_conf must be initialized? What is the issue you are seeing? Best, Ori > -Original Message- > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Rosen Xu > Sent: Thursday, July 12, 2018 5:10 AM > To: dev@dpdk.org > Cc: rosen...@intel.com; ferruh.yi...@intel.co

Re: [dpdk-dev] [PATCH v2] app/testpmd: fix little perf drop with XL710

2018-07-11 Thread Zhang, Qi Z
> -Original Message- > From: Li, Xiaoyun > Sent: Wednesday, July 11, 2018 10:16 AM > To: Zhang, Qi Z ; Lu, Wenzhuo > Cc: dev@dpdk.org; Li, Xiaoyun ; sta...@dpdk.org > Subject: [PATCH v2] app/testpmd: fix little perf drop with XL710 > > There is about 1.8M perf drop with XL710. And it i

Re: [dpdk-dev] [PATCH v9 0/7] hotplug failure handle mechanism

2018-07-11 Thread Jeff Guo
On 7/11/2018 11:46 PM, Stephen Hemminger wrote: On Wed, 11 Jul 2018 18:41:50 +0800 Jeff Guo wrote: As we know, hot plug is an importance feature, either use for the datacenter device’s fail-safe, or use for SRIOV Live Migration in SDN/NFV. It could bring the higher flexibility and continual

[dpdk-dev] [PATCH v2] vfio: fix workaround of BAR0 mapping

2018-07-11 Thread Takeshi Yoshimura
The workaround of BAR0 mapping does not work if BAR0 area is smaller than page size (64KB in ppc). In addition, we no longer need the workaround in recent Linux because VFIO allows MSIX mapping (*). This fix is just to skip the workaround if BAR0 is smarller than a page. (*): "vfio-pci: Allow mapp

[dpdk-dev] [PATCH] vfio: fix workaround of BAR0 mapping

2018-07-11 Thread Takeshi Yoshimura
The workaround of BAR0 mapping does not work if BAR0 area is smaller than page size (64KB in ppc). In addition, we no longer need the workaround in recent Linux because VFIO allows MSIX mapping (*). This fix is just to skip the workaround if BAR0 is smarller than a page. (*): "vfio-pci: Allow mapp

[dpdk-dev] [PATCH] rte_ring: fix racy dequeue/enqueue in ppc64

2018-07-11 Thread Takeshi Yoshimura
SPDK blobfs encountered a crash around rte_ring dequeues in ppc64. It uses a single consumer and multiple producers for a rte_ring. The problem was a load-load reorder in rte_ring_sc_dequeue_bulk(). The reordered loads happened on r->prod.tail in __rte_ring_move_cons_head() (rte_ring_generic.h) an

Re: [dpdk-dev] [PATCH v4 0/8] Add read-write concurrency to rte_hash library

2018-07-11 Thread Honnappa Nagarahalli
Hi Yipeng, I agree with you on RCU. It solves only part of the problem and requires application involvement. Use of atomics is required to solve few more problems. Not solving the preemptible writer issue will change the behavior for existing applications, is that ok? I will submit a R

[dpdk-dev] [PATCH] examples/flow_filtering: add rte_fdir_conf initialization

2018-07-11 Thread Rosen Xu
Rte_fdir_conf of rte_eth_conf should be initialized before port initialization. Fixes: 4a3ef59a10c8 ("examples/flow_filtering: add simple demo of flow API") Cc: sta...@dpdk.org Signed-off-by: Rosen Xu --- examples/flow_filtering/main.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/e

Re: [dpdk-dev] [PATCH v9 7/7] igb_uio: fix unexpected remove issue for hotplug

2018-07-11 Thread He, Shaopeng
> -Original Message- > From: Guo, Jia > Sent: Wednesday, July 11, 2018 6:42 PM > > When device be hotplug out, the pci resource will be released in kernel, > the uio fd will disappear, and the irq will be released. At this time, > if igb uio driver still try to access or release these res

Re: [dpdk-dev] [PATCH v4 0/8] Add read-write concurrency to rte_hash library

2018-07-11 Thread Wang, Yipeng1
Hi, Honnappa, Thanks for the comment. RCU can handle one of the currency issue (key deletion while lookup) that has been discussed before, but we think it is not easy for RCU-alone to protect reader from cuckoo path displacement. Also, RCU solution requires user interaction. We agree that the

Re: [dpdk-dev] [PATCH v5 5/8] hash: add read and write concurrency support

2018-07-11 Thread Wang, Yipeng1
Hi, Stephen, You are correct and we understand that spinlock might be slightly faster than counter based rwlock in this case. However, the counter based rwlock is the exception path when TSX fails. If performance of this exception path is a big concern, a more optimal read-write lock scheme (e

[dpdk-dev] [PATCH v13 00/19] enable hotplug on multi-process

2018-07-11 Thread Qi Zhang
v13: - Since rte_eth_dev_attach/rte_eth_dev_detach will be deprecated, so, modify the sample code to use rte_eal_hotplug_add and rte_eal_hotplug_remove to attach/detach device. v12: - fix return value in eal_dev_hotplug_request_to_primary. - add more error log in rte_eal_hotplug_add. - fix ret

[dpdk-dev] [PATCH v13 19/19] doc: update release notes for multi process hotplug

2018-07-11 Thread Qi Zhang
Update release notes for the new multi-process hotplug feature. Signed-off-by: Qi Zhang --- doc/guides/rel_notes/release_18_08.rst | 11 +++ 1 file changed, 11 insertions(+) diff --git a/doc/guides/rel_notes/release_18_08.rst b/doc/guides/rel_notes/release_18_08.rst index bc0124295..12

[dpdk-dev] [PATCH v12 00/19] enable hotplug on multi-process

2018-07-11 Thread Qi Zhang
v13: - Since rte_eth_dev_attach/rte_eth_dev_detach will be deprecated, so, modify the sample code to use rte_eal_hotplug_add and rte_eal_hotplug_remove to attach/detach device. v12: - fix return value in eal_dev_hotplug_request_to_primary. - add more error log in rte_eal_hotplug_add. - fix ret

[dpdk-dev] [PATCH v13 18/19] examples/multi_process: add hotplug sample

2018-07-11 Thread Qi Zhang
The sample code demonstrates device (ethdev only) management at a multi-process environment. The user can attach/detach a device on primary process and see it is synced on secondary process automatically. How to start? ./hotplug_mp --proc-type=auto Command Line Example: >help >list /* attach a

[dpdk-dev] [PATCH v13 17/19] net/vhost: enable hotplug on secondary process

2018-07-11 Thread Qi Zhang
Attach port from secondary should ignore devargs since the private device is not necessary to support. Also previously, detach port on a secondary process will mess primary process and cause the same device can't be attached back again. A secondary process should use rte_eth_release_port_private to

[dpdk-dev] [PATCH v13 15/19] net/softnic: enable hotplug on secondary process

2018-07-11 Thread Qi Zhang
Attach port from secondary should ignore devargs since the private device is not necessary to support. Also previously, detach port on a secondary process will mess primary process and cause the same device can't be attached back again. A secondary process should use rte_eth_release_port_private to

[dpdk-dev] [PATCH v13 16/19] net/tap: enable hotplug on secondary process

2018-07-11 Thread Qi Zhang
Attach port from secondary should ignore devargs since the private device is not necessary to support. Also previously, detach port on a secondary process will mess primary process and cause the same device can't be attached back again. A secondary process should use rte_eth_release_port_private to

[dpdk-dev] [PATCH v13 14/19] net/pcap: enable hotplug on secondary process

2018-07-11 Thread Qi Zhang
Attach port from secondary should ignore devargs since the private device is not necessary to support. Also previously, detach port on a secondary process will mess primary process and cause the same device can't be attached back again. A secondary process should use rte_eth_release_port_private to

[dpdk-dev] [PATCH v13 10/19] net/bonding: enable hotplug on secondary process

2018-07-11 Thread Qi Zhang
Attach port from secondary should ignore devargs since the private device is not necessary to support. Also previously, detach port on a secondary process will mess primary process and cause the same device can't be attached back again. A secondary process should use rte_eth_release_port_private to

[dpdk-dev] [PATCH v13 11/19] net/kni: enable hotplug on secondary process

2018-07-11 Thread Qi Zhang
Attach port from secondary should ignore devargs since the private device is not necessary to support. Also previously, detach port on a secondary process will mess primary process and cause the same device can't be attached back again. A secondary process should use rte_eth_release_port_private to

[dpdk-dev] [PATCH v13 12/19] net/null: enable hotplug on secondary process

2018-07-11 Thread Qi Zhang
Attach port from secondary should ignore devargs since the private device is not necessary to support. Also previously, detach port on a secondary process will mess primary process and cause the same device can't be attached back again. A secondary process should use rte_eth_release_port_private to

[dpdk-dev] [PATCH v13 13/19] net/octeontx: enable hotplug on secondary process

2018-07-11 Thread Qi Zhang
Attach port from secondary should ignore devargs since the private device is not necessary to support. Also previously, detach port on a secondary process will mess primary process and cause the same device can't be attached back again. A secondary process should use rte_eth_release_port_private to

[dpdk-dev] [PATCH v13 03/19] bus/pci: enable vfio unmap resource for secondary

2018-07-11 Thread Qi Zhang
Subroutine to unmap VFIO resource is shared by secondary and primary, and it does not work on the secondary process. Since for secondary process, it is not necessary to close interrupt handler, set pci bus mastering and remove vfio_res from vfio_res_list. So, the patch adds a dedicate function to h

[dpdk-dev] [PATCH v13 06/19] eal: support attach or detach share device from secondary

2018-07-11 Thread Qi Zhang
This patch cover the multi-process hotplug case when a device attach/detach request be issued from a secondary process device attach on secondary: a) secondary send sync request to the primary. b) primary receive the request and attach the new device if failed goto i). c) primary forward attach

[dpdk-dev] [PATCH v13 09/19] net/af_packet: enable hotplug on secondary process

2018-07-11 Thread Qi Zhang
Attach port from secondary should ignore devargs since the private device is not necessary to support. Also previously, detach port on a secondary process will mess primary process and cause the same device can't be attached back again. A secondary process should use rte_eth_release_port_private to

[dpdk-dev] [PATCH v13 07/19] net/i40e: enable hotplug on secondary process

2018-07-11 Thread Qi Zhang
Previously, detach port on a secondary process will mess primary process and cause the same device can't be attached back again. A secondary process should use rte_eth_release_port_private to release a port. Signed-off-by: Qi Zhang --- drivers/net/i40e/i40e_ethdev.c | 2 ++ 1 file changed, 2 ins

[dpdk-dev] [PATCH v13 08/19] net/ixgbe: enable hotplug on secondary process

2018-07-11 Thread Qi Zhang
Previously, detach port on a secondary process will mess primary process and cause the same device can't be attached back again. A secondary process should use rte_eth_release_port_private to release a port. Signed-off-by: Qi Zhang --- drivers/net/ixgbe/ixgbe_ethdev.c | 3 +++ 1 file changed, 3

[dpdk-dev] [PATCH v13 01/19] ethdev: add function to release port in local process

2018-07-11 Thread Qi Zhang
Add driver API rte_eth_release_port_private to support the case when an ethdev need to be detached on a secondary process. Local state is set to unused and shared data will not be reset so the primary process can still use it. Signed-off-by: Qi Zhang Reviewed-by: Andrew Rybchenko Acked-by: Remy

[dpdk-dev] [PATCH v12 00/19] enable hotplug on multi-process

2018-07-11 Thread Qi Zhang
v13: - Since rte_eth_dev_attach/rte_eth_dev_detach will be deprecated, so, modify the sample code to use rte_eal_hotplug_add and rte_eal_hotplug_remove to attach/detach device. v12: - fix return value in eal_dev_hotplug_request_to_primary. - add more error log in rte_eal_hotplug_add. - fix ret

[dpdk-dev] [PATCH v13 05/19] eal: enable hotplug on multi-process

2018-07-11 Thread Qi Zhang
We are going to introduce the solution to handle hotplug in multi-process, it includes the below scenario: 1. Attach a device from the primary 2. Detach a device from the primary 3. Attach a device from a secondary 4. Detach a device from a secondary In the primary-secondary process model, we ass

[dpdk-dev] [PATCH v13 02/19] bus/pci: fix PCI address compare

2018-07-11 Thread Qi Zhang
When use memcmp to compare two PCI address, sizeof(struct rte_pci_addr) is 4 bytes aligned, and it is 8. While only 7 byte of struct rte_pci_addr is valid. So compare the 8th byte will cause the unexpected result, which happens when repeatedly attach/detach a device. Fixes: c752998b5e2e ("pci: int

[dpdk-dev] [PATCH v13 04/19] vfio: remove uneccessary IPC for group fd clear

2018-07-11 Thread Qi Zhang
Clear vfio_group_fd is not necessary to involve any IPC. Also, current IPC implementation for SOCKET_CLR_GROUP is not correct. rte_vfio_clear_group on secondary will always fail, that prevent device be detached correctly on a secondary process. The patch simply removes all IPC related stuff in rte_

Re: [dpdk-dev] [PATCH 6/6] net/mlx5: add port ID pattern item to switch flow rules

2018-07-11 Thread Yongseok Koh
On Wed, Jun 27, 2018 at 08:08:20PM +0200, Adrien Mazarguil wrote: > This enables flow rules to match traffic coming from a different DPDK port > ID associated with the device (PORT_ID pattern item), mainly for the > convenience of applications that want to deal with a single port ID for all > flow

Re: [dpdk-dev] [PATCH 5/6] net/mlx5: add VLAN item and actions to switch flow rules

2018-07-11 Thread Yongseok Koh
On Wed, Jun 27, 2018 at 08:08:18PM +0200, Adrien Mazarguil wrote: > This enables flow rules to explicitly match VLAN traffic (VLAN pattern > item) and perform various operations on VLAN headers at the switch level > (OF_POP_VLAN, OF_PUSH_VLAN, OF_SET_VLAN_VID and OF_SET_VLAN_PCP actions). > > Test

Re: [dpdk-dev] [PATCH 4/6] net/mlx5: add L2-L4 pattern items to switch flow rules

2018-07-11 Thread Yongseok Koh
On Wed, Jun 27, 2018 at 08:08:16PM +0200, Adrien Mazarguil wrote: > This enables flow rules to explicitly match supported combinations of > Ethernet, IPv4, IPv6, TCP and UDP headers at the switch level. > > Testpmd example: > > - Dropping TCPv4 traffic with a specific destination on port ID 2: >

Re: [dpdk-dev] [PATCH 3/6] net/mlx5: add fate actions to switch flow rules

2018-07-11 Thread Yongseok Koh
On Wed, Jun 27, 2018 at 08:08:14PM +0200, Adrien Mazarguil wrote: > This patch enables creation of rte_flow rules that direct matching traffic > to a different port (e.g. another VF representor) or drop it directly at > the switch level (PORT_ID and DROP actions). > > Testpmd examples: > > - Dire

Re: [dpdk-dev] [PATCH 2/6] net/mlx5: add framework for switch flow rules

2018-07-11 Thread Yongseok Koh
On Wed, Jun 27, 2018 at 08:08:12PM +0200, Adrien Mazarguil wrote: > Because mlx5 switch flow rules are configured through Netlink (TC > interface) and have little in common with Verbs, this patch adds a separate > parser function to handle them. > > - mlx5_nl_flow_transpose() converts a rte_flow r

Re: [dpdk-dev] [PATCH v11 01/19] ethdev: add function to release port in local process

2018-07-11 Thread Zhang, Qi Z
> -Original Message- > From: Andrew Rybchenko [mailto:arybche...@solarflare.com] > Sent: Thursday, July 12, 2018 12:05 AM > To: Zhang, Qi Z ; tho...@monjalon.net; Burakov, > Anatoly > Cc: Ananyev, Konstantin ; dev@dpdk.org; > Richardson, Bruce ; Yigit, Ferruh > ; Shelton, Benjamin H > ;

Re: [dpdk-dev] [PATCH 1/6] net/mlx5: lay groundwork for switch offloads

2018-07-11 Thread Yongseok Koh
On Wed, Jun 27, 2018 at 08:08:10PM +0200, Adrien Mazarguil wrote: > With mlx5, unlike normal flow rules implemented through Verbs for traffic > emitted and received by the application, those targeting different logical > ports of the device (VF representors for instance) are offloaded at the > swit

Re: [dpdk-dev] [PATCH] remove useless constructor headers

2018-07-11 Thread Thomas Monjalon
18/06/2018 14:32, Thomas Monjalon: > A constructor is usually declared with RTE_INIT* macros. > As it is a static function, no need to declare before its definition. > The macro is used directly in the function definition. > > Signed-off-by: Thomas Monjalon Rebased after crypto pull and applied

Re: [dpdk-dev] [PATCH v4 0/3] Support UDP/IPv4 GSO

2018-07-11 Thread Thomas Monjalon
> Jiayu Hu (3): > gso: support UDP/IPv4 fragmentation > app/testpmd: enable UDP GSO in csum engine > gso: update documents for UDP/IPv4 GSO Applied, thanks

[dpdk-dev] [PATCH v11 25/25] eal: add generic dev parameter

2018-07-11 Thread Gaetan Rivet
Add the --dev parameter to the EAL. This new parameter takes a generic device declaration as argument. It uses the new devargs parsing API. Signed-off-by: Gaetan Rivet --- lib/librte_eal/common/eal_common_devargs.c | 4 +++ lib/librte_eal/common/eal_common_options.c | 36 +++---

[dpdk-dev] [PATCH v11 24/25] ethdev: process declarative eth devargs

2018-07-11 Thread Gaetan Rivet
Process the class-specific arguments in a devargs. This processing takes the form of setting the proper eth_dev fields when relevant. Signed-off-by: Gaetan Rivet --- lib/librte_ethdev/eth_private.h | 5 +++ lib/librte_ethdev/rte_class_eth.c | 62 +++ lib/librte_eth

[dpdk-dev] [PATCH v11 19/25] ethdev: add device matching field name

2018-07-11 Thread Gaetan Rivet
The eth device class can now parse a field name, matching the eth_dev name with one passed as "class=eth,name=xx" Signed-off-by: Gaetan Rivet --- lib/librte_ethdev/rte_class_eth.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/lib/librte_ethdev/rte_class_eth.c b/lib/librte_e

[dpdk-dev] [PATCH v11 20/25] app/testpmd: add show device command

2018-07-11 Thread Gaetan Rivet
A new interactive command is offered: show device This commands lists all rte_device element matching the device description. e.g.: show device bus=pci show device bus=vdev show device bus=vdev/class=eth show device bus=vdev,driver=net_ring/class=eth show device bus=vdev/class

[dpdk-dev] [PATCH v11 23/25] bus/pci: process declarative PCI devargs

2018-07-11 Thread Gaetan Rivet
Introduce the facility to process future PCI parameters. Once the matching between PCI devices and devargs has been done, it is possible to process each devargs. New parameters would have the PCI device handle to work with when parsing the device (bus specific) parameters. Signed-off-by: Gaetan R

[dpdk-dev] [PATCH v11 22/25] bus/vdev: pre-process declarative vdev devargs

2018-07-11 Thread Gaetan Rivet
The new devargs format does not recognize a particular device name. Each bus uses its specific format. Process each devargs privately prior to attempting a bus scan. Prepare them if they are using the new devargs format. Signed-off-by: Gaetan Rivet --- drivers/bus/vdev/vdev.c | 10 -

[dpdk-dev] [PATCH v11 21/25] bus/pci: pre-process declarative PCI devargs

2018-07-11 Thread Gaetan Rivet
The new devargs format does not recognize a particular device name. Each bus uses its specific format. Instead of introducing a new bus API, process those devargs privately for the moment. Prepare them for matching during scan against the bus devices. Signed-off-by: Gaetan Rivet --- drivers/bus

[dpdk-dev] [PATCH v11 18/25] ethdev: register ether layer as a class

2018-07-11 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet --- lib/librte_ethdev/Makefile| 3 +- lib/librte_ethdev/meson.build | 1 + lib/librte_ethdev/rte_class_eth.c | 79 +++ 3 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 lib/librte_ethdev/rte_class_eth.c diff

[dpdk-dev] [PATCH v11 15/25] bus/vdev: implement device iteration

2018-07-11 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet --- drivers/bus/vdev/Makefile | 3 +- drivers/bus/vdev/meson.build| 5 +++- drivers/bus/vdev/vdev.c | 10 --- drivers/bus/vdev/vdev_params.c | 51 + drivers/bus/vdev/vdev_private.h | 26 + 5 files

[dpdk-dev] [PATCH v11 14/25] bus/pci: add device matching field id

2018-07-11 Thread Gaetan Rivet
The PCI bus can now parse a matching field "id" as follows: "bus=pci,id=:00:00.0" or "bus=pci,id=00:00.0" Signed-off-by: Gaetan Rivet --- drivers/bus/pci/pci_params.c | 29 +++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/driver

[dpdk-dev] [PATCH v11 17/25] ethdev: add private generic device iterator

2018-07-11 Thread Gaetan Rivet
This iterator can be customized with a comparison function that will trigger a stopping condition. It can be leveraged to write several different iterators that have similar but non-identical purposes. It is private to librte_ethdev. Signed-off-by: Gaetan Rivet --- lib/librte_ethdev/Makefile

[dpdk-dev] [PATCH v11 16/25] bus/vdev: add device matching field driver

2018-07-11 Thread Gaetan Rivet
The vdev bus parses a field "driver", matching a vdev driver name with one passed as follows: "bus=vdev,driver=" Signed-off-by: Gaetan Rivet --- drivers/bus/vdev/vdev_params.c | 15 +-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/drivers/bus/vdev/vdev_param

[dpdk-dev] [PATCH v11 13/25] bus/pci: implement device iteration and comparison

2018-07-11 Thread Gaetan Rivet
Signed-off-by: Gaetan Rivet --- drivers/bus/pci/Makefile | 3 +- drivers/bus/pci/meson.build | 6 +++- drivers/bus/pci/pci_common.c | 3 +- drivers/bus/pci/pci_params.c | 53 drivers/bus/pci/private.h| 25 + 5 files changed, 86 inse

[dpdk-dev] [PATCH v11 12/25] kvargs: add generic string matching callback

2018-07-11 Thread Gaetan Rivet
This function can be used as a callback to rte_kvargs_process. This should reduce code duplication. Signed-off-by: Gaetan Rivet --- lib/librte_kvargs/rte_kvargs.c | 10 + lib/librte_kvargs/rte_kvargs.h | 26 lib/librte_kvargs/rte_kvargs_versi

[dpdk-dev] [PATCH v11 09/25] eal/dev: add device iterator interface

2018-07-11 Thread Gaetan Rivet
A device iterator allows iterating over a set of devices. This set is defined by the two descriptions offered, * rte_bus * rte_class Only one description can be provided, or both. It is not allowed to provide no description at all. Each layer of abstraction then performs a filter based on th

[dpdk-dev] [PATCH v11 11/25] eal/dev: implement device iteration

2018-07-11 Thread Gaetan Rivet
Use the iteration hooks in the abstraction layers to perform the requested filtering on the internal device lists. Signed-off-by: Gaetan Rivet --- lib/librte_eal/common/eal_common_dev.c | 168 lib/librte_eal/common/include/rte_dev.h | 26 lib/librte_eal/rte_eal_ve

[dpdk-dev] [PATCH v11 07/25] eal: introduce device class abstraction

2018-07-11 Thread Gaetan Rivet
This abstraction exists since the infancy of DPDK. It needs to be fleshed out however, to allow a generic description of devices properties and capabilities. A device class is the northbound interface of the device, intended for applications to know what it can be used for. It is conceptually jus

[dpdk-dev] [PATCH v11 10/25] eal/dev: implement device iteration initialization

2018-07-11 Thread Gaetan Rivet
Parse a device description. Split this description in their relevant part for each layers. No dynamic allocation is performed. Signed-off-by: Gaetan Rivet --- lib/Makefile| 1 + lib/librte_eal/bsdapp/eal/Makefile | 1 + lib/librte_eal/common/eal_common_dev.c |

[dpdk-dev] [PATCH v11 08/25] devargs: add function to parse device layers

2018-07-11 Thread Gaetan Rivet
This function is private to the EAL. It is used to parse each layers in a device description string, and store the result in an rte_devargs structure. Signed-off-by: Gaetan Rivet --- lib/librte_eal/common/eal_common_devargs.c | 144 lib/librte_eal/common/eal_private.h

[dpdk-dev] [PATCH v11 06/25] eal: introduce dtor macros

2018-07-11 Thread Gaetan Rivet
This macro adds symbols to the .fini section using the global RTE priorities, to ensure consistency. Signed-off-by: Gaetan Rivet Acked-by: Shreyansh Jain --- lib/librte_eal/common/include/rte_common.h | 23 ++ 1 file changed, 23 insertions(+) diff --git a/lib/librte_eal/com

[dpdk-dev] [PATCH v11 03/25] kvargs: remove error logs

2018-07-11 Thread Gaetan Rivet
Error logs in kvargs parsing should be better handled in components calling the library. This library must be as lean as possible. Signed-off-by: Gaetan Rivet Acked-by: Thomas Monjalon --- lib/librte_kvargs/rte_kvargs.c | 22 +- 1 file changed, 5 insertions(+), 17 deletions

[dpdk-dev] [PATCH v11 02/25] devargs: add non-variadic parsing function

2018-07-11 Thread Gaetan Rivet
rte_devargs_parse becomes non-variadic, rte_devargs_parsef becomes the variadic version, to be used to compose device strings. Signed-off-by: Gaetan Rivet Acked-by: Shreyansh Jain Acked-by: Thomas Monjalon --- drivers/net/failsafe/failsafe_args.c| 2 +- drivers/net/failsafe/failsafe_e

[dpdk-dev] [PATCH v11 04/25] kvargs: build before EAL

2018-07-11 Thread Gaetan Rivet
This library will be used by the EAL to parse parameters. Signed-off-by: Gaetan Rivet --- lib/Makefile | 3 +-- lib/librte_eal/meson.build| 1 + lib/librte_kvargs/Makefile| 2 +- lib/librte_kvargs/meson.build | 3 +++ lib/meson.build | 8 ++-- 5 files c

[dpdk-dev] [PATCH v11 05/25] kvargs: introduce a more flexible parsing function

2018-07-11 Thread Gaetan Rivet
This function permits defining additional terminating characters, ending the parsing to arbitrary delimiters. Signed-off-by: Gaetan Rivet Acked-by: Thomas Monjalon Acked-by: Shreyansh Jain --- lib/Makefile | 1 + lib/librte_kvargs/meson.build| 2 ++ li

[dpdk-dev] [PATCH v11 00/25] Device querying

2018-07-11 Thread Gaetan Rivet
This patchset introduces a new EAL API for querying devices, filtered by arbitrary properties. The following elements are introduced to this end: * A new object, "rte_class", is used to describe the device class abstraction layer (eth, crypto, ...). * Both rte_bus and rte_class now offer a

[dpdk-dev] [PATCH v11 01/25] devargs: use rte-log functions

2018-07-11 Thread Gaetan Rivet
Use the standard EAL logging functions in rte_devargs. Signed-off-by: Gaetan Rivet --- lib/librte_eal/common/eal_common_devargs.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/librte_eal/common/eal_common_devargs.c b/lib/librte_eal/common/eal_common_devargs.c in

Re: [dpdk-dev] [PATCH v2 1/1] service: Add service lcore attr APIs

2018-07-11 Thread Thomas Monjalon
09/05/2018 18:22, Erik Gabriel Carrillo: > Add APIs that allow an application to query and reset the attributes of > a service lcore. Add one such new attribute, "loops", which is a > counter that tracks the number of times the service core has looped in > the service runner function. This is use

[dpdk-dev] [RFC 0/1] A Distributed Software Event Device

2018-07-11 Thread Mattias Rönnblom
This is the Distributed Software (DSW) event device, which distributes the task of scheduling events among all the eventdev ports and their lcore threads. DSW is primarily designed for atomic-only queues, but also supports single-link and parallel queues. (DSW would be more accurately described a

[dpdk-dev] [RFC 1/1] eventdev: add distributed software (DSW) event device

2018-07-11 Thread Mattias Rönnblom
Signed-off-by: Mattias Rönnblom --- config/common_base|5 + drivers/event/Makefile|1 + drivers/event/dsw/Makefile| 28 + drivers/event/dsw/dsw_evdev.c | 361 + drivers/event/dsw/dsw_evdev.h

[dpdk-dev] [BUG] mlx5 build failure on Debian testing

2018-07-11 Thread Stephen Hemminger
I am seeing a build failure of MLX5 driver on Debian testing (buster) with dpdk.org master branch. This is using libibverbs-dev version 19.0-1 The failure is: mlx5_glue.h:94:11: error: ‘struct ibv_counter_set_init_attr’ declared inside parameter list will not be visible outside of this definitio

Re: [dpdk-dev] [PATCH v3] docs: add default that all fixes should be backported

2018-07-11 Thread Thomas Monjalon
04/07/2018 17:22, Thomas Monjalon: > 30/06/2018 01:10, Kevin Traynor: > > Set the starting point that all commits on master branch > > with Fixes tag should be backported to relevant stable/LTS > > branches, and explain that the submitter may indicate it is > > not suitable for backport. > > > > O

Re: [dpdk-dev] [PATCH v2 5/5] doc: add ZLIB PMD documentation

2018-07-11 Thread De Lara Guarch, Pablo
> -Original Message- > From: Verma, Shally [mailto:shally.ve...@cavium.com] > Sent: Wednesday, July 11, 2018 6:16 PM > To: De Lara Guarch, Pablo > Cc: dev@dpdk.org; Athreya, Narayana Prasad > ; Challa, Mahipal > ; Sahu, Sunila ; > Gupta, Ashish > Subject: RE: [PATCH v2 5/5] doc: add ZL

Re: [dpdk-dev] [PATCH v5 5/8] hash: add read and write concurrency support

2018-07-11 Thread Stephen Hemminger
On Tue, 10 Jul 2018 09:59:58 -0700 Yipeng Wang wrote: > + > +static inline void > +__hash_rw_reader_lock(const struct rte_hash *h) > +{ > + if (h->readwrite_concur_support && h->hw_trans_mem_support) > + rte_rwlock_read_lock_tm(h->readwrite_lock); > + else if (h->readwrite_con

Re: [dpdk-dev] [PATCH v3 1/2] librte_lpm: Improve performance of the delete and add functions

2018-07-11 Thread Stephen Hemminger
On Wed, 11 Jul 2018 20:53:46 +0300 Alex Kiselev wrote: > librte_lpm: Improve lpm6 performance > > Rework the lpm6 rule subsystem and replace > current rules algorithm complexity O(n) > with hashtables which allow dealing with > large (50k) rule sets. > > Signed-off-by: Alex Kiselev > --- > li

Re: [dpdk-dev] [PATCH v3 00/21] net/mlx5: flow rework

2018-07-11 Thread Yongseok Koh
On Wed, Jul 11, 2018 at 09:22:33AM +0200, Nelio Laranjeiro wrote: > Re-work flow engine to support port redirection actions through TC. > > This first series depends on [1] which is implemented in commit > "net/mlx5: support inner RSS computation" and on [2]. > Next series will bring the port red

Re: [dpdk-dev] [PATCH v4 13/23] net/softnic: add connection agent

2018-07-11 Thread Thomas Monjalon
05/07/2018 17:47, Jasvinder Singh: > Add connection agent to enable connectivity with external agen > (e.g. telnet, netcat, Python script, etc). > > Signed-off-by: Cristian Dumitrescu > Signed-off-by: Jasvinder Singh > --- > config/common_base | 2 +- > config/

Re: [dpdk-dev] [PATCH v3 14/21] net/mlx5: add RSS flow action

2018-07-11 Thread Yongseok Koh
On Wed, Jul 11, 2018 at 09:22:47AM +0200, Nelio Laranjeiro wrote: > Signed-off-by: Nelio Laranjeiro > --- > drivers/net/mlx5/mlx5_flow.c | 682 +++ > 1 file changed, 537 insertions(+), 145 deletions(-) > [...] > @@ -1322,26 +1583,122 @@ mlx5_flow_merge(struct rte_

Re: [dpdk-dev] [dpdk-announce] CFP for DPDK Summit Userspace

2018-07-11 Thread O'Driscoll, Tim
A quick reminder that the CFP for this closes on July 27th, which is two weeks on Friday. If you're planning to submit a proposal you can do so at: https://goo.gl/forms/Jh70MIA7QJE2nSBb2 Registration for the event is also open now. You can register at: https://www.regonline.com/DPDKDublin > --

Re: [dpdk-dev] [PATCH v14 0/6] Fix the cross compiling errors

2018-07-11 Thread Thomas Monjalon
29/06/2018 19:27, Gavin Hu: > Gavin Hu (4): > build: fix the meson build warning > devtools: fix the missing ninja command error > build: fix the meson cross compile error > devtools: expand meson cross compiling test coverage > > gavin hu (2): > mk: fix makefile based cross build errors

Re: [dpdk-dev] [PATCH] qat: fix checks for 3gpp algorithms vs bit mode

2018-07-11 Thread Trahe, Fiona
Hi Dmitri, Thanks for debugging this. However the below fix can truncate the data - I'll send an alternative fix shortly. Fiona > -Original Message- > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Dmitry Eremin-Solenikov > Sent: Wednesday, July 11, 2018 1:25 PM > To: dev@dpdk.org

[dpdk-dev] [PATCH v2] crypto/qat: fix checks for 3gpp algo bit params

2018-07-11 Thread Fiona Trahe
QAT driver checks byte alignment for KASUMI/SNOW 3G/ZUC algorithms using cipher/auth_param, which are not initialized at this moment yet. Use operation params instead. Signed-off-by: Fiona Trahe --- Change in v2 : - fixed implementation to avoid data truncation This fix should be backported to s

[dpdk-dev] [PATCH v4 1/2] librte_lpm: Improve performance of the delete and add functions

2018-07-11 Thread Alex Kiselev
librte_lpm: Improve lpm6 performance Rework the lpm6 rule subsystem and replace current rules algorithm complexity O(n) with hashtables which allow dealing with large (50k) rule sets. Signed-off-by: Alex Kiselev --- lib/Makefile | 2 +- lib/librte_lpm/meson.build | 1 + lib/li

[dpdk-dev] [PATCH v4 2/2] librte_lpm: Improve performance of the delete and add functions

2018-07-11 Thread Alex Kiselev
librte_lpm: Improve lpm6 performance There is no need to rebuild the whole LPM tree when a rule is deleted. This patch addresses this issue introducing new delete operation. Signed-off-by: Alex Kiselev --- lib/librte_lpm/rte_lpm6.c | 698 ++ 1 file ch

[dpdk-dev] [PATCH v3 2/2] librte_lpm: Improve performance of the delete and add functions

2018-07-11 Thread Alex Kiselev
There is no need to rebuild the whole LPM tree when a rule is deleted. This patch addresses this issue introducing new delete operation. Signed-off-by: Alex Kiselev --- lib/librte_lpm/rte_lpm6.c | 698 ++ 1 file changed, 583 insertions(+), 115 deletion

[dpdk-dev] [PATCH v3 1/2] librte_lpm: Improve performance of the delete and add functions

2018-07-11 Thread Alex Kiselev
librte_lpm: Improve lpm6 performance Rework the lpm6 rule subsystem and replace current rules algorithm complexity O(n) with hashtables which allow dealing with large (50k) rule sets. Signed-off-by: Alex Kiselev --- lib/Makefile | 2 +- lib/librte_lpm/meson.build | 1 + lib/li

Re: [dpdk-dev] [dpdk-stable] [PATCH v14 6/6] devtools: expand meson cross compiling test coverage

2018-07-11 Thread Thomas Monjalon
29/06/2018 19:27, Gavin Hu: > The default test script covers only default host cc compiler, either gcc or > clang, the fix is to increase the coverage by adding one more to cover > clang and the others for gcc. > > Fixes: a55277a788 ("devtools: add test script for meson builds") > Cc: sta...@dpdk.

Re: [dpdk-dev] [PATCH v2] examples/multi_process: add l2fwd_fork to Makefile

2018-07-11 Thread Thomas Monjalon
05/07/2018 18:05, Ferruh Yigit: > On 7/3/2018 5:16 PM, Emma Kenny wrote: > > l2fwd_fork is not complied by default, this will make it compile > > > > Fixes: 95e8005a56e8 ("examples/l2fwd_fork: new app") > > > > Signed-off-by: Emma Kenny > > Acked-by: Ferruh Yigit Applied, thanks

Re: [dpdk-dev] [PATCH v1] examples/multi_process: fix build error

2018-07-11 Thread Thomas Monjalon
03/07/2018 14:10, Shahaf Shuler: > Monday, July 2, 2018 6:40 PM, Emma Kenny: > > Subject: [PATCH v1] examples/multi_process: fix build error > > > > Fix bug with undeclared variable name and calling a variable that is not > > member of struct. > > > > CC main.o > > l2fwd_fork/main.c: In function

Re: [dpdk-dev] [PATCH v2 5/5] doc: add ZLIB PMD documentation

2018-07-11 Thread Verma, Shally
>-Original Message- >From: De Lara Guarch, Pablo [mailto:pablo.de.lara.gua...@intel.com] >Sent: 11 July 2018 19:32 >To: Verma, Shally >Cc: dev@dpdk.org; Athreya, Narayana Prasad >; Challa, Mahipal >; Sahu, Sunila ; Gupta, >Ashish >Subject: RE: [PATCH v2 5/5] doc: add ZLIB PMD documen

  1   2   3   >