ip_route_output()->ip_route_output_slow() is the route lookup function, here the FIB (first routing cache) is looked up and outgoing route decided. If the destination address is one of our own addresses the outgoing interface wil be set to the loopback interface and hence loopback_xmit() will be called, which will again queue the packet (netif_rx()) as if it was received from the wire. You dont want loopback_xmit() to be called. U want the outgoing interface to be set to an ethernet interface. U an do this change inside ip_route_output_slow(), read it carefully. Now once the outgoing interface is set to a non-loopback interface, the outgoing packets will come on the wire, but the second hurdle is to force the m/c to generate ARP for this. I have done it in 2.0.35, things have changed wuite a lot since then, but you should be able to find it in arp.c, somwhow the arp_query() function should be called. tomar On Wed, 16 Jul 2003, Christian Stuellenberg wrote: > >>>>> "Christian" == Christian Stuellenberg > <christian_stuellenberg@web.de> writes: > >>>>> "Nagendra" == Nagendra Singh Tomar <nagendra_tomar@adaptec.com> > writes: > Hello, > > Christian> Is it possible to route packets that are addressed to > Christian> an local ip IP1 on DEV1 out over another interface DEV2 > Christian> again (and later to locally accept the package on DEV3 > Christian> for IP1)? If so, how? > Nagendra> Two things you have to do here: 1. Whenever the sending > Nagendra> code figures out that the destination is one of its own > Nagendra> IP address it will pass it to the loopback > Nagendra> interface. You have to modify here to prevent it from > Nagendra> doing this. 2. You have to modify the ARP code so that > Nagendra> it generates an ARP request for its own IP address. I > Nagendra> have done these two things once in 2.0.35 kernel and it > Nagendra> worked ! > > Due to my poor experience with the kernel-development this would not > that easy for me. Do you have some hints, on where to start? > > Regards, > Christian > > - > : 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 > - : 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