Re: [PATCH 10/16] net/sfc: fix use-after-free warning messages

2024-09-28 Thread Ivan Malov
Reviewed-by: Ivan Malov Thank you. On Fri, 27 Sep 2024, Stephen Hemminger wrote: If compiler detection of use-after-free is enabled then this drivers debug messages will cause warnings. Change to move debug message before the object is freed. Bugzilla ID: 1551 Fixes: 55c1238246d5 ("ne

[v24.11 PATCH v1] net/sfc: allow for use of indirect counter in tunnel offload

2024-07-29 Thread Ivan Malov
Support the use of indirect counters in so-called SWITCH rules (second stage lookup and steering after supposed decapsulation) in tunnel offload. An indirect counter can either come instead of an inline counter or, when the latter is a conntrack-assisted counter, follow it. Signed-off-by: Ivan

RE: question about eth and vlan item in flow pattern

2024-04-24 Thread Ivan Malov
Hi, On Wed, 24 Apr 2024, Dariusz Sosnowski wrote: -Original Message- From: Ivan Malov Sent: Tuesday, April 23, 2024 13:44 To: Jie Hai Cc: Yuying Zhang ; Aman Singh ; NBU-Contact-Thomas Monjalon (EXTERNAL) ; ferruh.yi...@amd.com >> Ferruh Yigit ; andrew.rybche...@oktetlabs.r

Re: question about eth and vlan item in flow pattern

2024-04-23 Thread Ivan Malov
Hi, Please see below. On Tue, 23 Apr 2024, Jie Hai wrote: Hi, Ivan Malov, Sorry for the late reply. On 2024/4/10 21:19, Ivan Malov wrote: Hi Jie, Consider the following examples: 1) flow create 0 ingress pattern eth / ipv4 proto is 17 / udp / end \    actions queue index 1 / end 2) flow

Re: question about eth and vlan item in flow pattern

2024-04-10 Thread Ivan Malov
Hi Jie, Consider the following examples: 1) flow create 0 ingress pattern eth / ipv4 proto is 17 / udp / end \ actions queue index 1 / end 2) flow create 0 ingress pattern eth / ipv4 / udp / end \ actions queue index 1 / end Generally speaking, these two rules might be equivalent, with "pr

RE: [RFC] ethdev: fast path async flow API

2024-01-03 Thread Ivan Malov
Hi Dariusz, I appreciate your response. All to the point. I have to confess my question was inspired by the 23.11 merge commit in OVS mailing list. I first thought that an obvious consumer for the async flow API could have been OVS but saw no usage of it in the current code. It was my impression

RE: [RFC] ethdev: fast path async flow API

2023-12-28 Thread Ivan Malov
Hi Dariusz, I appreciate the proposal. You say that a reference PMD implementation will be made available for 24.03 release. What about the applications? Is this supposed to go to upstream code of some applications? Thank you. On Thu, 28 Dec 2023, Dariusz Sosnowski wrote: Hi Stephen, +/** +

Re: BUILD bug hidden in SFC driver.

2023-11-13 Thread Ivan Malov
Hi Stephen, On Sat, 11 Nov 2023, Stephen Hemminger wrote: While examining the use of VLA in DPDK, ran into a bug in sfc driver. If DPDK is built with -Wvla, then the RTE_BUILD_BUG_ON() macro won't work as written. Experimenting with a better more portable version of that macro as: #def

Re: [PATCH v2 14/16] app/testpmd: verify strdup return value

2023-11-10 Thread Ivan Malov
strdup(str); + if (str2 == NULL) + return nb_item; cur = strtok_r(str2, ",", &tmp); while (cur != NULL) { parsed_items[nb_item] = get_ptype(cur); -- 2.17.1 Acked-by: Ivan Malov Thank you.

Re: [PATCH v1 1/3] app/testpmd: fix random value to set tunnel TSO

2023-11-10 Thread Ivan Malov
Hi, (minor question below) On Fri, 10 Nov 2023, Huisong Li wrote: Currently, testpmd set tunnel TSO offload even if fail to get dev_info. In this case, the 'tx_offload_capa' in dev_info is a random value, Fixes: 6f51deb903b2 ("app/testpmd: check status of getting ethdev info") Cc: sta...@dpdk

Re: [PATCH v5 1/3] ethdev: introduce maximum Rx buffer size

2023-11-03 Thread Ivan Malov
l be UINT32_MAX. +*/ + uint32_t max_rx_bufsize; uint32_t max_rx_pktlen; /**< Maximum configurable length of Rx pkt. */ /** Maximum configurable size of LRO aggregated packet. */ uint32_t max_lro_pkt_size; -- 2.33.0 Other than that, Acked-by: Ivan Malov Thank you.

Re: [PATCH] net/sfc: support packet replay in transfer flows

