[gPXE-devel] [PATCH] [virtio] Replace virtio-net with native gPXE driver
Stefan Hajnoczi
stefanha at gmail.com
Sat Jul 3 17:07:56 EDT 2010
On Sat, Jul 3, 2010 at 9:52 PM, Stefan Hajnoczi <stefanha at gmail.com> wrote:
> This patch adds a native gPXE virtio-net driver and removes the legacy
> Etherboot virtio-net driver. The main reasons for doing this are:
>
> 1. Multiple virtio-net NICs are now supported by gPXE. The legacy
> driver kept global state and caused issues in virtual machines with
> more than one virtio-net device.
>
> 2. Faster downloads. The native gPXE driver downloads 100 MB over HTTP
> in 12s, the legacy Etherboot driver in 37s. This simple benchmark
> uses KVM with tap networking and the Python SimpleHTTPServer both
> running on the same host.
>
> Changes to core virtio code reduce vring descriptors to 256 (QEMU uses
> 128 for virtio-blk and 256 for virtio-net) and change the opaque token
> from u16 to void*. Lowering the descriptor count reduces memory
> consumption. The void* opaque token change makes driver code simpler.
>
> Signed-off-by: Stefan Hajnoczi <stefanha at gmail.com>
Testing would be appreciated so here is a ROM-o-matic to build images:
http://etherboot.org/share/stefanha/virtio-net/contrib/rom-o-matic/
If you want to build from source:
$ git clone -b virtio-net git://git.etherboot.org/scm/people/stefanha/gpxe.git
$ cd gpxe/src
$ make
Stefan
More information about the gPXE-devel
mailing list