diff -uprN net-next-2.6/net/ipv4/arp.c net-next-2.6.my3/net/ipv4/arp.c --- net-next-2.6/net/ipv4/arp.c 2009-07-01 01:00:58.000000000 +0300 +++ net-next-2.6.my3/net/ipv4/arp.c 2009-07-01 01:26:09.000000000 +0300 @@ -815,6 +815,7 @@ static int arp_process(struct sk_buff *s } if (arp->ar_op == htons(ARPOP_REQUEST) && + tip != sip && ip_route_input(skb, tip, sip, 0, dev) == 0) { rt = skb_rtable(skb);