As [1] optimized the MPLS RSS expansion before, this commit limits the implicitly MPLS RSS expansion for MPLSoGRE as well. For the RSS flow matcher to GRE level only, it will not expand the MPLS match item for the sub flows due to performance consideration.
The original RSS flow match item: ETH VLAN IPV6 GRE GRE_KEY END The previous RSS expansion: ETH VLAN IPV6 GRE GRE_KEY END ETH VLAN IPV6 GRE GRE_KEY IPV4 END ETH VLAN IPV6 GRE GRE_KEY MPLS IPV4 END ETH VLAN IPV6 GRE GRE_KEY MPLS ETH IPV4 END New RSS expansion: ETH VLAN IPV6 GRE GRE_KEY END ETH VLAN IPV6 GRE GRE_KEY IPV4 END [1] commit a26cc30fa046 ("net/mlx5: limit inner RSS expansion for MPLS") Signed-off-by: Suanming Mou <suanmi...@nvidia.com> Acked-by: Xiaoyu Min <jack...@nvidia.com> Acked-by: Matan Azrad <ma...@nvidia.com> --- drivers/net/mlx5/mlx5_flow.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index a3fdce685e..999f39e042 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -581,6 +581,7 @@ static const struct mlx5_flow_expand_node mlx5_support_expansion[] = { MLX5_EXPANSION_IPV6, MLX5_EXPANSION_ETH), .type = RTE_FLOW_ITEM_TYPE_MPLS, + .optional = 1, }, [MLX5_EXPANSION_ETH] = { .next = MLX5_FLOW_EXPAND_RSS_NEXT(MLX5_EXPANSION_IPV4, -- 2.25.1