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
diff --git a/src/vnet/ip-neighbor/ip_neighbor.api b/src/vnet/ip-neighbor/ip_neighbor.api
index a8fb24a..4d81a7c 100644
--- a/src/vnet/ip-neighbor/ip_neighbor.api
+++ b/src/vnet/ip-neighbor/ip_neighbor.api
@@ -99,6 +99,7 @@
 */
 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 f626577..ec1e493 100644
--- a/src/vnet/ip-neighbor/ip_neighbor_api.c
+++ b/src/vnet/ip-neighbor/ip_neighbor_api.c
@@ -133,6 +133,9 @@
   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);