mr_tcam 83 drivers/net/ethernet/mellanox/mlxsw/spectrum1_mr_tcam.c mlxsw_sp1_mr_tcam_protocol_region(struct mlxsw_sp1_mr_tcam *mr_tcam, mr_tcam 86 drivers/net/ethernet/mellanox/mlxsw/spectrum1_mr_tcam.c return &mr_tcam->tcam_regions[proto]; mr_tcam 90 drivers/net/ethernet/mellanox/mlxsw/spectrum1_mr_tcam.c mlxsw_sp1_mr_tcam_route_parman_item_add(struct mlxsw_sp1_mr_tcam *mr_tcam, mr_tcam 98 drivers/net/ethernet/mellanox/mlxsw/spectrum1_mr_tcam.c tcam_region = mlxsw_sp1_mr_tcam_protocol_region(mr_tcam, key->proto); mr_tcam 110 drivers/net/ethernet/mellanox/mlxsw/spectrum1_mr_tcam.c mlxsw_sp1_mr_tcam_route_parman_item_remove(struct mlxsw_sp1_mr_tcam *mr_tcam, mr_tcam 116 drivers/net/ethernet/mellanox/mlxsw/spectrum1_mr_tcam.c tcam_region = mlxsw_sp1_mr_tcam_protocol_region(mr_tcam, key->proto); mr_tcam 129 drivers/net/ethernet/mellanox/mlxsw/spectrum1_mr_tcam.c struct mlxsw_sp1_mr_tcam *mr_tcam = priv; mr_tcam 132 drivers/net/ethernet/mellanox/mlxsw/spectrum1_mr_tcam.c err = mlxsw_sp1_mr_tcam_route_parman_item_add(mr_tcam, route, mr_tcam 144 drivers/net/ethernet/mellanox/mlxsw/spectrum1_mr_tcam.c mlxsw_sp1_mr_tcam_route_parman_item_remove(mr_tcam, route, key); mr_tcam 154 drivers/net/ethernet/mellanox/mlxsw/spectrum1_mr_tcam.c struct mlxsw_sp1_mr_tcam *mr_tcam = priv; mr_tcam 157 drivers/net/ethernet/mellanox/mlxsw/spectrum1_mr_tcam.c mlxsw_sp1_mr_tcam_route_parman_item_remove(mr_tcam, route, key); mr_tcam 296 drivers/net/ethernet/mellanox/mlxsw/spectrum1_mr_tcam.c struct mlxsw_sp1_mr_tcam *mr_tcam = priv; mr_tcam 297 drivers/net/ethernet/mellanox/mlxsw/spectrum1_mr_tcam.c struct mlxsw_sp1_mr_tcam_region *region = &mr_tcam->tcam_regions[0]; mr_tcam 327 drivers/net/ethernet/mellanox/mlxsw/spectrum1_mr_tcam.c struct mlxsw_sp1_mr_tcam *mr_tcam = priv; mr_tcam 328 drivers/net/ethernet/mellanox/mlxsw/spectrum1_mr_tcam.c struct mlxsw_sp1_mr_tcam_region *region = &mr_tcam->tcam_regions[0]; mr_tcam 18 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c struct mlxsw_sp2_mr_tcam *mr_tcam; mr_tcam 22 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c mlxsw_sp2_mr_tcam_proto_ruleset(struct mlxsw_sp2_mr_tcam *mr_tcam, mr_tcam 27 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c return mr_tcam->ruleset4; mr_tcam 29 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c return mr_tcam->ruleset6; mr_tcam 54 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c static int mlxsw_sp2_mr_tcam_ipv4_init(struct mlxsw_sp2_mr_tcam *mr_tcam) mr_tcam 63 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c mr_tcam->ruleset4 = mlxsw_sp_acl_ruleset_get(mr_tcam->mlxsw_sp, mr_tcam 64 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c mr_tcam->acl_block, mr_tcam 69 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c if (IS_ERR(mr_tcam->ruleset4)) mr_tcam 70 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c return PTR_ERR(mr_tcam->ruleset4); mr_tcam 73 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c err = mlxsw_sp2_mr_tcam_bind_group(mr_tcam->mlxsw_sp, mr_tcam 75 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c mr_tcam->ruleset4); mr_tcam 82 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c mlxsw_sp_acl_ruleset_put(mr_tcam->mlxsw_sp, mr_tcam->ruleset4); mr_tcam 86 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c static void mlxsw_sp2_mr_tcam_ipv4_fini(struct mlxsw_sp2_mr_tcam *mr_tcam) mr_tcam 88 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c mlxsw_sp_acl_ruleset_put(mr_tcam->mlxsw_sp, mr_tcam->ruleset4); mr_tcam 104 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c static int mlxsw_sp2_mr_tcam_ipv6_init(struct mlxsw_sp2_mr_tcam *mr_tcam) mr_tcam 113 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c mr_tcam->ruleset6 = mlxsw_sp_acl_ruleset_get(mr_tcam->mlxsw_sp, mr_tcam 114 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c mr_tcam->acl_block, mr_tcam 119 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c if (IS_ERR(mr_tcam->ruleset6)) mr_tcam 120 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c return PTR_ERR(mr_tcam->ruleset6); mr_tcam 123 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c err = mlxsw_sp2_mr_tcam_bind_group(mr_tcam->mlxsw_sp, mr_tcam 125 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c mr_tcam->ruleset6); mr_tcam 132 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c mlxsw_sp_acl_ruleset_put(mr_tcam->mlxsw_sp, mr_tcam->ruleset6); mr_tcam 136 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c static void mlxsw_sp2_mr_tcam_ipv6_fini(struct mlxsw_sp2_mr_tcam *mr_tcam) mr_tcam 138 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c mlxsw_sp_acl_ruleset_put(mr_tcam->mlxsw_sp, mr_tcam->ruleset6); mr_tcam 213 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c struct mlxsw_sp2_mr_tcam *mr_tcam = priv; mr_tcam 218 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c mr_route->mr_tcam = mr_tcam; mr_tcam 219 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c ruleset = mlxsw_sp2_mr_tcam_proto_ruleset(mr_tcam, key->proto); mr_tcam 246 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c struct mlxsw_sp2_mr_tcam *mr_tcam = priv; mr_tcam 250 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c ruleset = mlxsw_sp2_mr_tcam_proto_ruleset(mr_tcam, key->proto); mr_tcam 270 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c struct mlxsw_sp2_mr_tcam *mr_tcam = mr_route->mr_tcam; mr_tcam 274 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c ruleset = mlxsw_sp2_mr_tcam_proto_ruleset(mr_tcam, key->proto); mr_tcam 288 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c struct mlxsw_sp2_mr_tcam *mr_tcam = priv; mr_tcam 291 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c mr_tcam->mlxsw_sp = mlxsw_sp; mr_tcam 292 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c mr_tcam->acl_block = mlxsw_sp_acl_block_create(mlxsw_sp, NULL); mr_tcam 293 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c if (!mr_tcam->acl_block) mr_tcam 296 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c err = mlxsw_sp2_mr_tcam_ipv4_init(mr_tcam); mr_tcam 300 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c err = mlxsw_sp2_mr_tcam_ipv6_init(mr_tcam); mr_tcam 307 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c mlxsw_sp2_mr_tcam_ipv4_fini(mr_tcam); mr_tcam 309 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c mlxsw_sp_acl_block_destroy(mr_tcam->acl_block); mr_tcam 315 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c struct mlxsw_sp2_mr_tcam *mr_tcam = priv; mr_tcam 317 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c mlxsw_sp2_mr_tcam_ipv6_fini(mr_tcam); mr_tcam 318 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c mlxsw_sp2_mr_tcam_ipv4_fini(mr_tcam); mr_tcam 319 drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c mlxsw_sp_acl_block_destroy(mr_tcam->acl_block); mr_tcam 285 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr_tcam.c struct mlxsw_sp_mr_tcam *mr_tcam = priv; mr_tcam 324 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr_tcam.c err = ops->route_create(mlxsw_sp, mr_tcam->priv, route->priv, mr_tcam 348 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr_tcam.c struct mlxsw_sp_mr_tcam *mr_tcam = priv; mr_tcam 350 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr_tcam.c ops->route_destroy(mlxsw_sp, mr_tcam->priv, route->priv, &route->key); mr_tcam 572 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr_tcam.c struct mlxsw_sp_mr_tcam *mr_tcam = priv; mr_tcam 578 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr_tcam.c mr_tcam->priv = kzalloc(ops->priv_size, GFP_KERNEL); mr_tcam 579 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr_tcam.c if (!mr_tcam->priv) mr_tcam 582 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr_tcam.c err = ops->init(mlxsw_sp, mr_tcam->priv); mr_tcam 588 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr_tcam.c kfree(mr_tcam->priv); mr_tcam 595 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr_tcam.c struct mlxsw_sp_mr_tcam *mr_tcam = priv; mr_tcam 597 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr_tcam.c ops->fini(mr_tcam->priv); mr_tcam 598 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr_tcam.c kfree(mr_tcam->priv);