2023-09-29 Thread Ivan Malov
On Sat, 30 Sep 2023, Andrew Rybchenko wrote: On 9/27/23 13:36, Ivan Malov wrote: Packet replay enables users to leverage multiple counters in one flow and allows to request delivery to multiple ports. A given flow rule may use either one inline count action and multiple indirect counters or

[PATCH] net/sfc: support packet replay in transfer flows

2023-09-27 Thread Ivan Malov
create action_id 239 transfer action count / end flow create 0 transfer pattern represented_port ethdev_port_id is 0 / end \ actions indirect 239 / port_representor port_id 0 / indirect 239 / \ port_representor port_id 1 / end and the likes. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton

[RFC v3] net/sfc: support packet replay in transfer flows

2023-08-31 Thread Ivan Malov
create action_id 239 transfer action count / end flow create 0 transfer pattern represented_port ethdev_port_id is 0 / end \ actions indirect 239 / port_representor port_id 0 / indirect 239 / \ port_representor port_id 1 / end and the likes. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton

Re: [PATCH v1 0/2] ethdev: add random item support

2023-08-22 Thread Ivan Malov
Hi Michael, Very interesting proposal. However, could you please provide a use case example for this feature and also provide an example of where such value could come from, theoretically. Thank you. On Tue, 22 Aug 2023, Michael Baum wrote: Add support for matching random value using new "rte

[RFC v2] net/sfc: support packet replay in transfer flows

2023-08-11 Thread Ivan Malov
create action_id 239 transfer action count / end flow create 0 transfer pattern represented_port ethdev_port_id is 0 / end \ actions indirect 239 / port_representor port_id 0 / indirect 239 / \ port_representor port_id 1 / end and the likes. Signed-off-by: Ivan Malov Tested-by: Denis

[RFC] net/sfc: support packet replay in transfer flows

2023-08-10 Thread Ivan Malov
create action_id 239 transfer action count / end flow create 0 transfer pattern represented_port ethdev_port_id is 0 / end \ actions indirect 239 / port_representor port_id 0 / indirect 239 / \ port_representor port_id 1 / end and the likes. Signed-off-by: Ivan Malov --- doc/guides/rel_notes

[PATCH 1/2] net/sfc: offer indirect VXLAN encap action in transfer flows

2023-08-10 Thread Ivan Malov
Parsing inline action VXLAN_ENCAP repeating in many flows is expensive, so offer support for its indirect version. Query operation is not supported for this action. The next patch will add a means to update the encapsulation header data. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton

[PATCH 2/2] net/sfc: support updating indirect VXLAN encap action

2023-08-10 Thread Ivan Malov
Such updates are helpful as they let applications avoid costly flow re-insertions when the header data changes. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/common/sfc_efx/base/efx.h | 9 +++ drivers/common/sfc_efx/base/efx_mae.c | 80 drivers

[PATCH 1/1] net/sfc: add missing error code indication to MAE init path

2023-08-10 Thread Ivan Malov
A failure to allocate a bounce buffer for encap. header parsing results in falling to the error path but does not set an appropriate error code. Fix this. Fixes: 1bbd1ec2348a ("net/sfc: support action VXLAN encap in MAE backend") Cc: sta...@dpdk.org Signed-off-by: Ivan Malov Reviewe

RE: [RFC] ethdev: add group set miss actions API

2023-08-08 Thread Ivan Malov
Hi Tomer, OK, let's see what others will say. Minor comment below. On Tue, 8 Aug 2023, Tomer Shmilovich wrote: Hi Ivan, please see inline comments. Thanks, Tomer -Original Message- From: Ivan Malov Sent: Tuesday, 8 August 2023 2:03 To: Tomer Shmilovich Cc: Ori Kam ; NBU-Co

Re: [RFC] ethdev: add group set miss actions API

2023-08-07 Thread Ivan Malov
Hi Tomer, This is a good proposal overall, but it's a bit questionable with regard to the transfer domain and precisely group 0. Say, the user starts a DPDK application and plugs a PF to it, also plugs a representor for a VF. If I'm not mistaken, in this case, default behaviour is hardly "undefi

Re: [PATCH] ethdev: add new symmetric hash function

2023-08-07 Thread Ivan Malov
Hi, Please see my notes below. On Mon, 7 Aug 2023, Xueming Li wrote: The new symmetric hash function swap src/dst L3 address and L4 ports automatically by sorting. Signed-off-by: Xueming Li --- lib/ethdev/rte_flow.h | 5 + 1 file changed, 5 insertions(+) diff --git a/lib/ethdev/rte_flow.

Re: [RFC] ethdev: clarify device queue state after start and stop

2023-07-21 Thread Ivan Malov
Hi Ferruh, PSB Thank you. On Fri, 21 Jul 2023, Ferruh Yigit wrote: Drivers start/stop device queues on port start/stop, but not all drivers update queue state accordingly. This becomes more visible if a specific queue stopped explicitly and port stopped/started later, in this case although a

