| /linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/ |
| H A D | matcher.c | 42 mlx5hws_table_destroy_default_ft(matcher->tbl, matcher->end_ft_id); in hws_matcher_destroy_end_ft() 665 mlx5hws_definer_mt_uninit(matcher->tbl->ctx, matcher->mt); in hws_matcher_unbind_mt() 933 matcher->at[matcher->num_of_at] = *at; in mlx5hws_matcher_attach_at() 938 matcher->col_matcher->num_of_at = matcher->num_of_at; in mlx5hws_matcher_attach_at() 959 matcher->mt = kcalloc(num_of_mt, sizeof(*matcher->mt), GFP_KERNEL); in hws_matcher_set_templates() 960 if (!matcher->mt) in hws_matcher_set_templates() 1007 matcher = kzalloc(sizeof(*matcher), GFP_KERNEL); in mlx5hws_matcher_create() 1008 if (!matcher) in mlx5hws_matcher_create() 1028 return matcher; in mlx5hws_matcher_create() 1033 kfree(matcher); in mlx5hws_matcher_create() [all …]
|
| H A D | rule.c | 23 if (matcher->attr.optimize_flow_src) { in hws_rule_skip() 59 struct mlx5hws_matcher *matcher = rule->matcher; in hws_rule_init_dep_wqe() local 200 struct mlx5hws_matcher *matcher = rule->matcher; in hws_rule_alloc_action_ste() local 209 mlx5hws_err(matcher->tbl->ctx, in hws_rule_alloc_action_ste() 243 struct mlx5hws_matcher *matcher = rule->matcher; in hws_rule_create_init() local 317 struct mlx5hws_matcher *matcher = rule->matcher; in hws_rule_create_hws() local 465 struct mlx5hws_matcher *matcher = rule->matcher; in hws_rule_destroy_hws() local 571 struct mlx5hws_matcher *matcher = rule->matcher; in hws_rule_enqueue_precheck_update() local 591 struct mlx5hws_matcher *matcher = rule->matcher; in mlx5hws_rule_move_hws_remove() local 628 struct mlx5hws_matcher *matcher = rule->matcher; in mlx5hws_rule_move_hws_add() local [all …]
|
| H A D | debug.c | 56 HWS_PTR_TO_ID(matcher), in hws_debug_dump_matcher_match_template() 81 HWS_PTR_TO_ID(matcher), in hws_debug_dump_matcher_action_template() 104 HWS_PTR_TO_ID(matcher), in hws_debug_dump_matcher_attr() 131 HWS_PTR_TO_ID(matcher), in hws_debug_dump_matcher() 132 HWS_PTR_TO_ID(matcher->tbl), in hws_debug_dump_matcher() 133 matcher->num_of_mt, in hws_debug_dump_matcher() 134 matcher->end_ft_id, in hws_debug_dump_matcher() 135 matcher->col_matcher ? HWS_PTR_TO_ID(matcher->col_matcher) : 0); in hws_debug_dump_matcher() 137 ste = &matcher->match_ste.ste; in hws_debug_dump_matcher() 151 ste = &matcher->action_ste.ste; in hws_debug_dump_matcher() [all …]
|
| H A D | matcher.h | 93 static inline bool mlx5hws_matcher_is_resizable(struct mlx5hws_matcher *matcher) in mlx5hws_matcher_is_resizable() argument 95 return !!(matcher->flags & MLX5HWS_MATCHER_FLAGS_RESIZABLE); in mlx5hws_matcher_is_resizable() 98 static inline bool mlx5hws_matcher_is_in_resize(struct mlx5hws_matcher *matcher) in mlx5hws_matcher_is_in_resize() argument 100 return !!matcher->resize_dst; in mlx5hws_matcher_is_in_resize() 103 static inline bool mlx5hws_matcher_is_insert_by_idx(struct mlx5hws_matcher *matcher) in mlx5hws_matcher_is_insert_by_idx() argument 105 return matcher->attr.insert_mode == MLX5HWS_MATCHER_INSERT_BY_INDEX; in mlx5hws_matcher_is_insert_by_idx()
|
| H A D | bwc.c | 113 bwc_matcher->matcher = mlx5hws_matcher_create(table, in mlx5hws_bwc_matcher_create_simple() 118 if (!bwc_matcher->matcher) { in mlx5hws_bwc_matcher_create_simple() 190 mlx5hws_matcher_destroy(bwc_matcher->matcher); in mlx5hws_bwc_matcher_destroy_simple() 191 bwc_matcher->matcher = NULL; in mlx5hws_bwc_matcher_destroy_simple() 207 mlx5hws_err(bwc_matcher->matcher->tbl->ctx, in mlx5hws_bwc_matcher_destroy() 275 struct mlx5hws_context *ctx = bwc_matcher->matcher->tbl->ctx; in mlx5hws_bwc_rule_fill_attr() 409 return mlx5hws_rule_create(bwc_rule->bwc_matcher->matcher, in hws_bwc_rule_create_async() 693 old_matcher = bwc_matcher->matcher; in hws_bwc_matcher_move() 716 bwc_matcher->matcher = new_matcher; in hws_bwc_matcher_move() 805 ret = mlx5hws_matcher_attach_at(bwc_matcher->matcher, in mlx5hws_bwc_rule_create_simple() [all …]
|
| H A D | table.c | 293 struct mlx5hws_matcher *matcher; in hws_table_get_last_ft() local 298 matcher = list_last_entry(&tbl->matchers_list, struct mlx5hws_matcher, list_node); in hws_table_get_last_ft() 299 return matcher->end_ft_id; in hws_table_get_last_ft() 383 struct mlx5hws_matcher *matcher; in mlx5hws_table_connect_to_miss_table() local 408 matcher = list_first_entry(&dst_tbl->matchers_list, in mlx5hws_table_connect_to_miss_table() 414 matcher->match_ste.rtc_0_id, in mlx5hws_table_connect_to_miss_table() 415 matcher->match_ste.rtc_1_id); in mlx5hws_table_connect_to_miss_table()
|
| H A D | bwc_complex.c | 73 mlx5hws_err(bwc_rule->bwc_matcher->matcher->tbl->ctx, in mlx5hws_bwc_rule_create_complex() 85 mlx5hws_err(bwc_matcher->matcher->tbl->ctx, in mlx5hws_bwc_matcher_move_all_complex()
|
| H A D | mlx5hws.h | 395 int mlx5hws_matcher_destroy(struct mlx5hws_matcher *matcher); 405 int mlx5hws_matcher_attach_at(struct mlx5hws_matcher *matcher, 460 int mlx5hws_rule_create(struct mlx5hws_matcher *matcher,
|
| H A D | rule.h | 62 struct mlx5hws_matcher *matcher; member
|
| H A D | bwc.h | 24 struct mlx5hws_matcher *matcher; member
|
| H A D | fs_hws.h | 47 struct mlx5hws_bwc_matcher *matcher; member
|
| H A D | fs_hws.c | 347 struct mlx5hws_bwc_matcher *matcher; in mlx5_cmd_hws_create_flow_group() local 360 matcher = mlx5hws_bwc_matcher_create(ft->fs_hws_table.hws_table, in mlx5_cmd_hws_create_flow_group() 363 if (!matcher) { in mlx5_cmd_hws_create_flow_group() 368 fg->fs_hws_matcher.matcher = matcher; in mlx5_cmd_hws_create_flow_group() 379 return mlx5hws_bwc_matcher_destroy(fg->fs_hws_matcher.matcher); in mlx5_cmd_hws_destroy_flow_group() 1099 rule = mlx5hws_bwc_rule_create(group->fs_hws_matcher.matcher, ¶ms, in mlx5_cmd_hws_create_fte()
|
| H A D | send.c | 336 priv->rule->matcher = priv->rule->matcher->resize_dst; in hws_send_engine_update_rule_resize()
|
| /linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/ |
| H A D | dr_matcher.c | 882 ret = dr_matcher_init_nic(matcher, &matcher->rx); in dr_matcher_init_fdb() 886 ret = dr_matcher_init_nic(matcher, &matcher->tx); in dr_matcher_init_fdb() 955 ret = dr_matcher_init_nic(matcher, &matcher->rx); in dr_matcher_init() 959 ret = dr_matcher_init_nic(matcher, &matcher->tx); in dr_matcher_init() 977 list_add(&matcher->list_node, &matcher->tbl->matcher_list); in dr_matcher_add_to_dbg_list() 999 matcher = kzalloc(sizeof(*matcher), GFP_KERNEL); in mlx5dr_matcher_create() 1000 if (!matcher) in mlx5dr_matcher_create() 1003 matcher->tbl = tbl; in mlx5dr_matcher_create() 1020 return matcher; in mlx5dr_matcher_create() 1024 kfree(matcher); in mlx5dr_matcher_create() [all …]
|
| H A D | dr_rule.c | 402 struct mlx5dr_matcher *matcher = rule->matcher; in dr_rule_rehash_htbl() local 721 struct mlx5dr_matcher *matcher = rule->matcher; in dr_rule_handle_action_stes() local 840 struct mlx5dr_matcher *matcher = rule->matcher; in dr_rule_handle_ste_branch() local 937 u8 *mask_p = (u8 *)&matcher->mask; in dr_rule_verify() 1004 mlx5dr_err(matcher->tbl->dmn, in dr_rule_verify() 1121 struct mlx5dr_matcher *matcher = rule->matcher; in dr_rule_create_rule_nic() local 1305 rule->matcher = matcher; in dr_rule_create_rule() 1358 refcount_inc(&matcher->refcount); in mlx5dr_rule_create() 1362 refcount_dec(&matcher->refcount); in mlx5dr_rule_create() 1369 struct mlx5dr_matcher *matcher = rule->matcher; in mlx5dr_rule_destroy() local [all …]
|
| H A D | dr_dbg.c | 174 struct mlx5dr_domain *dmn = rule->matcher->tbl->dmn; in mlx5dr_dbg_rule_add() 183 struct mlx5dr_domain *dmn = rule->matcher->tbl->dmn; in mlx5dr_dbg_rule_del() 559 rule_id, DR_DBG_PTR_TO_ID(rule->matcher)); in dr_dump_rule() 746 struct mlx5dr_matcher_rx_tx *rx = &matcher->rx; in dr_dump_matcher() 747 struct mlx5dr_matcher_rx_tx *tx = &matcher->tx; in dr_dump_matcher() 752 matcher_id = DR_DBG_PTR_TO_ID(matcher); in dr_dump_matcher() 757 matcher->prio); in dr_dump_matcher() 766 matcher->match_criteria, matcher_id); in dr_dump_matcher() 791 ret = dr_dump_matcher(file, matcher); in dr_dump_matcher_all() 867 struct mlx5dr_matcher *matcher; in dr_dump_table_all() local [all …]
|
| H A D | mlx5dr.h | 69 int mlx5dr_matcher_destroy(struct mlx5dr_matcher *matcher); 72 mlx5dr_rule_create(struct mlx5dr_matcher *matcher,
|
| H A D | dr_action.c | 683 struct mlx5dr_domain *dmn = matcher->tbl->dmn; in dr_action_get_dest_fw_tbl_addr() 712 struct mlx5dr_domain *dmn = matcher->tbl->dmn; in dr_action_get_dest_sw_tbl_addr() 721 if (dest_tbl->tbl->level <= matcher->tbl->level) { in dr_action_get_dest_sw_tbl_addr() 726 matcher->tbl->level, in dr_action_get_dest_sw_tbl_addr() 743 return dr_action_get_dest_fw_tbl_addr(matcher, in dr_action_get_dest_tbl_addr() 748 return dr_action_get_dest_sw_tbl_addr(matcher, in dr_action_get_dest_tbl_addr() 756 int mlx5dr_actions_build_ste_arr(struct mlx5dr_matcher *matcher, in mlx5dr_actions_build_ste_arr() argument 765 struct mlx5dr_domain *dmn = matcher->tbl->dmn; in mlx5dr_actions_build_ste_arr() 795 ret = dr_action_get_dest_tbl_addr(matcher, action->dest_tbl, in mlx5dr_actions_build_ste_arr() 801 ret = dr_action_get_dest_tbl_addr(matcher, in mlx5dr_actions_build_ste_arr() [all …]
|
| H A D | dr_types.h | 353 struct mlx5dr_matcher *matcher, 356 struct mlx5dr_matcher *matcher, in mlx5dr_ste_put() argument 361 mlx5dr_ste_free(ste, matcher, nic_matcher); in mlx5dr_ste_put() 376 int mlx5dr_ste_create_next_htbl(struct mlx5dr_matcher *matcher, 387 int mlx5dr_ste_build_ste_arr(struct mlx5dr_matcher *matcher, 518 int mlx5dr_actions_build_ste_arr(struct mlx5dr_matcher *matcher, 1157 struct mlx5dr_matcher *matcher; member 1214 int mlx5dr_matcher_select_builders(struct mlx5dr_matcher *matcher,
|
| H A D | dr_ste.c | 309 struct mlx5dr_matcher *matcher, in mlx5dr_ste_free() argument 313 struct mlx5dr_domain *dmn = matcher->tbl->dmn; in mlx5dr_ste_free() 445 int mlx5dr_ste_create_next_htbl(struct mlx5dr_matcher *matcher, in mlx5dr_ste_create_next_htbl() argument 452 struct mlx5dr_domain *dmn = matcher->tbl->dmn; in mlx5dr_ste_create_next_htbl() 746 int mlx5dr_ste_build_ste_arr(struct mlx5dr_matcher *matcher, in mlx5dr_ste_build_ste_arr() argument 753 struct mlx5dr_domain *dmn = matcher->tbl->dmn; in mlx5dr_ste_build_ste_arr() 758 ret = mlx5dr_ste_build_pre_check(dmn, matcher->match_criteria, in mlx5dr_ste_build_ste_arr() 759 &matcher->mask, value); in mlx5dr_ste_build_ste_arr()
|
| H A D | fs_dr.c | 141 struct mlx5dr_matcher *matcher; in mlx5_cmd_dr_create_flow_group() local 157 matcher = mlx5dr_matcher_create(ft->fs_dr_table.dr_table, in mlx5_cmd_dr_create_flow_group() 161 if (!matcher) { in mlx5_cmd_dr_create_flow_group() 166 fg->fs_dr_matcher.dr_matcher = matcher; in mlx5_cmd_dr_create_flow_group()
|
| /linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/lib/ |
| H A D | smfs.c | 21 mlx5_smfs_matcher_destroy(struct mlx5dr_matcher *matcher) in mlx5_smfs_matcher_destroy() argument 23 mlx5dr_matcher_destroy(matcher); in mlx5_smfs_matcher_destroy() 51 mlx5_smfs_rule_create(struct mlx5dr_matcher *matcher, struct mlx5_flow_spec *spec, in mlx5_smfs_rule_create() argument 60 return mlx5dr_rule_create(matcher, &value, num_actions, actions, flow_source); in mlx5_smfs_rule_create()
|
| H A D | smfs.h | 14 mlx5_smfs_matcher_destroy(struct mlx5dr_matcher *matcher); 29 mlx5_smfs_rule_create(struct mlx5dr_matcher *matcher, struct mlx5_flow_spec *spec,
|
| /linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/ |
| H A D | Makefile | 149 steering/hws/matcher.o \
|
| /linux-6.15/arch/powerpc/boot/dts/ |
| H A D | xpedite5370.dts | 534 /* PME (pattern-matcher) */
|