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

Some examples:

- 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.
_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to