内核态vhost-net模块再不内核态完成报文和消息的处理给报文处理带来一性能损失
因此用户态vhost来了
同样采用共享内存技术,通过共享虚拟队列来完成报文的传输和控制,降低了vhost和virtio-net的交互成本
dpdkvhost也是用户态vhost
且在了qemu所承担的虚拟队列共呢个,共享内存布局,虚拟队
virtio-net网络设备的管理 | 虚拟网卡管理 |
各种映射 | 地址转换,虚拟队列,环表啦,== |
消息 | 控制交互吧 |
报文交换 | 虚拟设备报文交换,或者与硬件设备交换,可以用vmdq机制排序和分类(牛逼不知道干啥的),减少软件方式的交换,降低交互成本 |
后面的扩展吧 | 看下面,我一个个字打出来的。 |
列访问地址和时间文件描述符给用户态vhost,是的vhost直接和客户机打交道
,dpdk vhost同时支持linux virtio-net驱动和dopdk virtio pdm驱动前端,
speak xxxfucker,终于到了dpdk,
它包含轻量的2层内交换功能机以下L:
virtio-net网络设备的管理,包括创建和销毁
虚拟队列得到描述符列表,可用已用环表在vhost所在的进程的虚拟地址的映射和接触,以及实际的报文数据缓冲区在vhost所在进程的虚拟地址空间的映射和解除
当收到报文时,触发发送到客户机的消息通知,发送时,接受来自客户机的消息
virtio-net设备间(虚拟队列),以及与物理设备间(网卡硬件队列)的报文交换。可用vmdq机制来对数据包分类和排序,避免软件的方式的报文交换,减少报文交换成本。
virtio-net网络千后端的实现以及部分新购功能的实现,如合并缓冲区实现巨帧的接收,虚拟接口上多队列机制等。
下章,dpdk的用户态vhost设计,