> -----Original Message-----
> From: Slava Ovsiienko <viachesl...@nvidia.com>
> Sent: Wednesday, September 18, 2024 15:46
> To: dev@dpdk.org
> Cc: Matan Azrad <ma...@nvidia.com>; Raslan Darawsheh
> <rasl...@nvidia.com>; Ori Kam <or...@nvidia.com>; Dariusz Sosnowski
> <dsosnow...@nvidia.com>; sta...@dpdk.org
> Subject: [PATCH v2 4/9] net/mlx5: fix flex item tunnel mode handling
> 
> The RTE flex item can represent tunnel header itself, and split inner and 
> outer
> items, it should be reflected in the item flags while PMD is processing the 
> item
> array.
> 
> Fixes: 8c0ca7527bc8 ("net/mlx5/hws: support flex item matching")
> Cc: sta...@dpdk.org
> 
> Signed-off-by: Viacheslav Ovsiienko <viachesl...@nvidia.com>
> ---
>  drivers/net/mlx5/mlx5_flow_hw.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c
> index 50888944a5..a275154d4b 100644
> --- a/drivers/net/mlx5/mlx5_flow_hw.c
> +++ b/drivers/net/mlx5/mlx5_flow_hw.c
> @@ -558,6 +558,7 @@ flow_hw_matching_item_flags_get(const struct
> rte_flow_item items[])
>       uint64_t last_item = 0;
> 
>       for (; items->type != RTE_FLOW_ITEM_TYPE_END; items++) {
> +             enum rte_flow_item_flex_tunnel_mode tunnel_mode =
> +FLEX_TUNNEL_MODE_SINGLE;
>               int tunnel = !!(item_flags & MLX5_FLOW_LAYER_TUNNEL);
>               int item_type = items->type;
> 
> @@ -606,6 +607,13 @@ flow_hw_matching_item_flags_get(const struct
> rte_flow_item items[])
>               case RTE_FLOW_ITEM_TYPE_COMPARE:
>                       last_item = MLX5_FLOW_ITEM_COMPARE;
>                       break;
> +             case RTE_FLOW_ITEM_TYPE_FLEX:
> +                     mlx5_flex_get_tunnel_mode(items, &tunnel_mode);
> +                     last_item = tunnel_mode ==
> FLEX_TUNNEL_MODE_TUNNEL ?
> +                                     MLX5_FLOW_ITEM_FLEX_TUNNEL :
> +                                     tunnel ?
> MLX5_FLOW_ITEM_INNER_FLEX :
> +
>       MLX5_FLOW_ITEM_OUTER_FLEX;
> +                     break;
>               default:
>                       break;
>               }
> --
> 2.34.1

Acked-by: Dariusz Sosnowski <dsosnow...@nvidia.com>

Resending the Ack for each patch separately, because patchwork assigned my Ack 
for the series to v1, not v2.

Best regards,
Dariusz Sosnowski

Reply via email to