FD.io VPP  v20.05-21-gb1500e9ff
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
 
struct  lb_nodeport_trace_t
 
struct  lb_nat_trace_t
 

Macros

#define foreach_lb_error
 

Enumerations

enum  lb_error_t { LB_N_ERROR }
 

Functions

u8format_lb_trace (u8 *s, va_list *args)
 
u8format_lb_nat_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 void lb_node_get_hash (lb_main_t *lbm, vlib_buffer_t *p, u8 is_input_v4, u32 *hash, u32 *vip_idx, u8 per_port_vip)
 
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, u8 per_port_vip)
 
u8format_nodeport_lb_trace (u8 *s, va_list *args)
 
static uword lb_nodeport_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, u8 is_input_v4)
 
int lb_nat44_mapping_match (lb_main_t *lbm, lb_snat4_key_t *match, u32 *index)
 Match NAT44 static mapping. More...
 
int lb_nat66_mapping_match (lb_main_t *lbm, lb_snat6_key_t *match, u32 *index)
 Match NAT66 static mapping. More...
 
static uword lb_nat_in2out_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, u32 is_nat4)
 
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 lb6_gre6_port_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword lb6_gre4_port_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword lb4_gre6_port_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword lb4_gre4_port_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)
 
static uword lb4_l3dsr_port_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword lb6_nat6_port_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword lb4_nat4_port_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword lb_nat4_in2out_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword lb_nat6_in2out_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword lb4_nodeport_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword lb6_nodeport_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
 VNET_FEATURE_INIT (lb_nat4_in2out_node_fn, static)
 
 VNET_FEATURE_INIT (lb_nat6_in2out_node_fn, static)
 

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 lb6_gre6_port_node
 (constructor) VLIB_REGISTER_NODE (lb6_gre6_port_node) More...
 
vlib_node_registration_t lb6_gre4_port_node
 (constructor) VLIB_REGISTER_NODE (lb6_gre4_port_node) More...
 
vlib_node_registration_t lb4_gre6_port_node
 (constructor) VLIB_REGISTER_NODE (lb4_gre6_port_node) More...
 
vlib_node_registration_t lb4_gre4_port_node
 (constructor) VLIB_REGISTER_NODE (lb4_gre4_port_node) More...
 
vlib_node_registration_t lb4_l3dsr_port_node
 (constructor) VLIB_REGISTER_NODE (lb4_l3dsr_port_node) More...
 
vlib_node_registration_t lb4_l3dsr_node
 (constructor) VLIB_REGISTER_NODE (lb4_l3dsr_node) More...
 
vlib_node_registration_t lb6_nat6_port_node
 (constructor) VLIB_REGISTER_NODE (lb6_nat6_port_node) More...
 
vlib_node_registration_t lb4_nat4_port_node
 (constructor) VLIB_REGISTER_NODE (lb4_nat4_port_node) More...
 
vlib_node_registration_t lb4_nodeport_node
 (constructor) VLIB_REGISTER_NODE (lb4_nodeport_node) More...
 
vlib_node_registration_t lb6_nodeport_node
 (constructor) VLIB_REGISTER_NODE (lb6_nodeport_node) More...
 
vlib_node_registration_t lb_nat4_in2out_node
 (constructor) VLIB_REGISTER_NODE (lb_nat4_in2out_node) More...
 
vlib_node_registration_t lb_nat6_in2out_node
 (constructor) VLIB_REGISTER_NODE (lb_nat6_in2out_node) More...
 

Macro Definition Documentation

◆ foreach_lb_error

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

Definition at line 22 of file node.c.

Enumeration Type Documentation

◆ lb_error_t

enum lb_error_t
Enumerator
LB_N_ERROR 

Definition at line 26 of file node.c.

Function Documentation

◆ format_lb_nat_trace()

u8* format_lb_nat_trace ( u8 s,
va_list *  args 
)

Definition at line 93 of file node.c.

+ Here is the call graph for this function:

◆ format_lb_trace()

u8* format_lb_trace ( u8 s,
va_list *  args 
)

Definition at line 63 of file node.c.

+ Here is the call graph for this function:

◆ format_nodeport_lb_trace()

u8* format_nodeport_lb_trace ( u8 s,
va_list *  args 
)

Definition at line 560 of file node.c.

+ Here is the call graph for this function:

◆ lb4_gre4_node_fn()

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

Definition at line 958 of file node.c.

+ Here is the call graph for this function:

◆ lb4_gre4_port_node_fn()

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

Definition at line 986 of file node.c.

+ Here is the call graph for this function:

◆ lb4_gre6_node_fn()

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

Definition at line 951 of file node.c.

+ Here is the call graph for this function:

◆ lb4_gre6_port_node_fn()

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

Definition at line 979 of file node.c.

