|
From: | Jason Wang |
Subject: | Re: [Qemu-devel] vhost-net - virtio - multiqueue - rx queue selection |
Date: | Wed, 3 May 2017 19:51:07 +0800 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 |
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
[Prev in Thread] | Current Thread | [Next in Thread] |