FD.io VPP  v20.01-48-g3e0dafb74
Vector Packet Processing
nhrp.h File Reference
+ Include dependency graph for nhrp.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  nhrp_vft_t_
 

Typedefs

typedef struct nhrp_entry_t_ nhrp_entry_t
 An NHRP entry represents the mapping between a peer on an interface in the overlay and a next-hop address in the underlay. More...
 
typedef walk_rc_t(* nhrp_walk_cb_t) (index_t nei, void *ctx)
 
typedef void(* nhrp_entry_added_t) (const nhrp_entry_t *ne)
 Notifications for the creation and deletion of NHRP entries. More...
 
typedef void(* nhrp_entry_deleted_t) (const nhrp_entry_t *ne)
 
typedef struct nhrp_vft_t_ nhrp_vft_t
 

Functions

u32 nhrp_entry_get_sw_if_index (const nhrp_entry_t *ne)
 accessors for the opaque struct More...
 
u32 nhrp_entry_get_fib_index (const nhrp_entry_t *ne)
 
const ip46_address_t * nhrp_entry_get_peer (const nhrp_entry_t *ne)
 
const fib_prefix_tnhrp_entry_get_nh (const nhrp_entry_t *ne)
 
u8format_nhrp_entry (u8 *s, va_list *args)
 
int nhrp_entry_add (u32 sw_if_index, const ip46_address_t *peer, u32 nh_table_id, const ip46_address_t *nh)
 Create a new NHRP entry. More...
 
int nhrp_entry_del (u32 sw_if_index, const ip46_address_t *peer)
 
nhrp_entry_tnhrp_entry_find (u32 sw_if_index, const ip46_address_t *peer)
 
nhrp_entry_tnhrp_entry_get (index_t nei)
 
void nhrp_entry_adj_stack (const nhrp_entry_t *ne, adj_index_t ai)
 
void nhrp_walk (nhrp_walk_cb_t fn, void *ctx)
 
void nhrp_walk_itf (u32 sw_if_index, nhrp_walk_cb_t fn, void *ctx)
 
void nhrp_register (const nhrp_vft_t *vft)
 

Typedef Documentation

◆ nhrp_entry_added_t

typedef void(* nhrp_entry_added_t) (const nhrp_entry_t *ne)

Notifications for the creation and deletion of NHRP entries.

Definition at line 62 of file nhrp.h.

◆ nhrp_entry_deleted_t

typedef void(* nhrp_entry_deleted_t) (const nhrp_entry_t *ne)

Definition at line 63 of file nhrp.h.

◆ nhrp_entry_t

typedef struct nhrp_entry_t_ nhrp_entry_t

An NHRP entry represents the mapping between a peer on an interface in the overlay and a next-hop address in the underlay.

i.e. there's a multipoint tunnel providing the overlay (henace a peer on that tunnel) which is reachable via 'tunnel destination' address in the underlay.

Definition at line 30 of file nhrp.h.

◆ nhrp_vft_t

typedef struct nhrp_vft_t_ nhrp_vft_t

◆ nhrp_walk_cb_t

typedef walk_rc_t(* nhrp_walk_cb_t) (index_t nei, void *ctx)

Definition at line 54 of file nhrp.h.

Function Documentation

◆ format_nhrp_entry()

u8* format_nhrp_entry ( u8 s,
va_list *  args 
)

Definition at line 199 of file nhrp.c.

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

◆ nhrp_entry_add()

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

Create a new NHRP entry.

Definition at line 119 of file nhrp.c.

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

◆ nhrp_entry_adj_stack()

void nhrp_entry_adj_stack ( const nhrp_entry_t ne,
adj_index_t  ai 
)

Definition at line 74 of file nhrp.c.

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

◆ nhrp_entry_del()

int nhrp_entry_del ( u32  sw_if_index,
const ip46_address_t *  peer 
)

Definition at line 173 of file nhrp.c.

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

◆ nhrp_entry_find()

nhrp_entry_t* nhrp_entry_find ( u32  sw_if_index,
const ip46_address_t *  peer 
)

Definition at line 102 of file nhrp.c.

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

◆ nhrp_entry_get()

nhrp_entry_t* nhrp_entry_get ( index_t  nei)

Definition at line 96 of file nhrp.c.

+ Here is the caller graph for this function:

◆ nhrp_entry_get_fib_index()

u32 nhrp_entry_get_fib_index ( const nhrp_entry_t ne)

Definition at line 56 of file nhrp.c.

+ Here is the caller graph for this function:

◆ nhrp_entry_get_nh()

const fib_prefix_t* nhrp_entry_get_nh ( const nhrp_entry_t ne)

Definition at line 68 of file nhrp.c.

+ Here is the caller graph for this function:

◆ nhrp_entry_get_peer()

const ip46_address_t* nhrp_entry_get_peer ( const nhrp_entry_t ne)

Definition at line 62 of file nhrp.c.

+ Here is the caller graph for this function:

◆ nhrp_entry_get_sw_if_index()

u32 nhrp_entry_get_sw_if_index ( const nhrp_entry_t ne)

accessors for the opaque struct

Definition at line 50 of file nhrp.c.

+ Here is the caller graph for this function:

◆ nhrp_register()

void nhrp_register ( const nhrp_vft_t vft)

Definition at line 247 of file nhrp.c.

+ Here is the caller graph for this function:

◆ nhrp_walk()

void nhrp_walk ( nhrp_walk_cb_t  fn,
void *  ctx 
)

Definition at line 220 of file nhrp.c.

+ Here is the caller graph for this function:

◆ nhrp_walk_itf()

void nhrp_walk_itf ( u32  sw_if_index,
nhrp_walk_cb_t  fn,
void *  ctx 
)

Definition at line 233 of file nhrp.c.

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