+ Here is the call graph for this function:

◆ lb4_l3dsr_node_fn()

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

Definition at line 993 of file node.c.

+ Here is the call graph for this function:

◆ lb4_l3dsr_port_node_fn()

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

Definition at line 1000 of file node.c.

+ Here is the call graph for this function:

◆ lb4_nat4_port_node_fn()

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

Definition at line 1014 of file node.c.

+ Here is the call graph for this function:

◆ lb4_nodeport_node_fn()

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

Definition at line 1191 of file node.c.

+ Here is the call graph for this function:

◆ lb6_gre4_node_fn()

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

Definition at line 944 of file node.c.

+ Here is the call graph for this function:

◆ lb6_gre4_port_node_fn()

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

Definition at line 972 of file node.c.

+ Here is the call graph for this function:

◆ lb6_gre6_node_fn()

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

Definition at line 937 of file node.c.

+ Here is the call graph for this function:

◆ lb6_gre6_port_node_fn()

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

Definition at line 965 of file node.c.

+ Here is the call graph for this function:

◆ lb6_nat6_port_node_fn()

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

Definition at line 1007 of file node.c.

+ Here is the call graph for this function:

◆ lb6_nodeport_node_fn()

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

Definition at line 1198 of file node.c.

+ Here is the call graph for this function:

◆ lb_get_sticky_table()

lb_hash_t* lb_get_sticky_table ( u32  thread_index)

Definition at line 127 of file node.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lb_nat44_mapping_match()

int lb_nat44_mapping_match ( lb_main_t lbm,
lb_snat4_key_t match,
u32 index 
)

Match NAT44 static mapping.

Parameters
smNAT main.
matchAddress and port to match.
indexindex to the pool.
Returns
0 if match found, otherwise -1.

Definition at line 682 of file node.c.

+ Here is the caller graph for this function:

◆ lb_nat4_in2out_node_fn()

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

Definition at line 1021 of file node.c.

+ Here is the call graph for this function:

◆ lb_nat66_mapping_match()

int lb_nat66_mapping_match ( lb_main_t lbm,
lb_snat6_key_t match,
u32 index 
)

Match NAT66 static mapping.

Parameters
smNAT main.
matchAddress and port to match.
mappingExternal or local address and port of the matched mapping.
Returns
0 if match found otherwise 1.

Definition at line 708 of file node.c.

+ Here is the caller graph for this function:

◆ lb_nat6_in2out_node_fn()

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

Definition at line 1028 of file node.c.

+ Here is the call graph for this function:

◆ lb_nat_in2out_node_fn()

static uword lb_nat_in2out_node_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame,
u32  is_nat4 
)
static

Definition at line 734 of file node.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lb_node_fn()

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,
u8  per_port_vip 
)

Definition at line 255 of file node.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lb_node_get_hash()

static_always_inline void lb_node_get_hash ( lb_main_t lbm,
vlib_buffer_t p,
u8  is_input_v4,
u32 hash,
u32 vip_idx,
u8  per_port_vip 
)

Definition at line 177 of file node.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lb_node_get_other_ports4()

u64 lb_node_get_other_ports4 ( ip4_header_t ip40)

Definition at line 165 of file node.c.

+ Here is the caller graph for this function:

◆ lb_node_get_other_ports6()

u64 lb_node_get_other_ports6 ( ip6_header_t ip60)

Definition at line 171 of file node.c.

+ Here is the caller graph for this function:

◆ lb_nodeport_node_fn()

static uword lb_nodeport_node_fn ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame,
u8  is_input_v4 
)
static

Definition at line 584 of file node.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ VNET_FEATURE_INIT() [1/2]

VNET_FEATURE_INIT ( lb_nat4_in2out_node_fn  ,
static   
)

◆ VNET_FEATURE_INIT() [2/2]

VNET_FEATURE_INIT ( lb_nat6_in2out_node_fn  ,
static   
)

Variable Documentation

◆ lb4_gre4_node

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" },
}
Definition: lb.h:56
u8 * format_lb_trace(u8 *s, va_list *args)
Definition: node.c:63
static char * lb_error_strings[]
Definition: node.c:34
static uword lb4_gre4_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:958
unsigned int u32
Definition: types.h:88

(constructor) VLIB_REGISTER_NODE (lb4_gre4_node)

Definition at line 1073 of file node.c.

◆ lb4_gre4_port_node

vlib_node_registration_t lb4_gre4_port_node
Initial value:
=
{
.function = lb4_gre4_port_node_fn,
.name = "lb4-gre4-port",
.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" },
}
Definition: lb.h:56
u8 * format_lb_trace(u8 *s, va_list *args)
Definition: node.c:63
static char * lb_error_strings[]
Definition: node.c:34
unsigned int u32
Definition: types.h:88
static uword lb4_gre4_port_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:986

