[1/2] net/mlx5: fix bit width of flow items
Checks
Commit Message
Apply the changes from commit c744f6b1b969 ("net/mlx5: fix bit width of
item and action flags") in some places that were overlooked.
Fixes: c744f6b1b969 ("net/mlx5: fix bit width of item and action flags")
Fixes: 23c1d42c7138 ("net/mlx5: split flow validation to dedicated function")
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
---
drivers/net/mlx5/mlx5_flow.c | 10 +++++-----
drivers/net/mlx5/mlx5_flow.h | 4 ++--
2 files changed, 7 insertions(+), 7 deletions(-)
Comments
> On Oct 25, 2018, at 1:53 AM, Shahaf Shuler <shahafs@mellanox.com> wrote:
>
> Apply the changes from commit c744f6b1b969 ("net/mlx5: fix bit width of
> item and action flags") in some places that were overlooked.
>
> Fixes: c744f6b1b969 ("net/mlx5: fix bit width of item and action flags")
> Fixes: 23c1d42c7138 ("net/mlx5: split flow validation to dedicated function")
>
> Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
> ---
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Thanks
> drivers/net/mlx5/mlx5_flow.c | 10 +++++-----
> drivers/net/mlx5/mlx5_flow.h | 4 ++--
> 2 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
> index 280af0abce..87189a3405 100644
> --- a/drivers/net/mlx5/mlx5_flow.c
> +++ b/drivers/net/mlx5/mlx5_flow.c
> @@ -275,7 +275,7 @@ static const uint32_t priority_map_5[][MLX5_PRIORITY_MAP_MAX] = {
>
> /* Tunnel information. */
> struct mlx5_flow_tunnel_info {
> - uint32_t tunnel; /**< Tunnel bit (see MLX5_FLOW_*). */
> + uint64_t tunnel; /**< Tunnel bit (see MLX5_FLOW_*). */
> uint32_t ptype; /**< Tunnel Ptype (see RTE_PTYPE_*). */
> };
>
> @@ -1079,7 +1079,7 @@ mlx5_flow_validate_item_eth(const struct rte_flow_item *item,
> */
> int
> mlx5_flow_validate_item_vlan(const struct rte_flow_item *item,
> - int64_t item_flags,
> + uint64_t item_flags,
> struct rte_flow_error *error)
> {
> const struct rte_flow_item_vlan *spec = item->spec;
> @@ -1091,11 +1091,11 @@ mlx5_flow_validate_item_vlan(const struct rte_flow_item *item,
> uint16_t vlan_tag = 0;
> const int tunnel = !!(item_flags & MLX5_FLOW_LAYER_TUNNEL);
> int ret;
> - const uint32_t l34m = tunnel ? (MLX5_FLOW_LAYER_INNER_L3 |
> + const uint64_t l34m = tunnel ? (MLX5_FLOW_LAYER_INNER_L3 |
> MLX5_FLOW_LAYER_INNER_L4) :
> (MLX5_FLOW_LAYER_OUTER_L3 |
> MLX5_FLOW_LAYER_OUTER_L4);
> - const uint32_t vlanm = tunnel ? MLX5_FLOW_LAYER_INNER_VLAN :
> + const uint64_t vlanm = tunnel ? MLX5_FLOW_LAYER_INNER_VLAN :
> MLX5_FLOW_LAYER_OUTER_VLAN;
>
> if (item_flags & vlanm)
> @@ -1145,7 +1145,7 @@ mlx5_flow_validate_item_vlan(const struct rte_flow_item *item,
> */
> int
> mlx5_flow_validate_item_ipv4(const struct rte_flow_item *item,
> - int64_t item_flags,
> + uint64_t item_flags,
> struct rte_flow_error *error)
> {
> const struct rte_flow_item_ipv4 *mask = item->mask;
> diff --git a/drivers/net/mlx5/mlx5_flow.h b/drivers/net/mlx5/mlx5_flow.h
> index 61299d66b3..c24d26ed45 100644
> --- a/drivers/net/mlx5/mlx5_flow.h
> +++ b/drivers/net/mlx5/mlx5_flow.h
> @@ -336,7 +336,7 @@ int mlx5_flow_validate_item_gre(const struct rte_flow_item *item,
> uint8_t target_protocol,
> struct rte_flow_error *error);
> int mlx5_flow_validate_item_ipv4(const struct rte_flow_item *item,
> - int64_t item_flags,
> + uint64_t item_flags,
> struct rte_flow_error *error);
> int mlx5_flow_validate_item_ipv6(const struct rte_flow_item *item,
> uint64_t item_flags,
> @@ -355,7 +355,7 @@ int mlx5_flow_validate_item_udp(const struct rte_flow_item *item,
> uint8_t target_protocol,
> struct rte_flow_error *error);
> int mlx5_flow_validate_item_vlan(const struct rte_flow_item *item,
> - int64_t item_flags,
> + uint64_t item_flags,
> struct rte_flow_error *error);
> int mlx5_flow_validate_item_vxlan(const struct rte_flow_item *item,
> uint64_t item_flags,
> --
> 2.12.0
>
Saturday, October 27, 2018 2:01 AM, Yongseok Koh:
> Subject: Re: [PATCH 1/2] net/mlx5: fix bit width of flow items
>
>
> > On Oct 25, 2018, at 1:53 AM, Shahaf Shuler <shahafs@mellanox.com>
> wrote:
> >
> > Apply the changes from commit c744f6b1b969 ("net/mlx5: fix bit width
> > of item and action flags") in some places that were overlooked.
> >
> > Fixes: c744f6b1b969 ("net/mlx5: fix bit width of item and action
> > flags")
> > Fixes: 23c1d42c7138 ("net/mlx5: split flow validation to dedicated
> > function")
> >
> > Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
> > ---
> Acked-by: Yongseok Koh <yskoh@mellanox.com>
Series applied to next-net-mlx, thanks.
>
> Thanks
>
> > drivers/net/mlx5/mlx5_flow.c | 10 +++++-----
> > drivers/net/mlx5/mlx5_flow.h | 4 ++--
> > 2 files changed, 7 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/net/mlx5/mlx5_flow.c
> > b/drivers/net/mlx5/mlx5_flow.c index 280af0abce..87189a3405 100644
> > --- a/drivers/net/mlx5/mlx5_flow.c
> > +++ b/drivers/net/mlx5/mlx5_flow.c
> > @@ -275,7 +275,7 @@ static const uint32_t
> > priority_map_5[][MLX5_PRIORITY_MAP_MAX] = {
> >
> > /* Tunnel information. */
> > struct mlx5_flow_tunnel_info {
> > - uint32_t tunnel; /**< Tunnel bit (see MLX5_FLOW_*). */
> > + uint64_t tunnel; /**< Tunnel bit (see MLX5_FLOW_*). */
> > uint32_t ptype; /**< Tunnel Ptype (see RTE_PTYPE_*). */ };
> >
> > @@ -1079,7 +1079,7 @@ mlx5_flow_validate_item_eth(const struct
> > rte_flow_item *item, */ int mlx5_flow_validate_item_vlan(const struct
> > rte_flow_item *item,
> > - int64_t item_flags,
> > + uint64_t item_flags,
> > struct rte_flow_error *error)
> > {
> > const struct rte_flow_item_vlan *spec = item->spec; @@ -1091,11
> > +1091,11 @@ mlx5_flow_validate_item_vlan(const struct rte_flow_item
> *item,
> > uint16_t vlan_tag = 0;
> > const int tunnel = !!(item_flags & MLX5_FLOW_LAYER_TUNNEL);
> > int ret;
> > - const uint32_t l34m = tunnel ? (MLX5_FLOW_LAYER_INNER_L3 |
> > + const uint64_t l34m = tunnel ? (MLX5_FLOW_LAYER_INNER_L3 |
> > MLX5_FLOW_LAYER_INNER_L4) :
> > (MLX5_FLOW_LAYER_OUTER_L3 |
> > MLX5_FLOW_LAYER_OUTER_L4);
> > - const uint32_t vlanm = tunnel ? MLX5_FLOW_LAYER_INNER_VLAN :
> > + const uint64_t vlanm = tunnel ? MLX5_FLOW_LAYER_INNER_VLAN :
> > MLX5_FLOW_LAYER_OUTER_VLAN;
> >
> > if (item_flags & vlanm)
> > @@ -1145,7 +1145,7 @@ mlx5_flow_validate_item_vlan(const struct
> > rte_flow_item *item, */ int mlx5_flow_validate_item_ipv4(const struct
> > rte_flow_item *item,
> > - int64_t item_flags,
> > + uint64_t item_flags,
> > struct rte_flow_error *error)
> > {
> > const struct rte_flow_item_ipv4 *mask = item->mask; diff --git
> > a/drivers/net/mlx5/mlx5_flow.h b/drivers/net/mlx5/mlx5_flow.h index
> > 61299d66b3..c24d26ed45 100644
> > --- a/drivers/net/mlx5/mlx5_flow.h
> > +++ b/drivers/net/mlx5/mlx5_flow.h
> > @@ -336,7 +336,7 @@ int mlx5_flow_validate_item_gre(const struct
> rte_flow_item *item,
> > uint8_t target_protocol,
> > struct rte_flow_error *error);
> > int mlx5_flow_validate_item_ipv4(const struct rte_flow_item *item,
> > - int64_t item_flags,
> > + uint64_t item_flags,
> > struct rte_flow_error *error);
> > int mlx5_flow_validate_item_ipv6(const struct rte_flow_item *item,
> > uint64_t item_flags,
> > @@ -355,7 +355,7 @@ int mlx5_flow_validate_item_udp(const struct
> rte_flow_item *item,
> > uint8_t target_protocol,
> > struct rte_flow_error *error);
> > int mlx5_flow_validate_item_vlan(const struct rte_flow_item *item,
> > - int64_t item_flags,
> > + uint64_t item_flags,
> > struct rte_flow_error *error);
> > int mlx5_flow_validate_item_vxlan(const struct rte_flow_item *item,
> > uint64_t item_flags,
> > --
> > 2.12.0
> >
@@ -275,7 +275,7 @@ static const uint32_t priority_map_5[][MLX5_PRIORITY_MAP_MAX] = {
/* Tunnel information. */
struct mlx5_flow_tunnel_info {
- uint32_t tunnel; /**< Tunnel bit (see MLX5_FLOW_*). */
+ uint64_t tunnel; /**< Tunnel bit (see MLX5_FLOW_*). */
uint32_t ptype; /**< Tunnel Ptype (see RTE_PTYPE_*). */
};
@@ -1079,7 +1079,7 @@ mlx5_flow_validate_item_eth(const struct rte_flow_item *item,
*/
int
mlx5_flow_validate_item_vlan(const struct rte_flow_item *item,
- int64_t item_flags,
+ uint64_t item_flags,
struct rte_flow_error *error)
{
const struct rte_flow_item_vlan *spec = item->spec;
@@ -1091,11 +1091,11 @@ mlx5_flow_validate_item_vlan(const struct rte_flow_item *item,
uint16_t vlan_tag = 0;
const int tunnel = !!(item_flags & MLX5_FLOW_LAYER_TUNNEL);
int ret;
- const uint32_t l34m = tunnel ? (MLX5_FLOW_LAYER_INNER_L3 |
+ const uint64_t l34m = tunnel ? (MLX5_FLOW_LAYER_INNER_L3 |
MLX5_FLOW_LAYER_INNER_L4) :
(MLX5_FLOW_LAYER_OUTER_L3 |
MLX5_FLOW_LAYER_OUTER_L4);
- const uint32_t vlanm = tunnel ? MLX5_FLOW_LAYER_INNER_VLAN :
+ const uint64_t vlanm = tunnel ? MLX5_FLOW_LAYER_INNER_VLAN :
MLX5_FLOW_LAYER_OUTER_VLAN;
if (item_flags & vlanm)
@@ -1145,7 +1145,7 @@ mlx5_flow_validate_item_vlan(const struct rte_flow_item *item,
*/
int
mlx5_flow_validate_item_ipv4(const struct rte_flow_item *item,
- int64_t item_flags,
+ uint64_t item_flags,
struct rte_flow_error *error)
{
const struct rte_flow_item_ipv4 *mask = item->mask;
@@ -336,7 +336,7 @@ int mlx5_flow_validate_item_gre(const struct rte_flow_item *item,
uint8_t target_protocol,
struct rte_flow_error *error);
int mlx5_flow_validate_item_ipv4(const struct rte_flow_item *item,
- int64_t item_flags,
+ uint64_t item_flags,
struct rte_flow_error *error);
int mlx5_flow_validate_item_ipv6(const struct rte_flow_item *item,
uint64_t item_flags,
@@ -355,7 +355,7 @@ int mlx5_flow_validate_item_udp(const struct rte_flow_item *item,
uint8_t target_protocol,
struct rte_flow_error *error);
int mlx5_flow_validate_item_vlan(const struct rte_flow_item *item,
- int64_t item_flags,
+ uint64_t item_flags,
struct rte_flow_error *error);
int mlx5_flow_validate_item_vxlan(const struct rte_flow_item *item,
uint64_t item_flags,