|Subject:||Re: [lwip-users] Establishing TCP Connection after power-up|
|Date:||Tue, 22 Feb 2011 11:08:13 +1300|
farid mahini wrote:
> It worked. Thank you Simon.
> What else does ARP_QUEUEING activate/do besides buffering SYN message?
ARP_QUEUEING will queue any outgoing IP packets when the MAC address for the packet destination on the local network is not known, automatically transmitting the queued packets once the ARP is resolved (or discarding them if the ARP fails).
- When an outgoing TCP connection is first established to an IP address on the local network, the initial SYN is queued while the ARP is resolved, avoiding a retry of the SYN.
- When an incoming TCP connection is first established from an IP address on the local network, the initial SYN+ACK is queued while the ARP is resolved, avoiding the other station having to retry its SYN.
- If a connection is active long enough to allow the ARP queue entry to expire, then when you next need to send another packet for that connection (any of data, ACK, data+ACK, FIN, FIN+ACK), the outgoing packet is queued while the ARP is resolved, avoiding a retry of the outgoing packet (or a retry from the other station).
- If you send any UDP packet to a previously unknown IP address on the local network, it is queued while the ARP is resolved, avoiding loss of the UDP packet (and a potential higher level retry mechanism).
All of these also apply when the other station is not on the local network, in which case the ARP is finding the MAC address of the gateway/router, rather than the MAC address for the destinaton IP address. All IP packets to the router or to any non-local IP address are queued while the ARP to the router is resolved.
|[Prev in Thread]||Current Thread||[Next in Thread]|