diff options
| author | Vlad Dogaru <vdogaru@nvidia.com> | 2025-07-03 21:54:25 +0300 | 
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2025-07-07 19:12:16 -0700 | 
| commit | 3dcac700d20b9e426386d7f59f1601db038fbf1c (patch) | |
| tree | 329621f1205cc1999a071b8edd380a0e0f5b2188 | |
| parent | d8e7ab591b506b56dc96021674938d0c7905e656 (diff) | |
net/mlx5: HWS, Refactor rule skip logic
Reduce nesting by adding a couple of early return statements.
Signed-off-by: Vlad Dogaru <vdogaru@nvidia.com>
Reviewed-by: Yevgeny Kliteynik <kliteyn@nvidia.com>
Signed-off-by: Mark Bloch <mbloch@nvidia.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250703185431.445571-5-mbloch@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
| -rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/steering/hws/rule.c | 25 | 
1 files changed, 13 insertions, 12 deletions
| diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/rule.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/rule.c index 4883e4e1d251..a94f094e72ba 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/rule.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/rule.c @@ -12,20 +12,21 @@ void mlx5hws_rule_skip(struct mlx5hws_matcher *matcher, u32 flow_source,  	if (flow_source == MLX5_FLOW_CONTEXT_FLOW_SOURCE_LOCAL_VPORT) {  		*skip_rx = true; -	} else if (flow_source == MLX5_FLOW_CONTEXT_FLOW_SOURCE_UPLINK) { +		return; +	} + +	if (flow_source == MLX5_FLOW_CONTEXT_FLOW_SOURCE_UPLINK) {  		*skip_tx = true; -	} else { -		/* If no flow source was set for current rule, -		 * check for flow source in matcher attributes. -		 */ -		if (matcher->attr.optimize_flow_src) { -			*skip_tx = -				matcher->attr.optimize_flow_src == MLX5HWS_MATCHER_FLOW_SRC_WIRE; -			*skip_rx = -				matcher->attr.optimize_flow_src == MLX5HWS_MATCHER_FLOW_SRC_VPORT; -			return; -		} +		return;  	} + +	/* If no flow source was set for current rule, +	 * check for flow source in matcher attributes. +	 */ +	*skip_tx = matcher->attr.optimize_flow_src == +			MLX5HWS_MATCHER_FLOW_SRC_WIRE; +	*skip_rx = matcher->attr.optimize_flow_src == +			MLX5HWS_MATCHER_FLOW_SRC_VPORT;  }  static void | 