Re: [RFC] ethdev: clarify device queue state after start and stop

2023-07-21 Thread Ivan Malov
Hi Ferruh, The commit log says "commit [1]" and "commit [2]" but does not seem to provide the URLs for the [1] and [2]. What are these resources? I'd like to know. Thank you. On Fri, 21 Jul 2023, Ferruh Yigit wrote: Drivers start/stop device queues on port start/stop, but not all drivers upda

Re: [PATCH] mailmap: update contributor entry

2023-07-20 Thread Ivan Malov
PING On Tue, 13 Jun 2023, Ivan Malov wrote: Signed-off-by: Ivan Malov --- .mailmap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.mailmap b/.mailmap index 8e3940a253..d97cdc670c 100644 --- a/.mailmap +++ b/.mailmap @@ -105,7 +105,7 @@ Andriy Berestovskyy Andrzej

[PATCH 1/1] net/sfc: add explicit fail path for unknown tunnel flow type

2023-07-14 Thread Ivan Malov
ned-off-by: Ivan Malov --- drivers/net/sfc/sfc_mae.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/net/sfc/sfc_mae.c b/drivers/net/sfc/sfc_mae.c index 60a54fd425..f5fe55b46f 100644 --- a/drivers/net/sfc/sfc_mae.c +++ b/drivers/net/sfc/sfc_mae.c @@ -3460,

[PATCH 1/1] net/sfc: drop redundant null check from IPv4 flow item parse

2023-07-13 Thread Ivan Malov
Such check is already done at an earlier point, in sfc_flow_parse_pattern(), so remove it from IPv4 item parser. Doing so should fix Coverity issue. Coverity issue: 395526 Fixes: f79ce621e963 ("net/sfc: support IPv4 fragment matching in transfer rules") Cc: sta...@dpdk.org Signed-of

Re: [PATCH v8 2/4] common/sfc_efx/base: add API to get installed filters count

2023-06-23 Thread Ivan Malov
On Fri, 23 Jun 2023, Artemii Morozov wrote: This API allows to get number of installed filters. This will be used in the future patches. Signed-off-by: Artemii Morozov Acked-by: Andrew Rybchenko Acked-by: Ivan Malov Thank you. --- drivers/common/sfc_efx/base/ef10_filter.c | 20

Re: [PATCH v4 03/34] common/sfc_efx/base: add API to list HW tables

2023-06-21 Thread Ivan Malov
ucture future patch sets, for some other features yet to be supported. Thank you. On Mon, 19 Jun 2023, Ferruh Yigit wrote: On 6/7/2023 2:02 PM, Ivan Malov wrote: From: Denis Pryazhennikov New MCDI Table Access API allows management of the HW tables' content. This part of API helps to list a

[PATCH] mailmap: update contributor entry

2023-06-13 Thread Ivan Malov
Signed-off-by: Ivan Malov --- .mailmap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.mailmap b/.mailmap index 8e3940a253..d97cdc670c 100644 --- a/.mailmap +++ b/.mailmap @@ -105,7 +105,7 @@ Andriy Berestovskyy Andrzej Ostruszka Andy Gospodarek Andy Green -Andy

RE: [RFC] lib/ethdev: introduce table driven APIs

2023-06-12 Thread Ivan Malov
Jun 2023, Zhang, Qi Z wrote: -Original Message----- From: Ivan Malov Sent: Monday, June 12, 2023 11:33 PM To: Zhang, Qi Z Cc: tho...@monjalon.net; or...@nvidia.com; david.march...@redhat.com; Richardson, Bruce ; jer...@marvell.com; ferruh.yi...@amd.com; Mcnamara, John ; Zhang, Helin ; tec

Re: [RFC] lib/ethdev: introduce table driven APIs

2023-06-12 Thread Ivan Malov
Hi, Thanks for sending the RFC. Sounds interesting. My impression is that this API is rather low-level, so the question is how does the application find a vendor-neutral approach to discover and use specific table to do some job? For example, the application needs to do some tunnel match and de

[PATCH v4 34/34] net/sfc: use conntrack assistance counters in transfer flows

2023-06-07 Thread Ivan Malov
These are 1-bit saturating counters which can only be useful to tell whether a given flow rule has offloaded some packets since the last query. Byte count is never provided for these. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_flow.h| 2 + drivers/net

[PATCH v4 33/34] common/sfc_efx/base: support conntrack assistance counters

2023-06-07 Thread Ivan Malov
Counters that can be referenced by HW conntrack assistance table work similar to those of the action rules. However, their IDs belong to a separate (CT-specific) namespace. These are 1-bit saturating counters with no byte count. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers

[PATCH v4 32/34] net/sfc: indicate MAE counter type in use for transfer flows

