+always_inline int
+eh_dst_addr_to_rx_ctype (ethernet_header_t * eh)
+{
+ if (PREDICT_TRUE (ethernet_address_cast (eh->dst_address) ==
+ ETHERNET_ADDRESS_UNICAST))
+ {
+ return VNET_INTERFACE_COUNTER_RX_UNICAST;
+ }
+ else if (ethernet_address_is_broadcast (eh->dst_address))
+ {
+ return VNET_INTERFACE_COUNTER_RX_BROADCAST;
+ }
+ else
+ {
+ return VNET_INTERFACE_COUNTER_RX_MULTICAST;
+ }
+}
+
+always_inline int
+eh_dst_addr_to_tx_ctype (ethernet_header_t * eh)
+{
+ if (PREDICT_TRUE (ethernet_address_cast (eh->dst_address) ==
+ ETHERNET_ADDRESS_UNICAST))
+ {
+ return VNET_INTERFACE_COUNTER_TX_UNICAST;
+ }
+ else if (ethernet_address_is_broadcast (eh->dst_address))
+ {
+ return VNET_INTERFACE_COUNTER_TX_BROADCAST;
+ }
+ else
+ {
+ return VNET_INTERFACE_COUNTER_TX_MULTICAST;
+ }
+}
+