FD.io VPP  v19.08-27-gf4dcae4
Vector Packet Processing
pw_cw.c File Reference
+ Include dependency graph for pw_cw.c:

Go to the source code of this file.

Data Structures

struct  pw_cw_trace_t_
 A struct to hold tracing information for the MPLS label imposition node. More...
 

Typedefs

typedef struct pw_cw_trace_t_ pw_cw_trace_t
 A struct to hold tracing information for the MPLS label imposition node. More...
 

Functions

static pw_cw_dpo_tpw_cw_dpo_alloc (void)
 
static index_t pw_cw_dpo_get_index (pw_cw_dpo_t *pwcw)
 
void pw_cw_dpo_create (const dpo_id_t *parent, dpo_id_t *dpo)
 Create an PW CW pop. More...
 
u8format_pw_cw_dpo (u8 *s, va_list *args)
 
static void pw_cw_dpo_lock (dpo_id_t *dpo)
 
static void pw_cw_dpo_unlock (dpo_id_t *dpo)
 
static uword pw_cw_pop_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 
static u8format_pw_cw_trace (u8 *s, va_list *args)
 
VLIB_NODE_FN() pw_cw_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static void pw_cw_dpo_mem_show (void)
 
void pw_cw_dpo_module_init (void)
 

Variables

pw_cw_dpo_tpw_cw_dpo_pool
 
vlib_node_registration_t pw_cw_node
 (constructor) VLIB_REGISTER_NODE (pw_cw_node) More...
 
static const dpo_vft_t pwcw_vft
 
static const char *const pw_cw_proto_nodes []
 
static const char *const *const pw_cw_nodes [DPO_PROTO_NUM]
 

Typedef Documentation

typedef struct pw_cw_trace_t_ pw_cw_trace_t

A struct to hold tracing information for the MPLS label imposition node.

Function Documentation

u8* format_pw_cw_dpo ( u8 s,
va_list *  args 
)

Definition at line 68 of file pw_cw.c.

+ Here is the call graph for this function:

static u8* format_pw_cw_trace ( u8 s,
va_list *  args 
)
static

Definition at line 252 of file pw_cw.c.

+ Here is the call graph for this function:

static pw_cw_dpo_t* pw_cw_dpo_alloc ( void  )
static

Definition at line 27 of file pw_cw.c.

+ Here is the caller graph for this function:

void pw_cw_dpo_create ( const dpo_id_t paremt,
dpo_id_t dpo 
)

Create an PW CW pop.

Parameters
parentThe parent of the created MPLS label object
dpoThe PW CW DPO created

Definition at line 43 of file pw_cw.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static index_t pw_cw_dpo_get_index ( pw_cw_dpo_t pwcw)
static

Definition at line 37 of file pw_cw.c.

+ Here is the caller graph for this function:

static void pw_cw_dpo_lock ( dpo_id_t dpo)
static

Definition at line 92 of file pw_cw.c.

+ Here is the call graph for this function:

static void pw_cw_dpo_mem_show ( void  )
static

Definition at line 280 of file pw_cw.c.

+ Here is the call graph for this function:

void pw_cw_dpo_module_init ( void  )

Definition at line 310 of file pw_cw.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void pw_cw_dpo_unlock ( dpo_id_t dpo)
static

Definition at line 102 of file pw_cw.c.

+ Here is the call graph for this function:

VLIB_NODE_FN() pw_cw_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)

Definition at line 265 of file pw_cw.c.

+ Here is the call graph for this function:

static uword pw_cw_pop_inline ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)
inlinestatic

Definition at line 131 of file pw_cw.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

pw_cw_dpo_t* pw_cw_dpo_pool

Definition at line 24 of file pw_cw.c.

Initial value:
= {
.name = "pw-cw-pop",
.vector_size = sizeof(u32),
.format_trace = format_pw_cw_trace,
}
static u8 * format_pw_cw_trace(u8 *s, va_list *args)
Definition: pw_cw.c:252
unsigned int u32
Definition: types.h:88

(constructor) VLIB_REGISTER_NODE (pw_cw_node)

Definition at line 272 of file pw_cw.c.

const char* const* const pw_cw_nodes[DPO_PROTO_NUM]
static
Initial value:

Definition at line 301 of file pw_cw.c.

const char* const pw_cw_proto_nodes[]
static
Initial value:
=
{
"pw-cw-pop",
}
#define NULL
Definition: clib.h:58

Definition at line 295 of file pw_cw.c.

const dpo_vft_t pwcw_vft
static
Initial value:
= {
.dv_lock = pw_cw_dpo_lock,
.dv_unlock = pw_cw_dpo_unlock,
.dv_format = format_pw_cw_dpo,
.dv_mem_show = pw_cw_dpo_mem_show,
}
static void pw_cw_dpo_unlock(dpo_id_t *dpo)
Definition: pw_cw.c:102
static void pw_cw_dpo_mem_show(void)
Definition: pw_cw.c:280
u8 * format_pw_cw_dpo(u8 *s, va_list *args)
Definition: pw_cw.c:68
static void pw_cw_dpo_lock(dpo_id_t *dpo)
Definition: pw_cw.c:92

Definition at line 288 of file pw_cw.c.