2008-04-23 21:08:31 +04:00
< html >
< body >
< h1 > Node devices XML format< / h1 >
2011-09-27 21:04:52 +04:00
< ul id = "toc" > < / ul >
< h2 > < a name = "NodedevAttributes" > Node Device XML< / a > < / h2 >
< p >
There are several libvirt functions, all with the
prefix < code > virNodeDevice< / code > , which deal with management of
host devices that can be handed to guests via passthrough as
< hostdev> elements
in < a href = "formatdomain.html#elementsUSB" > the domain XML< / a > .
These devices are represented as a hierarchy, where a device on
a bus has a parent of the bus controller device; the root of the
hierarchy is the node named "computer".
< / p >
< p >
When represented in XML, a node device uses the
top-level < code > device< / code > element, with the following
elements present according to the type of device:
< / p >
< dl >
< dt > < code > name< / code > < / dt >
< dd > The name for this device. The name will be alphanumeric,
with words separated by underscore. For many devices, the
name is just the bus type and address, as in
"pci_0000_00_02_1" or "usb_1_5_3", but some devices are able
to provide more specific names, such as
"net_eth1_00_27_13_6a_fe_00".
< / dd >
< dt > < code > parent< / code > < / dt >
< dd > If this element is present, it names the parent device (that
is, a controller to which this node belongs).
< / dd >
< dt > < code > capability< / code > < / dt >
< dd > This node appears for each capability that libvirt
associates with a node. A mandatory
attribute < code > type< / code > lists which category the device
belongs to, and controls which further subelements will be
present to describe the node:
< dl >
< dt > < code > system< / code > < / dt >
< dd > Describes the overall host. Sub-elements include:
< dl >
< dt > < code > product< / code > < / dt >
< dd > If present, a simple text string giving the product
name of the system.< / dd >
< dt > < code > hardware< / code > < / dt >
< dd > Describes the hardware of the system, including
sub-elements for < code > vendor< / code > , < code > version< / code > ,
< code > serial< / code > , and < code > uuid< / code > .< / dd >
< dt > < code > firmware< / code > < / dt >
< dd > Describes the firmware of the system, including
sub-elements for < code > vendor< / code > , < code > version< / code > ,
and < code > release_date< / code > .< / dd >
< / dl >
< / dd >
< dt > < code > pci< / code > < / dt >
< dd > Describes a device on the host's PCI bus. Sub-elements
include:
< dl >
< dt > < code > domain< / code > < / dt >
< dd > Which domain the device belongs to.< / dd >
< dt > < code > bus< / code > < / dt >
< dd > Which bus within the domain.< / dd >
< dt > < code > slot< / code > < / dt >
< dd > Which slot within the bus.< / dd >
< dt > < code > function< / code > < / dt >
< dd > Which function within the slot.< / dd >
< dt > < code > product< / code > < / dt >
< dd > Product details from the device ROM, including an
attribute < code > id< / code > with the hexadecimal product
id, and an optional text description of that id.< / dd >
< dt > < code > vendor< / code > < / dt >
< dd > Vendor details from the device ROM, including an
attribute < code > id< / code > with the hexadecimal vendor
id, and an optional text name of that vendor.< / dd >
< / dl >
< / dd >
< dt > < code > usb_device< / code > < / dt >
< dd > Describes a device on the host's USB bus, based on its
location within the bus. Sub-elements include:
< dl >
< dt > < code > bus< / code > < / dt >
< dd > Which bus the device belongs to.< / dd >
< dt > < code > device< / code > < / dt >
< dd > Which device within the bus.< / dd >
< dt > < code > product< / code > < / dt >
< dd > Product details from the device ROM, including an
attribute < code > id< / code > with the hexadecimal product
id, and an optional text description of that id.< / dd >
< dt > < code > vendor< / code > < / dt >
< dd > Vendor details from the device ROM, including an
attribute < code > id< / code > with the hexadecimal vendor
id, and an optional text name of that vendor.< / dd >
< / dl >
< / dd >
< dt > < code > usb< / code > < / dt >
< dd > Describes a USB device, based on its advertised driver
interface. Sub-elements include:
< dl >
< dt > < code > number< / code > < / dt >
< dd > The device number.< / dd >
< dt > < code > number< / code > < / dt >
< dd > The device class.< / dd >
< dt > < code > number< / code > < / dt >
< dd > The device subclass.< / dd >
< dt > < code > number< / code > < / dt >
< dd > The device protocol.< / dd >
< dt > < code > description< / code > < / dt >
< dd > If present, a description of the device.< / dd >
< / dl >
< / dd >
< dt > < code > net< / code > < / dt >
< dd > Describes a device capable for use as a network
interface. Sub-elements include:
< dl >
< dt > < code > interface< / code > < / dt >
< dd > The interface name tied to this device.< / dd >
< dt > < code > address< / code > < / dt >
< dd > If present, the MAC address of the device.< / dd >
< dt > < code > capability< / code > < / dt >
< dd > A network protocol exposed by the device, where the
attribute < code > type< / code > can be "80203" for IEEE
802.3, or "80211" for various flavors of IEEE 802.11.
2011-12-06 16:09:03 +04:00
< / dd >
2011-09-27 21:04:52 +04:00
< / dl >
< / dd >
< dt > < code > scsi_host< / code > < / dt >
< dd > Describes a SCSI host device. Sub-elements include:
< dl >
< dt > < code > host< / code > < / dt >
< dd > The SCSI host number.< / dd >
2011-12-06 16:09:03 +04:00
< dt > < code > capability< / code > < / dt >
< dd > Current capabilities include "vports_ops" (indicates
2013-01-07 21:05:32 +04:00
vport operations are supported) and "fc_host". "vport_ops"
could contain two optional sub-elements: < code > vports< / code > ,
and < code > max_vports< / code > . < code > vports< / code > shows the
number of vport in use. < code > max_vports< / code > shows the
maximum vports the HBA supports. "fc_host" implies following
sub-elements: < code > wwnn< / code > , < code > wwpn< / code > , and
< code > fabric_wwn< / code > .
2011-12-06 16:09:03 +04:00
< / dd >
2011-09-27 21:04:52 +04:00
< / dl >
< / dd >
< dt > < code > scsi< / code > < / dt >
2012-08-22 22:29:18 +04:00
< dd > Describes a SCSI device. Sub-elements include:
2011-09-27 21:04:52 +04:00
< dl >
< dt > < code > host< / code > < / dt >
< dd > The SCSI host containing the device.< / dd >
< dt > < code > bus< / code > < / dt >
< dd > The bus within the host.< / dd >
< dt > < code > target< / code > < / dt >
< dd > The target within the bus.< / dd >
< dt > < code > lun< / code > < / dt >
< dd > The lun within the target.< / dd >
< dt > < code > type< / code > < / dt >
< dd > The type of SCSI device.< / dd >
< / dl >
< / dd >
< dt > < code > storage< / code > < / dt >
< dd > Describes a device usable for storage. Sub-elements
include:
< dl >
< dt > < code > block< / code > < / dt >
< dd > A block device file name that accesses the storage
present on the device.< / dd >
< dt > < code > bus< / code > < / dt >
< dd > If present, the name of the bus the device is found
on.< / dd >
< dt > < code > drive_type< / code > < / dt >
< dd > The type of the drive, such as "disk" or
"cdrom".< / dd >
< dt > < code > model< / code > < / dt >
< dd > Any model information available from the
device.< / dd >
< dt > < code > vendor< / code > < / dt >
< dd > Any vendor information available from the
device.< / dd >
< dt > < code > serial< / code > < / dt >
< dd > Any serial number information available from the
device.< / dd >
< dt > < code > size< / code > < / dt >
< dd > For fixed-size storage, the amount of storage
available.< / dd >
< dt > < code > capability< / code > < / dt >
< dd > If present, an additional capability is listed via
2012-08-22 22:29:18 +04:00
the attribute < code > type< / code > . Current capabilities
2011-09-27 21:04:52 +04:00
include "hotpluggable" and "removable", with the
latter implying the following
sub-elements: < code > media_available< / code > (0 or
1), < code > media_size< / code > ,
and < code > media_label< / code > .< / dd >
< / dl >
< / dd >
< / dl >
< / dd >
< / dl >
< h2 > < a name = "nodeExample" > Examples< / a > < / h2 >
< p > The following are some example node device XML outputs:< / p >
< pre >
< device>
< name> computer< /name>
< capability type='system'>
< product> 2241B36< /product>
< hardware>
< vendor> LENOVO< /vendor>
< version> ThinkPad T500< /version>
< serial> R89055N< /serial>
< uuid> c9488981-5049-11cb-9c1c-993d0230b4cd< /uuid>
< /hardware>
< firmware>
< vendor> LENOVO< /vendor>
< version> 6FET82WW (3.12 )< /version>
< release_date> 11/26/2009< /release_date>
< /firmware>
< /capability>
< /device>
< device>
< name> net_eth1_00_27_13_6a_fe_00< /name>
< parent> pci_0000_00_19_0< /parent>
< capability type='net'>
< interface> eth1< /interface>
< address> 00:27:13:6a:fe:00< /address>
< capability type='80203'/>
< /capability>
< /device> < / pre >
2008-04-23 21:08:31 +04:00
< / body >
< / html >