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

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

#include <linux/mlx5/eswitch.h>
#include <linux/err.h>
#include "dr_types.h"

#define DR_DOMAIN_SW_STEERING_SUPPORTED(dmn, dmn_type)

bool mlx5dr_domain_is_support_ptrn_arg(struct mlx5dr_domain *dmn)
{}

static int dr_domain_init_modify_header_resources(struct mlx5dr_domain *dmn)
{}

static void dr_domain_destroy_modify_header_resources(struct mlx5dr_domain *dmn)
{}

static void dr_domain_init_csum_recalc_fts(struct mlx5dr_domain *dmn)
{}

static void dr_domain_uninit_csum_recalc_fts(struct mlx5dr_domain *dmn)
{}

int mlx5dr_domain_get_recalc_cs_ft_addr(struct mlx5dr_domain *dmn,
					u16 vport_num,
					u64 *rx_icm_addr)
{}

static int dr_domain_init_mem_resources(struct mlx5dr_domain *dmn)
{}

static void dr_domain_uninit_mem_resources(struct mlx5dr_domain *dmn)
{}

static int dr_domain_init_resources(struct mlx5dr_domain *dmn)
{}

static void dr_domain_uninit_resources(struct mlx5dr_domain *dmn)
{}

static void dr_domain_fill_uplink_caps(struct mlx5dr_domain *dmn,
				       struct mlx5dr_cmd_vport_cap *uplink_vport)
{}

static int dr_domain_query_vport(struct mlx5dr_domain *dmn,
				 u16 vport_number,
				 bool other_vport,
				 struct mlx5dr_cmd_vport_cap *vport_caps)
{}

static int dr_domain_query_esw_mgr(struct mlx5dr_domain *dmn)
{}

static void dr_domain_query_uplink(struct mlx5dr_domain *dmn)
{}

static struct mlx5dr_cmd_vport_cap *
dr_domain_add_vport_cap(struct mlx5dr_domain *dmn, u16 vport)
{}

static bool dr_domain_is_esw_mgr_vport(struct mlx5dr_domain *dmn, u16 vport)
{}

struct mlx5dr_cmd_vport_cap *
mlx5dr_domain_get_vport_cap(struct mlx5dr_domain *dmn, u16 vport)
{}

static void dr_domain_clear_vports(struct mlx5dr_domain *dmn)
{}

static int dr_domain_query_fdb_caps(struct mlx5_core_dev *mdev,
				    struct mlx5dr_domain *dmn)
{}

static int dr_domain_caps_init(struct mlx5_core_dev *mdev,
			       struct mlx5dr_domain *dmn)
{}

static void dr_domain_caps_uninit(struct mlx5dr_domain *dmn)
{}

struct mlx5dr_domain *
mlx5dr_domain_create(struct mlx5_core_dev *mdev, enum mlx5dr_domain_type type)
{}

/* Assure synchronization of the device steering tables with updates made by SW
 * insertion.
 */
int mlx5dr_domain_sync(struct mlx5dr_domain *dmn, u32 flags)
{}

int mlx5dr_domain_destroy(struct mlx5dr_domain *dmn)
{}

void mlx5dr_domain_set_peer(struct mlx5dr_domain *dmn,
			    struct mlx5dr_domain *peer_dmn,
			    u16 peer_vhca_id)
{}