Re: [dpdk-dev] [PATCH v4] doc: add new tables for rte flow items and actions support

2021-02-16 Thread Asaf Penso
Hello Ferruh, thanks for the reply and please see my below comments. Regards, Asaf Penso >-Original Message- >From: Ferruh Yigit >Sent: Tuesday, February 16, 2021 3:14 PM >To: Asaf Penso ; dev@dpdk.org >Cc: NBU-Contact-Thomas Monjalon ; Andrew >Rybchenko >Subject: Re: [dpdk-dev] [PATCH

[dpdk-dev] [PATCH v3 5/5] table: add wildcard match table type

2021-02-16 Thread Cristian Dumitrescu
Add the widlcard match/ACL table type for the SWX pipeline, which is used under the hood by the table instruction. Signed-off-by: Cristian Dumitrescu Signed-off-by: Churchill Khangar --- doc/api/doxy-api-index.md | 1 + examples/pipeline/obj.c | 8 + lib/librte_table/m

[dpdk-dev] [PATCH v3 4/5] table: add table entry priority

2021-02-16 Thread Cristian Dumitrescu
Add support for table entry priority, which is required for the wildcard match/ACL table type. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_swx_ctl.c | 27 +++ lib/librte_table/rte_swx_table.h | 9 + 2 files changed, 36 insertions(+) diff --gi

[dpdk-dev] [PATCH v3 3/5] pipeline: support non-incremental table updates

2021-02-16 Thread Cristian Dumitrescu
Some table types (e.g. exact match/hash) allow for incremental table updates, while others (e.g. wildcard match/ACL) do not. The former is already supported, the latter is enabled by this patch. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_swx_ctl.c | 315 ++

[dpdk-dev] [PATCH v3 2/5] pipeline: improve table entry parsing

2021-02-16 Thread Cristian Dumitrescu
Improve the table entry parsing: better code structure, enable parsing for the key field masks, allow comments and empty lines in the table entry files. Signed-off-by: Cristian Dumitrescu Signed-off-by: Venkata Suresh Kumar P Signed-off-by: Churchill Khangar --- examples/pipeline/cli.c

[dpdk-dev] [PATCH v3 1/5] pipeline: improve table entry helpers

2021-02-16 Thread Cristian Dumitrescu
Improve the internal table entry helper routines for key comparison, entry duplication and checks. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_swx_ctl.c | 120 -- 1 file changed, 65 insertions(+), 55 deletions(-) diff --git a/lib/librte_pipeline/rt

[dpdk-dev] [PATCH v2 15/15] net/ionic: fix code around lif init devcmd

2021-02-16 Thread Andrew Boyer
The completion type was wrong. Don't check the completion if the wait timed out. Fixes: 669c8de67c88 ("net/ionic: support basic LIF") Cc: cardigli...@ntop.org Cc: sta...@dpdk.org Signed-off-by: Andrew Boyer --- drivers/net/ionic/ionic_lif.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions

[dpdk-dev] [PATCH v2 14/15] net/ionic: store Tx fragment limit in queue

2021-02-16 Thread Andrew Boyer
A future patch will allow Tx scatter/gather to be disabled. Store the value in the queue so it can be changed at runtime based on the configuration. Signed-off-by: Andrew Boyer --- drivers/net/ionic/ionic_lif.c | 6 +- drivers/net/ionic/ionic_lif.h | 1 + drivers/net/ionic/ionic_rxtx.c | 6

[dpdk-dev] [PATCH v2 13/15] net/ionic: send as many packets as possible

2021-02-16 Thread Andrew Boyer
Rather than dropping the whole burst if some don't fit. This improves performance. Signed-off-by: Andrew Boyer Signed-off-by: Vishwas Danivas --- drivers/net/ionic/ionic_rxtx.c | 9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/net/ionic/ionic_rxtx.c b/drivers/

[dpdk-dev] [PATCH v2 12/15] net/ionic: ring doorbell once at the end of each burst

2021-02-16 Thread Andrew Boyer
This improves performance. Signed-off-by: Andrew Boyer --- drivers/net/ionic/ionic_rxtx.c | 41 +++--- 1 file changed, 13 insertions(+), 28 deletions(-) diff --git a/drivers/net/ionic/ionic_rxtx.c b/drivers/net/ionic/ionic_rxtx.c index 5236cae211..bb67c497a1 100644 -

[dpdk-dev] [PATCH v2 11/15] net/ionic: break up queue post function

2021-02-16 Thread Andrew Boyer
Break it up rather than inlining it, so that we can remove branches from the hot path. Signed-off-by: Andrew Boyer --- drivers/net/ionic/ionic_dev.c | 11 -- drivers/net/ionic/ionic_dev.h | 1 - drivers/net/ionic/ionic_main.c | 10 - drivers/net/ionic/ionic_rxtx.c | 37 +++

[dpdk-dev] [PATCH v2 10/15] net/ionic: log queue counters when tearing down

2021-02-16 Thread Andrew Boyer
This improves debuggability. To see the logs, use EAL arg: --log-level=pmd.net.ionic,debug While here, stop counting fragments, but start counting mtods. Signed-off-by: Andrew Boyer --- drivers/net/ionic/ionic_lif.h | 2 +- drivers/net/ionic/ionic_rxtx.c | 13 +++-- 2 files changed,

[dpdk-dev] [PATCH v2 07/15] net/ionic: cut down queue structure

2021-02-16 Thread Andrew Boyer
This will conserve resources. Rename ionic_qcq_alloc() arg from 'base' to 'type_name' for clarity. Signed-off-by: Andrew Boyer --- drivers/net/ionic/ionic_dev.c | 14 +++--- drivers/net/ionic/ionic_dev.h | 34 ++- drivers/net/ionic/ionic_lif.c | 49 +++

[dpdk-dev] [PATCH v2 09/15] net/ionic: use the socket id passed in for Rx and Tx queues

2021-02-16 Thread Andrew Boyer
Pipe the value from the queue setup routines through to ionic_qcq_alloc(). Signed-off-by: Andrew Boyer --- drivers/net/ionic/ionic_lif.c | 10 +++--- drivers/net/ionic/ionic_lif.h | 10 ++ drivers/net/ionic/ionic_rxtx.c | 4 ++-- 3 files changed, 15 insertions(+), 9 deletions(-)

[dpdk-dev] [PATCH v2 06/15] net/ionic: remove unused interrupt free function

2021-02-16 Thread Andrew Boyer
This will conserve resources. Signed-off-by: Andrew Boyer --- drivers/net/ionic/ionic_lif.c | 7 --- drivers/net/ionic/ionic_lif.h | 1 - 2 files changed, 8 deletions(-) diff --git a/drivers/net/ionic/ionic_lif.c b/drivers/net/ionic/ionic_lif.c index 1ca6e050ad..462a526935 100644 --- a/driv

[dpdk-dev] [PATCH v2 08/15] net/ionic: split up queue-completion queue structure

2021-02-16 Thread Andrew Boyer
Create a unique Q-CQ struct for adminq, notifyq, rxq, and txq to reduce the size of each object. Minimize the size of each field to squeeze into as few cachelines as possible. Signed-off-by: Andrew Boyer --- drivers/net/ionic/ionic_lif.c | 153 ++--- drivers/net/ion

[dpdk-dev] [PATCH v2 05/15] net/ionic: remove unused field from queue structure

2021-02-16 Thread Andrew Boyer
This will conserve resources. Signed-off-by: Andrew Boyer --- drivers/net/ionic/ionic_dev.c | 6 -- drivers/net/ionic/ionic_dev.h | 2 -- drivers/net/ionic/ionic_lif.c | 1 - drivers/net/ionic/ionic_rxtx.c | 9 + 4 files changed, 5 insertions(+), 13 deletions(-) diff --git a/driv

[dpdk-dev] [PATCH v2 04/15] net/ionic: convert info array to generic pointers

2021-02-16 Thread Andrew Boyer
Drop the callback part of the object and store only the pointers. This saves a bit of space and simplifies the code. Signed-off-by: Andrew Boyer --- drivers/net/ionic/ionic_dev.c | 8 ++-- drivers/net/ionic/ionic_dev.h | 21 +-- drivers/net/ionic/ionic_main.c | 8

[dpdk-dev] [PATCH v2 03/15] net/ionic: consolidate adminq code

2021-02-16 Thread Andrew Boyer
The adminq is the only caller of ionic_q_service(), so absorb it into ionic_adminq_service(). Move all of the adminq code together into ionic_main.c. Staticize a few things. Signed-off-by: Andrew Boyer --- drivers/net/ionic/ionic.h | 13 - drivers/net/ionic/ionic_dev.c | 85 -

[dpdk-dev] [PATCH v2 02/15] net/ionic: remove unused filter delete function

2021-02-16 Thread Andrew Boyer
This function is unused. Signed-off-by: Andrew Boyer --- drivers/net/ionic/ionic_dev.h | 1 - drivers/net/ionic/ionic_rx_filter.c | 14 -- drivers/net/ionic/ionic_rx_filter.h | 1 - 3 files changed, 16 deletions(-) diff --git a/drivers/net/ionic/ionic_dev.h b/drivers/net/io

[dpdk-dev] [PATCH v2 01/15] net/ionic: cut down completion queue structure

2021-02-16 Thread Andrew Boyer
Add Q_NEXT_TO_POST() and Q_NEXT_TO_SRVC() macros. Use a precomputed size mask. This will conserve resources. Signed-off-by: Andrew Boyer --- drivers/net/ionic/ionic_dev.c | 14 +++--- drivers/net/ionic/ionic_dev.h | 14 +++--- drivers/net/ionic/ionic_lif.c | 5 +++-- drivers

[dpdk-dev] [PATCH v2 00/15] net/ionic: struct optimizations, fixes

2021-02-16 Thread Andrew Boyer
This patch series reorganizes the main datastructure for each queue, struct ionic_qcq. Its constituent struct ionic_queue and struct ionic_cq are stripped down first. Then the generic struct ionic_qcq is stripped down, and a unique struct is created for each queue type. The adminq code is consolid

[dpdk-dev] [PATCH v2 1/5] pipeline: improve table entry helpers

2021-02-16 Thread Cristian Dumitrescu
Improve the internal table entry helper routines for key comparison, entry duplication and checks. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_swx_ctl.c | 120 -- 1 file changed, 65 insertions(+), 55 deletions(-) diff --git a/lib/librte_pipeline/rt

[dpdk-dev] [PATCH v2 3/5] pipeline: support non-incremental table updates

2021-02-16 Thread Cristian Dumitrescu
Some table types (e.g. exact match/hash) allow for incremental table updates, while others (e.g. wildcard match/ACL) do not. The former is already supported, the latter is enabled by this patch. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_swx_ctl.c | 320 ++

[dpdk-dev] [PATCH v2 2/5] pipeline: improve table entry parsing

2021-02-16 Thread Cristian Dumitrescu
Improve the table entry parsing: better code structure, enable parsing for the key field masks, allow comments and empty lines in the table entry files. Signed-off-by: Cristian Dumitrescu Signed-off-by: Venkata Suresh Kumar P Signed-off-by: Churchill Khangar --- examples/pipeline/cli.c

[dpdk-dev] [PATCH v2 5/5] table: add wildcard match table type

2021-02-16 Thread Cristian Dumitrescu
Add the widlcard match/ACL table type for the SWX pipeline, which is used under the hood by the table instruction. Signed-off-by: Cristian Dumitrescu Signed-off-by: Churchill Khangar --- doc/api/doxy-api-index.md | 1 + examples/pipeline/obj.c | 8 + lib/librte_table/m

[dpdk-dev] [PATCH v2 4/5] table: add table entry priority

2021-02-16 Thread Cristian Dumitrescu
Add support for table entry priority, which is required for the wildcard match/ACL table type. Signed-off-by: Cristian Dumitrescu --- lib/librte_pipeline/rte_swx_ctl.c | 27 +++ lib/librte_table/rte_swx_table.h | 9 + 2 files changed, 36 insertions(+) diff --gi

Re: [dpdk-dev] [PATCH] eal: support using 0 as coremask for no-affinitization

2021-02-16 Thread Van Haaren, Harry
> -Original Message- > From: Bruce Richardson > Sent: Tuesday, February 16, 2021 5:31 PM > To: Van Haaren, Harry > Cc: Burakov, Anatoly ; dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH] eal: support using 0 as coremask for no- > affinitization > > On Tue, Feb 16, 2021 at 05:22:25PM +,

