Create a one-to-many tunnel

Vimal j.vimal at gmail.com
Wed Mar 16 00:40:03 EDT 2011


Hi Matthias,

On 15 March 2011 06:26, Matthias Brugger <matthias.bgg at googlemail.com> wrote:
>
> your question isn't clear to me. anyway, have a look on the tun/tap kernel
> module, so you would be able to do the impementation in userspace (might be
> good for a first prototype or even good enough...).
>

Sorry if I wasn't clear.

I wanted to create an IP in IP tunnel interface.  As far as I know,
tunnel creation support is available for point to point tunnels; i.e.,
we setup an IP in IP tunnel from host A (fixed IP)---host B (fixed IP)
and every packet that is transmitted via the tunneled iface at A is
encapsulated with B's IP address and routed from A (to B).

I wanted an iface that does encapsulation irrespective of what the
destination IP is.

i.e., any packet that is transmitted from the tunnel iface on host A
is encapsulated within another IP header.

The reason I need this is that A can have multiple interfaces to reach
B.  Depending on which iface the packet was sent on, I need the source
IP to be changed (which is basically SNAT).  But for some reason, I
require protocol stack at A to bind to one virtual IP address and B to
know what the virtual IP address is.

Yes, tun/tap should be easy to implement in user space.  I was
initially looking at off-the-shelf components.

I looked at the source code of IP in IP tunnel and modified it
accordingly to create a kernel module as per my requirements.

Thanks!
-- 
Vimal



More information about the Kernelnewbies mailing list