#ifndef MLX5HWS_ACTION_H_
#define MLX5HWS_ACTION_H_
#define MLX5HWS_ACTION_MAX_STE …
#define MLX5HWS_ACTION_IPV6_EXT_MAX_SA …
enum mlx5hws_action_stc_idx { … };
enum mlx5hws_action_offset { … };
enum { … };
enum mlx5hws_action_setter_flag { … };
struct mlx5hws_action_default_stc { … };
struct mlx5hws_action_shared_stc { … };
struct mlx5hws_actions_apply_data { … };
struct mlx5hws_actions_wqe_setter;
mlx5hws_action_setter_fp;
struct mlx5hws_actions_wqe_setter { … };
struct mlx5hws_action_template { … };
struct mlx5hws_action { … };
const char *mlx5hws_action_type_to_str(enum mlx5hws_action_type action_type);
int mlx5hws_action_get_default_stc(struct mlx5hws_context *ctx,
u8 tbl_type);
void mlx5hws_action_put_default_stc(struct mlx5hws_context *ctx,
u8 tbl_type);
void mlx5hws_action_prepare_decap_l3_data(u8 *src, u8 *dst,
u16 num_of_actions);
int mlx5hws_action_template_process(struct mlx5hws_action_template *at);
bool mlx5hws_action_check_combo(struct mlx5hws_context *ctx,
enum mlx5hws_action_type *user_actions,
enum mlx5hws_table_type table_type);
int mlx5hws_action_alloc_single_stc(struct mlx5hws_context *ctx,
struct mlx5hws_cmd_stc_modify_attr *stc_attr,
u32 table_type,
struct mlx5hws_pool_chunk *stc);
void mlx5hws_action_free_single_stc(struct mlx5hws_context *ctx,
u32 table_type,
struct mlx5hws_pool_chunk *stc);
static inline void
mlx5hws_action_setter_default_single(struct mlx5hws_actions_apply_data *apply,
struct mlx5hws_actions_wqe_setter *setter)
{ … }
static inline void
mlx5hws_action_setter_default_double(struct mlx5hws_actions_apply_data *apply,
struct mlx5hws_actions_wqe_setter *setter)
{ … }
static inline void
mlx5hws_action_setter_default_ctr(struct mlx5hws_actions_apply_data *apply,
struct mlx5hws_actions_wqe_setter *setter)
{ … }
static inline void
mlx5hws_action_apply_setter(struct mlx5hws_actions_apply_data *apply,
struct mlx5hws_actions_wqe_setter *setter,
bool is_jumbo)
{ … }
#endif