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  lb_trace_t
 

Macros

#define foreach_lb_error
 

Enumerations

enum  lb_error_t { LB_N_ERROR }
 
enum  lb_next_t { LB_NEXT_LOOKUP, LB_NEXT_REWRITE, LB_NEXT_DROP, LB_N_NEXT }
 

Functions

u8lb_format_adjacency (u8 *s, va_list *va)
 
u8format_lb_trace (u8 *s, va_list *args)
 
lb_hash_tlb_get_sticky_table (u32 cpu_index)
 
static_always_inline uword lb_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, u8 is_input_v4, u8 is_encap_v4)
 
static uword lb6_gre6_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword lb6_gre4_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword lb4_gre6_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword lb4_gre4_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
 VNET_IP6_REGISTER_ADJACENCY (lb6_gre6)
 
 VNET_IP6_REGISTER_ADJACENCY (lb6_gre4)
 
 VNET_IP4_REGISTER_ADJACENCY (lb4_gre6)
 
 VNET_IP4_REGISTER_ADJACENCY (lb4_gre4)
 

Variables

static char * lb_error_strings []
 
vlib_node_registration_t lb6_gre6_node
 (constructor) VLIB_REGISTER_NODE (lb6_gre6_node) More...
 
vlib_node_registration_t lb6_gre4_node
 (constructor) VLIB_REGISTER_NODE (lb6_gre4_node) More...
 
vlib_node_registration_t lb4_gre6_node
 (constructor) VLIB_REGISTER_NODE (lb4_gre6_node) More...
 
vlib_node_registration_t lb4_gre4_node
 (constructor) VLIB_REGISTER_NODE (lb4_gre4_node) More...
 

Macro Definition Documentation

#define foreach_lb_error
Value:
_(NONE, "no error") \
_(PROTO_NOT_SUPPORTED, "protocol not supported") \
_(NO_SERVER, "no configured application server")

Definition at line 21 of file node.c.

Enumeration Type Documentation

enum lb_error_t
Enumerator
LB_N_ERROR 

Definition at line 26 of file node.c.

enum lb_next_t
Enumerator
LB_NEXT_LOOKUP 
LB_NEXT_REWRITE 
LB_NEXT_DROP 
LB_N_NEXT 

Definition at line 39 of file node.c.

Function Documentation

u8* format_lb_trace ( u8 s,
va_list *  args 
)

Definition at line 62 of file node.c.

+ Here is the call graph for this function:

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

Definition at line 297 of file node.c.

+ Here is the call graph for this function:

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

Definition at line 290 of file node.c.

+ Here is the call graph for this function:

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

Definition at line 283 of file node.c.

+ Here is the call graph for this function:

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

Definition at line 276 of file node.c.

+ Here is the call graph for this function:

u8* lb_format_adjacency ( u8 s,
va_list *  va 
)

Definition at line 51 of file node.c.

+ Here is the call graph for this function:

lb_hash_t* lb_get_sticky_table ( u32  cpu_index)

Definition at line 73 of file node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static_always_inline uword lb_node_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame,
u8  is_input_v4,
u8  is_encap_v4 
)

Definition at line 106 of file node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

VNET_IP4_REGISTER_ADJACENCY ( lb4_gre6  )
VNET_IP4_REGISTER_ADJACENCY ( lb4_gre4  )
VNET_IP6_REGISTER_ADJACENCY ( lb6_gre6  )
VNET_IP6_REGISTER_ADJACENCY ( lb6_gre4  )

Variable Documentation

vlib_node_registration_t lb4_gre4_node
Initial value:
=
{
.function = lb4_gre4_node_fn,
.name = "lb4-gre4",
.vector_size = sizeof (u32),
.format_trace = format_lb_trace,
.n_errors = LB_N_ERROR,
.error_strings = lb_error_strings,
.n_next_nodes = LB_N_NEXT,
.next_nodes =
{
[LB_NEXT_LOOKUP] = "ip4-lookup",
[LB_NEXT_REWRITE]= "ip4-rewrite-transit",
[LB_NEXT_DROP] = "error-drop"
},
}
static uword lb4_gre4_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:297
static char * lb_error_strings[]
Definition: node.c:33
unsigned int u32
Definition: types.h:88
Definition: node.c:43
u8 * format_lb_trace(u8 *s, va_list *args)
Definition: node.c:62

(constructor) VLIB_REGISTER_NODE (lb4_gre4_node)

Definition at line 378 of file node.c.

vlib_node_registration_t lb4_gre6_node
Initial value:
=
{
.function = lb4_gre6_node_fn,
.name = "lb4-gre6",
.vector_size = sizeof (u32),
.format_trace = format_lb_trace,
.n_errors = LB_N_ERROR,
.error_strings = lb_error_strings,
.n_next_nodes = LB_N_NEXT,
.next_nodes =
{
[LB_NEXT_LOOKUP] = "ip6-lookup",
[LB_NEXT_REWRITE] = "ip6-rewrite",
[LB_NEXT_DROP] = "error-drop"
},
}
static char * lb_error_strings[]
Definition: node.c:33
unsigned int u32
Definition: types.h:88
Definition: node.c:43
u8 * format_lb_trace(u8 *s, va_list *args)
Definition: node.c:62
static uword lb4_gre6_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:290

(constructor) VLIB_REGISTER_NODE (lb4_gre6_node)

Definition at line 353 of file node.c.

vlib_node_registration_t lb6_gre4_node
Initial value:
=
{
.function = lb6_gre4_node_fn,
.name = "lb6-gre4",
.vector_size = sizeof (u32),
.format_trace = format_lb_trace,
.n_errors = LB_N_ERROR,
.error_strings = lb_error_strings,
.n_next_nodes = LB_N_NEXT,
.next_nodes =
{
[LB_NEXT_LOOKUP] = "ip4-lookup",
[LB_NEXT_REWRITE]= "ip4-rewrite-transit",
[LB_NEXT_DROP] = "error-drop"
},
}
static uword lb6_gre4_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:283
static char * lb_error_strings[]
Definition: node.c:33
unsigned int u32
Definition: types.h:88
Definition: node.c:43
u8 * format_lb_trace(u8 *s, va_list *args)
Definition: node.c:62

(constructor) VLIB_REGISTER_NODE (lb6_gre4_node)

Definition at line 328 of file node.c.

vlib_node_registration_t lb6_gre6_node
Initial value:
=
{
.function = lb6_gre6_node_fn,
.name = "lb6-gre6",
.vector_size = sizeof (u32),
.format_trace = format_lb_trace,
.n_errors = LB_N_ERROR,
.error_strings = lb_error_strings,
.n_next_nodes = LB_N_NEXT,
.next_nodes =
{
[LB_NEXT_LOOKUP] = "ip6-lookup",
[LB_NEXT_REWRITE] = "ip6-rewrite",
[LB_NEXT_DROP] = "error-drop"
},
}
static char * lb_error_strings[]
Definition: node.c:33
unsigned int u32
Definition: types.h:88
static uword lb6_gre6_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:276
Definition: node.c:43
u8 * format_lb_trace(u8 *s, va_list *args)
Definition: node.c:62

(constructor) VLIB_REGISTER_NODE (lb6_gre6_node)

Definition at line 303 of file node.c.

char* lb_error_strings[]
static
Initial value:
= {
#define _(sym,string)
}
#define foreach_lb_error
Definition: node.c:21

Definition at line 33 of file node.c.