Home
last modified time | relevance | path

Searched refs:matcher (Results 1 – 23 of 23) 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 struct mlx5hws_context *ctx = bwc_matcher->matcher->tbl->ctx; in hws_bwc_matcher_move_all_simple()
72 struct mlx5hws_matcher *matcher = bwc_matcher->matcher; in hws_bwc_matcher_move_all_simple() local
94 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()
281 bwc_matcher->matcher = mlx5hws_matcher_create(table, in mlx5hws_bwc_matcher_create_simple()
286 if (!bwc_matcher->matcher) { in mlx5hws_bwc_matcher_create_simple()
374 mlx5hws_matcher_destroy(bwc_matcher->matcher); in mlx5hws_bwc_matcher_destroy_simple()
375 bwc_matcher->matcher = NULL; 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 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 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()
1087 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/steering/sws/
H A Ddr_matcher.c383 int mlx5dr_matcher_select_builders(struct mlx5dr_matcher *matcher, in mlx5dr_matcher_select_builders() argument
394 mlx5dr_dbg(matcher->tbl->dmn, in mlx5dr_matcher_select_builders()
402 static int dr_matcher_set_ste_builders(struct mlx5dr_matcher *matcher, in dr_matcher_set_ste_builders() argument
408 struct mlx5dr_domain *dmn = matcher->tbl->dmn; in dr_matcher_set_ste_builders()
421 if (matcher->match_criteria & DR_MATCHER_CRITERIA_OUTER) in dr_matcher_set_ste_builders()
422 mask.outer = matcher->mask.outer; in dr_matcher_set_ste_builders()
424 if (matcher->match_criteria & DR_MATCHER_CRITERIA_MISC) in dr_matcher_set_ste_builders()
425 mask.misc = matcher->mask.misc; in dr_matcher_set_ste_builders()
427 if (matcher->match_criteria & DR_MATCHER_CRITERIA_INNER) in dr_matcher_set_ste_builders()
428 mask.inner = matcher->mask.inner; in dr_matcher_set_ste_builders()
[all …]
H A Ddr_rule.c43 static void dr_rule_set_last_ste_miss_addr(struct mlx5dr_matcher *matcher, in dr_rule_set_last_ste_miss_addr() argument
47 struct mlx5dr_ste_ctx *ste_ctx = matcher->tbl->dmn->ste_ctx; in dr_rule_set_last_ste_miss_addr()
58 dr_rule_create_collision_htbl(struct mlx5dr_matcher *matcher, in dr_rule_create_collision_htbl() argument
62 struct mlx5dr_domain *dmn = matcher->tbl->dmn; in dr_rule_create_collision_htbl()
78 dr_rule_set_last_ste_miss_addr(matcher, nic_matcher, hw_ste); in dr_rule_create_collision_htbl()
85 dr_rule_create_collision_entry(struct mlx5dr_matcher *matcher, in dr_rule_create_collision_entry() argument
92 ste = dr_rule_create_collision_htbl(matcher, nic_matcher, hw_ste); in dr_rule_create_collision_entry()
94 mlx5dr_dbg(matcher->tbl->dmn, "Failed creating collision entry\n"); in dr_rule_create_collision_entry()
105 if (mlx5dr_ste_create_next_htbl(matcher, nic_matcher, ste, hw_ste, in dr_rule_create_collision_entry()
107 mlx5dr_dbg(matcher->tbl->dmn, "Failed allocating table\n"); in dr_rule_create_collision_entry()
[all …]
H A Ddr_dbg.c175 struct mlx5dr_domain *dmn = rule->matcher->tbl->dmn; in mlx5dr_dbg_rule_add()
178 list_add_tail(&rule->dbg_node, &rule->matcher->dbg_rule_list); in mlx5dr_dbg_rule_add()
184 struct mlx5dr_domain *dmn = rule->matcher->tbl->dmn; in mlx5dr_dbg_rule_del()
556 format_ver = rule->matcher->tbl->dmn->info.caps.sw_format_ver; in dr_dump_rule()
560 rule_id, DR_DBG_PTR_TO_ID(rule->matcher)); in dr_dump_rule()
745 dr_dump_matcher(struct seq_file *file, struct mlx5dr_matcher *matcher) in dr_dump_matcher() argument
747 struct mlx5dr_matcher_rx_tx *rx = &matcher->rx; in dr_dump_matcher()
748 struct mlx5dr_matcher_rx_tx *tx = &matcher->tx; in dr_dump_matcher()
753 matcher_id = DR_DBG_PTR_TO_ID(matcher); in dr_dump_matcher()
757 matcher_id, DR_DBG_PTR_TO_ID(matcher->tbl), in dr_dump_matcher()
[all …]
H A Ddr_action.c677 static int dr_action_get_dest_fw_tbl_addr(struct mlx5dr_matcher *matcher, in dr_action_get_dest_fw_tbl_addr() argument
683 struct mlx5dr_domain *dmn = matcher->tbl->dmn; in dr_action_get_dest_fw_tbl_addr()
707 static int dr_action_get_dest_sw_tbl_addr(struct mlx5dr_matcher *matcher, in dr_action_get_dest_sw_tbl_addr() argument
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()
737 static int dr_action_get_dest_tbl_addr(struct mlx5dr_matcher *matcher, in dr_action_get_dest_tbl_addr() argument
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
[all …]
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,
H 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()
/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/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