net/mlx5: fix the blocker for push VLAN in Rx path

Message ID 1581427206-3434-1-git-send-email-wisamm@mellanox.com (mailing list archive)
State Accepted, archived
Delegated to: Raslan Darawsheh
Headers
Series net/mlx5: fix the blocker for push VLAN in Rx path |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/travis-robot success Travis build: passed
ci/Intel-compilation fail apply issues

Commit Message

Wisam Jaddo Feb. 11, 2020, 1:20 p.m. UTC
  The blocker should take FDB into consideration, since FDB all directions
have transfer ingress in it.

Fixes: 55060e62e4d2 ("net/mlx5: block push VLAN action on Rx")
Cc: dekelp@mellanox.com

Signed-off-by: Wisam Jaddo <wisamm@mellanox.com>
---
 drivers/net/mlx5/mlx5_flow_dv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Raslan Darawsheh Feb. 12, 2020, 12:52 p.m. UTC | #1
Hi,
 
> -----Original Message-----
> From: Wisam Monther <wisamm@mellanox.com>
> Sent: Tuesday, February 11, 2020 3:20 PM
> To: Matan Azrad <matan@mellanox.com>; Slava Ovsiienko
> <viacheslavo@mellanox.com>; Raslan Darawsheh <rasland@mellanox.com>
> Cc: dev@dpdk.org; Dekel Peled <dekelp@mellanox.com>
> Subject: [PATCH] net/mlx5: fix the blocker for push VLAN in Rx path
> 
> The blocker should take FDB into consideration, since FDB all directions
> have transfer ingress in it.
> 
> Fixes: 55060e62e4d2 ("net/mlx5: block push VLAN action on Rx")
> Cc: dekelp@mellanox.com
Removed Cc: Dekel, 
Added Cc: stable@dpdk.org

> 
> Signed-off-by: Wisam Jaddo <wisamm@mellanox.com>
Acked-by: Raslan Darawsheh <rasland@mellanox.com>

> ---
>  drivers/net/mlx5/mlx5_flow_dv.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/mlx5/mlx5_flow_dv.c
> b/drivers/net/mlx5/mlx5_flow_dv.c
> index e71b3b5..c986f25 100644
> --- a/drivers/net/mlx5/mlx5_flow_dv.c
> +++ b/drivers/net/mlx5/mlx5_flow_dv.c
> @@ -1746,7 +1746,7 @@ flow_dv_validate_action_push_vlan(uint64_t
> action_flags,
>  {
>  	const struct rte_flow_action_of_push_vlan *push_vlan = action-
> >conf;
> 
> -	if (attr->ingress)
> +	if (!attr->transfer && attr->ingress)
>  		return rte_flow_error_set(error, ENOTSUP,
> 
> RTE_FLOW_ERROR_TYPE_ATTR_INGRESS,
>  					  NULL,
> --
> 2.7.4


Patch applied to next-net-mlx,

Kindest regards
Raslan Darawsheh
  

Patch

diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
index e71b3b5..c986f25 100644
--- a/drivers/net/mlx5/mlx5_flow_dv.c
+++ b/drivers/net/mlx5/mlx5_flow_dv.c
@@ -1746,7 +1746,7 @@  flow_dv_validate_action_push_vlan(uint64_t action_flags,
 {
 	const struct rte_flow_action_of_push_vlan *push_vlan = action->conf;
 
-	if (attr->ingress)
+	if (!attr->transfer && attr->ingress)
 		return rte_flow_error_set(error, ENOTSUP,
 					  RTE_FLOW_ERROR_TYPE_ATTR_INGRESS,
 					  NULL,