RE: [PATCH v2] ethdev: add TCP/IP modify field IDs

2023-10-10 Thread Suanming Mou
Hi, > -Original Message- > From: Ferruh Yigit > Sent: Tuesday, October 10, 2023 6:24 PM > To: Suanming Mou ; Ori Kam ; > Aman Singh ; Yuying Zhang > ; NBU-Contact-Thomas Monjalon (EXTERNAL) > ; Andrew Rybchenko > > Cc: dev@dpdk.org > Subject: Re: [PATCH

RE: [PATCH v2] ethdev: add TCP/IP modify field IDs

2023-10-11 Thread Suanming Mou
Hi, > -Original Message- > From: Suanming Mou > Sent: Wednesday, October 11, 2023 8:11 AM > To: Ferruh Yigit ; Ori Kam ; Aman > Singh ; Yuying Zhang ; > NBU-Contact-Thomas Monjalon (EXTERNAL) ; Andrew > Rybchenko > Cc: dev@dpdk.org > Subject: RE: [PATCH v2

[PATCH v3 1/2] doc: add modify_field action description

2023-10-11 Thread Suanming Mou
This commit adds the missing modify_field action description to `testpmd_funcs.rst`. Signed-off-by: Suanming Mou --- v3: add modify_field description. --- doc/guides/testpmd_app_ug/testpmd_funcs.rst | 21 + 1 file changed, 21 insertions(+) diff --git a/doc/guides

[PATCH v3 2/2] ethdev: add TCP/IP modify field IDs

2023-10-11 Thread Suanming Mou
Currently, get TCP/IP header or data length information from traffic is missing in the modify field IDs. This commit adds the missing TCP data_offset, IPv4 IHL/total_len, IPv6 payload_len to modify filed IDs. This allows users be able to manager more TCP/IP fields. Signed-off-by: Suanming Mou

[PATCH 0/3] net/mlx5: add port representor destination to mirror

2023-10-16 Thread Suanming Mou
depends on the indirect list series [1]. [1]: https://patches.dpdk.org/project/dpdk/list/?series=29662 Suanming Mou (3): net/mlx5: add port representor action net/mlx5: add port representor destination to mirror app/testpmd: add port representor as sample destination app/test-pmd

[PATCH 1/3] net/mlx5: add port representor action

2023-10-16 Thread Suanming Mou
The packets handled by port representor action will be steered to E-Switch manager and received by software. This commit adds port representor action. Signed-off-by: Suanming Mou --- doc/guides/nics/mlx5.rst| 6 drivers/net/mlx5/mlx5.h | 2 ++ drivers/net/mlx5

[PATCH 2/3] net/mlx5: add port representor destination to mirror

2023-10-16 Thread Suanming Mou
: Suanming Mou --- drivers/net/mlx5/mlx5_flow_hw.c | 19 ++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c index 9feb40ddb3..46af492ac5 100644 --- a/drivers/net/mlx5/mlx5_flow_hw.c +++ b/drivers/net

[PATCH 3/3] app/testpmd: add port representor as sample destination

2023-10-16 Thread Suanming Mou
This commit adds the missing port representor support as sample destination. Signed-off-by: Suanming Mou --- app/test-pmd/cmdline_flow.c | 1 + 1 file changed, 1 insertion(+) diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index 6c8571154e..0d521159e9 100644 --- a/app

RE: [PATCH v2 01/16] net/mlx5/hws: add support for reformat DevX object

2023-10-17 Thread Suanming Mou
Hi, > -Original Message- > From: Gregory Etelson > Sent: Tuesday, October 17, 2023 2:42 AM > To: dev@dpdk.org > Cc: Gregory Etelson ; Maayan Kashani > ; Raslan Darawsheh ; Hamdan > Igbaria ; Matan Azrad ; Slava > Ovsiienko ; Ori Kam ; Suanming > Mou > Subj

[PATCH] ethdev: fix flow action async query coverity

2023-10-17 Thread Suanming Mou
This commit adds the ops chcek to fix the coverity issue. Coverity issue: 403258 Fixes: c9dc03840873 ("ethdev: add indirect action async query") Signed-off-by: Suanming Mou --- lib/ethdev/rte_flow.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/ethdev/rte_flow.c b/

[PATCH v4 00/18] net/mlx5: HW steering PMD update

2022-10-19 Thread Suanming Mou
entor matching net/mlx5: create control flow rules with HWS Gregory Etelson (2): net/mlx5: add HW steering VLAN push, pop and VID modify flow actions net/mlx5: support flow integrity in HWS group 0 Michael Baum (1): net/mlx5: add HWS AGE action support Suanming Mou (6): net/mlx5: fix in

[PATCH v4 01/18] net/mlx5: fix invalid flow attributes

2022-10-19 Thread Suanming Mou
In the function flow_get_drv_type(), attr will be read in non-HWS mode. In case user call the HWS API in SWS mode, attr should be placed in HWS functions, or it will cause crash. Fixes: 572801ab860f ("ethdev: backport upstream rte_flow_async codes") Signed-off-by: Suanming Mou --- d

[PATCH v4 02/18] net/mlx5: fix IPv6 and TCP RSS hash fields

2022-10-19 Thread Suanming Mou
function to generate the RSS hash fields. Fixes: 6540da0b93b5 ("net/mlx5: fix RSS scaling issue") Signed-off-by: Suanming Mou --- drivers/net/mlx5/mlx5_flow_dv.c | 12 +++ drivers/net/mlx5/mlx5_flow_hw.c | 59 - 2 files changed, 62 insertions(+), 9

[PATCH v4 03/18] net/mlx5: add shared header reformat support

2022-10-19 Thread Suanming Mou
) - encap_data will change. Signed-off-by: Suanming Mou --- drivers/net/mlx5/mlx5_flow.h| 6 +- drivers/net/mlx5/mlx5_flow_hw.c | 124 ++-- 2 files changed, 39 insertions(+), 91 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow.h b/drivers/net/mlx5

[PATCH v4 04/18] net/mlx5: add modify field hws support

2022-10-19 Thread Suanming Mou
values, provided in action templates, are applied to these values before enqueueing rules for creation. Signed-off-by: Dariusz Sosnowski Signed-off-by: Suanming Mou --- drivers/common/mlx5/mlx5_prm.h | 2 + drivers/net/mlx5/linux/mlx5_os.c | 18 +- drivers/net/mlx5/mlx5.h

[PATCH v4 06/18] net/mlx5: add extended metadata mode for hardware steering

2022-10-19 Thread Suanming Mou
From: Bing Zhao The new mode 4 of devarg "dv_xmeta_en" is added for HWS only. In this mode, the Rx / Tx metadata with 32b width copy between FDB and NIC is supported. The mark is only supported in NIC and there is no copy supported. Signed-off-by: Bing Zhao --- doc/guides/nics/mlx5.rst

[PATCH v4 05/18] net/mlx5: add HW steering port action

2022-10-19 Thread Suanming Mou
From: Dariusz Sosnowski This patch implements creating and caching of port actions for use with HW Steering FDB flows. Actions are created on flow template API configuration and created only on the port designated as master. Attaching and detaching of ports in the same switching domain causes an

[PATCH v4 08/18] net/mlx5: add HW steering counter action

2022-10-19 Thread Suanming Mou
From: Xiaoyu Min This commit adds HW steering counter action support. Pool mechanism is the basic data structure for the HW steering counter. The HW steering's counter pool is based on the rte_ring of zero-copy variation. There are two global rte_rings: 1. free_list: Store the counters ind

[PATCH v4 09/18] net/mlx5: support DR action template API

2022-10-19 Thread Suanming Mou
From: Dariusz Sosnowski This patch adapts mlx5 PMD to changes in mlx5dr API regarding action templates. It changes the following: 1. Actions template creation: - Flow actions types are translated to mlx5dr action types in order to create mlx5dr_action_template object. - An offset

[PATCH v4 07/18] net/mlx5: add HW steering meter action

2022-10-19 Thread Suanming Mou
From: Alexander Kozyrev This commit adds meter action for HWS steering. HW steering meter is based on ASO. The number of meters will be used by flows should be specified in advanced in the flow configure API. Signed-off-by: Alexander Kozyrev --- drivers/net/mlx5/mlx5.h| 61 ++- d

[PATCH v4 11/18] net/mlx5: add HW steering VLAN push, pop and VID modify flow actions

2022-10-19 Thread Suanming Mou
From: Gregory Etelson Add PMD implementation for HW steering VLAN push, pop and modify flow actions. HWS VLAN push flow action is triggered by a sequence of mandatory OF_PUSH_VLAN, OF_SET_VLAN_VID and optional OF_SET_VLAN_PCP flow actions commands. The commands must be arranged in the exact orde

[PATCH v4 10/18] net/mlx5: add HW steering connection tracking support

2022-10-19 Thread Suanming Mou
single CT pool is also saved to mlx5_aso_ct_action struct directly. The ASO operation functions are shared with SW steering implementation. Signed-off-by: Suanming Mou --- drivers/net/mlx5/linux/mlx5_os.c | 8 +- drivers/net/mlx5/mlx5.c | 3 +- drivers/net/mlx5/mlx5.h | 54

[PATCH v4 12/18] net/mlx5: implement METER MARK indirect action for HWS

2022-10-19 Thread Suanming Mou
From: Alexander Kozyrev Add ability to create an indirect action handle for METER_MARK. It allows to share one Meter between several different actions. Signed-off-by: Alexander Kozyrev --- doc/guides/nics/mlx5.rst | 1 + drivers/net/mlx5/mlx5.c| 4 +- drivers/net/mlx5

[PATCH v4 14/18] net/mlx5: add async action push and pull support

2022-10-19 Thread Suanming Mou
The queue based rte_flow_async_action_* functions work same as queue based async flow functions. The operations can be pushed asynchronously, so is the pull. This commit adds the async action missing push and pull support. Signed-off-by: Suanming Mou --- drivers/net/mlx5/mlx5.h

[PATCH v4 13/18] net/mlx5: add HWS AGE action support

2022-10-19 Thread Suanming Mou
From: Michael Baum Add support for AGE action for HW steering. This patch includes: 1. Add new structures to manage the aging. 2. Initialize all them in configure function. 3. Implement per second aging check using CNT background thread. 4. Enable AGE action in flow create/destroy operations

[PATCH v4 16/18] net/mlx5: support device control for E-Switch default rule

2022-10-19 Thread Suanming Mou
From: Dariusz Sosnowski This patch adds support for fdb_def_rule_en device argument to HW Steering, which controls: - creation of default FDB jump flow rule, - ability of the user to create transfer flow rules in root table. Signed-off-by: Dariusz Sosnowski Signed-off-by: Xueming Li --- driv

[PATCH v4 15/18] net/mlx5: support flow integrity in HWS group 0

2022-10-19 Thread Suanming Mou
From: Gregory Etelson - Reformat flow integrity item translation for HWS code. - Support flow integrity bits in HWS group 0. - Update integrity item translation to match positive semantics only. Signed-off-by: Gregory Etelson --- drivers/net/mlx5/mlx5_flow.h| 1 + drivers/net/mlx5/mlx5_f

[PATCH v4 18/18] net/mlx5: create control flow rules with HWS

2022-10-19 Thread Suanming Mou
From: Dariusz Sosnowski This patch adds creation of control flow rules required to receive default traffic (based on port configuration) with HWS. Control flow rules are created on port start and destroyed on port stop. Handling of destroying these rules was already implemented before that patch

[PATCH v4 17/18] net/mlx5: support device control of representor matching

2022-10-19 Thread Suanming Mou
From: Dariusz Sosnowski In some E-Switch use cases applications want to receive all traffic on a single port. Since currently flow API does not provide a way to match traffic forwarded to any port representor, this patch adds support for controlling representor matching on ingress flow rules. Re

[PATCH v5 00/18] net/mlx5: HW steering PMD update

2022-10-19 Thread Suanming Mou
pport Suanming Mou (6): net/mlx5: fix invalid flow attributes net/mlx5: fix IPv6 and TCP RSS hash fields net/mlx5: add shared header reformat support net/mlx5: add modify field hws support net/mlx5: add HW steering connection tracking support net/mlx5: add async action push and pull support X

[PATCH v5 01/18] net/mlx5: fix invalid flow attributes

2022-10-19 Thread Suanming Mou
In the function flow_get_drv_type(), attr will be read in non-HWS mode. In case user call the HWS API in SWS mode, attr should be placed in HWS functions, or it will cause crash. Fixes: c40c061a022e ("net/mlx5: add basic flow queue operation") Signed-off-by: Suanming Mou --- driver

[PATCH v5 02/18] net/mlx5: fix IPv6 and TCP RSS hash fields

2022-10-19 Thread Suanming Mou
function to generate the RSS hash fields. Fixes: 3a2f674b6aa8 ("net/mlx5: add queue and RSS HW steering action") Signed-off-by: Suanming Mou --- drivers/net/mlx5/mlx5_flow_dv.c | 12 +++ drivers/net/mlx5/mlx5_flow_hw.c | 59 - 2 files changed, 62 insert

[PATCH v5 03/18] net/mlx5: add shared header reformat support

2022-10-19 Thread Suanming Mou
) - encap_data will change. Signed-off-by: Suanming Mou --- drivers/net/mlx5/mlx5_flow.h| 6 +- drivers/net/mlx5/mlx5_flow_hw.c | 124 ++-- 2 files changed, 39 insertions(+), 91 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow.h b/drivers/net/mlx5

