DPDK usage discussions
 help / color / mirror / Atom feed
* Supporting RSS with DPDK in a VM
@ 2023-07-25 22:58 Matheus Stolet
  2023-07-28 14:12 ` Thomas Monjalon
  2023-07-28 14:19 ` Van Haaren, Harry
  0 siblings, 2 replies; 5+ messages in thread
From: Matheus Stolet @ 2023-07-25 22:58 UTC (permalink / raw)
  To: users

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-08-04  8:31 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-25 22:58 Supporting RSS with DPDK in a VM Matheus Stolet
2023-07-28 14:12 ` Thomas Monjalon
2023-07-28 14:25   ` Maxime Coquelin
2023-08-01 23:09   ` Matheus Stolet
2023-07-28 14:19 ` Van Haaren, Harry

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).