2023-06-07 Thread Ivan Malov
Doing so assists adding support for additional counter types. Current implementation is only aware of action rule counters that are supported by the match-action engine (MAE) on EF100 NICs, but MAE may also support conntrack assistance counters. Signed-off-by: Ivan Malov Reviewed-by: Andy

[PATCH v4 31/34] common/sfc_efx/base: rework MAE counter provisioning helpers

2023-06-07 Thread Ivan Malov
of counter limits accordingly. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/common/sfc_efx/base/efx.h | 39 +++- drivers/common/sfc_efx/base/efx_impl.h | 2 +- drivers/common/sfc_efx/base/efx_mae.c | 120 - drivers/common/sfc_efx

[PATCH v4 30/34] net/sfc: support indirect count action in transfer flows

2023-06-07 Thread Ivan Malov
Indirect count action is useful to applications that need to gather aggregated statistics for many flows. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- doc/guides/nics/sfc_efx.rst| 2 + doc/guides/rel_notes/release_23_07.rst | 3 + drivers/net/sfc/sfc.h

[PATCH v4 29/34] net/sfc: rework MAE action rule counter representation in SW

2023-06-07 Thread Ivan Malov
and naming. But HW support for the feature is no longer planned in EF100. The code also assumes that a counter object cannot be shared. This assumption is outdated. The driver may support this now via action of type INDIRECT provided by generic flow library. Signed-off-by: Ivan Malov Reviewed-by

[PATCH v4 28/34] net/sfc: rename SW structures used by transfer flow counters

2023-06-07 Thread Ivan Malov
Doing so facilitates rearrangements of the next patch needed to make software counter objects shareable across many flows. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_mae.c | 14 +++--- drivers/net/sfc/sfc_mae.h | 14

[PATCH v4 27/34] net/sfc: add support for IPv4 NAT offload to MAE backend

2023-06-07 Thread Ivan Malov
when the target header is an IPv4-based one. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- doc/guides/nics/features/sfc.ini | 4 ++ doc/guides/nics/sfc_efx.rst| 8 +++ doc/guides/rel_notes/release_23_07.rst | 15 + drivers/net/sfc/sfc_mae.c | 77

[PATCH v4 26/34] common/sfc_efx/base: support NAT edits in MAE

2023-06-07 Thread Ivan Malov
NAT goes after IP TTL decrement. It can operate on the outermost frame only. In the case of prior decapsulation, that maps to the frame which was (originally) the inner one. Input data for the action comes from the response of the HW conntrack assistance table hit. Signed-off-by: Ivan Malov

[PATCH v4 25/34] net/sfc: make use of conntrack assistance for transfer flows

2023-06-07 Thread Ivan Malov
likelihood of reusing AR entries and improves the total flow engine capacity. Make use of that. NAT and CT counters will be supported later. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_flow.h | 4 + drivers/net/sfc/sfc_mae.c | 314

[PATCH v4 24/34] common/sfc_efx/base: add API to request MAE conntrack lookup

2023-06-07 Thread Ivan Malov
Such can be initiated when a packet hits an outer rule. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/common/sfc_efx/base/efx.h | 9 + drivers/common/sfc_efx/base/efx_impl.h | 1 + drivers/common/sfc_efx/base/efx_mae.c | 26 ++ drivers

[PATCH v4 23/34] common/sfc_efx/base: match on conntrack mark in action rules

2023-06-07 Thread Ivan Malov
EF100 match-action engine (MAE) has conntrack assistance table. A hit in this table can provide a mark value for the following lookup stage, which is action rule lookup. Provide support for setting match on conntrack mark. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/common

[PATCH v4 22/34] common/sfc_efx/base: add API to read back MAE match criteria

2023-06-07 Thread Ivan Malov
criteria will make a neat solution to keep the implementation less complex. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/common/sfc_efx/base/efx.h | 10 ++ drivers/common/sfc_efx/base/efx_mae.c | 131 ++ drivers/common/sfc_efx/version.map| 1 + 3

[PATCH v4 21/34] common/sfc_efx/base: provide an API to clone MAE match specs

2023-06-07 Thread Ivan Malov
preferred over maintaining DPDK-level structures because the resulting code is easier on eyes and less prone to errors in this case. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/common/sfc_efx/base/efx.h | 7 +++ drivers/common/sfc_efx/base/efx_mae.c | 26

[PATCH v4 20/34] net/sfc: turn MAE flow action rules into shareable resources

2023-06-07 Thread Ivan Malov
capacity. To prepare for that, action rules of the match-action engine have to be turned into shareable objects, from SW standpoint. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_flow.c | 4 +- drivers/net/sfc/sfc_flow.h | 13 +- drivers/net/sfc/sfc_mae.c | 362

[PATCH v4 19/34] net/sfc: prepare MAE outer rules for action rule indirection