[PATCH v5 05/18] net/mlx5: add HW steering port action

2022-10-19 Thread Suanming Mou
From: Dariusz Sosnowski This patch implements creating and caching of port actions for use with HW Steering FDB flows. Actions are created on flow template API configuration and created only on the port designated as master. Attaching and detaching of ports in the same switching domain causes an

[PATCH v5 06/18] net/mlx5: add extended metadata mode for hardware steering

2022-10-19 Thread Suanming Mou
From: Bing Zhao The new mode 4 of devarg "dv_xmeta_en" is added for HWS only. In this mode, the Rx / Tx metadata with 32b width copy between FDB and NIC is supported. The mark is only supported in NIC and there is no copy supported. Signed-off-by: Bing Zhao --- doc/guides/nics/mlx5.rst

[PATCH v5 04/18] net/mlx5: add modify field hws support

2022-10-19 Thread Suanming Mou
values, provided in action templates, are applied to these values before enqueueing rules for creation. Signed-off-by: Dariusz Sosnowski Signed-off-by: Suanming Mou --- doc/guides/rel_notes/release_22_11.rst | 3 +- drivers/common/mlx5/mlx5_prm.h | 2 + drivers/net/mlx5

[PATCH v5 07/18] net/mlx5: add HW steering meter action

2022-10-19 Thread Suanming Mou
From: Alexander Kozyrev This commit adds meter action for HWS steering. HW steering meter is based on ASO. The number of meters will be used by flows should be specified in advanced in the flow configure API. Signed-off-by: Alexander Kozyrev --- doc/guides/rel_notes/release_22_11.rst | 1 +

