aboutsummaryrefslogtreecommitdiffstats
path: root/src/vpp-api
diff options
context:
space:
mode:
authorOle Troan <ot@cisco.com>2019-06-14 10:26:14 +0200
committerDamjan Marion <dmarion@me.com>2019-06-14 11:52:50 +0000
commitb63dbc537c02b1978345744ab34765b2d75011a6 (patch)
treef091896b18f53b2eb3b2af6ca44bd323567c03de /src/vpp-api
parenta6bee0a11a07e4e1e4ac67e5041e9ad197766ba2 (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-api')
-rw-r--r--src/vpp-api/client/stat_client.c14
-rw-r--r--src/vpp-api/client/stat_client.h2
-rw-r--r--src/vpp-api/python/vpp_papi/vpp_stats.py3
3 files changed, 19 insertions, 0 deletions
diff --git a/src/vpp-api/client/stat_client.c b/src/vpp-api/client/stat_client.c
index 8991806448a..cfe213d938a 100644
--- a/src/vpp-api/client/stat_client.c
+++ b/src/vpp-api/client/stat_client.c
@@ -509,6 +509,20 @@ stat_segment_index_to_name (uint32_t index)
return stat_segment_index_to_name_r (index, sm);
}
+uint64_t
+stat_segment_version_r (stat_client_main_t * sm)
+{
+ ASSERT (sm->shared_header);
+ return sm->shared_header->version;
+}
+
+uint64_t
+stat_segment_version (void)
+{
+ stat_client_main_t *sm = &stat_client_main;
+ return stat_segment_version_r (sm);
+}
+
/*
* fd.io coding-style-patch-verification: ON
*
diff --git a/src/vpp-api/client/stat_client.h b/src/vpp-api/client/stat_client.h
index 901ec325522..12faddb7bce 100644
--- a/src/vpp-api/client/stat_client.h
+++ b/src/vpp-api/client/stat_client.h
@@ -78,6 +78,8 @@ double stat_segment_heartbeat (void);
char *stat_segment_index_to_name_r (uint32_t index, stat_client_main_t * sm);
char *stat_segment_index_to_name (uint32_t index);
+uint64_t stat_segment_version (void);
+uint64_t stat_segment_version_r (stat_client_main_t * sm);
#endif /* included_stat_client_h */
diff --git a/src/vpp-api/python/vpp_papi/vpp_stats.py b/src/vpp-api/python/vpp_papi/vpp_stats.py
index de72249ac6b..590549a17bd 100644
--- a/src/vpp-api/python/vpp_papi/vpp_stats.py
+++ b/src/vpp-api/python/vpp_papi/vpp_stats.py
@@ -49,6 +49,7 @@ typedef struct
typedef struct
{
+ uint64_t version;
uint64_t epoch;
uint64_t in_progress;
uint64_t directory_offset;
@@ -82,6 +83,8 @@ double stat_segment_heartbeat_r (stat_client_main_t * sm);
int stat_segment_vec_len(void *vec);
uint8_t **stat_segment_string_vector(uint8_t **string_vector, char *string);
char *stat_segment_index_to_name_r (uint32_t index, stat_client_main_t * sm);
+uint64_t stat_segment_version(void);
+uint64_t stat_segment_version_r(stat_client_main_t *sm);
void free(void *ptr);
""")