BIER neighbor stats
[vpp.git] / src / vpp / stats / stats.api
index 72e03b0..5d00908 100644 (file)
     This file defines the stats API 
 */
 
-option version = "1.0.0";
+option version = "1.0.1";
 
 import "vnet/interface.api";
+import "vnet/bier/bier.api";
 
 service {
   rpc want_stats
@@ -58,6 +59,9 @@ service {
   rpc want_udp_encap_stats
     returns want_udp_encap_stats_reply
     events vnet_udp_encap_counters;
+  rpc want_bier_neighbor_stats
+    returns want_bier_neighbor_stats_reply
+    events vnet_bier_neighbor_counters;
 };
 
 /** \brief Want Stats, enable/disable ALL stats updates
@@ -472,6 +476,41 @@ manual_print manual_endian define vnet_udp_encap_counters
   vl_api_udp_encap_counter_t c[count];
 };
 
+/** \brief Want BIER neighbor Stats, register for continuous stats
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param enable - 1 = enable stats, 0 = disable
+    @param pid - pid of process requesting stats updates
+*/
+autoreply define want_bier_neighbor_stats
+{
+  u32 client_index;
+  u32 context;
+  u32 enable;
+  u32 pid;
+};
+
+/** \brief Stat for one BIER neighbor object
+    @param tbl_id - The BIER Table ID the neighbour belongs to.
+    @param path - The path describing the negihbor (this is the data
+                  given during a BIER route add)
+    @param packets - number of packets sent
+    @param bytes - number of bytes sent
+*/
+typeonly manual_print manual_endian define bier_neighbor_counter
+{
+  vl_api_bier_table_id_t tbl_id;
+  vl_api_fib_path_t path;
+  u64 packets;
+  u64 bytes;
+};
+
+manual_print manual_endian define vnet_bier_neighbor_counters
+{
+  u32 timestamp;
+  u32 count;
+  vl_api_bier_neighbor_counter_t c[count];
+};
 
 /*
  * Local Variables: