FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
bier_disp_entry.c File Reference
+ Include dependency graph for bier_disp_entry.c:

Go to the source code of this file.

Data Structures

struct  bier_disp_entry_path_list_walk_ctx_t_
 

Macros

#define BIER_DISP_ENTRY_ID_HLEN_SHIFT   24
 When constructing the BIER imp ID from an index and BSL, shift the BSL this far. More...
 

Typedefs

typedef struct bier_disp_entry_path_list_walk_ctx_t_ bier_disp_entry_path_list_walk_ctx_t
 

Functions

static void bier_disp_entry_lock_i (bier_disp_entry_t *bde)
 
void bier_disp_entry_lock (index_t bdei)
 
static index_t bier_disp_entry_get_index (bier_disp_entry_t *bde)
 
index_t bier_disp_entry_add_or_lock (void)
 
void bier_disp_entry_unlock (index_t bdei)
 
static fib_path_list_walk_rc_t bier_disp_entry_path_list_walk (fib_node_index_t pl_index, fib_node_index_t path_index, void *arg)
 
static void bier_disp_entry_restack (bier_disp_entry_t *bde, bier_hdr_proto_id_t pproto)
 
void bier_disp_entry_path_add (index_t bdei, bier_hdr_proto_id_t pproto, const fib_route_path_t *rpaths)
 
int bier_disp_entry_path_remove (index_t bdei, bier_hdr_proto_id_t pproto, const fib_route_path_t *rpaths)
 
u8format_bier_disp_entry (u8 *s, va_list *args)
 
void bier_disp_entry_contribute_forwarding (index_t bdei, dpo_id_t *dpo)
 
static void bier_disp_entry_dpo_lock (dpo_id_t *dpo)
 
static void bier_disp_entry_dpo_unlock (dpo_id_t *dpo)
 
static void bier_disp_entry_dpo_mem_show (void)
 
static u8format_bier_disp_entry_dpo (u8 *s, va_list *ap)
 
clib_error_tbier_disp_entry_db_module_init (vlib_main_t *vm)
 
