64 bit per-thread counters
[vpp.git] / src / vpp / stats / stats.c
index 5e9b0d6..1927da0 100644 (file)
@@ -46,7 +46,6 @@ stats_main_t stats_main;
 
 #define foreach_stats_msg                               \
 _(WANT_STATS, want_stats)                               \
-_(WANT_STATS_REPLY, want_stats_reply)                   \
 _(VNET_INTERFACE_COUNTERS, vnet_interface_counters)     \
 _(VNET_IP4_FIB_COUNTERS, vnet_ip4_fib_counters)         \
 _(VNET_IP6_FIB_COUNTERS, vnet_ip6_fib_counters)         \
@@ -135,7 +134,7 @@ do_simple_interface_counters (stats_main_t * sm)
   vlib_simple_counter_main_t *cm;
   u32 items_this_message = 0;
   u64 v, *vp = 0;
-  int i;
+  int i, n_counts;
 
   /*
    * Prevent interface registration from expanding / moving the vectors...
@@ -145,13 +144,13 @@ do_simple_interface_counters (stats_main_t * sm)
 
   vec_foreach (cm, im->sw_if_counters)
   {
-
-    for (i = 0; i < vec_len (cm->maxi); i++)
+    n_counts = vlib_simple_counter_n_counters (cm);
+    for (i = 0; i < n_counts; i++)
       {
        if (mp == 0)
          {
            items_this_message = clib_min (SIMPLE_COUNTER_BATCH_SIZE,
-                                          vec_len (cm->maxi) - i);
+                                          n_counts - i);
 
            mp = vl_msg_api_alloc_as_if_client
              (sizeof (*mp) + items_this_message * sizeof (v));
@@ -190,19 +189,19 @@ do_combined_interface_counters (stats_main_t * sm)
   vlib_combined_counter_main_t *cm;
   u32 items_this_message = 0;
   vlib_counter_t v, *vp = 0;
-  int i;
+  int i, n_counts;
 
   vnet_interface_counter_lock (im);
 
   vec_foreach (cm, im->combined_sw_if_counters)
   {
-
-    for (i = 0; i < vec_len (cm->maxi); i++)
+    n_counts = vlib_combined_counter_n_counters (cm);
+    for (i = 0; i < n_counts; i++)
       {
        if (mp == 0)
          {
            items_this_message = clib_min (COMBINED_COUNTER_BATCH_SIZE,
-                                          vec_len (cm->maxi) - i);
+                                          n_counts - i);
 
            mp = vl_msg_api_alloc_as_if_client
              (sizeof (*mp) + items_this_message * sizeof (v));
@@ -1226,12 +1225,6 @@ vl_api_vnet_ip6_nbr_counters_t_handler (vl_api_vnet_ip6_nbr_counters_t * mp)
     }
 }
 
-static void
-vl_api_want_stats_reply_t_handler (vl_api_want_stats_reply_t * mp)
-{
-  clib_warning ("BUG");
-}
-
 static void
 vl_api_want_stats_t_handler (vl_api_want_stats_t * mp)
 {