lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] Tracking down source of corruption


From: Simon Goldschmidt
Subject: Re: [lwip-users] Tracking down source of corruption
Date: Wed, 21 Dec 2011 14:02:28 +0100

JM <address@hidden> wrote:
> 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.

To see why it isn't responding to ARP requests, my first idea would be to 
enable lwIP's stats and have a look at the various 'err' or 'drop' members to 
see why packets are dropped (or the 'rx' members to see how many packets it 
thinks it has been receiving).

> 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.

That's not too wierd: I'm guessing your lwIPLocalIPAddrGet() function returns 
the netif's IP address, whereas the RST (I'm assuming it is sent from 
tcp_slowtmr where lwIP decides it gives up sending SYN retries) uses the TCP 
PCB's local address to send the RST. That assumes in the last 1.3 seconds of 
the capture, something has corrupted that PCB.

Unforunately, that doesn't tell you who's corrupting the PCB memory... :-(

Simon
-- 
NEU: FreePhone - 0ct/min Handyspartarif mit Geld-zurück-Garantie!               
Jetzt informieren: http://www.gmx.net/de/go/freephone



reply via email to

[Prev in Thread] Current Thread [Next in Thread]