For the past several months, Syslinux has been trying to integrate lwIP into
PXELINUX.  At the moment, there appears to be a bug of some sort when using
VMware platforms or some KVM platforms.  Over the last few weeks, I've been
working with hpa and trying to add additional debug checks to trace the
program flow.  I've noticed that it is able to send a TCP segment but then
switches to receive the incoming segment before being added to unacked by
the output thread.  RTT from SYN to SYN/ACK is 0.023 ms per Wireshark on the
host.  The output thread does eventually return but doesn't do so in time
before the socket is reset.

Examining top-of-git, I don't see anything that would change this behavior
and I have attempted to integrate this version in my copy for now to
hopefully make it easier to work with lwIP.  I see at least three possible
solutions:
1) Don't allow the interface driver to switch threads.
2) tcp_process() should handle the condition of the packet being in unsent.
3) Allow the output thread to wrap up a packet, queuing it into unacked,
before tcp_process() searches unacked.

Any suggestions?

--Gene

ps. I am subscibed to this list.
_______________________________________________
lwip-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to