FD.io VPP  v21.01.1
Vector Packet Processing
fib_types.c File Reference
+ Include dependency graph for fib_types.c:

Go to the source code of this file.

Functions

u8format_fib_protocol (u8 *s, va_list *ap)
 
u8format_vnet_link (u8 *s, va_list *ap)
 
u8format_fib_forw_chain_type (u8 *s, va_list *args)
 
u8format_fib_mpls_lsp_mode (u8 *s, va_list *ap)
 Format an LSP mode type. More...
 
u8format_fib_mpls_label (u8 *s, va_list *ap)
 Format an MPLS label. More...
 
void fib_prefix_from_ip46_addr (const ip46_address_t *addr, fib_prefix_t *pfx)
 Host prefix from ip. More...
 
u8format_fib_route_path_flags (u8 *s, va_list *ap)
 Format route path flags. More...
 
u8format_fib_route_path (u8 *s, va_list *ap)
 Format route path flags. More...
 
void fib_prefix_from_mpls_label (mpls_label_t label, mpls_eos_bit_t eos, fib_prefix_t *pfx)
 
void fib_prefix_copy (fib_prefix_t *dst, const fib_prefix_t *src)
 Copy a prefix. More...
 
int fib_prefix_cmp (const fib_prefix_t *p1, const fib_prefix_t *p2)
 Compare two prefixes for equality. More...
 
int fib_prefix_is_cover (const fib_prefix_t *p1, const fib_prefix_t *p2)
 Compare two prefixes for covering relationship. More...
 
u8 fib_prefix_get_host_length (fib_protocol_t proto)
 
int fib_prefix_is_host (const fib_prefix_t *prefix)
 Return true is the prefix is a host prefix. More...
 
