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

Go to the source code of this file.

Functions

static index_t bier_fmask_get_index (const bier_fmask_t *bfm)
 
static void bier_fmask_bits_init (bier_fmask_bits_t *bits, bier_hdr_len_id_t hlid)
 
static void bier_fmask_stack (bier_fmask_t *bfm)
 
void bier_fmask_contribute_forwarding (index_t bfmi, dpo_id_t *dpo)
 
u32 bier_fmask_child_add (fib_node_index_t bfmi, fib_node_type_t child_type, fib_node_index_t child_index)
 
void bier_fmask_child_remove (fib_node_index_t bfmi, u32 sibling_index)
 
static void bier_fmask_init (bier_fmask_t *bfm, const bier_fmask_id_t *fmid, const fib_route_path_t *rpath)
 
static void bier_fmask_destroy (bier_fmask_t *bfm)
 
void bier_fmask_unlock (index_t bfmi)
 
void bier_fmask_lock (index_t bfmi)
 
index_t bier_fmask_create_and_lock (const bier_fmask_id_t *fmid, const fib_route_path_t *rpath)
 
void bier_fmask_link (index_t bfmi, bier_bp_t bp)
 
void bier_fmask_unlink (index_t bfmi, bier_bp_t bp)
 
u8format_bier_fmask (u8 *s, va_list *ap)
 
void bier_fmask_get_stats (index_t bfmi, u64 *packets, u64 *bytes)
 
void bier_fmask_encode (index_t bfmi, bier_table_id_t *btid, fib_route_path_t *rpath)
 
static fib_node_tbier_fmask_get_node (fib_node_index_t index)
 
static bier_fmask_tbier_fmask_get_from_node (fib_node_t *node)
 
static void bier_fmask_last_lock_gone (fib_node_t *node)
 
static fib_node_back_walk_rc_t bier_fmask_back_walk_notify (fib_node_t *node, fib_node_back_walk_ctx_t *ctx)
 
static void bier_fmask_dpo_lock (dpo_id_t *dpo)
 
static void bier_fmask_dpo_unlock (dpo_id_t *dpo)
 
static void bier_fmask_dpo_mem_show (void)
 
clib_error_tbier_fmask_module_init (vlib_main_t *vm)
 
