for some insane reason, linux 2.4 will respond to arp requests for any of its interfaces on any interface. this is totally broken if you put two ethernet interfaces on the same physical layer -- it's totally random which of the two arp responses that are sent will actually make it to the client... and clients will generally send all data through the same interface. -dean --- linux/net/ipv4/arp.c.badproxy Mon Feb 12 17:28:48 2001 +++ linux/net/ipv4/arp.c Tue Feb 13 20:06:37 2001 @@ -737,10 +737,12 @@ addr_type = rt->rt_type; if (addr_type == RTN_LOCAL) { + if ((rt->rt_flags&RTCF_DIRECTSRC) || IN_DEV_PROXY_ARP(in_dev)) { n = neigh_event_ns(&arp_tbl, sha, &sip, dev); if (n) { arp_send(ARPOP_REPLY,ETH_P_ARP,sip,dev,tip,sha,dev->dev_addr,sha); neigh_release(n); + } } goto out; } else if (IN_DEV_FORWARD(in_dev)) {