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