After coming up with a work-around for the lwip bug I
mentioned in my previous posts, I got further in my project.
Now I am running in other problems:
1) As the payload goes higher in lwip_send, it is getting easier to hang
up, when the payload passes 3000, I can't even connect using Windows
telnet.
2) The same lwip program acts differently when using the telnet from XP
and Vista. It is a lot easier to hang up under Vista's telnet.
3) When lwIP "lost" an ACK, it still waits indefinitely, and
won't try to resend the packet.
Since these are not easy to repeat on other members' platform, I am
planning to chase them myself.
To do that, I need to better understand lwIP.
lwIP is a big project, to read through them all will be a tough project,
would any of you give me some insight pointer about lwip? such
as
1) The routine/ISR that handles *ALL* the incoming packets?
2) The place to sort throught the packets into UDP, DHCP, TCP, etc?
3) The routine that being polling in the highest frequency under TCP
layer to dispatch the TCP packets?