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

Go to the source code of this file.

Data Structures

struct  ila_ila2sir_trace_t
 
struct  ila_sir2ila_trace_t
 

Macros

#define ILA_TABLE_DEFAULT_HASH_NUM_BUCKETS   (64 * 1024)
 
#define ILA_TABLE_DEFAULT_HASH_MEMORY_SIZE   (32<<20)
 
#define foreach_ila_error   _(NONE, "valid ILA packets")
 

Enumerations

enum  ila_error_t { ILA_N_ERROR }
 
enum  ila_ila2sir_next_t { ILA_ILA2SIR_NEXT_IP6_REWRITE, ILA_ILA2SIR_NEXT_DROP, ILA_ILA2SIR_N_NEXT }
 
enum  ila_sir2ila_next_t { ILA_SIR2ILA_NEXT_DROP, ILA_SIR2ILA_N_NEXT }
 

Functions

u8format_half_ip6_address (u8 *s, va_list *va)
 
u8format_ila_direction (u8 *s, va_list *args)
 
u8format_ila_csum_mode (u8 *s, va_list *va)
 
u8format_ila_type (u8 *s, va_list *args)
 
static u8format_ila_entry (u8 *s, va_list *va)
 
u8format_ila_ila2sir_trace (u8 *s, va_list *args)
 
static uword unformat_ila_direction (unformat_input_t *input, va_list *args)
 
static uword unformat_ila_type (unformat_input_t *input, va_list *args)
 
static uword unformat_ila_csum_mode (unformat_input_t *input, va_list *args)
 
static uword unformat_half_ip6_address (unformat_input_t *input, va_list *args)
 
