FD.io VPP  v21.01.1
Vector Packet Processing
l3xc_node.c File Reference
+ Include dependency graph for l3xc_node.c:

Go to the source code of this file.

Data Structures

struct  l3xc_input_trace_t_
 

Macros

#define l3xc_error(n, s)   L3XC_ERROR_##n,
 
#define l3xc_error(n, s)   s,
 

Typedefs

typedef enum l3xc_next_t_ l3xc_next_t
 
typedef struct l3xc_input_trace_t_ l3xc_input_trace_t
 

Enumerations

enum  l3xc_next_t_ { L3XC_NEXT_DROP, L3XC_N_NEXT }
 
enum  l3xc_error_t { l3xc_error, l3xc_error }
 

Functions

static uword l3xc_input_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, fib_protocol_t fproto)
 
static uword l3xc_input_ip4 (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static uword l3xc_input_ip6 (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static u8format_l3xc_input_trace (u8 *s, va_list *args)
 
 VNET_FEATURE_INIT (l3xc_ip4_feat, static)
 
 VNET_FEATURE_INIT (l3xc_ip6_feat, static)
 

Variables

static char * l3xc_error_strings []
 
vlib_node_registration_t l3xc_ip4_node
 (constructor) VLIB_REGISTER_NODE (l3xc_ip4_node) More...
 
vlib_node_registration_t l3xc_ip6_node
 (constructor) VLIB_REGISTER_NODE (l3xc_ip6_node) More...
 

Macro Definition Documentation

◆ l3xc_error [1/2]

#define l3xc_error (   n,
 
)    L3XC_ERROR_##n,

Definition at line 33 of file l3xc_node.c.

◆ l3xc_error [2/2]

#define l3xc_error (   n,
 
)    s,

Definition at line 33 of file l3xc_node.c.

Typedef Documentation

◆ l3xc_input_trace_t

◆ l3xc_next_t

typedef enum l3xc_next_t_ l3xc_next_t

Enumeration Type Documentation

◆ l3xc_error_t

Enumerator
l3xc_error 
l3xc_error 

Definition at line 31 of file l3xc_node.c.

◆ l3xc_next_t_

Enumerator
L3XC_NEXT_DROP 
L3XC_N_NEXT 

Definition at line 19 of file l3xc_node.c.

Function Documentation

◆ format_l3xc_input_trace()

static u8* format_l3xc_input_trace ( u8 s,
va_list *  args 
)
static

Definition at line 186 of file l3xc_node.c.

◆ l3xc_input_inline()

static uword l3xc_input_inline ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame,
fib_protocol_t  fproto 
)
inlinestatic

Definition at line 40 of file l3xc_node.c.

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

◆ l3xc_input_ip4()

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

Definition at line 172 of file l3xc_node.c.

+ Here is the call graph for this function:

◆ l3xc_input_ip6()

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

Definition at line 179 of file l3xc_node.c.

+ Here is the call graph for this function:

◆ VNET_FEATURE_INIT() [1/2]

VNET_FEATURE_INIT ( l3xc_ip4_feat  ,
static   
)

◆ VNET_FEATURE_INIT() [2/2]

VNET_FEATURE_INIT ( l3xc_ip6_feat  ,
static   
)

Variable Documentation

◆ l3xc_error_strings

char* l3xc_error_strings[]
static
Initial value:
= {
#define l3xc_error(n,s)
l3xc_error (NONE, "no match")
l3xc_error (MATCHED, "matched")
}
#define l3xc_error(n, s)
Definition: l3xc_node.c:33

Definition at line 196 of file l3xc_node.c.

◆ l3xc_ip4_node

vlib_node_registration_t l3xc_ip4_node
Initial value:
=
{
.function = l3xc_input_ip4,
.name = "l3xc-input-ip4",
.vector_size = sizeof (u32),
.format_trace = format_l3xc_input_trace,
.n_errors = L3XC_N_ERROR,
.error_strings = l3xc_error_strings,
.n_next_nodes = L3XC_N_NEXT,
.next_nodes =
{
[L3XC_NEXT_DROP] = "error-drop",
}
}
static u8 * format_l3xc_input_trace(u8 *s, va_list *args)
Definition: l3xc_node.c:186
unsigned int u32
Definition: types.h:88
vl_api_fib_path_type_t type
Definition: fib_types.api:123
static char * l3xc_error_strings[]
Definition: l3xc_node.c:196
static uword l3xc_input_ip4(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: l3xc_node.c:172

(constructor) VLIB_REGISTER_NODE (l3xc_ip4_node)

Definition at line 203 of file l3xc_node.c.

◆ l3xc_ip6_node

vlib_node_registration_t l3xc_ip6_node
Initial value:
=
{
.function = l3xc_input_ip6,
.name = "l3xc-input-ip6",
.vector_size = sizeof (u32),
.format_trace = format_l3xc_input_trace,
.n_errors = 0,
.n_next_nodes = L3XC_N_NEXT,
.next_nodes =
{
[L3XC_NEXT_DROP] = "error-drop",
}
}
static uword l3xc_input_ip6(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: l3xc_node.c:179
static u8 * format_l3xc_input_trace(u8 *s, va_list *args)
Definition: l3xc_node.c:186
unsigned int u32
Definition: types.h:88
vl_api_fib_path_type_t type
Definition: fib_types.api:123

(constructor) VLIB_REGISTER_NODE (l3xc_ip6_node)

Definition at line 219 of file l3xc_node.c.