aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorShradha Shah <sshah@solarflare.com>2012-08-16 16:42:31 +0100
committerLaine Stump <laine@laine.org>2012-08-17 15:43:26 -0400
commita818f8cfb6bc5aff8a179545cfaa99092dbc4149 (patch)
tree56d6ed6cf263c5cac03d2e85e78d28a07cb0b053 /docs
parentconf: add function virDevicePCIAddressEqual (diff)
downloadlibvirt-a818f8cfb6bc5aff8a179545cfaa99092dbc4149.tar.gz
libvirt-a818f8cfb6bc5aff8a179545cfaa99092dbc4149.tar.bz2
libvirt-a818f8cfb6bc5aff8a179545cfaa99092dbc4149.zip
network: support <forward mode='hostdev'> in network driver
This patch updates the network driver to properly utilize the new attributes/elements that are now in virNetworkDef Signed-off-by: Shradha Shah <sshah@solarflare.com> Signed-off-by: Laine Stump <laine@laine.org>
Diffstat (limited to 'docs')
-rw-r--r--docs/formatnetwork.html.in69
1 files changed, 69 insertions, 0 deletions
diff --git a/docs/formatnetwork.html.in b/docs/formatnetwork.html.in
index ed9f7a9db..49206dda1 100644
--- a/docs/formatnetwork.html.in
+++ b/docs/formatnetwork.html.in
@@ -223,6 +223,42 @@
(usually either a domain start, or a hotplug interface
attach to a domain).<span class="since">Since 0.9.4</span>
</dd>
+ <dt><code>hostdev</code></dt>
+ <dd>
+ This network facilitates PCI Passthrough of a network
+ device. A network device is chosen from the interface
+ pool and directly assigned to the guest using generic
+ device passthrough, after first optionally setting the
+ device's MAC address and vlan tag to the configured value,
+ and optionally associating the device with an 802.1Qbh
+ capable switch using a <code>&lt;virtualport&gt;</code>
+ element. Note that - due to limitations in standard
+ single-port PCI ethernet card driver design - only SR-IOV
+ (Single Root I/O Virtualization) virtual function (VF)
+ devices can be assigned in this manner; to assign a
+ standard single-port PCI or PCIe ethernet card to a guest,
+ use the traditional <code>&lt; hostdev&gt;</code> device
+ definition. <span class="since"> Since 0.10.0</span>
+
+ <p>Note that this "intelligent passthrough" of network
+ devices is very similar to the functionality of a
+ standard <code>&lt; hostdev&gt;</code> device, the
+ difference being that this method allows specifying a MAC
+ address, vlan tag, and <code>&lt;virtualport &gt;</code>
+ for the passed-through device. If these capabilities are
+ not required, if you have a standard single-port PCI,
+ PCIe, or USB network card that doesn't support SR-IOV (and
+ hence would anyway lose the configured MAC address during
+ reset after being assigned to the guest domain), or if you
+ are using a version of libvirt older than 0.10.0, you
+ should use a standard
+ <code>&lt;hostdev&gt;</code> device definition in the
+ domain's configuration to assign the device to the guest
+ instead of defining an <code>&lt;interface
+ type='network'&gt;</code> pointing to a network
+ with <code>&lt;forward mode='hostdev'/&gt;</code>.
+ </p>
+ </dd>
</dl>
As mentioned above, a <code>&lt;forward&gt;</code> element can
have multiple <code>&lt;interface&gt;</code> subelements, each
@@ -272,6 +308,39 @@
particular, 'passthrough' mode, and 'private' mode when using
802.1Qbh), libvirt will choose an unused physical interface
or, if it can't find an unused interface, fail the operation.</p>
+
+ <p>
+ <span class="since">since 0.10.0</span> When using forward
+ mode 'hostdev', the interface pool is specified with a list
+ of <code>&lt;address&gt;</code> elements, each of which has
+ <code>&lt; type&gt;</code> (must always be <code>'pci'</code>,
+ <code>&lt;domain&gt;</code>, <code>&lt;bus&gt;</code>,
+ <code>&lt;slot&gt;</code>, and <code>&lt;function&gt;</code>
+ attributes.
+ </p>
+ <pre>
+...
+ &lt;forward mode='hostdev' managed='yes'&gt;
+ &lt;address type='pci' domain='0' bus='4' slot='0' function='1'/&gt;
+ &lt;address type='pci' domain='0' bus='4' slot='0' function='2'/&gt;
+ &lt;address type='pci' domain='0' bus='4' slot='0' function='3'/&gt;
+ &lt;/forward&gt;
+...
+ </pre>
+
+ Alternatively the interface pool can also be defined using a
+ single physical function <code>&lt;pf&gt;</code> subelement to
+ call out the corresponding physical interface associated with
+ multiple virtual interfaces (similar to passthrough mode):
+
+ <pre>
+...
+ &lt;forward mode='hostdev' managed='yes'&gt;
+ &lt;pf dev='eth0'/&gt;
+ &lt;/forward&gt;
+...
+ </pre>
+
</dd>
</dl>
<h5><a name="elementQoS">Quality of service</a></h5>