FD.io VPP  v17.01.1-3-gc6833f8
Vector Packet Processing
decap.c File Reference
+ Include dependency graph for decap.c:

Go to the source code of this file.

Data Structures

struct  vxlan_rx_trace_t
 

Macros

#define vxlan_error(n, s)   s,
 

Enumerations

enum  ip_vxan_bypass_next_t { IP_VXLAN_BYPASS_NEXT_DROP, IP_VXLAN_BYPASS_NEXT_VXLAN, IP_VXLAN_BYPASS_N_NEXT }
 

Functions

static u8format_vxlan_rx_trace (u8 *s, va_list *args)
 
static uword vxlan_input (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame, u32 is_ip4)
 
static uword vxlan4_input (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 
static uword vxlan6_input (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 
static uword ip_vxlan_bypass_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, u32 is_ip4)
 
static uword ip4_vxlan_bypass (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
static clib_error_tset_ip_vxlan_bypass (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
clib_error_tip4_vxlan_bypass_init (vlib_main_t *vm)
 

Variables

vlib_node_registration_t vxlan4_input_node
 (constructor) VLIB_REGISTER_NODE (vxlan4_input_node) More...
 
vlib_node_registration_t vxlan6_input_node
 (constructor) VLIB_REGISTER_NODE (vxlan6_input_node) More...
 
static char * vxlan_error_strings []
 
vlib_node_registration_t ip4_vxlan_bypass_node
 (constructor) VLIB_REGISTER_NODE (ip4_vxlan_bypass_node) More...
 
static vlib_cli_command_t set_interface_ip_vxlan_bypass_command
 (constructor) VLIB_CLI_COMMAND (set_interface_ip_vxlan_bypass_command) More...
 

Macro Definition Documentation

#define vxlan_error (   n,
 
)    s,

Enumeration Type Documentation

Enumerator
IP_VXLAN_BYPASS_NEXT_DROP 
IP_VXLAN_BYPASS_NEXT_VXLAN 
IP_VXLAN_BYPASS_N_NEXT 

Definition at line 724 of file decap.c.

Function Documentation

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

Definition at line 32 of file decap.c.

+ Here is the call graph for this function:

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

Definition at line 996 of file decap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* ip4_vxlan_bypass_init ( vlib_main_t vm)

Definition at line 1127 of file decap.c.

static uword ip_vxlan_bypass_inline ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame,
u32  is_ip4 
)
inlinestatic

Definition at line 731 of file decap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* set_ip_vxlan_bypass ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 1022 of file decap.c.

+ Here is the call graph for this function:

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

Definition at line 655 of file decap.c.

+ Here is the call graph for this function:

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

Definition at line 663 of file decap.c.

+ Here is the call graph for this function:

static uword vxlan_input ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame,
u32  is_ip4 
)
inlinestatic

Definition at line 52 of file decap.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

vlib_node_registration_t ip4_vxlan_bypass_node
Initial value:
= {
.function = ip4_vxlan_bypass,
.name = "ip4-vxlan-bypass",
.vector_size = sizeof (u32),
.n_next_nodes = IP_VXLAN_BYPASS_N_NEXT,
.next_nodes = {
[IP_VXLAN_BYPASS_NEXT_DROP] = "error-drop",
[IP_VXLAN_BYPASS_NEXT_VXLAN] = "vxlan4-input",
},
.format_buffer = format_ip4_header,
}
format_function_t format_ip4_header
Definition: format.h:86
unsigned int u32
Definition: types.h:88
u8 * format_ip4_forward_next_trace(u8 *s, va_list *args)
Definition: ip4_forward.c:1177
static uword ip4_vxlan_bypass(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: decap.c:996

(constructor) VLIB_REGISTER_NODE (ip4_vxlan_bypass_node)

Definition at line 1003 of file decap.c.

vlib_cli_command_t set_interface_ip_vxlan_bypass_command
static
Initial value:
= {
.path = "set interface ip vxlan-bypass",
.function = set_ip_vxlan_bypass,
.short_help = "set interface ip vxlan-bypass <interface> [del]",
}
static clib_error_t * set_ip_vxlan_bypass(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: decap.c:1022

(constructor) VLIB_CLI_COMMAND (set_interface_ip_vxlan_bypass_command)

Definition at line 1120 of file decap.c.

vlib_node_registration_t vxlan4_input_node
Initial value:
= {
.function = vxlan4_input,
.name = "vxlan4-input",
.vector_size = sizeof (u32),
.n_errors = VXLAN_N_ERROR,
.error_strings = vxlan_error_strings,
.n_next_nodes = VXLAN_INPUT_N_NEXT,
.next_nodes = {
#define _(s,n)
},
.format_trace = format_vxlan_rx_trace,
}
#define foreach_vxlan_input_next
Definition: vxlan.h:122
static uword vxlan4_input(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
Definition: decap.c:655
static char * vxlan_error_strings[]
Definition: decap.c:670
unsigned int u32
Definition: types.h:88
static u8 * format_vxlan_rx_trace(u8 *s, va_list *args)
Definition: decap.c:32

(constructor) VLIB_REGISTER_NODE (vxlan4_input_node)

Definition at line 22 of file decap.c.

vlib_node_registration_t vxlan6_input_node
Initial value:
= {
.function = vxlan6_input,
.name = "vxlan6-input",
.vector_size = sizeof (u32),
.n_errors = VXLAN_N_ERROR,
.error_strings = vxlan_error_strings,
.n_next_nodes = VXLAN_INPUT_N_NEXT,
.next_nodes = {
#define _(s,n)
},
.format_trace = format_vxlan_rx_trace,
}
#define foreach_vxlan_input_next
Definition: vxlan.h:122
static char * vxlan_error_strings[]
Definition: decap.c:670
unsigned int u32
Definition: types.h:88
static u8 * format_vxlan_rx_trace(u8 *s, va_list *args)
Definition: decap.c:32
static uword vxlan6_input(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
Definition: decap.c:663

(constructor) VLIB_REGISTER_NODE (vxlan6_input_node)

Definition at line 23 of file decap.c.

char* vxlan_error_strings[]
static
Initial value:
= {
#define vxlan_error(n,s)
vxlan_error (DECAPSULATED, "good packets decapsulated")
vxlan_error (NO_SUCH_TUNNEL, "no such tunnel packets")
vxlan_error (BAD_FLAGS, "packets with bad flags field in vxlan header")
}
#define vxlan_error(n, s)
u32 flags
Definition: vhost-user.h:75

Definition at line 670 of file decap.c.