net/mlx5: limit implicitly MPLS RSS expansion

Message ID 20210728082410.12234-1-suanmingm@nvidia.com (mailing list archive)
State Accepted, archived
Delegated to: Raslan Darawsheh
Headers
Series net/mlx5: limit implicitly MPLS RSS expansion |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/github-robot success github build: passed
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-abi-testing success Testing PASS
ci/iol-testing success Testing PASS

Commit Message

Suanming Mou July 28, 2021, 8:24 a.m. UTC
  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 <suanmingm@nvidia.com>
Acked-by: Xiaoyu Min <jackmin@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
---
 drivers/net/mlx5/mlx5_flow.c | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Raslan Darawsheh July 28, 2021, 1:57 p.m. UTC | #1
Hi,

> -----Original Message-----
> From: Suanming Mou <suanmingm@nvidia.com>
> Sent: Wednesday, July 28, 2021 11:24 AM
> To: Slava Ovsiienko <viacheslavo@nvidia.com>; Matan Azrad
> <matan@nvidia.com>
> Cc: Raslan Darawsheh <rasland@nvidia.com>; dev@dpdk.org
> Subject: [PATCH] net/mlx5: limit implicitly MPLS RSS expansion
> 
> 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 <suanmingm@nvidia.com>
> Acked-by: Xiaoyu Min <jackmin@nvidia.com>
> Acked-by: Matan Azrad <matan@nvidia.com>
> ---

Patch applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh
  

Patch

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,