60 return (64 == pfx->
fp_len);
62 return (256 == pfx->
fp_len);
131 s =
format (s,
"/%d)", len);
150 s =
format (s,
"/%d)", len);
171 if ((1<<attr) & flags) {
189 if ((1<<attr) & flags) {
207 *iflags |= (1 << attr);
211 *iflags |= (1 << attr);
214 return (old == *iflags ? 0 : 1);
227 *eflags |= (1 << attr);
231 *eflags |= (1 << attr);
234 return (old == *eflags ? 0 : 1);
259 .path =
"show mfib route flags",
260 .short_help =
"Flags applicable to an MFIB route",
288 .path =
"show mfib itf flags",
289 .short_help =
"Flags applicable to an MFIB interfaces",
Contribute an object that is to be used to forward IP6 packets.
ip46_address_t fp_src_addr
enum mfib_entry_flags_t_ mfib_entry_flags_t
vl_api_wireguard_peer_flags_t flags
uword unformat_mfib_itf_flags(unformat_input_t *input, va_list *args)
clib_error_t * mfib_show_itf_flags(vlib_main_t *vm, unformat_input_t *main_input, vlib_cli_command_t *cmd)
static const char * mfib_flag_names_long[]
static uword ip4_destination_matches_route(const ip4_main_t *im, const ip4_address_t *key, const ip4_address_t *dest, uword dest_length)
static void ip6_address_mask(ip6_address_t *a, const ip6_address_t *mask)
fib_forward_chain_type_t mfib_forw_chain_type_from_dpo_proto(dpo_proto_t proto)
enum fib_protocol_t_ fib_protocol_t
Protocol Type.
u8 * format_mfib_entry_flags(u8 *s, va_list *args)
enum mfib_entry_attribute_t_ mfib_entry_attribute_t
static uword ip6_destination_matches_route(const ip6_main_t *im, const ip6_address_t *key, const ip6_address_t *dest, uword dest_length)
enum dpo_proto_t_ dpo_proto_t
Data path protocol.
#define FOR_EACH_MFIB_ITF_ATTRIBUTE(_item)
#define FOR_EACH_MFIB_ATTRIBUTE(_item)
clib_error_t * mfib_show_route_flags(vlib_main_t *vm, unformat_input_t *main_input, vlib_cli_command_t *cmd)
static const char * mfib_flag_names[]
String names for each flag.
int mfib_prefix_is_cover(const mfib_prefix_t *p1, const mfib_prefix_t *p2)
Compare two prefixes for covering relationship.
static const char * mfib_itf_flag_names[]
static u8 ip46_address_is_equal(const ip46_address_t *ip46_1, const ip46_address_t *ip46_2)
#define MFIB_ENTRY_NAMES_LONG
ip6_address_t fib_masks[129]
uword unformat_mfib_entry_flags(unformat_input_t *input, va_list *args)
static uword ip6_address_is_zero(const ip6_address_t *a)
enum mfib_itf_attribute_t_ mfib_itf_attribute_t
fib_forward_chain_type_t mfib_forw_chain_type_from_fib_proto(fib_protocol_t proto)
Aggregate type for a prefix.
#define VLIB_CLI_COMMAND(x,...)
void vlib_cli_output(vlib_main_t *vm, char *fmt,...)
#define MFIB_ENTRY_NAMES_SHORT
enum fib_forward_chain_type_t_ fib_forward_chain_type_t
FIB output chain type.
#define MFIB_ITF_NAMES_LONG
fib_protocol_t fp_proto
protocol type
#define MFIB_ITF_NAMES_SHORT
int mfib_prefix_is_host(const mfib_prefix_t *pfx)
Return true is the prefix is a host prefix.
u8 * format_mfib_itf_flags(u8 *s, va_list *args)
enum mfib_itf_flags_t_ mfib_itf_flags_t
ip4_main_t ip4_main
Global ip4 main structure.
u16 fp_len
The mask length.
Contribute an object that is to be used to forward IP4 packets.
static const char * mfib_itf_flag_long_names[]
u8 * format_mfib_prefix(u8 *s, va_list *args)
ip46_address_t fp_grp_addr
The address type is not deriveable from the fp_addr member.