s = format (s, "%U locks:%d input-feats:%U output-feats:%U",
format_vnet_sw_if_index_name, vnet_get_main (),
- gi->gi_sw_if_index, gi->gi_locks, format_l2_input_features,
- gi->gi_l2_input_fb, format_l2_output_features,
+ gi->gi_sw_if_index, gi->gi_locks, format_l2_input_features, 0,
+ gi->gi_l2_input_fb, format_l2_output_features, 0,
gi->gi_l2_output_fb);
return (s);
/* intf input features are masked by bridge domain */
if (l2_input->bridge)
fb &= l2input_bd_config (l2_input->bd_index)->feature_bitmap;
- vlib_cli_output (vm, "\nl2-input:\n%U", format_l2_input_features, fb);
+ vlib_cli_output (vm, "\nl2-input:\n%U", format_l2_input_features, fb,
+ 1);
l2_output_config_t *l2_output = l2output_intf_config (sw_if_index);
vlib_cli_output (vm, "\nl2-output:");
if (l2_output->out_vtr_flag)
vlib_cli_output (vm, "%10s (%s)", "VTR", "--internal--");
vlib_cli_output (vm, "%U", format_l2_output_features,
- l2_output->feature_bitmap);
+ l2_output->feature_bitmap, 1);
return 0;
}
if (show_tag)
#undef _
};
u32 feature_bitmap = va_arg (*args, u32);
+ u32 verbose = va_arg (*args, u32);
if (feature_bitmap == 0)
{
feature_bitmap &= ~L2INPUT_FEAT_DROP; /* Not a feature */
int i;
for (i = L2INPUT_N_FEAT; i >= 0; i--)
- if (feature_bitmap & (1 << i))
- s = format (s, "%17s (%s)\n", display_names[i], l2input_feat_names[i]);
+ {
+ if (feature_bitmap & (1 << i))
+ {
+ if (verbose)
+ s = format (s, "%17s (%s)\n",
+ display_names[i], l2input_feat_names[i]);
+ else
+ s = format (s, "%s ", l2input_feat_names[i]);
+ }
+ }
return s;
}
/** Return an array of strings containing graph node names of each feature */
char **l2input_get_feat_names (void);
-/* arg0 - u32 feature_bitmap */
+/* arg0 - u32 feature_bitmap, arg1 - u32 verbose */
u8 *format_l2_input_features (u8 * s, va_list * args);
static_always_inline u8
#undef _
};
u32 feature_bitmap = va_arg (*args, u32);
+ u32 verbose = va_arg (*args, u32);
if (feature_bitmap == 0)
{
int i;
for (i = L2OUTPUT_N_FEAT - 1; i >= 0; i--)
- if (feature_bitmap & (1 << i))
- s = format (s, "%17s (%s)\n", display_names[i], l2output_feat_names[i]);
+ {
+ if (feature_bitmap & (1 << i))
+ {
+ if (verbose)
+ s =
+ format (s, "%17s (%s)\n", display_names[i],
+ l2output_feat_names[i]);
+ else
+ s = format (s, "%s ", l2output_feat_names[i]);
+ }
+ }
+
return s;
}
/* Return an array of strings containing graph node names of each feature */
char **l2output_get_feat_names (void);
-/* arg0 - u32 feature_bitmap */
+/* arg0 - u32 feature_bitmap, arg1 - u32 verbose */
u8 *format_l2_output_features (u8 * s, va_list * args);
/**