[dpdk-dev] [PATCH v2] drivers/common: mark all symbols as internal

2020-10-01 Thread David Marchand
Now that we have the internal tag, let's avoid confusion with exported symbols in common drivers that were using the experimental tag as a workaround. There is also no need to put internal API symbols in the public stable ABI. Signed-off-by: David Marchand Acked-by: Anoob Joseph --- Changes sinc

Re: [dpdk-dev] [PATCH] vhost: return ready when at least 1 vring is configured

2020-10-01 Thread Maxime Coquelin
On 9/30/20 6:37 PM, Zhang, Roy Fan wrote: > Hi Chenbo and Maxime, > > Thanks for replying the email. > > >> -Original Message- >> From: Maxime Coquelin >> Sent: Wednesday, September 30, 2020 4:37 PM >> To: Xia, Chenbo ; Zhang, Roy Fan >> ; Liu, Changpeng ; >> dev@dpdk.org >> Cc: ma.

[dpdk-dev] [PATCH 1/2] net/bnxt: add support for RSS hash selection

2020-10-01 Thread Ajit Khaparde
Add support to select RSS hash based on innermost or outermost headers. If an application is started without any specific settings the default mode configured by FW or HW shall be used. Signed-off-by: Ajit Khaparde --- doc/guides/rel_notes/release_20_11.rst | 1 + drivers/net/bnxt/bnxt.h

[dpdk-dev] [PATCH 0/2] patchset for bnxt PMD

2020-10-01 Thread Ajit Khaparde
Patches for bnxt PMD to add support for RSS level selection, update HWRM API. v1->v2: fix spelling mistakes and long line comments in patch [2/2]. Ajit Khaparde (2): net/bnxt: add support for RSS hash selection net/bnxt: update HWRM structures doc/guides/rel_notes/release_20_11.rst |2 +

Re: [dpdk-dev] [PATCH v2] drivers/common: mark all symbols as internal

2020-10-01 Thread Kinsella, Ray
On 01/10/2020 08:55, David Marchand wrote: > Now that we have the internal tag, let's avoid confusion with exported > symbols in common drivers that were using the experimental tag as a > workaround. > There is also no need to put internal API symbols in the public stable > ABI. > > Signed-off-

Re: [dpdk-dev] [PATCH v2 1/1] net/mlx5: support match ICMP identifier fields

2020-10-01 Thread Ori Kam
Hi, PSB I also addressed other response in this mail to avoid threading of this mail. Best, Ori > -Original Message- > From: Li Zhang > Sent: Wednesday, September 30, 2020 6:42 PM > Subject: RE: [PATCH v2 1/1] net/mlx5: support match ICMP identifier fields > > Hi Ori, > > Update my re

Re: [dpdk-dev] [PATCH] vhost: return ready when at least 1 vring is configured

2020-10-01 Thread Zhang, Roy Fan
Hi Maxime, > -Original Message- > From: Maxime Coquelin > Sent: Thursday, October 1, 2020 8:55 AM > To: Zhang, Roy Fan ; Xia, Chenbo > ; Liu, Changpeng ; > dev@dpdk.org > Cc: ma...@mellanox.com; Zawadzki, Tomasz ; > Yigit, Ferruh > Subject: Re: [dpdk-dev] [PATCH] vhost: return ready when

Re: [dpdk-dev] [PATCH v3 1/1] net/mlx5: support match ICMP identifier fields

2020-10-01 Thread Ori Kam
Hi Sorry I didn't see that you sent V3 and responded on V2 So just rewriting my comments. Best, Ori > -Original Message- > From: dev On Behalf Of Li Zhang > Subject: [dpdk-dev] [PATCH v3 1/1] net/mlx5: support match ICMP identifier > fields > > PRM expose fields "Icmp_header_data" in I

Re: [dpdk-dev] [PATCH] vhost: return ready when at least 1 vring is configured

2020-10-01 Thread Maxime Coquelin
Hi Fan, On 10/1/20 10:07 AM, Zhang, Roy Fan wrote: > Hi Maxime, > >> -Original Message- >> From: Maxime Coquelin >> Sent: Thursday, October 1, 2020 8:55 AM >> To: Zhang, Roy Fan ; Xia, Chenbo >> ; Liu, Changpeng ; >> dev@dpdk.org >> Cc: ma...@mellanox.com; Zawadzki, Tomasz ; >> Yigit, Fe

