so, ipxe never does polling for packets. a la Linux NAPI?<div><br></div><div>thanks!<br clear="all"><div><span style="font-family:monospace;font-size:15px">-Alessandro-<br> Here i am, A young man,<br> A crashing computer program,<br>

 Here is a pen, write out my name...<br><br>(from: The Servant - Orchestra)<br></span></div><br>
<br><br><div class="gmail_quote">On Thu, Jan 5, 2012 at 05:31, Christopher Barry <span dir="ltr"><<a href="mailto:christopher.barry@rackwareinc.com">christopher.barry@rackwareinc.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="HOEnZb"><div class="h5">On Thu, 2012-01-05 at 10:43 +0000, Michael Brown wrote:<br>
> On Thursday 05 Jan 2012 05:22:56 Pete Holland wrote:<br>
> > So I'm working on a port of the vmxnet3 driver to ipxe (mainly because<br>
> > the default pxe client in ESX is not suitable for my needs).<br>
> > One problem I've run into is that the vmxnet3 driver seems to require<br>
> > far more memory (by default somewhere between 1-2 MB) from<br>
> > the heap than ipxe normally has (128K) for setting up all of its DMA<br>
> > structures.  I am currently hacking malloc.c to up the heap size<br>
> > but I'm wondering if there is a 'correct' way of doing this in terms<br>
> > of ipxe development (since, if I'm successful, I'd like to contribute<br>
> > the<br>
> > port to the project).<br>
> > The second problem is that I am at the point where I have set up the<br>
> > BARs correctly (as I can read/write the MAC address, link state is<br>
> > readable,<br>
> > and resetting the device seems to jigger some logs into vmware.log<br>
> > indicating that it is successfully doing the reset), however<br>
> > 'activating' the device fails (with no indication in vmware.log or<br>
> > hostd.log as to why).<br>
> > At this point, I'm about to go hat-in-hand to the vmware dev<br>
> > responsible for the Linux vmxnet3 driver for some insight, but I<br>
> > figured I'd ask if<br>
> > anyone else here has tried this before, heard of anyone trying this,<br>
> > or otherwise has a thought on the matter.<br>
><br>
> I tried writing a vmxnet3 driver about a month ago.  Latest version is<br>
> attached.  This is a written-from-scratch iPXE driver rather than a Linux<br>
> port, and it doesn't use unusual amounts of memory.<br>
><br>
> The driver basically works, but has an unusual problem: the (virtual) hardware<br>
> reports TX completions immediately but reports RX completions only after every<br>
> two packets.  Consequently, everything works fine only as long as there is<br>
> additional traffic on the interface (e.g. a flood ping from the host).<br>
><br>
> If you can fix the RX completion problem, that would be fantastic!<br>
><br>
> Michael<br>
<br>
</div></div>+<br>
+/** Driver shared area magic */<br>
+#define VMXNET3_SHARED_MAGIC 0xbabefee1<br>
+<br>
<br>
now THAT's magic...<br>
<br>
:)<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
_______________________________________________<br>
ipxe-devel mailing list<br>
<a href="mailto:ipxe-devel@lists.ipxe.org">ipxe-devel@lists.ipxe.org</a><br>
<a href="https://lists.ipxe.org/mailman/listinfo/ipxe-devel" target="_blank">https://lists.ipxe.org/mailman/listinfo/ipxe-devel</a><br>
</div></div></blockquote></div><br></div>