| /Linux-v5.15/drivers/net/ethernet/mellanox/mlx5/core/steering/ |
| D | dr_ste.c | 92 void mlx5dr_ste_set_miss_addr(struct mlx5dr_ste_ctx *ste_ctx, in mlx5dr_ste_set_miss_addr() argument 95 ste_ctx->set_miss_addr(hw_ste_p, miss_addr); in mlx5dr_ste_set_miss_addr() 98 static void dr_ste_always_miss_addr(struct mlx5dr_ste_ctx *ste_ctx, in dr_ste_always_miss_addr() argument 103 ste_ctx->set_next_lu_type(hw_ste_p, MLX5DR_STE_LU_TYPE_DONT_CARE); in dr_ste_always_miss_addr() 104 ste_ctx->set_miss_addr(hw_ste_p, miss_addr); in dr_ste_always_miss_addr() 108 void mlx5dr_ste_set_hit_addr(struct mlx5dr_ste_ctx *ste_ctx, in mlx5dr_ste_set_hit_addr() argument 111 ste_ctx->set_hit_addr(hw_ste, icm_addr, ht_size); in mlx5dr_ste_set_hit_addr() 135 static void dr_ste_always_hit_htbl(struct mlx5dr_ste_ctx *ste_ctx, in dr_ste_always_hit_htbl() argument 142 ste_ctx->set_byte_mask(hw_ste, next_htbl->byte_mask); in dr_ste_always_hit_htbl() 143 ste_ctx->set_next_lu_type(hw_ste, next_htbl->lu_type); in dr_ste_always_hit_htbl() [all …]
|
| D | dr_matcher.c | 397 struct mlx5dr_ste_ctx *ste_ctx = dmn->ste_ctx; in dr_matcher_set_ste_builders() local 450 mlx5dr_ste_build_general_purpose(ste_ctx, &sb[idx++], in dr_matcher_set_ste_builders() 454 mlx5dr_ste_build_register_0(ste_ctx, &sb[idx++], in dr_matcher_set_ste_builders() 458 mlx5dr_ste_build_register_1(ste_ctx, &sb[idx++], in dr_matcher_set_ste_builders() 464 mlx5dr_ste_build_src_gvmi_qpn(ste_ctx, &sb[idx++], in dr_matcher_set_ste_builders() 470 mlx5dr_ste_build_eth_l2_src_dst(ste_ctx, &sb[idx++], in dr_matcher_set_ste_builders() 475 mlx5dr_ste_build_eth_l2_src(ste_ctx, &sb[idx++], in dr_matcher_set_ste_builders() 479 mlx5dr_ste_build_eth_l2_dst(ste_ctx, &sb[idx++], in dr_matcher_set_ste_builders() 484 mlx5dr_ste_build_eth_l3_ipv6_dst(ste_ctx, &sb[idx++], in dr_matcher_set_ste_builders() 488 mlx5dr_ste_build_eth_l3_ipv6_src(ste_ctx, &sb[idx++], in dr_matcher_set_ste_builders() [all …]
|
| D | dr_types.h | 243 void mlx5dr_ste_set_miss_addr(struct mlx5dr_ste_ctx *ste_ctx, 245 void mlx5dr_ste_set_hit_addr(struct mlx5dr_ste_ctx *ste_ctx, 247 void mlx5dr_ste_set_hit_addr_by_next_htbl(struct mlx5dr_ste_ctx *ste_ctx, 282 void mlx5dr_ste_set_actions_rx(struct mlx5dr_ste_ctx *ste_ctx, 288 void mlx5dr_ste_set_actions_tx(struct mlx5dr_ste_ctx *ste_ctx, 295 void mlx5dr_ste_set_action_set(struct mlx5dr_ste_ctx *ste_ctx, 301 void mlx5dr_ste_set_action_add(struct mlx5dr_ste_ctx *ste_ctx, 307 void mlx5dr_ste_set_action_copy(struct mlx5dr_ste_ctx *ste_ctx, 314 int mlx5dr_ste_set_action_decap_l3_list(struct mlx5dr_ste_ctx *ste_ctx, 322 mlx5dr_ste_conv_modify_hdr_sw_field(struct mlx5dr_ste_ctx *ste_ctx, u16 sw_field); [all …]
|
| D | dr_rule.c | 13 static int dr_rule_append_to_miss_list(struct mlx5dr_ste_ctx *ste_ctx, in dr_rule_append_to_miss_list() argument 29 mlx5dr_ste_set_miss_addr(ste_ctx, last_ste->hw_ste, in dr_rule_append_to_miss_list() 46 struct mlx5dr_ste_ctx *ste_ctx = dmn->ste_ctx; in dr_rule_create_collision_htbl() local 62 mlx5dr_ste_set_miss_addr(ste_ctx, hw_ste, in dr_rule_create_collision_htbl() 196 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, in dr_rule_rehash_copy_ste() 407 mlx5dr_ste_set_formatted_ste(dmn->ste_ctx, in dr_rule_rehash_htbl() 453 mlx5dr_ste_set_hit_addr(dmn->ste_ctx, in dr_rule_rehash_htbl() 460 mlx5dr_ste_set_hit_addr_by_next_htbl(dmn->ste_ctx, in dr_rule_rehash_htbl() 516 struct mlx5dr_ste_ctx *ste_ctx = dmn->ste_ctx; in dr_rule_handle_collision() local [all …]
|
| D | dr_action.c | 443 struct mlx5dr_ste_ctx *ste_ctx = dmn->ste_ctx; in dr_actions_apply() local 447 mlx5dr_ste_set_actions_rx(ste_ctx, dmn, action_type_set, in dr_actions_apply() 450 mlx5dr_ste_set_actions_tx(ste_ctx, dmn, action_type_set, in dr_actions_apply() 657 !(dmn->ste_ctx->actions_caps & DR_STE_CTX_ACTION_CAP_RX_ENCAP)) { in mlx5dr_actions_build_ste_arr() 682 if (!rx_rule && !(dmn->ste_ctx->actions_caps & in mlx5dr_actions_build_ste_arr() 692 if (rx_rule && !(dmn->ste_ctx->actions_caps & in mlx5dr_actions_build_ste_arr() 1109 ret = mlx5dr_ste_set_action_decap_l3_list(dmn->ste_ctx, in dr_action_create_reformat_action() 1263 hw_action_info = mlx5dr_ste_conv_modify_hdr_sw_field(dmn->ste_ctx, sw_field); in dr_action_modify_sw_to_hw_add() 1271 mlx5dr_ste_set_action_add(dmn->ste_ctx, in dr_action_modify_sw_to_hw_add() 1301 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 | 65 dmn->ste_ctx = mlx5dr_ste_get_ctx(dmn->info.caps.sw_format_ver); in dr_domain_init_resources() 66 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() 504 mlx5dr_ste_prepare_for_postsend(dmn->ste_ctx, in mlx5dr_send_postsend_htbl() 554 mlx5dr_ste_prepare_for_postsend(dmn->ste_ctx, ste_init_data, DR_STE_SIZE); in mlx5dr_send_postsend_formatted_htbl()
|