Home
last modified time | relevance | path

Searched refs:dmn (Results 1 - 25 of 33) sorted by relevance

12

/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx5/core/steering/
H A Ddr_domain.c8 #define DR_DOMAIN_SW_STEERING_SUPPORTED(dmn, dmn_type) \
9 ((dmn)->info.caps.dmn_type##_sw_owner || \
10 ((dmn)->info.caps.dmn_type##_sw_owner_v2 && \
11 (dmn)->info.caps.sw_format_ver <= MLX5_STEERING_FORMAT_CONNECTX_7))
13 bool mlx5dr_domain_is_support_ptrn_arg(struct mlx5dr_domain *dmn) in mlx5dr_domain_is_support_ptrn_arg() argument
15 return dmn->info.caps.sw_format_ver >= MLX5_STEERING_FORMAT_CONNECTX_6DX && in mlx5dr_domain_is_support_ptrn_arg()
16 dmn->info.caps.support_modify_argument; in mlx5dr_domain_is_support_ptrn_arg()
19 static int dr_domain_init_modify_header_resources(struct mlx5dr_domain *dmn) in dr_domain_init_modify_header_resources() argument
21 if (!mlx5dr_domain_is_support_ptrn_arg(dmn)) in dr_domain_init_modify_header_resources()
24 dmn in dr_domain_init_modify_header_resources()
44 dr_domain_destroy_modify_header_resources(struct mlx5dr_domain *dmn) dr_domain_destroy_modify_header_resources() argument
53 dr_domain_init_csum_recalc_fts(struct mlx5dr_domain *dmn) dr_domain_init_csum_recalc_fts() argument
61 dr_domain_uninit_csum_recalc_fts(struct mlx5dr_domain *dmn) dr_domain_uninit_csum_recalc_fts() argument
74 mlx5dr_domain_get_recalc_cs_ft_addr(struct mlx5dr_domain *dmn, u16 vport_num, u64 *rx_icm_addr) mlx5dr_domain_get_recalc_cs_ft_addr() argument
99 dr_domain_init_mem_resources(struct mlx5dr_domain *dmn) dr_domain_init_mem_resources() argument
154 dr_domain_uninit_mem_resources(struct mlx5dr_domain *dmn) dr_domain_uninit_mem_resources() argument
163 dr_domain_init_resources(struct mlx5dr_domain *dmn) dr_domain_init_resources() argument
218 dr_domain_uninit_resources(struct mlx5dr_domain *dmn) dr_domain_uninit_resources() argument
227 dr_domain_fill_uplink_caps(struct mlx5dr_domain *dmn, struct mlx5dr_cmd_vport_cap *uplink_vport) dr_domain_fill_uplink_caps() argument
239 dr_domain_query_vport(struct mlx5dr_domain *dmn, u16 vport_number, bool other_vport, struct mlx5dr_cmd_vport_cap *vport_caps) dr_domain_query_vport() argument
267 dr_domain_query_esw_mgr(struct mlx5dr_domain *dmn) dr_domain_query_esw_mgr() argument
273 dr_domain_query_uplink(struct mlx5dr_domain *dmn) dr_domain_query_uplink() argument
279 dr_domain_add_vport_cap(struct mlx5dr_domain *dmn, u16 vport) dr_domain_add_vport_cap() argument
306 dr_domain_is_esw_mgr_vport(struct mlx5dr_domain *dmn, u16 vport) dr_domain_is_esw_mgr_vport() argument
315 mlx5dr_domain_get_vport_cap(struct mlx5dr_domain *dmn, u16 vport) mlx5dr_domain_get_vport_cap() argument
339 dr_domain_clear_vports(struct mlx5dr_domain *dmn) dr_domain_clear_vports() argument
350 dr_domain_query_fdb_caps(struct mlx5_core_dev *mdev, struct mlx5dr_domain *dmn) dr_domain_query_fdb_caps() argument
389 dr_domain_caps_init(struct mlx5_core_dev *mdev, struct mlx5dr_domain *dmn) dr_domain_caps_init() argument
453 dr_domain_caps_uninit(struct mlx5dr_domain *dmn) dr_domain_caps_uninit() argument
462 struct mlx5dr_domain *dmn; mlx5dr_domain_create() local
520 mlx5dr_domain_sync(struct mlx5dr_domain *dmn, u32 flags) mlx5dr_domain_sync() argument
541 mlx5dr_domain_destroy(struct mlx5dr_domain *dmn) mlx5dr_domain_destroy() argument
560 mlx5dr_domain_set_peer(struct mlx5dr_domain *dmn, struct mlx5dr_domain *peer_dmn, u16 peer_vhca_id) mlx5dr_domain_set_peer() argument
[all...]
H A Ddr_fw.c8 mlx5dr_fw_create_recalc_cs_ft(struct mlx5dr_domain *dmn, u16 vport_num) in mlx5dr_fw_create_recalc_cs_ft() argument
21 ft_attr.level = dmn->info.caps.max_ft_level - 1; in mlx5dr_fw_create_recalc_cs_ft()
24 ret = mlx5dr_cmd_create_flow_table(dmn->mdev, in mlx5dr_fw_create_recalc_cs_ft()
29 mlx5dr_err(dmn, "Failed creating TTL W/A FW flow table %d\n", ret); in mlx5dr_fw_create_recalc_cs_ft()
33 ret = mlx5dr_cmd_create_empty_flow_group(dmn->mdev, in mlx5dr_fw_create_recalc_cs_ft()
37 mlx5dr_err(dmn, "Failed creating TTL W/A FW flow group %d\n", ret); in mlx5dr_fw_create_recalc_cs_ft()
46 ret = mlx5dr_cmd_alloc_modify_header(dmn->mdev, MLX5_FLOW_TABLE_TYPE_FDB, 1, in mlx5dr_fw_create_recalc_cs_ft()
50 mlx5dr_err(dmn, "Failed modify header TTL %d\n", ret); in mlx5dr_fw_create_recalc_cs_ft()
54 ret = mlx5dr_cmd_set_fte_modify_and_vport(dmn->mdev, in mlx5dr_fw_create_recalc_cs_ft()
59 mlx5dr_err(dmn, "Faile in mlx5dr_fw_create_recalc_cs_ft()
83 mlx5dr_fw_destroy_recalc_cs_ft(struct mlx5dr_domain *dmn, struct mlx5dr_fw_recalc_cs_ft *recalc_cs_ft) mlx5dr_fw_destroy_recalc_cs_ft() argument
101 mlx5dr_fw_create_md_tbl(struct mlx5dr_domain *dmn, struct mlx5dr_cmd_flow_destination_hw_info *dest, int num_dest, bool reformat_req, u32 *tbl_id, u32 *group_id, bool ignore_flow_level, u32 flow_source) mlx5dr_fw_create_md_tbl() argument
162 mlx5dr_fw_destroy_md_tbl(struct mlx5dr_domain *dmn, u32 tbl_id, u32 group_id) mlx5dr_fw_destroy_md_tbl() argument
[all...]
H A Ddr_action.c531 static void dr_actions_apply(struct mlx5dr_domain *dmn, in dr_actions_apply() argument
538 struct mlx5dr_ste_ctx *ste_ctx = dmn->ste_ctx; in dr_actions_apply()
542 mlx5dr_ste_set_actions_rx(ste_ctx, dmn, action_type_set, in dr_actions_apply()
545 mlx5dr_ste_set_actions_tx(ste_ctx, dmn, action_type_set, in dr_actions_apply()
586 static int dr_action_handle_cs_recalc(struct mlx5dr_domain *dmn, in dr_action_handle_cs_recalc() argument
601 mlx5dr_dbg(dmn, in dr_action_handle_cs_recalc()
611 ret = mlx5dr_domain_get_recalc_cs_ft_addr(dest_action->vport->dmn, in dr_action_handle_cs_recalc()
615 mlx5dr_err(dmn, "Failed to get FW cs recalc flow table\n"); in dr_action_handle_cs_recalc()
627 static void dr_action_modify_ttl_adjust(struct mlx5dr_domain *dmn, in dr_action_modify_ttl_adjust() argument
635 if (mlx5dr_ste_supp_ttl_cs_recalc(&dmn in dr_action_modify_ttl_adjust()
658 dr_action_print_sequence(struct mlx5dr_domain *dmn, struct mlx5dr_action *actions[], int last_idx) dr_action_print_sequence() argument
676 struct mlx5dr_domain *dmn = matcher->tbl->dmn; dr_action_get_dest_fw_tbl_addr() local
705 struct mlx5dr_domain *dmn = matcher->tbl->dmn; dr_action_get_dest_sw_tbl_addr() local
758 struct mlx5dr_domain *dmn = matcher->tbl->dmn; mlx5dr_actions_build_ste_arr() local
1012 mlx5dr_action_create_dest_table_num(struct mlx5dr_domain *dmn, u32 table_num) mlx5dr_action_create_dest_table_num() argument
1075 struct mlx5dr_domain *dmn = action->range->dmn; dr_action_create_range_definer() local
1101 mlx5dr_action_create_dest_match_range(struct mlx5dr_domain *dmn, u32 field, struct mlx5_flow_table *hit_ft, struct mlx5_flow_table *miss_ft, u32 min, u32 max) mlx5dr_action_create_dest_match_range() argument
1167 mlx5dr_action_create_mult_dest_tbl(struct mlx5dr_domain *dmn, struct mlx5dr_action_dest *dests, u32 num_of_dests, bool ignore_flow_level, u32 flow_source) mlx5dr_action_create_mult_dest_tbl() argument
1273 mlx5dr_action_create_dest_flow_fw_table(struct mlx5dr_domain *dmn, struct mlx5_flow_table *ft) mlx5dr_action_create_dest_flow_fw_table() argument
1320 mlx5dr_action_create_flow_sampler(struct mlx5dr_domain *dmn, u32 sampler_id) mlx5dr_action_create_flow_sampler() argument
1345 dr_action_verify_reformat_params(enum mlx5dr_action_type reformat_type, struct mlx5dr_domain *dmn, u8 reformat_param_0, u8 reformat_param_1, size_t data_sz, void *data) dr_action_verify_reformat_params() argument
1396 dr_action_create_reformat_action(struct mlx5dr_domain *dmn, u8 reformat_param_0, u8 reformat_param_1, size_t data_sz, void *data, struct mlx5dr_action *action) dr_action_create_reformat_action() argument
1494 mlx5dr_action_create_push_vlan(struct mlx5dr_domain *dmn, __be32 vlan_hdr) mlx5dr_action_create_push_vlan() argument
1515 mlx5dr_action_create_packet_reformat(struct mlx5dr_domain *dmn, enum mlx5dr_action_reformat_type reformat_type, u8 reformat_param_0, u8 reformat_param_1, size_t data_sz, void *data) mlx5dr_action_create_packet_reformat() argument
1568 dr_action_modify_sw_to_hw_add(struct mlx5dr_domain *dmn, __be64 *sw_action, __be64 *hw_action, const struct mlx5dr_ste_action_modify_field **ret_hw_info) dr_action_modify_sw_to_hw_add() argument
1604 dr_action_modify_sw_to_hw_set(struct mlx5dr_domain *dmn, __be64 *sw_action, __be64 *hw_action, const struct mlx5dr_ste_action_modify_field **ret_hw_info) dr_action_modify_sw_to_hw_set() argument
1650 dr_action_modify_sw_to_hw_copy(struct mlx5dr_domain *dmn, __be64 *sw_action, __be64 *hw_action, const struct mlx5dr_ste_action_modify_field **ret_dst_hw_info, const struct mlx5dr_ste_action_modify_field **ret_src_hw_info) dr_action_modify_sw_to_hw_copy() argument
1705 dr_action_modify_sw_to_hw(struct mlx5dr_domain *dmn, __be64 *sw_action, __be64 *hw_action, const struct mlx5dr_ste_action_modify_field **ret_dst_hw_info, const struct mlx5dr_ste_action_modify_field **ret_src_hw_info) dr_action_modify_sw_to_hw() argument
1753 struct mlx5dr_domain *dmn = action->rewrite->dmn; dr_action_modify_check_set_field_limitation() local
1784 struct mlx5dr_domain *dmn = action->rewrite->dmn; dr_action_modify_check_add_field_limitation() local
1802 struct mlx5dr_domain *dmn = action->rewrite->dmn; dr_action_modify_check_copy_field_limitation() local
1839 struct mlx5dr_domain *dmn = action->rewrite->dmn; dr_action_modify_check_field_limitation() local
1888 struct mlx5dr_domain *dmn = action->rewrite->dmn; dr_actions_convert_modify_header() local
1980 dr_action_create_modify_action(struct mlx5dr_domain *dmn, size_t actions_sz, __be64 actions[], struct mlx5dr_action *action) dr_action_create_modify_action() argument
2037 mlx5dr_action_create_modify_header(struct mlx5dr_domain *dmn, u32 flags, size_t actions_sz, __be64 actions[]) mlx5dr_action_create_modify_header() argument
2077 mlx5dr_action_create_dest_vport(struct mlx5dr_domain *dmn, u16 vport, u8 vhca_id_valid, u16 vhca_id) mlx5dr_action_create_dest_vport() argument
2118 mlx5dr_action_create_aso(struct mlx5dr_domain *dmn, u32 obj_id, u8 dest_reg_id, u8 aso_type, u8 init_color, u8 meter_id) mlx5dr_action_create_aso() argument
[all...]
H A Ddr_table.c6 static int dr_table_set_miss_action_nic(struct mlx5dr_domain *dmn, in dr_table_set_miss_action_nic() argument
38 ret = mlx5dr_ste_htbl_init_and_postsend(dmn, nic_tbl->nic_dmn, in dr_table_set_miss_action_nic()
41 mlx5dr_dbg(dmn, "Failed to set NIC RX/TX miss action, ret %d\n", ret); in dr_table_set_miss_action_nic()
54 mlx5dr_domain_lock(tbl->dmn); in mlx5dr_table_set_miss_action()
56 if (tbl->dmn->type == MLX5DR_DOMAIN_TYPE_NIC_RX || in mlx5dr_table_set_miss_action()
57 tbl->dmn->type == MLX5DR_DOMAIN_TYPE_FDB) { in mlx5dr_table_set_miss_action()
58 ret = dr_table_set_miss_action_nic(tbl->dmn, &tbl->rx, action); in mlx5dr_table_set_miss_action()
63 if (tbl->dmn->type == MLX5DR_DOMAIN_TYPE_NIC_TX || in mlx5dr_table_set_miss_action()
64 tbl->dmn->type == MLX5DR_DOMAIN_TYPE_FDB) { in mlx5dr_table_set_miss_action()
65 ret = dr_table_set_miss_action_nic(tbl->dmn, in mlx5dr_table_set_miss_action()
120 dr_table_init_nic(struct mlx5dr_domain *dmn, struct mlx5dr_table_rx_tx *nic_tbl) dr_table_init_nic() argument
250 mlx5dr_table_create(struct mlx5dr_domain *dmn, u32 level, u32 flags, u16 uid) mlx5dr_table_create() argument
[all...]
H A Ddr_matcher.c117 struct mlx5dr_domain *dmn) in dr_mask_is_tnl_vxlan_gpe()
120 dr_matcher_supp_vxlan_gpe(&dmn->info.caps); in dr_mask_is_tnl_vxlan_gpe()
143 struct mlx5dr_domain *dmn) in dr_mask_is_tnl_geneve_tlv_opt_exist_set()
145 return dr_matcher_supp_flex_parser_ok(&dmn->info.caps) && in dr_mask_is_tnl_geneve_tlv_opt_exist_set()
158 struct mlx5dr_domain *dmn) in dr_mask_is_tnl_geneve()
161 dr_matcher_supp_tnl_geneve(&dmn->info.caps); in dr_mask_is_tnl_geneve()
175 struct mlx5dr_domain *dmn) in dr_mask_is_tnl_gtpu()
178 dr_matcher_supp_tnl_gtpu(&dmn->info.caps); in dr_mask_is_tnl_gtpu()
187 struct mlx5dr_domain *dmn) in dr_mask_is_tnl_gtpu_dw_0()
190 dr_matcher_supp_tnl_gtpu_dw_0(&dmn in dr_mask_is_tnl_gtpu_dw_0()
116 dr_mask_is_tnl_vxlan_gpe(struct mlx5dr_match_param *mask, struct mlx5dr_domain *dmn) dr_mask_is_tnl_vxlan_gpe() argument
142 dr_mask_is_tnl_geneve_tlv_opt_exist_set(struct mlx5dr_match_misc *misc, struct mlx5dr_domain *dmn) dr_mask_is_tnl_geneve_tlv_opt_exist_set() argument
157 dr_mask_is_tnl_geneve(struct mlx5dr_match_param *mask, struct mlx5dr_domain *dmn) dr_mask_is_tnl_geneve() argument
174 dr_mask_is_tnl_gtpu(struct mlx5dr_match_param *mask, struct mlx5dr_domain *dmn) dr_mask_is_tnl_gtpu() argument
186 dr_mask_is_tnl_gtpu_dw_0(struct mlx5dr_match_param *mask, struct mlx5dr_domain *dmn) dr_mask_is_tnl_gtpu_dw_0() argument
198 dr_mask_is_tnl_gtpu_teid(struct mlx5dr_match_param *mask, struct mlx5dr_domain *dmn) dr_mask_is_tnl_gtpu_teid() argument
210 dr_mask_is_tnl_gtpu_dw_2(struct mlx5dr_match_param *mask, struct mlx5dr_domain *dmn) dr_mask_is_tnl_gtpu_dw_2() argument
222 dr_mask_is_tnl_gtpu_first_ext(struct mlx5dr_match_param *mask, struct mlx5dr_domain *dmn) dr_mask_is_tnl_gtpu_first_ext() argument
229 dr_mask_is_tnl_gtpu_flex_parser_0(struct mlx5dr_match_param *mask, struct mlx5dr_domain *dmn) dr_mask_is_tnl_gtpu_flex_parser_0() argument
244 dr_mask_is_tnl_gtpu_flex_parser_1(struct mlx5dr_match_param *mask, struct mlx5dr_domain *dmn) dr_mask_is_tnl_gtpu_flex_parser_1() argument
259 dr_mask_is_tnl_gtpu_any(struct mlx5dr_match_param *mask, struct mlx5dr_domain *dmn) dr_mask_is_tnl_gtpu_any() argument
285 dr_mask_is_icmp(struct mlx5dr_match_param *mask, struct mlx5dr_domain *dmn) dr_mask_is_icmp() argument
359 dr_mask_is_tnl_mpls_over_gre(struct mlx5dr_match_param *mask, struct mlx5dr_domain *dmn) dr_mask_is_tnl_mpls_over_gre() argument
371 dr_mask_is_tnl_mpls_over_udp(struct mlx5dr_match_param *mask, struct mlx5dr_domain *dmn) dr_mask_is_tnl_mpls_over_udp() argument
408 struct mlx5dr_domain *dmn = matcher->tbl->dmn; dr_matcher_set_ste_builders() local
681 dr_nic_matcher_connect(struct mlx5dr_domain *dmn, struct mlx5dr_matcher_rx_tx *curr_nic_matcher, struct mlx5dr_matcher_rx_tx *next_nic_matcher, struct mlx5dr_matcher_rx_tx *prev_nic_matcher) dr_nic_matcher_connect() argument
742 mlx5dr_matcher_add_to_tbl_nic(struct mlx5dr_domain *dmn, struct mlx5dr_matcher_rx_tx *nic_matcher) mlx5dr_matcher_add_to_tbl_nic() argument
802 struct mlx5dr_domain *dmn = matcher->tbl->dmn; dr_matcher_uninit() local
823 struct mlx5dr_domain *dmn = matcher->tbl->dmn; dr_matcher_set_all_ste_builders() local
841 struct mlx5dr_domain *dmn = matcher->tbl->dmn; dr_matcher_init_nic() local
900 struct mlx5dr_domain *dmn = matcher->tbl->dmn; dr_matcher_copy_param() local
945 struct mlx5dr_domain *dmn = tbl->dmn; dr_matcher_init() local
1030 dr_matcher_disconnect_nic(struct mlx5dr_domain *dmn, struct mlx5dr_table_rx_tx *nic_tbl, struct mlx5dr_matcher_rx_tx *next_nic_matcher, struct mlx5dr_matcher_rx_tx *prev_nic_matcher) dr_matcher_disconnect_nic() argument
1060 mlx5dr_matcher_remove_from_tbl_nic(struct mlx5dr_domain *dmn, struct mlx5dr_matcher_rx_tx *nic_matcher) mlx5dr_matcher_remove_from_tbl_nic() argument
[all...]
H A Ddr_definer.c40 dr_definer_find_obj(struct mlx5dr_domain *dmn, u16 format_id, in dr_definer_find_obj() argument
46 xa_for_each(&dmn->definers_xa, id, definer_obj) { in dr_definer_find_obj()
57 dr_definer_create_obj(struct mlx5dr_domain *dmn, u16 format_id, in dr_definer_create_obj() argument
67 ret = mlx5dr_cmd_create_definer(dmn->mdev, in dr_definer_create_obj()
80 mlx5dr_err(dmn, "Unsupported definer ID (%d)\n", definer_obj->id); in dr_definer_create_obj()
91 ret = xa_insert(&dmn->definers_xa, definer_obj->id, definer_obj, GFP_KERNEL); in dr_definer_create_obj()
93 mlx5dr_dbg(dmn, "Couldn't insert new definer into xarray (%d)\n", ret); in dr_definer_create_obj()
100 mlx5dr_cmd_destroy_definer(dmn->mdev, definer_obj->id); in dr_definer_create_obj()
107 static void dr_definer_destroy_obj(struct mlx5dr_domain *dmn, in dr_definer_destroy_obj() argument
110 mlx5dr_cmd_destroy_definer(dmn in dr_definer_destroy_obj()
115 mlx5dr_definer_get(struct mlx5dr_domain *dmn, u16 format_id, u8 *dw_selectors, u8 *byte_selectors, u8 *match_mask, u32 *definer_id) mlx5dr_definer_get() argument
139 mlx5dr_definer_put(struct mlx5dr_domain *dmn, u32 definer_id) mlx5dr_definer_put() argument
[all...]
H A Ddr_rule.c14 static int dr_rule_append_to_miss_list(struct mlx5dr_domain *dmn, in dr_rule_append_to_miss_list() argument
20 struct mlx5dr_ste_ctx *ste_ctx = dmn->ste_ctx; in dr_rule_append_to_miss_list()
28 ste_info_last = mlx5dr_send_info_alloc(dmn, nic_type); in dr_rule_append_to_miss_list()
47 struct mlx5dr_ste_ctx *ste_ctx = matcher->tbl->dmn->ste_ctx; in dr_rule_set_last_ste_miss_addr()
62 struct mlx5dr_domain *dmn = matcher->tbl->dmn; in dr_rule_create_collision_htbl() local
67 new_htbl = mlx5dr_ste_htbl_alloc(dmn->ste_icm_pool, in dr_rule_create_collision_htbl()
72 mlx5dr_dbg(dmn, "Failed allocating collision table\n"); in dr_rule_create_collision_htbl()
94 mlx5dr_dbg(matcher->tbl->dmn, "Failed creating collision entry\n"); in dr_rule_create_collision_entry()
107 mlx5dr_dbg(matcher->tbl->dmn, "Faile in dr_rule_create_collision_entry()
119 dr_rule_handle_one_ste_in_update_list(struct mlx5dr_ste_send_info *ste_info, struct mlx5dr_domain *dmn) dr_rule_handle_one_ste_in_update_list() argument
146 dr_rule_send_update_list(struct list_head *send_ste_list, struct mlx5dr_domain *dmn, bool is_reverse) dr_rule_send_update_list() argument
198 struct mlx5dr_domain *dmn = matcher->tbl->dmn; dr_rule_rehash_handle_collision() local
255 struct mlx5dr_domain *dmn = matcher->tbl->dmn; dr_rule_rehash_copy_ste() local
403 struct mlx5dr_domain *dmn = matcher->tbl->dmn; dr_rule_rehash_htbl() local
521 struct mlx5dr_domain *dmn = rule->matcher->tbl->dmn; dr_rule_rehash() local
542 struct mlx5dr_domain *dmn = matcher->tbl->dmn; dr_rule_handle_collision() local
687 dr_rule_need_enlarge_hash(struct mlx5dr_ste_htbl *htbl, struct mlx5dr_domain *dmn, struct mlx5dr_domain_rx_tx *nic_dmn) dr_rule_need_enlarge_hash() argument
722 struct mlx5dr_domain *dmn = matcher->tbl->dmn; dr_rule_handle_action_stes() local
788 struct mlx5dr_domain *dmn = matcher->tbl->dmn; dr_rule_handle_empty_entry() local
841 struct mlx5dr_domain *dmn = matcher->tbl->dmn; dr_rule_handle_ste_branch() local
1053 struct mlx5dr_domain *dmn = rule->matcher->tbl->dmn; dr_rule_destroy_rule() local
1122 struct mlx5dr_domain *dmn = matcher->tbl->dmn; dr_rule_create_rule_nic() local
1293 struct mlx5dr_domain *dmn = matcher->tbl->dmn; dr_rule_create_rule() local
[all...]
H A Ddr_arg.c21 struct mlx5dr_domain *dmn; member
27 struct mlx5dr_domain *dmn; member
43 pool->dmn->info.caps.log_header_modify_argument_granularity; in dr_arg_pool_alloc_objs()
46 max_t(u32, pool->dmn->info.caps.log_header_modify_argument_granularity, in dr_arg_pool_alloc_objs()
49 min_t(u32, pool->dmn->info.caps.log_header_modify_argument_max_alloc, in dr_arg_pool_alloc_objs()
53 mlx5dr_err(pool->dmn, "Required chunk size (%d) is not supported\n", in dr_arg_pool_alloc_objs()
60 ret = mlx5dr_cmd_create_modify_header_arg(pool->dmn->mdev, in dr_arg_pool_alloc_objs()
62 pool->dmn->pdn, in dr_arg_pool_alloc_objs()
65 mlx5dr_err(pool->dmn, "failed allocating object with range: %d:\n", in dr_arg_pool_alloc_objs()
89 mlx5dr_cmd_destroy_modify_header_arg(pool->dmn in dr_arg_pool_alloc_objs()
130 dr_arg_pool_create(struct mlx5dr_domain *dmn, enum dr_arg_chunk_size chunk_size) dr_arg_pool_create() argument
230 mlx5dr_arg_mgr_create(struct mlx5dr_domain *dmn) mlx5dr_arg_mgr_create() argument
[all...]
H A Ddr_dbg.c59 mutex_lock(&tbl->dmn->dump_info.dbg_mutex); in mlx5dr_dbg_tbl_add()
60 list_add_tail(&tbl->dbg_node, &tbl->dmn->dbg_tbl_list); in mlx5dr_dbg_tbl_add()
61 mutex_unlock(&tbl->dmn->dump_info.dbg_mutex); in mlx5dr_dbg_tbl_add()
66 mutex_lock(&tbl->dmn->dump_info.dbg_mutex); in mlx5dr_dbg_tbl_del()
68 mutex_unlock(&tbl->dmn->dump_info.dbg_mutex); in mlx5dr_dbg_tbl_del()
73 struct mlx5dr_domain *dmn = rule->matcher->tbl->dmn; in mlx5dr_dbg_rule_add() local
75 mutex_lock(&dmn->dump_info.dbg_mutex); in mlx5dr_dbg_rule_add()
77 mutex_unlock(&dmn->dump_info.dbg_mutex); in mlx5dr_dbg_rule_add()
82 struct mlx5dr_domain *dmn in mlx5dr_dbg_rule_del() local
631 dr_dump_domain(struct seq_file *file, struct mlx5dr_domain *dmn) dr_dump_domain() argument
662 dr_dump_domain_all(struct seq_file *file, struct mlx5dr_domain *dmn) dr_dump_domain_all() argument
692 mlx5dr_dbg_init_dump(struct mlx5dr_domain *dmn) mlx5dr_dbg_init_dump() argument
716 mlx5dr_dbg_uninit_dump(struct mlx5dr_domain *dmn) mlx5dr_dbg_uninit_dump() argument
[all...]
H A Ddr_send.c106 void mlx5dr_send_info_pool_destroy(struct mlx5dr_domain *dmn) in mlx5dr_send_info_pool_destroy() argument
108 dr_send_info_pool_destroy(dmn->send_info_pool_tx); in mlx5dr_send_info_pool_destroy()
109 dr_send_info_pool_destroy(dmn->send_info_pool_rx); in mlx5dr_send_info_pool_destroy()
132 int mlx5dr_send_info_pool_create(struct mlx5dr_domain *dmn) in mlx5dr_send_info_pool_create() argument
134 dmn->send_info_pool_rx = dr_send_info_pool_create(); in mlx5dr_send_info_pool_create()
135 if (!dmn->send_info_pool_rx) in mlx5dr_send_info_pool_create()
138 dmn->send_info_pool_tx = dr_send_info_pool_create(); in mlx5dr_send_info_pool_create()
139 if (!dmn->send_info_pool_tx) { in mlx5dr_send_info_pool_create()
140 dr_send_info_pool_destroy(dmn->send_info_pool_rx); in mlx5dr_send_info_pool_create()
148 *mlx5dr_send_info_alloc(struct mlx5dr_domain *dmn, in mlx5dr_send_info_alloc() argument
537 dr_handle_pending_wc(struct mlx5dr_domain *dmn, struct mlx5dr_send_ring *send_ring) dr_handle_pending_wc() argument
578 dr_fill_write_icm_segs(struct mlx5dr_domain *dmn, struct mlx5dr_send_ring *send_ring, struct postsend_info *send_info) dr_fill_write_icm_segs() argument
616 dr_fill_data_segs(struct mlx5dr_domain *dmn, struct mlx5dr_send_ring *send_ring, struct postsend_info *send_info) dr_fill_data_segs() argument
626 dr_postsend_icm_data(struct mlx5dr_domain *dmn, struct postsend_info *send_info) dr_postsend_icm_data() argument
654 dr_get_tbl_copy_details(struct mlx5dr_domain *dmn, struct mlx5dr_ste_htbl *htbl, u8 **data, u32 *byte_size, int *iterations, int *num_stes) dr_get_tbl_copy_details() argument
696 mlx5dr_send_postsend_ste(struct mlx5dr_domain *dmn, struct mlx5dr_ste *ste, u8 *data, u16 size, u16 offset) mlx5dr_send_postsend_ste() argument
712 mlx5dr_send_postsend_htbl(struct mlx5dr_domain *dmn, struct mlx5dr_ste_htbl *htbl, u8 *formatted_ste, u8 *mask) mlx5dr_send_postsend_htbl() argument
780 mlx5dr_send_postsend_formatted_htbl(struct mlx5dr_domain *dmn, struct mlx5dr_ste_htbl *htbl, u8 *ste_init_data, bool update_hw_ste) mlx5dr_send_postsend_formatted_htbl() argument
836 mlx5dr_send_postsend_action(struct mlx5dr_domain *dmn, struct mlx5dr_action *action) mlx5dr_send_postsend_action() argument
852 mlx5dr_send_postsend_pattern(struct mlx5dr_domain *dmn, struct mlx5dr_icm_chunk *chunk, u16 num_of_actions, u8 *data) mlx5dr_send_postsend_pattern() argument
872 mlx5dr_send_postsend_args(struct mlx5dr_domain *dmn, u64 arg_id, u16 num_of_actions, u8 *actions_data) mlx5dr_send_postsend_args() argument
994 dr_prepare_qp_to_rts(struct mlx5dr_domain *dmn) dr_prepare_qp_to_rts() argument
1220 mlx5dr_send_ring_alloc(struct mlx5dr_domain *dmn) mlx5dr_send_ring_alloc() argument
1325 mlx5dr_send_ring_free(struct mlx5dr_domain *dmn, struct mlx5dr_send_ring *send_ring) mlx5dr_send_ring_free() argument
1337 mlx5dr_send_ring_force_drain(struct mlx5dr_domain *dmn) mlx5dr_send_ring_force_drain() argument
[all...]
H A Ddr_icm_pool.c20 struct mlx5dr_domain *dmn; member
48 struct mlx5dr_domain *dmn; member
113 struct mlx5_core_dev *mdev = pool->dmn->mdev; in dr_icm_pool_mr_create()
123 icm_mr->dmn = pool->dmn; in dr_icm_pool_mr_create()
153 mlx5dr_err(pool->dmn, "Failed to allocate SW ICM memory, err (%d)\n", err); in dr_icm_pool_mr_create()
158 err = dr_icm_create_dm_mkey(mdev, pool->dmn->pdn, in dr_icm_pool_mr_create()
164 mlx5dr_err(pool->dmn, "Failed to create SW ICM MKEY, err (%d)\n", err); in dr_icm_pool_mr_create()
171 mlx5dr_err(pool->dmn, "Failed to get Aligned ICM mem (asked: %zu)\n", in dr_icm_pool_mr_create()
190 struct mlx5_core_dev *mdev = icm_mr->dmn in dr_icm_pool_mr_destroy()
505 mlx5dr_icm_pool_create(struct mlx5dr_domain *dmn, enum mlx5dr_icm_type icm_type) mlx5dr_icm_pool_create() argument
[all...]
H A Ddr_types.h26 #define mlx5dr_err(dmn, arg...) mlx5_core_err((dmn)->mdev, ##arg)
27 #define mlx5dr_info(dmn, arg...) mlx5_core_info((dmn)->mdev, ##arg)
28 #define mlx5dr_dbg(dmn, arg...) mlx5_core_dbg((dmn)->mdev, ##arg)
218 struct mlx5dr_domain *dmn; member
308 struct mlx5dr_domain *dmn,
314 struct mlx5dr_domain *dmn,
383 int mlx5dr_ste_build_pre_check(struct mlx5dr_domain *dmn,
971 struct mlx5dr_domain *dmn; global() member
1037 struct mlx5dr_domain *dmn; global() member
1051 struct mlx5dr_domain *dmn; global() member
1059 struct mlx5dr_domain *dmn; global() member
1070 struct mlx5dr_domain *dmn; global() member
1083 struct mlx5dr_domain *dmn; global() member
1097 struct mlx5dr_domain *dmn; global() member
1115 struct mlx5dr_domain *dmn; global() member
1200 mlx5dr_domain_lock(struct mlx5dr_domain *dmn) mlx5dr_domain_lock() argument
1206 mlx5dr_domain_unlock(struct mlx5dr_domain *dmn) mlx5dr_domain_unlock() argument
[all...]
H A Dmlx5dr.h50 void mlx5dr_domain_set_peer(struct mlx5dr_domain *dmn,
86 mlx5dr_action_create_dest_table_num(struct mlx5dr_domain *dmn, u32 table_num);
101 mlx5dr_action_create_mult_dest_tbl(struct mlx5dr_domain *dmn,
112 mlx5dr_action_create_flow_sampler(struct mlx5dr_domain *dmn, u32 sampler_id);
118 mlx5dr_action_create_packet_reformat(struct mlx5dr_domain *dmn,
137 mlx5dr_action_create_aso(struct mlx5dr_domain *dmn,
145 mlx5dr_action_create_dest_match_range(struct mlx5dr_domain *dmn,
156 int mlx5dr_definer_get(struct mlx5dr_domain *dmn, u16 format_id,
159 void mlx5dr_definer_put(struct mlx5dr_domain *dmn, u32 definer_id);
H A Ddr_ptrn.c16 struct mlx5dr_domain *dmn; member
94 mgr->dmn->info.caps.hdr_modify_pattern_icm_addr) / in dr_ptrn_alloc_pattern()
165 if (mlx5dr_send_postsend_pattern(mgr->dmn, pattern->chunk, in mlx5dr_ptrn_cache_get_pattern()
197 struct mlx5dr_ptrn_mgr *mlx5dr_ptrn_mgr_create(struct mlx5dr_domain *dmn) in mlx5dr_ptrn_mgr_create() argument
201 if (!mlx5dr_domain_is_support_ptrn_arg(dmn)) in mlx5dr_ptrn_mgr_create()
208 mgr->dmn = dmn; in mlx5dr_ptrn_mgr_create()
209 mgr->ptrn_icm_pool = mlx5dr_icm_pool_create(dmn, DR_ICM_TYPE_MODIFY_HDR_PTRN); in mlx5dr_ptrn_mgr_create()
211 mlx5dr_err(dmn, "Couldn't get modify-header-pattern memory\n"); in mlx5dr_ptrn_mgr_create()
H A Ddr_ste.c313 struct mlx5dr_domain *dmn = matcher->tbl->dmn; in mlx5dr_ste_free() local
314 struct mlx5dr_ste_ctx *ste_ctx = dmn->ste_ctx; in mlx5dr_ste_free()
365 mlx5dr_send_postsend_ste(dmn, cur_ste_info->ste, in mlx5dr_ste_free()
427 int mlx5dr_ste_htbl_init_and_postsend(struct mlx5dr_domain *dmn, in mlx5dr_ste_htbl_init_and_postsend() argument
435 mlx5dr_ste_set_formatted_ste(dmn->ste_ctx, in mlx5dr_ste_htbl_init_and_postsend()
436 dmn->info.caps.gvmi, in mlx5dr_ste_htbl_init_and_postsend()
442 return mlx5dr_send_postsend_formatted_htbl(dmn, htbl, formatted_ste, update_hw_ste); in mlx5dr_ste_htbl_init_and_postsend()
452 struct mlx5dr_domain *dmn = matcher->tbl->dmn; in mlx5dr_ste_create_next_htbl() local
551 mlx5dr_ste_set_actions_tx(struct mlx5dr_ste_ctx *ste_ctx, struct mlx5dr_domain *dmn, u8 *action_type_set, u8 *hw_ste_arr, struct mlx5dr_ste_actions_attr *attr, u32 *added_stes) mlx5dr_ste_set_actions_tx() argument
562 mlx5dr_ste_set_actions_rx(struct mlx5dr_ste_ctx *ste_ctx, struct mlx5dr_domain *dmn, u8 *action_type_set, u8 *hw_ste_arr, struct mlx5dr_ste_actions_attr *attr, u32 *added_stes) mlx5dr_ste_set_actions_rx() argument
640 struct mlx5dr_domain *dmn = action->rewrite->dmn; dr_ste_alloc_modify_hdr_chunk() local
676 struct mlx5dr_domain *dmn = action->rewrite->dmn; mlx5dr_ste_alloc_modify_hdr() local
686 struct mlx5dr_domain *dmn = action->rewrite->dmn; mlx5dr_ste_free_modify_hdr() local
694 dr_ste_build_pre_check_spec(struct mlx5dr_domain *dmn, struct mlx5dr_match_spec *spec) dr_ste_build_pre_check_spec() argument
713 mlx5dr_ste_build_pre_check(struct mlx5dr_domain *dmn, u8 match_criteria, struct mlx5dr_match_param *mask, struct mlx5dr_match_param *value) mlx5dr_ste_build_pre_check() argument
753 struct mlx5dr_domain *dmn = matcher->tbl->dmn; mlx5dr_ste_build_ste_arr() local
1408 mlx5dr_ste_build_src_gvmi_qpn(struct mlx5dr_ste_ctx *ste_ctx, struct mlx5dr_ste_build *sb, struct mlx5dr_match_param *mask, struct mlx5dr_domain *dmn, bool inner, bool rx) mlx5dr_ste_build_src_gvmi_qpn() argument
[all...]
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx5/core/steering/
H A Ddr_domain.c8 #define DR_DOMAIN_SW_STEERING_SUPPORTED(dmn, dmn_type) \
9 ((dmn)->info.caps.dmn_type##_sw_owner || \
10 ((dmn)->info.caps.dmn_type##_sw_owner_v2 && \
11 (dmn)->info.caps.sw_format_ver <= MLX5_STEERING_FORMAT_CONNECTX_6DX))
13 static int dr_domain_init_cache(struct mlx5dr_domain *dmn) in dr_domain_init_cache() argument
18 dmn->cache.recalc_cs_ft = kcalloc(dmn->info.caps.num_vports, in dr_domain_init_cache()
19 sizeof(dmn->cache.recalc_cs_ft[0]), in dr_domain_init_cache()
21 if (!dmn->cache.recalc_cs_ft) in dr_domain_init_cache()
27 static void dr_domain_uninit_cache(struct mlx5dr_domain *dmn) in dr_domain_uninit_cache() argument
41 mlx5dr_domain_cache_get_recalc_cs_ft_addr(struct mlx5dr_domain *dmn, u32 vport_num, u64 *rx_icm_addr) mlx5dr_domain_cache_get_recalc_cs_ft_addr() argument
62 dr_domain_init_resources(struct mlx5dr_domain *dmn) dr_domain_init_resources() argument
113 dr_domain_uninit_resources(struct mlx5dr_domain *dmn) dr_domain_uninit_resources() argument
122 dr_domain_query_vport(struct mlx5dr_domain *dmn, bool other_vport, u16 vport_number) dr_domain_query_vport() argument
152 dr_domain_query_vports(struct mlx5dr_domain *dmn) dr_domain_query_vports() argument
177 dr_domain_query_fdb_caps(struct mlx5_core_dev *mdev, struct mlx5dr_domain *dmn) dr_domain_query_fdb_caps() argument
216 dr_domain_caps_init(struct mlx5_core_dev *mdev, struct mlx5dr_domain *dmn) dr_domain_caps_init() argument
286 dr_domain_caps_uninit(struct mlx5dr_domain *dmn) dr_domain_caps_uninit() argument
294 struct mlx5dr_domain *dmn; mlx5dr_domain_create() local
351 mlx5dr_domain_sync(struct mlx5dr_domain *dmn, u32 flags) mlx5dr_domain_sync() argument
372 mlx5dr_domain_destroy(struct mlx5dr_domain *dmn) mlx5dr_domain_destroy() argument
388 mlx5dr_domain_set_peer(struct mlx5dr_domain *dmn, struct mlx5dr_domain *peer_dmn) mlx5dr_domain_set_peer() argument
[all...]
H A Ddr_fw.c8 mlx5dr_fw_create_recalc_cs_ft(struct mlx5dr_domain *dmn, u32 vport_num) in mlx5dr_fw_create_recalc_cs_ft() argument
21 ft_attr.level = dmn->info.caps.max_ft_level - 1; in mlx5dr_fw_create_recalc_cs_ft()
24 ret = mlx5dr_cmd_create_flow_table(dmn->mdev, in mlx5dr_fw_create_recalc_cs_ft()
29 mlx5dr_err(dmn, "Failed creating TTL W/A FW flow table %d\n", ret); in mlx5dr_fw_create_recalc_cs_ft()
33 ret = mlx5dr_cmd_create_empty_flow_group(dmn->mdev, in mlx5dr_fw_create_recalc_cs_ft()
37 mlx5dr_err(dmn, "Failed creating TTL W/A FW flow group %d\n", ret); in mlx5dr_fw_create_recalc_cs_ft()
46 ret = mlx5dr_cmd_alloc_modify_header(dmn->mdev, MLX5_FLOW_TABLE_TYPE_FDB, 1, in mlx5dr_fw_create_recalc_cs_ft()
50 mlx5dr_err(dmn, "Failed modify header TTL %d\n", ret); in mlx5dr_fw_create_recalc_cs_ft()
54 ret = mlx5dr_cmd_set_fte_modify_and_vport(dmn->mdev, in mlx5dr_fw_create_recalc_cs_ft()
59 mlx5dr_err(dmn, "Faile in mlx5dr_fw_create_recalc_cs_ft()
83 mlx5dr_fw_destroy_recalc_cs_ft(struct mlx5dr_domain *dmn, struct mlx5dr_fw_recalc_cs_ft *recalc_cs_ft) mlx5dr_fw_destroy_recalc_cs_ft() argument
101 mlx5dr_fw_create_md_tbl(struct mlx5dr_domain *dmn, struct mlx5dr_cmd_flow_destination_hw_info *dest, int num_dest, bool reformat_req, u32 *tbl_id, u32 *group_id) mlx5dr_fw_create_md_tbl() argument
158 mlx5dr_fw_destroy_md_tbl(struct mlx5dr_domain *dmn, u32 tbl_id, u32 group_id) mlx5dr_fw_destroy_md_tbl() argument
[all...]
H A Ddr_table.c17 mlx5dr_domain_lock(tbl->dmn); in mlx5dr_table_set_miss_action()
24 if (tbl->dmn->type == MLX5DR_DOMAIN_TYPE_NIC_RX || in mlx5dr_table_set_miss_action()
25 tbl->dmn->type == MLX5DR_DOMAIN_TYPE_FDB) { in mlx5dr_table_set_miss_action()
38 ret = mlx5dr_ste_htbl_init_and_postsend(tbl->dmn, in mlx5dr_table_set_miss_action()
43 mlx5dr_dbg(tbl->dmn, "Failed to set RX miss action, ret %d\n", ret); in mlx5dr_table_set_miss_action()
48 if (tbl->dmn->type == MLX5DR_DOMAIN_TYPE_NIC_TX || in mlx5dr_table_set_miss_action()
49 tbl->dmn->type == MLX5DR_DOMAIN_TYPE_FDB) { in mlx5dr_table_set_miss_action()
62 ret = mlx5dr_ste_htbl_init_and_postsend(tbl->dmn, in mlx5dr_table_set_miss_action()
66 mlx5dr_dbg(tbl->dmn, "Failed to set TX miss action, ret %d\n", ret); in mlx5dr_table_set_miss_action()
84 mlx5dr_domain_unlock(tbl->dmn); in mlx5dr_table_set_miss_action()
121 dr_table_init_nic(struct mlx5dr_domain *dmn, struct mlx5dr_table_rx_tx *nic_tbl) dr_table_init_nic() argument
248 mlx5dr_table_create(struct mlx5dr_domain *dmn, u32 level, u32 flags) mlx5dr_table_create() argument
[all...]
H A Ddr_action.c407 static void dr_actions_apply_tx(struct mlx5dr_domain *dmn, in dr_actions_apply_tx() argument
464 if (MLX5_CAP_GEN(dmn->mdev, prio_tag_required)) in dr_actions_apply_tx()
536 static void dr_actions_apply(struct mlx5dr_domain *dmn, in dr_actions_apply() argument
548 dr_actions_apply_tx(dmn, action_type_set, last_ste, attr, &added_stes); in dr_actions_apply()
592 static int dr_action_handle_cs_recalc(struct mlx5dr_domain *dmn, in dr_action_handle_cs_recalc() argument
607 mlx5dr_dbg(dmn, in dr_action_handle_cs_recalc()
617 ret = mlx5dr_domain_cache_get_recalc_cs_ft_addr(dest_action->vport.dmn, in dr_action_handle_cs_recalc()
621 mlx5dr_err(dmn, "Failed to get FW cs recalc flow table\n"); in dr_action_handle_cs_recalc()
644 struct mlx5dr_domain *dmn = matcher->tbl->dmn; in mlx5dr_actions_build_ste_arr() local
827 dr_actions_l2_rewrite(struct mlx5dr_domain *dmn, struct mlx5dr_action *action, void *data, size_t data_sz) dr_actions_l2_rewrite() argument
968 mlx5dr_action_create_dest_table_num(struct mlx5dr_domain *dmn, u32 table_num) mlx5dr_action_create_dest_table_num() argument
1006 mlx5dr_action_create_mult_dest_tbl(struct mlx5dr_domain *dmn, struct mlx5dr_action_dest *dests, u32 num_of_dests) mlx5dr_action_create_mult_dest_tbl() argument
1104 mlx5dr_action_create_dest_flow_fw_table(struct mlx5dr_domain *dmn, struct mlx5_flow_table *ft) mlx5dr_action_create_dest_flow_fw_table() argument
1151 dr_action_verify_reformat_params(enum mlx5dr_action_type reformat_type, struct mlx5dr_domain *dmn, size_t data_sz, void *data) dr_action_verify_reformat_params() argument
1188 dr_action_create_reformat_action(struct mlx5dr_domain *dmn, size_t data_sz, void *data, struct mlx5dr_action *action) dr_action_create_reformat_action() argument
1252 mlx5dr_action_create_push_vlan(struct mlx5dr_domain *dmn, __be32 vlan_hdr) mlx5dr_action_create_push_vlan() argument
1273 mlx5dr_action_create_packet_reformat(struct mlx5dr_domain *dmn, enum mlx5dr_action_reformat_type reformat_type, size_t data_sz, void *data) mlx5dr_action_create_packet_reformat() argument
1338 dr_action_modify_sw_to_hw_add(struct mlx5dr_domain *dmn, __be64 *sw_action, __be64 *hw_action, const struct dr_action_modify_field_conv **ret_hw_info) dr_action_modify_sw_to_hw_add() argument
1382 dr_action_modify_sw_to_hw_set(struct mlx5dr_domain *dmn, __be64 *sw_action, __be64 *hw_action, const struct dr_action_modify_field_conv **ret_hw_info) dr_action_modify_sw_to_hw_set() argument
1435 dr_action_modify_sw_to_hw_copy(struct mlx5dr_domain *dmn, __be64 *sw_action, __be64 *hw_action, const struct dr_action_modify_field_conv **ret_dst_hw_info, const struct dr_action_modify_field_conv **ret_src_hw_info) dr_action_modify_sw_to_hw_copy() argument
1500 dr_action_modify_sw_to_hw(struct mlx5dr_domain *dmn, __be64 *sw_action, __be64 *hw_action, const struct dr_action_modify_field_conv **ret_dst_hw_info, const struct dr_action_modify_field_conv **ret_src_hw_info) dr_action_modify_sw_to_hw() argument
1548 struct mlx5dr_domain *dmn = action->rewrite.dmn; dr_action_modify_check_set_field_limitation() local
1579 struct mlx5dr_domain *dmn = action->rewrite.dmn; dr_action_modify_check_add_field_limitation() local
1597 struct mlx5dr_domain *dmn = action->rewrite.dmn; dr_action_modify_check_copy_field_limitation() local
1634 struct mlx5dr_domain *dmn = action->rewrite.dmn; dr_action_modify_check_field_limitation() local
1686 struct mlx5dr_domain *dmn = action->rewrite.dmn; dr_actions_convert_modify_header() local
1760 dr_action_create_modify_action(struct mlx5dr_domain *dmn, size_t actions_sz, __be64 actions[], struct mlx5dr_action *action) dr_action_create_modify_action() argument
1824 mlx5dr_action_create_modify_header(struct mlx5dr_domain *dmn, u32 flags, size_t actions_sz, __be64 actions[]) mlx5dr_action_create_modify_header() argument
1864 mlx5dr_action_create_dest_vport(struct mlx5dr_domain *dmn, u32 vport, u8 vhca_id_valid, u16 vhca_id) mlx5dr_action_create_dest_vport() argument
[all...]
H A Ddr_send.c308 static int dr_handle_pending_wc(struct mlx5dr_domain *dmn, in dr_handle_pending_wc() argument
319 dmn->send_ring->signal_th * TH_NUMS_TO_DRAIN) in dr_handle_pending_wc()
353 static int dr_postsend_icm_data(struct mlx5dr_domain *dmn, in dr_postsend_icm_data() argument
356 struct mlx5dr_send_ring *send_ring = dmn->send_ring; in dr_postsend_icm_data()
362 ret = dr_handle_pending_wc(dmn, send_ring); in dr_postsend_icm_data()
366 if (send_info->write.length > dmn->info.max_inline_size) { in dr_postsend_icm_data()
368 (dmn->send_ring->signal_th - 1)) * in dr_postsend_icm_data()
387 static int dr_get_tbl_copy_details(struct mlx5dr_domain *dmn, in dr_get_tbl_copy_details() argument
396 if (htbl->chunk->byte_size > dmn->send_ring->max_post_send_size) { in dr_get_tbl_copy_details()
398 dmn in dr_get_tbl_copy_details()
429 mlx5dr_send_postsend_ste(struct mlx5dr_domain *dmn, struct mlx5dr_ste *ste, u8 *data, u16 size, u16 offset) mlx5dr_send_postsend_ste() argument
443 mlx5dr_send_postsend_htbl(struct mlx5dr_domain *dmn, struct mlx5dr_ste_htbl *htbl, u8 *formatted_ste, u8 *mask) mlx5dr_send_postsend_htbl() argument
504 mlx5dr_send_postsend_formatted_htbl(struct mlx5dr_domain *dmn, struct mlx5dr_ste_htbl *htbl, u8 *ste_init_data, bool update_hw_ste) mlx5dr_send_postsend_formatted_htbl() argument
557 mlx5dr_send_postsend_action(struct mlx5dr_domain *dmn, struct mlx5dr_action *action) mlx5dr_send_postsend_action() argument
650 dr_prepare_qp_to_rts(struct mlx5dr_domain *dmn) dr_prepare_qp_to_rts() argument
867 mlx5dr_send_ring_alloc(struct mlx5dr_domain *dmn) mlx5dr_send_ring_alloc() argument
958 mlx5dr_send_ring_free(struct mlx5dr_domain *dmn, struct mlx5dr_send_ring *send_ring) mlx5dr_send_ring_free() argument
969 mlx5dr_send_ring_force_drain(struct mlx5dr_domain *dmn) mlx5dr_send_ring_force_drain() argument
[all...]
H A Ddr_matcher.c122 struct mlx5dr_domain *dmn) in dr_mask_is_flex_parser_tnl_vxlan_gpe_set()
125 dr_matcher_supp_flex_parser_vxlan_gpe(&dmn->info.caps); in dr_mask_is_flex_parser_tnl_vxlan_gpe_set()
145 struct mlx5dr_domain *dmn) in dr_mask_is_flex_parser_tnl_geneve_set()
148 dr_matcher_supp_flex_parser_geneve(&dmn->info.caps); in dr_mask_is_flex_parser_tnl_geneve_set()
190 mlx5dr_dbg(matcher->tbl->dmn, in mlx5dr_matcher_select_builders()
204 struct mlx5dr_domain *dmn = matcher->tbl->dmn; in dr_matcher_set_ste_builders() local
230 ret = mlx5dr_ste_build_pre_check(dmn, matcher->match_criteria, in dr_matcher_set_ste_builders()
252 (dmn->type == MLX5DR_DOMAIN_TYPE_FDB || in dr_matcher_set_ste_builders()
253 dmn in dr_matcher_set_ste_builders()
121 dr_mask_is_flex_parser_tnl_vxlan_gpe_set(struct mlx5dr_match_param *mask, struct mlx5dr_domain *dmn) dr_mask_is_flex_parser_tnl_vxlan_gpe_set() argument
144 dr_mask_is_flex_parser_tnl_geneve_set(struct mlx5dr_match_param *mask, struct mlx5dr_domain *dmn) dr_mask_is_flex_parser_tnl_geneve_set() argument
401 dr_matcher_connect(struct mlx5dr_domain *dmn, struct mlx5dr_matcher_rx_tx *curr_nic_matcher, struct mlx5dr_matcher_rx_tx *next_nic_matcher, struct mlx5dr_matcher_rx_tx *prev_nic_matcher) dr_matcher_connect() argument
464 struct mlx5dr_domain *dmn = tbl->dmn; dr_matcher_add_to_tbl() local
528 struct mlx5dr_domain *dmn = matcher->tbl->dmn; dr_matcher_uninit() local
549 struct mlx5dr_domain *dmn = matcher->tbl->dmn; dr_matcher_set_all_ste_builders() local
567 struct mlx5dr_domain *dmn = matcher->tbl->dmn; dr_matcher_init_nic() local
624 struct mlx5dr_domain *dmn = tbl->dmn; dr_matcher_init() local
708 dr_matcher_disconnect(struct mlx5dr_domain *dmn, struct mlx5dr_table_rx_tx *nic_tbl, struct mlx5dr_matcher_rx_tx *next_nic_matcher, struct mlx5dr_matcher_rx_tx *prev_nic_matcher) dr_matcher_disconnect() argument
742 struct mlx5dr_domain *dmn = tbl->dmn; dr_matcher_remove_from_tbl() local
[all...]
H A Ddr_rule.c44 struct mlx5dr_domain *dmn = matcher->tbl->dmn; in dr_rule_create_collision_htbl() local
49 new_htbl = mlx5dr_ste_htbl_alloc(dmn->ste_icm_pool, in dr_rule_create_collision_htbl()
54 mlx5dr_dbg(dmn, "Failed allocating collision table\n"); in dr_rule_create_collision_htbl()
76 mlx5dr_dbg(matcher->tbl->dmn, "Failed creating collision entry\n"); in dr_rule_create_collision_entry()
88 mlx5dr_dbg(matcher->tbl->dmn, "Failed allocating table\n"); in dr_rule_create_collision_entry()
101 struct mlx5dr_domain *dmn) in dr_rule_handle_one_ste_in_update_list()
106 ret = mlx5dr_send_postsend_ste(dmn, ste_info->ste, ste_info->data, in dr_rule_handle_one_ste_in_update_list()
121 struct mlx5dr_domain *dmn, in dr_rule_send_update_list()
131 dmn); in dr_rule_send_update_list()
100 dr_rule_handle_one_ste_in_update_list(struct mlx5dr_ste_send_info *ste_info, struct mlx5dr_domain *dmn) dr_rule_handle_one_ste_in_update_list() argument
120 dr_rule_send_update_list(struct list_head *send_ste_list, struct mlx5dr_domain *dmn, bool is_reverse) dr_rule_send_update_list() argument
364 struct mlx5dr_domain *dmn = matcher->tbl->dmn; dr_rule_rehash_htbl() local
478 struct mlx5dr_domain *dmn = rule->matcher->tbl->dmn; dr_rule_rehash() local
609 dr_rule_need_enlarge_hash(struct mlx5dr_ste_htbl *htbl, struct mlx5dr_domain *dmn, struct mlx5dr_domain_rx_tx *nic_dmn) dr_rule_need_enlarge_hash() argument
776 struct mlx5dr_domain *dmn = matcher->tbl->dmn; dr_rule_handle_ste_branch() local
956 struct mlx5dr_domain *dmn = rule->matcher->tbl->dmn; dr_rule_destroy_rule() local
1022 struct mlx5dr_domain *dmn = matcher->tbl->dmn; dr_rule_create_rule_nic() local
1177 struct mlx5dr_domain *dmn = matcher->tbl->dmn; dr_rule_create_rule() local
[all...]
H A Ddr_types.h21 #define mlx5dr_err(dmn, arg...) mlx5_core_err((dmn)->mdev, ##arg)
22 #define mlx5dr_info(dmn, arg...) mlx5_core_info((dmn)->mdev, ##arg)
23 #define mlx5dr_dbg(dmn, arg...) mlx5_core_dbg((dmn)->mdev, ##arg)
190 struct mlx5dr_domain *dmn; member
283 int mlx5dr_ste_build_pre_check(struct mlx5dr_domain *dmn,
351 struct mlx5dr_domain *dmn,
686 struct mlx5dr_domain *dmn; member
736 struct mlx5dr_domain *dmn; global() member
747 struct mlx5dr_domain *dmn; global() member
756 struct mlx5dr_domain *dmn; global() member
772 struct mlx5dr_domain *dmn; global() member
836 mlx5dr_domain_lock(struct mlx5dr_domain *dmn) mlx5dr_domain_lock() argument
842 mlx5dr_domain_unlock(struct mlx5dr_domain *dmn) mlx5dr_domain_unlock() argument
[all...]
H A Ddr_icm_pool.c50 struct mlx5dr_domain *dmn; member
100 struct mlx5_core_dev *mdev = pool->dmn->mdev; in dr_icm_pool_mr_create()
130 mlx5dr_err(pool->dmn, "Failed to allocate SW ICM memory, err (%d)\n", err); in dr_icm_pool_mr_create()
135 err = dr_icm_create_dm_mkey(mdev, pool->dmn->pdn, in dr_icm_pool_mr_create()
141 mlx5dr_err(pool->dmn, "Failed to create SW ICM MKEY, err (%d)\n", err); in dr_icm_pool_mr_create()
148 mlx5dr_err(pool->dmn, "Failed to get Aligned ICM mem (asked: %zu)\n", in dr_icm_pool_mr_create()
169 struct mlx5_core_dev *mdev = icm_mr->pool->dmn->mdev; in dr_icm_pool_mr_destroy()
465 err = mlx5dr_cmd_sync_steering(pool->dmn->mdev); in mlx5dr_icm_alloc_chunk()
468 mlx5dr_err(pool->dmn, "Sync_steering failed\n"); in mlx5dr_icm_alloc_chunk()
513 struct mlx5dr_icm_pool *mlx5dr_icm_pool_create(struct mlx5dr_domain *dmn, in mlx5dr_icm_pool_create() argument
[all...]
H A Dmlx5dr.h48 void mlx5dr_domain_set_peer(struct mlx5dr_domain *dmn,
79 mlx5dr_action_create_dest_table_num(struct mlx5dr_domain *dmn, u32 table_num);
94 mlx5dr_action_create_mult_dest_tbl(struct mlx5dr_domain *dmn,
106 mlx5dr_action_create_packet_reformat(struct mlx5dr_domain *dmn,

Completed in 23 milliseconds

12