From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id CE606A0553; Thu, 9 Jun 2022 22:05:51 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 763F44069C; Thu, 9 Jun 2022 22:05:51 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mails.dpdk.org (Postfix) with ESMTP id B552940689 for ; Thu, 9 Jun 2022 22:05:49 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1654805149; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rZ3HBfIZV0RwC9EGxaVAC68UktCb/CTLZiN34oFE20Y=; b=eeOUb9XQ7fMel/eAm4i1D8xkji4eHxZqntC+WRMf9HKhGCiPEkOHJtcfYeSm7jiFAgo4xi TTketaqZWfuVf9WnZe04vIfaRRO62k34YQNXAcysEM6+hA9LTYmFHtyQ9eIFsKu72AvZtg o/5BE9m+Py7P9glXhOZljS1MGcQrAAU= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-49-MzD1m3H3NqGOuyQiZ_kg-g-1; Thu, 09 Jun 2022 16:05:47 -0400 X-MC-Unique: MzD1m3H3NqGOuyQiZ_kg-g-1 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 7E206811E80; Thu, 9 Jun 2022 20:05:47 +0000 (UTC) Received: from [10.39.208.20] (unknown [10.39.208.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 089264619F3; Thu, 9 Jun 2022 20:05:46 +0000 (UTC) Message-ID: Date: Thu, 9 Jun 2022 22:05:45 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0 To: Adel Belkhiri , dev@dpdk.org References: From: Maxime Coquelin Subject: Re: Does the vhost-user driver ensures the distribution of traffic between multiple RX queues? In-Reply-To: X-Scanned-By: MIMEDefang 2.85 on 10.11.54.10 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=maxime.coquelin@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org 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