<div dir="ltr">FYI, in the xcat branch, we don't send RST.  In our case it was because TCP services pounding randomly on IPs would cause ipxe to get neighbor table entries preventing it from talking to intended servers.</div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jul 10, 2013 at 2:20 PM, Michael Brown <span dir="ltr"><<a href="mailto:mbrown@fensystems.co.uk" target="_blank">mbrown@fensystems.co.uk</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Wednesday 10 Jul 2013 15:30:08 H. Peter Anvin wrote:<br>
> The most recent version of Syslinux supports a builtin TCP/IP stack<br>
> which is used to handle HTTP-based protocols.  This works well on<br>
> traditional PXE stacks, but it fails horribly on iPXE.  The reason seems<br>
> to be that iPXE, with its own builtin TCP stack, sends an RST in<br>
> response to any incoming TCP packet with a port number it doesn't<br>
> recognize, even though it has an NBP as an UNDI stack listener open.<br>
<br>
</div>Interesting.  Calling PXENV_UNDI_OPEN (or attempting to transmit a packet via<br>
PXENV_UNDI_TRANSMIT) will call netdev_rx_freeze() on the relevant network<br>
device.  Once this has been done, net_poll() will leave any received packets<br>
on the device's RX queue, and will not pass them up the stack.  They should<br>
never reach the TCP layer.<br>
<br>
Are you sure that the RST is coming from iPXE?  If iPXE is built with<br>
DEBUG=tcp:3, do you see any messages corresponding to the RST packets?<br>
<span class="HOEnZb"><font color="#888888"><br>
Michael<br>
</font></span><div class="HOEnZb"><div class="h5">_______________________________________________<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.cgi/ipxe-devel" target="_blank">https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel</a><br>
</div></div></blockquote></div><br></div>