Subject: Re: RFC: Redirect-Device

From: Ben Greear <[email-masked]>
Date: Fri, 01 Apr 2005 08:58:52 -0800

bert hubert wrote:
> On Thu, Mar 31, 2005 at 03:56:28PM -0800, Ben Greear wrote:
> 
> 
>>>I think you are more comfortable with using netdevices and ioctls and
>>>/proc. 
>>
>>Definately.  Ever tried to sniff a socket with ethereal? :)
> 
> 
> On loopback, all the time. I'm probably dense but I don't understand what
> problem you've solved with this interface. Could you elaborate a bit?

It allows me to place a software bridge that can intercept all packets
from user-space via raw packet sockets, and kernel space via registering
an 'all' protocol on the device.  Please note that to bridge in this manner
I have to remove the IP protocol (set IP to 0.0.0.0), otherwise the IP stack
can interfere with the bridging behaviour.

By using a virtual pair of interfaces that are looped back, I can add an
IP to the second virtual network interface that does not interfere with
the two bridged interfaces (one physical, one redirect, both with 0.0.0.0 IP
addresses).

If there were an API to register handlers dynamically that act like the
netpoll hook (ie, with ability to consume frames), then I would not have to
remove the IP from the physical interface and I probably would not have had
to create these redirect devices.  But, when I was suggesting such a hook
in the past, it was shot down because it could allow someone to write their
own TCP stack, and the network guys did not want to allow this possibility.

Thanks,
Ben

-- 
Ben Greear <[email-masked]>
Candela Technologies Inc  http://www.candelatech.com