[ipxe-devel] vmxnet3 port

Alessandro Salvatori sandr8 at gmail.com
Fri Jan 6 08:51:47 UTC 2012


so, ipxe never does polling for packets. a la Linux NAPI?

thanks!
-Alessandro-
 Here i am, A young man,
 A crashing computer program,
 Here is a pen, write out my name...

(from: The Servant - Orchestra)



On Thu, Jan 5, 2012 at 05:31, Christopher Barry <
christopher.barry at rackwareinc.com> wrote:

> On Thu, 2012-01-05 at 10:43 +0000, Michael Brown wrote:
> > 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!
> >
> > Michael
>
> +
> +/** Driver shared area magic */
> +#define VMXNET3_SHARED_MAGIC 0xbabefee1
> +
>
> now THAT's magic...
>
> :)
>
>
>
> _______________________________________________
> ipxe-devel mailing list
> ipxe-devel at lists.ipxe.org
> https://lists.ipxe.org/mailman/listinfo/ipxe-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20120106/513c341f/attachment.htm>


More information about the ipxe-devel mailing list