[PATCH v5 08/18] net/mlx5: add HW steering counter action

2022-10-19 Thread Suanming Mou
From: Xiaoyu Min This commit adds HW steering counter action support. Pool mechanism is the basic data structure for the HW steering counter. The HW steering's counter pool is based on the rte_ring of zero-copy variation. There are two global rte_rings: 1. free_list: Store the counters ind

[PATCH v5 10/18] net/mlx5: add HW steering connection tracking support

2022-10-19 Thread Suanming Mou
single CT pool is also saved to mlx5_aso_ct_action struct directly. The ASO operation functions are shared with SW steering implementation. Signed-off-by: Suanming Mou --- doc/guides/nics/mlx5.rst | 2 +- doc/guides/rel_notes/release_22_11.rst | 1 + drivers/net/mlx5/linux

[PATCH v5 09/18] net/mlx5: support DR action template API

2022-10-19 Thread Suanming Mou
From: Dariusz Sosnowski This patch adapts mlx5 PMD to changes in mlx5dr API regarding action templates. It changes the following: 1. Actions template creation: - Flow actions types are translated to mlx5dr action types in order to create mlx5dr_action_template object. - An offset

[PATCH v5 11/18] net/mlx5: add HW steering VLAN push, pop and VID modify flow actions

2022-10-19 Thread Suanming Mou
From: Gregory Etelson Add PMD implementation for HW steering VLAN push, pop and modify flow actions. HWS VLAN push flow action is triggered by a sequence of mandatory OF_PUSH_VLAN, OF_SET_VLAN_VID and optional OF_SET_VLAN_PCP flow actions commands. The commands must be arranged in the exact orde

