linux/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c

// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB
/* Copyright (c) 2019 Mellanox Technologies. */

#include "dr_types.h"

static bool dr_mask_is_smac_set(struct mlx5dr_match_spec *spec)
{}

static bool dr_mask_is_dmac_set(struct mlx5dr_match_spec *spec)
{}

static bool dr_mask_is_l3_base_set(struct mlx5dr_match_spec *spec)
{}

static bool dr_mask_is_tcp_udp_base_set(struct mlx5dr_match_spec *spec)
{}

static bool dr_mask_is_ipv4_set(struct mlx5dr_match_spec *spec)
{}

static bool dr_mask_is_ipv4_5_tuple_set(struct mlx5dr_match_spec *spec)
{}

static bool dr_mask_is_eth_l2_tnl_set(struct mlx5dr_match_misc *misc)
{}

static bool dr_mask_is_ttl_set(struct mlx5dr_match_spec *spec)
{}

static bool dr_mask_is_ipv4_ihl_set(struct mlx5dr_match_spec *spec)
{}

#define DR_MASK_IS_L2_DST(_spec, _misc, _inner_outer)

#define DR_MASK_IS_ETH_L4_SET(_spec, _misc, _inner_outer)

#define DR_MASK_IS_ETH_L4_MISC_SET(_misc3, _inner_outer)

#define DR_MASK_IS_FIRST_MPLS_SET(_misc2, _inner_outer)

static bool dr_mask_is_tnl_gre_set(struct mlx5dr_match_misc *misc)
{}

#define DR_MASK_IS_OUTER_MPLS_OVER_GRE_SET(_misc)

#define DR_MASK_IS_OUTER_MPLS_OVER_UDP_SET(_misc)

static bool
dr_mask_is_vxlan_gpe_set(struct mlx5dr_match_misc3 *misc3)
{}

static bool
dr_matcher_supp_vxlan_gpe(struct mlx5dr_cmd_caps *caps)
{}

static bool
dr_mask_is_tnl_vxlan_gpe(struct mlx5dr_match_param *mask,
			 struct mlx5dr_domain *dmn)
{}

static bool dr_mask_is_tnl_geneve_set(struct mlx5dr_match_misc *misc)
{}

static bool dr_mask_is_tnl_geneve_tlv_opt(struct mlx5dr_match_misc3 *misc3)
{}

static bool
dr_matcher_supp_flex_parser_ok(struct mlx5dr_cmd_caps *caps)
{}

static bool dr_mask_is_tnl_geneve_tlv_opt_exist_set(struct mlx5dr_match_misc *misc,
						    struct mlx5dr_domain *dmn)
{}

static bool
dr_matcher_supp_tnl_geneve(struct mlx5dr_cmd_caps *caps)
{}

static bool
dr_mask_is_tnl_geneve(struct mlx5dr_match_param *mask,
		      struct mlx5dr_domain *dmn)
{}

static bool dr_mask_is_tnl_gtpu_set(struct mlx5dr_match_misc3 *misc3)
{}

static bool dr_matcher_supp_tnl_gtpu(struct mlx5dr_cmd_caps *caps)
{}

static bool dr_mask_is_tnl_gtpu(struct mlx5dr_match_param *mask,
				struct mlx5dr_domain *dmn)
{}

static int dr_matcher_supp_tnl_gtpu_dw_0(struct mlx5dr_cmd_caps *caps)
{}

static bool dr_mask_is_tnl_gtpu_dw_0(struct mlx5dr_match_param *mask,
				     struct mlx5dr_domain *dmn)
{}

static int dr_matcher_supp_tnl_gtpu_teid(struct mlx5dr_cmd_caps *caps)
{}

static bool dr_mask_is_tnl_gtpu_teid(struct mlx5dr_match_param *mask,
				     struct mlx5dr_domain *dmn)
{}

static int dr_matcher_supp_tnl_gtpu_dw_2(struct mlx5dr_cmd_caps *caps)
{}

static bool dr_mask_is_tnl_gtpu_dw_2(struct mlx5dr_match_param *mask,
				     struct mlx5dr_domain *dmn)
{}

static int dr_matcher_supp_tnl_gtpu_first_ext(struct mlx5dr_cmd_caps *caps)
{}

static bool dr_mask_is_tnl_gtpu_first_ext(struct mlx5dr_match_param *mask,
					  struct mlx5dr_domain *dmn)
{}

static bool dr_mask_is_tnl_gtpu_flex_parser_0(struct mlx5dr_match_param *mask,
					      struct mlx5dr_domain *dmn)
{}

static bool dr_mask_is_tnl_gtpu_flex_parser_1(struct mlx5dr_match_param *mask,
					      struct mlx5dr_domain *dmn)
{}

static bool dr_mask_is_tnl_gtpu_any(struct mlx5dr_match_param *mask,
				    struct mlx5dr_domain *dmn)
{}

static int dr_matcher_supp_icmp_v4(struct mlx5dr_cmd_caps *caps)
{}