(constructor) VLIB_REGISTER_NODE (lb4_gre4_port_node)

Definition at line 1125 of file node.c.

◆ lb4_gre6_node

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" },
}
Definition: lb.h:56
u8 * format_lb_trace(u8 *s, va_list *args)
Definition: node.c:63
static char * lb_error_strings[]
Definition: node.c:34
unsigned int u32
Definition: types.h:88
static uword lb4_gre6_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:951

(constructor) VLIB_REGISTER_NODE (lb4_gre6_node)

Definition at line 1060 of file node.c.

◆ lb4_gre6_port_node

vlib_node_registration_t lb4_gre6_port_node
Initial value:
=
{
.function = lb4_gre6_port_node_fn,
.name = "lb4-gre6-port",
.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" },
}
Definition: lb.h:56
u8 * format_lb_trace(u8 *s, va_list *args)
Definition: node.c:63
static char * lb_error_strings[]
Definition: node.c:34
unsigned int u32
Definition: types.h:88
static uword lb4_gre6_port_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:979

(constructor) VLIB_REGISTER_NODE (lb4_gre6_port_node)

Definition at line 1112 of file node.c.

◆ lb4_l3dsr_node

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" },
}
Definition: lb.h:56
u8 * format_lb_trace(u8 *s, va_list *args)
Definition: node.c:63
static char * lb_error_strings[]
Definition: node.c:34
unsigned int u32
Definition: types.h:88
static uword lb4_l3dsr_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:993

(constructor) VLIB_REGISTER_NODE (lb4_l3dsr_node)

Definition at line 1151 of file node.c.

◆ lb4_l3dsr_port_node

vlib_node_registration_t lb4_l3dsr_port_node
Initial value:
=
{
.name = "lb4-l3dsr-port",
.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" },
}
Definition: lb.h:56
u8 * format_lb_trace(u8 *s, va_list *args)
Definition: node.c:63
static char * lb_error_strings[]
Definition: node.c:34
unsigned int u32
Definition: types.h:88
static uword lb4_l3dsr_port_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:1000

(constructor) VLIB_REGISTER_NODE (lb4_l3dsr_port_node)

Definition at line 1138 of file node.c.

◆ lb4_nat4_port_node

vlib_node_registration_t lb4_nat4_port_node
Initial value:
=
{
.function = lb4_nat4_port_node_fn,
.name = "lb4-nat4-port",
.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" },
}
Definition: lb.h:56
static uword lb4_nat4_port_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:1014
u8 * format_lb_trace(u8 *s, va_list *args)
Definition: node.c:63
static char * lb_error_strings[]
Definition: node.c:34
unsigned int u32
Definition: types.h:88

(constructor) VLIB_REGISTER_NODE (lb4_nat4_port_node)

Definition at line 1177 of file node.c.

◆ lb4_nodeport_node

vlib_node_registration_t lb4_nodeport_node
Initial value:
=
{
.function = lb4_nodeport_node_fn,
.name = "lb4-nodeport",
.vector_size = sizeof(u32),
.format_trace = format_nodeport_lb_trace,
.n_errors = LB_N_ERROR,
.error_strings = lb_error_strings,
.n_next_nodes = LB4_NODEPORT_N_NEXT,
.next_nodes =
{
[LB4_NODEPORT_NEXT_IP4_NAT4] = "lb4-nat4-port",
[LB4_NODEPORT_NEXT_DROP] = "error-drop",
},
}
static char * lb_error_strings[]
Definition: node.c:34
unsigned int u32
Definition: types.h:88
u8 * format_nodeport_lb_trace(u8 *s, va_list *args)
Definition: node.c:560
static uword lb4_nodeport_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:1191

(constructor) VLIB_REGISTER_NODE (lb4_nodeport_node)

Definition at line 1204 of file node.c.

◆ lb6_gre4_node

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" },
}
static uword lb6_gre4_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:944
Definition: lb.h:56
u8 * format_lb_trace(u8 *s, va_list *args)
Definition: node.c:63
static char * lb_error_strings[]
Definition: node.c:34
unsigned int u32
Definition: types.h:88

(constructor) VLIB_REGISTER_NODE (lb6_gre4_node)

Definition at line 1047 of file node.c.

◆ lb6_gre4_port_node

vlib_node_registration_t lb6_gre4_port_node
Initial value:
=
{
.function = lb6_gre4_port_node_fn,
.name = "lb6-gre4-port",
.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" },
}
Definition: lb.h:56
u8 * format_lb_trace(u8 *s, va_list *args)
Definition: node.c:63
static char * lb_error_strings[]
Definition: node.c:34
unsigned int u32
Definition: types.h:88
static uword lb6_gre4_port_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:972

