ely high performance costs according to our performance
> measurement, but it probably true
> for 100G NIC.
>
> > -Original Message-
> > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Shivapriya Hiremath
> > Sent: Wednesday, October 22, 2014 12:54 AM
&g
On Wed, Oct 22, 2014 at 7:37 AM, Zhu, Heqing wrote:
> One line comment inline.
>
> > -Original Message-
> > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Liang, Cunming
> > Sent: Tuesday, October 21, 2014 8:33 PM
> > To: Alex Markuze
> >
used by
the mlx5 PMD. The mlx5dr (direct rule) is layer that bridges between the
PMD and the HW by configuring the HW offloads based on the PMD logic
v2:
Fix check patch and cosmetic changes
v3:
-Fix unsupported items
-Fix compilation with mlx5dv dependency
Alex Vesker (9):
net/mlx5: Add
From: Suanming Mou
In order to share the item translation code with hardware steering
mode, this commit splits flow item translation code to a dedicate
function.
Signed-off-by: Suanming Mou
---
drivers/net/mlx5/mlx5_flow_dv.c | 1915 ---
1 file changed, 979 insertio
From: Dariusz Sosnowski
This patch initial version of functions used to:
- convert between ethdev port_id and internal tag/mask value,
- convert between IB context and internal tag/mask value.
Signed-off-by: Dariusz Sosnowski
---
drivers/net/mlx5/linux/mlx5_os.c | 10 +-
drivers/net/mlx5/
From: Suanming Mou
As hardware steering mode translates flow matcher and value in two
different stages, split the flow item matcher and value translation
to help reuse the code.
Signed-off-by: Suanming Mou
---
drivers/net/mlx5/mlx5_flow.h| 32 +
drivers/net/mlx5/mlx5_flow_dv.c | 2314 +++
From: Bing Zhao
In the flow table capabilities, new fields are added to query the
capability to set, add, copy to a REG_C_x.
The set capability are queried and saved for the future usage.
Signed-off-by: Bing Zhao
---
drivers/common/mlx5/mlx5_devx_cmds.c | 30 +++
drivers/commo
From: Suanming Mou
As hardware steering root table flows still work under FW steering
mode. This commit provides shared item tranlsation code for hardware
steering root table flows.
Signed-off-by: Suanming Mou
---
drivers/net/mlx5/mlx5_flow.c| 10 +--
drivers/net/mlx5/mlx5_flow.h| 52
Add missing glue support for HWS mlx5dr layer. The new glue
functions are needed for mlx5dv create matcher and action,
which are used as the kernel root table as well as for
capabilities query like device name and ports info.
Signed-off-by: Alex Vesker
---
drivers/common/mlx5/linux/mlx5_glue.c
From: Bing Zhao
The available tags that can be used by the application are fixed
after startup.
A global array is used to store the information and transfer the TAG
item directly from the ID to the REG_C_x.
Signed-off-by: Bing Zhao
---
drivers/net/mlx5/linux/mlx5_os.c | 2 +
drivers/net/mlx5
From: Erez Shitrit
HWS needs to manage different types of device memory in
an efficient and quick way. For this, memory pools are
being used.
Signed-off-by: Erez Shitrit
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_buddy.c | 201 +
drivers/net/mlx5/hws/mlx5dr_buddy.h
HWS configures flows to the HW using a QP, each WQE has
the details of the flow we want to offload. The send layer
allocates the resources needed to send the request to the HW
as well as managing the queues, getting completions and
handling failures.
Signed-off-by: Mark Bloch
Signed-off-by: Alex
From: Erez Shitrit
The command layer is used to communicate with the FW,
query capabilities and allocate FW resources needed for HWS.
Signed-off-by: Erez Shitrit
Signed-off-by: Alex Vesker
---
drivers/common/mlx5/mlx5_prm.h| 607 ++-
drivers/net/mlx5/hws/mlx5dr_cmd.c
the field
copy (fc) array used for efficient items to WQE conversion.
Signed-off-by: Mark Bloch
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_definer.c | 1968 +
drivers/net/mlx5/hws/mlx5dr_definer.h | 585
2 files changed, 2553 insertions
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_table.c | 248
drivers/net/mlx5/hws/mlx5dr_table.h | 44 +
2 files changed, 292 insertions(+)
create mode 100644 drivers/net/mlx5/hws/mlx5dr_table.c
create mode 100644 drivers/net/mlx5/hws/mlx5dr_table.h
Context is the first mlx5dr object created, all sub object:
table, matcher, rule, action are created using the context.
The context holds the capabilities and send queues used for
configuring the offloads to the HW.
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_context.c | 223
the matcher
and from there to other objects. The matcher allows efficent
HW packet field matching and action execution based on the
configuration done to it.
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_matcher.c | 922 ++
drivers/net/mlx5/hws/mlx5dr_matcher.h
configured to the HW.
Signed-off-by: Erez Shitrit
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_rule.c | 528 +
drivers/net/mlx5/hws/mlx5dr_rule.h | 50 +++
2 files changed, 578 insertions(+)
create mode 100644 drivers/net/mlx5/hws/mlx5dr_rule.c
create
From: Hamdan Igbaria
The debug layer is used to generate a debug CSV file
containing details of the context, table, matcher, rules
and other useful debug information.
Signed-off-by: Hamdan Igbaria
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_debug.c | 462
Action objects are used for executing different HW actions
over packets. Each action contains the HW resources and parameters
needed for action use over the HW when creating a rule.
Signed-off-by: Erez Shitrit
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_action.c | 2221
Replace stub implenation of HWS with mlx5dr code.
Signed-off-by: Alex Vesker
---
drivers/common/mlx5/linux/meson.build| 2 +
drivers/net/mlx5/hws/meson.build | 18 +
drivers/net/mlx5/{mlx5_dr.h => hws/mlx5dr.h} | 210 --
drivers/net/mlx5/hws/mlx5dr_interna
used by
the mlx5 PMD. The mlx5dr (direct rule) is layer that bridges between the
PMD and the HW by configuring the HW offloads based on the PMD logic
v2:
Fix check patch and cosmetic changes
v3:
-Fix unsupported items
-Fix compilation with mlx5dv dependency
v4:
-Fix compile on Windows
Alex
From: Suanming Mou
In order to share the item translation code with hardware steering
mode, this commit splits flow item translation code to a dedicate
function.
Signed-off-by: Suanming Mou
---
drivers/net/mlx5/mlx5_flow_dv.c | 1915 ---
1 file changed, 979 insertio
From: Suanming Mou
As hardware steering root table flows still work under FW steering
mode. This commit provides shared item tranlsation code for hardware
steering root table flows.
Signed-off-by: Suanming Mou
---
drivers/net/mlx5/mlx5_flow.c| 10 +--
drivers/net/mlx5/mlx5_flow.h| 52
From: Suanming Mou
As hardware steering mode translates flow matcher and value in two
different stages, split the flow item matcher and value translation
to help reuse the code.
Signed-off-by: Suanming Mou
---
drivers/net/mlx5/mlx5_flow.h| 32 +
drivers/net/mlx5/mlx5_flow_dv.c | 2314 +++
From: Dariusz Sosnowski
This patch initial version of functions used to:
- convert between ethdev port_id and internal tag/mask value,
- convert between IB context and internal tag/mask value.
Signed-off-by: Dariusz Sosnowski
---
drivers/net/mlx5/linux/mlx5_os.c | 10 +-
drivers/net/mlx5/
From: Bing Zhao
The available tags that can be used by the application are fixed
after startup.
A global array is used to store the information and transfer the TAG
item directly from the ID to the REG_C_x.
Signed-off-by: Bing Zhao
---
drivers/net/mlx5/linux/mlx5_os.c | 2 +
drivers/net/mlx5
From: Bing Zhao
In the flow table capabilities, new fields are added to query the
capability to set, add, copy to a REG_C_x.
The set capability are queried and saved for the future usage.
Signed-off-by: Bing Zhao
---
drivers/common/mlx5/mlx5_devx_cmds.c | 30 +++
drivers/commo
Add missing glue support for HWS mlx5dr layer. The new glue
functions are needed for mlx5dv create matcher and action,
which are used as the kernel root table as well as for
capabilities query like device name and ports info.
Signed-off-by: Alex Vesker
---
drivers/common/mlx5/linux/mlx5_glue.c
From: Erez Shitrit
The command layer is used to communicate with the FW,
query capabilities and allocate FW resources needed for HWS.
Signed-off-by: Erez Shitrit
Signed-off-by: Alex Vesker
---
drivers/common/mlx5/mlx5_prm.h| 607 ++-
drivers/net/mlx5/hws/mlx5dr_cmd.c
From: Erez Shitrit
HWS needs to manage different types of device memory in
an efficient and quick way. For this, memory pools are
being used.
Signed-off-by: Erez Shitrit
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_buddy.c | 201 +
drivers/net/mlx5/hws/mlx5dr_buddy.h
HWS configures flows to the HW using a QP, each WQE has
the details of the flow we want to offload. The send layer
allocates the resources needed to send the request to the HW
as well as managing the queues, getting completions and
handling failures.
Signed-off-by: Mark Bloch
Signed-off-by: Alex
Context is the first mlx5dr object created, all sub object:
table, matcher, rule, action are created using the context.
The context holds the capabilities and send queues used for
configuring the offloads to the HW.
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_context.c | 223
the field
copy (fc) array used for efficient items to WQE conversion.
Signed-off-by: Mark Bloch
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_definer.c | 1968 +
drivers/net/mlx5/hws/mlx5dr_definer.h | 585
2 files changed, 2553 insertions
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_table.c | 248
drivers/net/mlx5/hws/mlx5dr_table.h | 44 +
2 files changed, 292 insertions(+)
create mode 100644 drivers/net/mlx5/hws/mlx5dr_table.c
create mode 100644 drivers/net/mlx5/hws/mlx5dr_table.h
the matcher
and from there to other objects. The matcher allows efficent
HW packet field matching and action execution based on the
configuration done to it.
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_matcher.c | 922 ++
drivers/net/mlx5/hws/mlx5dr_matcher.h
configured to the HW.
Signed-off-by: Erez Shitrit
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_rule.c | 528 +
drivers/net/mlx5/hws/mlx5dr_rule.h | 50 +++
2 files changed, 578 insertions(+)
create mode 100644 drivers/net/mlx5/hws/mlx5dr_rule.c
create
Action objects are used for executing different HW actions
over packets. Each action contains the HW resources and parameters
needed for action use over the HW when creating a rule.
Signed-off-by: Erez Shitrit
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_action.c |
Replace stub implenation of HWS with mlx5dr code.
Signed-off-by: Alex Vesker
---
doc/guides/nics/mlx5.rst | 5 +-
doc/guides/rel_notes/release_22_11.rst | 4 +
drivers/common/mlx5/linux/meson.build| 2 +
drivers/net/mlx5/hws/meson.build | 18
From: Hamdan Igbaria
The debug layer is used to generate a debug CSV file
containing details of the context, table, matcher, rules
and other useful debug information.
Signed-off-by: Hamdan Igbaria
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_debug.c | 462
compile on old rdma-core or no rdma core
Alex Vesker (8):
net/mlx5: Add additional glue functions for HWS
net/mlx5/hws: Add HWS send layer
net/mlx5/hws: Add HWS definer layer
net/mlx5/hws: Add HWS context object
net/mlx5/hws: Add HWS table object
net/mlx5/hws: Add HWS matcher object
From: Suanming Mou
In order to share the item translation code with hardware steering
mode, this commit splits flow item translation code to a dedicate
function.
Signed-off-by: Suanming Mou
---
drivers/net/mlx5/mlx5_flow_dv.c | 1915 ---
1 file changed, 979 insertio
From: Suanming Mou
As hardware steering root table flows still work under FW steering
mode. This commit provides shared item tranlsation code for hardware
steering root table flows.
Signed-off-by: Suanming Mou
---
drivers/net/mlx5/mlx5_flow.c| 10 +--
drivers/net/mlx5/mlx5_flow.h| 52
From: Suanming Mou
As hardware steering mode translates flow matcher and value in two
different stages, split the flow item matcher and value translation
to help reuse the code.
Signed-off-by: Suanming Mou
---
drivers/net/mlx5/mlx5_flow.h| 32 +
drivers/net/mlx5/mlx5_flow_dv.c | 2314 +++
From: Dariusz Sosnowski
This patch initial version of functions used to:
- convert between ethdev port_id and internal tag/mask value,
- convert between IB context and internal tag/mask value.
Signed-off-by: Dariusz Sosnowski
---
drivers/net/mlx5/linux/mlx5_os.c | 10 +-
drivers/net/mlx5/
From: Bing Zhao
In the flow table capabilities, new fields are added to query the
capability to set, add, copy to a REG_C_x.
The set capability are queried and saved for the future usage.
Signed-off-by: Bing Zhao
---
drivers/common/mlx5/mlx5_devx_cmds.c | 30 +++
drivers/commo
From: Bing Zhao
The available tags that can be used by the application are fixed
after startup.
A global array is used to store the information and transfer the TAG
item directly from the ID to the REG_C_x.
Signed-off-by: Bing Zhao
---
drivers/net/mlx5/linux/mlx5_os.c | 2 +
drivers/net/mlx5
Add missing glue support for HWS mlx5dr layer. The new glue
functions are needed for mlx5dv create matcher and action,
which are used as the kernel root table as well as for
capabilities query like device name and ports info.
Signed-off-by: Alex Vesker
---
drivers/common/mlx5/linux/mlx5_glue.c
From: Erez Shitrit
The command layer is used to communicate with the FW,
query capabilities and allocate FW resources needed for HWS.
Signed-off-by: Erez Shitrit
Signed-off-by: Alex Vesker
---
drivers/common/mlx5/mlx5_prm.h| 607 ++-
drivers/net/mlx5/hws/mlx5dr_cmd.c
From: Erez Shitrit
HWS needs to manage different types of device memory in
an efficient and quick way. For this, memory pools are
being used.
Signed-off-by: Erez Shitrit
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_buddy.c | 201 +
drivers/net/mlx5/hws/mlx5dr_buddy.h
HWS configures flows to the HW using a QP, each WQE has
the details of the flow we want to offload. The send layer
allocates the resources needed to send the request to the HW
as well as managing the queues, getting completions and
handling failures.
Signed-off-by: Mark Bloch
Signed-off-by: Alex
the field
copy (fc) array used for efficient items to WQE conversion.
Signed-off-by: Mark Bloch
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_definer.c | 1968 +
drivers/net/mlx5/hws/mlx5dr_definer.h | 585
2 files changed, 2553 insertions
Context is the first mlx5dr object created, all sub object:
table, matcher, rule, action are created using the context.
The context holds the capabilities and send queues used for
configuring the offloads to the HW.
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_context.c | 223
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_table.c | 248
drivers/net/mlx5/hws/mlx5dr_table.h | 44 +
2 files changed, 292 insertions(+)
create mode 100644 drivers/net/mlx5/hws/mlx5dr_table.c
create mode 100644 drivers/net/mlx5/hws/mlx5dr_table.h
the matcher
and from there to other objects. The matcher allows efficent
HW packet field matching and action execution based on the
configuration done to it.
Signed-off-by: Alex Vesker
---
drivers/common/mlx5/linux/meson.build | 2 +
drivers/net/mlx5/hws/mlx5dr_matcher.c | 919
configured to the HW.
Signed-off-by: Erez Shitrit
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_rule.c | 528 +
drivers/net/mlx5/hws/mlx5dr_rule.h | 50 +++
2 files changed, 578 insertions(+)
create mode 100644 drivers/net/mlx5/hws/mlx5dr_rule.c
create
From: Erez Shitrit
Action objects are used for executing different HW actions
over packets. Each action contains the HW resources and parameters
needed for action use over the HW when creating a rule.
Signed-off-by: Erez Shitrit
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws
Replace stub implenation of HWS with mlx5dr code.
Signed-off-by: Alex Vesker
---
doc/guides/nics/mlx5.rst | 5 +-
doc/guides/rel_notes/release_22_11.rst | 4 +
drivers/common/mlx5/linux/meson.build| 3 +
drivers/net/mlx5/hws/meson.build | 18
From: Hamdan Igbaria
The debug layer is used to generate a debug CSV file
containing details of the context, table, matcher, rules
and other useful debug information.
Signed-off-by: Hamdan Igbaria
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_debug.c | 462
compile on old rdma-core or no rdma core
v6:
-Fix meson style and improve configure
-Checkpatch and compilation fixes
-Fix action number issue
Alex Vesker (8):
net/mlx5: Add additional glue functions for HWS
net/mlx5/hws: Add HWS send layer
net/mlx5/hws: Add HWS definer layer
net/mlx5/hws
From: Suanming Mou
In order to share the item translation code with hardware steering
mode, this commit splits flow item translation code to a dedicate
function.
Signed-off-by: Suanming Mou
---
drivers/net/mlx5/mlx5_flow_dv.c | 1915 ---
1 file changed, 979 insertio
From: Dariusz Sosnowski
This patch initial version of functions used to:
- convert between ethdev port_id and internal tag/mask value,
- convert between IB context and internal tag/mask value.
Signed-off-by: Dariusz Sosnowski
---
drivers/net/mlx5/linux/mlx5_os.c | 10 +-
drivers/net/mlx5/
From: Suanming Mou
As hardware steering mode translates flow matcher and value in two
different stages, split the flow item matcher and value translation
to help reuse the code.
Signed-off-by: Suanming Mou
---
drivers/net/mlx5/mlx5_flow.h| 32 +
drivers/net/mlx5/mlx5_flow_dv.c | 2314 +++
From: Suanming Mou
As hardware steering root table flows still work under FW steering
mode. This commit provides shared item tranlsation code for hardware
steering root table flows.
Signed-off-by: Suanming Mou
---
drivers/net/mlx5/mlx5_flow.c| 10 +--
drivers/net/mlx5/mlx5_flow.h| 52
From: Bing Zhao
The available tags that can be used by the application are fixed
after startup.
A global array is used to store the information and transfer the TAG
item directly from the ID to the REG_C_x.
Signed-off-by: Bing Zhao
---
drivers/net/mlx5/linux/mlx5_os.c | 2 +
drivers/net/mlx5
From: Bing Zhao
In the flow table capabilities, new fields are added to query the
capability to set, add, copy to a REG_C_x.
The set capability are queried and saved for the future usage.
Signed-off-by: Bing Zhao
---
drivers/common/mlx5/mlx5_devx_cmds.c | 30 +++
drivers/commo
From: Erez Shitrit
HWS needs to manage different types of device memory in
an efficient and quick way. For this, memory pools are
being used.
Signed-off-by: Erez Shitrit
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_buddy.c | 200 +
drivers/net/mlx5/hws/mlx5dr_buddy.h
HWS configures flows to the HW using a QP, each WQE has
the details of the flow we want to offload. The send layer
allocates the resources needed to send the request to the HW
as well as managing the queues, getting completions and
handling failures.
Signed-off-by: Mark Bloch
Signed-off-by: Alex
Add missing glue support for HWS mlx5dr layer. The new glue
functions are needed for mlx5dv create matcher and action,
which are used as the kernel root table as well as for
capabilities query like device name and ports info.
Signed-off-by: Alex Vesker
---
drivers/common/mlx5/linux/mlx5_glue.c
From: Erez Shitrit
The command layer is used to communicate with the FW,
query capabilities and allocate FW resources needed for HWS.
Signed-off-by: Erez Shitrit
Signed-off-by: Alex Vesker
---
drivers/common/mlx5/mlx5_prm.h| 607 ++-
drivers/net/mlx5/hws/mlx5dr_cmd.c
Context is the first mlx5dr object created, all sub object:
table, matcher, rule, action are created using the context.
The context holds the capabilities and send queues used for
configuring the offloads to the HW.
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_context.c | 223
the field
copy (fc) array used for efficient items to WQE conversion.
Signed-off-by: Mark Bloch
Signed-off-by: Alex Vesker
---
doc/guides/nics/features/default.ini |1 +
doc/guides/nics/features/mlx5.ini |1 +
drivers/net/mlx5/hws/mlx5dr_definer.c | 1968
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_table.c | 248
drivers/net/mlx5/hws/mlx5dr_table.h | 44 +
2 files changed, 292 insertions(+)
create mode 100644 drivers/net/mlx5/hws/mlx5dr_table.c
create mode 100644 drivers/net/mlx5/hws/mlx5dr_table.h
the matcher
and from there to other objects. The matcher allows efficent
HW packet field matching and action execution based on the
configuration done to it.
Signed-off-by: Alex Vesker
Signed-off-by: Erez Shitrit
---
drivers/common/mlx5/linux/meson.build | 2 +
drivers/net/mlx5/hws
From: Erez Shitrit
Action objects are used for executing different HW actions
over packets. Each action contains the HW resources and parameters
needed for action use over the HW when creating a rule.
Signed-off-by: Erez Shitrit
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws
configured to the HW.
Signed-off-by: Erez Shitrit
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_rule.c | 528 +
drivers/net/mlx5/hws/mlx5dr_rule.h | 50 +++
2 files changed, 578 insertions(+)
create mode 100644 drivers/net/mlx5/hws/mlx5dr_rule.c
create
From: Hamdan Igbaria
The debug layer is used to generate a debug CSV file
containing details of the context, table, matcher, rules
and other useful debug information.
Signed-off-by: Hamdan Igbaria
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_debug.c | 462
Replace stub implenation of HWS with mlx5dr code.
Signed-off-by: Alex Vesker
---
doc/guides/nics/mlx5.rst | 5 +-
doc/guides/rel_notes/release_22_11.rst | 4 +
drivers/common/mlx5/linux/meson.build| 9 +-
drivers/net/mlx5/hws/meson.build | 18
> -Original Message-
> From: Thomas Monjalon
> Sent: Sunday, October 30, 2022 1:08 PM
> To: dev@dpdk.org
> Cc: Alex Vesker ; ferruh.yi...@amd.com;
> andrew.rybche...@oktetlabs.ru; Raslan Darawsheh ;
> david.march...@redhat.com; Matan Azrad ; Fan
> Zhang
> -Original Message-
> From: Thomas Monjalon
> Sent: Sunday, October 30, 2022 1:08 PM
> To: dev@dpdk.org
> Cc: Alex Vesker ; ferruh.yi...@amd.com;
> andrew.rybche...@oktetlabs.ru; Raslan Darawsheh ;
> david.march...@redhat.com; Matan Azrad ; Slava
> Ovsiienko
The use of rte_atomic functions is deprecated and is not
required in HWS code. HWS refcounts are used only during
control and always under lock.
Fixes: f8c8a6d8440d ("net/mlx5/hws: add action object")
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_action.c | 8 +++-
d
On elemend db init we allocated the element_manager
which was unused and not freed.
Fixes: b4dd7bcb0dcbe ("net/mlx5/hws: add pool and buddy")
Signed-off-by: Alex Vesker
Reviewed-by: Erez Shitrit
---
drivers/net/mlx5/hws/mlx5dr_pool.c | 7 ---
1 file changed, 7 deletions(-)
di
fields to split the hash and match in a way the HW can
support. This increases the match templates combinations possible although
it may limit the maximum PPS. Since (1) and (2) are not fully support on
current HW the implementation is done on top of a HW like FW API using
WQEs.
Alex Vesker (16
: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_send.c | 134 +
drivers/net/mlx5/hws/mlx5dr_send.h | 7 +-
2 files changed, 140 insertions(+), 1 deletion(-)
diff --git a/drivers/net/mlx5/hws/mlx5dr_send.c
b/drivers/net/mlx5/hws/mlx5dr_send.c
index a507e5f626..a9958df4f2
fixed
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_debug.c | 4 +-
drivers/net/mlx5/hws/mlx5dr_matcher.c | 109 --
drivers/net/mlx5/hws/mlx5dr_matcher.h | 8 +-
drivers/net/mlx5/hws/mlx5dr_rule.c| 15 ++--
4 files changed, 78 insertions(+), 58
range data1.
FW manages STEs/ICM and coherency between deletion and creation.
It is possible to also pass the definer value as part of the
STE, this is not supported with current HW.
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_send.c | 19 +++
drivers/net/mlx5/hws
The generate WQE command is used as an interface to writing GTA
WQEs with fields that are not supported in current HW, for example
extended match definer.
Signed-off-by: Alex Vesker
---
drivers/common/mlx5/mlx5_prm.h| 27 +-
drivers/net/mlx5/hws/mlx5dr_cmd.c | 47
sharing the hl over
multiple definers. First calculate the shared hl than
create definers based on the definer shared layout.
Once all definers use the same layout it is possible to
hash over the shared fields since the location is the same
across all of the definers.
Signed-off-by: Alex Vesker
This check can be later on reused for other places, it
will look better in a function
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_matcher.c | 43 +--
1 file changed, 27 insertions(+), 16 deletions(-)
diff --git a/drivers/net/mlx5/hws/mlx5dr_matcher.c
b
Add support for dumping range and hash definers objects.
Hash definer is a per matcher object describing the fields
used for hashing. Range definer is per match template object
describing the fields used for range matching.
Both are optional based on the given match templates.
Signed-off-by: Alex
definers bitmasks intersection.
Since current HW GTA implementation doesn't allow specifying
match and hash definers rule insertion is done using the FW
GTA WQE command.
Signed-off-by: Alex Vesker
---
drivers/common/mlx5/mlx5_prm.h| 4 +
drivers/net/mlx5/hws/mlx5dr_definer.c
Definers are a limited resource in the system per GVMI, to
avoid failure we try to improve bt checking if it is possible
to reuse the definers in some cases. Added a cache on the context
for this purpose.
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_context.c | 12 ++-
drivers
matching will be done over these fields.
There are two field setter, field copy (fc) and field copy
range (fcr).
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_definer.c | 73 +--
drivers/net/mlx5/hws/mlx5dr_definer.h | 5 +-
2 files changed, 72 inserti
W
GTA WQE command.
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_definer.c | 255 +++---
drivers/net/mlx5/hws/mlx5dr_definer.h | 16 +-
drivers/net/mlx5/hws/mlx5dr_matcher.c | 27 ++-
drivers/net/mlx5/hws/mlx5dr_matcher.h | 17 +-
4 files changed, 281 inser
FW WQE and HW WQE are done in a similar way but not to
jeopardize the performance rule creation is done over
the new FW rule creation function. The deletion function
is shared between both flows.
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_rule.c | 180
To have the same name convention for future caches, use
cache and cache item naming.
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_pat_arg.c | 22 +++---
drivers/net/mlx5/hws/mlx5dr_pat_arg.h | 6 +++---
2 files changed, 14 insertions(+), 14 deletions(-)
diff
the FW command
which requires synchronization.
This also fixes an issue with shared arguments send that require more than
one WQE.
Signed-off-by: Erez Shitrit
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr.h | 6 --
drivers/net/mlx5/hws/mlx5dr_pat_arg.c | 27
Rename rtc params create for new format.
Signed-off-by: Alex Vesker
---
drivers/common/mlx5/mlx5_prm.h| 16 ++--
drivers/net/mlx5/hws/mlx5dr_cmd.c | 13 +++--
drivers/net/mlx5/hws/mlx5dr_cmd.h | 11 +++
drivers/net/mlx5/hws/mlx5dr_matcher.c | 19
Read the capabilities required to determine support for GENERATE_WQE.
Signed-off-by: Alex Vesker
---
drivers/common/mlx5/mlx5_prm.h| 6 --
drivers/net/mlx5/hws/mlx5dr_cmd.c | 12
drivers/net/mlx5/hws/mlx5dr_cmd.h | 3 +++
3 files changed, 19 insertions(+), 2 deletions
fixed
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_debug.c | 4 +-
drivers/net/mlx5/hws/mlx5dr_matcher.c | 109 --
drivers/net/mlx5/hws/mlx5dr_matcher.h | 8 +-
drivers/net/mlx5/hws/mlx5dr_rule.c| 15 ++--
4 files changed, 78 insertions(+), 58
1 - 100 of 423 matches
Mail list logo