From: Olivier Matz Date: Mon, 12 Feb 2018 15:46:10 +0000 (+0100) Subject: net/virtio: fix mbuf data offset for simple Rx X-Git-Url: http://git.droids-corp.org/?p=dpdk.git;a=commitdiff_plain;h=9fedc2da388cbe261e43c7b1cafb7463ccce3747 net/virtio: fix mbuf data offset for simple Rx The mbuf->data_off was was not properly set for the first received mbufs. Fix this by setting it in virtqueue_enqueue_recv_refill_simple(), which is used to enqueue the first mbuf in the ring. The function virtio_rxq_rearm_vec(), which is used to rearm the ring with new mbufs, is valid and does not need to be updated. Fixes: cab0461234e7 ("virtio: fill Rx avail ring with blank mbufs") Cc: stable@dpdk.org Signed-off-by: Olivier Matz Reviewed-by: Maxime Coquelin --- diff --git a/drivers/net/virtio/virtio_rxtx_simple.c b/drivers/net/virtio/virtio_rxtx_simple.c index 7247a08223..b1f610ffae 100644 --- a/drivers/net/virtio/virtio_rxtx_simple.c +++ b/drivers/net/virtio/virtio_rxtx_simple.c @@ -36,6 +36,7 @@ virtqueue_enqueue_recv_refill_simple(struct virtqueue *vq, uint16_t desc_idx; cookie->port = vq->rxq.port_id; + cookie->data_off = RTE_PKTMBUF_HEADROOM; desc_idx = vq->vq_avail_idx & (vq->vq_nentries - 1); dxp = &vq->vq_descx[desc_idx];