[ipxe-devel] vmxnet3 port

Michael Brown mbrown at fensystems.co.uk
Thu Jan 5 10:43:21 UTC 2012

On Thursday 05 Jan 2012 05:22:56 Pete Holland wrote:
> So I'm working on a port of the vmxnet3 driver to ipxe (mainly because
> the default pxe client in ESX is not suitable for my needs).
> One problem I've run into is that the vmxnet3 driver seems to require
> far more memory (by default somewhere between 1-2 MB) from
> the heap than ipxe normally has (128K) for setting up all of its DMA
> structures.  I am currently hacking malloc.c to up the heap size
> but I'm wondering if there is a 'correct' way of doing this in terms
> of ipxe development (since, if I'm successful, I'd like to contribute
> the
> port to the project).
> The second problem is that I am at the point where I have set up the
> BARs correctly (as I can read/write the MAC address, link state is
> readable,
> and resetting the device seems to jigger some logs into vmware.log
> indicating that it is successfully doing the reset), however
> 'activating' the device fails (with no indication in vmware.log or
> hostd.log as to why).
> At this point, I'm about to go hat-in-hand to the vmware dev
> responsible for the Linux vmxnet3 driver for some insight, but I
> figured I'd ask if
> anyone else here has tried this before, heard of anyone trying this,
> or otherwise has a thought on the matter.

I tried writing a vmxnet3 driver about a month ago.  Latest version is 
attached.  This is a written-from-scratch iPXE driver rather than a Linux 
port, and it doesn't use unusual amounts of memory.

The driver basically works, but has an unusual problem: the (virtual) hardware 
reports TX completions immediately but reports RX completions only after every 
two packets.  Consequently, everything works fine only as long as there is 
additional traffic on the interface (e.g. a flood ping from the host).

If you can fix the RX completion problem, that would be fantastic!

-------------- next part --------------
A non-text attachment was scrubbed...
Name: ipxe-vmxnet3.patch
Type: text/x-patch
Size: 33168 bytes
Desc: not available
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20120105/c19ce896/attachment.bin>

More information about the ipxe-devel mailing list