[PATCH v5 13/18] net/mlx5: add HWS AGE action support

2022-10-19 Thread Suanming Mou
From: Michael Baum Add support for AGE action for HW steering. This patch includes: 1. Add new structures to manage the aging. 2. Initialize all them in configure function. 3. Implement per second aging check using CNT background thread. 4. Enable AGE action in flow create/destroy operations

[PATCH v5 12/18] net/mlx5: implement METER MARK indirect action for HWS

2022-10-19 Thread Suanming Mou
From: Alexander Kozyrev Add ability to create an indirect action handle for METER_MARK. It allows to share one Meter between several different actions. Signed-off-by: Alexander Kozyrev --- doc/guides/nics/mlx5.rst | 3 + drivers/net/mlx5/mlx5.c| 4 +- drivers/net/mlx5

[PATCH v5 14/18] net/mlx5: add async action push and pull support

2022-10-19 Thread Suanming Mou
The queue based rte_flow_async_action_* functions work same as queue based async flow functions. The operations can be pushed asynchronously, so is the pull. This commit adds the async action missing push and pull support. Signed-off-by: Suanming Mou --- drivers/net/mlx5/mlx5.h

[PATCH v5 15/18] net/mlx5: support flow integrity in HWS group 0

2022-10-19 Thread Suanming Mou
From: Gregory Etelson - Reformat flow integrity item translation for HWS code. - Support flow integrity bits in HWS group 0. - Update integrity item translation to match positive semantics only. Signed-off-by: Gregory Etelson --- drivers/net/mlx5/mlx5_flow.h| 1 + drivers/net/mlx5/mlx5_f

[PATCH v5 16/18] net/mlx5: support device control for E-Switch default rule

2022-10-19 Thread Suanming Mou
From: Dariusz Sosnowski This patch adds support for fdb_def_rule_en device argument to HW Steering, which controls: - creation of default FDB jump flow rule, - ability of the user to create transfer flow rules in root table. Signed-off-by: Dariusz Sosnowski Signed-off-by: Xueming Li --- driv

[PATCH v5 17/18] net/mlx5: support device control of representor matching

2022-10-19 Thread Suanming Mou
From: Dariusz Sosnowski In some E-Switch use cases applications want to receive all traffic on a single port. Since currently flow API does not provide a way to match traffic forwarded to any port representor, this patch adds support for controlling representor matching on ingress flow rules. Re

[PATCH v5 18/18] net/mlx5: create control flow rules with HWS

2022-10-19 Thread Suanming Mou
From: Dariusz Sosnowski This patch adds creation of control flow rules required to receive default traffic (based on port configuration) with HWS. Control flow rules are created on port start and destroyed on port stop. Handling of destroying these rules was already implemented before that patch

[PATCH v6 01/18] net/mlx5: fix invalid flow attributes

2022-10-20 Thread Suanming Mou
In the function flow_get_drv_type(), attr will be read in non-HWS mode. In case user call the HWS API in SWS mode, attr should be placed in HWS functions, or it will cause crash. Fixes: c40c061a022e ("net/mlx5: add basic flow queue operation") Signed-off-by: Suanming Mou --- driver

[PATCH v6 02/18] net/mlx5: fix IPv6 and TCP RSS hash fields

2022-10-20 Thread Suanming Mou
function to generate the RSS hash fields. Fixes: 3a2f674b6aa8 ("net/mlx5: add queue and RSS HW steering action") Signed-off-by: Suanming Mou --- drivers/net/mlx5/mlx5_flow_dv.c | 12 +++ drivers/net/mlx5/mlx5_flow_hw.c | 59 - 2 files changed, 62 insert

[PATCH v6 00/18] net/mlx5: HW steering PMD update

2022-10-20 Thread Suanming Mou
net/mlx5: add HWS AGE action support Suanming Mou (6): net/mlx5: fix invalid flow attributes net/mlx5: fix IPv6 and TCP RSS hash fields net/mlx5: add shared header reformat support net/mlx5: add modify field hws support net/mlx5: add HW steering connection tracking support net/mlx5

[PATCH v6 04/18] net/mlx5: add modify field hws support

