/linux/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/ |
H A D | matcher.c | 21 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 D | rule.c | 6 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 D | debug.c | 45 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 D | matcher.h | 91 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 D | bwc.c | 71 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 D | table.c | 300 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 D | rule.h | 56 struct mlx5hws_matcher *matcher; member 72 void mlx5hws_rule_skip(struct mlx5hws_matcher *matcher, u32 flow_source,
|
H A D | bwc_complex.c | 788 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 D | mlx5hws.h | 407 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 D | bwc.h | 30 struct mlx5hws_matcher *matcher; member
|
H A D | fs_hws.c | 348 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, ¶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() 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 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()
|
/linux/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/ |
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_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,
|
/linux/arch/powerpc/boot/dts/ |
H A D | xpedite5301.dts | 536 /* PME (pattern-matcher) */
|
H A D | xcalibur1501.dts | 626 /* PME (pattern-matcher) */
|
H A D | xpedite5370.dts | 534 /* PME (pattern-matcher) */
|
H A D | xpedite5330.dts | 572 /* PME (pattern-matcher) */
|
/linux/Documentation/security/keys/ |
H A D | core.rst | 1541 to the default matcher function (which does an exact description match
|