/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/steering/ |
H A D | dr_fw.c | 10 struct mlx5dr_cmd_create_flow_table_attr ft_attr = {}; in mlx5dr_fw_create_recalc_cs_ft() local 20 ft_attr.table_type = MLX5_FLOW_TABLE_TYPE_FDB; in mlx5dr_fw_create_recalc_cs_ft() 21 ft_attr.level = dmn->info.caps.max_ft_level - 1; in mlx5dr_fw_create_recalc_cs_ft() 22 ft_attr.term_tbl = true; in mlx5dr_fw_create_recalc_cs_ft() 25 &ft_attr, in mlx5dr_fw_create_recalc_cs_ft() 110 struct mlx5dr_cmd_create_flow_table_attr ft_attr = {}; in mlx5dr_fw_create_md_tbl() local 116 ft_attr.table_type = MLX5_FLOW_TABLE_TYPE_FDB; in mlx5dr_fw_create_md_tbl() 117 ft_attr.level = min_t(int, dmn->info.caps.max_ft_level - 2, in mlx5dr_fw_create_md_tbl() 119 ft_attr.reformat_en = reformat_req; in mlx5dr_fw_create_md_tbl() 120 ft_attr.decap_en = reformat_req; in mlx5dr_fw_create_md_tbl() [all …]
|
H A D | dr_table.c | 224 struct mlx5dr_cmd_create_flow_table_attr ft_attr = {}; in dr_table_create_sw_owned_tbl() local 235 ft_attr.table_type = tbl->table_type; in dr_table_create_sw_owned_tbl() 236 ft_attr.icm_addr_rx = icm_addr_rx; in dr_table_create_sw_owned_tbl() 237 ft_attr.icm_addr_tx = icm_addr_tx; in dr_table_create_sw_owned_tbl() 238 ft_attr.level = tbl->dmn->info.caps.max_ft_level - 1; in dr_table_create_sw_owned_tbl() 239 ft_attr.sw_owner = true; in dr_table_create_sw_owned_tbl() 240 ft_attr.decap_en = en_decap; in dr_table_create_sw_owned_tbl() 241 ft_attr.reformat_en = en_encap; in dr_table_create_sw_owned_tbl() 242 ft_attr.uid = uid; in dr_table_create_sw_owned_tbl() 244 ret = mlx5dr_cmd_create_flow_table(tbl->dmn->mdev, &ft_attr, in dr_table_create_sw_owned_tbl()
|
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/lib/ |
H A D | ipsec_fs_roce.c | 143 struct mlx5_flow_table_attr ft_attr = {}; in mlx5_ipsec_fs_roce_tx_create() local 160 ft_attr.max_fte = 1; in mlx5_ipsec_fs_roce_tx_create() 161 ft = mlx5_create_flow_table(roce->ns, &ft_attr); in mlx5_ipsec_fs_roce_tx_create() 238 struct mlx5_flow_table_attr ft_attr = {}; in mlx5_ipsec_fs_roce_rx_create() local 254 ft_attr.max_fte = 2; in mlx5_ipsec_fs_roce_rx_create() 255 ft_attr.level = level; in mlx5_ipsec_fs_roce_rx_create() 256 ft_attr.prio = prio; in mlx5_ipsec_fs_roce_rx_create() 257 ft = mlx5_create_flow_table(ns, &ft_attr); in mlx5_ipsec_fs_roce_rx_create() 301 memset(&ft_attr, 0, sizeof(ft_attr)); in mlx5_ipsec_fs_roce_rx_create() 303 ft_attr.level = 1; in mlx5_ipsec_fs_roce_rx_create() [all …]
|
H A D | fs_chains.c | 155 struct mlx5_flow_table_attr ft_attr = {}; in mlx5_chains_create_table() local 161 ft_attr.flags |= (MLX5_FLOW_TABLE_TUNNEL_EN_REFORMAT | in mlx5_chains_create_table() 165 ft_attr.max_fte = sz; in mlx5_chains_create_table() 171 ft_attr.next_ft = chains_default_ft(chains); in mlx5_chains_create_table() 180 ft_attr.level = chains->fs_base_level; in mlx5_chains_create_table() 181 ft_attr.prio = chains->fs_base_prio + prio - 1; in mlx5_chains_create_table() 186 ft_attr.flags |= MLX5_FLOW_TABLE_UNMANAGED; in mlx5_chains_create_table() 187 ft_attr.prio = chains->fs_base_prio; in mlx5_chains_create_table() 195 ft_attr.level = chains->fs_base_level + 1; in mlx5_chains_create_table() 199 ft_attr.autogroup.num_reserved_entries = 2; in mlx5_chains_create_table() [all …]
|
H A D | macsec_fs.c | 340 struct mlx5_flow_table_attr ft_attr = {}; in macsec_fs_auto_group_table_create() local 344 ft_attr.autogroup.num_reserved_entries = 1; in macsec_fs_auto_group_table_create() 345 ft_attr.autogroup.max_num_groups = 1; in macsec_fs_auto_group_table_create() 346 ft_attr.prio = 0; in macsec_fs_auto_group_table_create() 347 ft_attr.flags = flags; in macsec_fs_auto_group_table_create() 348 ft_attr.level = level; in macsec_fs_auto_group_table_create() 349 ft_attr.max_fte = max_fte; in macsec_fs_auto_group_table_create() 351 fdb = mlx5_create_auto_grouped_flow_table(ns, &ft_attr); in macsec_fs_auto_group_table_create() 394 struct mlx5_flow_table_attr ft_attr = {}; in macsec_fs_tx_create() local 425 ft_attr.flags = MLX5_FLOW_TABLE_TUNNEL_EN_REFORMAT; in macsec_fs_tx_create() [all …]
|
H A D | fs_ttc.c | 506 WARN_ON_ONCE(params->ft_attr.max_fte); in mlx5_create_inner_ttc_table() 507 params->ft_attr.max_fte = MLX5_INNER_TTC_TABLE_SIZE; in mlx5_create_inner_ttc_table() 508 ttc->t = mlx5_create_flow_table(params->ns, ¶ms->ft_attr); in mlx5_create_inner_ttc_table() 559 WARN_ON_ONCE(params->ft_attr.max_fte); in mlx5_create_ttc_table() 560 params->ft_attr.max_fte = MLX5_TTC_TABLE_SIZE; in mlx5_create_ttc_table() 561 ttc->t = mlx5_create_flow_table(params->ns, ¶ms->ft_attr); in mlx5_create_ttc_table()
|
H A D | fs_ttc.h | 44 struct mlx5_flow_table_attr ft_attr; member
|
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/esw/ |
H A D | vporttbl.c | 36 struct mlx5_flow_table_attr ft_attr = {}; in esw_vport_tbl_create() local 40 ft_attr.autogroup.max_num_groups = vport_ns->max_num_groups; in esw_vport_tbl_create() 42 ft_attr.autogroup.max_num_groups = esw->params.large_group_num; in esw_vport_tbl_create() 43 ft_attr.max_fte = vport_ns->max_fte; in esw_vport_tbl_create() 44 ft_attr.prio = FDB_PER_VPORT; in esw_vport_tbl_create() 45 ft_attr.flags = vport_ns->flags; in esw_vport_tbl_create() 46 fdb = mlx5_create_auto_grouped_flow_table(ns, &ft_attr); in esw_vport_tbl_create()
|
H A D | legacy.c | 24 struct mlx5_flow_table_attr ft_attr = {}; in esw_create_legacy_vepa_table() local 37 ft_attr.prio = LEGACY_VEPA_PRIO; in esw_create_legacy_vepa_table() 38 ft_attr.max_fte = 2; in esw_create_legacy_vepa_table() 39 ft_attr.autogroup.max_num_groups = 2; in esw_create_legacy_vepa_table() 40 fdb = mlx5_create_auto_grouped_flow_table(root_ns, &ft_attr); in esw_create_legacy_vepa_table() 75 struct mlx5_flow_table_attr ft_attr = {}; in esw_create_legacy_fdb_table() local 99 ft_attr.max_fte = POOL_NEXT_SIZE; in esw_create_legacy_fdb_table() 100 ft_attr.prio = LEGACY_FDB_PRIO; in esw_create_legacy_fdb_table() 101 fdb = mlx5_create_flow_table(root_ns, &ft_attr); in esw_create_legacy_fdb_table()
|
H A D | indir_table.c | 251 struct mlx5_flow_table_attr ft_attr = {}; in mlx5_esw_indir_table_entry_create() local 265 ft_attr.prio = FDB_TC_OFFLOAD; in mlx5_esw_indir_table_entry_create() 266 ft_attr.max_fte = MLX5_ESW_INDIR_TABLE_SIZE; in mlx5_esw_indir_table_entry_create() 267 ft_attr.flags = MLX5_FLOW_TABLE_UNMANAGED; in mlx5_esw_indir_table_entry_create() 268 ft_attr.level = 1; in mlx5_esw_indir_table_entry_create() 270 ft = mlx5_create_flow_table(root_ns, &ft_attr); in mlx5_esw_indir_table_entry_create()
|
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/lag/ |
H A D | port_sel.c | 43 struct mlx5_flow_table_attr ft_attr = {}; in mlx5_lag_create_port_sel_table() local 51 ft_attr.max_fte = ldev->ports * ldev->buckets; in mlx5_lag_create_port_sel_table() 52 ft_attr.level = MLX5_LAG_FT_LEVEL_DEFINER; in mlx5_lag_create_port_sel_table() 60 lag_definer->ft = mlx5_create_flow_table(ns, &ft_attr); in mlx5_lag_create_port_sel_table() 68 ft_attr.max_fte); in mlx5_lag_create_port_sel_table() 458 struct mlx5_flow_table_attr *ft_attr; in mlx5_lag_set_inner_ttc_params() local 463 ft_attr = &ttc_params->ft_attr; in mlx5_lag_set_inner_ttc_params() 464 ft_attr->level = MLX5_LAG_FT_LEVEL_INNER_TTC; in mlx5_lag_set_inner_ttc_params() 479 struct mlx5_flow_table_attr *ft_attr; in mlx5_lag_set_outer_ttc_params() local 484 ft_attr = &ttc_params->ft_attr; in mlx5_lag_set_outer_ttc_params() [all …]
|
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/ |
H A D | en_fs.c | 773 struct mlx5_flow_table_attr ft_attr = {}; in mlx5e_create_promisc_table() local 776 ft_attr.max_fte = MLX5E_PROMISC_TABLE_SIZE; in mlx5e_create_promisc_table() 777 ft_attr.autogroup.max_num_groups = 1; in mlx5e_create_promisc_table() 778 ft_attr.level = MLX5E_PROMISC_FT_LEVEL; in mlx5e_create_promisc_table() 779 ft_attr.prio = MLX5E_NIC_PRIO; in mlx5e_create_promisc_table() 781 ft->t = mlx5_create_auto_grouped_flow_table(fs->ns, &ft_attr); in mlx5e_create_promisc_table() 895 struct mlx5_flow_table_attr *ft_attr = &ttc_params->ft_attr; in mlx5e_set_inner_ttc_params() local 901 ft_attr->level = MLX5E_INNER_TTC_FT_LEVEL; in mlx5e_set_inner_ttc_params() 902 ft_attr->prio = MLX5E_NIC_PRIO; in mlx5e_set_inner_ttc_params() 919 struct mlx5_flow_table_attr *ft_attr = &ttc_params->ft_attr; in mlx5e_set_ttc_params() local [all …]
|
H A D | eswitch_offloads_termtbl.c | 68 struct mlx5_flow_table_attr ft_attr = {}; in mlx5_eswitch_termtbl_create() local 81 ft_attr.flags = MLX5_FLOW_TABLE_TERMINATION | MLX5_FLOW_TABLE_UNMANAGED | in mlx5_eswitch_termtbl_create() 83 ft_attr.prio = FDB_TC_OFFLOAD; in mlx5_eswitch_termtbl_create() 84 ft_attr.max_fte = 1; in mlx5_eswitch_termtbl_create() 85 ft_attr.level = 1; in mlx5_eswitch_termtbl_create() 86 ft_attr.autogroup.max_num_groups = 1; in mlx5_eswitch_termtbl_create() 87 tt->termtbl = mlx5_create_auto_grouped_flow_table(root_ns, &ft_attr); in mlx5_eswitch_termtbl_create()
|
H A D | rdma.c | 27 struct mlx5_flow_table_attr ft_attr = {}; in mlx5_rdma_enable_roce_steering() local 57 ft_attr.max_fte = 1; in mlx5_rdma_enable_roce_steering() 58 ft = mlx5_create_flow_table(ns, &ft_attr); in mlx5_rdma_enable_roce_steering()
|
H A D | fs_core.c | 1230 struct mlx5_flow_table_attr *ft_attr, in __mlx5_create_flow_table() argument 1235 bool unmanaged = ft_attr->flags & MLX5_FLOW_TABLE_UNMANAGED; in __mlx5_create_flow_table() 1247 fs_prio = find_prio(ns, ft_attr->prio); in __mlx5_create_flow_table() 1256 if (ft_attr->level >= fs_prio->num_levels) { in __mlx5_create_flow_table() 1261 ft_attr->level += fs_prio->start_level; in __mlx5_create_flow_table() 1267 ft = alloc_flow_table(ft_attr->level, in __mlx5_create_flow_table() 1270 op_mod, ft_attr->flags); in __mlx5_create_flow_table() 1277 next_ft = unmanaged ? ft_attr->next_ft : in __mlx5_create_flow_table() 1281 err = root->cmds->create_flow_table(root, ft, ft_attr, next_ft); in __mlx5_create_flow_table() 1315 struct mlx5_flow_table_attr *ft_attr) in mlx5_create_flow_table() argument [all …]
|
H A D | en_arfs.c | 354 struct mlx5_flow_table_attr ft_attr = {}; in arfs_create_table() local 359 ft_attr.max_fte = MLX5E_ARFS_TABLE_SIZE; in arfs_create_table() 360 ft_attr.level = MLX5E_ARFS_FT_LEVEL; in arfs_create_table() 361 ft_attr.prio = MLX5E_NIC_PRIO; in arfs_create_table() 363 ft->t = mlx5_create_flow_table(ns, &ft_attr); in arfs_create_table()
|
H A D | en_fs_ethtool.c | 86 struct mlx5_flow_table_attr ft_attr = {}; in get_flow_table() local 128 ft_attr.prio = prio; in get_flow_table() 129 ft_attr.max_fte = table_size; in get_flow_table() 130 ft_attr.autogroup.max_num_groups = MLX5E_ETHTOOL_NUM_GROUPS; in get_flow_table() 131 ft = mlx5_create_auto_grouped_flow_table(ns, &ft_attr); in get_flow_table()
|
H A D | eswitch_offloads.c | 1821 struct mlx5_flow_table_attr ft_attr = {}; in esw_create_offloads_fdb_tables() local 1869 ft_attr.flags = flags; in esw_create_offloads_fdb_tables() 1870 ft_attr.max_fte = table_size; in esw_create_offloads_fdb_tables() 1871 ft_attr.prio = FDB_SLOW_PATH; in esw_create_offloads_fdb_tables() 1873 fdb = mlx5_create_flow_table(root_ns, &ft_attr); in esw_create_offloads_fdb_tables() 1886 memset(&ft_attr, 0, sizeof(ft_attr)); in esw_create_offloads_fdb_tables() 1887 ft_attr.prio = FDB_TC_MISS; in esw_create_offloads_fdb_tables() 1888 esw->fdb_table.offloads.tc_miss_table = mlx5_create_flow_table(root_ns, &ft_attr); in esw_create_offloads_fdb_tables() 1980 struct mlx5_flow_table_attr ft_attr = {}; in esw_create_offloads_table() local 1992 ft_attr.max_fte = esw_get_nr_ft_offloads_steering_src_ports(esw) + in esw_create_offloads_table() [all …]
|
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en/ |
H A D | fs_tt_redirect.c | 212 struct mlx5_flow_table_attr ft_attr = {}; in fs_udp_create_table() local 219 ft_attr.max_fte = MLX5E_FS_UDP_TABLE_SIZE; in fs_udp_create_table() 220 ft_attr.level = MLX5E_FS_TT_UDP_FT_LEVEL; in fs_udp_create_table() 221 ft_attr.prio = MLX5E_NIC_PRIO; in fs_udp_create_table() 223 ft->t = mlx5_create_flow_table(ns, &ft_attr); in fs_udp_create_table() 483 struct mlx5_flow_table_attr ft_attr = {}; in fs_any_create_table() local 488 ft_attr.max_fte = MLX5E_FS_UDP_TABLE_SIZE; in fs_any_create_table() 489 ft_attr.level = MLX5E_FS_TT_ANY_FT_LEVEL; in fs_any_create_table() 490 ft_attr.prio = MLX5E_NIC_PRIO; in fs_any_create_table() 492 ft->t = mlx5_create_flow_table(ns, &ft_attr); in fs_any_create_table()
|
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ |
H A D | helper.c | 11 struct mlx5_flow_table_attr ft_attr = {}; in esw_acl_table_create() local 37 ft_attr.max_fte = size; in esw_acl_table_create() 39 ft_attr.flags = MLX5_FLOW_TABLE_OTHER_VPORT; in esw_acl_table_create() 40 acl = mlx5_create_vport_flow_table(root_ns, &ft_attr, vport_num); in esw_acl_table_create()
|
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ |
H A D | post_meter.c | 62 struct mlx5_flow_table_attr ft_attr = {}; in mlx5e_post_meter_table_create() local 71 ft_attr.flags = MLX5_FLOW_TABLE_UNMANAGED; in mlx5e_post_meter_table_create() 72 ft_attr.prio = FDB_SLOW_PATH; in mlx5e_post_meter_table_create() 73 ft_attr.max_fte = 2; in mlx5e_post_meter_table_create() 74 ft_attr.level = 1; in mlx5e_post_meter_table_create() 76 return mlx5_create_flow_table(root_ns, &ft_attr); in mlx5e_post_meter_table_create()
|
H A D | sample.c | 64 struct mlx5_flow_table_attr ft_attr = {}; in sampler_termtbl_create() local 82 ft_attr.flags = MLX5_FLOW_TABLE_TERMINATION | MLX5_FLOW_TABLE_UNMANAGED; in sampler_termtbl_create() 83 ft_attr.autogroup.max_num_groups = 1; in sampler_termtbl_create() 84 ft_attr.prio = FDB_SLOW_PATH; in sampler_termtbl_create() 85 ft_attr.max_fte = 1; in sampler_termtbl_create() 86 ft_attr.level = 1; in sampler_termtbl_create() 87 tc_psample->termtbl = mlx5_create_auto_grouped_flow_table(root_ns, &ft_attr); in sampler_termtbl_create()
|
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ |
H A D | fs_tcp.c | 270 struct mlx5_flow_table_attr ft_attr = {}; in accel_fs_tcp_create_table() local 275 ft_attr.max_fte = MLX5E_ACCEL_FS_TCP_TABLE_SIZE; in accel_fs_tcp_create_table() 276 ft_attr.level = MLX5E_ACCEL_FS_TCP_FT_LEVEL; in accel_fs_tcp_create_table() 277 ft_attr.prio = MLX5E_NIC_PRIO; in accel_fs_tcp_create_table() 279 ft->t = mlx5_create_flow_table(ns, &ft_attr); in accel_fs_tcp_create_table()
|
/openbmc/linux/include/linux/mlx5/ |
H A D | fs.h | 215 struct mlx5_flow_table_attr *ft_attr); 219 struct mlx5_flow_table_attr *ft_attr); 223 struct mlx5_flow_table_attr *ft_attr, u16 vport);
|
/openbmc/linux/drivers/infiniband/hw/mlx5/ |
H A D | fs.c | 695 struct mlx5_flow_table_attr ft_attr = {}; in _get_prio() local 698 ft_attr.prio = priority; in _get_prio() 699 ft_attr.max_fte = num_entries; in _get_prio() 700 ft_attr.flags = flags; in _get_prio() 701 ft_attr.autogroup.max_num_groups = num_groups; in _get_prio() 702 ft = mlx5_create_auto_grouped_flow_table(ns, &ft_attr); in _get_prio() 2030 struct mlx5_flow_table_attr ft_attr = {}; in steering_anchor_create_ft() local 2041 ft_attr.flags = MLX5_FLOW_TABLE_UNMANAGED; in steering_anchor_create_ft() 2042 ft_attr.uid = MLX5_SHARED_RESOURCE_UID; in steering_anchor_create_ft() 2043 ft_attr.prio = 0; in steering_anchor_create_ft() [all …]
|