2022-10-20 Thread Suanming Mou
values, provided in action templates, are applied to these values before enqueueing rules for creation. Signed-off-by: Dariusz Sosnowski Signed-off-by: Suanming Mou --- doc/guides/rel_notes/release_22_11.rst | 3 +- drivers/common/mlx5/mlx5_prm.h | 2 + drivers/net/mlx5

[PATCH v6 06/18] net/mlx5: add extended metadata mode for hardware steering

2022-10-20 Thread Suanming Mou
From: Bing Zhao The new mode 4 of devarg "dv_xmeta_en" is added for HWS only. In this mode, the Rx / Tx metadata with 32b width copy between FDB and NIC is supported. The mark is only supported in NIC and there is no copy supported. Signed-off-by: Bing Zhao --- doc/guides/nics/mlx5.rst

[PATCH v6 03/18] net/mlx5: add shared header reformat support

2022-10-20 Thread Suanming Mou
) - encap_data will change. Signed-off-by: Suanming Mou --- drivers/net/mlx5/mlx5_flow.h| 6 +- drivers/net/mlx5/mlx5_flow_hw.c | 124 ++-- 2 files changed, 39 insertions(+), 91 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow.h b/drivers/net/mlx5

[PATCH v6 08/18] net/mlx5: add HW steering counter action

2022-10-20 Thread Suanming Mou
From: Xiaoyu Min This commit adds HW steering counter action support. Pool mechanism is the basic data structure for the HW steering counter. The HW steering's counter pool is based on the rte_ring of zero-copy variation. There are two global rte_rings: 1. free_list: Store the counters ind

[PATCH v6 05/18] net/mlx5: add HW steering port action

2022-10-20 Thread Suanming Mou
From: Dariusz Sosnowski This patch implements creating and caching of port actions for use with HW Steering FDB flows. Actions are created on flow template API configuration and created only on the port designated as master. Attaching and detaching of ports in the same switching domain causes an

[PATCH v6 10/18] net/mlx5: add HW steering connection tracking support

2022-10-20 Thread Suanming Mou
single CT pool is also saved to mlx5_aso_ct_action struct directly. The ASO operation functions are shared with SW steering implementation. Signed-off-by: Suanming Mou --- doc/guides/nics/mlx5.rst | 2 +- doc/guides/rel_notes/release_22_11.rst | 1 + drivers/net/mlx5/linux

[PATCH v6 07/18] net/mlx5: add HW steering meter action

2022-10-20 Thread Suanming Mou
From: Alexander Kozyrev This commit adds meter action for HWS steering. HW steering meter is based on ASO. The number of meters will be used by flows should be specified in advanced in the flow configure API. Signed-off-by: Alexander Kozyrev --- doc/guides/rel_notes/release_22_11.rst | 1 +

[PATCH v6 09/18] net/mlx5: support DR action template API

2022-10-20 Thread Suanming Mou
From: Dariusz Sosnowski This patch adapts mlx5 PMD to changes in mlx5dr API regarding action templates. It changes the following: 1. Actions template creation: - Flow actions types are translated to mlx5dr action types in order to create mlx5dr_action_template object. - An offset

[PATCH v6 12/18] net/mlx5: implement METER MARK indirect action for HWS

2022-10-20 Thread Suanming Mou
From: Alexander Kozyrev Add ability to create an indirect action handle for METER_MARK. It allows to share one Meter between several different actions. Signed-off-by: Alexander Kozyrev --- doc/guides/nics/features/default.ini | 1 + doc/guides/nics/features/mlx5.ini| 1 + doc/guides/ni

[PATCH v6 14/18] net/mlx5: add async action push and pull support

2022-10-20 Thread Suanming Mou
The queue based rte_flow_async_action_* functions work same as queue based async flow functions. The operations can be pushed asynchronously, so is the pull. This commit adds the async action missing push and pull support. Signed-off-by: Suanming Mou --- drivers/net/mlx5/mlx5.h

[PATCH v6 16/18] net/mlx5: support device control for E-Switch default rule

2022-10-20 Thread Suanming Mou
From: Dariusz Sosnowski This patch adds support for fdb_def_rule_en device argument to HW Steering, which controls: - creation of default FDB jump flow rule, - ability of the user to create transfer flow rules in root table. Signed-off-by: Dariusz Sosnowski Signed-off-by: Xueming Li --- doc/

[PATCH v6 11/18] net/mlx5: add HW steering VLAN push, pop and VID modify flow actions

2022-10-20 Thread Suanming Mou
From: Gregory Etelson Add PMD implementation for HW steering VLAN push, pop and modify flow actions. HWS VLAN push flow action is triggered by a sequence of mandatory OF_PUSH_VLAN, OF_SET_VLAN_VID and optional OF_SET_VLAN_PCP flow actions commands. The commands must be arranged in the exact orde

[PATCH v6 15/18] net/mlx5: support flow integrity in HWS group 0

2022-10-20 Thread Suanming Mou
From: Gregory Etelson - Reformat flow integrity item translation for HWS code. - Support flow integrity bits in HWS group 0. - Update integrity item translation to match positive semantics only. Signed-off-by: Gregory Etelson --- drivers/net/mlx5/mlx5_flow.h| 1 + drivers/net/mlx5/mlx5_f

[PATCH v6 17/18] net/mlx5: support device control of representor matching

