FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
interface.c File Reference
+ Include dependency graph for interface.c:

Go to the source code of this file.

Functions

u8format_gre_tunnel_type (u8 *s, va_list *args)
 
static u8format_gre_tunnel (u8 *s, va_list *args)
 
static gre_tunnel_tgre_tunnel_db_find (const vnet_gre_tunnel_add_del_args_t *a, u32 outer_fib_index, gre_tunnel_key_t *key)
 
static void gre_tunnel_db_add (gre_tunnel_t *t, gre_tunnel_key_t *key)
 
static void gre_tunnel_db_remove (gre_tunnel_t *t, gre_tunnel_key_t *key)
 
void gre_tunnel_stack (adj_index_t ai)
 gre_tunnel_stack More...
 
static void mgre_tunnel_stack (adj_index_t ai)
 mgre_tunnel_stack More...
 
static adj_walk_rc_t gre_adj_walk_cb (adj_index_t ai, void *ctx)
 Call back when restacking all adjacencies on a GRE interface. More...
 
static adj_walk_rc_t mgre_adj_walk_cb (adj_index_t ai, void *ctx)
 
static void gre_tunnel_restack (gre_tunnel_t *gt)
 
static void gre_teib_mk_key (const gre_tunnel_t *t, const teib_entry_t *ne, gre_tunnel_key_t *key)
 
static void gre_teib_entry_added (const teib_entry_t *ne)
 An TEIB entry has been added. More...
 
static void gre_teib_entry_deleted (const teib_entry_t *ne)
 
static walk_rc_t gre_tunnel_delete_teib_walk (index_t nei, void *ctx)
 
static walk_rc_t gre_tunnel_add_teib_walk (index_t nei, void *ctx)
 
static int vnet_gre_tunnel_add (vnet_gre_tunnel_add_del_args_t *a, u32 outer_fib_index, u32 *sw_if_indexp)
 
static int vnet_gre_tunnel_delete (vnet_gre_tunnel_add_del_args_t *a, u32 outer_fib_index, u32 *sw_if_indexp)
 
int vnet_gre_tunnel_add_del (vnet_gre_tunnel_add_del_args_t *a, u32 *sw_if_indexp)
 
clib_error_tgre_interface_admin_up_down (vnet_main_t *vnm, u32 hw_if_index, u32 flags)
 
static clib_error_tcreate_gre_tunnel_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tshow_gre_tunnel_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
clib_error_tgre_interface_init (vlib_main_t *vm)
 

Variables

static vlib_cli_command_t create_gre_tunnel_command
 (constructor) VLIB_CLI_COMMAND (create_gre_tunnel_command) More...
 
static vlib_cli_command_t show_gre_tunnel_command
 (constructor) VLIB_CLI_COMMAND (show_gre_tunnel_command) More...
 
const static teib_vft_t gre_teib_vft
 

Function Documentation

◆ create_gre_tunnel_command_fn()

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

Definition at line 638 of file interface.c.

+ Here is the call graph for this function:

◆ format_gre_tunnel()

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

Definition at line 46 of file interface.c.

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

◆ format_gre_tunnel_type()

u8* format_gre_tunnel_type ( u8 s,
va_list *  args 
)

Definition at line 29 of file interface.c.

+ Here is the caller graph for this function:

◆ gre_adj_walk_cb()

static adj_walk_rc_t gre_adj_walk_cb ( adj_index_t  ai,
void *  ctx 
)
static

Call back when restacking all adjacencies on a GRE interface.

Definition at line 201 of file interface.c.

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

◆ gre_interface_admin_up_down()

clib_error_t* gre_interface_admin_up_down ( vnet_main_t vnm,
u32  hw_if_index,
u32  flags 
)

Definition at line 605 of file interface.c.

+ Here is the call graph for this function:

◆ gre_interface_init()

clib_error_t* gre_interface_init ( vlib_main_t vm)

Definition at line 829 of file interface.c.

+ Here is the call graph for this function:

◆ gre_teib_entry_added()

static void gre_teib_entry_added ( const teib_entry_t ne)
static

An TEIB entry has been added.

Definition at line 262 of file interface.c.

+ Here is the call graph for this function:

◆ gre_teib_entry_deleted()

static void gre_teib_entry_deleted ( const teib_entry_t ne)
static

Definition at line 306 of file interface.c.

+ Here is the call graph for this function:

◆ gre_teib_mk_key()

static void gre_teib_mk_key ( const gre_tunnel_t t,
const teib_entry_t ne,
gre_tunnel_key_t key 
)
static

