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
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
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
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
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
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
: 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
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
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
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/
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
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
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
)
- 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
)
- 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
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
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
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
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 +
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
)
- 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
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
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
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
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 +
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
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
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
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/
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
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
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
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
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
, 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
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
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
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
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
> -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
> -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
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
>
>
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
> -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
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
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
.
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
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
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
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
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
-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
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
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
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
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
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
.
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
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
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
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
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
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
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
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
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
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 - 100 of 1139 matches
Mail list logo