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 };
}
/* 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);
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);
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,
vl_api_vnet_get_summary_stats_reply_t *rmp;
vlib_combined_counter_main_t *cm;
vlib_counter_t v;
+ vnet_interface_counter_type_t ct;
int i, which;
- u64 total_pkts[VLIB_N_RX_TX];
- u64 total_bytes[VLIB_N_RX_TX];
+ u64 total_pkts[VNET_N_COMBINED_INTERFACE_COUNTER];
+ u64 total_bytes[VNET_N_COMBINED_INTERFACE_COUNTER];
vl_api_registration_t *reg;
reg = vl_api_client_index_to_registration (mp->client_index);
}
vnet_interface_counter_unlock (im);
- rmp->total_pkts[VLIB_RX] = clib_host_to_net_u64 (total_pkts[VLIB_RX]);
- rmp->total_bytes[VLIB_RX] = clib_host_to_net_u64 (total_bytes[VLIB_RX]);
- rmp->total_pkts[VLIB_TX] = clib_host_to_net_u64 (total_pkts[VLIB_TX]);
- rmp->total_bytes[VLIB_TX] = clib_host_to_net_u64 (total_bytes[VLIB_TX]);
+ foreach_rx_combined_interface_counter (ct)
+ {
+ rmp->total_pkts[ct] = clib_host_to_net_u64 (total_pkts[ct]);
+ rmp->total_bytes[ct] = clib_host_to_net_u64 (total_bytes[ct]);
+ }
+
+ foreach_tx_combined_interface_counter (ct)
+ {
+ rmp->total_pkts[ct] = clib_host_to_net_u64 (total_pkts[ct]);
+ rmp->total_bytes[ct] = clib_host_to_net_u64 (total_bytes[ct]);
+ }
rmp->vector_rate =
clib_host_to_net_u64 (vlib_last_vector_length_per_node (sm->vlib_main));