Merge "doc: Rewrap 'vif_types' document"
This commit is contained in:
commit
e133b8a377
@ -1,127 +1,119 @@
|
|||||||
===========
|
=========
|
||||||
VIF Types
|
VIF Types
|
||||||
===========
|
=========
|
||||||
|
|
||||||
In os-vif, a VIF type refers to a particular approach for configuring
|
In os-vif, a VIF type refers to a particular approach for configuring the
|
||||||
the backend of a guest virtual network interface. There is a small,
|
backend of a guest virtual network interface. There is a small, finite set of
|
||||||
finite set of ways that a VIF backend can be configured for any given
|
ways that a VIF backend can be configured for any given hypervisor and a
|
||||||
hypervisor and a limited amount of metadata is associated with each
|
limited amount of metadata is associated with each approach.
|
||||||
approach.
|
|
||||||
|
|
||||||
VIF objects
|
VIF objects
|
||||||
===========
|
===========
|
||||||
|
|
||||||
Each distinct type of VIF configuration is represented by a versioned
|
Each distinct type of VIF configuration is represented by a versioned object in
|
||||||
object in os-vif, subclassed from os_vif.objects.VIFBase. The VIFBase
|
os-vif, subclassed from `os_vif.objects.VIFBase`. The `VIFBase` class defines
|
||||||
class defines some fields that are common to all types of VIF, and
|
some fields that are common to all types of VIF, and provides an association to
|
||||||
provides an association to a versioned object describing the network
|
a versioned object describing the network the VIF is plugged into.
|
||||||
the VIF is plugged into.
|
|
||||||
|
|
||||||
VIFGeneric
|
VIFGeneric
|
||||||
----------
|
----------
|
||||||
|
|
||||||
This class provides a totally generic type of configuration, where the
|
This class provides a totally generic type of configuration, where the guest is
|
||||||
guest is simply associated with an arbitrary TAP device (or equivalent).
|
simply associated with an arbitrary TAP device (or equivalent). The way the
|
||||||
The way the TAP device is connected to the host network stack is
|
TAP device is connected to the host network stack is explicitly left undefined
|
||||||
explicitly left undefined and entirely up to the plugin to decide.
|
and entirely up to the plugin to decide.
|
||||||
|
|
||||||
VIFBridge
|
VIFBridge
|
||||||
---------
|
---------
|
||||||
|
|
||||||
This class provides a configuration where the guest is connected
|
This class provides a configuration where the guest is connected directly to an
|
||||||
directly to an explicit host bridge device. This provides ethernet
|
explicit host bridge device. This provides ethernet layer bridging, typically
|
||||||
layer bridging, typically to the LAN.
|
to the LAN.
|
||||||
|
|
||||||
VIFOpenVSwitch
|
VIFOpenVSwitch
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
This class provides a configuration where the guest is connected to
|
This class provides a configuration where the guest is connected to an Open
|
||||||
an openvswitch port.
|
vSwitch port.
|
||||||
|
|
||||||
VIFDirect
|
VIFDirect
|
||||||
---------
|
---------
|
||||||
|
|
||||||
This class provides a configuration where the guest is connected to
|
This class provides a configuration where the guest is connected to a physical
|
||||||
a physical network device. The connection to the device may operate
|
network device. The connection to the device may operate in one of a number of
|
||||||
in one of a number of different modes, VEPA (either 802.1qbg
|
different modes, VEPA (either 802.1qbg 802.1qbh), passthrough (exclusive
|
||||||
802.1qbh), passthrough (exclusive assignment of the host NIC) or
|
assignment of the host NIC) or bridge (ethernet layer bridging of traffic). The
|
||||||
bridge (ethernet layer bridging of traffic). The passthrough mode
|
passthrough mode would be used when there is a network device which needs to
|
||||||
would be used when there is a network device which needs to have
|
have a MAC address or VLAN configuration. For passthrough of network devices
|
||||||
a MAC address or vlan conf. For passthrough of network devices
|
without MAC/VLAN configuration, the `VIFHostDevice` should be used instead.
|
||||||
without MAC/vlan configuration, the VIFHostDevice should be used
|
|
||||||
instead.
|
|
||||||
|
|
||||||
VIFVHostUser
|
VIFVHostUser
|
||||||
------------
|
------------
|
||||||
|
|
||||||
This class provides another totally generic type of configuration,
|
This class provides another totally generic type of configuration, where the
|
||||||
where the guest is exposing a UNIX socket for its control plane,
|
guest is exposing a UNIX socket for its control plane, allowing an external
|
||||||
allowing an external userspace service to provide the backend data
|
userspace service to provide the backend data plane via a mapped memory region.
|
||||||
plane via a mapped memory region. The process must implement the
|
The process must implement the virtio-net vhost protocol on this socket in
|
||||||
virtio-net vhost protocol on this socket in whatever means is most
|
whatever means is most suitable.
|
||||||
suitable.
|
|
||||||
|
|
||||||
VIFHostDevice
|
VIFHostDevice
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
This class provides a way to pass a physical device to the guest.
|
This class provides a way to pass a physical device to the guest. Either an
|
||||||
Either an entire physical device, or a SR-IOV PCI device virtual
|
entire physical device, or a SR-IOV PCI device virtual function, are permitted.
|
||||||
function, are permitted.
|
|
||||||
|
|
||||||
|
|
||||||
VIF port profile objects
|
VIF port profile objects
|
||||||
========================
|
========================
|
||||||
|
|
||||||
Each VIF instance can optionally be associated with a port profile
|
Each VIF instance can optionally be associated with a port profile object. This
|
||||||
object. This provides a set of metadata attributes that serve to
|
provides a set of metadata attributes that serve to identify the guest virtual
|
||||||
identify the guest virtual interface to the host. Different types
|
interface to the host. Different types of host connectivity will require
|
||||||
of host connectivity will require different port profile object
|
different port profile object metadata. Each port profile type is associated
|
||||||
metadata. Each port profile type is associated wtih a versioned
|
with a versioned object, subclassing `VIFPortProfileBase`.
|
||||||
object, subclassing VIFPortProfileBase
|
|
||||||
|
|
||||||
VIFPortProfileOpenVSwitch
|
VIFPortProfileOpenVSwitch
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
This profile provides the metadata required to associate a VIF
|
This profile provides the metadata required to associate a VIF with an Open
|
||||||
with an openvswitch host port.
|
vSwitch host port.
|
||||||
|
|
||||||
VIFPortProfile8021Qbg
|
VIFPortProfile8021Qbg
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
This profile provides the metadata required to associate a VIF
|
This profile provides the metadata required to associate a VIF with a VEPA host
|
||||||
with a VEPA host device supporting the 801.1Qbg spec.
|
device supporting the 801.1Qbg spec.
|
||||||
|
|
||||||
VIFPortProfile8021Qbh
|
VIFPortProfile8021Qbh
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
This profile provides the metadata required to associate a VIF
|
This profile provides the metadata required to associate a VIF with a VEPA host
|
||||||
with a VEPA host device supporting the 801.1Qbg spec.
|
device supporting the 801.1Qbg spec.
|
||||||
|
|
||||||
VIFPortProfileFPOpenVSwitch
|
VIFPortProfileFPOpenVSwitch
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
This profile provides the metadata required to associate a fast path
|
This profile provides the metadata required to associate a fast path vhost-user
|
||||||
vhostuser VIF with an openvswitch port.
|
VIF with an Open vSwitch port.
|
||||||
|
|
||||||
VIFPortProfileFPBridge
|
VIFPortProfileFPBridge
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
This profile provides the metadata required to associate a fast path
|
This profile provides the metadata required to associate a fast path vhost-user
|
||||||
vhostuser VIF with a linuxbridge port.
|
VIF with a Linux bridge port.
|
||||||
|
|
||||||
VIFPortProfileFPTap
|
VIFPortProfileFPTap
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
This profile provides the metadata required to associate a fast path
|
This profile provides the metadata required to associate a fast path vhost-user
|
||||||
vhostuser VIF with a calico port.
|
VIF with a Calico port.
|
||||||
|
|
||||||
|
|
||||||
VIF network objects
|
VIF network objects
|
||||||
===================
|
===================
|
||||||
|
|
||||||
Each VIF instance is associated with a set of objects which
|
Each VIF instance is associated with a set of objects which describe the
|
||||||
describe the logical network that the guest will be plugged
|
logical network that the guest will be plugged into. This information is again
|
||||||
into. This information is again represented by a set of
|
represented by a set of versioned objects
|
||||||
versioned objects
|
|
||||||
|
|
||||||
TODO :-(
|
TODO :-(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user