All comparison should be done in CPU endianness, otherwise it will not give right results. for example: 255 after converting into RTE_BE16 will be biger than 4096 after converting into RTE_BE16. Fixes: a5f2da0b816b ("net/mlx5: support modify VLAN ID on new VLAN header") Cc: motih@mellanox.com Cc: stable@dpdk.org backport Signed-off-by: Wisam Jaddo <wisamm@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 6263ecc731..2b88e85248 100644 --- a/drivers/net/mlx5/mlx5_flow_dv.c +++ b/drivers/net/mlx5/mlx5_flow_dv.c @@ -1965,7 +1965,7 @@ flow_dv_validate_action_set_vlan_vid(uint64_t item_flags, const struct rte_flow_action *action = actions; const struct rte_flow_action_of_set_vlan_vid *conf = action->conf; - if (conf->vlan_vid > RTE_BE16(0xFFE)) + if (rte_be_to_cpu_16(conf->vlan_vid) > 0xFFE) return rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_ACTION, action, "VLAN VID value is too big"); -- 2.17.1
> -----Original Message----- > From: Wisam Monther <wisamm@mellanox.com> > Sent: Thursday, April 30, 2020 11:31 > To: dev@dpdk.org; Dekel Peled <dekelp@mellanox.com>; Slava Ovsiienko > <viacheslavo@mellanox.com>; Raslan Darawsheh <rasland@mellanox.com> > Cc: Moti Haimovsky <motih@mellanox.com>; stable@dpdk.org > Subject: [PATCH] net/mlx5: fix set VLAN vid size check > > All comparison should be done in CPU endianness, otherwise it will not give > right results. > > for example: > 255 after converting into RTE_BE16 will be biger than 4096 after converting > into RTE_BE16. > > Fixes: a5f2da0b816b ("net/mlx5: support modify VLAN ID on new VLAN > header") > Cc: motih@mellanox.com > Cc: stable@dpdk.org backport > > Signed-off-by: Wisam Jaddo <wisamm@mellanox.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@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 6263ecc731..2b88e85248 100644 > --- a/drivers/net/mlx5/mlx5_flow_dv.c > +++ b/drivers/net/mlx5/mlx5_flow_dv.c > @@ -1965,7 +1965,7 @@ flow_dv_validate_action_set_vlan_vid(uint64_t > item_flags, > const struct rte_flow_action *action = actions; > const struct rte_flow_action_of_set_vlan_vid *conf = action->conf; > > - if (conf->vlan_vid > RTE_BE16(0xFFE)) > + if (rte_be_to_cpu_16(conf->vlan_vid) > 0xFFE) > return rte_flow_error_set(error, EINVAL, > RTE_FLOW_ERROR_TYPE_ACTION, > action, > "VLAN VID value is too big"); > -- > 2.17.1
Hi,
> -----Original Message-----
> From: Wisam Monther <wisamm@mellanox.com>
> Sent: Thursday, April 30, 2020 11:31 AM
> To: dev@dpdk.org; Dekel Peled <dekelp@mellanox.com>; Slava Ovsiienko
> <viacheslavo@mellanox.com>; Raslan Darawsheh <rasland@mellanox.com>
> Cc: Moti Haimovsky <motih@mellanox.com>; stable@dpdk.org
> Subject: [PATCH] net/mlx5: fix set VLAN vid size check
>
> All comparison should be done in CPU endianness, otherwise
> it will not give right results.
>
> for example:
> 255 after converting into RTE_BE16 will be biger than 4096 after
> converting into RTE_BE16.
>
> Fixes: a5f2da0b816b ("net/mlx5: support modify VLAN ID on new VLAN
> header")
> Cc: motih@mellanox.com
> Cc: stable@dpdk.org backport
>
> Signed-off-by: Wisam Jaddo <wisamm@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 6263ecc731..2b88e85248 100644
> --- a/drivers/net/mlx5/mlx5_flow_dv.c
> +++ b/drivers/net/mlx5/mlx5_flow_dv.c
> @@ -1965,7 +1965,7 @@ flow_dv_validate_action_set_vlan_vid(uint64_t
> item_flags,
> const struct rte_flow_action *action = actions;
> const struct rte_flow_action_of_set_vlan_vid *conf = action->conf;
>
> - if (conf->vlan_vid > RTE_BE16(0xFFE))
> + if (rte_be_to_cpu_16(conf->vlan_vid) > 0xFFE)
> return rte_flow_error_set(error, EINVAL,
> RTE_FLOW_ERROR_TYPE_ACTION,
> action,
> "VLAN VID value is too big");
> --
> 2.17.1
Patch applied to next-net-mlx,
Kindest regards,
Raslan Darawsheh