drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 5 +++++ 1 file changed, 5 insertions(+)
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
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)) {
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
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>
© 2016 - 2024 Red Hat, Inc.