/linux-6.1.9/drivers/net/ethernet/mellanox/mlx5/core/steering/ |
D | dr_ste.c | 93 void mlx5dr_ste_set_miss_addr(struct mlx5dr_ste_ctx *ste_ctx, in mlx5dr_ste_set_miss_addr() argument 96 ste_ctx->set_miss_addr(hw_ste_p, miss_addr); in mlx5dr_ste_set_miss_addr() 99 static void dr_ste_always_miss_addr(struct mlx5dr_ste_ctx *ste_ctx, in dr_ste_always_miss_addr() argument 102 ste_ctx->set_next_lu_type(hw_ste, MLX5DR_STE_LU_TYPE_DONT_CARE); in dr_ste_always_miss_addr() 103 ste_ctx->set_miss_addr(hw_ste, miss_addr); in dr_ste_always_miss_addr() 107 void mlx5dr_ste_set_hit_addr(struct mlx5dr_ste_ctx *ste_ctx, in mlx5dr_ste_set_hit_addr() argument 110 ste_ctx->set_hit_addr(hw_ste, icm_addr, ht_size); in mlx5dr_ste_set_hit_addr() 142 static void dr_ste_always_hit_htbl(struct mlx5dr_ste_ctx *ste_ctx, in dr_ste_always_hit_htbl() argument 148 ste_ctx->set_byte_mask(hw_ste, next_htbl->byte_mask); in dr_ste_always_hit_htbl() 149 ste_ctx->set_next_lu_type(hw_ste, next_htbl->lu_type); in dr_ste_always_hit_htbl() [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 | 238 void mlx5dr_ste_set_miss_addr(struct mlx5dr_ste_ctx *ste_ctx, 240 void mlx5dr_ste_set_hit_addr(struct mlx5dr_ste_ctx *ste_ctx, 242 void mlx5dr_ste_set_hit_addr_by_next_htbl(struct mlx5dr_ste_ctx *ste_ctx, 284 void mlx5dr_ste_set_actions_rx(struct mlx5dr_ste_ctx *ste_ctx, 290 void mlx5dr_ste_set_actions_tx(struct mlx5dr_ste_ctx *ste_ctx, 297 void mlx5dr_ste_set_action_set(struct mlx5dr_ste_ctx *ste_ctx, 303 void mlx5dr_ste_set_action_add(struct mlx5dr_ste_ctx *ste_ctx, 309 void mlx5dr_ste_set_action_copy(struct mlx5dr_ste_ctx *ste_ctx, 316 int mlx5dr_ste_set_action_decap_l3_list(struct mlx5dr_ste_ctx *ste_ctx, 324 mlx5dr_ste_conv_modify_hdr_sw_field(struct mlx5dr_ste_ctx *ste_ctx, u16 sw_field); [all …]
|
D | dr_rule.c | 8 static int dr_rule_append_to_miss_list(struct mlx5dr_ste_ctx *ste_ctx, in dr_rule_append_to_miss_list() argument 24 mlx5dr_ste_set_miss_addr(ste_ctx, mlx5dr_ste_get_hw_ste(last_ste), in dr_rule_append_to_miss_list() 41 struct mlx5dr_ste_ctx *ste_ctx = dmn->ste_ctx; in dr_rule_create_collision_htbl() local 59 mlx5dr_ste_set_miss_addr(ste_ctx, hw_ste, icm_addr); in dr_rule_create_collision_htbl() 194 ret = dr_rule_append_to_miss_list(dmn->ste_ctx, new_ste, in dr_rule_rehash_handle_collision() 252 mlx5dr_ste_set_miss_addr(dmn->ste_ctx, hw_ste, icm_addr); in dr_rule_rehash_copy_ste() 406 mlx5dr_ste_set_formatted_ste(dmn->ste_ctx, in dr_rule_rehash_htbl() 452 mlx5dr_ste_set_hit_addr(dmn->ste_ctx, in dr_rule_rehash_htbl() 459 mlx5dr_ste_set_hit_addr_by_next_htbl(dmn->ste_ctx, in dr_rule_rehash_htbl() 515 struct mlx5dr_ste_ctx *ste_ctx = dmn->ste_ctx; in dr_rule_handle_collision() local [all …]
|
D | dr_action.c | 505 struct mlx5dr_ste_ctx *ste_ctx = dmn->ste_ctx; in dr_actions_apply() local 509 mlx5dr_ste_set_actions_rx(ste_ctx, dmn, action_type_set, in dr_actions_apply() 512 mlx5dr_ste_set_actions_tx(ste_ctx, dmn, action_type_set, in dr_actions_apply() 752 !(dmn->ste_ctx->actions_caps & DR_STE_CTX_ACTION_CAP_RX_ENCAP)) { in mlx5dr_actions_build_ste_arr() 771 if (!rx_rule && !(dmn->ste_ctx->actions_caps & in mlx5dr_actions_build_ste_arr() 781 if (rx_rule && !(dmn->ste_ctx->actions_caps & in mlx5dr_actions_build_ste_arr() 1206 ret = mlx5dr_ste_set_action_decap_l3_list(dmn->ste_ctx, in dr_action_create_reformat_action() 1361 hw_action_info = mlx5dr_ste_conv_modify_hdr_sw_field(dmn->ste_ctx, sw_field); in dr_action_modify_sw_to_hw_add() 1369 mlx5dr_ste_set_action_add(dmn->ste_ctx, in dr_action_modify_sw_to_hw_add() 1399 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 | 63 dmn->ste_ctx = mlx5dr_ste_get_ctx(dmn->info.caps.sw_format_ver); in dr_domain_init_resources() 64 if (!dmn->ste_ctx) { in dr_domain_init_resources()
|
D | dr_send.c | 450 mlx5dr_ste_prepare_for_postsend(dmn->ste_ctx, data, size); in mlx5dr_send_postsend_ste() 478 mlx5dr_ste_prepare_for_postsend(dmn->ste_ctx, formatted_ste, DR_STE_SIZE); in mlx5dr_send_postsend_htbl() 505 mlx5dr_ste_prepare_for_postsend(dmn->ste_ctx, in mlx5dr_send_postsend_htbl() 555 mlx5dr_ste_prepare_for_postsend(dmn->ste_ctx, ste_init_data, DR_STE_SIZE); in mlx5dr_send_postsend_formatted_htbl()
|