2022-10-20 Thread Suanming Mou
From: Dariusz Sosnowski In some E-Switch use cases applications want to receive all traffic on a single port. Since currently flow API does not provide a way to match traffic forwarded to any port representor, this patch adds support for controlling representor matching on ingress flow rules. Re

[PATCH v6 18/18] net/mlx5: create control flow rules with HWS

2022-10-20 Thread Suanming Mou
From: Dariusz Sosnowski This patch adds creation of control flow rules required to receive default traffic (based on port configuration) with HWS. Control flow rules are created on port start and destroyed on port stop. Handling of destroying these rules was already implemented before that patch

[PATCH v6 13/18] net/mlx5: add HWS AGE action support

2022-10-20 Thread Suanming Mou
From: Michael Baum Add support for AGE action for HW steering. This patch includes: 1. Add new structures to manage the aging. 2. Initialize all them in configure function. 3. Implement per second aging check using CNT background thread. 4. Enable AGE action in flow create/destroy operations

[PATCH] net/mlx5: fix assert failure in item translation

2022-10-25 Thread Suanming Mou
, it caused an assertion in mlx5_flow_get_thread_workspace() This patch adds initialization of thread-local workspace when flow items are translated to DV spec in HW Steering mode. Fixes: cfddba76af4f ("net/mlx5: add hardware steering item translation function") Signed-off-by: Su

[PATCH] net/mlx5/hws: set ft_type on root matcher creation

2022-10-25 Thread Suanming Mou
er Signed-off-by: Suanming Mou Acked-by: Viacheslav Ovsiienko --- drivers/net/mlx5/hws/mlx5dr_matcher.c | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/net/mlx5/hws/mlx5dr_matcher.c b/drivers/net/mlx5/hws/mlx5dr_matcher.c index d1205c42fa..67adfeec6c 10

[PATCH] net/mlx5: remove unneeded SQ null checking

2022-10-25 Thread Suanming Mou
commit removes the redundant checking code. Fixes: aa90929cd5db ("net/mlx5: add HW steering connection tracking support") Signed-off-by: Suanming Mou Acked-by: Matan Azrad --- drivers/net/mlx5/mlx5_flow_aso.c | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/d

[PATCH] net/mlx5: enable flow aging action

2022-10-31 Thread Suanming Mou
As the queue-based aging API has been integrated[1], the flow aging action support in HWS steering code can be enabled now. [1]: https://patchwork.dpdk.org/project/dpdk/cover/20221026214943.3686635-1-michae...@nvidia.com/ Signed-off-by: Suanming Mou --- drivers/net/mlx5/mlx5_flow.c| 2

[PATCH v2] ethdev: add TCP/IP modify field IDs

2023-09-07 Thread Suanming Mou
Currently, get TCP/IP header or data length information from traffic is missing in the modify field IDs. This commit adds the missing TCP data_offset, IPv4 IHL/total_len, IPv6 payload_len to modify filed IDs. This allows users be able to manager more TCP/IP fields. Signed-off-by: Suanming Mou

RE: [PATCH 1/3] net/mlx5: extend send to kernel action support

2023-09-08 Thread Suanming Mou
> -Original Message- > From: Jiawei(Jonny) Wang > Sent: Friday, September 8, 2023 5:21 PM > To: Suanming Mou ; Ori Kam ; > NBU-Contact-Thomas Monjalon (EXTERNAL) > Cc: dev@dpdk.org; Raslan Darawsheh > Subject: [PATCH 1/3] net/mlx5: extend send to kernel action

RE: [PATCH 2/3] net/mlx5: extend hws send to kernel action support

2023-09-08 Thread Suanming Mou
> -Original Message- > From: Jiawei(Jonny) Wang > Sent: Friday, September 8, 2023 5:21 PM > To: Suanming Mou ; Ori Kam ; > NBU-Contact-Thomas Monjalon (EXTERNAL) > Cc: dev@dpdk.org; Raslan Darawsheh > Subject: [PATCH 2/3] net/mlx5: extend hws send to kernel ac

RE: [PATCH] net/mlx5: fix jump ipool entry size

2023-09-21 Thread Suanming Mou
Thanks. > -Original Message- > From: Dariusz Sosnowski > Sent: Saturday, August 26, 2023 2:44 AM > To: Matan Azrad ; Slava Ovsiienko > ; Ori Kam ; Suanming Mou > > Cc: dev@dpdk.org; sta...@dpdk.org > Subject: [PATCH] net/mlx5: fix jump ipool entry size > >

Re: [dpdk-dev] [PATCH 1/2] ethdev: make flow API primary/secondary process safe

2021-04-14 Thread Suanming Mou
Hi, > -Original Message- > From: Ferruh Yigit > Sent: Wednesday, April 14, 2021 9:07 PM > To: Suanming Mou ; Ori Kam ; > Andrew Rybchenko ; NBU-Contact-Thomas > Monjalon > Cc: dev@dpdk.org; Stephen Hemminger > Subject: Re: [dpdk-dev] [PATCH 1/2] ethdev: make fl

Re: [dpdk-dev] [PATCH 1/2] ethdev: make flow API primary/secondary process safe

