linux/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/mlx5hws_matcher.c

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

#include "mlx5hws_internal.h"

enum mlx5hws_matcher_rtc_type {};

static const char * const mlx5hws_matcher_rtc_type_str[] =;

static const char *hws_matcher_rtc_type_to_str(enum mlx5hws_matcher_rtc_type rtc_type)
{}

static bool hws_matcher_requires_col_tbl(u8 log_num_of_rules)
{}

static u8 hws_matcher_rules_to_tbl_depth(u8 log_num_of_rules)
{}

static void hws_matcher_destroy_end_ft(struct mlx5hws_matcher *matcher)
{}

static int hws_matcher_create_end_ft(struct mlx5hws_matcher *matcher)
{}

static int hws_matcher_connect(struct mlx5hws_matcher *matcher)
{}

static int hws_matcher_disconnect(struct mlx5hws_matcher *matcher)
{}

static void hws_matcher_set_rtc_attr_sz(struct mlx5hws_matcher *matcher,
					struct mlx5hws_cmd_rtc_create_attr *rtc_attr,
					enum mlx5hws_matcher_rtc_type rtc_type,
					bool is_mirror)
{}

static int hws_matcher_create_rtc(struct mlx5hws_matcher *matcher,
				  enum mlx5hws_matcher_rtc_type rtc_type,
				  u8 action_ste_selector)
{}

static void hws_matcher_destroy_rtc(struct mlx5hws_matcher *matcher,
				    enum mlx5hws_matcher_rtc_type rtc_type,
				    u8 action_ste_selector)
{}

static int
hws_matcher_check_attr_sz(struct mlx5hws_cmd_query_caps *caps,
			  struct mlx5hws_matcher *matcher)
{}

static void hws_matcher_set_pool_attr(struct mlx5hws_pool_attr *attr,
				      struct mlx5hws_matcher *matcher)
{}

static int hws_matcher_check_and_process_at(struct mlx5hws_matcher *matcher,
					    struct mlx5hws_action_template *at)
{}

static int hws_matcher_resize_init(struct mlx5hws_matcher *src_matcher)
{}

static void hws_matcher_resize_uninit(struct mlx5hws_matcher *matcher)
{}

static int
hws_matcher_bind_at_idx(struct mlx5hws_matcher *matcher, u8 action_ste_selector)
{}

static void hws_matcher_unbind_at_idx(struct mlx5hws_matcher *matcher, u8 action_ste_selector)
{}

static int hws_matcher_bind_at(struct mlx5hws_matcher *matcher)
{}

static void hws_matcher_unbind_at(struct mlx5hws_matcher *matcher)
{}

static int hws_matcher_bind_mt(struct mlx5hws_matcher *matcher)
{}

static void hws_matcher_unbind_mt(struct mlx5hws_matcher *matcher)
{}

static int
hws_matcher_validate_insert_mode(struct mlx5hws_cmd_query_caps *caps,
				 struct mlx5hws_matcher *matcher)
{}

static int
hws_matcher_process_attr(struct mlx5hws_cmd_query_caps *caps,
			 struct mlx5hws_matcher *matcher)
{}

static int hws_matcher_create_and_connect(struct mlx5hws_matcher *matcher)
{}

static void hws_matcher_destroy_and_disconnect(struct mlx5hws_matcher *matcher)
{}

static int
hws_matcher_create_col_matcher(struct mlx5hws_matcher *matcher)
{}

static void
hws_matcher_destroy_col_matcher(struct mlx5hws_matcher *matcher)
{}

static int hws_matcher_init(struct mlx5hws_matcher *matcher)
{}

static int hws_matcher_uninit(struct mlx5hws_matcher *matcher)
{}

int mlx5hws_matcher_attach_at(struct mlx5hws_matcher *matcher,
			      struct mlx5hws_action_template *at)
{}

static int
hws_matcher_set_templates(struct mlx5hws_matcher *matcher,
			  struct mlx5hws_match_template *mt[],
			  u8 num_of_mt,
			  struct mlx5hws_action_template *at[],
			  u8 num_of_at)
{}

static void
hws_matcher_unset_templates(struct mlx5hws_matcher *matcher)
{}

struct mlx5hws_matcher *
mlx5hws_matcher_create(struct mlx5hws_table *tbl,
		       struct mlx5hws_match_template *mt[],
		       u8 num_of_mt,
		       struct mlx5hws_action_template *at[],
		       u8 num_of_at,
		       struct mlx5hws_matcher_attr *attr)
{}

int mlx5hws_matcher_destroy(struct mlx5hws_matcher *matcher)
{}

struct mlx5hws_match_template *
mlx5hws_match_template_create(struct mlx5hws_context *ctx,
			      u32 *match_param,
			      u32 match_param_sz,
			      u8 match_criteria_enable)
{}

int mlx5hws_match_template_destroy(struct mlx5hws_match_template *mt)
{}

static int hws_matcher_resize_precheck(struct mlx5hws_matcher *src_matcher,
				       struct mlx5hws_matcher *dst_matcher)
{}

int mlx5hws_matcher_resize_set_target(struct mlx5hws_matcher *src_matcher,
				      struct mlx5hws_matcher *dst_matcher)
{}

int mlx5hws_matcher_resize_rule_move(struct mlx5hws_matcher *src_matcher,
				     struct mlx5hws_rule *rule,
				     struct mlx5hws_rule_attr *attr)
{}