X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvpp%2Fstats%2Fstat_segment.c;h=793936bf08fe11beab00d0736113ad05675a4edc;hb=c6cb18b29d50d522d54b04587b13becc8363ec5c;hp=7ae1316736df06a401d3a45818a1806f1745774d;hpb=95b1b10e54545132ba55821e32c2f1a48d0e0e16;p=vpp.git diff --git a/src/vpp/stats/stat_segment.c b/src/vpp/stats/stat_segment.c index 7ae1316736d..793936bf08f 100644 --- a/src/vpp/stats/stat_segment.c +++ b/src/vpp/stats/stat_segment.c @@ -21,7 +21,7 @@ #include /* vnet_get_aggregate_rx_packets */ #undef HAVE_MEMFD_CREATE #include - +#include stat_segment_main_t stat_segment_main; /* @@ -115,7 +115,6 @@ vlib_stats_pop_heap (void *cm_arg, void *oldheap, stat_directory_type_t type) strncpy (e.name, stat_segment_name, 128 - 1); e.type = type; vec_add1 (sm->directory_vector, e); - vector_index++; } stat_segment_directory_entry_t *ep = &sm->directory_vector[vector_index]; @@ -573,6 +572,19 @@ stats_segment_socket_init (void) sm->socket = s; } +static clib_error_t * +stats_segment_socket_exit (vlib_main_t * vm) +{ + /* + * cleanup the listener socket on exit. + */ + stat_segment_main_t *sm = &stat_segment_main; + unlink ((char *) sm->socket_name); + return 0; +} + +VLIB_MAIN_LOOP_EXIT_FUNCTION (stats_segment_socket_exit); + static uword stat_segment_collector_process (vlib_main_t * vm, vlib_node_runtime_t * rt, vlib_frame_t * f) @@ -611,6 +623,9 @@ statseg_config (vlib_main_t * vm, unformat_input_t * input) { stat_segment_main_t *sm = &stat_segment_main; + /* set default socket file name when statseg config stanza is empty. */ + sm->socket_name = format (0, "%s", STAT_SEGMENT_SOCKET_FILE); + while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT) { if (unformat (input, "socket-name %s", &sm->socket_name))