[ipxe-devel] Problem with accessing iPXE via UNDI
Michael Brown
mbrown at fensystems.co.uk
Wed Jul 10 18:20:27 UTC 2013
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
More information about the ipxe-devel
mailing list