Re: [dpdk-dev] [PATCH] eal: support using 0 as coremask for no-affinitization

2021-02-16 Thread Bruce Richardson
On Tue, Feb 16, 2021 at 05:22:25PM +, Van Haaren, Harry wrote: > > -Original Message- > > From: Burakov, Anatoly > > Sent: Tuesday, February 16, 2021 10:53 AM > > To: Richardson, Bruce ; Van Haaren, Harry > > > > Cc: dev@dpdk.org > > Subject: Re: [dpdk-dev] [PATCH] eal: support using

Re: [dpdk-dev] [PATCH] eal: support using 0 as coremask for no-affinitization

2021-02-16 Thread Van Haaren, Harry
> -Original Message- > From: Burakov, Anatoly > Sent: Tuesday, February 16, 2021 10:53 AM > To: Richardson, Bruce ; Van Haaren, Harry > > Cc: dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH] eal: support using 0 as coremask for no- > affinitization > > On 16-Feb-21 10:46 AM, Bruce Richards

Re: [dpdk-dev] [PATCH v6 8/9] ethdev: representor iterator compare complete info

2021-02-16 Thread Xueming(Steven) Li
>-Original Message- >From: Andrew Rybchenko >Sent: Monday, February 15, 2021 5:32 PM >To: Xueming(Steven) Li >Cc: dev@dpdk.org; Slava Ovsiienko ; Asaf Penso >; NBU-Contact-Thomas Monjalon >; Ferruh Yigit ; Ray Kinsella >; Neil Horman > >Subject: Re: [PATCH v6 8/9] ethdev: representor i

