[PATCH 4/4] net/mlx5/hws: handle collision matcher for linear RTC
Yevgeny Kliteynik
kliteyn at nvidia.com
Thu Jan 12 14:49:12 CET 2023
No need to create/destroy collision matcher for linear RTC,
because it has a constant depth of 1 STE - packets reaching
any STE in the array will always match and perform the specified
actions.
Signed-off-by: Yevgeny Kliteynik <kliteyn at nvidia.com>
---
drivers/net/mlx5/hws/mlx5dr_matcher.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/mlx5/hws/mlx5dr_matcher.c b/drivers/net/mlx5/hws/mlx5dr_matcher.c
index 60865bf562..d509a2f0e1 100644
--- a/drivers/net/mlx5/hws/mlx5dr_matcher.c
+++ b/drivers/net/mlx5/hws/mlx5dr_matcher.c
@@ -925,7 +925,8 @@ mlx5dr_matcher_create_col_matcher(struct mlx5dr_matcher *matcher)
struct mlx5dr_matcher *col_matcher;
int ret;
- if (matcher->attr.mode != MLX5DR_MATCHER_RESOURCE_MODE_RULE)
+ if (matcher->attr.mode != MLX5DR_MATCHER_RESOURCE_MODE_RULE ||
+ matcher->attr.insert_mode == MLX5DR_MATCHER_INSERT_BY_INDEX)
return 0;
if (!mlx5dr_matcher_requires_col_tbl(matcher->attr.rule.num_log))
@@ -972,7 +973,8 @@ mlx5dr_matcher_create_col_matcher(struct mlx5dr_matcher *matcher)
static void
mlx5dr_matcher_destroy_col_matcher(struct mlx5dr_matcher *matcher)
{
- if (matcher->attr.mode != MLX5DR_MATCHER_RESOURCE_MODE_RULE)
+ if (matcher->attr.mode != MLX5DR_MATCHER_RESOURCE_MODE_RULE ||
+ matcher->attr.insert_mode == MLX5DR_MATCHER_INSERT_BY_INDEX)
return;
if (matcher->col_matcher) {
--
2.27.0
More information about the dev
mailing list