pktgen pre-allocated TX data in mbuf would be modified by virtio pmd driver due to virtio pkt head extension. it will caused mbuf data_len keep growing, packets size on wire growing, then tx pps performance drop.
set corresponding mbuf data_len in pktmbuf reset to fix it. Signed-off-by: Bin Huang <huangbin.ma...@gmail.com> Signed-off-by: Bin Huang <bin.hu...@hxt-semitech.com> Signed-off-by: Bin Huang <huangbin.ma...@gmail.com> --- lib/common/mbuf.h | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/common/mbuf.h b/lib/common/mbuf.h index 759f95d..93065f6 100644 --- a/lib/common/mbuf.h +++ b/lib/common/mbuf.h @@ -18,6 +18,7 @@ pktmbuf_reset(struct rte_mbuf *m) m->nb_segs = 1; m->port = 0xff; + m->data_len = m->pkt_len; m->data_off = (RTE_PKTMBUF_HEADROOM <= m->buf_len) ? RTE_PKTMBUF_HEADROOM : m->buf_len; } -- 2.7.4