[dpdk-dev] [PATCH v2] eal: fix querying DPDK version at runtime

2021-02-16 Thread Bruce Richardson
For using a DPDK application, such as OVS, which is dynamically linked, the DPDK version in use should always report the actual version, not the version used at build time. This incorrect behaviour can be seen by building OVS against one version of DPDK and running it against a later one. Using "ov

Re: [dpdk-dev] [PATCH v6 7/9] ethdev: new API to get representor info

2021-02-16 Thread Xueming(Steven) Li
>-Original Message- >From: Andrew Rybchenko >Sent: Monday, February 15, 2021 4:50 PM >To: Xueming(Steven) Li >Cc: dev@dpdk.org; Slava Ovsiienko ; Asaf Penso >; NBU-Contact-Thomas Monjalon >; Ferruh Yigit ; Ray Kinsella >; Neil Horman > >Subject: Re: [PATCH v6 7/9] ethdev: new API to ge

Re: [dpdk-dev] [PATCH v6 5/9] ethdev: support PF index in representor

2021-02-16 Thread Xueming(Steven) Li
>-Original Message- >From: Andrew Rybchenko >Sent: Monday, February 15, 2021 4:35 PM >To: Xueming(Steven) Li >Cc: dev@dpdk.org; Slava Ovsiienko ; Asaf Penso >; NBU-Contact-Thomas Monjalon >; Ferruh Yigit >Subject: Re: [PATCH v6 5/9] ethdev: support PF index in representor > >On 2/14/21

