os-vif/doc/source/user/vif-types.rst

3.7 KiB

VIF Types

In os-vif, a VIF type refers to a particular approach for configuring the backend of a guest virtual network interface. There is a small, finite set of ways that a VIF backend can be configured for any given hypervisor and a limited amount of metadata is associated with each approach.

VIF objects

Each distinct type of VIF configuration is represented by a versioned object, subclassing VIFBase.

VIFBase

VIFGeneric

VIFBridge

VIFOpenVSwitch

VIFDirect

VIFVHostUser

VIFDirect

VIFNestedDPDK

VIF port profile objects

Each VIF instance can optionally be associated with a port profile object. This provides a set of metadata attributes that serve to identify the guest virtual interface to the host. Different types of host connectivity will require different port profile object metadata. Each port profile type is associated with a versioned object, subclassing VIFPortProfileBase.

VIFPortProfileOpenVSwitch

This profile provides the metadata required to associate a VIF with an Open vSwitch host port.

VIFPortProfile8021Qbg

This profile provides the metadata required to associate a VIF with a VEPA host device supporting the 802.1Qbg spec.

VIFPortProfile8021Qbh

This profile provides the metadata required to associate a VIF with a VEPA host device supporting the 802.1Qbh spec.

VIFPortProfileFPOpenVSwitch

This profile provides the metadata required to associate a fast path vhost-user VIF with an Open vSwitch port.

VIFPortProfileOVSRepresentor

This profile provides the metadata required to associate a VIF with a VF representor and Open vSwitch port. If representor_name is specified, it indicates a desire to rename the representor to the given name on plugging.

Note

This port profile is provided for backwards compatibility only.

This interface has been superceded by the one provided by the DatapathOffloadRepresentor class, which is now a field element of the VIFPortProfileBase class.

VIFPortProfileFPBridge

This profile provides the metadata required to associate a fast path vhost-user VIF with a Linux bridge port.

VIFPortProfileFPTap

This profile provides the metadata required to associate a fast path vhost-user VIF with a Calico port.

VIFPortProfileK8sDPDK

This profile provides the metadata required to associate nested DPDK VIF with a Kubernetes pod.

Datapath Offload type object

Port profiles can be associated with a datapath_offload object. This provides a set of metadata attributes that serve to identify the datapath offload parameters of a VIF. Each different type of datapath offload is associated with a versioned object, subclassing DatapathOffloadBase.

DatapathOffloadRepresentor

This object provides the metadata required to associate a VIF with a VF representor conforming to the switchdev kernel model. If representor_name is specified, it indicates a desire to rename the representor to the given name on plugging.

VIF network objects

Each VIF instance is associated with a set of objects which describe the logical network that the guest will be plugged into. This information is again represented by a set of versioned objects

TODO :-(