+ addr0 = _mm_shuffle_epi8(addr0, shfl_msk);
+ addr1 = _mm_shuffle_epi8(addr1, shfl_msk);
+ addr2 = _mm_shuffle_epi8(addr2, shfl_msk);
+ addr3 = _mm_shuffle_epi8(addr3, shfl_msk);
+
+ _mm_storeu_si128((__m128i *)eth_hdr[0], addr0);
+ _mm_storeu_si128((__m128i *)eth_hdr[1], addr1);
+ _mm_storeu_si128((__m128i *)eth_hdr[2], addr2);
+ _mm_storeu_si128((__m128i *)eth_hdr[3], addr3);
+
+ mbuf_field_set(mb[0], ol_flags);
+ mbuf_field_set(mb[1], ol_flags);
+ mbuf_field_set(mb[2], ol_flags);
+ mbuf_field_set(mb[3], ol_flags);
+ r -= 4;
+ }
+
+ for ( ; i < nb; i++) {
+ if (i < nb - 1)
+ rte_prefetch0(rte_pktmbuf_mtod(pkts[i+1], void *));
+ mb[0] = pkts[i];
+ eth_hdr[0] = rte_pktmbuf_mtod(mb[0], struct ether_hdr *);