#include <vppinfra/error.h> /* for ASSERT */
#include <vppinfra/serialize.h>
#include <vppinfra/time.h> /* for clib_cpu_time_now */
+#include <vppinfra/hash.h>
#include <vppinfra/mhash.h>
typedef struct
/** Events may refer to strings in string table. */
char *string_table;
+ uword *string_table_hash;
+ u8 *string_table_tmp;
/** Vector of tracks. */
elog_track_t *tracks;
ASSERT (is_pow2 (vec_len (em->event_ring)));
if (em->lock)
- ei = clib_smp_atomic_add (&em->n_total_events, 1);
+ ei = clib_atomic_fetch_add (&em->n_total_events, 1);
else
ei = em->n_total_events++;
/* 2 arguments elog_main_t and elog_event_t to format event or track name. */
u8 *format_elog_event (u8 * s, va_list * va);
-u8 *format_elog_track (u8 * s, va_list * va);
+u8 *format_elog_track_name (u8 * s, va_list * va);
+u8 *format_elog_track (u8 * s, va_list * args);
void serialize_elog_main (serialize_main_t * m, va_list * va);
void unserialize_elog_main (serialize_main_t * m, va_list * va);