vpp: set asan default options
[vpp.git] / src / vpp / api / gmon.c
index 20deb6a..ff561ef 100644 (file)
@@ -31,7 +31,6 @@
 #include <vppinfra/bitmap.h>
 #include <vppinfra/fifo.h>
 #include <vppinfra/time.h>
-#include <vppinfra/mheap.h>
 #include <vppinfra/heap.h>
 #include <vppinfra/pool.h>
 #include <vppinfra/format.h>
@@ -59,17 +58,9 @@ typedef struct
 
 } gmon_main_t;
 
-#if DPDK == 0
-static inline u64
-vnet_get_aggregate_rx_packets (void)
-{
-  return 0;
-}
-#else
 #include <vlib/vlib.h>
 #include <vnet/vnet.h>
-#include <vnet/devices/dpdk/dpdk.h>
-#endif
+#include <vnet/devices/devices.h>
 
 gmon_main_t gmon_main;
 
@@ -83,8 +74,8 @@ get_significant_errors (gmon_main_t * gm)
   u64 significant_errors = 0;
 
   /* *INDENT-OFF* */
-  clib_bitmap_foreach (code, gm->sig_error_bitmap,
-  ({
+  clib_bitmap_foreach (code, gm->sig_error_bitmap)
+   {
     for (vm_index = 0; vm_index < vec_len (gm->my_vlib_mains); vm_index++)
       {
         this_vlib_main = gm->my_vlib_mains[vm_index];
@@ -93,7 +84,7 @@ get_significant_errors (gmon_main_t * gm)
           ((vec_len(em->counters_last_clear) > code) ?
            em->counters_last_clear[code] : 0);
       }
-  }));
+  }
   /* *INDENT-ON* */
 
   return (significant_errors);
@@ -130,13 +121,8 @@ gmon_process (vlib_main_t * vm, vlib_node_runtime_t * rt, vlib_frame_t * f)
   /* Initial wait for the world to settle down */
   vlib_process_suspend (vm, 5.0);
 
-  if (vec_len (vlib_mains) == 0)
-    vec_add1 (gm->my_vlib_mains, &vlib_global_main);
-  else
-    {
-      for (i = 0; i < vec_len (vlib_mains); i++)
-       vec_add1 (gm->my_vlib_mains, vlib_mains[i]);
-    }
+  for (i = 0; i < vlib_get_n_threads (); i++)
+    vec_add1 (gm->my_vlib_mains, vlib_mains[i]);
 
   while (1)
     {
@@ -171,7 +157,7 @@ static clib_error_t *
 gmon_init (vlib_main_t * vm)
 {
   gmon_main_t *gm = &gmon_main;
-  api_main_t *am = &api_main;
+  api_main_t *am = vlibapi_get_main ();
   pid_t *swp = 0;
   f64 *v = 0;
   clib_error_t *error;
@@ -185,7 +171,7 @@ gmon_init (vlib_main_t * vm)
 
   gm->vlib_main = vm;
 
-  memset (ma, 0, sizeof (*ma));
+  clib_memset (ma, 0, sizeof (*ma));
   ma->root_path = am->root_path;
   ma->uid = am->api_uid;
   ma->gid = am->api_gid;