static clib_error_tbier_fmask_show (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 

Variables

static const char *const bier_fmask_attr_names [] = BIER_FMASK_ATTR_NAMES
 
bier_fmask_tbier_fmask_pool
 
vlib_combined_counter_main_t bier_fmask_counters
 Stats for each BIER fmask object. More...
 
static const fib_node_vft_t bier_fmask_vft
 
const static dpo_vft_t bier_fmask_dpo_vft
 
const static char *const bier_fmask_mpls_nodes []
 
const static char *const *const bier_fmask_nodes [DPO_PROTO_NUM]
 
static vlib_cli_command_t show_bier_fmask
 (constructor) VLIB_CLI_COMMAND (show_bier_fmask) More...
 

Function Documentation

◆ bier_fmask_back_walk_notify()

static fib_node_back_walk_rc_t bier_fmask_back_walk_notify ( fib_node_t node,
fib_node_back_walk_ctx_t ctx 
)
static

Definition at line 461 of file bier_fmask.c.

+ Here is the call graph for this function:

◆ bier_fmask_bits_init()

static void bier_fmask_bits_init ( bier_fmask_bits_t bits,
bier_hdr_len_id_t  hlid 
)
static

Definition at line 52 of file bier_fmask.c.

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

◆ bier_fmask_child_add()

u32 bier_fmask_child_add ( fib_node_index_t  bfmi,
fib_node_type_t  child_type,
fib_node_index_t  child_index 
)

Definition at line 141 of file bier_fmask.c.

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

◆ bier_fmask_child_remove()

void bier_fmask_child_remove ( fib_node_index_t  bfmi,
u32  sibling_index 
)

Definition at line 152 of file bier_fmask.c.

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

◆ bier_fmask_contribute_forwarding()

void bier_fmask_contribute_forwarding ( index_t  bfmi,
dpo_id_t dpo 
)

Definition at line 120 of file bier_fmask.c.

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

◆ bier_fmask_create_and_lock()

index_t bier_fmask_create_and_lock ( const bier_fmask_id_t fmid,
const fib_route_path_t rpath 
)

Definition at line 284 of file bier_fmask.c.

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

◆ bier_fmask_destroy()

static void bier_fmask_destroy ( bier_fmask_t bfm)
static

Definition at line 240 of file bier_fmask.c.

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

◆ bier_fmask_dpo_lock()

static void bier_fmask_dpo_lock ( dpo_id_t dpo)
static

Definition at line 490 of file bier_fmask.c.

◆ bier_fmask_dpo_mem_show()

static void bier_fmask_dpo_mem_show ( void  )
static

Definition at line 500 of file bier_fmask.c.

+ Here is the call graph for this function:

◆ bier_fmask_dpo_unlock()

static void bier_fmask_dpo_unlock ( dpo_id_t dpo)
static

Definition at line 495 of file bier_fmask.c.

◆ bier_fmask_encode()

void bier_fmask_encode ( index_t  bfmi,
bier_table_id_t btid,
fib_route_path_t rpath 
)

Definition at line 405 of file bier_fmask.c.

+ Here is the call graph for this function:

◆ bier_fmask_get_from_node()

static bier_fmask_t* bier_fmask_get_from_node ( fib_node_t node)
static

Definition at line 439 of file bier_fmask.c.

+ Here is the caller graph for this function:

◆ bier_fmask_get_index()

static index_t bier_fmask_get_index ( const bier_fmask_t bfm)
inlinestatic

Definition at line 46 of file bier_fmask.c.

+ Here is the caller graph for this function:

◆ bier_fmask_get_node()

static fib_node_t* bier_fmask_get_node ( fib_node_index_t  index)
static

Definition at line 432 of file bier_fmask.c.

+ Here is the call graph for this function:

◆ bier_fmask_get_stats()

void bier_fmask_get_stats ( index_t  bfmi,
u64 packets,
u64 bytes 
)

Definition at line 394 of file bier_fmask.c.

+ Here is the call graph for this function:

◆ bier_fmask_init()

static void bier_fmask_init ( bier_fmask_t bfm,
const bier_fmask_id_t fmid,
const fib_route_path_t rpath 
)
static

Definition at line 166 of file bier_fmask.c.

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

◆ bier_fmask_last_lock_gone()

static void bier_fmask_last_lock_gone ( fib_node_t node)
static

Definition at line 450 of file bier_fmask.c.

+ Here is the call graph for this function:

◆ bier_fmask_link()

void bier_fmask_link ( index_t  bfmi,
bier_bp_t  bp 
)

Definition at line 304 of file bier_fmask.c.

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

◆ bier_fmask_lock()

void bier_fmask_lock ( index_t  bfmi)

Definition at line 269 of file bier_fmask.c.

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

◆ bier_fmask_module_init()

clib_error_t* bier_fmask_module_init ( vlib_main_t vm)

Definition at line 527 of file bier_fmask.c.

+ Here is the call graph for this function:

◆ bier_fmask_show()

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

Definition at line 538 of file bier_fmask.c.

+ Here is the call graph for this function:

◆ bier_fmask_stack()

static void bier_fmask_stack ( bier_fmask_t bfm)
static

Definition at line 80 of file bier_fmask.c.

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

◆ bier_fmask_unlink()

void bier_fmask_unlink ( index_t  bfmi,
bier_bp_t  bp 
)

Definition at line 324 of file bier_fmask.c.

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

◆ bier_fmask_unlock()

void bier_fmask_unlock ( index_t  bfmi)

Definition at line 254 of file bier_fmask.c.

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

◆ format_bier_fmask()

u8* format_bier_fmask ( u8 s,
va_list *  ap 
)

Definition at line 344 of file bier_fmask.c.

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

Variable Documentation

◆ bier_fmask_attr_names

const char* const bier_fmask_attr_names[] = BIER_FMASK_ATTR_NAMES
static

Definition at line 33 of file bier_fmask.c.

◆ bier_fmask_counters

vlib_combined_counter_main_t bier_fmask_counters

Stats for each BIER fmask object.

Definition at line 43 of file bier_fmask.c.

◆ bier_fmask_dpo_vft

const static dpo_vft_t bier_fmask_dpo_vft
static
Initial value:
= {
.dv_lock = bier_fmask_dpo_lock,
.dv_unlock = bier_fmask_dpo_unlock,
.dv_mem_show = bier_fmask_dpo_mem_show,
.dv_format = format_bier_fmask,
}

Definition at line 508 of file bier_fmask.c.

◆ bier_fmask_mpls_nodes

const static char* const bier_fmask_mpls_nodes[]
static
Initial value:
=
{
"bier-output",
NULL
}

Definition at line 515 of file bier_fmask.c.

◆ bier_fmask_nodes

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

Definition at line 520 of file bier_fmask.c.

◆ bier_fmask_pool

bier_fmask_t* bier_fmask_pool

Definition at line 38 of file bier_fmask.c.

◆ bier_fmask_vft

const fib_node_vft_t bier_fmask_vft
static
Initial value:
= {
.fnv_get = bier_fmask_get_node,
.fnv_last_lock = bier_fmask_last_lock_gone,
.fnv_back_walk = bier_fmask_back_walk_notify,
}

Definition at line 483 of file bier_fmask.c.

◆ show_bier_fmask

vlib_cli_command_t show_bier_fmask
static
Initial value:
= {
.path = "show bier fmask",
.short_help = "show bier fmask",
.function = bier_fmask_show,
}

(constructor) VLIB_CLI_COMMAND (show_bier_fmask)

Definition at line 574 of file bier_fmask.c.

bier_fmask_dpo_mem_show
static void bier_fmask_dpo_mem_show(void)
Definition: bier_fmask.c:500
DPO_PROTO_BIER
@ DPO_PROTO_BIER
Definition: dpo.h:68
format_bier_fmask
u8 * format_bier_fmask(u8 *s, va_list *ap)
Definition: bier_fmask.c:344
bier_fmask_dpo_lock
static void bier_fmask_dpo_lock(dpo_id_t *dpo)
Definition: bier_fmask.c:490
bier_fmask_back_walk_notify
static fib_node_back_walk_rc_t bier_fmask_back_walk_notify(fib_node_t *node, fib_node_back_walk_ctx_t *ctx)
Definition: bier_fmask.c:461
bier_fmask_show
static clib_error_t * bier_fmask_show(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: bier_fmask.c:538
bier_fmask_dpo_unlock
static void bier_fmask_dpo_unlock(dpo_id_t *dpo)
Definition: bier_fmask.c:495
bier_fmask_get_node
static fib_node_t * bier_fmask_get_node(fib_node_index_t index)
Definition: bier_fmask.c:432
DPO_PROTO_MPLS
@ DPO_PROTO_MPLS
Definition: dpo.h:66
bier_fmask_mpls_nodes
const static char *const bier_fmask_mpls_nodes[]
Definition: bier_fmask.c:515
bier_fmask_last_lock_gone
static void bier_fmask_last_lock_gone(fib_node_t *node)
Definition: bier_fmask.c:450