Re: [dpdk-dev] [PATCH v5 03/20] doc: remove references to make from Linux guide

2020-10-01 Thread Power, Ciara
- Ciara - >-Original Message- >From: Thomas Monjalon >Sent: Wednesday 30 September 2020 23:09 >To: Power, Ciara >Cc: dev@dpdk.org; Mcnamara, John ; Kovacevic, >Marko >Subject: Re: [dpdk-dev] [PATCH v5 03/20] doc: remove references to make >from Linux guide > >Hi, > >Below are some co

Re: [dpdk-dev] [PATCH v5 03/20] doc: remove references to make from Linux guide

2020-10-01 Thread Power, Ciara
Hi Thomas, Apologies for the previous email, accidentally sent before I could fill it in! Most of these suggestions seem fine to me, left some comments inline. Thanks, Ciara >-Original Message- >From: Thomas Monjalon >Sent: Wednesday 30 September 2020 23:09 >To: Power, Ciara >Cc: d

Re: [dpdk-dev] [PATCH] net/mlx5: fix DevX CQ attributes values

2020-10-01 Thread Raslan Darawsheh
Hi, > -Original Message- > From: dev On Behalf Of Dekel Peled > Sent: Wednesday, September 30, 2020 3:20 PM > To: Slava Ovsiienko ; Shahaf Shuler > ; Matan Azrad > Cc: dev@dpdk.org; sta...@dpdk.org > Subject: [dpdk-dev] [PATCH] net/mlx5: fix DevX CQ attributes values > > Previous patch

Re: [dpdk-dev] [PATCH] vhost: return ready when at least 1 vring is configured

2020-10-01 Thread Zhang, Roy Fan
Hi Maxime, Yes I totally missed. Sorry about that. Will try this way. Should work. Thanks a lot. Regards, Fan > -Original Message- > From: Maxime Coquelin > Sent: Thursday, October 1, 2020 9:26 AM > To: Zhang, Roy Fan ; Xia, Chenbo > ; Liu, Changpeng ; > dev@dpdk.org > Cc: ma...@mellano

Re: [dpdk-dev] [RFC] ethdev: introduce Rx buffer split

2020-10-01 Thread Slava Ovsiienko
Hi, Andrew Thank you for the comments, please see my replies below. > -Original Message- > From: Andrew Rybchenko > Sent: Thursday, September 17, 2020 19:55 > To: Slava Ovsiienko ; dev@dpdk.org > Cc: Thomas Monjalon ; > step...@networkplumber.org; ferruh.yi...@intel.com; Shahaf Shuler >

Re: [dpdk-dev] [PATCH v3 4/4] app/testpmd: add commands for tunnel offload API

2020-10-01 Thread Gregory Etelson
Hello Ajit, > -Original Message- > On Wed, Sep 30, 2020 at 2:21 AM Gregory Etelson > wrote: > > > > Tunnel Offload API provides hardware independent, unified model > > to offload tunneled traffic. Key model elements are: > > - apply matches to both outer and inner packet headers > >d

Re: [dpdk-dev] [PATCH v3 4/4] app/testpmd: add commands for tunnel offload API

2020-10-01 Thread Ajit Khaparde
On Wed, Sep 30, 2020 at 2:21 AM Gregory Etelson wrote: > > Tunnel Offload API provides hardware independent, unified model > to offload tunneled traffic. Key model elements are: > - apply matches to both outer and inner packet headers >during entire offload procedure; > - restore outer heade

Re: [dpdk-dev] [PATCH v5 03/20] doc: remove references to make from Linux guide

2020-10-01 Thread Thomas Monjalon
01/10/2020 10:36, Power, Ciara: >From: Thomas Monjalon > > > >Hi, > > > >Below are some comments. If you agree, I will do the changes myself while > >pushing to the main branch. > > > > > >21/09/2020 15:59, Ciara Power: > >> Make is no longer supported for compiling DPDK, references are now > >> r

Re: [dpdk-dev] [PATCH v2 0/5] cryptodev: remove list end enumerators

2020-10-01 Thread Trahe, Fiona
> -Original Message- > From: Kusztal, ArkadiuszX > Sent: Wednesday, September 30, 2020 6:32 PM > To: dev@dpdk.org > Cc: akhil.go...@nxp.com; Trahe, Fiona ; > ruifeng.w...@arm.com; > michae...@marvell.com; Kusztal, ArkadiuszX > Subject: [PATCH v2 0/5] cryptodev: remove list end enumera

