Home
last modified time | relevance | path

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

/linux/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/
H A Dmatcher.c21 static void hws_matcher_destroy_end_ft(struct mlx5hws_matcher *matcher) in hws_matcher_destroy_end_ft() argument
23 mlx5hws_table_destroy_default_ft(matcher->tbl, matcher->end_ft_id); in hws_matcher_destroy_end_ft()
50 static int hws_matcher_connect_end_ft_isolated(struct mlx5hws_matcher *matcher) in hws_matcher_connect_end_ft_isolated() argument
52 struct mlx5hws_table *tbl = matcher->tbl; in hws_matcher_connect_end_ft_isolated()
58 matcher->end_ft_id, in hws_matcher_connect_end_ft_isolated()
59 matcher->tbl->fw_ft_type, in hws_matcher_connect_end_ft_isolated()
67 end_ft_id = matcher->attr.isolated_matcher_end_ft_id; in hws_matcher_connect_end_ft_isolated()
69 matcher->end_ft_id, in hws_matcher_connect_end_ft_isolated()
70 matcher->tbl->fw_ft_type, in hws_matcher_connect_end_ft_isolated()
81 static int hws_matcher_create_end_ft_isolated(struct mlx5hws_matcher *matcher) in hws_matcher_create_end_ft_isolated() argument
[all …]
H A Drule.c6 void mlx5hws_rule_skip(struct mlx5hws_matcher *matcher, u32 flow_source, in mlx5hws_rule_skip() argument
26 *skip_tx = matcher->attr.optimize_flow_src == in mlx5hws_rule_skip()
28 *skip_rx = matcher->attr.optimize_flow_src == in mlx5hws_rule_skip()
39 if (!mlx5hws_matcher_is_resizable(rule->matcher)) { in hws_rule_update_copy_tag()
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()
64 dep_wqe->direct_index = mlx5hws_matcher_is_insert_by_idx(matcher) ? in hws_rule_init_dep_wqe()
68 mlx5hws_rule_skip(matcher, attr->flow_source, in hws_rule_init_dep_wqe()
72 dep_wqe->rtc_0 = matcher->match_ste.rtc_0_id; in hws_rule_init_dep_wqe()
73 dep_wqe->retry_rtc_0 = matcher->col_matcher ? in hws_rule_init_dep_wqe()
[all …]
H A Ddebug.c45 hws_debug_dump_matcher_match_template(struct seq_file *f, struct mlx5hws_matcher *matcher) in hws_debug_dump_matcher_match_template() argument
50 for (i = 0; i < matcher->num_of_mt; i++) { in hws_debug_dump_matcher_match_template()
51 struct mlx5hws_match_template *mt = &matcher->mt[i]; in hws_debug_dump_matcher_match_template()
56 HWS_PTR_TO_ID(matcher), in hws_debug_dump_matcher_match_template()
70 hws_debug_dump_matcher_action_template(struct seq_file *f, struct mlx5hws_matcher *matcher) in hws_debug_dump_matcher_action_template() argument
75 for (i = 0; i < matcher->num_of_at; i++) { in hws_debug_dump_matcher_action_template()
76 struct mlx5hws_action_template *at = &matcher->at[i]; in hws_debug_dump_matcher_action_template()
81 HWS_PTR_TO_ID(matcher), in hws_debug_dump_matcher_action_template()
98 hws_debug_dump_matcher_attr(struct seq_file *f, struct mlx5hws_matcher *matcher) in hws_debug_dump_matcher_attr() argument
100 struct mlx5hws_matcher_attr *attr = &matcher->attr; in hws_debug_dump_matcher_attr()
[all …]
H 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()
H A Dbwc.c71 first_matcher ? first_matcher->matcher->end_ft_id : 0; in hws_bwc_matcher_init_attr()
77 struct mlx5hws_context *ctx = bwc_matcher->matcher->tbl->ctx; in hws_bwc_matcher_move_all_simple()
78 struct mlx5hws_matcher *matcher = bwc_matcher->matcher; in hws_bwc_matcher_move_all_simple() local
100 ret = mlx5hws_matcher_resize_rule_move(matcher, in hws_bwc_matcher_move_all_simple()
182 struct mlx5hws_context *ctx = bwc_matcher->matcher->tbl->ctx; in hws_bwc_matcher_move()
194 old_matcher = bwc_matcher->matcher; in hws_bwc_matcher_move()
220 bwc_matcher->matcher = new_matcher; in hws_bwc_matcher_move()
280 bwc_matcher->matcher = mlx5hws_matcher_create(table, in mlx5hws_bwc_matcher_create_simple()
285 if (!bwc_matcher->matcher) { in mlx5hws_bwc_matcher_create_simple()
373 mlx5hws_matcher_destroy(bwc_matcher->matcher); in mlx5hws_bwc_matcher_destroy_simple()
[all …]
H A Dtable.c300 struct mlx5hws_matcher *matcher; in hws_table_get_last_ft() local
305 matcher = list_last_entry(&tbl->matchers_list, struct mlx5hws_matcher, list_node); in hws_table_get_last_ft()
306 return matcher->end_ft_id; in hws_table_get_last_ft()
390 struct mlx5hws_matcher *matcher; in mlx5hws_table_connect_to_miss_table() local
415 matcher = list_first_entry(&dst_tbl->matchers_list, in mlx5hws_table_connect_to_miss_table()
421 matcher->match_ste.rtc_0_id, in mlx5hws_table_connect_to_miss_table()
422 matcher->match_ste.rtc_1_id); in mlx5hws_table_connect_to_miss_table()
H A Drule.h56 struct mlx5hws_matcher *matcher; member
72 void mlx5hws_rule_skip(struct mlx5hws_matcher *matcher, u32 flow_source,
H 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()
H A Dmlx5hws.h407 int mlx5hws_matcher_destroy(struct mlx5hws_matcher *matcher);
417 int mlx5hws_matcher_attach_at(struct mlx5hws_matcher *matcher,
472 int mlx5hws_rule_create(struct mlx5hws_matcher *matcher,
H A Dbwc.h30 struct mlx5hws_matcher *matcher; member
H A Dfs_hws.c348 struct mlx5hws_bwc_matcher *matcher; in mlx5_cmd_hws_create_flow_group() local
361 matcher = mlx5hws_bwc_matcher_create(ft->fs_hws_table.hws_table, in mlx5_cmd_hws_create_flow_group()
364 if (!matcher) { in mlx5_cmd_hws_create_flow_group()
369 fg->fs_hws_matcher.matcher = matcher; in mlx5_cmd_hws_create_flow_group()
380 return mlx5hws_bwc_matcher_destroy(fg->fs_hws_matcher.matcher); in mlx5_cmd_hws_destroy_flow_group()
1095 rule = mlx5hws_bwc_rule_create(group->fs_hws_matcher.matcher, &params, in mlx5_cmd_hws_create_fte()
H 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()
/linux/drivers/net/ethernet/mellanox/mlx5/core/lib/
H 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()
/linux/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/
H A Dmlx5dr.h69 int mlx5dr_matcher_destroy(struct mlx5dr_matcher *matcher);
72 mlx5dr_rule_create(struct mlx5dr_matcher *matcher,
H 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,
/linux/arch/powerpc/boot/dts/
H A Dxpedite5301.dts536 /* PME (pattern-matcher) */
H A Dxcalibur1501.dts626 /* PME (pattern-matcher) */
H A Dxpedite5370.dts534 /* PME (pattern-matcher) */
H A Dxpedite5330.dts572 /* PME (pattern-matcher) */
/linux/Documentation/security/keys/
H A Dcore.rst1541 to the default matcher function (which does an exact description match