[gPXE] multiple virtio network cards, qemu and gpxe.
Stefan Hajnoczi
stefanha at gmail.com
Sun Jun 27 10:09:23 EDT 2010
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.
Thanks,
Stefan
More information about the gPXE
mailing list