Re: [dpdk-dev] [PATCH] net/mlx5: fix incorrect meter table define

2020-10-01 Thread Raslan Darawsheh
Hi, > -Original Message- > From: Suanming Mou > Sent: Wednesday, September 30, 2020 9:47 AM > To: Slava Ovsiienko ; Matan Azrad > > Cc: Raslan Darawsheh ; dev@dpdk.org; > sta...@dpdk.org > Subject: [PATCH] net/mlx5: fix incorrect meter table define > > As metering and metadata features

[dpdk-dev] [PATCH 0/2] Fix packed ring header len

2020-10-01 Thread Maxime Coquelin
First patch is fixing packed ring header len. Issue was reported by Marvin. Second patch is a (very) light optimization, to make used directly of the static hdr len value in packed-ring only functions. Maxime Coquelin (2): vhost: fix Virtio-net header len with packed ring vhost: use fixed Vir

[dpdk-dev] [PATCH 1/2] vhost: fix Virtio-net header len with packed ring

2020-10-01 Thread Maxime Coquelin
In case packed ring layout has been negotiated, but neither Version 1 nor mergeable buffers, the Virtio-net header len is assigned to the legacy devices value, which is wrong. This patch fixes this with using the proper len as devices using packed ring are not legacy devices. Fixes: a922401f35cc

[dpdk-dev] [PATCH 2/2] vhost: use fixed Virtio-net header len packed ring

2020-10-01 Thread Maxime Coquelin
This small optimization uses static the Virtio-net header len in packed datapath, since Virtio-net header cannot be the legacy one in case of packed ring. Signed-off-by: Maxime Coquelin --- lib/librte_vhost/virtio_net.c | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --gi

Re: [dpdk-dev] [PATCH] doc: fix references to removed guide

2020-10-01 Thread Power, Ciara
>-Original Message- >From: David Marchand >Sent: Wednesday 30 September 2020 20:08 >To: Thomas Monjalon >Cc: dev ; Richardson, Bruce ; >Matan Azrad ; Shahaf Shuler ; >Viacheslav Ovsiienko ; Power, Ciara >; Ruifeng Wang >Subject: Re: [PATCH] doc: fix references to removed guide > >On Wed,

[dpdk-dev] [PATCH 0/2] aarch64 clang cross compilation

2020-10-01 Thread Juraj Linkeš
Use clang/LLVM toolchain with gcc stdlib to cross compile aarch64 target. Juraj Linkeš (2): ci: add aarch64 clang cross-compilation builds doc: add clang to aarch64 cross build guide .ci/linux-build.sh| 9 +- .travis.yml | 22 +

[dpdk-dev] [PATCH 1/2] ci: add aarch64 clang cross-compilation builds

2020-10-01 Thread Juraj Linkeš
Mirror the existing gcc jobs - build static and shared libs. Use arm64_armv8_linux_clang meson cross file. Signed-off-by: Juraj Linkeš --- .ci/linux-build.sh | 9 +++-- .travis.yml| 22 -- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/.ci/linux-

[dpdk-dev] [PATCH v7 01/42] pipeline: add new SWX pipeline type

2020-10-01 Thread Cristian Dumitrescu
Add new improved Software Switch (SWX) 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/meson.build | 10 ++- lib/librt

[dpdk-dev] [PATCH 2/2] doc: add clang to aarch64 cross build guide

2020-10-01 Thread Juraj Linkeš
Reorganize and update the aarch64 cross guide with clang cross compilation. Update the GNU toolchain version which clang also uses. Reorganize into common part, GNU part and clang part. Signed-off-by: Juraj Linkeš --- .../linux_gsg/cross_build_dpdk_for_arm64.rst | 183 +- 1 file

[dpdk-dev] [PATCH v7 02/42] pipeline: add SWX pipeline input port

2020-10-01 Thread Cristian Dumitrescu
Add input ports to the newly introduced SWX pipeline type. 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_

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

2020-10-01 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 v7 03/42] pipeline: add SWX pipeline output port

2020-10-01 Thread Cristian Dumitrescu
Add output ports to the newly introduced SWX pipeline type. 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

