FD.io VPP  v19.01.3-6-g70449b9b9
Vector Packet Processing
lisp_gpe_tunnel.c File Reference

Common utility functions for IPv4, IPv6 and L2 LISP-GPE tunnels. More...

+ Include dependency graph for lisp_gpe_tunnel.c:

Go to the source code of this file.

Functions

u8lisp_gpe_tunnel_build_rewrite (const lisp_gpe_tunnel_t *lgt, const lisp_gpe_adjacency_t *ladj, lisp_gpe_next_protocol_e payload_proto)
 Compute IP-UDP-GPE sub-tunnel encap/rewrite header. More...
 
static lisp_gpe_tunnel_tlisp_gpe_tunnel_db_find (const lisp_gpe_tunnel_key_t *key)
 
lisp_gpe_tunnel_tlisp_gpe_tunnel_get_i (index_t lgti)
 
index_t lisp_gpe_tunnel_find_or_create_and_lock (const locator_pair_t *pair, u32 rloc_fib_index)
 
void lisp_gpe_tunnel_unlock (index_t lgti)
 
const lisp_gpe_tunnel_tlisp_gpe_tunnel_get (index_t lgti)
 
u8format_lisp_gpe_tunnel (u8 *s, va_list *args)
 Format LISP-GPE tunnel. More...
 
static clib_error_tshow_lisp_gpe_tunnel_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 CLI command to show LISP-GPE tunnels. More...
 
static clib_error_tlisp_gpe_tunnel_module_init (vlib_main_t *vm)
 

Variables

static lisp_gpe_tunnel_tlisp_gpe_tunnel_pool
 Pool of all LISP tunnels. More...
 
static uwordlisp_gpe_tunnel_db
 a DB of all tunnels More...
 
static vlib_cli_command_t show_lisp_gpe_tunnel_command
 (constructor) VLIB_CLI_COMMAND (show_lisp_gpe_tunnel_command) More...
 

Detailed Description

Common utility functions for IPv4, IPv6 and L2 LISP-GPE tunnels.

Definition in file lisp_gpe_tunnel.c.

Function Documentation

◆ format_lisp_gpe_tunnel()

u8* format_lisp_gpe_tunnel ( u8 s,
va_list *  args 
)

Format LISP-GPE tunnel.

Definition at line 217 of file lisp_gpe_tunnel.c.

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

◆ lisp_gpe_tunnel_build_rewrite()

u8* lisp_gpe_tunnel_build_rewrite ( const lisp_gpe_tunnel_t lgt,
const lisp_gpe_adjacency_t ladj,
lisp_gpe_next_protocol_e  payload_proto 
)

Compute IP-UDP-GPE sub-tunnel encap/rewrite header.

Parameters
[in]tParent of the sub-tunnel.
[in]stSub-tunnel.
[in]lpLocal and remote locators used in the encap header.
Returns
0 on success.

Definition at line 46 of file lisp_gpe_tunnel.c.

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

◆ lisp_gpe_tunnel_db_find()

static lisp_gpe_tunnel_t* lisp_gpe_tunnel_db_find ( const lisp_gpe_tunnel_key_t key)
static

Definition at line 128 of file lisp_gpe_tunnel.c.

+ Here is the caller graph for this function:

◆ lisp_gpe_tunnel_find_or_create_and_lock()

index_t lisp_gpe_tunnel_find_or_create_and_lock ( const locator_pair_t pair,
u32  rloc_fib_index 
)

Definition at line 148 of file lisp_gpe_tunnel.c.

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

◆ lisp_gpe_tunnel_get()

const lisp_gpe_tunnel_t* lisp_gpe_tunnel_get ( index_t  lgti)

Definition at line 210 of file lisp_gpe_tunnel.c.

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

◆ lisp_gpe_tunnel_get_i()

lisp_gpe_tunnel_t* lisp_gpe_tunnel_get_i ( index_t  lgti)

Definition at line 142 of file lisp_gpe_tunnel.c.

+ Here is the caller graph for this function:

◆ lisp_gpe_tunnel_module_init()

static clib_error_t* lisp_gpe_tunnel_module_init ( vlib_main_t vm)
static

Definition at line 276 of file lisp_gpe_tunnel.c.

◆ lisp_gpe_tunnel_unlock()

void lisp_gpe_tunnel_unlock ( index_t  lgti)

Definition at line 194 of file lisp_gpe_tunnel.c.

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

◆ show_lisp_gpe_tunnel_command_fn()

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

CLI command to show LISP-GPE tunnels.

Definition at line 239 of file lisp_gpe_tunnel.c.

+ Here is the call graph for this function:

Variable Documentation

◆ lisp_gpe_tunnel_db

uword* lisp_gpe_tunnel_db
static

a DB of all tunnels

Definition at line 34 of file lisp_gpe_tunnel.c.

◆ lisp_gpe_tunnel_pool

lisp_gpe_tunnel_t* lisp_gpe_tunnel_pool
static

Pool of all LISP tunnels.

Definition at line 29 of file lisp_gpe_tunnel.c.

◆ show_lisp_gpe_tunnel_command

vlib_cli_command_t show_lisp_gpe_tunnel_command
static
Initial value:
=
{
.path = "show gpe tunnel",
}
static clib_error_t * show_lisp_gpe_tunnel_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
CLI command to show LISP-GPE tunnels.

(constructor) VLIB_CLI_COMMAND (show_lisp_gpe_tunnel_command)

Definition at line 268 of file lisp_gpe_tunnel.c.