FD.io VPP  v21.10.1-2-g0a485f517
Vector Packet Processing
pg.h File Reference
+ Include dependency graph for pg.h:

Go to the source code of this file.

Data Structures

struct  pg_edit_group_t
 
struct  pg_buffer_index_t
 
struct  pg_stream_t
 
struct  pg_interface_t
 
struct  pg_node_t
 
struct  pg_main_t
 
struct  pg_capture_args_t
 
struct  pg_output_trace_t
 

Macros

#define PG_STREAM_FLAGS_IS_ENABLED   (1 << 0)
 

Typedefs

typedef struct pg_edit_group_t pg_edit_group_t
 
typedef struct pg_stream_t pg_stream_t
 
typedef enum pg_interface_mode_t_ pg_interface_mode_t
 
typedef struct pg_main_t pg_main_t
 

Enumerations

enum  pg_interface_mode_t_ { PG_MODE_ETHERNET, PG_MODE_IP4, PG_MODE_IP6 }
 

Functions

static void pg_buffer_index_free (pg_buffer_index_t *bi)
 
static void pg_edit_group_free (pg_edit_group_t *g)
 
static void pg_stream_free (pg_stream_t *s)
 
static int pg_stream_is_enabled (pg_stream_t *s)
 
static pg_edit_group_tpg_stream_get_group (pg_stream_t *s, u32 group_index)
 
static void * pg_create_edit_group (pg_stream_t *s, int n_edit_bytes, int n_packet_bytes, u32 *group_index)
 
static void * pg_add_edits (pg_stream_t *s, int n_edit_bytes, int n_packet_bytes, u32 group_index)
 
static void * pg_get_edit_group (pg_stream_t *s, u32 group_index)
 
static uword pg_edit_group_n_bytes (pg_stream_t *s, u32 group_index)
 
static void pg_free_edit_group (pg_stream_t *s)
 
void pg_stream_del (pg_main_t *pg, uword index)
 
void pg_stream_add (pg_main_t *pg, pg_stream_t *s_init)
 
void pg_stream_change (pg_main_t *pg, pg_stream_t *s)
 
void pg_stream_enable_disable (pg_main_t *pg, pg_stream_t *s, int is_enable)
 
void pg_interface_enable_disable_coalesce (pg_interface_t *pi, u8 enable, u32 tx_node_index)
 
u32 pg_interface_add_or_get (pg_main_t *pg, uword stream_index, u8 gso_enabled, u32 gso_size, u8 coalesce_enabled, pg_interface_mode_t mode)
 
static pg_node_tpg_get_node (uword node_index)
 
void pg_edit_group_get_fixed_packet_data (pg_stream_t *s, u32 group_index, void *fixed_packet_data, void *fixed_packet_data_mask)
 
void pg_enable_disable (u32 stream_index, int is_enable)
 
clib_error_tpg_capture (pg_capture_args_t *a)
 

Variables

vnet_device_class_t pg_dev_class
 
pg_main_t pg_main
 
vlib_node_registration_t pg_input_node
 (constructor) VLIB_REGISTER_NODE (pg_input_node) More...
 
vlib_node_function_t pg_input
 
vlib_node_function_t pg_output
 

Macro Definition Documentation

◆ PG_STREAM_FLAGS_IS_ENABLED

#define PG_STREAM_FLAGS_IS_ENABLED   (1 << 0)

Definition at line 104 of file pg.h.

Typedef Documentation

◆ pg_edit_group_t

◆ pg_interface_mode_t

◆ pg_main_t

typedef struct pg_main_t pg_main_t

◆ pg_stream_t

typedef struct pg_stream_t pg_stream_t

Enumeration Type Documentation

◆ pg_interface_mode_t_

Enumerator
PG_MODE_ETHERNET 
PG_MODE_IP4 
PG_MODE_IP6 

Definition at line 302 of file pg.h.

Function Documentation

◆ pg_add_edits()

static void* pg_add_edits ( pg_stream_t s,
int  n_edit_bytes,
int  n_packet_bytes,
u32  group_index 
)
inlinestatic