2021-04-15 Thread Suanming Mou
> -Original Message- > From: Ferruh Yigit > Sent: Thursday, April 15, 2021 3:43 PM > To: Suanming Mou ; Ori Kam ; > Andrew Rybchenko ; NBU-Contact-Thomas > Monjalon > Cc: dev@dpdk.org; Stephen Hemminger ; > Matan Azrad ; Shahaf Shuler ; Ajit > Khaparde ; Som

[dpdk-dev] [PATCH v2 00/22] net/mlx5: insertion rate optimization

2021-06-30 Thread Suanming Mou
memory by the create API common/mlx5: add per-lcore cache to hash list utility net/mlx5: move modify header allocator to ipool Suanming Mou (13): net/mlx5: allow limiting the index pool maximum index net/mlx5: add indexed pool local cache net/mlx5: add index pool foreach define net/mlx5

[dpdk-dev] [PATCH v2 01/22] net/mlx5: allow limiting the index pool maximum index

2021-06-30 Thread Suanming Mou
configuration in ID allocator cases instead of the current logics. This patch add the maximum ID configurable for the index pool. Signed-off-by: Suanming Mou Acked-by: Matan Azrad --- drivers/net/mlx5/mlx5_utils.c | 14 -- drivers/net/mlx5/mlx5_utils.h | 1 + 2 files changed, 13 insertions

[dpdk-dev] [PATCH v2 02/22] net/mlx5: add indexed pool local cache

2021-06-30 Thread Suanming Mou
. Signed-off-by: Suanming Mou Acked-by: Matan Azrad --- drivers/net/mlx5/mlx5_utils.c | 323 -- drivers/net/mlx5/mlx5_utils.h | 64 ++- 2 files changed, 372 insertions(+), 15 deletions(-) diff --git a/drivers/net/mlx5/mlx5_utils.c b/drivers/net/mlx5

[dpdk-dev] [PATCH v2 03/22] net/mlx5: add index pool foreach define

2021-06-30 Thread Suanming Mou
In some cases, application may want to know all the allocated index in order to apply some operations to the allocated index. This commit adds the indexed pool functions to support foreach operation. Signed-off-by: Suanming Mou Acked-by: Matan Azrad --- drivers/net/mlx5/mlx5_utils.c | 86

[dpdk-dev] [PATCH v2 05/22] net/mlx5: optimize modify header action memory

2021-06-30 Thread Suanming Mou
From: Matan Azrad Define the types of the modify header action fields to be with the minimum size needed for the optional values range. Signed-off-by: Matan Azrad Acked-by: Suanming Mou --- drivers/common/mlx5/linux/mlx5_glue.h | 1 + drivers/net/mlx5/linux/mlx5_flow_os.h | 3 ++- drivers

[dpdk-dev] [PATCH v2 04/22] net/mlx5: replace flow list with index pool

2021-06-30 Thread Suanming Mou
The flow list is used to save the create flows and to be used only when port closes all the flows need to be flushed. This commit takes advantage of the index pool foreach operation to flush all the allocated flows. Signed-off-by: Suanming Mou Acked-by: Matan Azrad --- drivers/net/mlx5/linux

[dpdk-dev] [PATCH v2 06/22] net/mlx5: remove cache term from the list utility

2021-06-30 Thread Suanming Mou
agement. To prevent confusing, remove the current "cache" term from the API's names. Signed-off-by: Matan Azrad Acked-by: Suanming Mou --- drivers/net/mlx5/linux/mlx5_os.c | 32 +- drivers/net/mlx5/mlx5.c| 2 +- drivers/net/mlx5/mlx5.h| 15 +- drive

[dpdk-dev] [PATCH v2 07/22] net/mlx5: add per lcore cache to the list utility

2021-06-30 Thread Suanming Mou
-by: Matan Azrad Acked-by: Suanming Mou --- drivers/net/mlx5/linux/mlx5_os.c | 58 drivers/net/mlx5/mlx5.h| 1 + drivers/net/mlx5/mlx5_flow.h | 21 ++- drivers/net/mlx5/mlx5_flow_dv.c| 181 +++- drivers/net/mlx5/mlx5_rx.h | 5

[dpdk-dev] [PATCH v2 08/22] net/mlx5: minimize list critical sections

2021-06-30 Thread Suanming Mou
sections heavy because they are used for memory and other resources allocations\deallocations. Moved out the operations from the critical sections and use generation counter in order to detect parallel allocations. Signed-off-by: Matan Azrad Acked-by: Suanming Mou --- drivers/net/mlx5

[dpdk-dev] [PATCH v2 09/22] net/mlx5: manage list cache entries release

2021-06-30 Thread Suanming Mou
reference counter of cache entry to 0. In list register operation, before the running lcore starts a lookup in its cache, it will check the counter in order to free invalid entries in its cache. Signed-off-by: Matan Azrad Acked-by: Suanming Mou --- drivers/net/mlx5/mlx5_utils.c | 79

[dpdk-dev] [PATCH v2 10/22] net/mlx5: relax the list utility atomic operations

2021-06-30 Thread Suanming Mou
From: Matan Azrad The atomic operation in the list utility no need a barriers because the critical part are managed by RW lock. Relax them. Signed-off-by: Matan Azrad Acked-by: Suanming Mou --- drivers/net/mlx5/mlx5_utils.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions

[dpdk-dev] [PATCH v2 11/22] net/mlx5: allocate list memory by the create API