(constructor) VLIB_REGISTER_NODE (lb6_gre4_port_node)

Definition at line 1099 of file node.c.

◆ lb6_gre6_node

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" },
}
Definition: lb.h:56
u8 * format_lb_trace(u8 *s, va_list *args)
Definition: node.c:63
static char * lb_error_strings[]
Definition: node.c:34
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:937

(constructor) VLIB_REGISTER_NODE (lb6_gre6_node)

Definition at line 1034 of file node.c.

◆ lb6_gre6_port_node

vlib_node_registration_t lb6_gre6_port_node
Initial value:
=
{
.function = lb6_gre6_port_node_fn,
.name = "lb6-gre6-port",
.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" },
}
Definition: lb.h:56
static uword lb6_gre6_port_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:965
u8 * format_lb_trace(u8 *s, va_list *args)
Definition: node.c:63
static char * lb_error_strings[]
Definition: node.c:34
unsigned int u32
Definition: types.h:88

(constructor) VLIB_REGISTER_NODE (lb6_gre6_port_node)

Definition at line 1086 of file node.c.

◆ lb6_nat6_port_node

vlib_node_registration_t lb6_nat6_port_node
Initial value:
=
{
.function = lb6_nat6_port_node_fn,
.name = "lb6-nat6-port",
.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" },
}
static uword lb6_nat6_port_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:1007
Definition: lb.h:56
u8 * format_lb_trace(u8 *s, va_list *args)
Definition: node.c:63
static char * lb_error_strings[]
Definition: node.c:34
unsigned int u32
Definition: types.h:88

(constructor) VLIB_REGISTER_NODE (lb6_nat6_port_node)

Definition at line 1164 of file node.c.

◆ lb6_nodeport_node

vlib_node_registration_t lb6_nodeport_node
Initial value:
=
{
.function = lb6_nodeport_node_fn,
.name = "lb6-nodeport",
.vector_size = sizeof(u32),
.format_trace = format_nodeport_lb_trace,
.n_errors = LB_N_ERROR,
.error_strings = lb_error_strings,
.n_next_nodes = LB6_NODEPORT_N_NEXT,
.next_nodes =
{
[LB6_NODEPORT_NEXT_IP6_NAT6] = "lb6-nat6-port",
[LB6_NODEPORT_NEXT_DROP] = "error-drop",
},
}
static char * lb_error_strings[]
Definition: node.c:34
unsigned int u32
Definition: types.h:88
u8 * format_nodeport_lb_trace(u8 *s, va_list *args)
Definition: node.c:560
static uword lb6_nodeport_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:1198

(constructor) VLIB_REGISTER_NODE (lb6_nodeport_node)

Definition at line 1220 of file node.c.

◆ lb_error_strings

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

Definition at line 34 of file node.c.

◆ lb_nat4_in2out_node

vlib_node_registration_t lb_nat4_in2out_node
Initial value:
=
{
.name = "lb-nat4-in2out",
.vector_size = sizeof(u32),
.format_trace = format_lb_nat_trace,
.n_errors = LB_N_ERROR,
.error_strings = lb_error_strings,
.n_next_nodes = LB_NAT4_IN2OUT_N_NEXT,
.next_nodes =
{
[LB_NAT4_IN2OUT_NEXT_DROP] = "error-drop",
[LB_NAT4_IN2OUT_NEXT_LOOKUP] = "ip4-lookup",
},
}
static char * lb_error_strings[]
Definition: node.c:34
unsigned int u32
Definition: types.h:88
static uword lb_nat4_in2out_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:1021
u8 * format_lb_nat_trace(u8 *s, va_list *args)
Definition: node.c:93

(constructor) VLIB_REGISTER_NODE (lb_nat4_in2out_node)

Definition at line 1243 of file node.c.

◆ lb_nat6_in2out_node

vlib_node_registration_t lb_nat6_in2out_node
Initial value:
=
{
.name = "lb-nat6-in2out",
.vector_size = sizeof(u32),
.format_trace = format_lb_nat_trace,
.n_errors = LB_N_ERROR,
.error_strings = lb_error_strings,
.n_next_nodes = LB_NAT6_IN2OUT_N_NEXT,
.next_nodes =
{
[LB_NAT6_IN2OUT_NEXT_DROP] = "error-drop",
[LB_NAT6_IN2OUT_NEXT_LOOKUP] = "ip6-lookup",
},
}
static uword lb_nat6_in2out_node_fn(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: node.c:1028
static char * lb_error_strings[]
Definition: node.c:34
unsigned int u32
Definition: types.h:88
u8 * format_lb_nat_trace(u8 *s, va_list *args)
Definition: node.c:93

(constructor) VLIB_REGISTER_NODE (lb_nat6_in2out_node)

Definition at line 1266 of file node.c.