[dpdk-dev] [PATCH v2 1/3] ethdev: add a field for rxq info structure

2020-08-26 Thread Chengchang Tang
Add a field named rx_buf_size in rte_eth_rxq_info to indicate the buffer size used in receiving packets for HW. In this way, upper-layer users can get this information by calling rte_eth_rx_queue_info_get. Signed-off-by: Chengchang Tang Acked-by: Andrew Rybchenko --- v1 -> v2: fix wrong headlin

[dpdk-dev] [PATCH v2 0/3] add Rx buffer size for rxq info structure

2020-08-26 Thread Chengchang Tang
In common practice, PMD configure the Rx buffer size which indicate the buffer length could be used for HW in receiving packets according to the data room size of the object in mempool. But in fact, the final value is related to the specifications of HW, and its values will affect the number of fra

[dpdk-dev] [PATCH v2 2/3] app/testpmd: add Rx buffer size display in queue info query

2020-08-26 Thread Chengchang Tang
Add Rx buffer size to queue info querry cmd so that the user can get the buffer length used by HW queue for receiving packets. Signed-off-by: Chengchang Tang --- v1 -> v2: fix some spelling mistake --- app/test-pmd/config.c | 1 + 1 file changed, 1 insertion(+) diff --git a/app/test-pmd/config.

[dpdk-dev] [PATCH v2 3/3] net/hns3: add Rx buffer size to Rx qinfo query

2020-08-26 Thread Chengchang Tang
Report hns3 PMD configured Rx buffer size in Rx queue information query. Signed-off-by: Chengchang Tang --- v1 -> v2: fix some spelling mistake. --- drivers/net/hns3/hns3_rxtx.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c inde

Re: [dpdk-dev] [PATCH v2 3/3] net/hns3: add Rx buffer size to Rx qinfo query

