47     return (mfib_itf - mfib_itf_pool);
    60         combined_flags |= flags;
    63     return (combined_flags);
   104         vec_add1(all, path_index);
   117     mac->
bytes[0] = 0x01;
   119     mac->
bytes[2] = 0x5e;
   129     mac->
bytes[0] = 0x33;
   130     mac->
bytes[1] = 0x33;
   208         return (
format(s, 
" %U: %U",
   217         return (
format(s, 
" local: %U",
   268   .path = 
"show mfib interface",
   270   .short_help = 
"show mfib interface",
 int mfib_itf_update(mfib_itf_t *mfib_itf, fib_node_index_t path_index, mfib_itf_flags_t mfi_flags)
update an interface from a path. 
#define hash_set(h, key, value)
#define pool_foreach_index(i, v)
#define hash_unset(h, key)
vl_api_wireguard_peer_flags_t flags
vnet_main_t * vnet_get_main(void)
u32 index_t
A Data-Path Object is an object that represents actions that are applied to packets are they are swit...
static void mfib_itf_mac_add_del(mfib_itf_t *itf, const mfib_prefix_t *pfx, int add)
static vnet_sw_interface_t * vnet_get_sw_interface(vnet_main_t *vnm, u32 sw_if_index)
static clib_error_t * show_mfib_itf_command(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
static mfib_itf_flags_t mfib_itf_mk_flags(const mfib_itf_t *mfib_itf)
void mfib_itf_mac_del(mfib_itf_t *itf, const mfib_prefix_t *pfx)
description fragment has unexpected format
#define hash_foreach(key_var, value_var, h, body)
mfib_itf_t * mfib_itf_pool
uword * mfi_hash
A hash table of path-inidices that are contributing flags to this interface. 
clib_error_t * vnet_hw_interface_add_del_mac_address(vnet_main_t *vnm, u32 hw_if_index, const u8 *mac_address, u8 is_add)
static void mfib_itf_prefix_to_mac(const mfib_prefix_t *pfx, mac_address_t *mac)
static void mfib_itf_hash_flush(mfib_itf_t *mfi)
format_function_t format_vnet_sw_interface_name
static mfib_itf_t * mfib_itf_get(index_t mi)
Get the MFIB interface representation. 
void mfib_itf_mac_add(mfib_itf_t *itf, const mfib_prefix_t *pfx)
#define pool_put(P, E)
Free an object E in pool P. 
u32 mfi_si
The index of the signal in the pending list. 
#define pool_get_aligned(P, E, A)
Allocate an object E from a pool P with alignment A. 
void mfib_signal_remove_itf(const mfib_itf_t *mfi)
mfib_itf_flags_t mfi_flags
Forwarding Flags on the entry - checked in the data-path. 
u32 fib_node_index_t
A typedef of a node index. 
#define pool_is_free_index(P, I)
Use free bitmap to query whether given index is free. 
Aggregate type for a prefix. 
#define VLIB_CLI_COMMAND(x,...)
static void mfib_itf_prefix4_to_mac(const mfib_prefix_t *pfx, mac_address_t *mac)
void vlib_cli_output(vlib_main_t *vm, char *fmt,...)
u8 * format_mfib_itf(u8 *s, va_list *args)
An interface associated with a particular MFIB entry. 
static void mfib_itf_prefix6_to_mac(const mfib_prefix_t *pfx, mac_address_t *mac)
index_t mfib_itf_create(fib_node_index_t path_index, mfib_itf_flags_t mfi_flags)
fib_protocol_t fp_proto
protocol type 
u32 fib_path_get_resolving_interface(fib_node_index_t path_index)
#define INDEX_INVALID
Invalid index - used when no index is known blazoned capitals INVALID speak volumes where ~0 does not...
u8 * format_mfib_itf_flags(u8 *s, va_list *args)
enum mfib_itf_flags_t_ mfib_itf_flags_t
u32 mfi_sw_if_index
The SW IF index that this MFIB interface represents. 
#define vec_foreach(var, vec)
Vector iterator. 
void mfib_itf_delete(mfib_itf_t *mfi)
#define CLIB_CACHE_LINE_BYTES
ip46_address_t fp_grp_addr
The address type is not deriveable from the fp_addr member.