flow:add enabled hw format function 26/12826/2
authorEyal Bari <ebari@cisco.com>
Thu, 31 May 2018 08:30:16 +0000 (11:30 +0300)
committerJohn Lo <loj@cisco.com>
Mon, 4 Jun 2018 14:27:52 +0000 (14:27 +0000)
Change-Id: Ide1f76e9207b6022d5258a119f8d59cca85651b5
Signed-off-by: Eyal Bari <ebari@cisco.com>
src/vnet/flow/flow.h
src/vnet/flow/flow_cli.c

index bc9b2f1..19b6761 100644 (file)
@@ -181,6 +181,7 @@ typedef struct
 extern vnet_flow_main_t flow_main;
 
 format_function_t format_flow_actions;
+format_function_t format_flow_enabled_hw;
 
 #endif /* included_vnet_flow_flow_h */
 
index 11f3bcf..27f2d38 100644 (file)
@@ -90,6 +90,30 @@ format_flow_actions (u8 * s, va_list * args)
   return s;
 }
 
+u8 *
+format_flow_enabled_hw (u8 * s, va_list * args)
+{
+  u32 flow_index = va_arg (*args, u32);
+  vnet_flow_t *f = vnet_get_flow (flow_index);
+  if (f == 0)
+    return format (s, "not found");
+
+  u8 *t = 0;
+  u32 hw_if_index;
+  uword private_data;
+  vnet_main_t *vnm = vnet_get_main ();
+  /* *INDENT-OFF* */
+  hash_foreach (hw_if_index, private_data, f->private_data,
+    ({
+     t = format (t, "%s%U", t ? ", " : "",
+                 format_vnet_hw_if_index_name, vnm, hw_if_index);
+     }));
+  /* *INDENT-ON* */
+  s = format (s, "%v", t);
+  vec_free (t);
+  return s;
+}
+
 static const char *flow_type_strings[] = { 0,
 #define _(a,b,c) c,
   foreach_flow_type