linux/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/mlx5hws_rule.h

/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */
/* Copyright (c) 2024 NVIDIA Corporation & Affiliates */

#ifndef MLX5HWS_RULE_H_
#define MLX5HWS_RULE_H_

enum {};

enum mlx5hws_rule_status {};

enum mlx5hws_rule_move_state {};

enum mlx5hws_rule_jumbo_match_tag_offset {};

struct mlx5hws_rule_match_tag {};

struct mlx5hws_rule_resize_info {};

struct mlx5hws_rule {};

void mlx5hws_rule_free_action_ste(struct mlx5hws_rule *rule);

int mlx5hws_rule_move_hws_remove(struct mlx5hws_rule *rule,
				 void *queue, void *user_data);

int mlx5hws_rule_move_hws_add(struct mlx5hws_rule *rule,
			      struct mlx5hws_rule_attr *attr);

bool mlx5hws_rule_move_in_progress(struct mlx5hws_rule *rule);

void mlx5hws_rule_clear_resize_info(struct mlx5hws_rule *rule);

#endif /* MLX5HWS_RULE_H_ */