From 1ddbc0138b64486b8e51e5e12fcad21fba8b8b68 Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Wed, 13 Jun 2018 09:26:05 -0400 Subject: Stat segment / client: show run" works now Seems to have minimal-to-zero performance consequences. Data appears accurate: result match the debug CLI output. Checked at low rates, 27 MPPS sprayed across two worker threads. Change-Id: I09ede5150b88a91547feeee448a2854997613004 Signed-off-by: Dave Barach --- src/vlibapi/api.h | 2 +- src/vlibapi/node_serialize.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'src/vlibapi') diff --git a/src/vlibapi/api.h b/src/vlibapi/api.h index 48c3813452e..7238a31f2f3 100644 --- a/src/vlibapi/api.h +++ b/src/vlibapi/api.h @@ -117,7 +117,7 @@ void vl_msg_api_add_version (api_main_t * am, const char *string, /* node_serialize.c prototypes */ u8 *vlib_node_serialize (vlib_main_t * vm, vlib_node_t *** node_dups, u8 * vector, int include_nexts, int include_stats); -vlib_node_t **vlib_node_unserialize (u8 * vector); +vlib_node_t ***vlib_node_unserialize (u8 * vector); u32 vl_msg_api_get_msg_length (void *msg_arg); diff --git a/src/vlibapi/node_serialize.c b/src/vlibapi/node_serialize.c index 575de11b8cc..b50d79e2922 100644 --- a/src/vlibapi/node_serialize.c +++ b/src/vlibapi/node_serialize.c @@ -124,6 +124,7 @@ vlib_node_serialize (vlib_main_t * vm, vlib_node_t *** node_dups, u8 * vector, serialize_likely_small_unsigned_integer (sm, (u64) state_code); serialize_likely_small_unsigned_integer (sm, n->type); + serialize_likely_small_unsigned_integer (sm, n->flags); if (include_nexts) { @@ -152,7 +153,6 @@ vlib_node_serialize (vlib_main_t * vm, vlib_node_t *** node_dups, u8 * vector, else /* no stats */ serialize_likely_small_unsigned_integer (sm, 0); } - vec_free (nodes); } return (serialize_close_vector (sm)); } @@ -197,6 +197,7 @@ vlib_node_unserialize (u8 * vector) node->state_string = (u8 *) state_strings[state_code]; node->type = unserialize_likely_small_unsigned_integer (sm); + node->flags = unserialize_likely_small_unsigned_integer (sm); nnexts = unserialize_likely_small_unsigned_integer (sm); if (nnexts > 0) vec_validate (node->next_nodes, nnexts - 1); -- cgit 1.2.3-korg