rte_pktmbuf_attach copies the packet meta data but does not copy the offload flags. This means that cloned packets lose their offload settings such as vlan tag. Signed-off-by: Stephen Hemminger --- a/lib/librte_mbuf/rte_mbuf.h 2013-12-06 08:39:43.000000000 -0800 +++ b/lib/librte_mbuf/rte_mbuf.h 2014-03-06 15:16:44.525440437 -0800 @@ -624,6 +624,7 @@ static inline void rte_pktmbuf_attach(st mi->pkt.next = NULL; mi->pkt.pkt_len = mi->pkt.data_len; mi->pkt.nb_segs = 1; + mi->ol_flags = md->ol_flags; __rte_mbuf_sanity_check(mi, RTE_MBUF_PKT, 1); __rte_mbuf_sanity_check(md, RTE_MBUF_PKT, 0);