26 #ifndef FLOW_CT_COMMON_H_
27 #define FLOW_CT_COMMON_H_
36 #define FLOW_CT_COMMON_DEVARGS \
37 "dv_flow_en=2,dv_xmeta_en=4,representor=pf[0-1],repr_matching_en=0," \
38 "fdb_def_rule_en=0,vport_match=1"
40 #define DUP_FILTER_CONN_NUM 512
42 #define CT_DEFAULT_QUEUE_DEPTH 512
76 uint32_t nb_arm_queues,
77 uint32_t nb_ctrl_queues,
78 uint32_t nb_user_actions,
80 uint32_t nb_ipv4_sessions,
81 uint32_t nb_ipv6_sessions,
82 uint32_t dup_filter_sz,
142 struct doca_flow_pipe *fwd_pipe,
144 struct doca_flow_pipe **pipe);
struct rte_eth_dev_info dev_info
uint32_t flow_ct_hash_6tuple(const struct doca_flow_ct_match *match, doca_be32_t zone_field, bool is_ipv6)
doca_error_t flow_ct_dpdk_init(int argc, char **dpdk_argv)
doca_error_t init_doca_flow_ct(uint32_t flags, uint32_t nb_arm_queues, uint32_t nb_ctrl_queues, uint32_t nb_user_actions, doca_flow_ct_entry_finalize_cb entry_finalize_cb, uint32_t nb_ipv4_sessions, uint32_t nb_ipv6_sessions, uint32_t dup_filter_sz, bool o_match_inner, struct doca_flow_meta *o_zone_mask, struct doca_flow_meta *o_modify_mask, bool r_match_inner, struct doca_flow_meta *r_zone_mask, struct doca_flow_meta *r_modify_mask)
doca_error_t flow_ct_capable(struct doca_devinfo *dev_info)
doca_error_t flow_ct_register_params(void)
doca_error_t create_ct_root_pipe(struct doca_flow_port *port, bool is_ipv4, bool is_ipv6, enum doca_flow_l4_meta l4_type, struct doca_flow_pipe *fwd_pipe, struct entries_status *status, struct doca_flow_pipe **pipe)
doca_error_t flow_ct_queue_reserve(struct doca_flow_port *port, uint16_t ct_queue, struct entries_status *status, uint32_t room)
void cleanup_procedure(struct doca_flow_pipe *ct_pipe, int nb_ports, struct doca_flow_port *ports[])
static void entry_finalize_cb(struct doca_flow_pipe *pipe, void *entry, uint16_t ct_queue, void *usr_ctx)
#define DOCA_DEVINFO_PCI_ADDR_SIZE
Buffer size to hold PCI BDF format: "XXXX:XX:XX.X". Including a null terminator.
enum doca_error doca_error_t
DOCA API return codes.
void(* doca_flow_ct_entry_finalize_cb)(struct doca_flow_pipe *pipe, void *entry, uint16_t queue, void *usr_ctx)
doca_flow_l4_meta
doca flow l4 valid type for parser meta
char ct_dev_pci_addr[MAX_PORTS][DOCA_DEVINFO_PCI_ADDR_SIZE]
doca flow CT match pattern
user context struct that will be used in entries process callback
static struct doca_flow_port * ports[FLOW_SWITCH_PORTS_MAX]