net/mlx5: support RSS expansion for IPv6 GRE

Currently RSS expansion only support IPv4 as GRE payload or
delivery protocol (RFC2784). IPv6 as GRE payload or delivery protocol
(RFC7676) is not supported.

This patch add RSS expansion for RFC7676 so PMD can expand flow item
correctly.

Fixes: f4b901a46a ("net/mlx5: add flow GRE item")
Cc: stable@dpdk.org

Signed-off-by: Xiaoyu Min <jackmin@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
This commit is contained in:
Xiaoyu Min 2021-03-18 11:03:57 +00:00 committed by Raslan Darawsheh
parent 32a74d8127
commit 048f0d45e3

View File

@ -499,7 +499,8 @@ static const struct mlx5_flow_expand_node mlx5_support_expansion[] = {
(MLX5_EXPANSION_OUTER_IPV6_UDP, (MLX5_EXPANSION_OUTER_IPV6_UDP,
MLX5_EXPANSION_OUTER_IPV6_TCP, MLX5_EXPANSION_OUTER_IPV6_TCP,
MLX5_EXPANSION_IPV4, MLX5_EXPANSION_IPV4,
MLX5_EXPANSION_IPV6), MLX5_EXPANSION_IPV6,
MLX5_EXPANSION_GRE),
.type = RTE_FLOW_ITEM_TYPE_IPV6, .type = RTE_FLOW_ITEM_TYPE_IPV6,
.rss_types = ETH_RSS_IPV6 | ETH_RSS_FRAG_IPV6 | .rss_types = ETH_RSS_IPV6 | ETH_RSS_FRAG_IPV6 |
ETH_RSS_NONFRAG_IPV6_OTHER, ETH_RSS_NONFRAG_IPV6_OTHER,
@ -527,7 +528,8 @@ static const struct mlx5_flow_expand_node mlx5_support_expansion[] = {
.type = RTE_FLOW_ITEM_TYPE_VXLAN_GPE, .type = RTE_FLOW_ITEM_TYPE_VXLAN_GPE,
}, },
[MLX5_EXPANSION_GRE] = { [MLX5_EXPANSION_GRE] = {
.next = MLX5_FLOW_EXPAND_RSS_NEXT(MLX5_EXPANSION_IPV4), .next = MLX5_FLOW_EXPAND_RSS_NEXT(MLX5_EXPANSION_IPV4,
MLX5_EXPANSION_IPV6),
.type = RTE_FLOW_ITEM_TYPE_GRE, .type = RTE_FLOW_ITEM_TYPE_GRE,
}, },
[MLX5_EXPANSION_MPLS] = { [MLX5_EXPANSION_MPLS] = {