FD.io VPP  v18.04-17-g3a0d853
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 }
 

Functions

u8format_lb_trace (u8 *s, va_list *args)
 
lb_hash_tlb_get_sticky_table (u32 thread_index)
 
u64 lb_node_get_other_ports4 (ip4_header_t *ip40)
 
u64 lb_node_get_other_ports6 (ip6_header_t *ip60)
 
static_always_inline u32 lb_node_get_hash (vlib_buffer_t *p, u8 is_input_v4)
 
static_always_inline uword lb_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, u8 is_input_v4, lb_encap_type_t encap_type)
 
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)
 
static uword lb4_l3dsr_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 

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...
 
vlib_node_registration_t lb4_l3dsr_node
 (constructor) VLIB_REGISTER_NODE (lb4_l3dsr_node) More...
 

Macro Definition Documentation

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

Definition at line 21 of file node.c.

Enumeration Type Documentation

enum lb_error_t
Enumerator
LB_N_ERROR 

Definition at line 25 of file node.c.

Function Documentation

u8* format_lb_trace ( u8 s,
va_list *  args 
)

Definition at line 44 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 364 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 357 of file node.c.

+ Here is the call graph for this function:

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

Definition at line 371 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 350 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 343 of file node.c.

+ Here is the call graph for this function:

lb_hash_t* lb_get_sticky_table ( u32  thread_index)

Definition at line 63 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,
lb_encap_type_t  encap_type 
)

Definition at line 149 of file node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static_always_inline u32 lb_node_get_hash ( vlib_buffer_t p,
u8  is_input_v4 
)

Definition at line 109 of file node.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u64 lb_node_get_other_ports4 ( ip4_header_t ip40)

Definition at line 97 of file node.c.

+ Here is the caller graph for this function:

u64 lb_node_get_other_ports6 ( ip6_header_t ip60)

Definition at line 103 of file node.c.

+ Here is the caller graph for this function:

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_DROP] = "error-drop"
},
}
u8 * format_lb_trace(u8 *s, va_list *args)
Definition: node.c:44
Definition: lb.h:49
unsigned int u32
Definition: types.h:88
static char * lb_error_strings[]
Definition: node.c:32
static uword lb4_gre4_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:364

(constructor) VLIB_REGISTER_NODE (lb4_gre4_node)

Definition at line 428 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_DROP] = "error-drop"
},
}
u8 * format_lb_trace(u8 *s, va_list *args)
Definition: node.c:44
Definition: lb.h:49
static uword lb4_gre6_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:357
unsigned int u32
Definition: types.h:88
static char * lb_error_strings[]
Definition: node.c:32

(constructor) VLIB_REGISTER_NODE (lb4_gre6_node)

Definition at line 411 of file node.c.

vlib_node_registration_t lb4_l3dsr_node
Initial value:
=
{
.function = lb4_l3dsr_node_fn,
.name = "lb4-l3dsr",
.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_DROP] = "error-drop"
},
}
u8 * format_lb_trace(u8 *s, va_list *args)
Definition: node.c:44
static uword lb4_l3dsr_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:371
Definition: lb.h:49
unsigned int u32
Definition: types.h:88
static char * lb_error_strings[]
Definition: node.c:32

(constructor) VLIB_REGISTER_NODE (lb4_l3dsr_node)

Definition at line 445 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_DROP] = "error-drop"
},
}
u8 * format_lb_trace(u8 *s, va_list *args)
Definition: node.c:44
static uword lb6_gre4_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:350
Definition: lb.h:49
unsigned int u32
Definition: types.h:88
static char * lb_error_strings[]
Definition: node.c:32

(constructor) VLIB_REGISTER_NODE (lb6_gre4_node)

Definition at line 394 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_DROP] = "error-drop"
},
}
u8 * format_lb_trace(u8 *s, va_list *args)
Definition: node.c:44
Definition: lb.h:49
unsigned int u32
Definition: types.h:88
static char * lb_error_strings[]
Definition: node.c:32
static uword lb6_gre6_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:343

(constructor) VLIB_REGISTER_NODE (lb6_gre6_node)

Definition at line 377 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 32 of file node.c.