Re: [dpdk-dev] [PATCH v8 0/3] fix issue with partial DMA unmap

2021-02-16 Thread Burakov, Anatoly
On 15-Jan-21 7:32 AM, Nithin Dabilpuram wrote: Partial DMA unmap is not supported by VFIO type1 IOMMU in Linux. Though the return value is zero, the returned DMA unmap size is not same as expected size. So add test case and fix to both heap triggered DMA mapping and user triggered DMA mapping/unm

Re: [dpdk-dev] [PATCH v4] doc: add new tables for rte flow items and actions support

2021-02-16 Thread Ferruh Yigit
On 2/7/2021 10:52 AM, Asaf Penso wrote: In http://doc.dpdk.org/guides/nics/overview.html, table 1.1 lists all supported features. It has a single line for "Flow API" that refers to rte_flow support. rte_flow is composed of many items and actions that are not expressed in this single line. The fo

Re: [dpdk-dev] [PATCH v2] usertools/dpdk-telemetry: print name of app when connected

2021-02-16 Thread Burakov, Anatoly
On 16-Feb-21 11:39 AM, Bruce Richardson wrote: When the dpdk-telemetry client connects to a DPDK instance, we can use the PID provided in the initial connection message to query from /proc the name of the process we are connected to, and display that to the user. We use the "cmdline" procfs entry

