Commit 9f125ced authored by Yevgeny Kliteynik's avatar Yevgeny Kliteynik Committed by Saeed Mahameed

net/mlx5: DR, Allow native protocol support for HW STEv1

Some flex parser protocols are native as part of STEv1.
The check for supported protocols was modified to allow this.
Signed-off-by: default avatarAlex Vesker <valex@mellanox.com>
Signed-off-by: default avatarYevgeny Kliteynik <kliteyn@nvidia.com>
Signed-off-by: default avatarSaeed Mahameed <saeedm@nvidia.com>
parent 10b69418
...@@ -113,7 +113,8 @@ dr_mask_is_vxlan_gpe_set(struct mlx5dr_match_misc3 *misc3) ...@@ -113,7 +113,8 @@ dr_mask_is_vxlan_gpe_set(struct mlx5dr_match_misc3 *misc3)
static bool static bool
dr_matcher_supp_vxlan_gpe(struct mlx5dr_cmd_caps *caps) dr_matcher_supp_vxlan_gpe(struct mlx5dr_cmd_caps *caps)
{ {
return caps->flex_protocols & MLX5_FLEX_PARSER_VXLAN_GPE_ENABLED; return (caps->sw_format_ver == MLX5_STEERING_FORMAT_CONNECTX_6DX) ||
(caps->flex_protocols & MLX5_FLEX_PARSER_VXLAN_GPE_ENABLED);
} }
static bool static bool
...@@ -135,7 +136,8 @@ static bool dr_mask_is_tnl_geneve_set(struct mlx5dr_match_misc *misc) ...@@ -135,7 +136,8 @@ static bool dr_mask_is_tnl_geneve_set(struct mlx5dr_match_misc *misc)
static bool static bool
dr_matcher_supp_tnl_geneve(struct mlx5dr_cmd_caps *caps) dr_matcher_supp_tnl_geneve(struct mlx5dr_cmd_caps *caps)
{ {
return caps->flex_protocols & MLX5_FLEX_PARSER_GENEVE_ENABLED; return (caps->sw_format_ver == MLX5_STEERING_FORMAT_CONNECTX_6DX) ||
(caps->flex_protocols & MLX5_FLEX_PARSER_GENEVE_ENABLED);
} }
static bool static bool
...@@ -148,12 +150,14 @@ dr_mask_is_tnl_geneve(struct mlx5dr_match_param *mask, ...@@ -148,12 +150,14 @@ dr_mask_is_tnl_geneve(struct mlx5dr_match_param *mask,
static int dr_matcher_supp_icmp_v4(struct mlx5dr_cmd_caps *caps) static int dr_matcher_supp_icmp_v4(struct mlx5dr_cmd_caps *caps)
{ {
return caps->flex_protocols & MLX5_FLEX_PARSER_ICMP_V4_ENABLED; return (caps->sw_format_ver == MLX5_STEERING_FORMAT_CONNECTX_6DX) ||
(caps->flex_protocols & MLX5_FLEX_PARSER_ICMP_V4_ENABLED);
} }
static int dr_matcher_supp_icmp_v6(struct mlx5dr_cmd_caps *caps) static int dr_matcher_supp_icmp_v6(struct mlx5dr_cmd_caps *caps)
{ {
return caps->flex_protocols & MLX5_FLEX_PARSER_ICMP_V6_ENABLED; return (caps->sw_format_ver == MLX5_STEERING_FORMAT_CONNECTX_6DX) ||
(caps->flex_protocols & MLX5_FLEX_PARSER_ICMP_V6_ENABLED);
} }
static bool dr_mask_is_icmpv6_set(struct mlx5dr_match_misc3 *misc3) static bool dr_mask_is_icmpv6_set(struct mlx5dr_match_misc3 *misc3)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment