| /linux/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/ |
| H A 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 …]
|
| H A 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 …]
|
| H A 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()
|
| H A D | dr_action.c | 545 struct mlx5dr_ste_ctx *ste_ctx = dmn->ste_ctx; in dr_actions_apply() local 549 mlx5dr_ste_set_actions_rx(ste_ctx, dmn, action_type_set, in dr_actions_apply() 552 mlx5dr_ste_set_actions_tx(ste_ctx, dmn, action_type_set, in dr_actions_apply() 865 !(dmn->ste_ctx->actions_caps & DR_STE_CTX_ACTION_CAP_RX_ENCAP)) { in mlx5dr_actions_build_ste_arr() 890 if (!rx_rule && !(dmn->ste_ctx->actions_caps & in mlx5dr_actions_build_ste_arr() 900 if (rx_rule && !(dmn->ste_ctx->actions_caps & in mlx5dr_actions_build_ste_arr() 1465 ret = mlx5dr_ste_set_action_decap_l3_list(dmn->ste_ctx, in dr_action_create_reformat_action() 1611 hw_action_info = mlx5dr_ste_conv_modify_hdr_sw_field(dmn->ste_ctx, sw_field); in dr_action_modify_sw_to_hw_add() 1619 mlx5dr_ste_set_action_add(dmn->ste_ctx, in dr_action_modify_sw_to_hw_add() 1649 hw_action_info = mlx5dr_ste_conv_modify_hdr_sw_field(dmn->ste_ctx, sw_field); in dr_action_modify_sw_to_hw_set() [all …]
|
| H A D | dr_ste_v1.c | 488 void dr_ste_v1_set_actions_tx(struct mlx5dr_ste_ctx *ste_ctx, in dr_ste_v1_set_actions_tx() argument 509 ste_ctx->set_pop_vlan(last_ste, action, attr->vlans.count); in dr_ste_v1_set_actions_tx() 546 ste_ctx->set_push_vlan(last_ste, action, in dr_ste_v1_set_actions_tx() 560 ste_ctx->set_encap(last_ste, action, in dr_ste_v1_set_actions_tx() 575 ste_ctx->set_encap_l3(last_ste, in dr_ste_v1_set_actions_tx() 587 ste_ctx->set_insert_hdr(last_ste, action, in dr_ste_v1_set_actions_tx() 600 ste_ctx->set_remove_hdr(last_ste, action, in dr_ste_v1_set_actions_tx() 645 void dr_ste_v1_set_actions_rx(struct mlx5dr_ste_ctx *ste_ctx, in dr_ste_v1_set_actions_rx() argument 669 ste_ctx->set_rx_decap(last_ste, action); in dr_ste_v1_set_actions_rx() 697 ste_ctx->set_pop_vlan(last_ste, action, attr->vlans.count); in dr_ste_v1_set_actions_rx() [all …]
|
| H A D | dr_ste_v1.h | 163 void dr_ste_v1_set_actions_tx(struct mlx5dr_ste_ctx *ste_ctx, struct mlx5dr_domain *dmn, 166 void dr_ste_v1_set_actions_rx(struct mlx5dr_ste_ctx *ste_ctx, struct mlx5dr_domain *dmn,
|
| H A D | dr_ste.h | 163 void (*set_actions_rx)(struct mlx5dr_ste_ctx *ste_ctx, 170 void (*set_actions_tx)(struct mlx5dr_ste_ctx *ste_ctx,
|
| H A 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()
|
| H A D | dr_send.c | 701 mlx5dr_ste_prepare_for_postsend(dmn->ste_ctx, data, size); in mlx5dr_send_postsend_ste() 729 mlx5dr_ste_prepare_for_postsend(dmn->ste_ctx, formatted_ste, DR_STE_SIZE); in mlx5dr_send_postsend_htbl() 756 mlx5dr_ste_prepare_for_postsend(dmn->ste_ctx, in mlx5dr_send_postsend_htbl() 806 mlx5dr_ste_prepare_for_postsend(dmn->ste_ctx, ste_init_data, DR_STE_SIZE); in mlx5dr_send_postsend_formatted_htbl()
|