On 02/10/2010 07:23 PM, Ed Swierk wrote: > On Wed, Feb 10, 2010 at 1:02 AM, Daniel P. Berrange <berrange@xxxxxxxxxx> wrote: >> Mostly what Alex already said :-) >> >> The libvirt APIs are split into several functional areas >> >> - virDomain - guest management >> - virInterface - host network interface configuration >> - virStorage - storage manangement >> - virNetwork - virtual networking >> >> The goal is that an app should be able to accomplish all its virtualization >> management tasks without needing any other remote access to the host via >> SSH or other systems. Many of the APIs for those areas I mention above >> require knowledge of what physical devices are present on the machine. For >> example, assigning a PCI or USB device to a guests requires that you know >> what PCI / USB devices the host has. Setting up a storage pool requires >> knowing what disks are available. Configuring network interfaces requires >> knowing what NICs are available, etc. So 'virNodeDev' APIs provide the >> missing link that lets you discover the information about a host that you >> need in order to use the other APIs. > > Thanks, Daniel and Alex, that helps a lot. > > I'm still not clear about the purpose of the node device XML format, > and the nodedev-create virsh command. What does it mean to "create a > device" on a node, if the node device info is gathered via udev or hal > from the actual hardware? Is this to fill in gaps in udev's or hal's > knowledge of the hardware? > The nodedev-create function is currently only used to create NPIV virtual adapters. It's true in general that 'creating' a node device doesn't really make sense, since a node device is actually physical hardware, hence the very limited application ATM. Similarly nodedev-destroy destroys NPIV virtual adapters. - Cole -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list