static clib_error_tshow_bier_disp_entry (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 

Variables

bier_disp_entry_tbier_disp_entry_pool
 bier_disposition : The BIER disposition object More...
 
const static char *const bier_disp_entry_bier_nodes []
 
const static char *const *const bier_disp_entry_nodes [DPO_PROTO_NUM]
 
const static dpo_vft_t bier_disp_entry_vft
 
static vlib_cli_command_t show_bier_disp_entry_node
 (constructor) VLIB_CLI_COMMAND (show_bier_disp_entry_node) More...
 

Macro Definition Documentation

◆ BIER_DISP_ENTRY_ID_HLEN_SHIFT

#define BIER_DISP_ENTRY_ID_HLEN_SHIFT   24

When constructing the BIER imp ID from an index and BSL, shift the BSL this far.

Definition at line 38 of file bier_disp_entry.c.

Typedef Documentation

◆ bier_disp_entry_path_list_walk_ctx_t

Function Documentation

◆ bier_disp_entry_add_or_lock()

index_t bier_disp_entry_add_or_lock ( void  )

Definition at line 59 of file bier_disp_entry.c.

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

◆ bier_disp_entry_contribute_forwarding()

void bier_disp_entry_contribute_forwarding ( index_t  bdei,
dpo_id_t dpo 
)

Definition at line 286 of file bier_disp_entry.c.

+ Here is the call graph for this function:

◆ bier_disp_entry_db_module_init()

clib_error_t* bier_disp_entry_db_module_init ( vlib_main_t vm)

Definition at line 343 of file bier_disp_entry.c.

+ Here is the call graph for this function:

◆ bier_disp_entry_dpo_lock()

static void bier_disp_entry_dpo_lock ( dpo_id_t dpo)
static

Definition at line 304 of file bier_disp_entry.c.

+ Here is the call graph for this function:

◆ bier_disp_entry_dpo_mem_show()

static void bier_disp_entry_dpo_mem_show ( void  )
static

Definition at line 316 of file bier_disp_entry.c.

+ Here is the call graph for this function:

◆ bier_disp_entry_dpo_unlock()

static void bier_disp_entry_dpo_unlock ( dpo_id_t dpo)
static

Definition at line 310 of file bier_disp_entry.c.

+ Here is the call graph for this function:

◆ bier_disp_entry_get_index()

static index_t bier_disp_entry_get_index ( bier_disp_entry_t bde)
static

Definition at line 53 of file bier_disp_entry.c.

+ Here is the caller graph for this function:

◆ bier_disp_entry_lock()

void bier_disp_entry_lock ( index_t  bdei)

Definition at line 47 of file bier_disp_entry.c.

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

◆ bier_disp_entry_lock_i()

static void bier_disp_entry_lock_i ( bier_disp_entry_t bde)
static

Definition at line 41 of file bier_disp_entry.c.

+ Here is the caller graph for this function:

◆ bier_disp_entry_path_add()

void bier_disp_entry_path_add ( index_t  bdei,
bier_hdr_proto_id_t  pproto,
const fib_route_path_t rpaths 
)

Definition at line 166 of file bier_disp_entry.c.

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

◆ bier_disp_entry_path_list_walk()

static fib_path_list_walk_rc_t bier_disp_entry_path_list_walk ( fib_node_index_t  pl_index,
fib_node_index_t  path_index,
void *  arg 
)
static

Definition at line 114 of file bier_disp_entry.c.

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

◆ bier_disp_entry_path_remove()

int bier_disp_entry_path_remove ( index_t  bdei,
bier_hdr_proto_id_t  pproto,
const fib_route_path_t rpaths 
)

Definition at line 202 of file bier_disp_entry.c.

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

◆ bier_disp_entry_restack()

static void bier_disp_entry_restack ( bier_disp_entry_t bde,
bier_hdr_proto_id_t  pproto 
)
static

Definition at line 130 of file bier_disp_entry.c.

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

◆ bier_disp_entry_unlock()

void bier_disp_entry_unlock ( index_t  bdei)

Definition at line 81 of file bier_disp_entry.c.

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

◆ format_bier_disp_entry()

u8* format_bier_disp_entry ( u8 s,
va_list *  args 
)

Definition at line 248 of file bier_disp_entry.c.

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

◆ format_bier_disp_entry_dpo()

static u8* format_bier_disp_entry_dpo ( u8 s,
va_list *  ap 
)
static

Definition at line 325 of file bier_disp_entry.c.

+ Here is the call graph for this function:

◆ show_bier_disp_entry()

static clib_error_t* show_bier_disp_entry ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 355 of file bier_disp_entry.c.

+ Here is the call graph for this function:

Variable Documentation

◆ bier_disp_entry_bier_nodes

const static char* const bier_disp_entry_bier_nodes[]
static
Initial value:
=
{
"bier-disp-dispatch",
NULL,
}

Definition at line 292 of file bier_disp_entry.c.

◆ bier_disp_entry_nodes

const static char* const * const bier_disp_entry_nodes[DPO_PROTO_NUM]
static
Initial value:

Definition at line 298 of file bier_disp_entry.c.

◆ bier_disp_entry_pool

bier_disp_entry_t* bier_disp_entry_pool

bier_disposition : The BIER disposition object

A BIER disposition object is present in the IP mcast output list and represents the disposition of a BIER bitmask. After BIER header disposition the packet is forward within the appropriate/specified BIER table The memory pool of all imp objects

Definition at line 32 of file bier_disp_entry.c.

◆ bier_disp_entry_vft

const static dpo_vft_t bier_disp_entry_vft
static
Initial value:

Definition at line 335 of file bier_disp_entry.c.

◆ show_bier_disp_entry_node

vlib_cli_command_t show_bier_disp_entry_node
static
Initial value:
= {
.path = "show bier disp entry",
.short_help = "show bier disp entry index",
.function = show_bier_disp_entry,
}

(constructor) VLIB_CLI_COMMAND (show_bier_disp_entry_node)

Definition at line 391 of file bier_disp_entry.c.

DPO_PROTO_BIER
@ DPO_PROTO_BIER
Definition: dpo.h:68
format_bier_disp_entry_dpo
static u8 * format_bier_disp_entry_dpo(u8 *s, va_list *ap)
Definition: bier_disp_entry.c:325
bier_disp_entry_dpo_unlock
static void bier_disp_entry_dpo_unlock(dpo_id_t *dpo)
Definition: bier_disp_entry.c:310
bier_disp_entry_bier_nodes
const static char *const bier_disp_entry_bier_nodes[]
Definition: bier_disp_entry.c:292
bier_disp_entry_dpo_lock
static void bier_disp_entry_dpo_lock(dpo_id_t *dpo)
Definition: bier_disp_entry.c:304
show_bier_disp_entry
static clib_error_t * show_bier_disp_entry(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: bier_disp_entry.c:355
bier_disp_entry_dpo_mem_show
static void bier_disp_entry_dpo_mem_show(void)
Definition: bier_disp_entry.c:316