All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next] net/mlx5e: flower: check for unsupported control flags
@ 2024-04-17 13:51 Asbjørn Sloth Tønnesen
  2024-04-19 12:24 ` Simon Horman
  2024-04-22  6:58 ` Jianbo Liu
  0 siblings, 2 replies; 4+ messages in thread
From: Asbjørn Sloth Tønnesen @ 2024-04-17 13:51 UTC (permalink / raw)
  To: netdev
  Cc: Asbjørn Sloth Tønnesen, linux-kernel, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Saeed Mahameed,
	Tariq Toukan, Leon Romanovsky

Use flow_rule_is_supp_control_flags() to reject filters with
unsupported control flags.

In case any unsupported control flags are masked,
flow_rule_is_supp_control_flags() sets a NL extended
error message, and we return -EOPNOTSUPP.

Only compile-tested.

Signed-off-by: Asbjørn Sloth Tønnesen <ast@fiberby.net>
---
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
index aeb32cb27182..5019280cfcdd 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
@@ -2819,6 +2819,11 @@ static int __parse_cls_flower(struct mlx5e_priv *priv,
 			else
 				*match_level = MLX5_MATCH_L3;
 		}
+
+		if (!flow_rule_is_supp_control_flags(FLOW_DIS_IS_FRAGMENT |
+						     FLOW_DIS_FIRST_FRAG,
+						     match.mask->flags, extack))
+			return -EOPNOTSUPP;
 	}
 
 	if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_BASIC)) {
-- 
2.43.0


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

* Re: [PATCH net-next] net/mlx5e: flower: check for unsupported control flags
  2024-04-17 13:51 [PATCH net-next] net/mlx5e: flower: check for unsupported control flags Asbjørn Sloth Tønnesen
@ 2024-04-19 12:24 ` Simon Horman
  2024-04-22  6:58 ` Jianbo Liu
  1 sibling, 0 replies; 4+ messages in thread
From: Simon Horman @ 2024-04-19 12:24 UTC (permalink / raw)
  To: Asbjørn Sloth Tønnesen
  Cc: netdev, linux-kernel, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Saeed Mahameed, Tariq Toukan,
	Leon Romanovsky

On Wed, Apr 17, 2024 at 01:51:09PM +0000, Asbjørn Sloth Tønnesen wrote:
> Use flow_rule_is_supp_control_flags() to reject filters with
> unsupported control flags.
> 
> In case any unsupported control flags are masked,
> flow_rule_is_supp_control_flags() sets a NL extended
> error message, and we return -EOPNOTSUPP.
> 
> Only compile-tested.
> 
> Signed-off-by: Asbjørn Sloth Tønnesen <ast@fiberby.net>

Reviewed-by: Simon Horman <horms@kernel.org>


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

* Re: [PATCH net-next] net/mlx5e: flower: check for unsupported control flags
  2024-04-17 13:51 [PATCH net-next] net/mlx5e: flower: check for unsupported control flags Asbjørn Sloth Tønnesen
  2024-04-19 12:24 ` Simon Horman
@ 2024-04-22  6:58 ` Jianbo Liu
  2024-04-22  8:31   ` Asbjørn Sloth Tønnesen
  1 sibling, 1 reply; 4+ messages in thread
From: Jianbo Liu @ 2024-04-22  6:58 UTC (permalink / raw)
  To: ast, netdev
  Cc: davem, Tariq Toukan, linux-kernel, kuba, pabeni, edumazet,
	Saeed Mahameed, leon

On Wed, 2024-04-17 at 13:51 +0000, Asbjørn Sloth Tønnesen wrote:
> Use flow_rule_is_supp_control_flags() to reject filters with
> unsupported control flags.
> 
> In case any unsupported control flags are masked,
> flow_rule_is_supp_control_flags() sets a NL extended
> error message, and we return -EOPNOTSUPP.
> 
> Only compile-tested.
> 
> Signed-off-by: Asbjørn Sloth Tønnesen <ast@fiberby.net>
> ---
>  drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
> b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
> index aeb32cb27182..5019280cfcdd 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
> @@ -2819,6 +2819,11 @@ static int __parse_cls_flower(struct
> mlx5e_priv *priv,
>                         else
>                                 *match_level = MLX5_MATCH_L3;
>                 }
> +
> +               if
> (!flow_rule_is_supp_control_flags(FLOW_DIS_IS_FRAGMENT |
> +                                                   
> FLOW_DIS_FIRST_FRAG,

We reject FLOW_DIS_FIRST_FRAG at several lines above. I think you can
remove those lines and add FLOW_DIS_IS_FRAGMENT as the only supported
flag here.

Thanks!
Jianbo

> +                                                    match.mask-
> >flags, extack))
> +                       return -EOPNOTSUPP;
>         }
>  
>         if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_BASIC)) {


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

* Re: [PATCH net-next] net/mlx5e: flower: check for unsupported control flags
  2024-04-22  6:58 ` Jianbo Liu
@ 2024-04-22  8:31   ` Asbjørn Sloth Tønnesen
  0 siblings, 0 replies; 4+ messages in thread
From: Asbjørn Sloth Tønnesen @ 2024-04-22  8:31 UTC (permalink / raw)
  To: Jianbo Liu, netdev
  Cc: davem, Tariq Toukan, linux-kernel, kuba, pabeni, edumazet,
	Saeed Mahameed, leon

Hi Jianbo,

Thank you for the review.

On 4/22/24 6:58 AM, Jianbo Liu wrote:
> On Wed, 2024-04-17 at 13:51 +0000, Asbjørn Sloth Tønnesen wrote:
>> Use flow_rule_is_supp_control_flags() to reject filters with
>> unsupported control flags.
>>
>> In case any unsupported control flags are masked,
>> flow_rule_is_supp_control_flags() sets a NL extended
>> error message, and we return -EOPNOTSUPP.
>>
>> Only compile-tested.
>>
>> Signed-off-by: Asbjørn Sloth Tønnesen <ast@fiberby.net>
>> ---
>>   drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 5 +++++
>>   1 file changed, 5 insertions(+)
>>
>> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
>> b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
>> index aeb32cb27182..5019280cfcdd 100644
>> --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
>> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
>> @@ -2819,6 +2819,11 @@ static int __parse_cls_flower(struct
>> mlx5e_priv *priv,
>>                          else
>>                                  *match_level = MLX5_MATCH_L3;
>>                  }
>> +
>> +               if
>> (!flow_rule_is_supp_control_flags(FLOW_DIS_IS_FRAGMENT |
>> +
>> FLOW_DIS_FIRST_FRAG,
> 
> We reject FLOW_DIS_FIRST_FRAG at several lines above. I think you can
> remove those lines and add FLOW_DIS_IS_FRAGMENT as the only supported
> flag here.

Sure, I can do that. I originally kept it, since the error message was
more user-friendly.


-- 
Best regards
Asbjørn Sloth Tønnesen
Network Engineer
Fiberby - AS42541

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

end of thread, other threads:[~2024-04-22  8:31 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-17 13:51 [PATCH net-next] net/mlx5e: flower: check for unsupported control flags Asbjørn Sloth Tønnesen
2024-04-19 12:24 ` Simon Horman
2024-04-22  6:58 ` Jianbo Liu
2024-04-22  8:31   ` Asbjørn Sloth Tønnesen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.