Arnd Bergmann wrote: > +int dev_forward_skb(struct net_device *dev, struct sk_buff *skb) > +{ > + skb_orphan(skb); > + > + if (!(dev->flags & IFF_UP)) > + return NET_RX_DROP; > + > + if (skb->len > (dev->mtu + dev->hard_header_len)) > + return NET_RX_DROP; > + > + skb_dst_drop(skb); > + skb->tstamp.tv64 = 0; > + skb->pkt_type = PACKET_HOST; > + skb->protocol = eth_type_trans(skb, dev); > + skb->mark = 0; skb->mark clearing should stay private to veth since its usually supposed to stay intact. The only exception is packets crossing namespaces, where they should appear like a freshly received skbs. > + secpath_reset(skb); > + nf_reset(skb); > + return netif_rx(skb); > +} > +EXPORT_SYMBOL_GPL(dev_forward_skb); _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization