stats: Deprecate old stats framework
[vpp.git] / src / vnet / interface.api
index fdf34f0..69de722 100644 (file)
@@ -1,4 +1,22 @@
-option version = "2.1.0";
+/* Hey Emacs use -*- mode: C -*- */
+/*
+ * Copyright (c) 2018 Cisco and/or its affiliates.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+option version = "2.2.0";
+
+import "vnet/interface_types.api";
 
 service {
   rpc want_interface_events returns want_interface_events_reply
@@ -99,7 +117,7 @@ autoreply define want_interface_events
     @param pid - the interface's l2 address
     @param interface_name - name of the interface
     @param link_duplex - 1 if half duplex, 2 if full duplex
-    @param link_speed - 1 = 10M, 2 = 100M, 4 = 1G, 8 = 10G, 16 = 40G, 32 = 100G
+    @param link_speed - value in kbps
     @param link_MTU - max. transmission unit
     @param sub_if_id - A number 0-N to uniquely identify this subif on super if
     @param sub_dot1ad - 0 = dot1q, 1 = dot1ad
@@ -144,8 +162,8 @@ define sw_interface_details
   /* 1 = half duplex, 2 = full duplex */
   u8 link_duplex;
 
-  /* 1 = 10M, 2 = 100M, 4 = 1G, 8 = 10G, 16 = 40G, 32 = 100G */
-  u8 link_speed;
+  /* link speed in kbps */
+  u32 link_speed;
 
   /* MTU */
   u16 link_mtu;
@@ -256,80 +274,6 @@ define sw_interface_get_table_reply
   u32 vrf_id;
 };
 
-typeonly manual_print manual_endian define vlib_counter
-{
-  u64 packets;                 /**< packet counter */
-  u64 bytes;                   /**< byte counter  */
-};
-
-/** \brief Combined interface counter data type for vnet_interface_combined_counters
-    @param sw_if_index - interface indexes for counters
-    @param rx_packets - received packet count
-    @param rx_bytes - received byte count
-    @param rx_unicast_packets - received unicast packet count
-    @param rx_unicast_bytes - received unicast byte count
-    @param rx_multicast_packets - received multicast packet count
-    @param rx_multicast_bytes - received multicast byte count
-    @param rx_broadcast_packets - received broadcast packet count
-    @param rx_broadcast_bytes - received broadcast byte count
-    @param tx_packets - transmitted packet count
-    @param tx_bytes - transmitted byte count
-    @param tx_unicast_packets - transmitted unicast packet count
-    @param tx_unicast_bytes - transmitted unicast byte count
-    @param tx_multicast_packets - transmitted multicast packet count
-    @param tx_multicast_bytes - transmitted multicast byte count
-    @param tx_broadcast_packets - transmitted broadcast packet count
-    @param tx_broadcast_bytes - transmitted broadcast byte count
-
-*/
-typeonly manual_print manual_endian define vnet_combined_counter
-{
-  u32 sw_if_index;
-  u64 rx_packets;                              /**< packet counter */
-  u64 rx_bytes;                                        /**< byte counter  */
-  u64 rx_unicast_packets;                      /**< packet counter */
-  u64 rx_unicast_bytes;                                /**< byte counter  */
-  u64 rx_multicast_packets;                    /**< packet counter */
-  u64 rx_multicast_bytes;                      /**< byte counter  */
-  u64 rx_broadcast_packets;                    /**< packet counter */
-  u64 rx_broadcast_bytes;                      /**< byte counter  */
-  u64 tx_packets;                              /**< packet counter */
-  u64 tx_bytes;                                        /**< byte counter  */
-  u64 tx_unicast_packets;                      /**< packet counter */
-  u64 tx_unicast_bytes;                                /**< byte counter  */
-  u64 tx_multicast_packets;                    /**< packet counter */
-  u64 tx_multicast_bytes;                      /**< byte counter  */
-  u64 tx_broadcast_packets;                    /**< packet counter */
-  u64 tx_broadcast_bytes;                      /**< byte counter  */
-};
-
-/** \brief Simple interface counter data type for vnet_interface_simple_counters
-    @param sw_if_index - interface indexes for counters
-    @param drop - RX or TX drops due to buffer starvation
-    @param punt - used with VNET "punt" disposition
-    @param rx_ip4 - received IP4 packets
-    @param rx_ip6 - received IP6 packets
-    @param rx_no_buffer - no RX buffers available
-    @param rx_miss - receive misses
-    @param rx_error - receive errors
-    @param tx_error - transmit errors
-    @param rx_mpls - received MPLS packet
-
-*/
-typeonly manual_print manual_endian define vnet_simple_counter
-{
-  u32 sw_if_index;
-  u64 drop;
-  u64 punt;
-  u64 rx_ip4;
-  u64 rx_ip6;
-  u64 rx_no_buffer;
-  u64 rx_miss;
-  u64 rx_error;
-  u64 tx_error;
-  u64 rx_mpls;
-};
-
 /** \brief Set unnumbered interface add / del request
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request