FD.io VPP  v20.09-64-g4f7b92f0a
Vector Packet Processing
vtep.h File Reference
+ Include dependency graph for vtep.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  vtep_table_t
 
struct  vtep4_cache_t
 

Enumerations

enum  { VTEP_CHECK_FAIL = 0, VTEP_CHECK_PASS = 1, VTEP_CHECK_PASS_UNCHANGED = 2 }
 

Functions

typedef CLIB_PACKED (struct { union { struct { ip4_address_t addr;u32 fib_index;};u64 as_u64;};}) vtep4_key_t
 Tunnel endpoint key (IPv4) More...
 
typedef CLIB_PACKED (struct { ip6_address_t addr;u32 fib_index;}) vtep6_key_t
 Tunnel endpoint key (IPv6) More...
 
static vtep_table_t vtep_table_create ()
 
uword vtep_addr_ref (vtep_table_t *t, u32 fib_index, ip46_address_t *ip)
 
uword vtep_addr_unref (vtep_table_t *t, u32 fib_index, ip46_address_t *ip)
 
static void vtep4_key_init (vtep4_key_t *k4)
 
static void vtep6_key_init (vtep6_key_t *k6)
 
static u8 vtep4_check (vtep_table_t *t, vlib_buffer_t *b0, ip4_header_t *ip40, vtep4_key_t *last_k4)
 
static u8 vtep4_check_vector (vtep_table_t *t, vlib_buffer_t *b0, ip4_header_t *ip40, vtep4_key_t *last_k4, vtep4_cache_t *vtep4_u512)
 
static u8 vtep6_check (vtep_table_t *t, vlib_buffer_t *b0, ip6_header_t *ip60, vtep6_key_t *last_k6)
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
VTEP_CHECK_FAIL 
VTEP_CHECK_PASS 
VTEP_CHECK_PASS_UNCHANGED 

Definition at line 93 of file vtep.h.

Function Documentation

◆ CLIB_PACKED() [1/2]

typedef CLIB_PACKED ( struct { union { struct { ip4_address_t addr;u32 fib_index;};u64 as_u64;};}  )

Tunnel endpoint key (IPv4)

Tunnel modules maintain a set of vtep4_key_t-s to track local IP addresses that have tunnels established. Bypass node consults the corresponding set to decide whether a packet should bypass normal processing and go directly to the tunnel protocol handler node.

◆ CLIB_PACKED() [2/2]

typedef CLIB_PACKED ( struct { ip6_address_t addr;u32 fib_index;}  )

Tunnel endpoint key (IPv6)

Tunnel modules maintain a set of vtep6_key_t-s to track local IP addresses that have tunnels established. Bypass node consults the corresponding set to decide whether a packet should bypass normal processing and go directly to the tunnel protocol handler node.

◆ vtep4_check()

static u8 vtep4_check ( vtep_table_t t,
vlib_buffer_t b0,
ip4_header_t ip40,
vtep4_key_t *  last_k4 
)
inlinestatic

Definition at line 101 of file vtep.h.

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

◆ vtep4_check_vector()

static u8 vtep4_check_vector ( vtep_table_t t,
vlib_buffer_t b0,
ip4_header_t ip40,
vtep4_key_t *  last_k4,
vtep4_cache_t vtep4_u512 
)
inlinestatic

Definition at line 122 of file vtep.h.

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

◆ vtep4_key_init()

static void vtep4_key_init ( vtep4_key_t *  k4)
inlinestatic

Definition at line 81 of file vtep.h.

+ Here is the caller graph for this function:

◆ vtep6_check()

static u8 vtep6_check ( vtep_table_t t,
vlib_buffer_t b0,
ip6_header_t ip60,
vtep6_key_t *  last_k6 
)
inlinestatic

Definition at line 158 of file vtep.h.

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

◆ vtep6_key_init()

static void vtep6_key_init ( vtep6_key_t *  k6)
inlinestatic

Definition at line 87 of file vtep.h.

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

◆ vtep_addr_ref()

uword vtep_addr_ref ( vtep_table_t t,
u32  fib_index,
ip46_address_t *  ip 
)

Definition at line 19 of file vtep.c.

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

◆ vtep_addr_unref()

uword vtep_addr_unref ( vtep_table_t t,
u32  fib_index,
ip46_address_t *  ip 
)

Definition at line 34 of file vtep.c.

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

◆ vtep_table_create()

static vtep_table_t vtep_table_create ( )
inlinestatic

Definition at line 70 of file vtep.h.

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