[dpdk-dev] [PATCH v7 05/42] pipeline: add SWX extern objects and funcs

2020-10-01 Thread Cristian Dumitrescu
Add extern objects and functions to plug into the SWX pipeline any functionality 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. S

[dpdk-dev] [PATCH v7 04/42] pipeline: add SWX headers and meta-data

2020-10-01 Thread Cristian Dumitrescu
Add support for dynamically-defined packet headers and meta-data to the SWX pipeline. 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

[dpdk-dev] [PATCH v7 06/42] pipeline: add SWX pipeline action

2020-10-01 Thread Cristian Dumitrescu
Add SWX 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/

[dpdk-dev] [PATCH v7 07/42] pipeline: add SWX pipeline tables

2020-10-01 Thread Cristian Dumitrescu
Add tables to the SWX pipeline. The match fields are flexibly selected from the headers and meta-data. The set of table actions is flexibly selected for each table from the set of pipeline actions. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/meson.build | 3 +- lib/

[dpdk-dev] [PATCH v7 08/42] pipeline: add SWX pipeline instructions

2020-10-01 Thread Cristian Dumitrescu
The SWX 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 v7 09/42] pipeline: add SWX Rx and extract instructions

2020-10-01 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 v7 10/42] pipeline: add SWX Tx and emit instructions

2020-10-01 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 v7 11/42] pipeline: add header validate and invalidate SWX instructions

2020-10-01 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 v7 12/42] pipeline: add SWX move instruction

2020-10-01 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 v7 14/42] pipeline: introduce SWX add instruction

2020-10-01 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 v7 13/42] pipeline: add SWX DMA instruction

2020-10-01 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 v7 15/42] pipeline: introduce SWX subtract instruction

2020-10-01 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 v7 18/42] pipeline: introduce SWX and instruction

2020-10-01 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 v7 16/42] pipeline: introduce SWX ckadd instruction

2020-10-01 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 v7 19/42] pipeline: introduce SWX or instruction

2020-10-01 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 v7 17/42] pipeline: introduce SWX cksub instruction

2020-10-01 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 v7 20/42] pipeline: introduce SWX XOR instruction

2020-10-01 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 v7 23/42] pipeline: introduce SWX table instruction

2020-10-01 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 v7 22/42] pipeline: introduce SWX SHR instruction

2020-10-01 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 v7 21/42] pipeline: introduce SWX SHL instruction

2020-10-01 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 v7 25/42] pipeline: introduce SWX jump and return instructions

2020-10-01 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 v7 24/42] pipeline: introduce SWX extern instruction

2020-10-01 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 to the mailbox. The results are available in the same place after execution. Signed-off-by: Cristian Dumitrescu --- lib/librt

[dpdk-dev] [PATCH v7 26/42] pipeline: add SWX instruction description

2020-10-01 Thread Cristian Dumitrescu
Added SWX 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 aae3d84

[dpdk-dev] [PATCH v7 27/42] pipeline: add SWX instruction verifier

2020-10-01 Thread Cristian Dumitrescu
Instruction verifier. Executes at instruction translation time during SWX pipeline build, i.e. at 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/

[dpdk-dev] [PATCH v7 28/42] pipeline: add SWX instruction optimizer

2020-10-01 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 v7 29/42] pipeline: add SWX pipeline query API

2020-10-01 Thread Cristian Dumitrescu
Query API to be used by the control plane to detect the configuration and state of the SWX 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/l

[dpdk-dev] [PATCH v7 30/42] pipeline: add SWX pipeline flush

2020-10-01 Thread Cristian Dumitrescu
Flush the packets currently buffered by the SWX 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 fi

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

2020-10-01 Thread Cristian Dumitrescu
High-level transaction-oriented API for SWX 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 Du

[dpdk-dev] [PATCH v7 32/42] pipeline: add SWX pipeline specification file

2020-10-01 Thread Cristian Dumitrescu
Add support for building the SWX pipeline based on specification file with syntax aligned to the P4 language. The specification file may be generated by the P4C compiler in the future. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/meson.build |1 + lib/librte_pipeli

[dpdk-dev] [PATCH v7 33/42] port: add ethernet device SWX port

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

[dpdk-dev] [PATCH v7 34/42] port: add source and sink SWX ports

2020-10-01 Thread Cristian Dumitrescu
Add the PCAP file-based source (input) and sink (output) port types for the SWX pipeline. 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/meson.build