static uword ila_ila2sir (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
u8format_ila_sir2ila_trace (u8 *s, va_list *args)
 
static uword ila_sir2ila (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
 VNET_IP6_UNICAST_FEATURE_INIT (ila_sir2ila, static)
 
int ila_add_del_entry (ila_add_del_entry_args_t *args)
 
int ila_interface (u32 sw_if_index, u8 disable)
 
clib_error_tvlib_plugin_register (vlib_main_t *vm, vnet_plugin_handoff_t *h, int from_early_init)
 
u8ila_format_adjacency (u8 *s, va_list *va)
 
clib_error_tila_init (vlib_main_t *vm)
 
 VNET_IP6_REGISTER_ADJACENCY (ila2sir)
 
static clib_error_tila_entry_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tila_interface_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tila_show_entries_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 

Variables

static ila_main_t ila_main
 
static char * ila_error_strings []
 
static ila_entry_t ila_sir2ila_default_entry
 
static vlib_node_registration_t ila_ila2sir_node
 (constructor) VLIB_REGISTER_NODE (ila_ila2sir_node) More...
 
static vlib_node_registration_t ila_sir2ila_node
 (constructor) VLIB_REGISTER_NODE (ila_sir2ila_node) More...
 
static vlib_cli_command_t ila_entry_command
 (constructor) VLIB_CLI_COMMAND (ila_entry_command) More...
 
static vlib_cli_command_t ila_interface_command
 (constructor) VLIB_CLI_COMMAND (ila_interface_command) More...
 
static vlib_cli_command_t ila_show_entries_command
 (constructor) VLIB_CLI_COMMAND (ila_show_entries_command) More...
 

Macro Definition Documentation

#define foreach_ila_error   _(NONE, "valid ILA packets")

Definition at line 25 of file ila.c.

#define ILA_TABLE_DEFAULT_HASH_MEMORY_SIZE   (32<<20)

Definition at line 23 of file ila.c.

#define ILA_TABLE_DEFAULT_HASH_NUM_BUCKETS   (64 * 1024)

Definition at line 22 of file ila.c.

Enumeration Type Documentation

Enumerator
ILA_N_ERROR 

Definition at line 28 of file ila.c.

Enumerator
ILA_ILA2SIR_NEXT_IP6_REWRITE 
ILA_ILA2SIR_NEXT_DROP 
ILA_ILA2SIR_N_NEXT 

Definition at line 42 of file ila.c.

Enumerator
ILA_SIR2ILA_NEXT_DROP 
ILA_SIR2ILA_N_NEXT 

Definition at line 400 of file ila.c.

Function Documentation

u8* format_half_ip6_address ( u8 s,
va_list *  va 
)

Definition at line 63 of file ila.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_ila_csum_mode ( u8 s,
va_list *  va 
)

Definition at line 85 of file ila.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_ila_direction ( u8 s,
va_list *  args 
)

Definition at line 73 of file ila.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u8* format_ila_entry ( u8 s,
va_list *  va 
)
static

Definition at line 118 of file ila.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_ila_ila2sir_trace ( u8 s,
va_list *  args 
)

Definition at line 156 of file ila.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_ila_sir2ila_trace ( u8 s,
va_list *  args 
)

Definition at line 413 of file ila.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_ila_type ( u8 s,
va_list *  args 
)

Definition at line 106 of file ila.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int ila_add_del_entry ( ila_add_del_entry_args_t args)

Definition at line 619 of file ila.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 865 of file ila.c.

+ Here is the call graph for this function:

u8* ila_format_adjacency ( u8 s,
va_list *  va 
)

Definition at line 826 of file ila.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 243 of file ila.c.

+ Here is the call graph for this function:

clib_error_t* ila_init ( vlib_main_t vm)

Definition at line 839 of file ila.c.

+ Here is the call graph for this function:

int ila_interface ( u32  sw_if_index,
u8  disable 
)

Definition at line 793 of file ila.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 969 of file ila.c.

+ Here is the call graph for this function:

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

Definition at line 1000 of file ila.c.

+ Here is the call graph for this function:

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

Definition at line 426 of file ila.c.

+ Here is the call graph for this function:

static uword unformat_half_ip6_address ( unformat_input_t input,
va_list *  args 
)
static

Definition at line 222 of file ila.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword unformat_ila_csum_mode ( unformat_input_t input,
va_list *  args 
)
static

Definition at line 200 of file ila.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static uword unformat_ila_direction ( unformat_input_t input,
va_list *  args 
)
static

Definition at line 168 of file ila.c.

+ Here is the caller graph for this function:

static uword unformat_ila_type ( unformat_input_t input,
va_list *  args 
)
static

Definition at line 184 of file ila.c.

+ Here is the caller graph for this function:

clib_error_t* vlib_plugin_register ( vlib_main_t vm,
vnet_plugin_handoff_t h,
int  from_early_init 
)

Definition at line 817 of file ila.c.

VNET_IP6_REGISTER_ADJACENCY ( ila2sir  )

+ Here is the caller graph for this function:

VNET_IP6_UNICAST_FEATURE_INIT ( ila_sir2ila  ,
static   
)

+ Here is the caller graph for this function:

Variable Documentation

vlib_cli_command_t ila_entry_command
static
Initial value:
=
{
.path = "ila entry",
.short_help = "ila entry [type (" "iid,luid,vnid-ip4,vnid-ip6,vnid-multicast" ")]"
" [sir-address <address>] [locator <locator>] [vnid <hex-vnid>]"
" [adj-index <adj-index>] [next-hop <next-hop>]"
" [direction (" "bidir,sir2ila,ila2sir" ")]"
" [csum-mode (" "no-action,neutral-map,adjust-transport" ")] [del]",
.function = ila_entry_command_fn,
}
static clib_error_t * ila_entry_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: ila.c:865

(constructor) VLIB_CLI_COMMAND (ila_entry_command)

Definition at line 956 of file ila.c.

char* ila_error_strings[]
static
Initial value:
= {
#define _(sym,string)
}
#define foreach_ila_error
Definition: ila.c:25

Definition at line 36 of file ila.c.

static vlib_node_registration_t ila_ila2sir_node
static
Initial value:
=
{
.function = ila_ila2sir,.name = "ila-to-sir",.vector_size =
sizeof (u32),.format_trace = format_ila_ila2sir_trace,.n_errors =
ILA_N_ERROR,.error_strings = ila_error_strings,.n_next_nodes =
ILA_ILA2SIR_N_NEXT,.next_nodes =
{
[ILA_ILA2SIR_NEXT_IP6_REWRITE] = "ip6-rewrite",
[ILA_ILA2SIR_NEXT_DROP] = "error-drop"}
,}
static char * ila_error_strings[]
Definition: ila.c:36
u8 * format_ila_ila2sir_trace(u8 *s, va_list *args)
Definition: ila.c:156
static uword ila_ila2sir(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: ila.c:243
unsigned int u32
Definition: types.h:88

(constructor) VLIB_REGISTER_NODE (ila_ila2sir_node)

Definition at line 240 of file ila.c.

vlib_cli_command_t ila_interface_command
static
Initial value:
=
{
.path = "ila interface",.short_help =
"ila interface <interface-name> [disable]",.function =
static clib_error_t * ila_interface_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: ila.c:969

(constructor) VLIB_CLI_COMMAND (ila_interface_command)

Definition at line 993 of file ila.c.

ila_main_t ila_main
static

Definition at line 20 of file ila.c.

vlib_cli_command_t ila_show_entries_command
static
Initial value:
=
{
.path = "show ila entries",.short_help = "show ila entries",.function =
static clib_error_t * ila_show_entries_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: ila.c:1000

(constructor) VLIB_CLI_COMMAND (ila_show_entries_command)

Definition at line 1018 of file ila.c.

ila_entry_t ila_sir2ila_default_entry
static
Initial value:
= {
.csum_mode = ILA_CSUM_MODE_NO_ACTION,
.type = ILA_TYPE_IID,
.dir = ILA_DIR_ILA2SIR,
}

Definition at line 56 of file ila.c.

static vlib_node_registration_t ila_sir2ila_node
static
Initial value:
=
{
.function = ila_sir2ila,.name = "sir-to-ila",.vector_size =
sizeof (u32),.format_trace = format_ila_sir2ila_trace,.n_errors =
ILA_N_ERROR,.error_strings = ila_error_strings,.n_next_nodes =
ILA_SIR2ILA_N_NEXT,.next_nodes =
{
[ILA_SIR2ILA_NEXT_DROP] = "error-drop"}
,}
u8 * format_ila_sir2ila_trace(u8 *s, va_list *args)
Definition: ila.c:413
static char * ila_error_strings[]
Definition: ila.c:36
unsigned int u32
Definition: types.h:88
static uword ila_sir2ila(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: ila.c:426

(constructor) VLIB_REGISTER_NODE (ila_sir2ila_node)

Definition at line 423 of file ila.c.