![]() |
FD.io VPP
v16.12-rc0-308-g931be3a
Vector Packet Processing
|
Common utility functions for IPv4, IPv6 and L2 LISP-GPE adjacencys. More...
Go to the source code of this file.
Macros | |
#define | LISP_ADJ_SET_KEY(_key, _itf, _nh) |
#define | is_v4_packet(_h) ((*(u8*) _h) & 0xF0) == 0x40 |
#define | LISP_ADJ_NBR_DEFAULT_HASH_NUM_BUCKETS (256) |
#define | LISP_ADJ_NBR_DEFAULT_HASH_MEMORY_SIZE (1<<20) |
Variables | |
static lisp_gpe_adjacency_t * | lisp_adj_pool |
Memory pool of all adjacencies. More... | |
static | lisp_adj_db |
Hash table of all adjacencies. More... | |
static const fib_node_vft_t | lisp_gpe_tuennel_vft |
static vlib_cli_command_t | show_lisp_gpe_tunnel_command |
(constructor) VLIB_CLI_COMMAND (show_lisp_gpe_tunnel_command) More... | |
Common utility functions for IPv4, IPv6 and L2 LISP-GPE adjacencys.
Definition in file lisp_gpe_adjacency.c.
#define is_v4_packet | ( | _h | ) | ((*(u8*) _h) & 0xF0) == 0x40 |
Definition at line 220 of file lisp_gpe_adjacency.c.
#define LISP_ADJ_NBR_DEFAULT_HASH_MEMORY_SIZE (1<<20) |
Definition at line 521 of file lisp_gpe_adjacency.c.
#define LISP_ADJ_NBR_DEFAULT_HASH_NUM_BUCKETS (256) |
Definition at line 520 of file lisp_gpe_adjacency.c.
#define LISP_ADJ_SET_KEY | ( | _key, | |
_itf, | |||
_nh | |||
) |
Definition at line 44 of file lisp_gpe_adjacency.c.
Definition at line 445 of file lisp_gpe_adjacency.c.
|
static |
Definition at line 111 of file lisp_gpe_adjacency.c.
Definition at line 51 of file lisp_gpe_adjacency.c.
Definition at line 68 of file lisp_gpe_adjacency.c.
|
static |
Definition at line 79 of file lisp_gpe_adjacency.c.
fib_forward_chain_type_t lisp_gpe_adj_get_fib_chain_type | ( | const lisp_gpe_adjacency_t * | ladj | ) |
|
static |
|
static |
|
static |
Definition at line 189 of file lisp_gpe_adjacency.c.
|
static |
Stack the tunnel's midchain on the IP forwarding chain of the via.
Definition at line 128 of file lisp_gpe_adjacency.c.
|
static |
Call back when restacking all adjacencies on a GRE interface.
Definition at line 179 of file lisp_gpe_adjacency.c.
|
static |
LISP GPE tunnel back walk.
The FIB entry through which this tunnel resolves has been updated. re-stack the midchain on the new forwarding.
Definition at line 415 of file lisp_gpe_adjacency.c.
index_t lisp_gpe_adjacency_find_or_create_and_lock | ( | const locator_pair_t * | pair, |
u32 | overlay_table_id, | ||
u32 | vni | ||
) |
Definition at line 279 of file lisp_gpe_adjacency.c.
|
static |
Get a pointer to a tunnel from a pointer to a FIB node.
Definition at line 355 of file lisp_gpe_adjacency.c.
const lisp_gpe_adjacency_t* lisp_gpe_adjacency_get | ( | index_t | lai | ) |
Definition at line 402 of file lisp_gpe_adjacency.c.
|
static |
Definition at line 424 of file lisp_gpe_adjacency.c.
|
static |
|
static |
|
static |
Definition at line 363 of file lisp_gpe_adjacency.c.
|
static |
void lisp_gpe_adjacency_unlock | ( | index_t | lai | ) |
Definition at line 387 of file lisp_gpe_adjacency.c.
u8* lisp_gpe_build_rewrite | ( | vnet_main_t * | vnm, |
u32 | sw_if_index, | ||
vnet_link_t | link_type, | ||
const void * | dst_address | ||
) |
|
static |
Definition at line 223 of file lisp_gpe_adjacency.c.
void lisp_gpe_update_adjacency | ( | vnet_main_t * | vnm, |
u32 | sw_if_index, | ||
adj_index_t | ai | ||
) |
The LISP-GPE interface registered function to update, i.e.
provide an rewrite string for, an adjacency.
Definition at line 235 of file lisp_gpe_adjacency.c.
|
static |
Hash table of all adjacencies.
key:{nh, itf} We never have an all zeros address since the interfaces are multi-access, therefore there is no ambiguity between a v4 and v6 next-hop, so we don't need to add the protocol to the key.
Definition at line 42 of file lisp_gpe_adjacency.c.
|
static |
Memory pool of all adjacencies.
Definition at line 32 of file lisp_gpe_adjacency.c.
|
static |
Definition at line 438 of file lisp_gpe_adjacency.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_lisp_gpe_tunnel_command)
Definition at line 513 of file lisp_gpe_adjacency.c.