[dpdk-dev] [PATCH v3] usertools/dpdk-telemetry: add file-prefix cmdline argument

2021-02-16 Thread Kevin Laatz
Currently the dpdk-telemetry.py script connects to all running DPDK apps consecutively. With the addition of this file-prefix argument, we can limit the amount of information returned providing improved consumability and precision to the user. Signed-off-by: Kevin Laatz Reviewed-by: Bruce Richar

[dpdk-dev] [PATCH v2] usertools/dpdk-telemetry: print name of app when connected

2021-02-16 Thread Bruce Richardson
When the dpdk-telemetry client connects to a DPDK instance, we can use the PID provided in the initial connection message to query from /proc the name of the process we are connected to, and display that to the user. We use the "cmdline" procfs entry for the query since that is available on both Li

Re: [dpdk-dev] [PATCH] usertools/dpdk-telemetry: print name of app when connected

2021-02-16 Thread Burakov, Anatoly
On 16-Feb-21 11:02 AM, Bruce Richardson wrote: On Tue, Feb 16, 2021 at 10:40:36AM +, Burakov, Anatoly wrote: On 16-Feb-21 9:44 AM, Bruce Richardson wrote: When the dpdk-telemetry client connects to a DPDK instance, we can use the PID provided in the initial connection message to query from

[dpdk-dev] [PATCH v2] usertools/dpdk-telemetry: add file-prefix cmdline argument

2021-02-16 Thread Kevin Laatz
Currently the dpdk-telemetry.py script connects to all running DPDK apps consecutively. With the addition of this file-prefix argument, we can limit the amount of information returned providing improved consumability and precision to the user. Signed-off-by: Kevin Laatz Reviewed-by: Bruce Richar

Re: [dpdk-dev] [PATCH] usertools/dpdk-telemetry: print name of app when connected

2021-02-16 Thread Bruce Richardson
On Tue, Feb 16, 2021 at 10:40:36AM +, Burakov, Anatoly wrote: > On 16-Feb-21 9:44 AM, Bruce Richardson wrote: > > When the dpdk-telemetry client connects to a DPDK instance, we can use the > > PID provided in the initial connection message to query from /proc the name > > of the process we are

Re: [dpdk-dev] [PATCH] eal: support using 0 as coremask for no-affinitization

2021-02-16 Thread Burakov, Anatoly
On 16-Feb-21 10:46 AM, Bruce Richardson wrote: On Tue, Feb 16, 2021 at 10:36:13AM +, Burakov, Anatoly wrote: On 16-Feb-21 9:43 AM, Bruce Richardson wrote: Allow the user to specify that they don't want any core pinning from DPDK by passing in the coremask of 0. --- I haven't checked what

