FD.io VPP  v18.07-rc0-415-g6c78436
Vector Packet Processing
fib_path.c File Reference
+ Include dependency graph for fib_path.c:

Go to the source code of this file.

Data Structures

struct  fib_path_t_
 A FIB path. More...
 

Macros

#define FIB_PATH_TYPE_MAX   (FIB_PATH_TYPE_LAST + 1)
 The maximum number of path_types. More...
 
#define FIB_PATH_TYPES
 
#define FOR_EACH_FIB_PATH_TYPE(_item)
 
#define FIB_PATH_OPER_ATTRIBUTE_MAX   (FIB_PATH_OPER_ATTRIBUTE_LAST + 1)
 The maximum number of path operational attributes. More...
 
#define FIB_PATH_OPER_ATTRIBUTES
 
#define FOR_EACH_FIB_PATH_OPER_ATTRIBUTE(_item)
 
#define FIB_PATH_DBG(_p, _fmt, _args...)
 

Typedefs

typedef enum fib_path_type_t_ fib_path_type_t
 Enurmeration of path types. More...
 
typedef enum fib_path_oper_attribute_t_ fib_path_oper_attribute_t
 Enurmeration of path operational (i.e. More...
 
typedef enum fib_path_oper_flags_t_ fib_path_oper_flags_t
 Path flags from the attributes. More...
 
typedef struct fib_path_t_ fib_path_t
 A FIB path. More...
 

Enumerations

enum  fib_path_type_t_ {
  FIB_PATH_TYPE_FIRST = 0, FIB_PATH_TYPE_ATTACHED_NEXT_HOP = FIB_PATH_TYPE_FIRST, FIB_PATH_TYPE_ATTACHED, FIB_PATH_TYPE_RECURSIVE,
  FIB_PATH_TYPE_SPECIAL, FIB_PATH_TYPE_EXCLUSIVE, FIB_PATH_TYPE_DEAG, FIB_PATH_TYPE_INTF_RX,
  FIB_PATH_TYPE_UDP_ENCAP, FIB_PATH_TYPE_RECEIVE, FIB_PATH_TYPE_BIER_IMP, FIB_PATH_TYPE_BIER_TABLE,
  FIB_PATH_TYPE_BIER_FMASK, FIB_PATH_TYPE_DVR, FIB_PATH_TYPE_LAST = FIB_PATH_TYPE_BIER_FMASK
}
 Enurmeration of path types. More...
 
enum  fib_path_oper_attribute_t_ {
  FIB_PATH_OPER_ATTRIBUTE_FIRST = 0, FIB_PATH_OPER_ATTRIBUTE_RECURSIVE_LOOP = FIB_PATH_OPER_ATTRIBUTE_FIRST, FIB_PATH_OPER_ATTRIBUTE_RESOLVED, FIB_PATH_OPER_ATTRIBUTE_ATTACHED,
  FIB_PATH_OPER_ATTRIBUTE_DROP, FIB_PATH_OPER_ATTRIBUTE_LAST = FIB_PATH_OPER_ATTRIBUTE_DROP
}
 Enurmeration of path operational (i.e. More...
 
enum  fib_path_oper_flags_t_ {
  FIB_PATH_OPER_FLAG_NONE = 0, FIB_PATH_OPER_FLAG_RECURSIVE_LOOP = (1 << FIB_PATH_OPER_ATTRIBUTE_RECURSIVE_LOOP), FIB_PATH_OPER_FLAG_DROP = (1 << FIB_PATH_OPER_ATTRIBUTE_DROP), FIB_PATH_OPER_FLAG_RESOLVED = (1 << FIB_PATH_OPER_ATTRIBUTE_RESOLVED),
  FIB_PATH_OPER_FLAG_ATTACHED = (1 << FIB_PATH_OPER_ATTRIBUTE_ATTACHED)
}
 Path flags from the attributes. More...
 

Functions

static fib_path_tfib_path_get (fib_node_index_t index)
 
static fib_node_index_t fib_path_get_index (fib_path_t *path)
 
static fib_node_tfib_path_get_node (fib_node_index_t index)
 
static fib_path_tfib_path_from_fib_node (fib_node_t *node)
 
u8format_fib_path (u8 *s, va_list *args)
 
u8fib_path_format (fib_node_index_t pi, u8 *s)
 
static void fib_path_last_lock_gone (fib_node_t *node)
 
static const adj_index_t fib_path_attached_next_hop_get_adj (fib_path_t *path, vnet_link_t link)
 
static void fib_path_attached_next_hop_set (fib_path_t *path)
 
static const adj_index_t fib_path_attached_get_adj (fib_path_t *path, vnet_link_t link)
 
static void fib_path_recursive_adj_update (fib_path_t *path, fib_forward_chain_type_t fct, dpo_id_t *dpo)
 
static void fib_path_bier_fmask_update (fib_path_t *path, dpo_id_t *dpo)
 
static int fib_path_is_permanent_drop (fib_path_t *path)
 
static void fib_path_unresolve (fib_path_t *path)
 
static fib_forward_chain_type_t fib_path_to_chain_type (const fib_path_t *path)
 
static fib_node_back_walk_rc_t fib_path_back_walk_notify (fib_node_t *node, fib_node_back_walk_ctx_t *ctx)
 
static void fib_path_memory_show (void)
 
static fib_path_cfg_flags_t fib_path_route_flags_to_cfg_flags (const fib_route_path_t *rpath)
 
fib_node_index_t fib_path_create (fib_node_index_t pl_index, const fib_route_path_t *rpath)
 
fib_node_index_t fib_path_create_special (fib_node_index_t pl_index, dpo_proto_t nh_proto, fib_path_cfg_flags_t flags, const dpo_id_t *dpo)
 
fib_node_index_t fib_path_copy (fib_node_index_t path_index, fib_node_index_t path_list_index)
 
void fib_path_destroy (fib_node_index_t path_index)
 
uword fib_path_hash (fib_node_index_t path_index)
 
static int fib_path_cmp_i (const fib_path_t *path1, const fib_path_t *path2)
 
int fib_path_cmp_for_sort (void *v1, void *v2)
 
int fib_path_cmp (fib_node_index_t pi1, fib_node_index_t pi2)
 
int fib_path_cmp_w_route_path (fib_node_index_t path_index, const fib_route_path_t *rpath)
 
int fib_path_recursive_loop_detect (fib_node_index_t path_index, fib_node_index_t **entry_indicies)
 
int fib_path_resolve (fib_node_index_t path_index)
 
u32 fib_path_get_resolving_interface (fib_node_index_t path_index)
 
index_t fib_path_get_resolving_index (fib_node_index_t path_index)
 
adj_index_t fib_path_get_adj (fib_node_index_t path_index)
 
u16 fib_path_get_weight (fib_node_index_t path_index)
 
u16 fib_path_get_preference (fib_node_index_t path_index)
 
u32 fib_path_get_rpf_id (fib_node_index_t path_index)
 
void fib_path_contribute_urpf (fib_node_index_t path_index, index_t urpf)
 Contribute the path's adjacency to the list passed. More...
 
void fib_path_stack_mpls_disp (fib_node_index_t path_index, dpo_proto_t payload_proto, fib_mpls_lsp_mode_t mode, dpo_id_t *dpo)
 
void fib_path_contribute_forwarding (fib_node_index_t path_index, fib_forward_chain_type_t fct, dpo_id_t *dpo)
 
load_balance_path_tfib_path_append_nh_for_multipath_hash (fib_node_index_t path_index, fib_forward_chain_type_t fct, load_balance_path_t *hash_key)
 
int fib_path_is_recursive_constrained (fib_node_index_t path_index)
 
int fib_path_is_exclusive (fib_node_index_t path_index)
 
int fib_path_is_deag (fib_node_index_t path_index)
 
int fib_path_is_resolved (fib_node_index_t path_index)
 
int fib_path_is_looped (fib_node_index_t path_index)
 
fib_path_list_walk_rc_t fib_path_encode (fib_node_index_t path_list_index, fib_node_index_t path_index, void *ctx)
 
dpo_proto_t fib_path_get_proto (fib_node_index_t path_index)
 
void fib_path_module_init (void)
 
static clib_error_tshow_fib_path_command (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 

Variables

static const char * fib_path_type_names [] = FIB_PATH_TYPES
 
static const char * fib_path_oper_attribute_names [] = FIB_PATH_OPER_ATTRIBUTES
 
static const char * fib_path_cfg_attribute_names [] = FIB_PATH_CFG_ATTRIBUTES
 
static fib_path_tfib_path_pool
 
static const fib_node_vft_t fib_path_vft
 
static vlib_cli_command_t show_fib_path
 (constructor) VLIB_CLI_COMMAND (show_fib_path) More...
 

Macro Definition Documentation

#define FIB_PATH_DBG (   _p,
  _fmt,
  _args... 
)

Definition at line 426 of file fib_path.c.

#define FIB_PATH_OPER_ATTRIBUTE_MAX   (FIB_PATH_OPER_ATTRIBUTE_LAST + 1)

The maximum number of path operational attributes.

Definition at line 171 of file fib_path.c.

#define FIB_PATH_OPER_ATTRIBUTES
Value:
{ \
}
The path is resolved.
Definition: fib_path.c:153
The path has become a permanent drop.
Definition: fib_path.c:161
The path forms part of a recursive loop.
Definition: fib_path.c:149

Definition at line 173 of file fib_path.c.

#define FIB_PATH_TYPE_MAX   (FIB_PATH_TYPE_LAST + 1)

The maximum number of path_types.

Definition at line 115 of file fib_path.c.

#define FIB_PATH_TYPES
Value:
{ \
[FIB_PATH_TYPE_ATTACHED_NEXT_HOP] = "attached-nexthop", \
[FIB_PATH_TYPE_ATTACHED] = "attached", \
[FIB_PATH_TYPE_RECURSIVE] = "recursive", \
[FIB_PATH_TYPE_SPECIAL] = "special", \
[FIB_PATH_TYPE_EXCLUSIVE] = "exclusive", \
[FIB_PATH_TYPE_DEAG] = "deag", \
[FIB_PATH_TYPE_INTF_RX] = "intf-rx", \
[FIB_PATH_TYPE_UDP_ENCAP] = "udp-encap", \
[FIB_PATH_TYPE_RECEIVE] = "receive", \
[FIB_PATH_TYPE_BIER_IMP] = "bier-imp", \
[FIB_PATH_TYPE_BIER_TABLE] = "bier-table", \
[FIB_PATH_TYPE_BIER_FMASK] = "bier-fmask", \
[FIB_PATH_TYPE_DVR] = "dvr", \
}
interface receive.
Definition: fib_path.c:81
via a DVR.
Definition: fib_path.c:105
Path resolves via a UDP encap object.
Definition: fib_path.c:85
Attached-nexthop.
Definition: fib_path.c:57

Definition at line 117 of file fib_path.c.

#define FOR_EACH_FIB_PATH_OPER_ATTRIBUTE (   _item)
Value:

Definition at line 179 of file fib_path.c.

#define FOR_EACH_FIB_PATH_TYPE (   _item)
Value:
for (_item = FIB_PATH_TYPE_FIRST; \
_item <= FIB_PATH_TYPE_LAST; \
_item++)

Definition at line 133 of file fib_path.c.

Typedef Documentation

Enurmeration of path operational (i.e.

derived) attributes

Path flags from the attributes.

typedef struct fib_path_t_ fib_path_t

A FIB path.

Enurmeration of path types.

Enumeration Type Documentation

Enurmeration of path operational (i.e.

derived) attributes

Enumerator
FIB_PATH_OPER_ATTRIBUTE_FIRST 

Marker.

Add new types after this one.

FIB_PATH_OPER_ATTRIBUTE_RECURSIVE_LOOP 

The path forms part of a recursive loop.

FIB_PATH_OPER_ATTRIBUTE_RESOLVED 

The path is resolved.

FIB_PATH_OPER_ATTRIBUTE_ATTACHED 

The path is attached, despite what the next-hop may say.

FIB_PATH_OPER_ATTRIBUTE_DROP 

The path has become a permanent drop.

FIB_PATH_OPER_ATTRIBUTE_LAST 

Marker.

Add new types before this one, then update it.

Definition at line 141 of file fib_path.c.

Path flags from the attributes.

Enumerator
FIB_PATH_OPER_FLAG_NONE 
FIB_PATH_OPER_FLAG_RECURSIVE_LOOP 
FIB_PATH_OPER_FLAG_DROP 
FIB_PATH_OPER_FLAG_RESOLVED 
FIB_PATH_OPER_FLAG_ATTACHED 

Definition at line 187 of file fib_path.c.

Enurmeration of path types.

Enumerator
FIB_PATH_TYPE_FIRST 

Marker.

Add new types after this one.

FIB_PATH_TYPE_ATTACHED_NEXT_HOP 

Attached-nexthop.

An interface and a nexthop are known.

FIB_PATH_TYPE_ATTACHED 

attached.

Only the interface is known.

FIB_PATH_TYPE_RECURSIVE 

recursive.

Only the next-hop is known.

FIB_PATH_TYPE_SPECIAL 

special.

nothing is known. so we drop.

FIB_PATH_TYPE_EXCLUSIVE 

exclusive.

user provided adj.

FIB_PATH_TYPE_DEAG 

deag.

Link to a lookup adj in the next table

FIB_PATH_TYPE_INTF_RX 

interface receive.

FIB_PATH_TYPE_UDP_ENCAP 

Path resolves via a UDP encap object.

FIB_PATH_TYPE_RECEIVE 

receive.

it's for-us.

FIB_PATH_TYPE_BIER_IMP 

bier-imp.

it's via a BIER imposition.

FIB_PATH_TYPE_BIER_TABLE 

bier-fmask.

it's via a BIER ECMP-table.

FIB_PATH_TYPE_BIER_FMASK 

bier-fmask.

it's via a BIER f-mask.

FIB_PATH_TYPE_DVR 

via a DVR.

FIB_PATH_TYPE_LAST 

Marker.

Add new types before this one, then update it.

Definition at line 49 of file fib_path.c.

Function Documentation

load_balance_path_t* fib_path_append_nh_for_multipath_hash ( fib_node_index_t  path_index,
fib_forward_chain_type_t  fct,
load_balance_path_t hash_key 
)

Definition at line 2501 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static const adj_index_t fib_path_attached_get_adj ( fib_path_t path,
vnet_link_t  link 
)
static

Definition at line 692 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static const adj_index_t fib_path_attached_next_hop_get_adj ( fib_path_t path,
vnet_link_t  link 
)
static

Definition at line 635 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void fib_path_attached_next_hop_set ( fib_path_t path)
static

Definition at line 662 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static fib_node_back_walk_rc_t fib_path_back_walk_notify ( fib_node_t node,
fib_node_back_walk_ctx_t ctx 
)
static

Definition at line 962 of file fib_path.c.

+ Here is the call graph for this function:

static void fib_path_bier_fmask_update ( fib_path_t path,
dpo_id_t dpo 
)
static

Definition at line 825 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int fib_path_cmp ( fib_node_index_t  pi1,
fib_node_index_t  pi2 
)

Definition at line 1621 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int fib_path_cmp_for_sort ( void *  v1,
void *  v2 
)

Definition at line 1594 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int fib_path_cmp_i ( const fib_path_t path1,
const fib_path_t path2 
)
static

Definition at line 1501 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int fib_path_cmp_w_route_path ( fib_node_index_t  path_index,
const fib_route_path_t rpath 
)

Definition at line 1633 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void fib_path_contribute_forwarding ( fib_node_index_t  path_index,
fib_forward_chain_type_t  fct,
dpo_id_t dpo 
)

Definition at line 2291 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void fib_path_contribute_urpf ( fib_node_index_t  path_index,
index_t  urpf 
)

Contribute the path's adjacency to the list passed.

By calling this function over all paths, recursively, a child can construct its full set of forwarding adjacencies, and hence its uRPF list.

Definition at line 2173 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

fib_node_index_t fib_path_copy ( fib_node_index_t  path_index,
fib_node_index_t  path_list_index 
)

Definition at line 1429 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

fib_node_index_t fib_path_create ( fib_node_index_t  pl_index,
const fib_route_path_t rpath 
)

Definition at line 1249 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

fib_node_index_t fib_path_create_special ( fib_node_index_t  pl_index,
dpo_proto_t  nh_proto,
fib_path_cfg_flags_t  flags,
const dpo_id_t dpo 
)

Definition at line 1383 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void fib_path_destroy ( fib_node_index_t  path_index)

Definition at line 1462 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

fib_path_list_walk_rc_t fib_path_encode ( fib_node_index_t  path_list_index,
fib_node_index_t  path_index,
void *  ctx 
)

Definition at line 2580 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* fib_path_format ( fib_node_index_t  pi,
u8 s 
)

Definition at line 612 of file fib_path.c.

+ Here is the call graph for this function:

static fib_path_t* fib_path_from_fib_node ( fib_node_t node)
static

Definition at line 448 of file fib_path.c.

+ Here is the caller graph for this function:

static fib_path_t* fib_path_get ( fib_node_index_t  index)
static

Definition at line 430 of file fib_path.c.

+ Here is the caller graph for this function:

adj_index_t fib_path_get_adj ( fib_node_index_t  path_index)

Definition at line 2111 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static fib_node_index_t fib_path_get_index ( fib_path_t path)
static

Definition at line 436 of file fib_path.c.

+ Here is the caller graph for this function:

static fib_node_t* fib_path_get_node ( fib_node_index_t  index)
static

Definition at line 442 of file fib_path.c.

+ Here is the call graph for this function:

u16 fib_path_get_preference ( fib_node_index_t  path_index)

Definition at line 2138 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

dpo_proto_t fib_path_get_proto ( fib_node_index_t  path_index)

Definition at line 2638 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

index_t fib_path_get_resolving_index ( fib_node_index_t  path_index)

Definition at line 2079 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 fib_path_get_resolving_interface ( fib_node_index_t  path_index)

Definition at line 2043 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 fib_path_get_rpf_id ( fib_node_index_t  path_index)

Definition at line 2150 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u16 fib_path_get_weight ( fib_node_index_t  path_index)

Definition at line 2126 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uword fib_path_hash ( fib_node_index_t  path_index)

Definition at line 1483 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int fib_path_is_deag ( fib_node_index_t  path_index)

Definition at line 2547 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int fib_path_is_exclusive ( fib_node_index_t  path_index)

Definition at line 2537 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int fib_path_is_looped ( fib_node_index_t  path_index)

Definition at line 2570 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int fib_path_is_permanent_drop ( fib_path_t path)
static

Definition at line 850 of file fib_path.c.

+ Here is the caller graph for this function:

int fib_path_is_recursive_constrained ( fib_node_index_t  path_index)

Definition at line 2525 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int fib_path_is_resolved ( fib_node_index_t  path_index)

Definition at line 2557 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void fib_path_last_lock_gone ( fib_node_t node)
static

Definition at line 629 of file fib_path.c.

static void fib_path_memory_show ( void  )
static

Definition at line 1197 of file fib_path.c.

+ Here is the call graph for this function:

void fib_path_module_init ( void  )

Definition at line 2648 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void fib_path_recursive_adj_update ( fib_path_t path,
fib_forward_chain_type_t  fct,
dpo_id_t dpo 
)
static

Definition at line 720 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int fib_path_recursive_loop_detect ( fib_node_index_t  path_index,
fib_node_index_t **  entry_indicies 
)

Definition at line 1744 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int fib_path_resolve ( fib_node_index_t  path_index)

Definition at line 1829 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static fib_path_cfg_flags_t fib_path_route_flags_to_cfg_flags ( const fib_route_path_t rpath)
static

Definition at line 1216 of file fib_path.c.

+ Here is the caller graph for this function:

void fib_path_stack_mpls_disp ( fib_node_index_t  path_index,
dpo_proto_t  payload_proto,
fib_mpls_lsp_mode_t  mode,
dpo_id_t dpo 
)

Definition at line 2240 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static fib_forward_chain_type_t fib_path_to_chain_type ( const fib_path_t path)
static

Definition at line 936 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void fib_path_unresolve ( fib_path_t path)
static

Definition at line 862 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_fib_path ( u8 s,
va_list *  args 
)

Definition at line 455 of file fib_path.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 2654 of file fib_path.c.

+ Here is the call graph for this function:

Variable Documentation

const char* fib_path_cfg_attribute_names[] = FIB_PATH_CFG_ATTRIBUTES
static

Definition at line 405 of file fib_path.c.

const char* fib_path_oper_attribute_names[] = FIB_PATH_OPER_ATTRIBUTES
static

Definition at line 404 of file fib_path.c.

fib_path_t* fib_path_pool
static

Definition at line 410 of file fib_path.c.

const char* fib_path_type_names[] = FIB_PATH_TYPES
static

Definition at line 403 of file fib_path.c.

const fib_node_vft_t fib_path_vft
static
Initial value:
= {
.fnv_get = fib_path_get_node,
.fnv_last_lock = fib_path_last_lock_gone,
.fnv_back_walk = fib_path_back_walk_notify,
.fnv_mem_show = fib_path_memory_show,
}
static void fib_path_last_lock_gone(fib_node_t *node)
Definition: fib_path.c:629
static void fib_path_memory_show(void)
Definition: fib_path.c:1197
static fib_node_back_walk_rc_t fib_path_back_walk_notify(fib_node_t *node, fib_node_back_walk_ctx_t *ctx)
Definition: fib_path.c:962
static fib_node_t * fib_path_get_node(fib_node_index_t index)
Definition: fib_path.c:442

Definition at line 1208 of file fib_path.c.

vlib_cli_command_t show_fib_path
static
Initial value:
= {
.path = "show fib paths",
.function = show_fib_path_command,
.short_help = "show fib paths",
}
static clib_error_t * show_fib_path_command(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: fib_path.c:2654

(constructor) VLIB_CLI_COMMAND (show_fib_path)

Definition at line 2692 of file fib_path.c.