Why the stack doesn't process ("unexpected") ARP replies that it receives?

From: Bartosz Lakomiec (barlak@excite.com)
Date: Tue Jun 24 2003 - 05:26:13 EST

 Is it normal behaviour of the IP stack that it DOES NOT process
 ARP replies that do not result from requests sent by that stack
 itself? Or do I have something misconfigured? See below.

 I need to learn the MAC address of a remote network node
 in an application executing as 'root' on Linux 2.4.19.

 Scenario 1)
 The MAC address IS NOT in the ARP cache, so ioctl()
 fails. I'm building the ARP request and sending it myself
 thru a packet socket. That's OK. And the reply is received
 from the destination node. However... the IP stack on my machine
 doesn't seem to handle the ARP reply! The resulting MAC address
 IS STILL NOT in the cache! ioctl() still fails!

 Scenario 2) (obvious)
 I'm sending a piece of data through a plain datagram socket
 to the remote node, my stack handles the ARP resolution
 on my behalf and I after that I can see the resulting
 MAC address in the cache.

 I sniffed the ARP frames in both scenarios and undoubtedly
 they are byte-after-byte the same.

Join Excite! - http://www.excite.com
The most personalized portal on the Web!
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

This archive was generated by hypermail 2b29 : Mon Jun 30 2003 - 22:00:01 EST