Re: [dpdk-dev] [PATCH] eal: support using 0 as coremask for no-affinitization

2021-02-16 Thread Bruce Richardson
On Tue, Feb 16, 2021 at 10:36:13AM +, Burakov, Anatoly wrote: > On 16-Feb-21 9:43 AM, Bruce Richardson wrote: > > Allow the user to specify that they don't want any core pinning from DPDK > > by passing in the coremask of 0. > > --- > > I haven't checked what happens yet, but down the line we

Re: [dpdk-dev] [PATCH] usertools/dpdk-telemetry: add file-prefix cmdline argument

2021-02-16 Thread Burakov, Anatoly
On 15-Feb-21 3:50 PM, Kevin Laatz wrote: Currently the dpdk-telemetry.py script connects to all running DPDK apps consecutively. With the addition of this file-prefix argument, we can limit the amount of information returned providing improved consumability and precision to the user. Signed-off

Re: [dpdk-dev] [PATCH] usertools/dpdk-telemetry: print name of app when connected

2021-02-16 Thread Burakov, Anatoly
On 16-Feb-21 9:44 AM, Bruce Richardson wrote: When the dpdk-telemetry client connects to a DPDK instance, we can use the PID provided in the initial connection message to query from /proc the name of the process we are connected to, and display that to the user. We use the "cmdline" procfs entry

Re: [dpdk-dev] [PATCH] version: 21.05-rc0

2021-02-16 Thread Thomas Monjalon
15/02/2021 10:33, David Marchand: > On Mon, Feb 15, 2021 at 10:14 AM Thomas Monjalon wrote: > > > > Start a new release cycle with empty release notes. > > > > Signed-off-by: Thomas Monjalon > > Acked-by: David Marchand Applied

Re: [dpdk-dev] [PATCH] eal: support using 0 as coremask for no-affinitization

2021-02-16 Thread Burakov, Anatoly
On 16-Feb-21 9:43 AM, Bruce Richardson wrote: Allow the user to specify that they don't want any core pinning from DPDK by passing in the coremask of 0. --- I haven't checked what happens yet, but down the line we also set affinity for service cores as well as interrupt thread. what would be

Re: [dpdk-dev] [PATCH] eal: support using 0 as coremask for no-affinitization

2021-02-16 Thread Bruce Richardson
On Tue, Feb 16, 2021 at 09:43:00AM +, Bruce Richardson wrote: > Allow the user to specify that they don't want any core pinning from DPDK > by passing in the coremask of 0. > --- Apologies, missed my signoff, will add in V2, but will wait for feedback on this V1 first. /Bruce

[dpdk-dev] [PATCH] usertools/dpdk-telemetry: print name of app when connected

2021-02-16 Thread Bruce Richardson
When the dpdk-telemetry client connects to a DPDK instance, we can use the PID provided in the initial connection message to query from /proc the name of the process we are connected to, and display that to the user. We use the "cmdline" procfs entry for the query since that is available on both Li

[dpdk-dev] [PATCH] eal: support using 0 as coremask for no-affinitization

2021-02-16 Thread Bruce Richardson
Allow the user to specify that they don't want any core pinning from DPDK by passing in the coremask of 0. --- lib/librte_eal/common/eal_common_options.c | 18 +++--- lib/librte_eal/common/eal_internal_cfg.h | 1 + lib/librte_eal/freebsd/eal.c | 5 +++-- lib/librte_ea

Re: [dpdk-dev] [PATCH v6 4/9] ethdev: support sub function representor

2021-02-16 Thread Xueming(Steven) Li
>-Original Message- >From: Andrew Rybchenko >Sent: Monday, February 15, 2021 4:26 PM >To: Xueming(Steven) Li >Cc: dev@dpdk.org; Slava Ovsiienko ; Asaf Penso >; NBU-Contact-Thomas Monjalon >; Ferruh Yigit >Subject: Re: [PATCH v6 4/9] ethdev: support sub function representor > >Hi, > >O