| /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 …]
|
| H A D | fs_ttc.c | 820 WARN_ON_ONCE(params->ft_attr.max_fte); in mlx5_create_inner_ttc_table() 821 params->ft_attr.max_fte = mlx5_fs_ttc_table_size(groups); in mlx5_create_inner_ttc_table() 822 ttc->t = mlx5_create_flow_table(ns, ¶ms->ft_attr); in mlx5_create_inner_ttc_table() 897 WARN_ON_ONCE(params->ft_attr.max_fte); in mlx5_create_ttc_table() 898 params->ft_attr.max_fte = mlx5_fs_ttc_table_size(ttc->groups); in mlx5_create_ttc_table() 899 ttc->t = mlx5_create_flow_table(ns, ¶ms->ft_attr); in mlx5_create_ttc_table()
|
| /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/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()
|
| H A D | ipsec_fs.c | 152 struct mlx5_flow_table_attr ft_attr = {}; in ipsec_ft_create() local 154 ft_attr.autogroup.num_reserved_entries = num_reserved_entries; in ipsec_ft_create() 155 ft_attr.autogroup.max_num_groups = max_num_groups; in ipsec_ft_create() 156 ft_attr.max_fte = NUM_IPSEC_FTE; in ipsec_ft_create() 157 ft_attr.level = level; in ipsec_ft_create() 158 ft_attr.prio = prio; in ipsec_ft_create() 159 ft_attr.flags = flags; in ipsec_ft_create() 161 return mlx5_create_auto_grouped_flow_table(ns, &ft_attr); in ipsec_ft_create() 845 struct mlx5_flow_table_attr ft_attr = {}; in ipsec_rx_chains_create_miss() local 859 ft_attr.max_fte = 1; in ipsec_rx_chains_create_miss() [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/ |
| 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 | 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 | eswitch_offloads.c | 1910 struct mlx5_flow_table_attr ft_attr = {}; in esw_create_offloads_fdb_tables() local 1958 ft_attr.flags = flags; in esw_create_offloads_fdb_tables() 1959 ft_attr.max_fte = table_size; in esw_create_offloads_fdb_tables() 1960 ft_attr.prio = FDB_SLOW_PATH; in esw_create_offloads_fdb_tables() 1962 fdb = mlx5_create_flow_table(root_ns, &ft_attr); in esw_create_offloads_fdb_tables() 1975 memset(&ft_attr, 0, sizeof(ft_attr)); in esw_create_offloads_fdb_tables() 1976 ft_attr.prio = FDB_TC_MISS; in esw_create_offloads_fdb_tables() 1977 esw->fdb_table.offloads.tc_miss_table = mlx5_create_flow_table(root_ns, &ft_attr); in esw_create_offloads_fdb_tables() 2068 struct mlx5_flow_table_attr ft_attr = {}; in esw_create_offloads_table() local 2080 ft_attr.max_fte = esw_get_nr_ft_offloads_steering_src_ports(esw) + in esw_create_offloads_table() [all …]
|
| 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()
|
| /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()
|