Open vSwitch¶
The Open vSwitch plugin, vif_plug_ovs
, is an os-vif VIF plugin for the
Open vSwitch network backend. It is one of three plugins provided as part of
os-vif itself, the others being Linux Bridge and no-op.
Supported VIF Types¶
The Open vSwitch plugin provides support for the following VIF types:
VIFOpenVSwitch
Configuration where a guest is directly connected an Open vSwitch bridge.
VIFBridge
Configuration where a guest is connected to a Linux bridge via a TAP device, and that bridge is connected to the Open vSwitch bridge. This allows for the use of
iptables
rules for filtering traffic.VIFVHostUser
Configuration where a guest exposes a UNIX socket for its control plane. This configuration is used with the DPDK datapath of Open vSwitch.
VIFHostDevice
Configuration where an SR-IOV PCI device VF is passed through to a guest. The
hw-tc-offload
feature should be enabled on the SR-IOV PF using ethtool:ethtool -K <PF> hw-tc-offload
This will create a VF representor per VF. The VF representor plays the same role as TAP devices in Para-Virtual (PV) setup. In this case the
plug()
method connects the VF representor to the OpenVSwitch bridge.Important
Support for this feature requires Linux Kernel >= 4.8 and Open vSwitch 2.8. These add support for tc-based hardware offloads for SR-IOV VFs and offloading of OVS datapath rules using tc, respectively.
Added in version 1.5.0.
For information on the VIF type objects, refer to VIF Types. Note that only the above VIF types are supported by this plugin.