FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
lisp_gpe_adjacency.h File Reference

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

+ Include dependency graph for lisp_gpe_adjacency.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  lisp_gpe_adjacency_t_
 A LISP GPE Adjacency. More...
 

Typedefs

typedef struct lisp_gpe_adjacency_t_ lisp_gpe_adjacency_t
 A LISP GPE Adjacency. More...
 
typedef enum lisp_gpe_adjacency_format_flags_t_ lisp_gpe_adjacency_format_flags_t
 Flags for displaying the adjacency. More...
 

Enumerations

enum  lisp_gpe_adjacency_format_flags_t_ { LISP_GPE_ADJ_FORMAT_FLAG_NONE, LISP_GPE_ADJ_FORMAT_FLAG_DETAIL }
 Flags for displaying the adjacency. More...
 

Functions

index_t lisp_gpe_adjacency_find_or_create_and_lock (const locator_pair_t *pair, u32 rloc_fib_index, u32 vni)
 
void lisp_gpe_adjacency_unlock (index_t l3si)
 
const lisp_gpe_adjacency_tlisp_gpe_adjacency_get (index_t l3si)
 
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. More...
 
u8lisp_gpe_build_rewrite (vnet_main_t *vnm, u32 sw_if_index, vnet_link_t link_type, const void *dst_address)
 
u8format_lisp_gpe_adjacency (u8 *s, va_list *args)
 

Detailed Description

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

Definition in file lisp_gpe_adjacency.h.

Typedef Documentation

◆ lisp_gpe_adjacency_format_flags_t

Flags for displaying the adjacency.

◆ lisp_gpe_adjacency_t

A LISP GPE Adjacency.

A adjacency represents peer on an L3 sub-interface to which to send traffic. adjacencies are thus present in the EID space. The peer is identified by the key:{remote-rloc, sub-interface}, which is equivalent to the usal adjacency key {next-hop, interface}. So curiously the rloc address from the underlay is used as a next hop address in the overlay This is OK because: 1 - the RLOC is unique in the underlay AND there is only one underlay VRF per overlay 2 - the RLOC may overlap with an address in the overlay, but we do not create an adj-fib (i.e. a route in the overlay FIB for the rloc)

Enumeration Type Documentation

◆ lisp_gpe_adjacency_format_flags_t_

Flags for displaying the adjacency.

Enumerator
LISP_GPE_ADJ_FORMAT_FLAG_NONE 
LISP_GPE_ADJ_FORMAT_FLAG_DETAIL 

Definition at line 120 of file lisp_gpe_adjacency.h.

Function Documentation

◆ format_lisp_gpe_adjacency()

u8* format_lisp_gpe_adjacency ( u8 s,
va_list *  args 
)

Definition at line 508 of file lisp_gpe_adjacency.c.

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

◆ lisp_gpe_adjacency_find_or_create_and_lock()

index_t lisp_gpe_adjacency_find_or_create_and_lock ( const locator_pair_t pair,
u32  rloc_fib_index,
u32  vni 
)

Definition at line 342 of file lisp_gpe_adjacency.c.

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

◆ lisp_gpe_adjacency_get()

const lisp_gpe_adjacency_t* lisp_gpe_adjacency_get ( index_t  l3si)

Definition at line 465 of file lisp_gpe_adjacency.c.

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

◆ lisp_gpe_adjacency_unlock()

void lisp_gpe_adjacency_unlock ( index_t  l3si)

Definition at line 450 of file lisp_gpe_adjacency.c.

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

◆ lisp_gpe_build_rewrite()

u8* lisp_gpe_build_rewrite ( vnet_main_t vnm,
u32  sw_if_index,
vnet_link_t  link_type,
const void *  dst_address 
)

Definition at line 333 of file lisp_gpe_adjacency.c.

◆ lisp_gpe_update_adjacency()

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 296 of file lisp_gpe_adjacency.c.

+ Here is the call graph for this function: