L2 feautre bitmaps output verbose/non-verbose mode

Change-Id: I15ff191ee8724a3354c074db590472db05e0652e
Signed-off-by: Neale Ranns <nranns@cisco.com>
diff --git a/src/vnet/interface_cli.c b/src/vnet/interface_cli.c
index b11d35e..b15d283 100644
--- a/src/vnet/interface_cli.c
+++ b/src/vnet/interface_cli.c
@@ -326,14 +326,15 @@
       /* 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)
diff --git a/src/vnet/l2/l2_input.c b/src/vnet/l2/l2_input.c
index 85daba5..28b8697 100644
--- a/src/vnet/l2/l2_input.c
+++ b/src/vnet/l2/l2_input.c
@@ -71,6 +71,7 @@
 #undef _
   };
   u32 feature_bitmap = va_arg (*args, u32);
+  u32 verbose = va_arg (*args, u32);
 
   if (feature_bitmap == 0)
     {
@@ -81,8 +82,16 @@
   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;
 }
 
diff --git a/src/vnet/l2/l2_input.h b/src/vnet/l2/l2_input.h
index 57fca57..4a5cf6c 100644
--- a/src/vnet/l2/l2_input.h
+++ b/src/vnet/l2/l2_input.h
@@ -152,7 +152,7 @@
 /** 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
diff --git a/src/vnet/l2/l2_output.c b/src/vnet/l2/l2_output.c
index 31e3f06..27b838f 100644
--- a/src/vnet/l2/l2_output.c
+++ b/src/vnet/l2/l2_output.c
@@ -50,6 +50,7 @@
 #undef _
   };
   u32 feature_bitmap = va_arg (*args, u32);
+  u32 verbose = va_arg (*args, u32);
 
   if (feature_bitmap == 0)
     {
@@ -59,8 +60,18 @@
 
   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;
 }
 
diff --git a/src/vnet/l2/l2_output.h b/src/vnet/l2/l2_output.h
index 33eeb8e..74d2829 100644
--- a/src/vnet/l2/l2_output.h
+++ b/src/vnet/l2/l2_output.h
@@ -141,7 +141,7 @@
 /* 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);
 
 /**