Definition at line 259 of file pg.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pg_buffer_index_free()

static void pg_buffer_index_free ( pg_buffer_index_t bi)
inlinestatic

Definition at line 185 of file pg.h.

+ Here is the caller graph for this function:

◆ pg_capture()

clib_error_t* pg_capture ( pg_capture_args_t a)

Definition at line 81 of file cli.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pg_create_edit_group()

static void* pg_create_edit_group ( pg_stream_t s,
int  n_edit_bytes,
int  n_packet_bytes,
u32 group_index 
)
inlinestatic

Definition at line 239 of file pg.h.

+ Here is the caller graph for this function:

◆ pg_edit_group_free()

static void pg_edit_group_free ( pg_edit_group_t g)
inlinestatic

Definition at line 192 of file pg.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pg_edit_group_get_fixed_packet_data()

void pg_edit_group_get_fixed_packet_data ( pg_stream_t s,
u32  group_index,
void *  fixed_packet_data,
void *  fixed_packet_data_mask 
)

Definition at line 422 of file stream.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pg_edit_group_n_bytes()

static uword pg_edit_group_n_bytes ( pg_stream_t s,
u32  group_index 
)
inlinestatic

Definition at line 281 of file pg.h.

+ Here is the caller graph for this function:

◆ pg_enable_disable()

void pg_enable_disable ( u32  stream_index,
int  is_enable 
)

Definition at line 58 of file cli.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pg_free_edit_group()

static void pg_free_edit_group ( pg_stream_t s)
inlinestatic

Definition at line 292 of file pg.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pg_get_edit_group()

static void* pg_get_edit_group ( pg_stream_t s,
u32  group_index 
)
inlinestatic

Definition at line 273 of file pg.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pg_get_node()

static pg_node_t* pg_get_node ( uword  node_index)
inlinestatic

Definition at line 391 of file pg.h.

+ Here is the caller graph for this function:

◆ pg_interface_add_or_get()

u32 pg_interface_add_or_get ( pg_main_t pg,
uword  stream_index,
u8  gso_enabled,
u32  gso_size,
u8  coalesce_enabled,
pg_interface_mode_t  mode 
)

Definition at line 251 of file stream.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pg_interface_enable_disable_coalesce()

void pg_interface_enable_disable_coalesce ( pg_interface_t pi,
u8  enable,
u32  tx_node_index 
)

Definition at line 215 of file stream.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pg_stream_add()

void pg_stream_add ( pg_main_t pg,
pg_stream_t s_init 
)

Definition at line 481 of file stream.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pg_stream_change()

void pg_stream_change ( pg_main_t pg,
pg_stream_t s 
)

Definition at line 585 of file stream.c.

+ Here is the caller graph for this function:

◆ pg_stream_del()

void pg_stream_del ( pg_main_t pg,
uword  index 
)

Definition at line 565 of file stream.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pg_stream_enable_disable()

void pg_stream_enable_disable ( pg_main_t pg,
pg_stream_t s,
int  is_enable 
)

Definition at line 49 of file stream.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pg_stream_free()

static void pg_stream_free ( pg_stream_t s)
inlinestatic

Definition at line 202 of file pg.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pg_stream_get_group()

static pg_edit_group_t* pg_stream_get_group ( pg_stream_t s,
u32  group_index 
)
inlinestatic

Definition at line 233 of file pg.h.

+ Here is the caller graph for this function:

◆ pg_stream_is_enabled()

static int pg_stream_is_enabled ( pg_stream_t s)
inlinestatic

Definition at line 227 of file pg.h.

+ Here is the caller graph for this function:

Variable Documentation

◆ pg_dev_class

vnet_device_class_t pg_dev_class

◆ pg_input

Definition at line 370 of file pg.h.

◆ pg_input_node

vlib_node_registration_t pg_input_node

(constructor) VLIB_REGISTER_NODE (pg_input_node)

Definition at line 1826 of file input.c.

◆ pg_main

pg_main_t pg_main

Definition at line 44 of file init.c.

◆ pg_output

Definition at line 370 of file pg.h.