net/mlx5: support RSS expansion for NVGRE

Message ID 20210512064231.16648-1-jiaweiw@nvidia.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series net/mlx5: support RSS expansion for NVGRE |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation warning apply issues
ci/iol-testing success Testing PASS
ci/iol-abi-testing success Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-mellanox-Functional success Functional Testing PASS

Commit Message

Jiawei Wang May 12, 2021, 6:42 a.m. UTC
  Currently RSS expansion only support GRE and GRE KEY.
This patch add RSS expansion for NVGRE item so PMD can expand flow item
correctly.

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

Signed-off-by: Jiawei Wang <jiaweiw@nvidia.com>
Acked-by: Xiaoyu Min <jackmin@nvidia.com>
---
 drivers/net/mlx5/mlx5_flow.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
  

Comments

Slava Ovsiienko May 12, 2021, 9:36 a.m. UTC | #1
> -----Original Message-----
> From: Jiawei(Jonny) Wang <jiaweiw@nvidia.com>
> Sent: Wednesday, May 12, 2021 9:43
> To: Matan Azrad <matan@nvidia.com>; Slava Ovsiienko
> <viacheslavo@nvidia.com>; Ori Kam <orika@nvidia.com>; Jack Min
> <jackmin@nvidia.com>; NBU-Contact-Thomas Monjalon
> <thomas@monjalon.net>
> Cc: dev@dpdk.org; Raslan Darawsheh <rasland@nvidia.com>;
> stable@dpdk.org
> Subject: [PATCH] net/mlx5: support RSS expansion for NVGRE
> 
> Currently RSS expansion only support GRE and GRE KEY.
> This patch add RSS expansion for NVGRE item so PMD can expand flow item
> correctly.
Please, fix typos:
support -> supportS
add -> addS

Also, the "fix" should be in headline.

With best regards,
Slava



