aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet
diff options
context:
space:
mode:
authorVladimir Ratnikov <vratnikov@netgate.com>2020-02-28 08:48:21 -0500
committerPaul Vinciguerra <pvinci@vinciconsulting.com>2020-03-06 16:07:59 +0000
commit9c1928f8120aaad078101a18beb19c748d1f0d48 (patch)
tree905199bf5e7ee0f1d7b9bfecce22cc9c9fc94481 /src/vnet
parentd8da60d05c1669bfaf1f5c1a88b82673d816438c (diff)
ip-neighbor: populate neighbor age via API
When we get ip-neigbor information using VPP API, it's age can be very useful information. This patch adds age entry to API and neighbor type Type: feature Signed-off-by: Vladimir Ratnikov <vratnikov@netgate.com> Change-Id: I822e70ba7a2bdd85fec40930cfc9341ab71f7cb3
Diffstat (limited to 'src/vnet')
-rw-r--r--src/vnet/ip-neighbor/ip_neighbor.api1
-rw-r--r--src/vnet/ip-neighbor/ip_neighbor_api.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/src/vnet/ip-neighbor/ip_neighbor.api b/src/vnet/ip-neighbor/ip_neighbor.api
index a8fb24a712c..4d81a7c9f3a 100644
--- a/src/vnet/ip-neighbor/ip_neighbor.api
+++ b/src/vnet/ip-neighbor/ip_neighbor.api
@@ -99,6 +99,7 @@ define ip_neighbor_dump
*/
define ip_neighbor_details {
u32 context;
+ f64 age;
vl_api_ip_neighbor_t neighbor;
};
diff --git a/src/vnet/ip-neighbor/ip_neighbor_api.c b/src/vnet/ip-neighbor/ip_neighbor_api.c
index f626577ef0e..ec1e493f368 100644
--- a/src/vnet/ip-neighbor/ip_neighbor_api.c
+++ b/src/vnet/ip-neighbor/ip_neighbor_api.c
@@ -133,6 +133,9 @@ send_ip_neighbor_details (index_t ipni, void *arg)
clib_memset (mp, 0, sizeof (*mp));
mp->_vl_msg_id = ntohs (VL_API_IP_NEIGHBOR_DETAILS + REPLY_MSG_ID_BASE);
mp->context = ctx->context;
+ mp->age =
+ clib_host_to_net_f64 ((vlib_time_now (vlib_get_main ()) -
+ ipn->ipn_time_last_updated));
ip_neighbor_encode (&mp->neighbor, ipn);
vl_api_send_msg (ctx->reg, (u8 *) mp);