6.2. Disabling vhost-net
6.2. Disabling vhost-net The vhost-net module is a kernel-level back end for virtio networking that reduces virtualization overhead by moving virtio packet processing tasks out of user space (the QEMU process) and into the kernel (the vhost-net driver). vhost-net is only available for virtio network interfaces. If the vhost-net kernel module is loaded, it is enabled by default for all virtio interfaces, but can be disabled in the interface configuration if a particular workload experiences a degradation in performance when vhost-net is in use. Specifically, when UDP traffic is sent from a host machine to a guest virtual machine on that host, performance degradation can occur if the guest virtual machine processes incoming data at a rate slower than the host machine sends it. In this situation, enabling vhost-net causes the UDP socket's receive buffer to overflow more quickly, which results in greater packet loss. It is therefore better to disable vhost-net in this situation to slow the traffic, and improve overall performance. To disable vhost-net , edit the <interface> sub-element in the guest virtual machine's XML configuration file and define the network as follows: Setting the driver name to qemu forces packet processing into QEMU user space, effectively disabling vhost-net for that interface.
<interface type="network"> <model type="virtio"/> <driver name="qemu"/> </interface>