10. Vhost based lanΒΆ
This is clearly the fastest way to transmit packets but it has the big drawback to be deep inside the kernel and my code is in the user world.
![]()
At the quemu level, for the guest, the driver seen for the inside guest kernel is the virtio-net driver on the frontend. The backend inside quemu is a vhost type tap netdev, this is the fastest link because the packet never leaves the kernel.
As you can see on the picture, the iperf3 throughput with this socket type is more than 71 Gigabits per second. Here is the logical path for a packet:
+-------------+ | iperf3 TX| +-------------+ | Guest Kernel| +-------------+ | virtio net| | qemu | | vhost | +------+------+ | | Kernel world v +------+------+ | OVS DPDK | +------+------+ | | Kernel world v +------+------+ | vhost | | qemu | | virtio net | +-------------+ | Guest Kernel| +-------------+ | iperf3 RX| +-------------+