> 
> Fixes: f4b901a46aec ("net/mlx5: add flow GRE item")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Jiawei Wang <jiaweiw@nvidia.com>
> Acked-by: Xiaoyu Min <jackmin@nvidia.com>
> ---
>  drivers/net/mlx5/mlx5_flow.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
> index 32634c9af7..73cc9acbd7 100644
> --- a/drivers/net/mlx5/mlx5_flow.c
> +++ b/drivers/net/mlx5/mlx5_flow.c
> @@ -407,6 +407,7 @@ enum mlx5_expansion {
>  	MLX5_EXPANSION_VXLAN,
>  	MLX5_EXPANSION_VXLAN_GPE,
>  	MLX5_EXPANSION_GRE,
> +	MLX5_EXPANSION_NVGRE,
>  	MLX5_EXPANSION_GRE_KEY,
>  	MLX5_EXPANSION_MPLS,
>  	MLX5_EXPANSION_ETH,
> @@ -465,6 +466,7 @@ static const struct mlx5_flow_expand_node
> mlx5_support_expansion[] = {
>  			(MLX5_EXPANSION_OUTER_IPV4_UDP,
>  			 MLX5_EXPANSION_OUTER_IPV4_TCP,
>  			 MLX5_EXPANSION_GRE,
> +			 MLX5_EXPANSION_NVGRE,
>  			 MLX5_EXPANSION_IPV4,
>  			 MLX5_EXPANSION_IPV6),
>  		.type = RTE_FLOW_ITEM_TYPE_IPV4,
> @@ -487,7 +489,8 @@ static const struct mlx5_flow_expand_node
> mlx5_support_expansion[] = {
>  			 MLX5_EXPANSION_OUTER_IPV6_TCP,
>  			 MLX5_EXPANSION_IPV4,
>  			 MLX5_EXPANSION_IPV6,
> -			 MLX5_EXPANSION_GRE),
> +			 MLX5_EXPANSION_GRE,
> +			 MLX5_EXPANSION_NVGRE),
>  		.type = RTE_FLOW_ITEM_TYPE_IPV6,
>  		.rss_types = ETH_RSS_IPV6 | ETH_RSS_FRAG_IPV6 |
>  			ETH_RSS_NONFRAG_IPV6_OTHER,
> @@ -526,6 +529,10 @@ static const struct mlx5_flow_expand_node
> mlx5_support_expansion[] = {
>  		.type = RTE_FLOW_ITEM_TYPE_GRE_KEY,
>  		.optional = 1,
>  	},
> +	[MLX5_EXPANSION_NVGRE] = {
> +		.next =
> MLX5_FLOW_EXPAND_RSS_NEXT(MLX5_EXPANSION_ETH),
> +		.type = RTE_FLOW_ITEM_TYPE_NVGRE,
> +	},
>  	[MLX5_EXPANSION_MPLS] = {
>  		.next =
> MLX5_FLOW_EXPAND_RSS_NEXT(MLX5_EXPANSION_IPV4,
>  						  MLX5_EXPANSION_IPV6),
> --
> 2.18.1
  
Jiawei Wang May 12, 2021, 9:54 a.m. UTC | #2
> -----Original Message-----
> From: Slava Ovsiienko <viacheslavo@nvidia.com>
> Sent: Wednesday, May 12, 2021 5:37 PM
> To: Jiawei(Jonny) Wang <jiaweiw@nvidia.com>; Matan Azrad
> <matan@nvidia.com>; Ori Kam <orika@nvidia.com>; Jack Min
> <jackmin@nvidia.com>; NBU-Contact-Thomas Monjalon
> <thomas@monjalon.net>
> Cc: dev@dpdk.org; Raslan Darawsheh <rasland@nvidia.com>;
> stable@dpdk.org
> Subject: RE: [PATCH] net/mlx5: support RSS expansion for NVGRE
> 
> > -----Original Message-----
> > From: Jiawei(Jonny) Wang <jiaweiw@nvidia.com>
> > Sent: Wednesday, May 12, 2021 9:43
> > To: Matan Azrad <matan@nvidia.com>; Slava Ovsiienko
> > <viacheslavo@nvidia.com>; Ori Kam <orika@nvidia.com>; Jack Min
> > <jackmin@nvidia.com>; NBU-Contact-Thomas Monjalon
> > <thomas@monjalon.net>
> > Cc: dev@dpdk.org; Raslan Darawsheh <rasland@nvidia.com>;
> > stable@dpdk.org
> > Subject: [PATCH] net/mlx5: support RSS expansion for NVGRE
> >
> > Currently RSS expansion only support GRE and GRE KEY.
> > This patch add RSS expansion for NVGRE item so PMD can expand flow
> > item correctly.
> Please, fix typos:
> support -> supportS
> add -> addS
> 
> Also, the "fix" should be in headline.
> 

Thank Slava! Will send v2 patch to fix it.

> With best regards,
> Slava
> 
> 
> 
> >[snip]
  

Patch

diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 32634c9af7..73cc9acbd7 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -407,6 +407,7 @@  enum mlx5_expansion {
 	MLX5_EXPANSION_VXLAN,
 	MLX5_EXPANSION_VXLAN_GPE,
 	MLX5_EXPANSION_GRE,
+	MLX5_EXPANSION_NVGRE,
 	MLX5_EXPANSION_GRE_KEY,
 	MLX5_EXPANSION_MPLS,
 	MLX5_EXPANSION_ETH,
@@ -465,6 +466,7 @@  static const struct mlx5_flow_expand_node mlx5_support_expansion[] = {
 			(MLX5_EXPANSION_OUTER_IPV4_UDP,
 			 MLX5_EXPANSION_OUTER_IPV4_TCP,
 			 MLX5_EXPANSION_GRE,
+			 MLX5_EXPANSION_NVGRE,
 			 MLX5_EXPANSION_IPV4,
 			 MLX5_EXPANSION_IPV6),
 		.type = RTE_FLOW_ITEM_TYPE_IPV4,
@@ -487,7 +489,8 @@  static const struct mlx5_flow_expand_node mlx5_support_expansion[] = {
 			 MLX5_EXPANSION_OUTER_IPV6_TCP,
 			 MLX5_EXPANSION_IPV4,
 			 MLX5_EXPANSION_IPV6,
-			 MLX5_EXPANSION_GRE),
+			 MLX5_EXPANSION_GRE,
+			 MLX5_EXPANSION_NVGRE),
 		.type = RTE_FLOW_ITEM_TYPE_IPV6,
 		.rss_types = ETH_RSS_IPV6 | ETH_RSS_FRAG_IPV6 |
 			ETH_RSS_NONFRAG_IPV6_OTHER,
@@ -526,6 +529,10 @@  static const struct mlx5_flow_expand_node mlx5_support_expansion[] = {
 		.type = RTE_FLOW_ITEM_TYPE_GRE_KEY,
 		.optional = 1,
 	},
+	[MLX5_EXPANSION_NVGRE] = {
+		.next = MLX5_FLOW_EXPAND_RSS_NEXT(MLX5_EXPANSION_ETH),
+		.type = RTE_FLOW_ITEM_TYPE_NVGRE,
+	},
 	[MLX5_EXPANSION_MPLS] = {
 		.next = MLX5_FLOW_EXPAND_RSS_NEXT(MLX5_EXPANSION_IPV4,
 						  MLX5_EXPANSION_IPV6),