note:此文描述了xen半虚拟化网卡的VIF机制。
Xen的块设备驱动使用了XEN IO环的机制。
对于IO子系统而言,xen hyprevisor的作用就是在虚拟机和IObackend设备之间提供一层保护层,然而对于数据传输机制,要使得数据在系统之间移动的同时带来比较小的开销。两个主要的数据传输机制影响I/O数据传输。一方面是资源管理,另外一方面是数据传输过程。Xen使用了最小化开销的两种机制:IO描述符环和事件通道,授权表机制。
对于网络设备是这样的,Xen给虚拟机提供了虚拟网桥,每一个Domain都有一个或者多个虚拟接口VIFs逻辑上连接到了虚拟网桥,一个VIF看起来就像是一个物理网络接口卡NIC一样,但是有两个buffer描述符环,一个是接收的,另外一个是发送的。这两个方向都有各自的rule形式(也就是网卡的rule),如果满足的话,相应的动作就会实施(就相当于物理网卡可能会执行的过滤功能那样)。