NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
flow_switch_single_sample.c File Reference
#include <string.h>
#include <unistd.h>
#include <rte_byteorder.h>
#include <doca_log.h>
#include <doca_flow.h>
#include "flow_common.h"
#include "flow_switch_common.h"
Include dependency graph for flow_switch_single_sample.c:

Go to the source code of this file.

Macros

#define NB_ENTRIES   2
 
#define TOTAL_ENTRIES   (NB_ENTRIES + 2)
 

Functions

 DOCA_LOG_REGISTER (FLOW_SWITCH)
 
static doca_error_t create_rss_pipe (struct doca_flow_port *port, struct doca_flow_pipe **pipe)
 
static doca_error_t add_rss_pipe_entry (struct doca_flow_pipe *pipe, struct entries_status *status)
 
static doca_error_t create_to_kernel_pipe (struct doca_flow_pipe *miss_pipe, struct doca_flow_pipe **pipe)
 
static doca_error_t add_to_kernel_pipe_entry (struct doca_flow_pipe *pipe, struct entries_status *status)
 
static doca_error_t create_switch_pipe (struct doca_flow_pipe *miss_pipe, struct doca_flow_pipe **pipe)
 
static doca_error_t add_switch_pipe_entries (struct doca_flow_pipe *pipe, struct entries_status *status)
 
doca_error_t flow_switch (int nb_queues, int nb_ports, struct flow_switch_ctx *ctx)
 

Variables

static struct doca_flow_pipe_entry * entries [NB_ENTRIES]
 
static struct doca_flow_pipe_entry * to_kernel_entry
 
static struct doca_flow_pipe * pipe_rss
 
static struct doca_flow_pipe_entry * rss_entry
 

Macro Definition Documentation

◆ NB_ENTRIES

#define NB_ENTRIES   2

Definition at line 39 of file flow_switch_single_sample.c.

◆ TOTAL_ENTRIES

#define TOTAL_ENTRIES   (NB_ENTRIES + 2)

Definition at line 40 of file flow_switch_single_sample.c.

Function Documentation

◆ add_rss_pipe_entry()

static doca_error_t add_rss_pipe_entry ( struct doca_flow_pipe *  pipe,
struct entries_status status 
)
static

Definition at line 115 of file flow_switch_single_sample.c.

◆ add_switch_pipe_entries()

static doca_error_t add_switch_pipe_entries ( struct doca_flow_pipe *  pipe,
struct entries_status status 
)
static

Definition at line 322 of file flow_switch_single_sample.c.

◆ add_to_kernel_pipe_entry()

static doca_error_t add_to_kernel_pipe_entry ( struct doca_flow_pipe *  pipe,
struct entries_status status 
)
static

Definition at line 216 of file flow_switch_single_sample.c.

◆ create_rss_pipe()

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

Definition at line 54 of file flow_switch_single_sample.c.

◆ create_switch_pipe()

static doca_error_t create_switch_pipe ( struct doca_flow_pipe *  miss_pipe,
struct doca_flow_pipe **  pipe 
)
static

Definition at line 245 of file flow_switch_single_sample.c.

◆ create_to_kernel_pipe()

static doca_error_t create_to_kernel_pipe ( struct doca_flow_pipe *  miss_pipe,
struct doca_flow_pipe **  pipe 
)
static

Definition at line 142 of file flow_switch_single_sample.c.

◆ DOCA_LOG_REGISTER()

DOCA_LOG_REGISTER ( FLOW_SWITCH  )

◆ flow_switch()

doca_error_t flow_switch ( int  nb_queues,
int  nb_ports,
struct flow_switch_ctx ctx 
)

Definition at line 382 of file flow_switch_single_sample.c.

Variable Documentation

◆ entries

struct doca_flow_pipe_entry* entries[NB_ENTRIES]
static

Definition at line 42 of file flow_switch_single_sample.c.

◆ pipe_rss

struct doca_flow_pipe* pipe_rss
static

Definition at line 44 of file flow_switch_single_sample.c.

◆ rss_entry

struct doca_flow_pipe_entry* rss_entry
static

Definition at line 45 of file flow_switch_single_sample.c.

◆ to_kernel_entry

struct doca_flow_pipe_entry* to_kernel_entry
static

Definition at line 43 of file flow_switch_single_sample.c.