On Wednesday 10 Jul 2013 15:30:08 H. Peter Anvin wrote: > The most recent version of Syslinux supports a builtin TCP/IP stack > which is used to handle HTTP-based protocols. This works well on > traditional PXE stacks, but it fails horribly on iPXE. The reason seems > to be that iPXE, with its own builtin TCP stack, sends an RST in > response to any incoming TCP packet with a port number it doesn't > recognize, even though it has an NBP as an UNDI stack listener open.
Interesting. Calling PXENV_UNDI_OPEN (or attempting to transmit a packet via PXENV_UNDI_TRANSMIT) will call netdev_rx_freeze() on the relevant network device. Once this has been done, net_poll() will leave any received packets on the device's RX queue, and will not pass them up the stack. They should never reach the TCP layer. Are you sure that the RST is coming from iPXE? If iPXE is built with DEBUG=tcp:3, do you see any messages corresponding to the RST packets? Michael _______________________________________________ ipxe-devel mailing list ipxe-devel@lists.ipxe.org https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel