26 #ifndef SIMPLE_FWD_FT_H_
27 #define SIMPLE_FWD_FT_H_
31 #include <sys/types.h>
62 #define simple_fwd_ft_key_get_ipv4_src(inner, pinfo) \
63 (inner ? simple_fwd_pinfo_inner_ipv4_src(pinfo) : simple_fwd_pinfo_outer_ipv4_src(pinfo))
66 #define simple_fwd_ft_key_get_ipv4_dst(inner, pinfo) \
67 (inner ? simple_fwd_pinfo_inner_ipv4_dst(pinfo) : simple_fwd_pinfo_outer_ipv4_dst(pinfo))
70 #define simple_fwd_ft_key_get_src_port(inner, pinfo) \
71 (inner ? simple_fwd_pinfo_inner_src_port(pinfo) : simple_fwd_pinfo_outer_src_port(pinfo))
74 #define simple_fwd_ft_key_get_dst_port(inner, pinfo) \
75 (inner ? simple_fwd_pinfo_inner_dst_port(pinfo) : simple_fwd_pinfo_outer_dst_port(pinfo))
88 uint32_t user_data_size,
enum doca_error doca_error_t
DOCA API return codes.
void simple_fwd_ft_update_expiration(struct simple_fwd_ft_entry *e)
struct simple_fwd_ft * simple_fwd_ft_create(int nb_flows, uint32_t user_data_size, void(*simple_fwd_aging_cb)(struct simple_fwd_ft_user_ctx *ctx), void(*simple_fwd_aging_hw_cb)(void), bool age_thread)
doca_error_t simple_fwd_ft_find(struct simple_fwd_ft *ft, struct simple_fwd_pkt_info *pinfo, struct simple_fwd_ft_user_ctx **ctx)
doca_error_t simple_fwd_ft_destroy(struct simple_fwd_ft *ft)
void simple_fwd_ft_destroy_entry(struct simple_fwd_ft *ft, struct simple_fwd_ft_entry *ft_entry)
LIST_HEAD(simple_fwd_ft_entry_head, simple_fwd_ft_entry)
doca_error_t simple_fwd_ft_add_new(struct simple_fwd_ft *ft, struct simple_fwd_pkt_info *pinfo, struct simple_fwd_ft_user_ctx **ctx)
void simple_fwd_ft_update_age_sec(struct simple_fwd_ft_entry *e, uint32_t age_sec)
struct simple_fwd_ft_key key
LIST_ENTRY(simple_fwd_ft_entry) next
struct simple_fwd_ft_user_ctx user_ctx
void(* simple_fwd_aging_cb)(struct simple_fwd_ft_user_ctx *ctx)
void(* simple_fwd_aging_hw_cb)(void)
struct upf_accel_ctx * ctx