lwip-devel
[Top][All Lists]
Advanced

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

Re: [lwip-devel] Missing initialization somewhere?


From: address@hidden
Subject: Re: [lwip-devel] Missing initialization somewhere?
Date: Thu, 13 Oct 2011 18:48:17 +0200
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:7.0.1) Gecko/20110929 Thunderbird/7.0.1

Sergey Kubushyn wrote:
Yes, I do have ARP_QUEUING turned on. Why it is not responding to other
packets is simple -- netif (i.e. whatever this pointer points to) has it's
UP flag bit set to zero. So for all practical purposes the interface is down
and there is no way for the stack to send a packet out.
So does this mean the board responds to ICMP packets when the netif is down or is it up before that? A netif should be up for any communication other than DHCP or AutoIP negotiation.
It doesn't look like it has something to do with ARPs but I might be wrong.
The sequence is:

        - Remote sends ARP for the MCU IP;
        - MCU (lwIP) responds to ARP request properly;
        - Remote sends SYN initiating 3-way TCP handshake;
        - MCU sends ARP request for the remote IP (only once, not
          for every SYN packet);
        - Remote responds to that ARP;
        - MCU generates a proper SYN/ACK packet and attempts to send it;
        - That attempts fails in ip_route() because is_netif_up() tells the
          netif is not up so there is no route out;
        - After a timeout remote resends that initial SYN;
        - MCU again generates a proper SYN/ACK packet and again attempts to
          send it out with exactly the same result.
        - That netif is down for ALL packets that is why nothing is going
          out of the MCU. And there is nothing there to bring it back up.
At which point does the netif go down here?

Simon



reply via email to

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