[1/2] net/mlx5: fix bit width of flow items

Message ID 20181025085351.15738-1-shahafs@mellanox.com (mailing list archive)
State Accepted, archived
Delegated to: Shahaf Shuler
Headers
Series [1/2] net/mlx5: fix bit width of flow items |

Checks

Context Check Description
ci/Intel-compilation success Compilation OK
ci/checkpatch success coding style OK

Commit Message

Shahaf Shuler Oct. 25, 2018, 8:53 a.m. UTC
  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

Yongseok Koh Oct. 26, 2018, 11:01 p.m. UTC | #1
> 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
>
  
Shahaf Shuler Oct. 28, 2018, 12:53 p.m. UTC | #2
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
> >
  

Patch

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,