[dpdk-dev] [PATCH v7 35/42] table: add exact match SWX table

2020-10-01 Thread Cristian Dumitrescu
Add the exact match table type for the SWX pipeline. Used under the hood by the SWX pipeline table instruction. Signed-off-by: Cristian Dumitrescu --- lib/librte_table/meson.build | 6 +- lib/librte_table/rte_swx_table_em.c| 851 + lib/librte_table/rte_swx

[dpdk-dev] [PATCH v7 37/42] examples/pipeline: add message passing mechanism

2020-10-01 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 v7 36/42] examples/pipeline: add new example application

2020-10-01 Thread Cristian Dumitrescu
Add new example application to showcase the API of the newly introduced SWX pipeline type. Signed-off-by: Cristian Dumitrescu --- MAINTAINERS | 1 + examples/meson.build | 1 + examples/pipeline/Makefile| 50 examples/pipeline/main.c | 50 exam

[dpdk-dev] [PATCH v7 38/42] examples/pipeline: add configuration commands

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

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

2020-10-01 Thread Cristian Dumitrescu
Add L2 Forwarding example with MAC destination and source address swap to the SWX pipeline application. Example command line: ./build/pipeline -l0-1 -- -s ./examples/l2fwd_macswp.cli Signed-off-by: Cristian Dumitrescu --- examples/pipeline/examples/l2fwd_macswp.cli | 25 examples/pipe

[dpdk-dev] [PATCH v7 39/42] examples/pipeline: add l2fwd example

2020-10-01 Thread Cristian Dumitrescu
Add L2 Forwarding example to the SWX pipeline application. Example command line: ./build/pipeline -l0-1 -- -s ./examples/l2fwd.cli Signed-off-by: Cristian Dumitrescu --- examples/pipeline/examples/l2fwd.cli | 25 ++ examples/pipeline/examples/l2fwd.spec | 42 + examples/pi

[dpdk-dev] [PATCH v7 42/42] doc: add new SWX pipeline type to release notes

2020-10-01 Thread Cristian Dumitrescu
Add the new SWX pipeline type to the release notes. Signed-off-by: Cristian Dumitrescu --- doc/guides/rel_notes/release_20_11.rst | 11 +++ 1 file changed, 11 insertions(+) diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst index 4eb3224a7..15e

Re: [dpdk-dev] [PATCH v2] pci: support both PIO and MMIO BAR for legacy virtio on x86

2020-10-01 Thread Burakov, Anatoly
On 30-Sep-20 3:59 PM, 谢华伟(此时此刻) wrote: From c13f981e287254cd0877cc7b98ee2dd7b80c3b69 Mon Sep 17 00:00:00 2001 From: "huawei.xhw" Date: Wed, 30 Sep 2020 22:37:03 +0800 Subject: [PATCH v2] pci:  support both PIO and MMIO BAR for legacy virtio on  x86 Legacy virtio-pci only supports PIO BAR re

[dpdk-dev] [PATCH v7 41/42] examples/pipeline: add VXLAN encapsulation example

2020-10-01 Thread Cristian Dumitrescu
Add VXLAN encapsulation example to the SWX pipeline application. The VXLAN tunnels can be generated with the vxlan_table.py script. Example command line: ./build/pipeline -l0-1 -- -s ./examples/vxlan.cli Signed-off-by: Cristian Dumitrescu --- examples/pipeline/examples/vxlan.cli | 27

[dpdk-dev] [PATCH v2 1/2] net: check that seg is valid before dereference

2020-10-01 Thread Chas Williams
If the overall pkt_len and segment lengths are out of agreement, it is possible for the seg to be NULL after the loop. Add assert to check this condition in debug builds. Otherwise, return failure. Fixes: c442fed81bb9 ("net: add function to calculate checksum in mbuf") Signed-off-by: Chas William

[dpdk-dev] [PATCH v2 2/2] net/virtio: check return from rte_raw_cksum_mbuf

2020-10-01 Thread Chas Williams
rte_raw_cksum_mbuf can fail, so we should check to see if it has. If so, return with an error. Fixes: 96cb6711939e ("net/virtio: support Rx checksum offload") Signed-off-by: Chas Williams <3ch...@gmail.com> --- drivers/net/virtio/virtio_rxtx.c| 5 +++-- drivers/net/virtio/virtio_rxtx

