FD.io VPP  v17.10-9-gd594711
Vector Packet Processing
node.c File Reference
+ Include dependency graph for node.c:

Go to the source code of this file.

Macros

#define foreach_span_error   _(HITS, "SPAN incomming packets processed")
 
#define span_node_defs
 

Enumerations

enum  span_error_t { SPAN_N_ERROR }
 

Functions

u8format_span_trace (u8 *s, va_list *args)
 
static_always_inline void span_mirror (vlib_main_t *vm, vlib_node_runtime_t *node, u32 sw_if_index0, vlib_buffer_t *b0, vlib_frame_t **mirror_frames, vlib_rx_or_tx_t rxtx, span_feat_t sf)
 
static_always_inline uword span_node_inline_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, vlib_rx_or_tx_t rxtx, span_feat_t sf)
 
static uword span_device_input_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword span_device_output_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword span_l2_input_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword span_l2_output_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
clib_error_tspan_init (vlib_main_t *vm)
 

Variables

vlib_node_registration_t span_node
 
static char * span_error_strings []
 
vlib_node_registration_t span_input_node
 (constructor) VLIB_REGISTER_NODE (span_input_node) More...
 
vlib_node_registration_t span_output_node
 (constructor) VLIB_REGISTER_NODE (span_output_node) More...
 
vlib_node_registration_t span_l2_input_node
 (constructor) VLIB_REGISTER_NODE (span_l2_input_node) More...
 
vlib_node_registration_t span_l2_output_node
 (constructor) VLIB_REGISTER_NODE (span_l2_output_node) More...
 

Macro Definition Documentation

#define foreach_span_error   _(HITS, "SPAN incomming packets processed")

Definition at line 46 of file node.c.

#define span_node_defs
Value:
.vector_size = sizeof (u32), \
.format_trace = format_span_trace, \
.n_errors = ARRAY_LEN(span_error_strings), \
.error_strings = span_error_strings, \
.n_next_nodes = 0, \
.next_nodes = { \
[0] = "error-drop" \
}
static char * span_error_strings[]
Definition: node.c:57
u8 * format_span_trace(u8 *s, va_list *args)
Definition: node.c:32
#define ARRAY_LEN(x)
Definition: clib.h:59
unsigned int u32
Definition: types.h:88

Definition at line 290 of file node.c.

Enumeration Type Documentation

Enumerator
SPAN_N_ERROR 

Definition at line 49 of file node.c.

Function Documentation

u8* format_span_trace ( u8 s,
va_list *  args 
)

Definition at line 32 of file node.c.

+ Here is the call graph for this function:

static uword span_device_input_node_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 263 of file node.c.

+ Here is the call graph for this function:

static uword span_device_output_node_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 270 of file node.c.

+ Here is the call graph for this function:

clib_error_t* span_init ( vlib_main_t vm)

Definition at line 334 of file node.c.

+ Here is the call graph for this function:

static uword span_l2_input_node_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 277 of file node.c.

+ Here is the call graph for this function:

static uword span_l2_output_node_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 284 of file node.c.

+ Here is the call graph for this function:

static_always_inline void span_mirror ( vlib_main_t vm,
vlib_node_runtime_t node,
u32  sw_if_index0,
vlib_buffer_t b0,
vlib_frame_t **  mirror_frames,
vlib_rx_or_tx_t  rxtx,
span_feat_t  sf 
)

Definition at line 64 of file node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static_always_inline uword span_node_inline_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame,
vlib_rx_or_tx_t  rxtx,
span_feat_t  sf 
)

Definition at line 118 of file node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

char* span_error_strings[]
static
Initial value:
= {
#define _(sym,string)
}
#define foreach_span_error
Definition: node.c:46

Definition at line 57 of file node.c.

vlib_node_registration_t span_input_node
Initial value:
= {
.name = "span-input",
}
static uword span_device_input_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:263
#define span_node_defs
Definition: node.c:290

(constructor) VLIB_REGISTER_NODE (span_input_node)

Definition at line 302 of file node.c.

vlib_node_registration_t span_l2_input_node
Initial value:
= {
.function = span_l2_input_node_fn,
.name = "span-l2-input",
}
#define span_node_defs
Definition: node.c:290
static uword span_l2_input_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:277

(constructor) VLIB_REGISTER_NODE (span_l2_input_node)

Definition at line 318 of file node.c.

vlib_node_registration_t span_l2_output_node
Initial value:
= {
.name = "span-l2-output",
}
static uword span_l2_output_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:284
#define span_node_defs
Definition: node.c:290

(constructor) VLIB_REGISTER_NODE (span_l2_output_node)

Definition at line 326 of file node.c.

Definition at line 28 of file node.c.

vlib_node_registration_t span_output_node
Initial value:
= {
.name = "span-output",
}
static uword span_device_output_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:270
#define span_node_defs
Definition: node.c:290

(constructor) VLIB_REGISTER_NODE (span_output_node)

Definition at line 310 of file node.c.