static int dr_matcher_supp_icmp_v6(struct mlx5dr_cmd_caps *caps)
{}

static bool dr_mask_is_icmpv6_set(struct mlx5dr_match_misc3 *misc3)
{}

static bool dr_mask_is_icmp(struct mlx5dr_match_param *mask,
			    struct mlx5dr_domain *dmn)
{}

static bool dr_mask_is_wqe_metadata_set(struct mlx5dr_match_misc2 *misc2)
{}

static bool dr_mask_is_reg_c_0_3_set(struct mlx5dr_match_misc2 *misc2)
{}

static bool dr_mask_is_reg_c_4_7_set(struct mlx5dr_match_misc2 *misc2)
{}

static bool dr_mask_is_gvmi_or_qpn_set(struct mlx5dr_match_misc *misc)
{}

static bool dr_mask_is_flex_parser_id_0_3_set(u32 flex_parser_id,
					      u32 flex_parser_value)
{}

static bool dr_mask_is_flex_parser_0_3_set(struct mlx5dr_match_misc4 *misc4)
{}

static bool dr_mask_is_flex_parser_id_4_7_set(u32 flex_parser_id)
{}

static bool dr_mask_is_flex_parser_4_7_set(struct mlx5dr_match_misc4 *misc4)
{}

static int dr_matcher_supp_tnl_mpls_over_gre(struct mlx5dr_cmd_caps *caps)
{}

static bool dr_mask_is_tnl_mpls_over_gre(struct mlx5dr_match_param *mask,
					 struct mlx5dr_domain *dmn)
{}

static int dr_matcher_supp_tnl_mpls_over_udp(struct mlx5dr_cmd_caps *caps)
{}

static bool dr_mask_is_tnl_mpls_over_udp(struct mlx5dr_match_param *mask,
					 struct mlx5dr_domain *dmn)
{}

static bool dr_mask_is_tnl_header_0_1_set(struct mlx5dr_match_misc5 *misc5)
{}

int mlx5dr_matcher_select_builders(struct mlx5dr_matcher *matcher,
				   struct mlx5dr_matcher_rx_tx *nic_matcher,
				   enum mlx5dr_ipv outer_ipv,
				   enum mlx5dr_ipv inner_ipv)
{}

static int dr_matcher_set_ste_builders(struct mlx5dr_matcher *matcher,
				       struct mlx5dr_matcher_rx_tx *nic_matcher,
				       enum mlx5dr_ipv outer_ipv,
				       enum mlx5dr_ipv inner_ipv)
{}

static int dr_nic_matcher_connect(struct mlx5dr_domain *dmn,
				  struct mlx5dr_matcher_rx_tx *curr_nic_matcher,
				  struct mlx5dr_matcher_rx_tx *next_nic_matcher,
				  struct mlx5dr_matcher_rx_tx *prev_nic_matcher)
{}

int mlx5dr_matcher_add_to_tbl_nic(struct mlx5dr_domain *dmn,
				  struct mlx5dr_matcher_rx_tx *nic_matcher)
{}

static void dr_matcher_uninit_nic(struct mlx5dr_matcher_rx_tx *nic_matcher)
{}

static void dr_matcher_uninit_fdb(struct mlx5dr_matcher *matcher)
{}

static void dr_matcher_uninit(struct mlx5dr_matcher *matcher)
{}

static int dr_matcher_set_all_ste_builders(struct mlx5dr_matcher *matcher,
					   struct mlx5dr_matcher_rx_tx *nic_matcher)
{}

static int dr_matcher_init_nic(struct mlx5dr_matcher *matcher,
			       struct mlx5dr_matcher_rx_tx *nic_matcher)
{}

static int dr_matcher_init_fdb(struct mlx5dr_matcher *matcher)
{}

static int dr_matcher_copy_param(struct mlx5dr_matcher *matcher,
				 struct mlx5dr_match_parameters *mask)
{}

static int dr_matcher_init(struct mlx5dr_matcher *matcher,
			   struct mlx5dr_match_parameters *mask)
{}

static void dr_matcher_add_to_dbg_list(struct mlx5dr_matcher *matcher)
{}

static void dr_matcher_remove_from_dbg_list(struct mlx5dr_matcher *matcher)
{}

struct mlx5dr_matcher *
mlx5dr_matcher_create(struct mlx5dr_table *tbl,
		      u32 priority,
		      u8 match_criteria_enable,
		      struct mlx5dr_match_parameters *mask)
{}

static int dr_matcher_disconnect_nic(struct mlx5dr_domain *dmn,
				     struct mlx5dr_table_rx_tx *nic_tbl,
				     struct mlx5dr_matcher_rx_tx *next_nic_matcher,
				     struct mlx5dr_matcher_rx_tx *prev_nic_matcher)
{}

int mlx5dr_matcher_remove_from_tbl_nic(struct mlx5dr_domain *dmn,
				       struct mlx5dr_matcher_rx_tx *nic_matcher)
{}

int mlx5dr_matcher_destroy(struct mlx5dr_matcher *matcher)
{}