[dpdk-dev] [PATCH v2 0/3] aarch64 clang cross compilation

2020-10-01 Thread Juraj Linkeš
Use clang/LLVM toolchain with gcc stdlib to cross compile aarch64 target. Juraj Linkeš (3): build: add aarch64 clang to meson cross-compile ci: add aarch64 clang cross-compilation builds doc: add clang to aarch64 cross build guide .ci/linux-build.sh| 9 +- .tr

[dpdk-dev] [PATCH v2 1/3] build: add aarch64 clang to meson cross-compile

2020-10-01 Thread Juraj Linkeš
Create meson cross file arm64_armv8_linux_clang_ubuntu1804. Use clang/LLVM toolchain with sysroot pointing to gcc cross stdlib. Signed-off-by: Juraj Linkeš --- config/arm/arm64_armv8_linux_clang_ubuntu1804 | 20 +++ 1 file changed, 20 insertions(+) create mode 100644 config/arm/

[dpdk-dev] [PATCH v2 2/3] ci: add aarch64 clang cross-compilation builds

2020-10-01 Thread Juraj Linkeš
Mirror the existing gcc jobs - build static and shared libs. Use arm64_armv8_linux_clang_ubuntu1804 meson cross file. Signed-off-by: Juraj Linkeš --- .ci/linux-build.sh | 9 +++-- .travis.yml| 22 -- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a

[dpdk-dev] [PATCH v2 3/3] doc: add clang to aarch64 cross build guide

2020-10-01 Thread Juraj Linkeš
Reorganize and update the aarch64 cross guide with clang cross compilation. Update the GNU toolchain version which clang also uses. Reorganize into common part, GNU part and clang part. Signed-off-by: Juraj Linkeš --- .../linux_gsg/cross_build_dpdk_for_arm64.rst | 183 +- 1 file

[dpdk-dev] [PATCH] doc: add Vhost and Virtio updates to release note

2020-10-01 Thread Maxime Coquelin
Signed-off-by: Maxime Coquelin --- doc/guides/rel_notes/release_20_11.rst | 10 ++ 1 file changed, 10 insertions(+) diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst index 4eb3224a76..2a0f1605fe 100644 --- a/doc/guides/rel_notes/release_20_11.r

Re: [dpdk-dev] [PATCH v6 00/42] Pipeline alignment with the P4 language

2020-10-01 Thread Dumitrescu, Cristian
Hi David, > -Original Message- > From: David Marchand > Sent: Wednesday, September 30, 2020 8:34 PM > To: Dumitrescu, Cristian > Cc: dev ; Thomas Monjalon > Subject: Re: [PATCH v6 00/42] Pipeline alignment with the P4 language > > On Wed, Sep 30, 2020 at 8:34 AM Cristian Dumitrescu >

[dpdk-dev] DPDK Release Status Meeting 1/10/2020

2020-10-01 Thread Ferruh Yigit
Meeting minutes of 1 October 2020 - Agenda: * Release Dates * Subtrees * LTS * OvS Participants: * Broadcom * Debian/Microsoft * Intel * Marvell * Nvidia * NXP * Red Hat Release Dates - * v20.11 dates * -rc1 pushed to *Friday, 16 October 2020*

Re: [dpdk-dev] [PATCH] ethdev: use rte_pktmbuf_free_bulk()

2020-10-01 Thread Andrew Rybchenko
On 10/1/20 12:27 AM, Stephen Hemminger wrote: > The mbuf library now has routine to free multiple buffers. > Loop is no longer needed. > > Signed-off-by: Stephen Hemminger Thanks, Stephen Reviewed-by: Andrew Rybchenko

[dpdk-dev] [PATCH] doc: make sphinx comply with meson werror option

2020-10-01 Thread Bruce Richardson
When the --werror meson build option is set, we can pass the "-W", warning-as-errors, flag to sphinx to get the same behaviour for doc building as for building the rest of DPDK. This can help catch documentation errors sooner in the development process. Signed-off-by: Bruce Richardson --- NOTE: t

Re: [dpdk-dev] [PATCH] doc: add Vhost and Virtio updates to release note

2020-10-01 Thread Thomas Monjalon
01/10/2020 12:36, Maxime Coquelin: > Signed-off-by: Maxime Coquelin > --- > doc/guides/rel_notes/release_20_11.rst | 10 ++ > 1 file changed, 10 insertions(+) Those changes should have been part of the original commits. Please can you add the "Fixes:" lines so we can have an easy referen

