1 // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0
2 /* Copyright (c) 2018 Mellanox Technologies. All rights reserved */
4 #include <linux/kernel.h>
6 #include "core_acl_flex_actions.h"
8 #include "spectrum_mr.h"
11 mlxsw_sp2_mr_tcam_route_create(struct mlxsw_sp *mlxsw_sp, void *priv,
13 struct mlxsw_sp_mr_route_key *key,
14 struct mlxsw_afa_block *afa_block,
15 enum mlxsw_sp_mr_route_prio prio)
21 mlxsw_sp2_mr_tcam_route_destroy(struct mlxsw_sp *mlxsw_sp, void *priv,
23 struct mlxsw_sp_mr_route_key *key)
28 mlxsw_sp2_mr_tcam_route_update(struct mlxsw_sp *mlxsw_sp,
30 struct mlxsw_sp_mr_route_key *key,
31 struct mlxsw_afa_block *afa_block)
36 static int mlxsw_sp2_mr_tcam_init(struct mlxsw_sp *mlxsw_sp, void *priv)
41 static void mlxsw_sp2_mr_tcam_fini(void *priv)
45 const struct mlxsw_sp_mr_tcam_ops mlxsw_sp2_mr_tcam_ops = {
46 .init = mlxsw_sp2_mr_tcam_init,
47 .fini = mlxsw_sp2_mr_tcam_fini,
48 .route_create = mlxsw_sp2_mr_tcam_route_create,
49 .route_destroy = mlxsw_sp2_mr_tcam_route_destroy,
50 .route_update = mlxsw_sp2_mr_tcam_route_update,