Home
last modified time | relevance | path

Searched refs:matcher (Results 1 – 24 of 24) sorted by relevance

/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/
A Dmatcher.c23 mlx5hws_table_destroy_default_ft(matcher->tbl, matcher->end_ft_id); in hws_matcher_destroy_end_ft()
1020 matcher->size_of_at_array * sizeof(*matcher->at), in hws_matcher_grow_at_array()
1027 matcher->at = p; in hws_matcher_grow_at_array()
1059 matcher->at[matcher->num_of_at] = *at; in mlx5hws_matcher_attach_at()
1063 matcher->col_matcher->num_of_at = matcher->num_of_at; in mlx5hws_matcher_attach_at()
1090 matcher->at = kvcalloc(matcher->size_of_at_array, sizeof(*matcher->at), in hws_matcher_set_templates()
1133 matcher = kzalloc(sizeof(*matcher), GFP_KERNEL); in mlx5hws_matcher_create()
1134 if (!matcher) in mlx5hws_matcher_create()
1154 return matcher; in mlx5hws_matcher_create()
1159 kfree(matcher); in mlx5hws_matcher_create()
[all …]
A Drule.c26 *skip_tx = matcher->attr.optimize_flow_src == in mlx5hws_rule_skip()
58 struct mlx5hws_matcher *matcher = rule->matcher; in hws_rule_init_dep_wqe() local
59 struct mlx5hws_table *tbl = matcher->tbl; in hws_rule_init_dep_wqe()
202 struct mlx5hws_matcher *matcher = rule->matcher; in mlx5hws_rule_alloc_action_ste() local
229 struct mlx5hws_matcher *matcher = rule->matcher; in hws_rule_create_init() local
295 struct mlx5hws_matcher *matcher = rule->matcher; in hws_rule_create_hws() local
450 struct mlx5hws_matcher *matcher = rule->matcher; in hws_rule_destroy_hws() local
556 struct mlx5hws_matcher *matcher = rule->matcher; in hws_rule_enqueue_precheck_update() local
576 struct mlx5hws_matcher *matcher = rule->matcher; in mlx5hws_rule_move_hws_remove() local
613 struct mlx5hws_matcher *matcher = rule->matcher; in mlx5hws_rule_move_hws_add() local
[all …]
A Ddebug.c56 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()
142 matcher->match_ste.rtc_0_id, in hws_debug_dump_matcher()
144 matcher->match_ste.rtc_1_id, in hws_debug_dump_matcher()
[all …]
A Dmatcher.h91 static inline bool mlx5hws_matcher_is_resizable(struct mlx5hws_matcher *matcher) in mlx5hws_matcher_is_resizable() argument
93 return !!(matcher->flags & MLX5HWS_MATCHER_FLAGS_RESIZABLE); in mlx5hws_matcher_is_resizable()
96 static inline bool mlx5hws_matcher_is_in_resize(struct mlx5hws_matcher *matcher) in mlx5hws_matcher_is_in_resize() argument
98 return !!matcher->resize_dst; in mlx5hws_matcher_is_in_resize()
101 static inline bool mlx5hws_matcher_is_isolated(struct mlx5hws_matcher *matcher) in mlx5hws_matcher_is_isolated() argument
103 return !!(matcher->flags & MLX5HWS_MATCHER_FLAGS_ISOLATED); in mlx5hws_matcher_is_isolated()
106 static inline bool mlx5hws_matcher_is_insert_by_idx(struct mlx5hws_matcher *matcher) in mlx5hws_matcher_is_insert_by_idx() argument
108 return matcher->attr.insert_mode == MLX5HWS_MATCHER_INSERT_BY_INDEX; in mlx5hws_matcher_is_insert_by_idx()
A Dbwc.c71 first_matcher ? first_matcher->matcher->end_ft_id : 0; in hws_bwc_matcher_init_attr()
79 struct mlx5hws_matcher *matcher = bwc_matcher->matcher; in hws_bwc_matcher_move_all_simple() local
99 ret = mlx5hws_matcher_resize_rule_move(matcher, in hws_bwc_matcher_move_all_simple()
166 old_matcher = bwc_matcher->matcher; in hws_bwc_matcher_move()
192 bwc_matcher->matcher = new_matcher; in hws_bwc_matcher_move()
252 bwc_matcher->matcher = mlx5hws_matcher_create(table, in mlx5hws_bwc_matcher_create_simple()
257 if (!bwc_matcher->matcher) { in mlx5hws_bwc_matcher_create_simple()
345 mlx5hws_matcher_destroy(bwc_matcher->matcher); in mlx5hws_bwc_matcher_destroy_simple()
346 bwc_matcher->matcher = NULL; in mlx5hws_bwc_matcher_destroy_simple()
364 mlx5hws_err(bwc_matcher->matcher->tbl->ctx, in mlx5hws_bwc_matcher_destroy()
[all …]
A Dtable.c293 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()
A Drule.h56 struct mlx5hws_matcher *matcher; member
72 void mlx5hws_rule_skip(struct mlx5hws_matcher *matcher, u32 flow_source,
A Dbwc_complex.c788 ft_attr.table_miss_id = bwc_matcher->matcher->end_ft_id; in hws_bwc_isolated_table_create()
1163 struct mlx5hws_context *ctx = bwc_matcher->matcher->tbl->ctx; in mlx5hws_bwc_rule_create_complex()
1281 struct mlx5hws_context *ctx = bwc_rule->bwc_matcher->matcher->tbl->ctx; in mlx5hws_bwc_rule_destroy_complex()
1329 struct mlx5hws_context *ctx = bwc_matcher->matcher->tbl->ctx; in mlx5hws_bwc_matcher_move_all_complex()
1330 struct mlx5hws_matcher *matcher = bwc_matcher->matcher; in mlx5hws_bwc_matcher_move_all_complex() local
1348 end_ft_id = bwc_matcher->matcher->resize_dst->end_ft_id; in mlx5hws_bwc_matcher_move_all_complex()
1381 tmp_bwc_rule->rule->matcher = in mlx5hws_bwc_matcher_move_all_complex()
1382 tmp_bwc_rule->rule->matcher->resize_dst; in mlx5hws_bwc_matcher_move_all_complex()
1391 ret = mlx5hws_matcher_resize_rule_move(matcher, in mlx5hws_bwc_matcher_move_all_complex()
A Dmlx5hws.h406 int mlx5hws_matcher_destroy(struct mlx5hws_matcher *matcher);
416 int mlx5hws_matcher_attach_at(struct mlx5hws_matcher *matcher,
471 int mlx5hws_rule_create(struct mlx5hws_matcher *matcher,
A Dfs_hws.h52 struct mlx5hws_bwc_matcher *matcher; member
A Dbwc.h30 struct mlx5hws_matcher *matcher; member
A Dfs_hws.c347 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()
1094 rule = mlx5hws_bwc_rule_create(group->fs_hws_matcher.matcher, &params, in mlx5_cmd_hws_create_fte()
A Dsend.c336 priv->rule->matcher = priv->rule->matcher->resize_dst; in hws_send_engine_update_rule_resize()
352 struct mlx5hws_context *ctx = priv->rule->matcher->tbl->ctx; in hws_send_engine_dump_error_cqe()
392 HWS_PTR_TO_ID(rule->matcher), in hws_send_engine_dump_error_cqe()
393 (rule->matcher->flags & MLX5HWS_MATCHER_FLAGS_ISOLATED) ? in hws_send_engine_dump_error_cqe()
/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/
A Ddr_matcher.c882 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 …]
A Ddr_rule.c402 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 …]
A Ddr_dbg.c174 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 …]
A Ddr_action.c683 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 …]
A Dmlx5dr.h69 int mlx5dr_matcher_destroy(struct mlx5dr_matcher *matcher);
72 mlx5dr_rule_create(struct mlx5dr_matcher *matcher,
A Ddr_types.h353 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,
A Ddr_ste.c309 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()
A Dfs_dr.c141 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()
/drivers/net/ethernet/mellanox/mlx5/core/lib/
A Dsmfs.c21 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()
A Dsmfs.h14 mlx5_smfs_matcher_destroy(struct mlx5dr_matcher *matcher);
29 mlx5_smfs_rule_create(struct mlx5dr_matcher *matcher, struct mlx5_flow_spec *spec,
/drivers/net/ethernet/mellanox/mlx5/core/
A DMakefile149 steering/hws/matcher.o \

Completed in 72 milliseconds