Re: [dpdk-dev] [PATCH] doc: add Vhost and Virtio updates to release note

2020-10-01 Thread Maxime Coquelin
On 10/1/20 1:42 PM, Thomas Monjalon wrote: > 01/10/2020 12:36, Maxime Coquelin: >> Signed-off-by: Maxime Coquelin >> --- >> doc/guides/rel_notes/release_20_11.rst | 10 ++ >> 1 file changed, 10 insertions(+) > > Those changes should have been part of the original commits. > Please can

Re: [dpdk-dev] [PATCH v7 31/42] pipeline: add SWX table update high level API

2020-10-01 Thread David Marchand
On Thu, Oct 1, 2020 at 12:21 PM Cristian Dumitrescu wrote: > diff --git a/lib/librte_pipeline/rte_pipeline_version.map > b/lib/librte_pipeline/rte_pipeline_version.map > index 730e11a0c..ec38f0eef 100644 > --- a/lib/librte_pipeline/rte_pipeline_version.map > +++ b/lib/librte_pipeline/rte_pipeline

Re: [dpdk-dev] [PATCH] doc: add Vhost and Virtio updates to release note

2020-10-01 Thread Thomas Monjalon
01/10/2020 13:45, Maxime Coquelin: > > On 10/1/20 1:42 PM, Thomas Monjalon wrote: > > 01/10/2020 12:36, Maxime Coquelin: > >> Signed-off-by: Maxime Coquelin > >> --- > >> doc/guides/rel_notes/release_20_11.rst | 10 ++ > >> 1 file changed, 10 insertions(+) > > > > Those changes should h

Re: [dpdk-dev] [PATCH] ethdev: use rte_pktmbuf_free_bulk()

2020-10-01 Thread Ferruh Yigit
On 10/1/2020 12:14 PM, Andrew Rybchenko wrote: On 10/1/20 12:27 AM, Stephen Hemminger wrote: The mbuf library now has routine to free multiple buffers. Loop is no longer needed. Signed-off-by: Stephen Hemminger Thanks, Stephen Reviewed-by: Andrew Rybchenko Applied to dpdk-next-net/main,

Re: [dpdk-dev] [PATCH 0/2] patchset for bnxt PMD

2020-10-01 Thread Ajit Khaparde
On Wed, Sep 30, 2020 at 8:57 PM Ajit Khaparde wrote: > > Patches for bnxt PMD to add support for RSS level > selection, update HWRM API. > > v1->v2: fix spelling mistakes and long line comments in patch [2/2]. Patchset applied to dpdk-next-net-brcm. Thanks > > Ajit Khaparde (2): > net/bnxt: add

Re: [dpdk-dev] [PATCH] net/mlx5: fix Rx queue count calculation

2020-10-01 Thread Raslan Darawsheh
Hi, > -Original Message- > From: Alexander Kozyrev > Sent: Tuesday, September 29, 2020 9:36 PM > To: dev@dpdk.org > Cc: sta...@dpdk.org; Raslan Darawsheh ; Slava > Ovsiienko > Subject: [PATCH] net/mlx5: fix Rx queue count calculation > > There are a few discrepancies in the Rx queue cou

Re: [dpdk-dev] [PATCH v2 2/3] ci: add aarch64 clang cross-compilation builds

2020-10-01 Thread Aaron Conole
Juraj Linkeš writes: > Mirror the existing gcc jobs - build static and shared libs. > Use arm64_armv8_linux_clang_ubuntu1804 meson cross file. > > Signed-off-by: Juraj Linkeš > --- > .ci/linux-build.sh | 9 +++-- > .travis.yml| 22 -- > 2 files changed, 27 inser

Re: [dpdk-dev] [PATCH v5 17/20] doc: remove reference to make from tools guides

2020-10-01 Thread Power, Ciara
>-Original Message- >From: Power, Ciara >Sent: Monday 21 September 2020 14:59 >To: dev@dpdk.org >Cc: Power, Ciara ; Mcnamara, John >; Kovacevic, Marko >; Doherty, Declan ; >Pattan, Reshma ; Tahhan, Maryam >; Chautru, Nicolas ; >Jerin Jacob >Subject: [PATCH v5 17/20] doc: remove reference

