Consider an example. Suppose I've got a process that wants to send a UDP
datagram to IP address 11.22.33.44. My process doesn't know where that host
is located, nor do I care, as long as the network subsystem can deliver my
datagram appropriately. Further suppose I'm connected to three different
networks through three different network cards. My application doesn't know
which of these network cards is appropriate for the network on which
11.22.33.44 is located. But if I've already had communication to/from that
IP address, its IP/EthernetAddress mapping will already appear in the single
system-wide cache. Thus it's not necessary to examine three different ARP
caches to find the mapping, but only one.
Although arptable (the arp cache) is declared and initialized in arpinit.c,
it is NOT declared inside a function, and thus it's a global name and is
accessible from code anywhere in the system.
Hope this helps.
--Stan Wileman
"Arvind" <arvi...@yahoo.com> wrote in message
news:9463cb26.04073...@posting.google.com...