On 2017年05月02日 21:07, Stefan Hajnoczi wrote:
On Thu, Apr 20, 2017 at 10:07:33AM +0530, Sujith Sankar wrote:
I have a question regarding the algorithm used to select rx queue of
the VM in the case of multiqueue virtio-net on KVM.

Given a 4-tuple, how can we calculate the index of the receive queue
that virtio-net is going pick for that flow?  From some of the email
threads in some of the relevant forums, it seems RSS is not used.  But
documentations/threads do not talk about how a queue is picked.

Could you please help me with this?
CCing Jason Wang, QEMU net maintainer.

Stefan

Automatic flow steering is mandatory in the spec (see 5.1.6.5.5):

"
When multiqueue is enabled, the device MUST use automatic receive steering based on packet flow. Programming of the receive steering classificator is implicit. After the driver transmitted a packet of a flow on transmitqX, the device SHOULD cause incoming packets for that flow to be steered to receiveqX. For uni-directional protocols, or where no packets have been transmitted yet, the device MAY steer a packet to a random queue out of the specified receiveq1…receiveqn.
"

We plan to add guest visible filters (e.g RSS) support, and may even consider offload it to hardware.

Thanks

Reply via email to