patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] [PATCH] net/mlx5: fix L3 vxlan RSS expansion
@ 2020-02-19  8:29 Matan Azrad
  2020-02-19  9:13 ` Slava Ovsiienko
  2020-02-19 15:12 ` [dpdk-stable] [dpdk-dev] " Raslan Darawsheh
  0 siblings, 2 replies; 3+ messages in thread
From: Matan Azrad @ 2020-02-19  8:29 UTC (permalink / raw)
  To: dev; +Cc: Viacheslav Ovsiienko, stable

The RSS expansion feature was introduced to split RSS flows according to
the adjustment between the RSS types and the flow items.

The expansion function gets an item tree for the above adjustment from
the caller which reflects the HW needs.

The standard vxlan header next protocol is always ethernet while there
are some Mellanox customers who use their own method to allow L3
headers after the vxlan tunnel header.

The expansion tree of mlx5 PMD didn't expect to get L3 headers after the
vxlan header what caused a failure in flow creation when inner RSS is
requested on L3 after vxlan flow.

Add IPV4 and IPV6 as optional headers after vxlan in the RSS expansion
tree to allow L3 tunnel support for vxlan.

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

Signed-off-by: Matan Azrad <matan@mellanox.com>
---
 drivers/net/mlx5/mlx5_flow.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 2548201..6544cc4 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -167,7 +167,9 @@ enum mlx5_expansion {
 		.rss_types = ETH_RSS_NONFRAG_IPV6_TCP,
 	},
 	[MLX5_EXPANSION_VXLAN] = {
-		.next = RTE_FLOW_EXPAND_RSS_NEXT(MLX5_EXPANSION_ETH),
+		.next = RTE_FLOW_EXPAND_RSS_NEXT(MLX5_EXPANSION_ETH,
+						 MLX5_EXPANSION_IPV4,
+						 MLX5_EXPANSION_IPV6),
 		.type = RTE_FLOW_ITEM_TYPE_VXLAN,
 	},
 	[MLX5_EXPANSION_VXLAN_GPE] = {
-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-stable] [PATCH] net/mlx5: fix L3 vxlan RSS expansion
  2020-02-19  8:29 [dpdk-stable] [PATCH] net/mlx5: fix L3 vxlan RSS expansion Matan Azrad
@ 2020-02-19  9:13 ` Slava Ovsiienko
  2020-02-19 15:12 ` [dpdk-stable] [dpdk-dev] " Raslan Darawsheh
  1 sibling, 0 replies; 3+ messages in thread
From: Slava Ovsiienko @ 2020-02-19  9:13 UTC (permalink / raw)
  To: Matan Azrad, dev; +Cc: stable

> -----Original Message-----
> From: Matan Azrad <matan@mellanox.com>
> Sent: Wednesday, February 19, 2020 10:30
> To: dev@dpdk.org
> Cc: Slava Ovsiienko <viacheslavo@mellanox.com>; stable@dpdk.org
> Subject: [PATCH] net/mlx5: fix L3 vxlan RSS expansion
> 
> The RSS expansion feature was introduced to split RSS flows according to the
> adjustment between the RSS types and the flow items.
> 
> The expansion function gets an item tree for the above adjustment from the
> caller which reflects the HW needs.
> 
> The standard vxlan header next protocol is always ethernet while there are
> some Mellanox customers who use their own method to allow L3 headers
> after the vxlan tunnel header.
> 
> The expansion tree of mlx5 PMD didn't expect to get L3 headers after the
> vxlan header what caused a failure in flow creation when inner RSS is
> requested on L3 after vxlan flow.
> 
> Add IPV4 and IPV6 as optional headers after vxlan in the RSS expansion tree
> to allow L3 tunnel support for vxlan.
> 
> Fixes: f4f06e361516 ("net/mlx5: add flow VXLAN item")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>

