os-vif/doc/source/user/plugins/ovs.rst

2.0 KiB

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 noop.

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 vif-openvswitch 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 vif-bridge 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 vif-vhostuser 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 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.

Refer to vif-hostdevice for more information.

1.5.0

For information on the VIF type objects, refer to /user/vif-types. Note that only the above VIF types are supported by this plugin.