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 C8AD942F6C for ; Fri, 28 Jul 2023 16:02:28 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BC29740FAE; Fri, 28 Jul 2023 16:02:28 +0200 (CEST) Received: from jupiter.mpi-klsb.mpg.de (jupiter.mpi-klsb.mpg.de [139.19.86.15]) by mails.dpdk.org (Postfix) with ESMTP id C6DDE40A79 for ; Wed, 26 Jul 2023 00:59:04 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mpi-sws.org ; s=mail201904; h=Content-Transfer-Encoding:Content-Type:Message-ID:Subject: To:From:Date:MIME-Version:sender:reply-to:cc:content-id:content-description: resent-date:resent-from:resent-sender:resent-to:resent-cc:resent-message-id: in-reply-to:references:list-id:list-help:list-unsubscribe:list-subscribe: list-post:list-owner:list-archive; bh=IJvBUTfDuXZWyVNBbTuSoRLumsnzocVE6J2DWg3//+w=; b=tzHknZriU8Ua9zn4Lgd8tiZ1r1 8BOXJFKl55eUkSgNBz5CdwiecMX47W7sIO7yF/IrTNc5nob2DLQHn+jS4Kv22/QxYFtq3hUpnrK2X oaJl0mGacqALd40M3ucuW+9Y48pSlMlmT6NeYIIWladg5PJHiHY4ePGm44B3Xv//hXWE=; Received: from zak.mpi-klsb.mpg.de ([139.19.205.27]:42206) by jupiter.mpi-klsb.mpg.de (envelope-from ) with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) id 1qOQzX-0006Rt-AU for users@dpdk.org; Wed, 26 Jul 2023 00:59:04 +0200 Received: from autodiscover.mpi-sws.org ([139.19.91.10]:57282 helo=mail.mpi-sws.org) by zak (envelope-from ) with esmtpsa (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.94.2) id 1qOQzW-00CrKV-AK for users@dpdk.org; Wed, 26 Jul 2023 00:58:54 +0200 MIME-Version: 1.0 Date: Wed, 26 Jul 2023 00:58:54 +0200 From: Matheus Stolet To: users@dpdk.org Subject: Supporting RSS with DPDK in a VM User-Agent: Roundcube Webmail/1.4.13 Message-ID: <4c9482cb3259f1e75e19a5724a67ea8d@mpi-sws.org> X-Sender: mstolet@mpi-sws.org Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-RSPAMD-Score: -0.1 (/) X-RSPAMD-Report: Action: no action Symbol: ARC_NA(0.00) Symbol: RCVD_VIA_SMTP_AUTH(0.00) Symbol: MID_RHS_MATCH_FROM(0.00) Symbol: R_SPF_NEUTRAL(0.00) Symbol: FROM_HAS_DN(0.00) Symbol: TO_MATCH_ENVRCPT_ALL(0.00) Symbol: MIME_GOOD(-0.10) Symbol: TO_DN_NONE(0.00) Symbol: DMARC_NA(0.00) Symbol: RCPT_COUNT_ONE(0.00) Symbol: BLOCKLISTDE_FAIL(0.00) Symbol: NEURAL_HAM(-0.00) Symbol: FROM_EQ_ENVFROM(0.00) Symbol: R_DKIM_NA(0.00) Symbol: MIME_TRACE(0.00) Symbol: ASN(0.00) Symbol: RCVD_COUNT_TWO(0.00) Symbol: RCVD_TLS_ALL(0.00) Message-ID: 4c9482cb3259f1e75e19a5724a67ea8d@mpi-sws.org X-Mailman-Approved-At: Fri, 28 Jul 2023 16:02:27 +0200 X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org Hello, I am trying to run a DPDK application with RSS enabled so that I can have multiple rx queues. This application is running inside a VM. This VM is hosted by QEMU using KVM acceleration and OvS with DPDK and vhost-user are used in the backend. So to clarify things there are two DPDK portions to this. The first is the DPDK portion used by OvS that bypasses the host operating system. This is working fine. The other is a DPDK application inside the virtual machine that will bypass the guest operating system. This is where I am having trouble with. When I set rte_eth_conf.rxmode.mq_mode = ETH_MQ_RX_RSS in my application I get the following errors: Warning: NIC does not support all requested RSS hash functions. virtio_dev_configure(): RSS support requested but not supported by the device Port0 dev_configure = -95 I setup my VM in QEMU to have mq=on and queues=10. I also set the number of rx_queues when creating the vhost port using ovs to 10. Before binding the interface to DPDK, I used ethtool to verify if the network interface was actually setup to have multiple queues. Running the 'ethtool -l enps02' command yields the following output: Pre-set maximums: RX: 0 TX: 0 Other: 0 Combined: 10 Current hardware settings: RX: 0 TX: 0 Other: 0 Combined: 10 From my understanding the combined values indicate that the interface was properly setup to have multiple queues, so why am I getting the unsupported RSS error? Are there other configuration steps that I have to take to get this to work? Is RSS with DPDK not supported at all inside a VM at the moment? Perhaps the "Port0 dev_configure() = -95" error means something else? Without the receive side scaling turned on my application is not able to achieve the desired throughput and won't scale when I assign more cores to the application. Versions: VM DPDK: 21.11.4 Kernel: 5.4.0-148-generic Distribution: Ubuntu 20.04 Host DPDK: 21.11.4 QEMU: 8.0.90 OvS: 3.0.5 Kernel: 5.15.111.1.amd64-smp Distribution: Debian 11