【】SRIOV:智能网卡就靠它了!( 六 )


Combining vDPA and virtio full HW offloading
在之前讲Virtio全硬件卸载的场景 , 硬件设备实现了数据和控制路径 , 因此设备可以使用kernel的virtio-net驱动 , 或者DPDK的virtio PMD 。
在一个场景里 , 全硬件卸载可以使用vDPA设备 , 数据路径还是全硬件卸载 , 而控制路径可以使用vDPA API 。
相对于全卸载的virtio PMD模式 , 这样的好处是:灵活: 它可以切换到其他的使用vDPA的硬件设备 , 或者回到全软件的路径 。热迁移:可以实现对于热迁移的支持 , 把virtio ring的处理切换到软件路径并利用qemu tracking 内存脏页 。标准化
这个POST主要讲了virtio 全硬件卸载和vDPA , 这一节的确是最复杂的 , 包含了大量的用户态和核心态的实现 。这个也说了 , 大家正在尝试使用vDPA的框架来替换掉现有的SRIOV的VM加速技术 。在未来的Scale IOV中 , vDPA也有足够的灵活性支持 , 不管是在VM还是在Container的情况下 。
总之 , 在这个之后 , 在讲Container的网路加速之前 , 我们有必要搞一个SmartNIC 字典了 。


推荐阅读