Definition at line 238 of file interface.c.

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

◆ gre_tunnel_add_teib_walk()

static walk_rc_t gre_tunnel_add_teib_walk ( index_t  nei,
void *  ctx 
)
static

Definition at line 353 of file interface.c.

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

◆ gre_tunnel_db_add()

static void gre_tunnel_db_add ( gre_tunnel_t t,
gre_tunnel_key_t key 
)
static

Definition at line 95 of file interface.c.

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

◆ gre_tunnel_db_find()

static gre_tunnel_t* gre_tunnel_db_find ( const vnet_gre_tunnel_add_del_args_t a,
u32  outer_fib_index,
gre_tunnel_key_t key 
)
static

Definition at line 69 of file interface.c.

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

◆ gre_tunnel_db_remove()

static void gre_tunnel_db_remove ( gre_tunnel_t t,
gre_tunnel_key_t key 
)
static

Definition at line 110 of file interface.c.

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

◆ gre_tunnel_delete_teib_walk()

static walk_rc_t gre_tunnel_delete_teib_walk ( index_t  nei,
void *  ctx 
)
static

Definition at line 341 of file interface.c.

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

◆ gre_tunnel_restack()

static void gre_tunnel_restack ( gre_tunnel_t gt)
static

Definition at line 216 of file interface.c.

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

◆ gre_tunnel_stack()

void gre_tunnel_stack ( adj_index_t  ai)

gre_tunnel_stack

'stack' (resolve the recursion for) the tunnel's midchain adjacency

Definition at line 130 of file interface.c.

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

◆ mgre_adj_walk_cb()

static adj_walk_rc_t mgre_adj_walk_cb ( adj_index_t  ai,
void *  ctx 
)
static

Definition at line 208 of file interface.c.

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

◆ mgre_tunnel_stack()

static void mgre_tunnel_stack ( adj_index_t  ai)
static

mgre_tunnel_stack

'stack' (resolve the recursion for) the tunnel's midchain adjacency

Definition at line 164 of file interface.c.

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

◆ show_gre_tunnel_command_fn()

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

Definition at line 777 of file interface.c.

+ Here is the call graph for this function:

◆ vnet_gre_tunnel_add()

static int vnet_gre_tunnel_add ( vnet_gre_tunnel_add_del_args_t a,
u32  outer_fib_index,
u32 sw_if_indexp 
)
static

Definition at line 365 of file interface.c.

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

◆ vnet_gre_tunnel_add_del()

int vnet_gre_tunnel_add_del ( vnet_gre_tunnel_add_del_args_t a,
u32 sw_if_indexp 
)

Definition at line 580 of file interface.c.

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

◆ vnet_gre_tunnel_delete()

static int vnet_gre_tunnel_delete ( vnet_gre_tunnel_add_del_args_t a,
u32  outer_fib_index,
u32 sw_if_indexp 
)
static

Definition at line 525 of file interface.c.

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

Variable Documentation

◆ create_gre_tunnel_command

vlib_cli_command_t create_gre_tunnel_command
static
Initial value:
= {
.path = "create gre tunnel",
.short_help = "create gre tunnel src <addr> dst <addr> [instance <n>] "
"[outer-fib-id <fib>] [teb | erspan <session-id>] [del] "
"[multipoint]",
}

(constructor) VLIB_CLI_COMMAND (create_gre_tunnel_command)

Definition at line 767 of file interface.c.

◆ gre_teib_vft

const static teib_vft_t gre_teib_vft
static
Initial value:
= {
.nv_added = gre_teib_entry_added,
.nv_deleted = gre_teib_entry_deleted,
}

Definition at line 822 of file interface.c.

◆ show_gre_tunnel_command

vlib_cli_command_t show_gre_tunnel_command
static
Initial value:
= {
.path = "show gre tunnel",
}

(constructor) VLIB_CLI_COMMAND (show_gre_tunnel_command)

Definition at line 816 of file interface.c.

gre_teib_entry_deleted
static void gre_teib_entry_deleted(const teib_entry_t *ne)
Definition: interface.c:306
gre_teib_entry_added
static void gre_teib_entry_added(const teib_entry_t *ne)
An TEIB entry has been added.
Definition: interface.c:262
show_gre_tunnel_command_fn
static clib_error_t * show_gre_tunnel_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: interface.c:777
create_gre_tunnel_command_fn
static clib_error_t * create_gre_tunnel_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: interface.c:638