55 s =
format (s,
"/%d)", len);
74 s =
format (s,
"/%d)", len);
95 if ((1<<attr) & flags) {
113 if ((1<<attr) & flags) {
131 *iflags |= (1 << attr);
135 *iflags |= (1 << attr);
138 return (old == *iflags ? 0 : 1);
151 *eflags |= (1 << attr);
154 return (old == *eflags ? 0 : 1);
179 .path =
"show mfib route flags",
180 .short_help =
"Flags applicable to an MFIB route",
208 .path =
"show mfib itf flags",
209 .short_help =
"Flags applicable to an MFIB interfaces",
static void ip6_address_mask(ip6_address_t *a, ip6_address_t *mask)
ip46_address_t fp_src_addr
enum mfib_entry_flags_t_ mfib_entry_flags_t
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[]
u8 * format_mfib_entry_flags(u8 *s, va_list *args)
enum mfib_entry_attribute_t_ mfib_entry_attribute_t
#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.
static const char * mfib_itf_flag_names[]
#define MFIB_ENTRY_NAMES_LONG
ip6_address_t fib_masks[129]
uword unformat_mfib_entry_flags(unformat_input_t *input, va_list *args)
enum mfib_itf_attribute_t_ mfib_itf_attribute_t
Aggregrate type for a prefix.
#define VLIB_CLI_COMMAND(x,...)
static uword ip6_address_is_zero(ip6_address_t *a)
#define MFIB_ENTRY_NAMES_SHORT
#define MFIB_ITF_NAMES_LONG
fib_protocol_t fp_proto
protocol type
#define MFIB_ITF_NAMES_SHORT
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.
void vlib_cli_output(vlib_main_t *vm, char *fmt,...)
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.