[gPXE-devel] [PATCH v2] [virtio] Replace virtio-net with native gPXE driver

Stefan Hajnoczi stefanha at gmail.com
Sat Jul 17 10:17:37 EDT 2010


On Fri, Jul 9, 2010 at 7:05 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>
> ---
> v2:
>  * Avoid leaking stack reference to virtio_net_hdr.
>  * Comment why virtio-net.h does not contain driver types.
>

Applied.

http://git.etherboot.org/?p=gpxe.git;a=commitdiff;h=180dcf4363bf1d8889a2398a4944e94ca150b311

Stefan


More information about the gPXE-devel mailing list