> ---
>  drivers/net/mlx5/mlx5_flow.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
> index 2548201..6544cc4 100644
> --- a/drivers/net/mlx5/mlx5_flow.c
> +++ b/drivers/net/mlx5/mlx5_flow.c
> @@ -167,7 +167,9 @@ enum mlx5_expansion {
>  		.rss_types = ETH_RSS_NONFRAG_IPV6_TCP,
>  	},
>  	[MLX5_EXPANSION_VXLAN] = {
> -		.next =
> RTE_FLOW_EXPAND_RSS_NEXT(MLX5_EXPANSION_ETH),
> +		.next =
> RTE_FLOW_EXPAND_RSS_NEXT(MLX5_EXPANSION_ETH,
> +						 MLX5_EXPANSION_IPV4,
> +						 MLX5_EXPANSION_IPV6),
>  		.type = RTE_FLOW_ITEM_TYPE_VXLAN,
>  	},
>  	[MLX5_EXPANSION_VXLAN_GPE] = {
> --
> 1.8.3.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-stable] [dpdk-dev] [PATCH] net/mlx5: fix L3 vxlan RSS expansion
  2020-02-19  8:29 [dpdk-stable] [PATCH] net/mlx5: fix L3 vxlan RSS expansion Matan Azrad
  2020-02-19  9:13 ` Slava Ovsiienko
@ 2020-02-19 15:12 ` Raslan Darawsheh
  1 sibling, 0 replies; 3+ messages in thread
From: Raslan Darawsheh @ 2020-02-19 15:12 UTC (permalink / raw)
  To: Matan Azrad, dev; +Cc: Slava Ovsiienko, stable

Hi,

> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Matan Azrad
> Sent: Wednesday, February 19, 2020 10:30 AM
> To: dev@dpdk.org
> Cc: Slava Ovsiienko <viacheslavo@mellanox.com>; stable@dpdk.org
> Subject: [dpdk-dev] [PATCH] net/mlx5: fix L3 vxlan RSS expansion
> 
> The RSS expansion feature was introduced to split RSS flows according to
> the adjustment between the RSS types and the flow items.
> 
> The expansion function gets an item tree for the above adjustment from
> the caller which reflects the HW needs.
> 
> The standard vxlan header next protocol is always ethernet while there
> are some Mellanox customers who use their own method to allow L3
> headers after the vxlan tunnel header.
> 
> The expansion tree of mlx5 PMD didn't expect to get L3 headers after the
> vxlan header what caused a failure in flow creation when inner RSS is
> requested on L3 after vxlan flow.
> 
> Add IPV4 and IPV6 as optional headers after vxlan in the RSS expansion
> tree to allow L3 tunnel support for vxlan.
> 
> Fixes: f4f06e361516 ("net/mlx5: add flow VXLAN item")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Matan Azrad <matan@mellanox.com>
> ---
>  drivers/net/mlx5/mlx5_flow.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
> index 2548201..6544cc4 100644
> --- a/drivers/net/mlx5/mlx5_flow.c
> +++ b/drivers/net/mlx5/mlx5_flow.c
> @@ -167,7 +167,9 @@ enum mlx5_expansion {
>  		.rss_types = ETH_RSS_NONFRAG_IPV6_TCP,
>  	},
>  	[MLX5_EXPANSION_VXLAN] = {
> -		.next =
> RTE_FLOW_EXPAND_RSS_NEXT(MLX5_EXPANSION_ETH),
> +		.next =
> RTE_FLOW_EXPAND_RSS_NEXT(MLX5_EXPANSION_ETH,
> +						 MLX5_EXPANSION_IPV4,
> +						 MLX5_EXPANSION_IPV6),
>  		.type = RTE_FLOW_ITEM_TYPE_VXLAN,
>  	},
>  	[MLX5_EXPANSION_VXLAN_GPE] = {
> --
> 1.8.3.1


Patch applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-02-19 15:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-19  8:29 [dpdk-stable] [PATCH] net/mlx5: fix L3 vxlan RSS expansion Matan Azrad
2020-02-19  9:13 ` Slava Ovsiienko
2020-02-19 15:12 ` [dpdk-stable] [dpdk-dev] " Raslan Darawsheh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).