2023-06-07 Thread Ivan Malov
disable. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_mae.c | 44 --- 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/drivers/net/sfc/sfc_mae.c b/drivers/net/sfc/sfc_mae.c index 37292f5d7c..624be53269 100644

[PATCH v4 18/34] net/sfc: move MAE counter stream start to action set handler

2023-06-07 Thread Ivan Malov
Logically, starting flow counter streaming belongs in action set enable path. Move it there as a preparation step for the patch that will make action rules shareable by several flows. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_mae.c | 22

[PATCH v4 17/34] net/sfc: move MAE flow parsing method to MAE-specific source

2023-06-07 Thread Ivan Malov
Doing so will facilitate easier code restructure in the next patches required to rework flow housekeeping and indirection. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_flow.c | 47 +- drivers/net/sfc/sfc_mae.c | 58

[PATCH v4 16/34] net/sfc: switch driver-internal flows to use generic methods

2023-06-07 Thread Ivan Malov
conntrack table. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_mae.c| 186 +++ drivers/net/sfc/sfc_mae.h| 51 ++--- drivers/net/sfc/sfc_repr_proxy.c | 38 ++- drivers/net/sfc/sfc_repr_proxy.h | 2 +- 4 files changed

[PATCH v4 15/34] net/sfc: extend generic flow API to allow for internal flows

2023-06-07 Thread Ivan Malov
At the moment, driver-internal flow rules are provisioned by functions that are separate from the generic flow management framework. In order to use the latter for such rules, extend it accordingly. This will be actually used in the next patch. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton

[PATCH v4 14/34] net/sfc: let driver-internal flows use VF representor action

2023-06-07 Thread Ivan Malov
. They all sit on the same (representor proxy) m-port, while demultiplexing of traffic uses ingress (VF) m-port value in packet metadata. Traffic from arbitrary sources cannot be identified this way. But, for VF traffic, it should be right to make an exception. Signed-off-by: Ivan Malov Revie

[PATCH v4 13/34] net/sfc: turn flow create/destroy methods into lock wrappers

2023-06-07 Thread Ivan Malov
Doing so is useful to facilitate driver-internal flow rework. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_flow.c | 42 ++ drivers/net/sfc/sfc_flow.h | 9 2 files changed, 42 insertions(+), 9 deletions(-) diff --git

[PATCH v4 12/34] net/sfc: make entry pointer optional in MAE resource helpers

2023-06-07 Thread Ivan Malov
Keep NULL object check in one place rather than repeat it in all of the callers. That should make the code easier on eyes. Future code for additional object types will follow this way. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_mae.c | 78

[PATCH v4 11/34] net/sfc: add API to manage HW Conntrack table

2023-06-07 Thread Ivan Malov
From: Denis Pryazhennikov The new API allows to manipulate entries in the HW Conntrack table. It uses a new Table Access API as a backend. Signed-off-by: Denis Pryazhennikov Reviewed-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/meson.build | 1 + drivers/net/sfc

[PATCH v4 10/34] net/sfc: attach to HW table API

2023-06-07 Thread Ivan Malov
Reviewed-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/meson.build | 4 +- drivers/net/sfc/sfc.c| 18 +- drivers/net/sfc/sfc.h| 2 + drivers/net/sfc/sfc_tbl_meta.c | 71 drivers/net/sfc/sfc_tbl_meta.h | 37 drivers

[PATCH v4 09/34] net/sfc: add functions to manipulate MCDI table fields

2023-06-07 Thread Ivan Malov
From: Denis Pryazhennikov Implemented functions that help to fill user data for manipulation with HW tables in the required format. Signed-off-by: Denis Pryazhennikov Reviewed-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/meson.build | 1 + drivers/net/sfc/sfc_tbls.c | 147

[PATCH v4 08/34] net/sfc: add MCDI wrappers for BCAM tables

2023-06-07 Thread Ivan Malov
than one matches. BCAM tables don't support "mask" and "priority", so the corresponding fields must be zeroed. Signed-off-by: Denis Pryazhennikov Reviewed-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_tbls.h | 69 ++ 1

[PATCH v4 07/34] common/sfc_efx/base: add API to delete entry from HW table

2023-06-07 Thread Ivan Malov
From: Denis Pryazhennikov API allows to delete entry from any supported HW table. Signed-off-by: Denis Pryazhennikov Reviewed-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/common/sfc_efx/base/efx.h | 11 drivers/common/sfc_efx/base/efx_table.c | 77

[PATCH v4 06/34] common/sfc_efx/base: add API to insert data to HW table

2023-06-07 Thread Ivan Malov
From: Denis Pryazhennikov API allows to insert data to any supported HW table. Signed-off-by: Denis Pryazhennikov Reviewed-by: Ivan Malov Reviewed-by: Viacheslav Galaktionov Reviewed-by: Andy Moreton --- drivers/common/sfc_efx/base/efx.h | 16 + drivers/common/sfc_efx/base

