[Libvir] RFC: format for mapping host devices to guest
Daniel Veillard
veillard at redhat.com
Thu Jul 19 14:04:49 UTC 2007
On Thu, Jul 19, 2007 at 02:28:00PM +0100, Daniel P. Berrange wrote:
> On Thu, Jul 19, 2007 at 06:17:29AM -0400, Daniel Veillard wrote:
> >
> > IMHO you should output both, then depending how you will reuse that XML
> > fragment one or the other may be used, this could actually be one argument to
> > split the device definition entry point and the device modification. For
> > the definition you would use the vendor/product identifiers, while for example
> > to simulate a disk change on an USB CDRom reader you would use device numbers.
> >
> > <host bus='usb'>
> > <device vendor='0471' product='0311' name='Philips PCVC740K ToUcam Pro'/>
> > <source dev='003.001'/>
> > <target dev='001.005'/>
> > </host>
> >
> > At the XML format you would require device or source to be present, possibly
> > both and name would be an optional attribute (which need to be XML escaped).
>
> The name doesn't belong here. I've got a separate email to write about a way
> to enumerate devices on the host - currently virt-manager just calls HAL which
> obviously doesn't work for remote management. So we need an API for enumerating
> physical devices - the 'name' attribute for the devices is better placed in
> there, rather the duplicating in the per-VM config.
Well, to me it's a way to express you want such or such functionality
in a VM. I would not expect duplication in all instances. But if the
user visible string can be accessed from somewhere else, fine, as I said
I consider this optional.
> > > Now PCI would be similar - no hotplug to worry about here though, and no
> > > need (or availability) or target info. So the XML would simply be
> > >
> > > <host bus='pci'>
> > > <source dev='00:1f.3'/>
> > > </host>
> > >
> >
> > You may still have twice the same kind of card plugged on a PCI bus
> > so just vendor/product doesn't sound sufficient to me. PCI device are
> > more likely to be static, I would consider vendor/product to be user
> > informations, but the code would always use the device if present.
>
> That PCI dev ID is unique AFAIK - the 3 components uniquely identify the
> PCI device encoding bus+slot or something like that - this is basically
> the info from 'lspci' on Linux.
Agreed you can use it as the identifier, that should not change (unless
card is unplugged/replugged).
Daniel
--
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard | virtualization library http://libvirt.org/
veillard at redhat.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
More information about the libvir-list
mailing list