Thanks Laine. I was told by ghoff...@redhat.com [cc'ed] that: """ "ipxe-roms-qemu.rpm" carries only the roms for the hardware emulated by qemu, and qemu has a rpm dependency on it so this is installed on every virt host. "ipxe-roms.rpm" has everything else, but isn't installed by default.
And that Naming convention used by ipxe is "${vendorid}${deviceid}.rom" for the filename. "8086" is vendor intel, "10ca" is the the vf nic device. """ So it's VDSM responsibility to depend on ipxe-roms.rpm in order to pass-through physical hardware, and it seems that there is a standard way of computing a proper boot rom for a device. Since every user of hostdev having this this use case will have to do the same computation, I was hoping that libvirt could do it for us. Thanks, Ido ----- Original Message ----- From: "Laine Stump" <la...@laine.org> To: "Ido Barkan" <ibar...@redhat.com>, libvir-list@redhat.com Cc: "Alona Kaplan" <alkap...@redhat.com> Sent: Tuesday, June 9, 2015 5:20:07 PM Subject: Re: [libvirt] computing the correct rom for seabios to recognize SR-IOV On 06/09/2015 06:49 AM, Ido Barkan wrote: > Hi, > I am a VDSM developer at Ovirt. > > Recently, we opened Bug 1224954 - seabios does not recognize a direct > attached nic [1] > and discovered that in order to leverage the <rom bar='on' file=FILE/> > (as explained in [2]) in the hostdev element, one must compute the correct > FILE > path by following something similar to: > > $ lspci -v #loof for the VF nic part > 00:08.0 Ethernet controller: Intel Corporation 82576 Virtual Function (rev 01) > $ grep "82576 Virtual Function" /usr/share/hwdata/pci.ids > 10ca 82576 Virtual Function > $ rpm -ql ipxe-roms | grep 10ca > /usr/share/ipxe/808610ca.rom > > This computation must be implemented for Ovirt to support booting a VM from > PXE using a SRIOV VF. > > Is there any chance that this computation will be done automatically by > libvirt? I don't think there's any kind of standard that says the proper boot rom for a device can be found by searching for the device's id in a filename in /usr/share/ipxe. Because the name of the bootrom file isn't fixed or reliably predictable, I don't see how libvirt can do anything more specific than allowing a filename to be specified, which it already does. (for example, I have an 82576 SRIOV card on my Fedora 22 system, and a *much* newer version of ipxe installed: ipxe-roms-qemu-20150407-1.gitdc795b9f.fc22.noarch but do not have the file 808610ca.rom (or *any* file with 10ca in the name) in /usr/share/ipxe) So I think the name of the rom really needs to be something configurable from within ovirt (which would then put the name in the libvirt configuration). (One thing this points out to me, though, is that it would be useful to have the rom filename as a configuration option in network pools - that would eliminate the need to specify it separately in every single domain interface definition) -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list