FD.io VPP  v16.06
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
 

Macros

#define PG_STREAM_FLAGS_IS_ENABLED   (1 << 0)
 
#define PG_STREAM_FLAGS_DISABLE_BUFFER_RECYCLE   (1 << 1)
 

Typedefs

typedef struct pg_edit_group_t pg_edit_group_t
 
typedef struct pg_stream_t pg_stream_t
 
typedef struct pg_main_t pg_main_t
 

Functions

always_inline void pg_buffer_index_free (pg_buffer_index_t *bi)
 
always_inline void pg_edit_group_free (pg_edit_group_t *g)
 
always_inline void pg_stream_free (pg_stream_t *s)
 
always_inline int pg_stream_is_enabled (pg_stream_t *s)
 
always_inline pg_edit_group_tpg_stream_get_group (pg_stream_t *s, u32 group_index)
 
always_inline voidpg_create_edit_group (pg_stream_t *s, int n_edit_bytes, int n_packet_bytes, u32 *group_index)
 
always_inline voidpg_add_edits (pg_stream_t *s, int n_edit_bytes, int n_packet_bytes, u32 group_index)
 
always_inline voidpg_get_edit_group (pg_stream_t *s, u32 group_index)
 
always_inline uword pg_edit_group_n_bytes (pg_stream_t *s, u32 group_index)
 
always_inline 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_enable_disable (pg_main_t *pg, pg_stream_t *s, int is_enable)
 
u32 pg_interface_find_free (pg_main_t *pg, uword stream_index)
 
always_inline 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)
 

Variables

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

#define PG_STREAM_FLAGS_DISABLE_BUFFER_RECYCLE   (1 << 1)

Definition at line 99 of file pg.h.

#define PG_STREAM_FLAGS_IS_ENABLED   (1 << 0)

Definition at line 98 of file pg.h.

Typedef Documentation

typedef struct pg_main_t pg_main_t
typedef struct pg_stream_t pg_stream_t

Function Documentation

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

Definition at line 236 of file pg.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline void pg_buffer_index_free ( pg_buffer_index_t bi)

Definition at line 165 of file pg.h.

+ Here is the caller graph for this function:

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

Definition at line 214 of file pg.h.

+ Here is the caller graph for this function:

always_inline void pg_edit_group_free ( pg_edit_group_t g)

Definition at line 172 of file pg.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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 250 of file stream.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline uword pg_edit_group_n_bytes ( pg_stream_t s,
u32  group_index 
)

Definition at line 258 of file pg.h.

+ Here is the caller graph for this function:

always_inline void pg_free_edit_group ( pg_stream_t s)

Definition at line 269 of file pg.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline void* pg_get_edit_group ( pg_stream_t s,
u32  group_index 
)

Definition at line 250 of file pg.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline pg_node_t* pg_get_node ( uword  node_index)

Definition at line 335 of file pg.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 pg_interface_find_free ( pg_main_t pg,
uword  stream_index 
)

Definition at line 125 of file stream.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void pg_stream_add ( pg_main_t pg,
pg_stream_t s_init 
)

Definition at line 310 of file stream.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void pg_stream_del ( pg_main_t pg,
uword  index 
)

Definition at line 399 of file stream.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 44 of file stream.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline void pg_stream_free ( pg_stream_t s)

Definition at line 183 of file pg.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline pg_edit_group_t* pg_stream_get_group ( pg_stream_t s,
u32  group_index 
)

Definition at line 210 of file pg.h.

+ Here is the caller graph for this function:

always_inline int pg_stream_is_enabled ( pg_stream_t s)

Definition at line 206 of file pg.h.

+ Here is the caller graph for this function:

Variable Documentation

Definition at line 322 of file pg.h.

vlib_node_registration_t pg_input_node

(constructor) VLIB_REGISTER_NODE (pg_input_node)

Definition at line 1736 of file input.c.

pg_main_t pg_main

Definition at line 44 of file init.c.

Definition at line 322 of file pg.h.