First of all sorry if this is not the right list for this question/doubt. I noticed a while ago that I can ping a machine on a diferent network, with no IP on that network, if I have a network interface on the same broadcast domain as that machine's interface if I add a route to that IP through the local IP in the same broadcast domain. Did I make myself clear ? :) Well, what I have is this: /--------\ | | /--------\ | Linux1 |-- aaa.bbb.ccc.ddd/24 -----| Switch | | | \--------/ \--------/ | | eee.fff.ggg.hhh/24 | /---------\ | | | Linux2 | \___________/ (aaa.bbb.ccc.0) != (eee.fff.ggg.0) Linux1 should not be able to ping Linux2 except through a gw, right? (They're not on the same network so the packet should go through the default gw if a less generic route isn't defined, of course) And the packet should go on until it reached a router/gw with a IP on the eee.fff.ggg.0/24 net and it would then be delivered to eee.fff.ggg.hhh. The problem is that the linux stack seems to completely "short circuit" from layer 3 to layer 2 if I add a gw to eee.fff.ggg.hhh through aaa.bbb.ccc.ddd (route add -host eee.fff.ggg.hhh gw aaa.bbb.ccc.ddd); it issues an arp request regardless if the destination IP is on the local network or not. Is this a correct behaviour? Am I missing something? Note: this only happens between 2 linuxes, I tried between 2 FreeBSDs but the IP stack behaves diferently. TIA. -- Jose Celestino <japc@co.sapo.pt> Systems::SAPO.pt http://www.sapo.pt --------------------------------------------------------------------- Titanic 1912 / Hindenburg Zeppelin 1937 / Microsoft Windows 2000 OpenBSD claudia 3.0 GENERIC#94 i386