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)