Open vSwitch¶
Open vSwitch 插件,vif_plug_ovs,是 Open vSwitch 网络后端的 os-vif VIF 插件。它是 os-vif 本身提供的三个插件之一,其他两个是 Linux Bridge 和 no-op。
支持的 VIF 类型¶
Open vSwitch 插件支持以下 VIF 类型
VIFOpenVSwitch配置,其中 guest 直接连接到 Open vSwitch 桥接。
VIFBridge配置,其中 guest 通过 TAP 设备连接到 Linux 桥接,而该桥接又连接到 Open vSwitch 桥接。这允许使用
iptables规则来过滤流量。VIFVHostUser配置,其中 guest 暴露一个 UNIX socket 用于其控制平面。此配置与 Open vSwitch 的 DPDK 数据通路 一起使用。
VIFHostDevice配置,其中一个 SR-IOV PCI 设备 VF 传递到 guest。应该使用 ethtool 在 SR-IOV PF 上启用
hw-tc-offload功能ethtool -K <PF> hw-tc-offload
这将为每个 VF 创建一个 VF representor。VF representor 在 Para-Virtual (PV) 设置中扮演与 TAP 设备相同的角色。在这种情况下,
plug()方法将 VF representor 连接到 OpenVSwitch 桥接。重要提示
支持此功能需要 Linux Kernel >= 4.8 和 Open vSwitch 2.8。这些版本分别增加了对 SR-IOV VF 的基于 tc 的硬件卸载的支持,以及使用 tc 卸载 OVS 数据通路规则的支持。
在版本 1.5.0 中添加。
有关 VIF 类型对象的更多信息,请参阅 VIF 类型。请注意,此插件仅支持上述 VIF 类型。