本文以vhost_user后端为例进行描述,kernel的vhost_net与vhost_user类似,只是在qemu中注册了不同接口而已。
参考链接,本文是对下面文章的总结。
http://blog.chinaunix.net/uid-28541347-id-5787244.html
协商核心:协商的目的是为了对guest的virtio_net设备与后端的vhost_user之间协商共同支持的feature集合,以最终确定整个流程中启用的最终feature集合,
但qemu-kvm架构中,guest与vhost_user(一般是ovs-dpdk进程)是不直接通信的,所以他们之间的feature需要一个中间人,即:qemu模块。
协商涉及4个核心模块: guest:virtio_net《》qemu:virtio_net代理《》qemu:vhost_user《====》dpdk:vhost_user