X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlib%2Ferror.c;h=a416649cfa794d3a558515f204480fae3111b8a7;hb=ad64687e8bc3e208797ce1d5b16936f51d6cf632;hp=368118210e61f0d931a2b9d19dd4421596ddda21;hpb=048a4e5a000017d0d632ebf02dcc23d9bf9ccf72;p=vpp.git diff --git a/src/vlib/error.c b/src/vlib/error.c index 368118210e6..a416649cfa7 100644 --- a/src/vlib/error.c +++ b/src/vlib/error.c @@ -109,40 +109,10 @@ vlib_error_drop_buffers (vlib_main_t * vm, return n_buffers; } -/* Convenience node to drop a vector of buffers with a "misc error". */ -static uword -misc_drop_buffers (vlib_main_t * vm, - vlib_node_runtime_t * node, vlib_frame_t * frame) -{ - return vlib_error_drop_buffers (vm, node, vlib_frame_args (frame), - /* buffer stride */ 1, - frame->n_vectors, - /* next */ 0, - node->node_index, - /* error */ 0); -} - -static char *misc_drop_buffers_error_strings[] = { - [0] = "misc. errors", -}; - -/* *INDENT-OFF* */ -VLIB_REGISTER_NODE (misc_drop_buffers_node,static) = { - .function = misc_drop_buffers, - .name = "misc-drop-buffers", - .vector_size = sizeof (u32), - .n_errors = 1, - .n_next_nodes = 1, - .next_nodes = { - "error-drop", - }, - .error_strings = misc_drop_buffers_error_strings, -}; -/* *INDENT-ON* */ - -void vlib_stats_register_error_index (u8 *, u64) __attribute__ ((weak)); +void vlib_stats_register_error_index (u8 *, u64 *, u64) + __attribute__ ((weak)); void -vlib_stats_register_error_index (u8 * notused, u64 notused2) +vlib_stats_register_error_index (u8 * notused, u64 * notused2, u64 notused3) { }; @@ -198,8 +168,8 @@ vlib_register_errors (vlib_main_t * vm, em->counters_last_clear + n->error_heap_index, n_errors * sizeof (em->counters[0])); else - memset (em->counters + n->error_heap_index, - 0, n_errors * sizeof (em->counters[0])); + clib_memset (em->counters + n->error_heap_index, + 0, n_errors * sizeof (em->counters[0])); /* Register counter indices in the stat segment directory */ { @@ -208,9 +178,10 @@ vlib_register_errors (vlib_main_t * vm, for (i = 0; i < n_errors; i++) { - error_name = format (0, "/err/%s%c", error_strings[i], 0); + error_name = format (0, "/err/%v/%s%c", n->name, error_strings[i], 0); /* Note: error_name consumed by the following call */ - vlib_stats_register_error_index (error_name, n->error_heap_index + i); + vlib_stats_register_error_index (error_name, em->counters, + n->error_heap_index + i); } } @@ -221,7 +192,7 @@ vlib_register_errors (vlib_main_t * vm, elog_event_type_t t; uword i; - memset (&t, 0, sizeof (t)); + clib_memset (&t, 0, sizeof (t)); for (i = 0; i < n_errors; i++) { t.format = (char *) format (0, "%v %s: %%d",