Amos Shapira wrote:
> I'm still curious, though - will the Linux kernel in your situation go
> through the hassle to assemble and transmit Ethernet frames or will it
> notice that it's actually sending to its own address and just say "sod
> it - I'll just copy the buffer in memory" (which is what I half expect)?
>
> --Amos
I haven't checked the kernel's code, but from what I know, Oron's
solution will not work. I don't think there is a way to do what Shlomi
is looking to do.

The kernel views all IP addresses of all interfaces as "his" addresses.
I know for a fact that, at least in the past, it would answer ARP
requests destined for one of its interfaces, even if the request arrived
on another interface. I don't remember at the moment for sure, but I
think even the "proxy arp" would not affect this setting. One thing is
for sure, though. If any kernel option will affect this case, it is
proxy arp, and not IP forwarding. It's the layer 2 you wish to bypass,
not the layer 3.

One thing I would try is to send it to the broadcast address, rather
than to the specific address for the other interface. This will, for
sure, cause the packet to go out on the wire. You can disconnect the
cable to find out whether it will also prevent the kernel from
short-looping the packet.

Shachar

-- 
Shachar Shemesh
Lingnu Open Source Consulting ltd.
Have you backed up today's work? http://www.lingnu.com/backup.html


=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

Reply via email to