[dpdk-dev] [PATCH 1/5] net/virtio: fix vector Rx break caused by rxq flushing

Tiwei Bie tiwei.bie at intel.com
Fri Dec 8 03:30:34 CET 2017

On Thu, Dec 07, 2017 at 04:00:57PM +0000, Kevin Traynor wrote:
> On 12/07/2017 05:30 AM, Tiwei Bie wrote:
> > The vector Rx will be broken if backend has consumed all
> > the descs in the avail ring before the device is started.
> > Because in current implementation, vector Rx will return
> > immediately without refilling the avail ring if the used
> > ring is empty. So we have to refill the avail ring after
> > flushing the elements in the used ring for vector Rx.
> > 
> > Besides, vector Rx has a different ring layout assumption
> > and mbuf management. So we need to handle it differently.
> > 
> Hi Tiwei, does the issue only occur with the vector rx? How about if the
> simple rx is used because VIRTIO_NET_F_MRG_RXBUF is set?

Hi Kevin,

Yes, you are right! The issue only occurs with the vector
Rx. The vector Rx (i.e. the simple Rx) won't be used if

Best regards,
Tiwei Bie

More information about the dev mailing list