NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
flow_ct_udp_update_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_udp_update_sample.c:

Go to the source code of this file.

Macros

#define PACKET_BURST   128
 

Functions

 DOCA_LOG_REGISTER (FLOW_CT_UDP_UPDATE)
 
static void check_for_valid_entry_aging (struct doca_flow_pipe_entry *entry, uint16_t pipe_queue, enum doca_flow_entry_status status, enum doca_flow_entry_op op, void *user_ctx)
 
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_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 doca_error_t create_vxlan_encap_pipe (struct doca_flow_port *port, int port_id, struct entries_status *status, struct doca_flow_pipe **pipe)
 
static doca_error_t create_count_pipe (struct doca_flow_port *port, struct doca_flow_pipe *fwd_pipe, struct entries_status *status, 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)
 
static doca_error_t process_packets (struct doca_flow_port *port, uint16_t ct_queue, struct entries_status *ct_status, struct doca_flow_pipe_entry *ct_entries_arr[PACKET_BURST], int *ct_entries_arr_len)
 
static doca_error_t update_nonactive_entries (struct doca_flow_port *port, struct doca_flow_pipe *ct_pipe, struct doca_flow_pipe_entry **entries_arr, int entries_arr_len, uint16_t ct_queue)
 
doca_error_t flow_ct_udp_update (uint16_t nb_queues, struct doca_dev *ct_dev)
 

Macro Definition Documentation

◆ PACKET_BURST

#define PACKET_BURST   128

Definition at line 37 of file flow_ct_udp_update_sample.c.

Function Documentation

◆ check_for_valid_entry_aging()

static void check_for_valid_entry_aging ( struct doca_flow_pipe_entry *  entry,
uint16_t  pipe_queue,
enum doca_flow_entry_status  status,
enum doca_flow_entry_op  op,
void *  user_ctx 
)
static

Definition at line 50 of file flow_ct_udp_update_sample.c.

◆ create_count_pipe()

static doca_error_t create_count_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 325 of file flow_ct_udp_update_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 153 of file flow_ct_udp_update_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 81 of file flow_ct_udp_update_sample.c.

◆ create_vxlan_encap_pipe()

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

Definition at line 210 of file flow_ct_udp_update_sample.c.

◆ DOCA_LOG_REGISTER()

DOCA_LOG_REGISTER ( FLOW_CT_UDP_UPDATE  )

◆ flow_ct_udp_update()

doca_error_t flow_ct_udp_update ( uint16_t  nb_queues,
struct doca_dev *  ct_dev 
)

Definition at line 611 of file flow_ct_udp_update_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 
)
static

Definition at line 419 of file flow_ct_udp_update_sample.c.

◆ process_packets()

static doca_error_t process_packets ( struct doca_flow_port *  port,
uint16_t  ct_queue,
struct entries_status ct_status,
struct doca_flow_pipe_entry *  ct_entries_arr[PACKET_BURST],
int *  ct_entries_arr_len 
)
static

Definition at line 456 of file flow_ct_udp_update_sample.c.

◆ update_nonactive_entries()

static doca_error_t update_nonactive_entries ( struct doca_flow_port *  port,
struct doca_flow_pipe *  ct_pipe,
struct doca_flow_pipe_entry **  entries_arr,
int  entries_arr_len,
uint16_t  ct_queue 
)
static

Definition at line 552 of file flow_ct_udp_update_sample.c.