[PATCH v4 05/34] common/sfc_efx/base: add API to get HW table desc

2023-06-07 Thread Ivan Malov
From: Denis Pryazhennikov Table's descriptor and fields' descriptors can be taken by table ID using a new API. In the near future, only the CT table is planned to be used, so only fields that are required for these purposes were added to the efx. Signed-off-by: Denis Pryazhennikov Reviewed-by:

[PATCH v4 04/34] common/sfc_efx/base: add macro to get indexed QWORD field

2023-06-07 Thread Ivan Malov
From: Denis Pryazhennikov Extend MCDI macros to manipulate with fields in indexed QWORDs. Signed-off-by: Denis Pryazhennikov Reviewed-by: Ivan Malov Reviewed-by: Viacheslav Galaktionov --- drivers/common/sfc_efx/base/efx_mcdi.h | 4 1 file changed, 4 insertions(+) diff --git a/drivers

[PATCH v4 03/34] common/sfc_efx/base: add API to list HW tables

2023-06-07 Thread Ivan Malov
From: Denis Pryazhennikov New MCDI Table Access API allows management of the HW tables' content. This part of API helps to list all supported tables. In the near future, only the CT table is planned to be used, so only one identifier for this table was added to the efx. New table IDs will be adde

[PATCH v4 02/34] common/sfc_efx/base: detect MCDI Table Access API support

2023-06-07 Thread Ivan Malov
From: Denis Pryazhennikov Future patches will add an implementation of MCDI Table Access API in libefx. This patch adds a way to determine if this API is supported. Signed-off-by: Denis Pryazhennikov Reviewed-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/common/sfc_efx/base/efx.h

[PATCH v4 00/34] net/sfc: support HW conntrack assistance

2023-06-07 Thread Ivan Malov
functions to manipulate MCDI table fields net/sfc: attach to HW table API net/sfc: add API to manage HW Conntrack table Ivan Malov (23): net/sfc: make entry pointer optional in MAE resource helpers net/sfc: turn flow create/destroy methods into lock wrappers net/sfc: let driver-internal

Re: Getting network port ID by ethdev port ID

2023-06-06 Thread Ivan Malov
Hi Stephen, On Mon, 5 Jun 2023, Stephen Hemminger wrote: On Tue, 6 Jun 2023 00:30:18 +0400 (+04) Ivan Malov wrote: Hi Stephen, Thomas, Thanks for responding. PSB. On Mon, 5 Jun 2023, Stephen Hemminger wrote: On Mon, 05 Jun 2023 18:03:14 +0200 Thomas Monjalon wrote: 05/06/2023 16:29

Re: Getting network port ID by ethdev port ID

2023-06-05 Thread Ivan Malov
Hi Stephen, Thomas, Thanks for responding. PSB. On Mon, 5 Jun 2023, Stephen Hemminger wrote: On Mon, 05 Jun 2023 18:03:14 +0200 Thomas Monjalon wrote: 05/06/2023 16:29, Ivan Malov: Sorry, I missed your question. See below. On Mon, 5 Jun 2023, Thomas Monjalon wrote: 05/06/2023 16:03

Re: Getting network port ID by ethdev port ID

2023-06-05 Thread Ivan Malov
Sorry, I missed your question. See below. On Mon, 5 Jun 2023, Thomas Monjalon wrote: 05/06/2023 16:03, Ivan Malov: Hi Thomas, Thanks for responding. Please see below. On Mon, 5 Jun 2023, Thomas Monjalon wrote: Hello, 05/06/2023 15:09, Ivan Malov: Dear community, Is there any means in

Re: Getting network port ID by ethdev port ID

2023-06-05 Thread Ivan Malov
On Mon, 5 Jun 2023, Thomas Monjalon wrote: 05/06/2023 16:03, Ivan Malov: Hi Thomas, Thanks for responding. Please see below. On Mon, 5 Jun 2023, Thomas Monjalon wrote: Hello, 05/06/2023 15:09, Ivan Malov: Dear community, Is there any means in DPDK to discover relationship between

Re: Getting network port ID by ethdev port ID

2023-06-05 Thread Ivan Malov
Hi Thomas, Thanks for responding. Please see below. On Mon, 5 Jun 2023, Thomas Monjalon wrote: Hello, 05/06/2023 15:09, Ivan Malov: Dear community, Is there any means in DPDK to discover relationship between network/physical ports of the given adapter/board and etdevs deployed in DPDK

Getting network port ID by ethdev port ID

2023-06-05 Thread Ivan Malov
Dear community, Is there any means in DPDK to discover relationship between network/physical ports of the given adapter/board and etdevs deployed in DPDK application on top of it? For example, in Linux, there are facilities like /sys/class/net//phys_port_name /sys/class/net//dev_port and d

[PATCH v3 33/34] common/sfc_efx/base: support conntrack assistance counters

