Hello, You can have packets distributed to multiple queues without RSS.
If you really wants to enable the RSS algorithms, it seems not supported for now with vhost_user. It can be enabled with vhost running in the kernel: https://qemu.readthedocs.io/en/latest/devel/ebpf_rss.html 26/07/2023 00:58, Matheus Stolet: > 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 >