The PMD did not recognize IPv6-in-IPv6 tunnel if IPv6 routing extension was placed between IPv6 outer and inner headers.
The patch fixes IPv6-in-IPv6 tunnel recognition. Fixes: 80c676259a04 ("net/mlx5: validate HWS template items") Signed-off-by: Gregory Etelson <getel...@nvidia.com> Acked-by: Dariusz Sosnowski <dsosnow...@nvidia.com> --- drivers/net/mlx5/mlx5_flow_hw.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c index ad8d73a089..7c9ba4e819 100644 --- a/drivers/net/mlx5/mlx5_flow_hw.c +++ b/drivers/net/mlx5/mlx5_flow_hw.c @@ -8228,7 +8228,8 @@ mlx5_hw_flow_tunnel_ip_check(uint64_t last_item, uint64_t *item_flags) if (last_item == MLX5_FLOW_LAYER_OUTER_L3_IPV4) { tunnel = true; *item_flags |= MLX5_FLOW_LAYER_IPIP; - } else if (last_item == MLX5_FLOW_LAYER_OUTER_L3_IPV6) { + } else if (last_item == MLX5_FLOW_LAYER_OUTER_L3_IPV6 || + last_item == MLX5_FLOW_ITEM_OUTER_IPV6_ROUTING_EXT) { tunnel = true; *item_flags |= MLX5_FLOW_LAYER_IPV6_ENCAP; } else { -- 2.43.0