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 two plugins provided as part of os-vif itself, the other being Linux Bridge.
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.
Refer to VIFOpenVSwitch for more information.
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.Refer to VIFBridge for more information.
VIFVHostUser
Configuration where a guest exposes a UNIX socket for its control plane. This configuration is used with the DPDK datapath of Open vSwitch.
Refer to VIFVHostUser for more information.
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 usingethtool
:ethtool -K <PF> hw-tc-offloadThis 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.
Refer to VIFHostDevice for more information.
New 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.