I'm using lwIP 1.3.2 in RAW mode and believe non-lwIP code is corrupting lwIP's memory space. It's going to be difficult to track down, but I do have one piece of evidence that might help me.
After establishing a TCP connection with a remote host (108.61.35.91, a radio station), disconnecting, then trying to reconnect, SYN packets are being sent, but the remote host doesn't respond. It appears this is happening because lwIP isn't responding to ARP requests from the router, 192.168.0.1. When I reset the unit it works again.
But the weirdest thing is the device, IP address 192.168.0.176 which was assigned with DHCP, suddenly decides its IP is 56.7.0.32 when it sends a RST. Its MAC is staying intact, and lwIPLocalIPAddrGet() is still reporting
192.168.0.176.
What variables should I be looking at that may have become corrupted to cause this?
I've attached the Wireshark trace for reference.