NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
flow_skeleton.c File Reference
#include <stdlib.h>
#include <doca_log.h>
#include <doca_error.h>
#include "flow_skeleton.h"
Include dependency graph for flow_skeleton.c:

Go to the source code of this file.

Data Structures

struct  skeleton_ctx
 

Macros

#define DEFAULT_QUEUE_DEPTH   128 /* DOCA Flow default queue depth */
 
#define DEFAULT_TIMEOUT_US   10000 /* Timeout for processing pipe entries */
 
#define QUOTA_TIME   20 /* max handling aging time in ms */
 

Functions

 DOCA_LOG_REGISTER (FLOW_SKELETON)
 
static void process_callback (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)
 
doca_error_t flow_skeleton_init (struct doca_flow_cfg *flow_cfg, struct flow_skeleton_cfg *skeleton_cfg)
 
void flow_skeleton_destroy (void)
 
static doca_error_t add_entry (uint16_t pipe_queue, uint32_t flag, struct flow_skeleton_entry *entry)
 
static void add_batch_entries (struct main_loop_params *params, uint32_t nb_entries, int port_id)
 
void flow_skeleton_main_loop (void *main_loop_params)
 
void flow_skeleton_notify_exit (void)
 

Variables

static struct skeleton_ctx skeleton_ctx
 
static volatile bool force_quit
 

Macro Definition Documentation

◆ DEFAULT_QUEUE_DEPTH

#define DEFAULT_QUEUE_DEPTH   128 /* DOCA Flow default queue depth */

Definition at line 35 of file flow_skeleton.c.

◆ DEFAULT_TIMEOUT_US

#define DEFAULT_TIMEOUT_US   10000 /* Timeout for processing pipe entries */

Definition at line 36 of file flow_skeleton.c.

◆ QUOTA_TIME

#define QUOTA_TIME   20 /* max handling aging time in ms */

Definition at line 37 of file flow_skeleton.c.

Function Documentation

◆ add_batch_entries()

static void add_batch_entries ( struct main_loop_params params,
uint32_t  nb_entries,
int  port_id 
)
static

Definition at line 343 of file flow_skeleton.c.

◆ add_entry()

static doca_error_t add_entry ( uint16_t  pipe_queue,
uint32_t  flag,
struct flow_skeleton_entry entry 
)
static

Definition at line 254 of file flow_skeleton.c.

◆ DOCA_LOG_REGISTER()

DOCA_LOG_REGISTER ( FLOW_SKELETON  )

◆ flow_skeleton_destroy()

void flow_skeleton_destroy ( void  )

Definition at line 223 of file flow_skeleton.c.

◆ flow_skeleton_init()

doca_error_t flow_skeleton_init ( struct doca_flow_cfg *  flow_cfg,
struct flow_skeleton_cfg skeleton_cfg 
)

Definition at line 107 of file flow_skeleton.c.

◆ flow_skeleton_main_loop()

void flow_skeleton_main_loop ( void *  main_loop_params)

Definition at line 394 of file flow_skeleton.c.

◆ flow_skeleton_notify_exit()

void flow_skeleton_notify_exit ( void  )

Definition at line 464 of file flow_skeleton.c.

◆ process_callback()

static void process_callback ( 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 60 of file flow_skeleton.c.

Variable Documentation

◆ force_quit

volatile bool force_quit
static

Definition at line 49 of file flow_skeleton.c.

◆ skeleton_ctx

struct skeleton_ctx skeleton_ctx
static

Definition at line 33 of file flow_skeleton.c.