+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
+