FD.io VPP  v18.01-8-g0eacf49
Vector Packet Processing
node.c File Reference
+ Include dependency graph for node.c:

Go to the source code of this file.

Data Structures

struct  gre_rx_trace_t
 
struct  gre_input_runtime_t
 

Macros

#define foreach_gre_input_next
 
#define gre_error(n, s)   s,
 

Enumerations

enum  gre_input_next_t { GRE_INPUT_N_NEXT }
 

Functions

u8format_gre_rx_trace (u8 *s, va_list *args)
 
static uword gre_input (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame, u8 is_ipv6)
 
static uword gre4_input (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 
static uword gre6_input (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 
void gre_register_input_protocol (vlib_main_t *vm, gre_protocol_t protocol, u32 node_index)
 
static void gre_setup_node (vlib_main_t *vm, u32 node_index)
 
static clib_error_tgre_input_init (vlib_main_t *vm)
 

Variables

static char * gre_error_strings []
 
vlib_node_registration_t gre4_input_node
 (constructor) VLIB_REGISTER_NODE (gre4_input_node) More...
 
vlib_node_registration_t gre6_input_node
 (constructor) VLIB_REGISTER_NODE (gre6_input_node) More...
 

Macro Definition Documentation

#define foreach_gre_input_next
Value:
_(PUNT, "error-punt") \
_(DROP, "error-drop") \
_(ETHERNET_INPUT, "ethernet-input") \
_(IP4_INPUT, "ip4-input") \
_(IP6_INPUT, "ip6-input") \
_(MPLS_INPUT, "mpls-input")
DROP
Definition: error.def:41

Definition at line 24 of file node.c.

#define gre_error (   n,
 
)    s,

Enumeration Type Documentation

Enumerator
GRE_INPUT_N_NEXT 

Definition at line 32 of file node.c.

Function Documentation

u8* format_gre_rx_trace ( u8 s,
va_list *  args 
)

Definition at line 50 of file node.c.

+ Here is the call graph for this function:

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

Definition at line 555 of file node.c.

+ Here is the call graph for this function:

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

Definition at line 562 of file node.c.

+ Here is the call graph for this function:

static uword gre_input ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame,
u8  is_ipv6 
)
inlinestatic

Definition at line 71 of file node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* gre_input_init ( vlib_main_t vm)
static

Definition at line 663 of file node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gre_register_input_protocol ( vlib_main_t vm,
gre_protocol_t  protocol,
u32  node_index 
)

Definition at line 625 of file node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void gre_setup_node ( vlib_main_t vm,
u32  node_index 
)
static

Definition at line 652 of file node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

vlib_node_registration_t gre4_input_node
Initial value:
= {
.function = gre4_input,
.name = "gre4-input",
.vector_size = sizeof (u32),
.n_errors = GRE_N_ERROR,
.error_strings = gre_error_strings,
.n_next_nodes = GRE_INPUT_N_NEXT,
.next_nodes = {
#define _(s,n)
},
.format_trace = format_gre_rx_trace,
.unformat_buffer = unformat_gre_header,
}
format_function_t format_gre_header_with_length
Definition: gre.h:283
static uword gre4_input(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
Definition: node.c:555
#define foreach_gre_input_next
Definition: node.c:24
static char * gre_error_strings[]
Definition: node.c:568
unformat_function_t unformat_gre_header
Definition: gre.h:296
u8 * format_gre_rx_trace(u8 *s, va_list *args)
Definition: node.c:50
unsigned int u32
Definition: types.h:88

(constructor) VLIB_REGISTER_NODE (gre4_input_node)

Definition at line 575 of file node.c.

vlib_node_registration_t gre6_input_node
Initial value:
= {
.function = gre6_input,
.name = "gre6-input",
.vector_size = sizeof (u32),
.runtime_data_bytes = sizeof (gre_input_runtime_t),
.n_errors = GRE_N_ERROR,
.error_strings = gre_error_strings,
.n_next_nodes = GRE_INPUT_N_NEXT,
.next_nodes = {
#define _(s,n)
},
.format_trace = format_gre_rx_trace,
.unformat_buffer = unformat_gre_header,
}
format_function_t format_gre_header_with_length
Definition: gre.h:283
#define foreach_gre_input_next
Definition: node.c:24
static char * gre_error_strings[]
Definition: node.c:568
unformat_function_t unformat_gre_header
Definition: gre.h:296
u8 * format_gre_rx_trace(u8 *s, va_list *args)
Definition: node.c:50
unsigned int u32
Definition: types.h:88
static uword gre6_input(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
Definition: node.c:562

(constructor) VLIB_REGISTER_NODE (gre6_input_node)

Definition at line 598 of file node.c.

char* gre_error_strings[]
static
Initial value:
= {
#define gre_error(n,s)
gre_error (NONE, "no error")
gre_error (UNKNOWN_PROTOCOL, "unknown protocol")
gre_error (UNSUPPORTED_VERSION, "unsupported version")
gre_error (PKTS_DECAP, "GRE input packets decapsulated")
gre_error (PKTS_ENCAP, "GRE output packets encapsulated")
gre_error (NO_SUCH_TUNNEL, "GRE input packets dropped due to missing tunnel")
}
#define gre_error(n, s)

Definition at line 568 of file node.c.