FD.io VPP  v16.09
Vector Packet Processing
node.c File Reference
+ Include dependency graph for node.c:

Go to the source code of this file.

Data Structures

struct  mpls_rx_trace_t
 
struct  mpls_input_runtime_t
 

Macros

#define mpls_error(n, s)   s,
 

Functions

u8format_mpls_rx_trace (u8 *s, va_list *args)
 
static uword mpls_input_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame, int is_mpls_o_gre)
 
static uword mpls_input (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 
static uword mpls_ethernet_input (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 
static void mpls_setup_nodes (vlib_main_t *vm)
 
static clib_error_tmpls_input_init (vlib_main_t *vm)
 

Variables

vlib_node_registration_t mpls_input_node
 (constructor) VLIB_REGISTER_NODE (mpls_input_node) More...
 
static char * mpls_error_strings []
 
vlib_node_registration_t mpls_ethernet_input_node
 (constructor) VLIB_REGISTER_NODE (mpls_ethernet_input_node) More...
 

Macro Definition Documentation

#define mpls_error (   n,
 
)    s,

Function Documentation

u8* format_mpls_rx_trace ( u8 s,
va_list *  args 
)

Definition at line 29 of file node.c.

+ Here is the call graph for this function:

static uword mpls_ethernet_input ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)
static

Definition at line 284 of file node.c.

+ Here is the call graph for this function:

static uword mpls_input ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)
static

Definition at line 245 of file node.c.

+ Here is the call graph for this function:

static clib_error_t* mpls_input_init ( vlib_main_t vm)
static

Definition at line 350 of file node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword mpls_input_inline ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame,
int  is_mpls_o_gre 
)
inlinestatic

Definition at line 62 of file node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void mpls_setup_nodes ( vlib_main_t vm)
static

Definition at line 318 of file node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

char* mpls_error_strings[]
static
Initial value:
= {
#define mpls_error(n,s)
mpls_error (NONE, "no error")
mpls_error (UNKNOWN_PROTOCOL, "unknown protocol")
mpls_error (UNSUPPORTED_VERSION, "unsupported version")
mpls_error (PKTS_DECAP, "MPLS-GRE input packets decapsulated")
mpls_error (PKTS_ENCAP, "MPLS-GRE output packets encapsulated")
mpls_error (NO_LABEL, "MPLS-GRE no label for fib/dst")
mpls_error (TTL_EXPIRED, "MPLS-GRE ttl expired")
mpls_error (S_NOT_SET, "MPLS-GRE s-bit not set")
mpls_error (BAD_LABEL, "invalid FIB id in label")
mpls_error (NOT_IP4, "non-ip4 packets dropped")
mpls_error (DISALLOWED_FIB, "disallowed FIB id")
}
#define mpls_error(n, s)

Definition at line 252 of file node.c.

vlib_node_registration_t mpls_ethernet_input_node
Initial value:
= {
.function = mpls_ethernet_input,
.name = "mpls-ethernet-input",
.vector_size = sizeof (u32),
.runtime_data_bytes = sizeof(mpls_input_runtime_t),
.n_errors = MPLS_N_ERROR,
.error_strings = mpls_error_strings,
.n_next_nodes = MPLS_INPUT_N_NEXT,
.next_nodes = {
#define _(s,n)
},
.format_trace = format_mpls_rx_trace,
.unformat_buffer = unformat_mpls_gre_header,
}
format_function_t format_mpls_eth_header_with_length
Definition: mpls.h:113
#define foreach_mpls_input_next
Definition: mpls.h:199
static uword mpls_ethernet_input(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
Definition: node.c:284
u8 * format_mpls_rx_trace(u8 *s, va_list *args)
Definition: node.c:29
static char * mpls_error_strings[]
Definition: node.c:252
unsigned int u32
Definition: types.h:88
unformat_function_t unformat_mpls_gre_header
Definition: mpls.h:127

(constructor) VLIB_REGISTER_NODE (mpls_ethernet_input_node)

Definition at line 292 of file node.c.

vlib_node_registration_t mpls_input_node
Initial value:
= {
.function = mpls_input,
.name = "mpls-gre-input",
.vector_size = sizeof (u32),
.runtime_data_bytes = sizeof(mpls_input_runtime_t),
.n_errors = MPLS_N_ERROR,
.error_strings = mpls_error_strings,
.n_next_nodes = MPLS_INPUT_N_NEXT,
.next_nodes = {
#define _(s,n)
},
.format_trace = format_mpls_rx_trace,
.unformat_buffer = unformat_mpls_gre_header,
}
#define foreach_mpls_input_next
Definition: mpls.h:199
static uword mpls_input(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
Definition: node.c:245
format_function_t format_mpls_gre_header_with_length
Definition: mpls.h:112
u8 * format_mpls_rx_trace(u8 *s, va_list *args)
Definition: node.c:29
static char * mpls_error_strings[]
Definition: node.c:252
unsigned int u32
Definition: types.h:88
unformat_function_t unformat_mpls_gre_header
Definition: mpls.h:127

(constructor) VLIB_REGISTER_NODE (mpls_input_node)

Definition at line 52 of file node.c.