FD.io VPP  v16.06
Vector Packet Processing
interface.c File Reference
+ Include dependency graph for interface.c:

Go to the source code of this file.

Data Structures

struct  lisp_gpe_tx_trace_t
 

Macros

#define foreach_lisp_gpe_tx_next
 
#define is_v4_packet(_h)   ((*(u8*) _h) & 0xF0) == 0x40
 

Enumerations

enum  lisp_gpe_tx_next_t { LISP_GPE_TX_N_NEXT }
 

Functions

u8format_lisp_gpe_tx_trace (u8 *s, va_list *args)
 
always_inline void get_one_tunnel_inline (lisp_gpe_main_t *lgm, vlib_buffer_t *b0, lisp_gpe_tunnel_t **t0, u8 is_v4)
 
always_inline void encap_one_inline (lisp_gpe_main_t *lgm, vlib_buffer_t *b0, lisp_gpe_tunnel_t *t0, u32 *next0, u8 is_v4)
 
always_inline void get_two_tunnels_inline (lisp_gpe_main_t *lgm, vlib_buffer_t *b0, vlib_buffer_t *b1, lisp_gpe_tunnel_t **t0, lisp_gpe_tunnel_t **t1, u8 is_v4)
 
always_inline void encap_two_inline (lisp_gpe_main_t *lgm, vlib_buffer_t *b0, vlib_buffer_t *b1, lisp_gpe_tunnel_t *t0, lisp_gpe_tunnel_t *t1, u32 *next0, u32 *next1, u8 is_v4)
 
static uword lisp_gpe_interface_tx (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 
static u8format_lisp_gpe_name (u8 *s, va_list *args)
 
 VNET_DEVICE_CLASS (lisp_gpe_device_class, static)
 
static uword dummy_set_rewrite (vnet_main_t *vnm, u32 sw_if_index, u32 l3_type, void *dst_address, void *rewrite, uword max_rewrite_bytes)
 
u8format_lisp_gpe_header_with_length (u8 *s, va_list *args)
 
 VNET_HW_INTERFACE_CLASS (lisp_gpe_hw_class)
 
int add_del_ip_prefix_route (ip_prefix_t *dst_prefix, u32 table_id, ip_adjacency_t *add_adj, u8 is_add, u32 *adj_index)
 
static void add_del_lisp_gpe_default_route (u32 table_id, u8 is_v4, u8 is_add)
 
static void lisp_gpe_iface_set_table (u32 sw_if_index, u32 table_id, u8 is_ip4)
 
void vnet_lisp_gpe_add_del_iface (vnet_lisp_gpe_add_del_iface_args_t *a, u32 *hw_if_indexp)
 
static clib_error_tlisp_gpe_add_del_iface_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 

Variables

vlib_cli_command_t add_del_lisp_gpe_iface_command
 (constructor) VLIB_CLI_COMMAND (add_del_lisp_gpe_iface_command) More...
 

Macro Definition Documentation

#define foreach_lisp_gpe_tx_next
Value:
_(DROP, "error-drop") \
_(IP4_LOOKUP, "ip4-lookup") \
_(IP6_LOOKUP, "ip6-lookup")
DROP
Definition: error.def:41

Definition at line 24 of file interface.c.

#define is_v4_packet (   _h)    ((*(u8*) _h) & 0xF0) == 0x40

Definition at line 149 of file interface.c.

Enumeration Type Documentation

Enumerator
LISP_GPE_TX_N_NEXT 

Definition at line 29 of file interface.c.

Function Documentation

int add_del_ip_prefix_route ( ip_prefix_t *  dst_prefix,
u32  table_id,
ip_adjacency_t add_adj,
u8  is_add,
u32 adj_index 
)

Definition at line 355 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void add_del_lisp_gpe_default_route ( u32  table_id,
u8  is_v4,
u8  is_add 
)
static

Definition at line 427 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword dummy_set_rewrite ( vnet_main_t vnm,
u32  sw_if_index,
u32  l3_type,
void dst_address,
void rewrite,
uword  max_rewrite_bytes 
)
static

Definition at line 319 of file interface.c.

+ Here is the caller graph for this function:

always_inline void encap_one_inline ( lisp_gpe_main_t lgm,
vlib_buffer_t b0,
lisp_gpe_tunnel_t t0,
u32 next0,
u8  is_v4 
)

Definition at line 75 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline void encap_two_inline ( lisp_gpe_main_t lgm,
vlib_buffer_t b0,
vlib_buffer_t b1,
lisp_gpe_tunnel_t t0,
lisp_gpe_tunnel_t t1,
u32 next0,
u32 next1,
u8  is_v4 
)

Definition at line 128 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_lisp_gpe_header_with_length ( u8 s,
va_list *  args 
)

Definition at line 326 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 304 of file interface.c.

+ Here is the call graph for this function:

u8* format_lisp_gpe_tx_trace ( u8 s,
va_list *  args 
)

Definition at line 43 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline void get_one_tunnel_inline ( lisp_gpe_main_t lgm,
vlib_buffer_t b0,
lisp_gpe_tunnel_t **  t0,
u8  is_v4 
)

Definition at line 54 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline void get_two_tunnels_inline ( lisp_gpe_main_t lgm,
vlib_buffer_t b0,
vlib_buffer_t b1,
lisp_gpe_tunnel_t **  t0,
lisp_gpe_tunnel_t **  t1,
u8  is_v4 
)

Definition at line 95 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 585 of file interface.c.

+ Here is the call graph for this function:

static void lisp_gpe_iface_set_table ( u32  sw_if_index,
u32  table_id,
u8  is_ip4 
)
static

Definition at line 453 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 152 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

VNET_DEVICE_CLASS ( lisp_gpe_device_class  ,
static   
)
VNET_HW_INTERFACE_CLASS ( lisp_gpe_hw_class  )
void vnet_lisp_gpe_add_del_iface ( vnet_lisp_gpe_add_del_iface_args_t a,
u32 hw_if_indexp 
)

Definition at line 484 of file interface.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

vlib_cli_command_t add_del_lisp_gpe_iface_command
Initial value:
= {
.path = "lisp gpe iface",
.short_help = "lisp gpe iface add/del table-index <table_index> vrf <vrf>",
}
static clib_error_t * lisp_gpe_add_del_iface_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: interface.c:585

(constructor) VLIB_CLI_COMMAND (add_del_lisp_gpe_iface_command)

Definition at line 619 of file interface.c.