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 VIRTIO_NET_F_MRG_RXBUF is set. Best regards, Tiwei Bie