void fib_prefix_normalize (const fib_prefix_t *p, fib_prefix_t *out)
 normalise a prefix (i.e. More...
 
u8format_fib_prefix (u8 *s, va_list *args)
 
int fib_route_path_cmp (const fib_route_path_t *rpath1, const fib_route_path_t *rpath2)
 
dpo_proto_t fib_proto_to_dpo (fib_protocol_t fib_proto)
 
fib_protocol_t dpo_proto_to_fib (dpo_proto_t dpo_proto)
 
vnet_link_t fib_proto_to_link (fib_protocol_t proto)
 Convert from a protocol to a link type. More...
 
ip46_type_t fib_proto_to_ip46 (fib_protocol_t fproto)
 Convert from fib_protocol to ip46_type. More...
 
fib_protocol_t fib_proto_from_ip46 (ip46_type_t iproto)
 Convert from ip46_type to fib_protocol. More...
 
fib_forward_chain_type_t fib_forw_chain_type_from_dpo_proto (dpo_proto_t proto)
 Convert from a payload-protocol to a chain type. More...
 
fib_forward_chain_type_t fib_forw_chain_type_from_fib_proto (fib_protocol_t proto)
 Convert from a fib-protocol to a chain type. More...
 
vnet_link_t fib_forw_chain_type_to_link_type (fib_forward_chain_type_t fct)
 Convert from a chain type to the adjacency's link type. More...
 
fib_forward_chain_type_t fib_forw_chain_type_from_link_type (vnet_link_t link_type)
 Convert from a adjacency's link type to chain type. More...
 
dpo_proto_t fib_forw_chain_type_to_dpo_proto (fib_forward_chain_type_t fct)
 Convert from a chain type to the DPO proto it will install. More...
 
uword unformat_fib_route_path (unformat_input_t *input, va_list *args)
 Unformat a fib_route_path_t from CLI input. More...
 

Variables

static const char * fib_protocol_names [] = FIB_PROTOCOLS
 
static const char * vnet_link_names [] = VNET_LINKS
 
static const char * fib_forw_chain_names [] = FIB_FORW_CHAINS
 
static const char * fib_mpls_lsp_mode_names [] = FIB_MPLS_LSP_MODES
 

Function Documentation

◆ dpo_proto_to_fib()

fib_protocol_t dpo_proto_to_fib ( dpo_proto_t  dpo_proto)

Definition at line 359 of file fib_types.c.

+ Here is the caller graph for this function:

◆ fib_forw_chain_type_from_dpo_proto()

fib_forward_chain_type_t fib_forw_chain_type_from_dpo_proto ( dpo_proto_t  proto)

Convert from a payload-protocol to a chain type.

Definition at line 427 of file fib_types.c.

+ Here is the caller graph for this function:

◆ fib_forw_chain_type_from_fib_proto()

fib_forward_chain_type_t fib_forw_chain_type_from_fib_proto ( fib_protocol_t  proto)

Convert from a fib-protocol to a chain type.

Definition at line 449 of file fib_types.c.

+ Here is the caller graph for this function:

◆ fib_forw_chain_type_from_link_type()

fib_forward_chain_type_t fib_forw_chain_type_from_link_type ( vnet_link_t  link_type)

Convert from a adjacency's link type to chain type.

Definition at line 493 of file fib_types.c.

+ Here is the caller graph for this function:

◆ fib_forw_chain_type_to_dpo_proto()

dpo_proto_t fib_forw_chain_type_to_dpo_proto ( fib_forward_chain_type_t  fct)

Convert from a chain type to the DPO proto it will install.

Definition at line 516 of file fib_types.c.

+ Here is the caller graph for this function:

◆ fib_forw_chain_type_to_link_type()

vnet_link_t fib_forw_chain_type_to_link_type ( fib_forward_chain_type_t  fct)

Convert from a chain type to the adjacency's link type.

Definition at line 465 of file fib_types.c.

+ Here is the caller graph for this function:

◆ fib_prefix_cmp()

int fib_prefix_cmp ( const fib_prefix_t p1,
const fib_prefix_t p2 
)

Compare two prefixes for equality.

Definition at line 177 of file fib_types.c.

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

◆ fib_prefix_copy()

void fib_prefix_copy ( fib_prefix_t dst,
const fib_prefix_t src 
)

Copy a prefix.

Definition at line 170 of file fib_types.c.

+ Here is the caller graph for this function:

◆ fib_prefix_from_ip46_addr()

void fib_prefix_from_ip46_addr ( const ip46_address_t *  addr,
fib_prefix_t pfx 
)

Host prefix from ip.

Definition at line 81 of file fib_types.c.

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

◆ fib_prefix_from_mpls_label()

void fib_prefix_from_mpls_label ( mpls_label_t  label,
mpls_eos_bit_t  eos,
fib_prefix_t pfx 
)

Definition at line 158 of file fib_types.c.

+ Here is the caller graph for this function:

◆ fib_prefix_get_host_length()

u8 fib_prefix_get_host_length ( fib_protocol_t  proto)

Definition at line 234 of file fib_types.c.

+ Here is the caller graph for this function:

◆ fib_prefix_is_cover()

int fib_prefix_is_cover ( const fib_prefix_t p1,
const fib_prefix_t p2 
)

Compare two prefixes for covering relationship.

Returns
non-zero if the first prefix is a cover for the second

Definition at line 212 of file fib_types.c.

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

◆ fib_prefix_is_host()

int fib_prefix_is_host ( const fib_prefix_t prefix)

Return true is the prefix is a host prefix.

Definition at line 249 of file fib_types.c.

+ Here is the caller graph for this function:

◆ fib_prefix_normalize()

void fib_prefix_normalize ( const fib_prefix_t p,
fib_prefix_t out 
)

normalise a prefix (i.e.

mask the host bits according to the prefix length)

Definition at line 264 of file fib_types.c.

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

◆ fib_proto_from_ip46()

fib_protocol_t fib_proto_from_ip46 ( ip46_type_t  iproto)

Convert from ip46_type to fib_protocol.

Definition at line 409 of file fib_types.c.

+ Here is the caller graph for this function:

◆ fib_proto_to_dpo()

dpo_proto_t fib_proto_to_dpo ( fib_protocol_t  fib_proto)

Definition at line 343 of file fib_types.c.

+ Here is the caller graph for this function:

◆ fib_proto_to_ip46()

ip46_type_t fib_proto_to_ip46 ( fib_protocol_t  fproto)

Convert from fib_protocol to ip46_type.

Definition at line 393 of file fib_types.c.

+ Here is the caller graph for this function:

◆ fib_proto_to_link()

vnet_link_t fib_proto_to_link ( fib_protocol_t  proto)

Convert from a protocol to a link type.

Definition at line 377 of file fib_types.c.

+ Here is the caller graph for this function:

◆ fib_route_path_cmp()

int fib_route_path_cmp ( const fib_route_path_t rpath1,
const fib_route_path_t rpath2 
)

Definition at line 320 of file fib_types.c.

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

◆ format_fib_forw_chain_type()

u8* format_fib_forw_chain_type ( u8 s,
va_list *  args 
)

Definition at line 49 of file fib_types.c.

+ Here is the caller graph for this function:

◆ format_fib_mpls_label()

u8* format_fib_mpls_label ( u8 s,
va_list *  ap 
)

Format an MPLS label.

Definition at line 65 of file fib_types.c.

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

◆ format_fib_mpls_lsp_mode()

u8* format_fib_mpls_lsp_mode ( u8 s,
va_list *  ap 
)

Format an LSP mode type.

Definition at line 57 of file fib_types.c.

+ Here is the caller graph for this function:

◆ format_fib_prefix()

u8* format_fib_prefix ( u8 s,
va_list *  args 
)

Definition at line 283 of file fib_types.c.

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

◆ format_fib_protocol()

u8* format_fib_protocol ( u8 s,
va_list *  ap 
)

Definition at line 33 of file fib_types.c.

+ Here is the caller graph for this function:

◆ format_fib_route_path()

u8* format_fib_route_path ( u8 s,
va_list *  ap 
)

Format route path flags.

Definition at line 143 of file fib_types.c.

+ Here is the call graph for this function:

◆ format_fib_route_path_flags()

u8* format_fib_route_path_flags ( u8 s,
va_list *  ap 
)

Format route path flags.

Definition at line 96 of file fib_types.c.

+ Here is the caller graph for this function:

◆ format_vnet_link()

u8* format_vnet_link ( u8 s,
va_list *  ap 
)

Definition at line 41 of file fib_types.c.

+ Here is the caller graph for this function:

◆ unformat_fib_route_path()

uword unformat_fib_route_path ( unformat_input_t input,
va_list *  args 
)

Unformat a fib_route_path_t from CLI input.

Definition at line 540 of file fib_types.c.

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

Variable Documentation

◆ fib_forw_chain_names

const char* fib_forw_chain_names[] = FIB_FORW_CHAINS
static

Definition at line 29 of file fib_types.c.

◆ fib_mpls_lsp_mode_names

const char* fib_mpls_lsp_mode_names[] = FIB_MPLS_LSP_MODES
static

Definition at line 30 of file fib_types.c.

◆ fib_protocol_names

const char* fib_protocol_names[] = FIB_PROTOCOLS
static

Definition at line 27 of file fib_types.c.

◆ vnet_link_names

const char* vnet_link_names[] = VNET_LINKS
static

Definition at line 28 of file fib_types.c.