| /linux/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/ |
| H A D | table.c | 13 struct mlx5hws_cmd_ft_create_attr *ft_attr) in hws_table_init_next_ft_attr() argument 15 ft_attr->type = tbl->fw_ft_type; in hws_table_init_next_ft_attr() 17 ft_attr->level = tbl->ctx->caps->fdb_ft.max_level - 1; in hws_table_init_next_ft_attr() 19 ft_attr->level = tbl->ctx->caps->nic_ft.max_level - 1; in hws_table_init_next_ft_attr() 21 ft_attr->rtc_valid = true; in hws_table_init_next_ft_attr() 22 ft_attr->uid = uid; in hws_table_init_next_ft_attr() 26 struct mlx5hws_cmd_ft_create_attr *ft_attr) in hws_table_set_cap_attr() argument 37 ft_attr->reformat_en = true; in hws_table_set_cap_attr() 38 ft_attr->decap_en = true; in hws_table_set_cap_attr() 45 struct mlx5hws_cmd_ft_create_attr ft_attr = {0}; in hws_table_up_default_fdb_miss_tbl() local [all …]
|
| H A D | cmd.c | 48 struct mlx5hws_cmd_ft_create_attr *ft_attr, in mlx5hws_cmd_flow_table_create() argument 57 MLX5_SET(create_flow_table_in, in, table_type, ft_attr->type); in mlx5hws_cmd_flow_table_create() 58 MLX5_SET(create_flow_table_in, in, uid, ft_attr->uid); in mlx5hws_cmd_flow_table_create() 61 MLX5_SET(flow_table_context, ft_ctx, level, ft_attr->level); in mlx5hws_cmd_flow_table_create() 62 MLX5_SET(flow_table_context, ft_ctx, rtc_valid, ft_attr->rtc_valid); in mlx5hws_cmd_flow_table_create() 63 MLX5_SET(flow_table_context, ft_ctx, reformat_en, ft_attr->reformat_en); in mlx5hws_cmd_flow_table_create() 64 MLX5_SET(flow_table_context, ft_ctx, decap_en, ft_attr->decap_en); in mlx5hws_cmd_flow_table_create() 76 struct mlx5hws_cmd_ft_modify_attr *ft_attr, in mlx5hws_cmd_flow_table_modify() argument 83 MLX5_SET(modify_flow_table_in, in, table_type, ft_attr->type); in mlx5hws_cmd_flow_table_modify() 84 MLX5_SET(modify_flow_table_in, in, modify_field_select, ft_attr->modify_fs); in mlx5hws_cmd_flow_table_modify() [all …]
|
| H A D | cmd.h | 246 struct mlx5hws_cmd_ft_create_attr *ft_attr, 250 struct mlx5hws_cmd_ft_modify_attr *ft_attr, 255 struct mlx5hws_cmd_ft_query_attr *ft_attr, 328 struct mlx5hws_cmd_ft_create_attr *ft_attr, 342 struct mlx5hws_cmd_ft_modify_attr *ft_attr);
|
| H A D | debug.c | 122 struct mlx5hws_cmd_ft_query_attr ft_attr = {0}; in hws_debug_dump_matcher() local 147 ft_attr.type = matcher->tbl->fw_ft_type; in hws_debug_dump_matcher() 150 &ft_attr, in hws_debug_dump_matcher() 177 struct mlx5hws_cmd_ft_query_attr ft_attr = {0}; in hws_debug_dump_table() local 195 ft_attr.type = tbl->fw_ft_type; in hws_debug_dump_table() 198 &ft_attr, in hws_debug_dump_table()
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/lib/ |
| H A D | ipsec_fs_roce.c | 287 struct mlx5_flow_table_attr ft_attr = {}; in ipsec_fs_roce_tx_mpv_create_ft() local 306 ft_attr.max_fte = 1; in ipsec_fs_roce_tx_mpv_create_ft() 307 ft_attr.next_ft = &next_ft; in ipsec_fs_roce_tx_mpv_create_ft() 308 ft_attr.level = MLX5_IPSEC_NIC_GOTO_ALIAS_FT_LEVEL; in ipsec_fs_roce_tx_mpv_create_ft() 309 ft_attr.flags = MLX5_FLOW_TABLE_UNMANAGED; in ipsec_fs_roce_tx_mpv_create_ft() 310 ft = mlx5_create_flow_table(nic_ns, &ft_attr); in ipsec_fs_roce_tx_mpv_create_ft() 319 memset(&ft_attr, 0, sizeof(ft_attr)); in ipsec_fs_roce_tx_mpv_create_ft() 320 ft_attr.max_fte = 1; in ipsec_fs_roce_tx_mpv_create_ft() 321 ft_attr.level = MLX5_IPSEC_RDMA_TX_FT_LEVEL; in ipsec_fs_roce_tx_mpv_create_ft() 322 ft = mlx5_create_flow_table(roce_ns, &ft_attr); in ipsec_fs_roce_tx_mpv_create_ft() [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() 166 ft_attr.max_fte = sz; in mlx5_chains_create_table() 172 ft_attr.next_ft = chains_default_ft(chains); in mlx5_chains_create_table() 181 ft_attr.level = chains->fs_base_level; in mlx5_chains_create_table() 182 ft_attr.prio = chains->fs_base_prio + prio - 1; in mlx5_chains_create_table() 187 ft_attr.flags |= MLX5_FLOW_TABLE_UNMANAGED; in mlx5_chains_create_table() 188 ft_attr.prio = chains->fs_base_prio; in mlx5_chains_create_table() 196 ft_attr.level = chains->fs_base_level + 1; in mlx5_chains_create_table() 205 ft_attr.autogroup.num_reserved_entries = 2; in mlx5_chains_create_table() [all …]
|
| H A D | macsec_fs.c | 336 struct mlx5_flow_table_attr ft_attr = {}; in macsec_fs_auto_group_table_create() local 340 ft_attr.autogroup.num_reserved_entries = 1; in macsec_fs_auto_group_table_create() 341 ft_attr.autogroup.max_num_groups = 1; in macsec_fs_auto_group_table_create() 342 ft_attr.prio = 0; in macsec_fs_auto_group_table_create() 343 ft_attr.flags = flags; in macsec_fs_auto_group_table_create() 344 ft_attr.level = level; in macsec_fs_auto_group_table_create() 345 ft_attr.max_fte = max_fte; in macsec_fs_auto_group_table_create() 347 fdb = mlx5_create_auto_grouped_flow_table(ns, &ft_attr); in macsec_fs_auto_group_table_create() 390 struct mlx5_flow_table_attr ft_attr = {}; in macsec_fs_tx_create() local 421 ft_attr.flags = MLX5_FLOW_TABLE_TUNNEL_EN_REFORMAT; in macsec_fs_tx_create() [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/ |
| 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()
|
| /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() 74 struct mlx5_flow_table_attr ft_attr = {}; in esw_create_legacy_fdb_table() local 98 ft_attr.max_fte = MLX5_FS_MAX_POOL_SIZE; in esw_create_legacy_fdb_table() 99 ft_attr.prio = LEGACY_FDB_PRIO; in esw_create_legacy_fdb_table() 100 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()
|
| /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 54 ft_attr.max_fte = ldev->ports * ldev->buckets; in mlx5_lag_create_port_sel_table() 55 ft_attr.level = MLX5_LAG_FT_LEVEL_DEFINER; in mlx5_lag_create_port_sel_table() 63 lag_definer->ft = mlx5_create_flow_table(ns, &ft_attr); in mlx5_lag_create_port_sel_table() 71 ft_attr.max_fte); in mlx5_lag_create_port_sel_table() 468 struct mlx5_flow_table_attr *ft_attr; in mlx5_lag_set_inner_ttc_params() local 472 ft_attr = &ttc_params->ft_attr; in mlx5_lag_set_inner_ttc_params() 473 ft_attr->level = MLX5_LAG_FT_LEVEL_INNER_TTC; in mlx5_lag_set_inner_ttc_params() 487 struct mlx5_flow_table_attr *ft_attr; in mlx5_lag_set_outer_ttc_params() local 491 ft_attr = &ttc_params->ft_attr; in mlx5_lag_set_outer_ttc_params() [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/ |
| H A D | en_fs.c | 777 struct mlx5_flow_table_attr ft_attr = {}; in mlx5e_create_promisc_table() local 780 ft_attr.max_fte = MLX5E_PROMISC_TABLE_SIZE; in mlx5e_create_promisc_table() 781 ft_attr.autogroup.max_num_groups = 1; in mlx5e_create_promisc_table() 782 ft_attr.level = MLX5E_PROMISC_FT_LEVEL; in mlx5e_create_promisc_table() 783 ft_attr.prio = MLX5E_PROMISC_PRIO; in mlx5e_create_promisc_table() 785 ft->t = mlx5_create_auto_grouped_flow_table(fs->ns, &ft_attr); in mlx5e_create_promisc_table() 899 struct mlx5_flow_table_attr *ft_attr = &ttc_params->ft_attr; in mlx5e_set_inner_ttc_params() local 904 ft_attr->level = MLX5E_INNER_TTC_FT_LEVEL; in mlx5e_set_inner_ttc_params() 905 ft_attr->prio = MLX5E_NIC_PRIO; in mlx5e_set_inner_ttc_params() 933 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 | 943 alloc_flow_table(struct mlx5_flow_table_attr *ft_attr, u16 vport, in alloc_flow_table() argument 960 ft->level = ft_attr->level; in alloc_flow_table() 965 ft->esw_owner_vhca_id = ft_attr->esw_owner_vhca_id; in alloc_flow_table() 966 ft->flags = ft_attr->flags; in alloc_flow_table() 1337 struct mlx5_flow_table_attr *ft_attr, in __mlx5_create_flow_table() argument 1342 bool unmanaged = ft_attr->flags & MLX5_FLOW_TABLE_UNMANAGED; in __mlx5_create_flow_table() 1354 fs_prio = find_prio(ns, ft_attr->prio); in __mlx5_create_flow_table() 1363 if (ft_attr->level >= fs_prio->num_levels) { in __mlx5_create_flow_table() 1368 ft_attr->level += fs_prio->start_level; in __mlx5_create_flow_table() 1374 ft = alloc_flow_table(ft_attr, vport, root->table_type, op_mod); in __mlx5_create_flow_table() [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ |
| H A D | psp.c | 262 struct mlx5_flow_table_attr ft_attr = {}; in accel_psp_fs_rx_err_create_ft() local 266 ft_attr.max_fte = 2; in accel_psp_fs_rx_err_create_ft() 267 ft_attr.autogroup.max_num_groups = 2; in accel_psp_fs_rx_err_create_ft() 268 ft_attr.level = MLX5E_ACCEL_FS_ESP_FT_ERR_LEVEL; // MLX5E_ACCEL_FS_TCP_FT_LEVEL in accel_psp_fs_rx_err_create_ft() 269 ft_attr.prio = MLX5E_NIC_PRIO; in accel_psp_fs_rx_err_create_ft() 270 ft = mlx5_create_auto_grouped_flow_table(ns, &ft_attr); in accel_psp_fs_rx_err_create_ft() 335 struct mlx5_flow_table_attr ft_attr = {}; in accel_psp_fs_rx_create_ft() local 354 ft_attr.max_fte = 2; in accel_psp_fs_rx_create_ft() 355 ft_attr.level = MLX5E_ACCEL_FS_ESP_FT_LEVEL; in accel_psp_fs_rx_create_ft() 356 ft_attr.prio = MLX5E_NIC_PRIO; in accel_psp_fs_rx_create_ft() [all …]
|
| 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()
|
| /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()
|
| /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()
|
| /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()
|
| /linux/drivers/infiniband/hw/mlx5/ |
| H A D | fs.c | 696 struct mlx5_flow_table_attr *ft_attr) in _get_prio() argument 700 ft = mlx5_create_auto_grouped_flow_table(ns, ft_attr); in _get_prio() 714 struct mlx5_flow_table_attr ft_attr = {}; in get_flow_table() local 795 ft_attr.prio = priority; in get_flow_table() 796 ft_attr.max_fte = max_table_size; in get_flow_table() 797 ft_attr.flags = flags; in get_flow_table() 798 ft_attr.autogroup.max_num_groups = num_groups; in get_flow_table() 799 return _get_prio(ns, prio, &ft_attr); in get_flow_table() 948 struct mlx5_flow_table_attr ft_attr = {}; in get_per_qp_prio() local 1002 ft_attr.prio = priority; in get_per_qp_prio() [all …]
|
| /linux/include/linux/mlx5/ |
| H A D | fs.h | 242 struct mlx5_flow_table_attr *ft_attr); 246 struct mlx5_flow_table_attr *ft_attr); 250 struct mlx5_flow_table_attr *ft_attr, u16 vport);
|