2021-06-30 Thread Suanming Mou
From: Matan Azrad Currently, the list memory was allocated by the list API caller. Move it to be allocated by the create API in order to save consistence with the hlist utility. Signed-off-by: Matan Azrad Acked-by: Suanming Mou --- drivers/net/mlx5/linux/mlx5_os.c | 105

[dpdk-dev] [PATCH v2 13/22] net/mlx5: move modify header allocator to ipool

2021-06-30 Thread Suanming Mou
size of modify header handler. Signed-off-by: Matan Azrad Acked-by: Suanming Mou --- drivers/net/mlx5/mlx5.c | 4 ++ drivers/net/mlx5/mlx5.h | 14 ++ drivers/net/mlx5/mlx5_flow.h| 14 +- drivers/net/mlx5/mlx5_flow_dv.c | 79 - 4 files

[dpdk-dev] [PATCH v2 12/22] common/mlx5: add per-lcore cache to hash list utility

2021-06-30 Thread Suanming Mou
. Signed-off-by: Matan Azrad Acked-by: Suanming Mou --- doc/guides/nics/mlx5.rst| 5 + doc/guides/rel_notes/release_21_08.rst | 6 + drivers/common/mlx5/mlx5_common.h | 2 + drivers/common/mlx5/mlx5_common_utils.c | 466 +--- drivers/common/mlx5

[dpdk-dev] [PATCH v2 14/22] net/mlx5: adjust the hash bucket size

2021-06-30 Thread Suanming Mou
With the new per core optimization to the list, the hash bucket size can be tuned to a more accurate number. This commit adjusts the hash bucket size. Signed-off-by: Suanming Mou --- drivers/net/mlx5/linux/mlx5_os.c | 2 +- drivers/net/mlx5/mlx5.c | 2 +- drivers/net/mlx5/mlx5_defs.h

[dpdk-dev] [PATCH v2 15/22] common/mlx5: allocate cache list memory individually

2021-06-30 Thread Suanming Mou
This commit changes the instance array to pointer array, allocate the local cache memory only when the core is to be used. Signed-off-by: Suanming Mou Acked-by: Matan Azrad --- drivers/common/mlx5/mlx5_common_utils.c | 62 ++--- drivers/common/mlx5/mlx5_common_utils.h | 2 +- 2

[dpdk-dev] [PATCH v2 16/22] net/mlx5: enable index pool per-core cache

2021-06-30 Thread Suanming Mou
This commit enables the tag and header modify action index pool per-core cache in non-reclaim memory mode. Signed-off-by: Suanming Mou Acked-by: Matan Azrad --- drivers/net/mlx5/mlx5.c | 4 +++- drivers/net/mlx5/mlx5.h | 1 + drivers/net/mlx5/mlx5_flow_dv.c | 3 ++- 3 files

[dpdk-dev] [PATCH v2 17/22] net/mlx5: optimize hash list table allocate on demand

2021-06-30 Thread Suanming Mou
Currently, all the hash list tables are allocated during start up. Since different applications may only use dedicated limited actions, optimized the hash list table allocate on demand will save initial memory. This commit optimizes hash list table allocate on demand. Signed-off-by: Suanming Mou

[dpdk-dev] [PATCH v2 18/22] common/mlx5: optimize cache list object memory

2021-06-30 Thread Suanming Mou
functions to satisfy both hash list and cache list can set the list constant and inconstant struct individually. Signed-off-by: Suanming Mou Acked-by: Matan Azrad --- drivers/common/mlx5/mlx5_common_utils.c | 295 ++-- drivers/common/mlx5/mlx5_common_utils.h | 45 ++-- 2 files

[dpdk-dev] [PATCH v2 19/22] net/mlx5: change memory release configuration

2021-06-30 Thread Suanming Mou
This commit changes the index pool memory release configuration to 0 when memory reclaim mode is not required. Signed-off-by: Suanming Mou Acked-by: Matan Azrad --- drivers/net/mlx5/mlx5.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c

[dpdk-dev] [PATCH v2 20/22] net/mlx5: support index pool none local core operations

2021-06-30 Thread Suanming Mou
This commit supports the index pool none local core operations with an extra cache. Signed-off-by: Suanming Mou Acked-by: Matan Azrad --- drivers/net/mlx5/mlx5_utils.c | 75 +-- drivers/net/mlx5/mlx5_utils.h | 3 +- 2 files changed, 56 insertions(+), 22

[dpdk-dev] [PATCH v2 21/22] net/mlx5: support list none local core operations

2021-06-30 Thread Suanming Mou
This commit supports the list none local core operations with an extra sub-list. Signed-off-by: Suanming Mou Acked-by: Matan Azrad --- drivers/common/mlx5/mlx5_common_utils.c | 92 + drivers/common/mlx5/mlx5_common_utils.h | 9 ++- 2 files changed, 71 insertions(+), 30

[dpdk-dev] [PATCH v2 22/22] net/mlx5: optimize Rx queue match

2021-06-30 Thread Suanming Mou
As hrxq struct has the indirect table pointer, while matching the hrxq, better to use the hrxq indirect table instead of searching from the list. This commit optimizes the hrxq indirect table matching. Signed-off-by: Suanming Mou Acked-by: Matan Azrad --- drivers/net/mlx5/mlx5_rxq.c | 18

  1   2   3   4   5   6   7   8   9   10   >