NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
flow_ct_common.h File Reference
#include <doca_dev.h>
#include <doca_argp.h>
#include <doca_flow.h>
#include <doca_flow_ct.h>
#include "flow_common.h"
Include dependency graph for flow_ct_common.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ct_config
 

Macros

#define FLOW_CT_COMMON_DEVARGS
 
#define DUP_FILTER_CONN_NUM   512
 
#define MAX_PORTS   4
 
#define CT_DEFAULT_QUEUE_DEPTH   512
 

Functions

doca_error_t flow_ct_register_params (void)
 
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_dpdk_init (int argc, char **dpdk_argv)
 
doca_error_t flow_ct_capable (struct doca_devinfo *dev_info)
 
uint32_t flow_ct_hash_6tuple (const struct doca_flow_ct_match *match, doca_be32_t zone_field, bool is_ipv6)
 
void cleanup_procedure (struct doca_flow_pipe *ct_pipe, int nb_ports, struct doca_flow_port *ports[])
 
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)
 

Macro Definition Documentation

◆ CT_DEFAULT_QUEUE_DEPTH

#define CT_DEFAULT_QUEUE_DEPTH   512

Definition at line 42 of file flow_ct_common.h.

◆ DUP_FILTER_CONN_NUM

#define DUP_FILTER_CONN_NUM   512

Definition at line 40 of file flow_ct_common.h.

◆ FLOW_CT_COMMON_DEVARGS

#define FLOW_CT_COMMON_DEVARGS
Value:
"dv_flow_en=2,dv_xmeta_en=4,representor=pf[0-1],repr_matching_en=0," \
"fdb_def_rule_en=0,vport_match=1"

Definition at line 36 of file flow_ct_common.h.

◆ MAX_PORTS

#define MAX_PORTS   4

Definition at line 41 of file flow_ct_common.h.

Function Documentation

◆ cleanup_procedure()

void cleanup_procedure ( struct doca_flow_pipe *  ct_pipe,
int  nb_ports,
struct doca_flow_port *  ports[] 
)

Definition at line 209 of file flow_ct_common.c.

◆ create_ct_root_pipe()

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 
)

Definition at line 224 of file flow_ct_common.c.

◆ flow_ct_capable()

doca_error_t flow_ct_capable ( struct doca_devinfo *  dev_info)

Definition at line 178 of file flow_ct_common.c.

◆ flow_ct_dpdk_init()

doca_error_t flow_ct_dpdk_init ( int  argc,
char **  dpdk_argv 
)

Definition at line 167 of file flow_ct_common.c.

◆ flow_ct_hash_6tuple()

uint32_t flow_ct_hash_6tuple ( const struct doca_flow_ct_match match,
doca_be32_t  zone_field,
bool  is_ipv6 
)

Definition at line 183 of file flow_ct_common.c.

◆ flow_ct_queue_reserve()

doca_error_t flow_ct_queue_reserve ( struct doca_flow_port *  port,
uint16_t  ct_queue,
struct entries_status status,
uint32_t  room 
)

Definition at line 390 of file flow_ct_common.c.

◆ flow_ct_register_params()

doca_error_t flow_ct_register_params ( void  )

Definition at line 87 of file flow_ct_common.c.

◆ init_doca_flow_ct()

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 
)

Definition at line 115 of file flow_ct_common.c.