NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
flow_ct_tcp_entry_finalize_sample.c File Reference
#include <unistd.h>
#include <rte_ethdev.h>
#include <doca_log.h>
#include <doca_flow.h>
#include <doca_flow_ct.h>
#include "flow_ct_common.h"
#include "flow_common.h"
Include dependency graph for flow_ct_tcp_entry_finalize_sample.c:

Go to the source code of this file.

Macros

#define PACKET_BURST   128
 
#define DEFAULT_CNT_DELAY_S   2
 
#define DEFAULT_CNT_QUERY_INTERVAL   1
 

Functions

 DOCA_LOG_REGISTER (FLOW_CT_TCP_ENTRY_FINALIZE)
 
static doca_error_t create_rss_pipe (struct doca_flow_port *port, struct entries_status *status, struct doca_flow_pipe **pipe)
 
static doca_error_t create_egress_pipe (struct doca_flow_port *port, int port_id, struct entries_status *status, struct doca_flow_pipe **pipe)
 
static doca_error_t create_ct_miss_pipe (struct doca_flow_port *port, struct doca_flow_pipe *fwd_pipe, struct entries_status *status, struct doca_flow_pipe **pipe)
 
static doca_error_t create_tcp_flags_filter_pipe (struct doca_flow_port *port, struct entries_status *status, struct doca_flow_pipe *fwd_pipe, struct doca_flow_pipe *fwd_miss_pipe, struct doca_flow_pipe **pipe)
 
static doca_error_t create_ct_pipe (struct doca_flow_port *port, struct doca_flow_pipe *fwd_pipe, struct doca_flow_pipe *fwd_miss_pipe, struct doca_flow_pipe **pipe)
 
static void parse_packet (struct rte_mbuf *packet, struct doca_flow_ct_match *match_o, struct doca_flow_ct_match *match_r, uint8_t *tcp_state)
 
static doca_error_t process_syn_packets (struct doca_flow_port *port, uint16_t ct_queue, struct entries_status *ct_status, struct doca_flow_pipe_entry **entry)
 
static doca_error_t process_fin_packets (struct doca_flow_port *port, uint16_t ct_queue, struct doca_flow_pipe_entry **entry)
 
static void entry_finalize_cb (struct doca_flow_pipe *pipe, void *entry, uint16_t ct_queue, void *usr_ctx)
 
doca_error_t flow_ct_tcp_entry_finalize (uint16_t nb_queues, struct doca_dev *ct_dev)
 

Variables

static int nb_entry_finalize_triggers
 
static int nb_entries = 0
 

Macro Definition Documentation

◆ DEFAULT_CNT_DELAY_S

#define DEFAULT_CNT_DELAY_S   2

Definition at line 38 of file flow_ct_tcp_entry_finalize_sample.c.

◆ DEFAULT_CNT_QUERY_INTERVAL

#define DEFAULT_CNT_QUERY_INTERVAL   1

Definition at line 39 of file flow_ct_tcp_entry_finalize_sample.c.

◆ PACKET_BURST

#define PACKET_BURST   128

Definition at line 37 of file flow_ct_tcp_entry_finalize_sample.c.

Function Documentation

◆ create_ct_miss_pipe()

static doca_error_t create_ct_miss_pipe ( struct doca_flow_port *  port,
struct doca_flow_pipe *  fwd_pipe,
struct entries_status status,
struct doca_flow_pipe **  pipe 
)
static

Definition at line 193 of file flow_ct_tcp_entry_finalize_sample.c.

◆ create_ct_pipe()

static doca_error_t create_ct_pipe ( struct doca_flow_port *  port,
struct doca_flow_pipe *  fwd_pipe,
struct doca_flow_pipe *  fwd_miss_pipe,
struct doca_flow_pipe **  pipe 
)
static

Definition at line 349 of file flow_ct_tcp_entry_finalize_sample.c.

◆ create_egress_pipe()

static doca_error_t create_egress_pipe ( struct doca_flow_port *  port,
int  port_id,
struct entries_status status,
struct doca_flow_pipe **  pipe 
)
static

Definition at line 126 of file flow_ct_tcp_entry_finalize_sample.c.

◆ create_rss_pipe()

static doca_error_t create_rss_pipe ( struct doca_flow_port *  port,
struct entries_status status,
struct doca_flow_pipe **  pipe 
)
static

Definition at line 54 of file flow_ct_tcp_entry_finalize_sample.c.

◆ create_tcp_flags_filter_pipe()

static doca_error_t create_tcp_flags_filter_pipe ( struct doca_flow_port *  port,
struct entries_status status,
struct doca_flow_pipe *  fwd_pipe,
struct doca_flow_pipe *  fwd_miss_pipe,
struct doca_flow_pipe **  pipe 
)
static

Definition at line 266 of file flow_ct_tcp_entry_finalize_sample.c.

◆ DOCA_LOG_REGISTER()

DOCA_LOG_REGISTER ( FLOW_CT_TCP_ENTRY_FINALIZE  )

◆ entry_finalize_cb()

static void entry_finalize_cb ( struct doca_flow_pipe *  pipe,
void *  entry,
uint16_t  ct_queue,
void *  usr_ctx 
)
static

Definition at line 618 of file flow_ct_tcp_entry_finalize_sample.c.

◆ flow_ct_tcp_entry_finalize()

doca_error_t flow_ct_tcp_entry_finalize ( uint16_t  nb_queues,
struct doca_dev *  ct_dev 
)

Definition at line 659 of file flow_ct_tcp_entry_finalize_sample.c.

◆ parse_packet()

static void parse_packet ( struct rte_mbuf *  packet,
struct doca_flow_ct_match match_o,
struct doca_flow_ct_match match_r,
uint8_t *  tcp_state 
)
static

Definition at line 403 of file flow_ct_tcp_entry_finalize_sample.c.

◆ process_fin_packets()

static doca_error_t process_fin_packets ( struct doca_flow_port *  port,
uint16_t  ct_queue,
struct doca_flow_pipe_entry **  entry 
)
static

Definition at line 546 of file flow_ct_tcp_entry_finalize_sample.c.

◆ process_syn_packets()

static doca_error_t process_syn_packets ( struct doca_flow_port *  port,
uint16_t  ct_queue,
struct entries_status ct_status,
struct doca_flow_pipe_entry **  entry 
)
static

Definition at line 442 of file flow_ct_tcp_entry_finalize_sample.c.

Variable Documentation

◆ nb_entries

int nb_entries = 0
static

Definition at line 44 of file flow_ct_tcp_entry_finalize_sample.c.

◆ nb_entry_finalize_triggers

int nb_entry_finalize_triggers
static

Definition at line 43 of file flow_ct_tcp_entry_finalize_sample.c.