* Re: Does the vhost-user driver ensures the distribution of traffic between multiple RX queues?
2022-06-09 17:33 Does the vhost-user driver ensures the distribution of traffic between multiple RX queues? Adel Belkhiri
@ 2022-06-09 20:05 ` Maxime Coquelin
0 siblings, 0 replies; 2+ messages in thread
From: Maxime Coquelin @ 2022-06-09 20:05 UTC (permalink / raw)
To: Adel Belkhiri, dev
Hi Adel,
On 6/9/22 19:33, Adel Belkhiri wrote:
> Hi guys,
>
> I have a question for you. I know that vhost-user NICs can be configured
> with many RX/TX queues, but does the vhost-user driver ensures the
> distribution of traffic between RX queues?
No, not yet.
> I used the sample application l3fdw to switch traffic between two
> vhost-user NICs, each with 4 queues. The traffic was generated using
> TREX (and testpmd also), running inside a VM. When I traced my
> experiment, I noticed that the traffic was only received in queue "0",
> while the other RX queues were empty.
>
> The l3fdw app tells me that "Port 0 modified RSS hash function based on
> hardware support,requested:0xa38c configured:0". For offloading
> capabilities, testpmd indicates that the vhost-user nic NIC has only
> support for VLAN STRIP (and not for RSS)!
Correct, only vlan-strip is supported in last release. Next release will
also add support to TCP and UDP checksum offload (it is already
supported by the Vhost library, but not advertized by the Vhost PMD.
Regarding RSS, I am currently working on supporting Virtio RSS feature
with Vhost-user backend but I don't think it will be ready by v22.11.
Support is already added on the guest side, in Virtio PMD since v21.11.
Qemu support has been posted, but may require heavy changes.
DPDK Vhost library support is not implemented yet. Only per virtqueue
statistics have been added to the Vhost library in v22.07-rc1, which is
a preliminary step for RSS support in Vhost library.
Now, if your end-goal is to have kind of RSS with OVS-DPDK, I have added
a new Tx-packets steering mode to OVS in v2.17 [0]. This mode
distributes the packets on all the port's transmit queues, with queue
selection being based on the 5-tuples hash used to build the flow
batches. I don't expect Virtio RSS feature to provide more performance
than this new OVS steering mode, as the hash will have to be
recalculated. But advantage of Virtio RSS is the configurability by the
guest, which will be able to set the filter on which packets it should
perform RSS, the RSS key and the indirection table.
Regards,
Maxime
> I appreciate any clarification on this matter.
>
> Thank you,
>
> PS:
> - DPDK version: 19.08
> - Qemu version: 4.2.1
>
> Adele
[0]:
https://docs.openvswitch.org/en/latest/topics/userspace-tx-steering/?highlight=steering
^ permalink raw reply [flat|nested] 2+ messages in thread