2023-06-04 Thread Ivan Malov
Counters that can be referenced by HW conntrack assistance table work similar to those of the action rules. However, their IDs belong to a separate (CT-specific) namespace. These are 1-bit saturating counters with no byte count. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers

[PATCH v3 34/34] net/sfc: use conntrack assistance counters in transfer flows

2023-06-04 Thread Ivan Malov
These are 1-bit saturating counters which can only be useful to tell whether a given flow rule has offloaded some packets since the last query. Byte count is never provided for these. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_flow.h| 2 + drivers/net

[PATCH v3 32/34] net/sfc: indicate MAE counter type in use for transfer flows

2023-06-04 Thread Ivan Malov
Doing so assists adding support for additional counter types. Current implementation is only aware of action rule counters that are supported by the match-action engine (MAE) on EF100 NICs, but MAE may also support conntrack assistance counters. Signed-off-by: Ivan Malov Reviewed-by: Andy

[PATCH v3 31/34] common/sfc_efx/base: rework MAE counter provisioning helpers

2023-06-04 Thread Ivan Malov
of counter limits accordingly. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/common/sfc_efx/base/efx.h | 39 +++- drivers/common/sfc_efx/base/efx_impl.h | 2 +- drivers/common/sfc_efx/base/efx_mae.c | 120 - drivers/common/sfc_efx

[PATCH v3 29/34] net/sfc: rework MAE action rule counter representation in SW

2023-06-04 Thread Ivan Malov
and naming. But HW support for the feature is no longer planned in EF100. The code also assumes that a counter object cannot be shared. This assumption is outdated. The driver may support this now via action of type INDIRECT provided by generic flow library. Signed-off-by: Ivan Malov Reviewed-by

[PATCH v3 30/34] net/sfc: support indirect count action in transfer flows

2023-06-04 Thread Ivan Malov
Indirect count action is useful to applications that need to gather aggregated statistics for many flows. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- doc/guides/nics/sfc_efx.rst| 2 + doc/guides/rel_notes/release_23_07.rst | 3 + drivers/net/sfc/sfc.h

[PATCH v3 27/34] net/sfc: add support for IPv4 NAT offload to MAE backend

2023-06-04 Thread Ivan Malov
when the target header is an IPv4-based one. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- doc/guides/nics/features/sfc.ini | 4 ++ doc/guides/nics/sfc_efx.rst| 8 +++ doc/guides/rel_notes/release_23_07.rst | 15 + drivers/net/sfc/sfc_mae.c | 77

[PATCH v3 28/34] net/sfc: rename SW structures used by transfer flow counters

2023-06-04 Thread Ivan Malov
Doing so facilitates rearrangements of the next patch needed to make software counter objects shareable across many flows. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_mae.c | 14 +++--- drivers/net/sfc/sfc_mae.h | 14

[PATCH v3 26/34] common/sfc_efx/base: support NAT edits in MAE

2023-06-04 Thread Ivan Malov
NAT goes after IP TTL decrement. It can operate on the outermost frame only. In the case of prior decapsulation, that maps to the frame which was (originally) the inner one. Input data for the action comes from the response of the HW conntrack assistance table hit. Signed-off-by: Ivan Malov

[PATCH v3 25/34] net/sfc: make use of conntrack assistance for transfer flows

2023-06-04 Thread Ivan Malov
likelihood of reusing AR entries and improves the total flow engine capacity. Make use of that. NAT and CT counters will be supported later. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_flow.h | 4 + drivers/net/sfc/sfc_mae.c | 314

[PATCH v3 24/34] common/sfc_efx/base: add API to request MAE conntrack lookup

2023-06-04 Thread Ivan Malov
Such can be initiated when a packet hits an outer rule. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/common/sfc_efx/base/efx.h | 9 + drivers/common/sfc_efx/base/efx_impl.h | 1 + drivers/common/sfc_efx/base/efx_mae.c | 26 ++ drivers

[PATCH v3 23/34] common/sfc_efx/base: match on conntrack mark in action rules

2023-06-04 Thread Ivan Malov
EF100 match-action engine (MAE) has conntrack assistance table. A hit in this table can provide a mark value for the following lookup stage, which is action rule lookup. Provide support for setting match on conntrack mark. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/common

[PATCH v3 22/34] common/sfc_efx/base: add API to read back MAE match criteria

2023-06-04 Thread Ivan Malov
criteria will make a neat solution to keep the implementation less complex. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/common/sfc_efx/base/efx.h | 10 ++ drivers/common/sfc_efx/base/efx_mae.c | 131 ++ drivers/common/sfc_efx/version.map| 1 + 3

[PATCH v3 21/34] common/sfc_efx/base: provide an API to clone MAE match specs

