摘要: 纵观virtio网络的发展, 控制平面由最原始的virtio到vhost-net协议,再到vhost-user协议,逐步得到了完善与扩充; 数据平面上,从原先集成在QEMU中或内核模块的中,到集成了DPDK数据平面优化技术的vhost-user,最终到使用硬件加速数据平面。在保留virtio这种标准 阅读全文
posted @ 2021-05-30 15:56 codestacklinuxer 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 1. 概述 前边系列将Virtio Device和Virtio Driver都已经讲完,本文将分析virtqueue; virtqueue用于前后端之间的数据交换,一看到这种数据队列,首先想到的就是ring-buffer,实际的实现会是怎么样的呢? 2. 数据结构 先看一下核心的数据结构: 通常Vi 阅读全文
posted @ 2021-05-30 15:48 codestacklinuxer 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 1. 概述 先来张图: 图中罗列了四个关键模块:Virtio Device、Virtio Driver、Virtqueue、Notification(eventfd/irqfd); Virtio Driver:前端部分,处理用户请求,并将I/O请求转移到后端; Virtio Device:后端部分, 阅读全文
posted @ 2021-05-30 15:39 codestacklinuxer 阅读(286) 评论(0) 推荐(0) 编辑