l2_accel = NULL;
        }
 
-       skb->protocol = eth_type_trans(skb, dev);
-
        /* Record Rx queue, or update macvlan statistics */
        if (!l2_accel)
                skb_record_rx_queue(skb, rx_ring->queue_index);
        else
                macvlan_count_rx(netdev_priv(dev), skb->len + ETH_HLEN, true,
-                                (skb->pkt_type == PACKET_BROADCAST) ||
-                                (skb->pkt_type == PACKET_MULTICAST));
+                                false);
+
+       skb->protocol = eth_type_trans(skb, dev);
 }
 
 /**
 
        if (ixgbe_test_staterr(rx_desc, IXGBE_RXDADV_STAT_SECP))
                ixgbe_ipsec_rx(rx_ring, rx_desc, skb);
 
-       skb->protocol = eth_type_trans(skb, dev);
-
        /* record Rx queue, or update MACVLAN statistics */
        if (netif_is_ixgbe(dev))
                skb_record_rx_queue(skb, rx_ring->queue_index);
        else
                macvlan_count_rx(netdev_priv(dev), skb->len + ETH_HLEN, true,
-                                (skb->pkt_type == PACKET_BROADCAST) ||
-                                (skb->pkt_type == PACKET_MULTICAST));
+                                false);
+
+       skb->protocol = eth_type_trans(skb, dev);
 }
 
 static void ixgbe_rx_skb(struct ixgbe_q_vector *q_vector,