/Linux-v6.6/drivers/net/ethernet/mellanox/mlx5/core/steering/ |
D | dr_ste.c | 94 bool mlx5dr_ste_is_miss_addr_set(struct mlx5dr_ste_ctx *ste_ctx, in mlx5dr_ste_is_miss_addr_set() argument 97 if (!ste_ctx->is_miss_addr_set) in mlx5dr_ste_is_miss_addr_set() 101 return ste_ctx->is_miss_addr_set(hw_ste_p); in mlx5dr_ste_is_miss_addr_set() 104 void mlx5dr_ste_set_miss_addr(struct mlx5dr_ste_ctx *ste_ctx, in mlx5dr_ste_set_miss_addr() argument 107 ste_ctx->set_miss_addr(hw_ste_p, miss_addr); in mlx5dr_ste_set_miss_addr() 110 static void dr_ste_always_miss_addr(struct mlx5dr_ste_ctx *ste_ctx, in dr_ste_always_miss_addr() argument 113 ste_ctx->set_next_lu_type(hw_ste, MLX5DR_STE_LU_TYPE_DONT_CARE); in dr_ste_always_miss_addr() 114 ste_ctx->set_miss_addr(hw_ste, miss_addr); in dr_ste_always_miss_addr() 118 void mlx5dr_ste_set_hit_addr(struct mlx5dr_ste_ctx *ste_ctx, in mlx5dr_ste_set_hit_addr() argument 121 ste_ctx->set_hit_addr(hw_ste, icm_addr, ht_size); in mlx5dr_ste_set_hit_addr() [all …]
|
D | dr_matcher.c | 409 struct mlx5dr_ste_ctx *ste_ctx = dmn->ste_ctx; in dr_matcher_set_ste_builders() local 466 mlx5dr_ste_build_general_purpose(ste_ctx, &sb[idx++], in dr_matcher_set_ste_builders() 470 mlx5dr_ste_build_register_0(ste_ctx, &sb[idx++], in dr_matcher_set_ste_builders() 474 mlx5dr_ste_build_register_1(ste_ctx, &sb[idx++], in dr_matcher_set_ste_builders() 480 mlx5dr_ste_build_src_gvmi_qpn(ste_ctx, &sb[idx++], in dr_matcher_set_ste_builders() 486 mlx5dr_ste_build_eth_l2_src_dst(ste_ctx, &sb[idx++], in dr_matcher_set_ste_builders() 491 mlx5dr_ste_build_eth_l2_src(ste_ctx, &sb[idx++], in dr_matcher_set_ste_builders() 495 mlx5dr_ste_build_eth_l2_dst(ste_ctx, &sb[idx++], in dr_matcher_set_ste_builders() 500 mlx5dr_ste_build_eth_l3_ipv6_dst(ste_ctx, &sb[idx++], in dr_matcher_set_ste_builders() 504 mlx5dr_ste_build_eth_l3_ipv6_src(ste_ctx, &sb[idx++], in dr_matcher_set_ste_builders() [all …]
|
D | dr_types.h | 249 bool mlx5dr_ste_is_miss_addr_set(struct mlx5dr_ste_ctx *ste_ctx, u8 *hw_ste_p); 250 void mlx5dr_ste_set_miss_addr(struct mlx5dr_ste_ctx *ste_ctx, 252 void mlx5dr_ste_set_hit_addr(struct mlx5dr_ste_ctx *ste_ctx, 254 void mlx5dr_ste_set_hit_addr_by_next_htbl(struct mlx5dr_ste_ctx *ste_ctx, 307 void mlx5dr_ste_set_actions_rx(struct mlx5dr_ste_ctx *ste_ctx, 313 void mlx5dr_ste_set_actions_tx(struct mlx5dr_ste_ctx *ste_ctx, 320 void mlx5dr_ste_set_action_set(struct mlx5dr_ste_ctx *ste_ctx, 326 void mlx5dr_ste_set_action_add(struct mlx5dr_ste_ctx *ste_ctx, 332 void mlx5dr_ste_set_action_copy(struct mlx5dr_ste_ctx *ste_ctx, 339 int mlx5dr_ste_set_action_decap_l3_list(struct mlx5dr_ste_ctx *ste_ctx, [all …]
|
D | dr_rule.c | 20 struct mlx5dr_ste_ctx *ste_ctx = dmn->ste_ctx; in dr_rule_append_to_miss_list() local 32 mlx5dr_ste_set_miss_addr(ste_ctx, mlx5dr_ste_get_hw_ste(last_ste), 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() local 50 if (mlx5dr_ste_is_miss_addr_set(ste_ctx, hw_ste)) in dr_rule_set_last_ste_miss_addr() 54 mlx5dr_ste_set_miss_addr(ste_ctx, hw_ste, icm_addr); in dr_rule_set_last_ste_miss_addr() 434 mlx5dr_ste_set_formatted_ste(dmn->ste_ctx, in dr_rule_rehash_htbl() 480 mlx5dr_ste_set_hit_addr(dmn->ste_ctx, in dr_rule_rehash_htbl() 487 mlx5dr_ste_set_hit_addr_by_next_htbl(dmn->ste_ctx, in dr_rule_rehash_htbl() 758 mlx5dr_ste_set_hit_addr_by_next_htbl(dmn->ste_ctx, in dr_rule_handle_action_stes()
|
D | dr_action.c | 538 struct mlx5dr_ste_ctx *ste_ctx = dmn->ste_ctx; in dr_actions_apply() local 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() 857 !(dmn->ste_ctx->actions_caps & DR_STE_CTX_ACTION_CAP_RX_ENCAP)) { in mlx5dr_actions_build_ste_arr() 876 if (!rx_rule && !(dmn->ste_ctx->actions_caps & in mlx5dr_actions_build_ste_arr() 886 if (rx_rule && !(dmn->ste_ctx->actions_caps & in mlx5dr_actions_build_ste_arr() 1430 ret = mlx5dr_ste_set_action_decap_l3_list(dmn->ste_ctx, in dr_action_create_reformat_action() 1576 hw_action_info = mlx5dr_ste_conv_modify_hdr_sw_field(dmn->ste_ctx, sw_field); in dr_action_modify_sw_to_hw_add() 1584 mlx5dr_ste_set_action_add(dmn->ste_ctx, in dr_action_modify_sw_to_hw_add() 1614 hw_action_info = mlx5dr_ste_conv_modify_hdr_sw_field(dmn->ste_ctx, sw_field); in dr_action_modify_sw_to_hw_set() [all …]
|
D | dr_domain.c | 167 dmn->ste_ctx = mlx5dr_ste_get_ctx(dmn->info.caps.sw_format_ver); in dr_domain_init_resources() 168 if (!dmn->ste_ctx) { in dr_domain_init_resources()
|
D | dr_send.c | 789 mlx5dr_ste_prepare_for_postsend(dmn->ste_ctx, data, size); in mlx5dr_send_postsend_ste() 817 mlx5dr_ste_prepare_for_postsend(dmn->ste_ctx, formatted_ste, DR_STE_SIZE); in mlx5dr_send_postsend_htbl() 844 mlx5dr_ste_prepare_for_postsend(dmn->ste_ctx, in mlx5dr_send_postsend_htbl() 894 mlx5dr_ste_prepare_for_postsend(dmn->ste_ctx, ste_init_data, DR_STE_SIZE); in mlx5dr_send_postsend_formatted_htbl()
|