2020-08-26 Thread Wei Hu (Xavier)
On 2020/8/26 15:12, Chengchang Tang wrote: Report hns3 PMD configured Rx buffer size in Rx queue information query. Signed-off-by: Chengchang Tang Reviewed-by: Wei Hu (Xavier) --- v1 -> v2: fix some spelling mistake. --- drivers/net/hns3/hns3_rxtx.c | 2 ++ 1 file changed, 2 insertions(

Re: [dpdk-dev] [PATCH v2 2/3] app/testpmd: add Rx buffer size display in queue info query

2020-08-26 Thread Wei Hu (Xavier)
On 2020/8/26 15:12, Chengchang Tang wrote: Add Rx buffer size to queue info querry cmd so that the user can get the buffer length used by HW queue for receiving packets. Signed-off-by: Chengchang Tang Reviewed-by: Wei Hu (Xavier) --- v1 -> v2: fix some spelling mistake --- app/test-pmd/c

Re: [dpdk-dev] [PATCH v2 1/3] ethdev: add a field for rxq info structure

2020-08-26 Thread Wei Hu (Xavier)
On 2020/8/26 15:12, Chengchang Tang wrote: Add a field named rx_buf_size in rte_eth_rxq_info to indicate the buffer size used in receiving packets for HW. In this way, upper-layer users can get this information by calling rte_eth_rx_queue_info_get. Signed-off-by: Chengchang Tang Acked-by: An

[dpdk-dev] [Bug 531] ACL (librte_acl) Fails to match source ports

2020-08-26 Thread bugzilla
https://bugs.dpdk.org/show_bug.cgi?id=531 Bug ID: 531 Summary: ACL (librte_acl) Fails to match source ports Product: DPDK Version: 19.11 Hardware: All OS: All Status: UNCONFIRMED Severity: normal

Re: [dpdk-dev] [PATCH RFC 0/1] net/af_xdp: shared UMEM support

2020-08-26 Thread Loftus, Ciara
> > On 8/11/2020 10:50 AM, Ciara Loftus wrote: > > This RFC integrates shared UMEM support into the AF_XDP PMD. It is > based on the > > WIP kernel series [1] by Magnus Karlsson. > > > > Detailed information on the shared UMEM feature can be found in the final > patch > > in the aforementioned ser

[dpdk-dev] [PATCH v1] net/fm10k: use inclusive engineering terminology

2020-08-26 Thread Yuying Zhang
Offensive terms should be replaced with more inclusive engineering terms. Deprecated terms include "master/slave" and "blacklist/whitelist". Signed-off-by: Yuying Zhang --- drivers/net/fm10k/fm10k_ethdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/fm10k/fm10

[dpdk-dev] [PATCH 0/7] support RXDID22 and FDID22

2020-08-26 Thread Guinan Sun
Support flexible descriptor RXDID22 and FDID offload in vPMD. Remove devargs flow-mark-support. Guinan Sun (4): net/ice: remove devargs flow-mark-support net/ice: add flow director enabled switch value net/ice: support Flex Rx desc and flow mark in AVX path net/ice: support Flex Rx desc an

[dpdk-dev] [PATCH 1/7] net/ice: change RSS hash parsing in AVX path

2020-08-26 Thread Guinan Sun
From: Junyu Jiang Change RSS hash parsing from Flex Rx descriptor in AVX data path. Signed-off-by: Junyu Jiang --- drivers/net/ice/ice_rxtx_vec_avx2.c | 98 +++-- 1 file changed, 94 insertions(+), 4 deletions(-) diff --git a/drivers/net/ice/ice_rxtx_vec_avx2.c b/drive

[dpdk-dev] [PATCH 3/7] net/ice: support flexible descriptor RxDID #22

2020-08-26 Thread Guinan Sun
From: Junyu Jiang Add structure and macro definition for flex Rx descriptor RxDID #22, and support flex Rx descriptor RxDID #22 format in normal path. Signed-off-by: Junyu Jiang --- drivers/net/ice/ice_rxtx.c | 16 --- drivers/net/ice/ice_rxtx.h | 42 +++

[dpdk-dev] [PATCH 2/7] net/ice: change RSS hash parsing in SSE path

2020-08-26 Thread Guinan Sun
From: Junyu Jiang Change RSS hash parsing from Flex Rx descriptor in SSE data path. Signed-off-by: Junyu Jiang --- drivers/net/ice/ice_rxtx_vec_sse.c | 89 -- 1 file changed, 73 insertions(+), 16 deletions(-) diff --git a/drivers/net/ice/ice_rxtx_vec_sse.c b/drive

[dpdk-dev] [PATCH 7/7] net/ice: support Flex Rx desc and flow mark in SSE path

2020-08-26 Thread Guinan Sun
Support Flow Director mark ID parsing from Flex Rx descriptor in SSE path. Signed-off-by: Guinan Sun --- drivers/net/ice/ice_rxtx_vec_sse.c | 49 ++ 1 file changed, 49 insertions(+) diff --git a/drivers/net/ice/ice_rxtx_vec_sse.c b/drivers/net/ice/ice_rxtx_vec_sse.c

[dpdk-dev] [PATCH 6/7] net/ice: support Flex Rx desc and flow mark in AVX path

2020-08-26 Thread Guinan Sun
Support Flow Director mark ID parsing from Flex Rx descriptor in AVX path. Signed-off-by: Guinan Sun --- drivers/net/ice/ice_rxtx_vec_avx2.c | 64 - 1 file changed, 63 insertions(+), 1 deletion(-) diff --git a/drivers/net/ice/ice_rxtx_vec_avx2.c b/drivers/net/ice/ic

[dpdk-dev] [PATCH 4/7] net/ice: remove devargs flow-mark-support

2020-08-26 Thread Guinan Sun
Remove devargs "flow-mark-support". Signed-off-by: Guinan Sun --- doc/guides/nics/ice.rst | 12 drivers/net/ice/ice_ethdev.c | 10 +- drivers/net/ice/ice_ethdev.h | 1 - drivers/net/ice/ice_rxtx_vec_common.h | 6 -- 4 files changed, 1 in

[dpdk-dev] [PATCH 5/7] net/ice: add flow director enabled switch value

2020-08-26 Thread Guinan Sun
The commit adds fdir_enabled flag into ice_adapter structure to identify if fdir id is active. Rx data path can be benefit if fdir id parsing is not needed, especially in vector path. Signed-off-by: Guinan Sun --- drivers/net/ice/ice_ethdev.h | 2 ++ drivers/net/ice/ice_fdir_filter.c | 9

Re: [dpdk-dev] [PATCH RFC 1/1] net/af_xdp: shared UMEM support

2020-08-26 Thread Loftus, Ciara
> > On 8/11/2020 10:50 AM, Ciara Loftus wrote: > > A future kernel will introduce the ability to efficiently share a UMEM > > between AF_XDP sockets bound to different queue ids on the same or > > different devices. This patch integrates that functionality into the AF_XDP > > PMD. > > > > A PMD w

[dpdk-dev] [PATCH] maintainers: update maintainers for event ethdev rx/tx adapters

2020-08-26 Thread Nikhil Rao
Jay is the new maintainer since Nikhil no longer works on DPDK. Signed-off-by: Nikhil Rao --- MAINTAINERS | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index ed163f5d5..453dba54e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -461,14 +461,14 @@

[dpdk-dev] [PATCH] librte_eal: fix mcslock hang on weak memory

2020-08-26 Thread Diogo Behrens
The initialization me->locked=1 in lock() must happen before next->locked=0 in unlock(), otherwise a thread may hang forever, waiting me->locked become 0. On weak memory systems (such as ARMv8), the current implementation allows me->locked=1 to be reordered with announcing the n

Re: [dpdk-dev] 19.11.4 patches review and test

2020-08-26 Thread Luca Boccassi
On Wed, 2020-08-26 at 02:30 +, Chen, BoX C wrote: > Hi Luca, > Update LTS 19.11.4 test result for Intel part. No new issue is found except > known issues. Thank you! > * Intel(R) Testing > > # Basic Intel(R) NIC testing > * PF(i40e):Passed > - Exception message when starting testpmd

[dpdk-dev] [PATCH v11 0/5] eal: add WC store functions

2020-08-26 Thread Radu Nicolau
Implement 2 new functions that will enable write combining stores depending on architecture. The functions are provided as a generic stub and a x86 specific implementation. The reason to implement these functions is to improve performance by reducing the overhead associated with regular mmio write

[dpdk-dev] [PATCH v11 3/5] common/qat: use WC store to update queue tail registers

2020-08-26 Thread Radu Nicolau
Performance improvement: use a write combining store instead of a regular mmio write to update queue tail registers. Signed-off-by: Radu Nicolau Acked-by: Fiona Trahe --- drivers/common/qat/qat_adf/adf_transport_access_macros.h | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff -

[dpdk-dev] [PATCH v11 5/5] net/ice: use WC store to update queue tail registers

2020-08-26 Thread Radu Nicolau
Performance improvement: use a write combining store instead of a regular mmio write to update queue tail registers. Signed-off-by: Radu Nicolau --- drivers/net/ice/base/ice_osdep.h| 1 + drivers/net/ice/ice_rxtx.c | 6 +++--- drivers/net/ice/ice_rxtx_vec_avx2.c | 4 ++-- drivers/ne

[dpdk-dev] [PATCH v11 4/5] net/ixgbe: use WC store to update queue tail registers

2020-08-26 Thread Radu Nicolau
Performance improvement: use a write combining store instead of a regular mmio write to update queue tail registers. Signed-off-by: Radu Nicolau Acked-by: Konstantin Ananyev --- drivers/net/ixgbe/base/ixgbe_osdep.h | 6 ++ drivers/net/ixgbe/ixgbe_rxtx.c | 15 --- driv

[dpdk-dev] [PATCH v11 1/5] eal: add WC store functions

2020-08-26 Thread Radu Nicolau
Add rte_write32_wc and rte_write32_wc_relaxed functions that implement 32bit stores using write combining memory protocol. Provided generic stubs and x86 implementation. Signed-off-by: Radu Nicolau Acked-by: Bruce Richardson --- lib/librte_eal/arm/include/rte_io_64.h | 12 +++ lib/librte_e

[dpdk-dev] [PATCH v11 2/5] net/i40e: use WC store to update queue tail registers

2020-08-26 Thread Radu Nicolau
Performance improvement: use a write combining store instead of a regular mmio write to update queue tail registers. Signed-off-by: Radu Nicolau Acked-by: Bruce Richardson --- drivers/net/i40e/base/i40e_osdep.h| 5 + drivers/net/i40e/i40e_rxtx.c | 8 drivers/net/i40e/i

Re: [dpdk-dev] [PATCH v2 1/4] power: make guest channel headers public

2020-08-26 Thread David Hunt
Hi Bruce, On 21/8/2020 6:10 PM, Bruce Richardson wrote: The channel commands header file contains definitions that are used by the example application for power management, and so need to be made public. Similarly the guest_channel.h header is used by the guest_cli example utility, so needs to b

Re: [dpdk-dev] [PATCH v2 2/4] examples/vm_power_manager: fix string truncation warning

2020-08-26 Thread David Hunt
Hi Bruce, On 21/8/2020 6:10 PM, Bruce Richardson wrote: When compiling on ubuntu 20.04, a warning was issued about possible truncation of the path string for the power management socket. channel_manager.c: In function ‘add_all_channels’: channel_manager.c:470:41: warning: ‘%s’ directive output

Re: [dpdk-dev] [PATCH] examples/vm_power: fix resource leak on error path

2020-08-26 Thread David Hunt
Hi wangyunjian, On 19/8/2020 1:54 PM, wangyunjian wrote: From: Yunjian Wang This patch fixes the resource leaks reported by coverity. Coverity issue: 337674 Fixes: 95f648ff9eed ("examples/vm_power: make branch ratio threshold per core") Cc: sta...@dpdk.org Signed-off-by: Yunjian Wang ---

Re: [dpdk-dev] [PATCH] librte_eal: fix mcslock hang on weak memory

2020-08-26 Thread Phil Yang
Diogo Behrens writes: > Subject: [PATCH] librte_eal: fix mcslock hang on weak memory > > The initialization me->locked=1 in lock() must happen before > next->locked=0 in unlock(), otherwise a thread may hang forever, > waiting me->locked become 0. On weak memory systems (such as ARMv

Re: [dpdk-dev] [PATCH 1/1] eal/linux: fix event set error for rte_epoll_event

2020-08-26 Thread wangyunjian
Ping for review, please. > -Original Message- > From: wangyunjian > Sent: Wednesday, July 15, 2020 10:40 AM > To: dev@dpdk.org; hka...@marvell.com > Cc: Lilijun (Jerry) ; xudingke > ; wangyunjian ; > sta...@dpdk.org > Subject: [dpdk-dev] [PATCH 1/1] eal/linux: fix event set error for > rt

[dpdk-dev] [PATCH] net/octeontx2: remove logically dead code

2020-08-26 Thread wangyunjian
From: Yunjian Wang Coverity issue: 357719 Fixes: da138cd47e06 ("net/octeontx2: handle port reconfigure") Cc: sta...@dpdk.org Signed-off-by: Yunjian Wang --- drivers/net/octeontx2/otx2_ethdev.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/net/octeontx2/otx2_ethdev.c b/drivers/n

Re: [dpdk-dev] Ipsec-secgw packet processing

2020-08-26 Thread satyavalli rama
Hi Anoob, Do you need any more info.. Kindly help us.. We are totally stuck.. Thanks On Wed, 19 Aug, 2020, 4:38 pm satyavalli rama, wrote: > Hi Anoob > > We are using the following hardware details, > HOST: x722 (i40e) intel. > VM: e1000 (82540) intel. > > We have launched Virtual machine on hos

[dpdk-dev] [PATCH] i40e: fix segfault when using custom RSS key

2020-08-26 Thread Elena Carasec
&out->conf and in can point to the same memory area. Reinitialization of out->conf leads to setting in->key to NULL, but leaves key_len 40. This leads to segfault on destruction of the RSS flow action. The segfault happens inside i40e_action_rss_same(), when comparing comp->key and with->key, becau

[dpdk-dev] [PATCH] bus/dpaa: fix fd check before close

2020-08-26 Thread wangyunjian
From: Yunjian Wang The fd is possibly a negative value while it is passed as an argument to function "close". Fix the check to the fd. Fixes: b9c94167904f ("bus/dpaa: decouple FQ portal alloc and init") Cc: sta...@dpdk.org Signed-off-by: Yunjian Wang --- drivers/bus/dpaa/base/qbman/qman_drive

Re: [dpdk-dev] [PATCH] bus/dpaa: fix fd check before close

2020-08-26 Thread Sachin Saxena (OSS)
Thanks Yunjian for the fix. Acked-by: Sachin Saxena On 26-Aug-20 5:24 PM, wangyunjian wrote: From: Yunjian Wang The fd is possibly a negative value while it is passed as an argument to function "close". Fix the check to the fd. Fixes: b9c94167904f ("bus/dpaa: decouple FQ portal alloc and in

Re: [dpdk-dev] [PATCH 1/1] vhost: fix iotlb mempool single-consumer flag

2020-08-26 Thread Eugenio Perez Martin
Hi Chenbo. On Wed, Aug 26, 2020 at 8:29 AM Xia, Chenbo wrote: > > Hi Eugenio, > > > -Original Message- > > From: Eugenio Pérez > > Sent: Monday, August 10, 2020 10:11 PM > > To: dev@dpdk.org > > Cc: Adrian Moreno Zapata ; Maxime Coquelin > > ; sta...@dpdk.org; Wang, Zhihong > > ; Xia, Ch

[dpdk-dev] [PATCH] event/dpaa2: fix dereference before null check

2020-08-26 Thread wangyunjian
From: Yunjian Wang Coverity flags that 'portal' variable is used before it's checked for NULL. This patch fixes this issue. Coverity issue: 323516 Fixes: 4ab57b042e7c ("event/dpaa2: affine portal at runtime during I/O") Cc: sta...@dpdk.org Signed-off-by: Yunjian Wang --- drivers/event/dpaa2/d

Re: [dpdk-dev] [PATCH v5 1/8] net/dpaa: add support for fmlib in dpdk

2020-08-26 Thread Ferruh Yigit
On 8/13/2020 7:01 PM, Hemant Agrawal wrote: > DPAA platorm MAC interface is known as FMAN i.e. Frame Manager. > There are two ways to control it. > 1. Statically configure the queues and classification rules before the > start of the application using FMC tool. > 2. Dynamically configure it within

Re: [dpdk-dev] [PATCH v2 2/3] app/testpmd: add Rx buffer size display in queue info query

2020-08-26 Thread Stephen Hemminger
On Wed, 26 Aug 2020 15:12:22 +0800 Chengchang Tang wrote: > Add Rx buffer size to queue info querry cmd so that the user can get the > buffer length used by HW queue for receiving packets. > > Signed-off-by: Chengchang Tang You might want to add this info to proc-info tool as well.

Re: [dpdk-dev] [PATCH v5 1/8] net/dpaa: add support for fmlib in dpdk

2020-08-26 Thread Ferruh Yigit
On 8/26/2020 2:54 PM, Ferruh Yigit wrote: > On 8/13/2020 7:01 PM, Hemant Agrawal wrote: >> DPAA platorm MAC interface is known as FMAN i.e. Frame Manager. >> There are two ways to control it. >> 1. Statically configure the queues and classification rules before the >> start of the application using

Re: [dpdk-dev] [PATCH] test/crypto: fix device number

2020-08-26 Thread Zhang, Roy Fan
> -Original Message- > From: dev On Behalf Of Ankur Dwivedi > Sent: Thursday, July 30, 2020 12:20 PM > To: dev@dpdk.org > Cc: Doherty, Declan ; akhil.go...@nxp.com; > ano...@marvell.com; Ankur Dwivedi ; > sta...@dpdk.org > Subject: [dpdk-dev] [PATCH] test/crypto: fix device number > > In

Re: [dpdk-dev] [PATCH v5] devtools: add new SPDX license compliance checker

2020-08-26 Thread Stephen Hemminger
On Fri, 31 Jul 2020 00:06:23 +0200 Thomas Monjalon wrote: > 15/07/2020 01:21, Stephen Hemminger: > > Simple script to look for drivers and scripts that > > are missing requires SPDX header. > > > > Signed-off-by: Stephen Hemminger > [...] > > +#! /bin/sh > > +# SPDX-License-Identifier: BSD-3-

[dpdk-dev] [PATCH 01/40] pipeline: add pipeline

2020-08-26 Thread Cristian Dumitrescu
Add improved pipeline type that supports dynamically-defined packet headers, meta-data, actions and pipelines. Actions and pipelines are defined through instructions. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/Makefile | 2 + lib/librte_pipeline/meson.build

[dpdk-dev] [PATCH 00/40] Pipeline alignment with the P4 language

2020-08-26 Thread Cristian Dumitrescu
This patch set introduces a new pipeline type that combines the DPDK performance with the flexibility of the P4-16 language[1]. The new API can be used either by itself to code a complete software switch (SWX) or data plane app, or in combination with the open-source P4 compiler P4C [2], potentiall

[dpdk-dev] [PATCH 02/40] pipeline: add input port

2020-08-26 Thread Cristian Dumitrescu
Add input ports to the pipeline. Each port instantiates a port type that defines the port operations, e.g. ethdev port, PCAP port, etc. The RX interface is single packet, with packet batching internally for performance. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_pipeline_vers

[dpdk-dev] [PATCH 03/40] pipeline: add output port

2020-08-26 Thread Cristian Dumitrescu
Add output ports to the pipeline. Each port instantiates a port type that defines the port operations, e.g. ethdev port, PCAP port, etc. The TX interface is single packet, with packet batching internally for performance. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_pipeline_ver

[dpdk-dev] [PATCH 04/40] pipeline: add headers and meta-data

2020-08-26 Thread Cristian Dumitrescu
Add support for dynamically-defined packet headers and meta-data. The header and meta-data format are defined by the struct type they instantiate. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_pipeline_version.map | 3 + lib/librte_pipeline/rte_swx_pipeline.c | 413 +

[dpdk-dev] [PATCH 05/40] pipeline: add extern objects and functions

2020-08-26 Thread Cristian Dumitrescu
Add extern objects and functions to plug in functions that cannot be efficiently implemented with existing instructions, e.g. special checksum/ECC, crypto, meters, stats arrays, heuristics, etc. In/out arguments are passed through mailbox with format defined by struct. Signed-off-by: Cristian Dumi

[dpdk-dev] [PATCH 06/40] pipeline: add action

2020-08-26 Thread Cristian Dumitrescu
Add actions that are dynamically-defined through instructions as opposed to pre-defined. The actions are subroutines of the pipeline program that triggered by table lookup. The input arguments are the action data from the table entry (format defined by struct), the headers and meta-data are in/out.

[dpdk-dev] [PATCH 08/40] pipeline: add pipeline instructions

2020-08-26 Thread Cristian Dumitrescu
The pipeline instructions represent the main program that defines the life of the packet. As packets go through tables that trigger action subroutines, the headers and meta-data get transformed along the way. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_pipeline_version.map |

[dpdk-dev] [PATCH 09/40] pipeline: add rx and extract instructions

2020-08-26 Thread Cristian Dumitrescu
Add packet reception and header extraction instructions. The RX must be the first pipeline instruction. Each extracted header is logically removed from the packet, then it can be read/written by instructions, emitted into the outgoing packet or discarded. Signed-off-by: Cristian Dumitrescu --- l

[dpdk-dev] [PATCH 10/40] pipeline: add tx and emit instructions

2020-08-26 Thread Cristian Dumitrescu
Add header emit and packet transmission instructions. Emit adds to the output packet a header that is either generated (e.g. read from table entry by action) or extracted from the input packet. TX ends the pipeline processing; discard is implemented by tx to special port. Signed-off-by: Cristian D

[dpdk-dev] [PATCH 13/40] pipeline: add dma instruction

2020-08-26 Thread Cristian Dumitrescu
The DMA instruction handles the bulk read transfer of one header from the table entry action data. Typically used to generate headers, i.e. headers that are not extracted from the input packet. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_swx_pipeline.c | 207 ++

[dpdk-dev] [PATCH 11/40] pipeline: add header validate and invalidate instructions

2020-08-26 Thread Cristian Dumitrescu
Add instructions to flag a header as valid or invalid. This flag can be tested by the jmpv (jump if header valid) and jmpnv (jump if header not valid) instructions. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_swx_pipeline.c | 108 + 1 file changed, 108

[dpdk-dev] [PATCH 07/40] pipeline: add tables

2020-08-26 Thread Cristian Dumitrescu
Add tables to the pipeline. The match fields are flexibly selected from the headers and meta-data. The set of actions is flexibly selected per table from the pipeline set. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/Makefile | 1 + lib/librte_pipeline/meson.build

[dpdk-dev] [PATCH 14/40] pipeline: introduce add instruction

2020-08-26 Thread Cristian Dumitrescu
The add instruction source can be header field (H), meta-data field (M), extern object (E) or function (F) mailbox field, table entry action data field (T) or immediate value (I). The destination is HMEF. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_swx_pipeline.c | 302 +++

[dpdk-dev] [PATCH 12/40] pipeline: add mov instruction

2020-08-26 Thread Cristian Dumitrescu
The mov (i.e. move) instruction source can be header field (H), meta-data field (M), extern object (E) or function (F) mailbox field, table entry action data field (T) or immediate value (I). The destination is HMEF. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_swx_pipeline.c |

[dpdk-dev] [PATCH 15/40] pipeline: introduce sub instruction

2020-08-26 Thread Cristian Dumitrescu
The sub (i.e. subtract) instruction source can be header field (H), meta-data field (M), extern object (E) or function (F) mailbox field, table entry action data field (T) or immediate value (I). The destination is HMEF. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_swx_pipeline

[dpdk-dev] [PATCH 16/40] pipeline: introduce ckadd instruction

2020-08-26 Thread Cristian Dumitrescu
The ckadd (i.e. checksum add) instruction is used to either compute, verify or update the 1's complement sum commonly used by protocols such as IPv4, TCP or UDP. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_swx_pipeline.c | 230 + 1 file changed, 230 ins

[dpdk-dev] [PATCH 18/40] pipeline: introduce and instruction

2020-08-26 Thread Cristian Dumitrescu
The and (i.e. bitwise and) instruction source can be header field (H), meta-data field (M), extern object (E) or function (F) mailbox field, table entry action data field (T) or immediate value (I). The destination is HMEF. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_swx_pipel

[dpdk-dev] [PATCH 17/40] pipeline: introduce cksub instruction

2020-08-26 Thread Cristian Dumitrescu
The cksub (i.e. checksum subtract) instruction is used to update the 1's complement sum commonly used by protocols such as IPv4, TCP or UDP. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_swx_pipeline.c | 116 + 1 file changed, 116 insertions(+) diff --gi

[dpdk-dev] [PATCH 22/40] pipeline: introduce shr instruction

2020-08-26 Thread Cristian Dumitrescu
The shr (i.e. shift right) instruction source can be header field (H), meta-data field (M), extern object (E) or function (F) mailbox field, table entry action data field (T) or immediate value (I). The destination is HMEF. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_swx_pipel

[dpdk-dev] [PATCH 20/40] pipeline: introduce xor instruction

2020-08-26 Thread Cristian Dumitrescu
The xor (i.e. bitwise exclusive or) instruction source can be header field (H), meta-data field (M), extern object (E) or function (F) mailbox field, table entry action data field (T) or immediate value (I). The destination is HMEF. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_

[dpdk-dev] [PATCH 19/40] pipeline: introduce or instruction

2020-08-26 Thread Cristian Dumitrescu
The or (i.e. bitwise or) instruction source can be header field (H), meta-data field (M), extern object (E) or function (F) mailbox field, table entry action data field (T) or immediate value (I). The destination is HMEF. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_swx_pipelin

[dpdk-dev] [PATCH 21/40] pipeline: introduce shl instruction

2020-08-26 Thread Cristian Dumitrescu
The shl (i.e. shift left) instruction source can be header field (H), meta-data field (M), extern object (E) or function (F) mailbox field, table entry action data field (T) or immediate value (I). The destination is HMEF. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_swx_pipeli

[dpdk-dev] [PATCH 23/40] pipeline: introduce table instruction

2020-08-26 Thread Cristian Dumitrescu
The table instruction looks up the input key into the table and then it triggers the execution of the action found in the table entry. On lookup miss, the default table action is executed. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_swx_pipeline.c | 100 +++

[dpdk-dev] [PATCH 24/40] pipeline: introduce extern instruction

2020-08-26 Thread Cristian Dumitrescu
The extern instruction calls one of the member functions of a given extern object or it calls the given extern function. The function arguments must be written in advance in the maibox. The results are available in the same place after execution. Signed-off-by: Cristian Dumitrescu --- lib/librte

[dpdk-dev] [PATCH 26/40] pipeline: add instruction verifier

2020-08-26 Thread Cristian Dumitrescu
Instruction verifier. Executes at instruction translation time during pipeline build, i.e. initialization instead of run-time. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_swx_pipeline.c | 51 ++ 1 file changed, 51 insertions(+) diff --git a/lib/librte_

[dpdk-dev] [PATCH 27/40] pipeline: add instruction optimizer

2020-08-26 Thread Cristian Dumitrescu
Instruction optimizer. Detects frequent patterns and replaces them with some more powerful vector-like pipeline instructions without any user effort. Executes at instruction translation, not at run-time. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_swx_pipeline.c | 226

[dpdk-dev] [PATCH 25/40] pipeline: introduce jmp and return instructions

2020-08-26 Thread Cristian Dumitrescu
The jump instructions are either unconditional (jmp) or conditional on positive/negative tests such as header validity (jmpv/jmpnv), table lookup hit/miss (jmph/jmpnh), executed action (jmpa/jmpna), equality (jmpeq/jmpneq), comparison result (jmplt/jmpgt). The return instruction resumes the pipelin

[dpdk-dev] [PATCH 30/40] pipeline: add instruction description

2020-08-26 Thread Cristian Dumitrescu
Added instruction set reference table. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_swx_pipeline.h | 109 + 1 file changed, 109 insertions(+) diff --git a/lib/librte_pipeline/rte_swx_pipeline.h b/lib/librte_pipeline/rte_swx_pipeline.h index 203e394d6..

[dpdk-dev] [PATCH 28/40] pipeline: add pipeline query API

2020-08-26 Thread Cristian Dumitrescu
Query API to be used by the control plane to detect the configuration and state of the pipeline and its internal objects. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_pipeline_version.map | 10 + lib/librte_pipeline/rte_swx_ctl.h| 313 +++ lib/librt

[dpdk-dev] [PATCH 29/40] pipeline: add pipeline flush

2020-08-26 Thread Cristian Dumitrescu
Flush the packets currently buffered by the pipeline output ports. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_pipeline_version.map | 1 + lib/librte_pipeline/rte_swx_pipeline.c | 13 + lib/librte_pipeline/rte_swx_pipeline.h | 12 3 files

[dpdk-dev] [PATCH 33/40] port: add source and sink ports

2020-08-26 Thread Cristian Dumitrescu
Add the PCAP file-based source (input) and sink (output) pipeline port types. The sink port is typically used to implement the packet drop pipeline action. Used under the hood by the pipeline rx and tx instructions. Signed-off-by: Cristian Dumitrescu --- lib/librte_port/Makefile

[dpdk-dev] [PATCH 31/40] pipeline: add table update high level API

2020-08-26 Thread Cristian Dumitrescu
High-level transaction-oriented API for pipeline table updates. It supports multi-table atomic updates, i.e. multiple tables can be updated in a single step with only the before and after table set visible to the packets. Uses the lower-level table update mechanisms. Signed-off-by: Cristian Dumitr

[dpdk-dev] [PATCH 34/40] table: add exact match table

2020-08-26 Thread Cristian Dumitrescu
Add the exact match pipeline table type. Used under the hood by the pipeline table instruction. Signed-off-by: Cristian Dumitrescu --- lib/librte_table/Makefile | 2 + lib/librte_table/meson.build | 6 +- lib/librte_table/rte_swx_table_em.c| 851 +++

[dpdk-dev] [PATCH 32/40] port: add ethernet device port

2020-08-26 Thread Cristian Dumitrescu
Add the Ethernet device input/output pipeline port type. Used under the hood by the pipeline rx and tx instructions. Signed-off-by: Cristian Dumitrescu --- lib/librte_port/Makefile | 2 + lib/librte_port/meson.build | 6 +- lib/librte_port/rte_port_version.map | 3 +

[dpdk-dev] [PATCH 35/40] examples/pipeline: add new example application

2020-08-26 Thread Cristian Dumitrescu
Add new example application to showcase the new pipeline type API. Signed-off-by: Cristian Dumitrescu --- examples/Makefile | 1 + examples/meson.build | 1 + examples/pipeline/Makefile| 80 + examples/pipeline/main.c | 52 examples/pipeline/meson.bui

[dpdk-dev] [PATCH 37/40] examples/pipeline: add configuration commands

2020-08-26 Thread Cristian Dumitrescu
Add CLI commands for application configuration and query. Signed-off-by: Cristian Dumitrescu --- examples/pipeline/Makefile|1 + examples/pipeline/cli.c | 1373 + examples/pipeline/cli.h | 19 + examples/pipeline/main.c | 11 +- exampl

[dpdk-dev] [PATCH 36/40] examples/pipeline: add message passing mechanism

2020-08-26 Thread Cristian Dumitrescu
Add network-based connectivity mechanism for the application to allow for the exchange of configuration messages through the network as opposed to local CLI only. Signed-off-by: Cristian Dumitrescu --- examples/pipeline/Makefile| 1 + examples/pipeline/conn.c | 331 +++

[dpdk-dev] [PATCH 39/40] examples/pipeline: add l2fwd with MAC swap example

2020-08-26 Thread Cristian Dumitrescu
Add L2 Forwarding example with MAC destination and source address swap to the pipeline application. Example command line: ./build/pipeline -l0-1 -- -s ./examples/l2fwd_macswp.cli Signed-off-by: Cristian Dumitrescu --- examples/pipeline/Makefile| 2 + examples/pipeline/cli.c

[dpdk-dev] [PATCH 38/40] examples/pipeline: add l2fwd example

2020-08-26 Thread Cristian Dumitrescu
Add L2 Forwarding example to the pipeline application. Example command line: ./build/pipeline -l0-1 -- -s ./examples/l2fwd.cli Signed-off-by: Cristian Dumitrescu --- examples/pipeline/Makefile| 1 + examples/pipeline/cli.c | 16 ++- examples/pipeline/example_

[dpdk-dev] [PATCH 40/40] examples/pipeline: add VXLAN encap example

2020-08-26 Thread Cristian Dumitrescu
Add VXLAN encapsulation example to the pipeline application. The VXLAN tunnels can be generated with the vxlan.py script. Example command line: ./build/pipeline -l0-1 -- -s ./examples/vxlan.cli Signed-off-by: Cristian Dumitrescu --- examples/pipeline/Makefile| 2 +- examples/pi

[dpdk-dev] [PATCH 2/2] net/ark: remove RTE_LIBRTE_ARK_PAD_TX configuration macro

2020-08-26 Thread Ed Czeck
Replace behavior with RTE_LIBRTE_ARK_MIN_TX_PKTLEN with a default value of 0. Update documentation as needed. Signed-off-by: Ed Czeck --- doc/guides/nics/ark.rst | 16 drivers/net/ark/ark_ethdev_tx.c | 44 +++-- drivers/net/ark/ark_logs.h |

[dpdk-dev] [PATCH 1/2] net/ark: remove compile time log macros in favor of run time log control

2020-08-26 Thread Ed Czeck
Use ARK_PMD_LOG in place of PMD_DRV_LOG, PMD_DEBUG_LOG, PMD_FUNC_LOG, PMD_STATS_LOG, PMD_RX_LOG, and PMD_TX_LOG. Review and adjust log levels and messages as needed. Signed-off-by: Ed Czeck --- doc/guides/nics/ark.rst | 13 -- drivers/net/ark/ark_ddm.c | 12 ++--- drivers/net/a

[dpdk-dev] [PATCH] crypto/scheduler: rename slave to worker

2020-08-26 Thread Adam Dybkowski
This patch replaces the usage of the word 'slave' with more appropriate word 'worker' in QAT PMD and Scheduler PMD as well as in their docs. Also the test app was modified to use the new wording. The Scheduler PMD's public API was modified according to the previous deprecation notice: rte_cryptode

Re: [dpdk-dev] [PATCH v5] devtools: add new SPDX license compliance checker

2020-08-26 Thread Bruce Richardson
On Wed, Aug 26, 2020 at 08:12:30AM -0700, Stephen Hemminger wrote: > On Fri, 31 Jul 2020 00:06:23 +0200 > Thomas Monjalon wrote: > > > 15/07/2020 01:21, Stephen Hemminger: > > > Simple script to look for drivers and scripts that > > > are missing requires SPDX header. > > > > > > Signed-off-by:

Re: [dpdk-dev] [PATCH v2 08/18] raw/ioat: create rawdev instances on idxd PCI probe

2020-08-26 Thread Bruce Richardson
On Tue, Aug 25, 2020 at 04:27:43PM +0100, Laatz, Kevin wrote: > On 21/08/2020 17:29, Bruce Richardson wrote: > > When a matching device is found via PCI probe create a rawdev instance for > > each queue on the hardware. Use empty self-test function for these devices > > so that the overall rawdev_a

[dpdk-dev] [PATCH v4 0/7] support the flow-based traffic sampling

2020-08-26 Thread Jiawei Wang
This patch set implement the flow sampling for mlx5 driver. The solution is introduced a new rte_flow action that will sample the incoming traffic and send a duplicated traffic with the specified ratio to the application, while the original packet will continue to the target destination. If the

[dpdk-dev] [PATCH v4 7/7] app/testpmd: add testpmd command for sample action

2020-08-26 Thread Jiawei Wang
Add a new testpmd command 'set sample_actions' that supports the multiple sample actions list configuration by using the index: set sample_actions The examples for the sample flow use case and result as below: 1. set sample_actions 0 mark id 0x8 / queue index 2 / end .. pattern eth / end action

[dpdk-dev] [PATCH v4 2/7] common/mlx5: glue for sample action

2020-08-26 Thread Jiawei Wang
rdma-core introduce a new DR sample action. Add the rdma-core commands in glue to create this action. Sample action is used for creating the sample object to implement the sampling/mirroring function. Signed-off-by: Jiawei Wang Acked-by: Ori Kam --- drivers/common/mlx5/Makefile | 5

[dpdk-dev] [PATCH v4 3/7] common/mlx5: query sampler object capability via DevX

2020-08-26 Thread Jiawei Wang
Update function mlx5_devx_cmd_query_hca_attr() to add the NIC Flow Table attributes query, then get the log_max_flow_sampler_num from flow table properties. Add the related structs definition in mlx5_prm.h. Signed-off-by: Jiawei Wang Acked-by: Ori Kam --- drivers/common/mlx5/mlx5_devx_cmds.c |

[dpdk-dev] [PATCH v4 1/7] ethdev: introduce sample action for rte flow

2020-08-26 Thread Jiawei Wang
When using full offload, all traffic will be handled by the HW, and directed to the requested VF or wire, the control application loses visibility on the traffic. So there's a need for an action that will enable the control application some visibility. The solution is introduced a new action that

[dpdk-dev] [PATCH v4 6/7] net/mlx5: update translate function for sample action

2020-08-26 Thread Jiawei Wang
Translate the attribute of sample action that include sample ratio and sub actions list, then create the sample DR action. Signed-off-by: Jiawei Wang Acked-by: Ori Kam --- drivers/net/mlx5/mlx5_flow.c| 16 +- drivers/net/mlx5/mlx5_flow.h| 14 +- drivers/net/mlx5/mlx5_flow_dv.c | 494 +

[dpdk-dev] [PATCH v4 5/7] net/mlx5: split sample flow into two sub flows

2020-08-26 Thread Jiawei Wang
Add the sampler action resource structs definition. The flow with sample action will be splited into two sub flows, the prefix flow with sample action, the suffix flow with the left actions. For the prefix flow, add the extra the tag action with unique id to metadata register, and suffix flow wil

[dpdk-dev] [PATCH v4 4/7] net/mlx5: add the validate sample action

2020-08-26 Thread Jiawei Wang
Add sample action validate function. For Sample flow support NIC-RX and FDB domain, must include an action of a dest TIR in NIC_RX. Only NIC_RX support with addition optional actions. FDB doesn't support any optional action, the sampled packets is always goes to e-switch manager port. Signed-off

Re: [dpdk-dev] [PATCH 0/6] app/testpmd: add runtime config

2020-08-26 Thread Ferruh Yigit
On 7/14/2020 10:51 PM, Dharmik Thakkar wrote: > Meson build system lacks support for > CONFIG_RTE_TEST_PMD_RECORD_CORE_CYCLES and > CONFIG_RTE_TEST_PMD_RECORD_BURST_STATS configuration options. > > One solution is to add these options within meson_options.txt > > Since adding these as runtime con

  1   2   >