/* The higher levels take care of making this non-reentrant (it's called with bh's disabled).  */
static netdev_tx_t loopback_xmit(struct sk_buff *skb, struct net_device *dev)
/* The higher levels take care of making this non-reentrant (it's called with bh's disabled).  */
static netdev_tx_t loopback_xmit(struct sk_buff *skb, struct net_device *dev)
{
	struct pcpu_lstats *pcpu_lstats, *lb_stats;
	int len;
	skb_orphan(skb);
	skb->protocol = eth_type_trans(skb, dev);
	pcpu_lstats = dev->ml_priv;
	lb_stats = this_cpu_ptr(pcpu_lstats);
	len = skb->len;
	if (likely(netif_rx(skb) == NET_RX_SUCCESS)) {
		lb_stats->bytes += len;
		lb_stats->packets++;
	} else
		lb_stats->drops++;
	return NETDEV_TX_OK;
}