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

Go to the source code of this file.

Macros

#define NB_ACTION_DESC   (1)
 
#define DEFAULT_CTRL_PIPE_SIZE   (8192)
 

Functions

 DOCA_LOG_REGISTER (FLOW_CONTROL_PIPE)
 
static doca_error_t create_vxlan_pipe (struct doca_flow_port *port, int port_id, struct doca_flow_pipe **pipe)
 
static doca_error_t add_vxlan_pipe_entry (struct doca_flow_pipe *pipe, struct entries_status *status)
 
static doca_error_t create_vxlan_gpe_pipe (struct doca_flow_port *port, int port_id, struct doca_flow_pipe **pipe)
 
static doca_error_t add_vxlan_gpe_pipe_entry (struct doca_flow_pipe *pipe, struct entries_status *status)
 
static doca_error_t create_mpls_pipe (struct doca_flow_port *port, int port_id, struct doca_flow_pipe **pipe)
 
static doca_error_t add_mpls_pipe_entry (struct doca_flow_pipe *pipe, struct entries_status *status)
 
static doca_error_t create_gre_pipe (struct doca_flow_port *port, int port_id, struct doca_flow_pipe **pipe)
 
static doca_error_t add_gre_pipe_entry (struct doca_flow_pipe *pipe, struct entries_status *status)
 
static doca_error_t create_nvgre_pipe_and_entry (struct doca_flow_port *port, int port_id, struct entries_status *status, int *num_of_entries, struct doca_flow_pipe **pipe)
 
static doca_error_t create_control_pipe (struct doca_flow_port *port, struct doca_flow_pipe **pipe)
 
static doca_error_t control_add_nvgre_entry (struct doca_flow_pipe *control_pipe, struct doca_flow_pipe *nvgre_pipe, struct entries_status *status, uint8_t priority)
 
static doca_error_t add_control_pipe_entries (struct doca_flow_pipe *control_pipe, struct doca_flow_pipe *vxlan_pipe, struct doca_flow_pipe *vxlan_gpe_pipe, struct doca_flow_pipe *mpls_pipe, struct doca_flow_pipe *gre_pipe, struct doca_flow_pipe *nvgre_pipe, struct entries_status *status, int *num_of_entries, int shared_counter_id)
 
doca_error_t flow_control_pipe (int nb_queues)
 

Macro Definition Documentation

◆ DEFAULT_CTRL_PIPE_SIZE

#define DEFAULT_CTRL_PIPE_SIZE   (8192)

Definition at line 40 of file flow_control_pipe_sample.c.

◆ NB_ACTION_DESC

#define NB_ACTION_DESC   (1)

Definition at line 39 of file flow_control_pipe_sample.c.

Function Documentation

◆ add_control_pipe_entries()

static doca_error_t add_control_pipe_entries ( struct doca_flow_pipe *  control_pipe,
struct doca_flow_pipe *  vxlan_pipe,
struct doca_flow_pipe *  vxlan_gpe_pipe,
struct doca_flow_pipe *  mpls_pipe,
struct doca_flow_pipe *  gre_pipe,
struct doca_flow_pipe *  nvgre_pipe,
struct entries_status status,
int *  num_of_entries,
int  shared_counter_id 
)
static

Definition at line 657 of file flow_control_pipe_sample.c.

◆ add_gre_pipe_entry()

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

Definition at line 455 of file flow_control_pipe_sample.c.

◆ add_mpls_pipe_entry()

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

Definition at line 339 of file flow_control_pipe_sample.c.

◆ add_vxlan_gpe_pipe_entry()

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

Definition at line 227 of file flow_control_pipe_sample.c.

◆ add_vxlan_pipe_entry()

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

Definition at line 108 of file flow_control_pipe_sample.c.

◆ control_add_nvgre_entry()

static doca_error_t control_add_nvgre_entry ( struct doca_flow_pipe *  control_pipe,
struct doca_flow_pipe *  nvgre_pipe,
struct entries_status status,
uint8_t  priority 
)
static

Definition at line 603 of file flow_control_pipe_sample.c.

◆ create_control_pipe()

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

Definition at line 571 of file flow_control_pipe_sample.c.

◆ create_gre_pipe()

static doca_error_t create_gre_pipe ( struct doca_flow_port *  port,
int  port_id,
struct doca_flow_pipe **  pipe 
)
static

Definition at line 378 of file flow_control_pipe_sample.c.

◆ create_mpls_pipe()

static doca_error_t create_mpls_pipe ( struct doca_flow_port *  port,
int  port_id,
struct doca_flow_pipe **  pipe 
)
static

Definition at line 256 of file flow_control_pipe_sample.c.

◆ create_nvgre_pipe_and_entry()

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

Definition at line 487 of file flow_control_pipe_sample.c.

◆ create_vxlan_gpe_pipe()

static doca_error_t create_vxlan_gpe_pipe ( struct doca_flow_port *  port,
int  port_id,
struct doca_flow_pipe **  pipe 
)
static

Definition at line 147 of file flow_control_pipe_sample.c.

◆ create_vxlan_pipe()

static doca_error_t create_vxlan_pipe ( struct doca_flow_port *  port,
int  port_id,
struct doca_flow_pipe **  pipe 
)
static

Definition at line 50 of file flow_control_pipe_sample.c.

◆ DOCA_LOG_REGISTER()

DOCA_LOG_REGISTER ( FLOW_CONTROL_PIPE  )

◆ flow_control_pipe()

doca_error_t flow_control_pipe ( int  nb_queues)

Definition at line 814 of file flow_control_pipe_sample.c.