2023-06-04 Thread Ivan Malov
preferred over maintaining DPDK-level structures because the resulting code is easier on eyes and less prone to errors in this case. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/common/sfc_efx/base/efx.h | 7 +++ drivers/common/sfc_efx/base/efx_mae.c | 26

[PATCH v3 20/34] net/sfc: turn MAE flow action rules into shareable resources

2023-06-04 Thread Ivan Malov
capacity. To prepare for that, action rules of the match-action engine have to be turned into shareable objects, from SW standpoint. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_flow.c | 4 +- drivers/net/sfc/sfc_flow.h | 13 +- drivers/net/sfc/sfc_mae.c | 362

[PATCH v3 19/34] net/sfc: prepare MAE outer rules for action rule indirection

2023-06-04 Thread Ivan Malov
disable. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_mae.c | 44 --- 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/drivers/net/sfc/sfc_mae.c b/drivers/net/sfc/sfc_mae.c index 37292f5d7c..624be53269 100644

[PATCH v3 18/34] net/sfc: move MAE counter stream start to action set handler

2023-06-04 Thread Ivan Malov
Logically, starting flow counter streaming belongs in action set enable path. Move it there as a preparation step for the patch that will make action rules shareable by several flows. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_mae.c | 22

[PATCH v3 17/34] net/sfc: move MAE flow parsing method to MAE-specific source

2023-06-04 Thread Ivan Malov
Doing so will facilitate easier code restructure in the next patches required to rework flow housekeeping and indirection. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_flow.c | 47 +- drivers/net/sfc/sfc_mae.c | 58

[PATCH v3 16/34] net/sfc: switch driver-internal flows to use generic methods

2023-06-04 Thread Ivan Malov
conntrack table. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_mae.c| 186 +++ drivers/net/sfc/sfc_mae.h| 51 ++--- drivers/net/sfc/sfc_repr_proxy.c | 38 ++- drivers/net/sfc/sfc_repr_proxy.h | 2 +- 4 files changed

[PATCH v3 15/34] net/sfc: extend generic flow API to allow for internal flows

2023-06-04 Thread Ivan Malov
At the moment, driver-internal flow rules are provisioned by functions that are separate from the generic flow management framework. In order to use the latter for such rules, extend it accordingly. This will be actually used in the next patch. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton

[PATCH v3 14/34] net/sfc: let driver-internal flows use VF representor action

2023-06-04 Thread Ivan Malov
. They all sit on the same (representor proxy) m-port, while demultiplexing of traffic uses ingress (VF) m-port value in packet metadata. Traffic from arbitrary sources cannot be identified this way. But, for VF traffic, it should be right to make an exception. Signed-off-by: Ivan Malov Revie

[PATCH v3 13/34] net/sfc: turn flow create/destroy methods into lock wrappers

2023-06-04 Thread Ivan Malov
Doing so is useful to facilitate driver-internal flow rework. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_flow.c | 42 ++ drivers/net/sfc/sfc_flow.h | 9 2 files changed, 42 insertions(+), 9 deletions(-) diff --git

[PATCH v3 12/34] net/sfc: make entry pointer optional in MAE resource helpers

2023-06-04 Thread Ivan Malov
Keep NULL object check in one place rather than repeat it in all of the callers. That should make the code easier on eyes. Future code for additional object types will follow this way. Signed-off-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_mae.c | 78

[PATCH v3 11/34] net/sfc: add API to manage HW Conntrack table

2023-06-04 Thread Ivan Malov
From: Denis Pryazhennikov The new API allows to manipulate entries in the HW Conntrack table. It uses a new Table Access API as a backend. Signed-off-by: Denis Pryazhennikov Reviewed-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/meson.build | 1 + drivers/net/sfc

[PATCH v3 10/34] net/sfc: attach to HW table API

2023-06-04 Thread Ivan Malov
Reviewed-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/meson.build | 4 +- drivers/net/sfc/sfc.c| 18 +- drivers/net/sfc/sfc.h| 2 + drivers/net/sfc/sfc_tbl_meta.c | 71 drivers/net/sfc/sfc_tbl_meta.h | 37 drivers

[PATCH v3 09/34] net/sfc: add functions to manipulate MCDI table fields

2023-06-04 Thread Ivan Malov
From: Denis Pryazhennikov Implemented functions that help to fill user data for manipulation with HW tables in the required format. Signed-off-by: Denis Pryazhennikov Reviewed-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/meson.build | 1 + drivers/net/sfc/sfc_tbls.c | 140

[PATCH v3 08/34] net/sfc: add MCDI wrappers for BCAM tables

2023-06-04 Thread Ivan Malov
than one matches. BCAM tables don't support "mask" and "priority", so the corresponding fields must be zeroed. Signed-off-by: Denis Pryazhennikov Reviewed-by: Ivan Malov Reviewed-by: Andy Moreton --- drivers/net/sfc/sfc_tbls.h | 69 ++ 1

  1   2   3   4   5   6   7   >