DPDK patches and discussions
 help / color / mirror / Atom feed
From: Maxime Coquelin <maxime.coquelin@redhat.com>
To: Adel Belkhiri <adel.belkhiri@gmail.com>, dev@dpdk.org
Subject: Re: Does the vhost-user driver ensures the distribution of traffic between multiple RX queues?
Date: Thu, 9 Jun 2022 22:05:45 +0200	[thread overview]
Message-ID: <ec660793-d6f4-6a03-a119-b7d3aedc60e5@redhat.com> (raw)
In-Reply-To: <CAMxxxdPe8aZ4=KcuE+Gf4-hJGZ3cNc6j2e4V0vM05-rGB+dzTA@mail.gmail.com>

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


      reply	other threads:[~2022-06-09 20:05 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-09 17:33 Adel Belkhiri
2022-06-09 20:05 ` Maxime Coquelin [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ec660793-d6f4-6a03-a119-b7d3aedc60e5@redhat.com \
    --to=maxime.coquelin@redhat.com \
    --cc=adel.belkhiri@gmail.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).