1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2014-2021 Broadcom
12 #include "rte_version.h"
13 #include "rte_ethdev.h"
15 #include "ulp_template_db_enum.h"
16 #include "ulp_template_struct.h"
18 struct bnxt_tun_cache_entry {
20 uint8_t t_dmac[RTE_ETHER_ADDR_LEN];
23 uint8_t t_dst_ip6[16];
25 uint32_t outer_tun_flow_id;
28 struct bnxt_flow_app_tun_ent {
29 struct rte_flow_tunnel app_tunnel;
32 struct rte_flow_action action;
33 struct rte_flow_item item;
37 ulp_app_tun_search_entry(struct bnxt_ulp_context *ulp_ctx,
38 struct rte_flow_tunnel *app_tunnel,
39 struct bnxt_flow_app_tun_ent **tun_entry);
42 ulp_app_tun_entry_delete(struct bnxt_flow_app_tun_ent *tun_entry);
45 ulp_app_tun_entry_set_decap_action(struct bnxt_flow_app_tun_ent *tun_entry);
48 ulp_app_tun_entry_set_decap_item(struct bnxt_flow_app_tun_ent *tun_entry);
50 struct bnxt_flow_app_tun_ent *
51 ulp_app_tun_match_entry(struct bnxt_ulp_context *ulp_ctx, const void *ctx);
53 /* Tunnel API to delete the tunnel entry */
55 ulp_tunnel_offload_entry_clear(struct bnxt_tun_cache_entry *tun_tbl,
59 ulp_tunnel_offload_process(struct ulp_rte_parser_params *params);