FD.io VPP  v20.05-21-gb1500e9ff
Vector Packet Processing
teib.c File Reference
+ Include dependency graph for teib.c:

Go to the source code of this file.

Data Structures

struct  teib_key_t_
 
struct  teib_entry_t_
 

Macros

#define TEIB_NOTIFY(_te, _fn)
 

Typedefs

typedef struct teib_key_t_ teib_key_t
 

Functions

u32 teib_entry_get_sw_if_index (const teib_entry_t *te)
 accessors for the opaque struct More...
 
u32 teib_entry_get_fib_index (const teib_entry_t *te)
 
const ip46_address_t * teib_entry_get_peer (const teib_entry_t *te)
 
const fib_prefix_tteib_entry_get_nh (const teib_entry_t *te)
 
void teib_entry_adj_stack (const teib_entry_t *te, adj_index_t ai)
 
teib_entry_tteib_entry_get (index_t tei)
 
teib_entry_tteib_entry_find (u32 sw_if_index, const ip46_address_t *peer)
 
int teib_entry_add (u32 sw_if_index, const ip46_address_t *peer, u32 nh_table_id, const ip46_address_t *nh)
 Create a new TEIB entry. More...
 
int teib_entry_del (u32 sw_if_index, const ip46_address_t *peer)
 
u8format_teib_entry (u8 *s, va_list *args)
 
void teib_walk (teib_walk_cb_t fn, void *ctx)
 
void teib_walk_itf (u32 sw_if_index, teib_walk_cb_t fn, void *ctx)
 
void teib_register (const teib_vft_t *vft)
 
static clib_error_tteib_init (vlib_main_t *vm)
 

Variables

static uwordteib_db
 
static teib_entry_tteib_pool
 
static teib_vft_tteib_vfts
 

Macro Definition Documentation

◆ TEIB_NOTIFY

#define TEIB_NOTIFY (   _te,
  _fn 
)
Value:
{ \
teib_vft_t *_vft; \
vec_foreach(_vft, teib_vfts) { \
if (_vft->_fn) { \
_vft->_fn(_te); \
} \
} \
}
static teib_vft_t * teib_vfts
Definition: teib.c:38

Definition at line 40 of file teib.c.

Typedef Documentation

◆ teib_key_t

typedef struct teib_key_t_ teib_key_t

Function Documentation

◆ format_teib_entry()

u8* format_teib_entry ( u8 s,
va_list *  args 
)

Definition at line 175 of file teib.c.

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

◆ teib_entry_add()

int teib_entry_add ( u32  sw_if_index,
const ip46_address_t *  peer,
u32  nh_table_id,
const ip46_address_t *  nh 
)

Create a new TEIB entry.

Definition at line 103 of file teib.c.

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

◆ teib_entry_adj_stack()

void teib_entry_adj_stack ( const teib_entry_t te,
adj_index_t  ai 
)

Definition at line 74 of file teib.c.

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

◆ teib_entry_del()

int teib_entry_del ( u32  sw_if_index,
const ip46_address_t *  peer 
)

Definition at line 153 of file teib.c.

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

◆ teib_entry_find()

teib_entry_t* teib_entry_find ( u32  sw_if_index,
const ip46_address_t *  peer 
)

Definition at line 86 of file teib.c.

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

◆ teib_entry_get()

teib_entry_t* teib_entry_get ( index_t  tei)

Definition at line 80 of file teib.c.

+ Here is the caller graph for this function:

◆ teib_entry_get_fib_index()

u32 teib_entry_get_fib_index ( const teib_entry_t te)

Definition at line 56 of file teib.c.

+ Here is the caller graph for this function:

◆ teib_entry_get_nh()

const fib_prefix_t* teib_entry_get_nh ( const teib_entry_t te)

Definition at line 68 of file teib.c.

+ Here is the caller graph for this function:

◆ teib_entry_get_peer()

const ip46_address_t* teib_entry_get_peer ( const teib_entry_t te)

Definition at line 62 of file teib.c.

+ Here is the caller graph for this function:

◆ teib_entry_get_sw_if_index()

u32 teib_entry_get_sw_if_index ( const teib_entry_t te)

accessors for the opaque struct

Definition at line 50 of file teib.c.

+ Here is the caller graph for this function:

◆ teib_init()

static clib_error_t* teib_init ( vlib_main_t vm)
static

Definition at line 229 of file teib.c.

◆ teib_register()

void teib_register ( const teib_vft_t vft)

Definition at line 223 of file teib.c.

+ Here is the caller graph for this function:

◆ teib_walk()

void teib_walk ( teib_walk_cb_t  fn,
void *  ctx 
)

Definition at line 196 of file teib.c.

+ Here is the caller graph for this function:

◆ teib_walk_itf()

void teib_walk_itf ( u32  sw_if_index,
teib_walk_cb_t  fn,
void *  ctx 
)

Definition at line 209 of file teib.c.

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

Variable Documentation

◆ teib_db

uword* teib_db
static

Definition at line 36 of file teib.c.

◆ teib_pool

teib_entry_t* teib_pool
static

Definition at line 37 of file teib.c.

◆ teib_vfts

teib_vft_t* teib_vfts
static

Definition at line 38 of file teib.c.