diff options
author | Ole Troan <ot@cisco.com> | 2019-06-14 10:26:14 +0200 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2019-06-14 11:52:50 +0000 |
commit | b63dbc537c02b1978345744ab34765b2d75011a6 (patch) | |
tree | f091896b18f53b2eb3b2af6ca44bd323567c03de /src/vpp | |
parent | a6bee0a11a07e4e1e4ac67e5041e9ad197766ba2 (diff) |
stats: add version field to stat segment base header
Add a version in the base header of the stat segment
To make support for multiple reader implementations safer.
Change-Id: I6816e2a51a98c2df1e621e80d4ef0b4ba4e9f47b
Type: feature
Signed-off-by: Ole Troan <ot@cisco.com>
Diffstat (limited to 'src/vpp')
-rw-r--r-- | src/vpp/stats/stat_segment.c | 3 | ||||
-rw-r--r-- | src/vpp/stats/stat_segment.h | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/vpp/stats/stat_segment.c b/src/vpp/stats/stat_segment.c index 61b21babbe3..cef792fc622 100644 --- a/src/vpp/stats/stat_segment.c +++ b/src/vpp/stats/stat_segment.c @@ -272,6 +272,9 @@ vlib_map_stat_segment_init (void) sm->directory_vector_by_name = hash_create_string (0, sizeof (uword)); sm->shared_header = shared_header = memaddr; + + shared_header->version = STAT_SEGMENT_VERSION; + sm->stat_segment_lockp = clib_mem_alloc (sizeof (clib_spinlock_t)); clib_spinlock_init (sm->stat_segment_lockp); diff --git a/src/vpp/stats/stat_segment.h b/src/vpp/stats/stat_segment.h index b9ffedf2169..113eb9a25ad 100644 --- a/src/vpp/stats/stat_segment.h +++ b/src/vpp/stats/stat_segment.h @@ -70,11 +70,15 @@ typedef struct /* Default stat segment 32m */ #define STAT_SEGMENT_DEFAULT_SIZE (32<<20) +/* Shared segment memory layout version */ +#define STAT_SEGMENT_VERSION 1 + /* * Shared header first in the shared memory segment. */ typedef struct { + u64 version; atomic_int_fast64_t epoch; atomic_int_fast64_t in_progress; atomic_int_fast64_t directory_offset; |