[gPXE] multiple virtio network cards, qemu and gpxe.
Stefan Hajnoczi
stefanha at gmail.com
Fri Jul 2 04:37:06 EDT 2010
On Sun, Jun 27, 2010 at 3:09 PM, Stefan Hajnoczi <stefanha at gmail.com> wrote:
> On Sat, Jun 26, 2010 at 5:33 AM, Vagrant Cascadian
> <vagrant+gpxe at freegeek.org> wrote:
>> i was testing out gPXE today using qemu on a debian system (0.12.4+dfsg-2),
>> with gPXE roms built from 1.0.1-rc1, and i noticed an issue when using the
>> virtio network driver.
>>
>> if there was only one virtio network card, gPXE would work fine.
>>
>> if i configured qemu to use two virtio network cards, gPXE would very briefly
>> display the following message and reboot:
>>
>> I/O address 0x0000c020, IRQ #11
>> MAC address 52:54:00:12:34:56
>> WARNING: Using legacy NIC wrapper on 52:54:00:12:34:56
>>
>> with two cards, it doesn't get as far as displaying:
>>
>> gPXE 1.0.1-rc1 -- Open Source Boot Firmware -- http://etherboot.org
>> Features: AoE HTTP iSCSI DNS TFTP bzImage COMBOOT ELF Multiboot NBI PXE PXEXT
>>
>> other network cards i tested e1000, pcnet, ne2k_pci seemed to handle multiple
>> network cards without problem.
>
> Thanks for reporting this issue. The virtio-net driver was originally
> written for legacy Etherboot. The code still works in gPXE but isn't
> able to take advantage of gPXE's native driver API.
>
> What's more is that the virtio-net driver is keeping global state - it
> is not possible to have multiple instances of the driver active
> simultaneously, as you discovered.
>
> The solution requires restructuring the virtio-net driver to eliminate
> global state. It would make sense to update the driver to use gPXE's
> native API at the same time.
>
> If you file a bug for this issue at http://support.etherboot.org/ you
> will be kept up to date when this issue is resolved.
I am rewriting virtio-net as a native driver that supports multiple
NICs in a VM. Will post patches and test gPXE images soon.
Stefan
More information about the gPXE
mailing list