aboutsummaryrefslogtreecommitdiffstats
path: root/src/vlib/error.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vlib/error.h')
-rw-r--r--src/vlib/error.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/vlib/error.h b/src/vlib/error.h
index 0da3a18d85d..11757e05f67 100644
--- a/src/vlib/error.h
+++ b/src/vlib/error.h
@@ -42,6 +42,20 @@
typedef u16 vlib_error_t;
+enum vl_counter_severity_e
+{
+ VL_COUNTER_SEVERITY_ERROR,
+ VL_COUNTER_SEVERITY_WARN,
+ VL_COUNTER_SEVERITY_INFO,
+};
+
+typedef struct
+{
+ char *name;
+ char *desc;
+ enum vl_counter_severity_e severity;
+} vl_counter_t;
+
typedef struct
{
/* Error counters. */
@@ -50,15 +64,16 @@ typedef struct
/* Counter values as of last counter clear. */
u64 *counters_last_clear;
- /* Error name strings in heap. Heap index
+ /* Counter structures in heap. Heap index
indexes counter vector. */
- char **error_strings_heap;
+ vl_counter_t *counters_heap;
} vlib_error_main_t;
/* Per node error registration. */
void vlib_register_errors (struct vlib_main_t *vm,
u32 node_index,
- u32 n_errors, char *error_strings[]);
+ u32 n_errors, char *error_strings[],
+ vl_counter_t counters[]);
#endif /* included_vlib_error_h */