STATS: Dynamically mapped shared memory segment
[vpp.git] / src / vpp / stats / stats.c
index 66d9d32..5eea25e 100644 (file)
@@ -2348,7 +2348,6 @@ static clib_error_t *
 stats_socket_accept_ready (clib_file_t * uf)
 {
   stats_main_t *sm = &stats_main;
-  ssvm_private_t *ssvmp = &sm->stat_segment;
   clib_error_t *err;
   clib_socket_t client = { 0 };
 
@@ -2360,7 +2359,7 @@ stats_socket_accept_ready (clib_file_t * uf)
     }
 
   /* Send the fd across and close */
-  err = clib_socket_sendmsg (&client, 0, 0, &ssvmp->fd, 1);
+  err = clib_socket_sendmsg (&client, 0, 0, &sm->memfd, 1);
   if (err)
     clib_error_report (err);
   clib_socket_close (&client);
@@ -2451,7 +2450,7 @@ static void
   vl_api_stats_get_poller_delay_reply_t *rmp;
 
   rmp = vl_msg_api_alloc (sizeof (*rmp));
-  rmp->_vl_msg_id = ntohs (VL_API_WANT_PER_INTERFACE_SIMPLE_STATS_REPLY);
+  rmp->_vl_msg_id = ntohs (VL_API_STATS_GET_POLLER_DELAY_REPLY);
   rmp->context = mp->context;
   rmp->retval = 0;
   rmp->delay = clib_host_to_net_u32 (sm->stats_poll_interval_in_seconds);
@@ -2474,12 +2473,12 @@ stats_thread_fn (void *arg)
     pthread_sigmask (SIG_SETMASK, &s, 0);
   }
 
+  clib_mem_set_heap (w->thread_mheap);
+
   if (vec_len (tm->thread_prefix))
     vlib_set_thread_name ((char *)
                          format (0, "%v_stats%c", tm->thread_prefix, '\0'));
 
-  clib_mem_set_heap (w->thread_mheap);
-
   while (1)
     {
       ip46_fib_stats_delay (sm, sm->stats_poll_interval_in_seconds,