[dpdk-dev] [PATCH v1 01/15] net/mlx5: fix send queue doorbell typo

2020-10-01 Thread Michael Baum
As part of SQ creation for Tx queue objects, a HW doorbell memory should be allocated and mapped to the HW. The SQ doorbell handler was wrongly saved on the CQ fields what caused wrong doorbell release in the Tx queue object destroy flow. Save the SQ doorbell handler in the SQ fields. Fixes: 3a8

[dpdk-dev] [PATCH v1 00/15] mlx5 Tx DevX/Verbs separation

2020-10-01 Thread Michael Baum
The series is an arrangement to multi-OS support by net/mlx5 driver so it comes to ease the code management for OS which supports\doesn't support DevX\Verbs operations. Michael Baum (15): net/mlx5: fix send queue doorbell typo net/mlx5: fix unused variable in Txq creation net/mlx5: mitigat

[dpdk-dev] [PATCH v1 03/15] net/mlx5: mitigate Tx queue reference counters

2020-10-01 Thread Michael Baum
The Tx queue structures manage 2 different reference counter per queue: txq_ctrl reference counter and txq_obj reference counter. There is no real need to use two different counters, it just complicates the release functions. Remove the txq_obj counter and use only the txq_ctrl counter. Signed-of

[dpdk-dev] [PATCH v1 02/15] net/mlx5: fix unused variable in Txq creation

2020-10-01 Thread Michael Baum
When a CQ is not created by DevX, it be allocated by either DV function or by regular Verbs function. The CQ DV attributes variable was wrongly defined and initialized in Tx queue creation while the CQ is created by the regular Verbs function what remained the attributes variable unused. Remove t

[dpdk-dev] [PATCH v1 06/15] net/mlx5: reposition the event queue number field

2020-10-01 Thread Michael Baum
The eqn field has become a field of sh directly since it is also relevant for Tx and Rx. Signed-off-by: Michael Baum Acked-by: Matan Azrad --- drivers/net/mlx5/mlx5.c | 10 ++ drivers/net/mlx5/mlx5.h | 2 +- drivers/net/mlx5/mlx5_devx.c | 9 + drivers/net/mlx5/mlx5_t

[dpdk-dev] [PATCH v1 05/15] net/mlx5: reorder Tx queue Verbs object creation

2020-10-01 Thread Michael Baum
Move the creation of the completion queue from the mlx5_txq_obj_new function into an auxiliary function. Signed-off-by: Michael Baum Acked-by: Matan Azrad --- drivers/net/mlx5/mlx5_txq.c | 117 +--- 1 file changed, 68 insertions(+), 49 deletions(-) diff

[dpdk-dev] [PATCH v1 04/15] net/mlx5: reorder Tx queue DevX object creation

2020-10-01 Thread Michael Baum
Move the creation of the send queue and the completion queue resources from the mlx5_txq_obj_devx_new function into auxiliary functions. Signed-off-by: Michael Baum Acked-by: Matan Azrad --- drivers/net/mlx5/mlx5_txq.c | 361 +--- 1 file changed, 239 inse

[dpdk-dev] [PATCH v1 07/15] net/mlx5: separate Tx queue object creations

2020-10-01 Thread Michael Baum
As an arrangement to Windows OS support, the Verbs operations should be separated to another file. By this way, the build can easily cut the unsupported Verbs APIs from the compilation process. Define operation structure and DevX module in addition to the existing linux Verbs module. Separate Tx o

[dpdk-dev] [PATCH v1 08/15] net/mlx5: share Tx control code

2020-10-01 Thread Michael Baum
Move Tx object similar resources allocations and debug logs from DevX and Verbs modules to a shared location. Signed-off-by: Michael Baum Acked-by: Matan Azrad --- drivers/net/mlx5/linux/mlx5_os.c| 4 +- drivers/net/mlx5/linux/mlx5_verbs.c | 84 - driver

[dpdk-dev] [PATCH v1 10/15] net/mlx5: rearrange QP creation in Verbs module

2020-10-01 Thread Michael Baum
1. Rename function to mention the internal resources. 2. Reduce the number of function arguments. Signed-off-by: Michael Baum Acked-by: Matan Azrad --- drivers/net/mlx5/linux/mlx5_verbs.c | 15 ++- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/drivers/net/mlx5/linux/

  1   2   >