Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kernel networking stack in userspace

On Sat Oct 18 2008 at 09:08:38 -0700, Paul Goyette wrote:
> >Currently, tap must be configured manually as tap0.  To do this, execute
> >(with appropriate priviledges):
> >golem> ifconfig tap0 create
> >golem> ifconfig tap0 up
> Can we assume that if you want yet another virtual networking domain, 
> you create a tap1, tap2, etc.?

Yes, but that requires non-hardcoding /dev/tap0 in if_virt.c.  I'm
thinking that maybe calling code should open /dev/tap and just pass
in the ifname + file descriptor to rump_virtif_create().

Anyway, if you want to play with it, should be easy to workaround
by just using a counter and snprintf or somelike think that.

> >Optionally, if wanting to bridge to a real network, execute:
> >golem> ifconfig bridge0 create
> >golem> brconfig bridge0 add tap0 add yourrealif0
> >golem> brconfig bridge0 up
> >(yes, the first command really is ifconfig, not brconfig)
> What about _routing_ between domains?  :)

All processes using rumpnet have their own routing tables.  Routing
between these should not be a problem.  E.g., if you have two processes
using two tap interfaces, and if they are in the same subnet, you can make
them talk to each other simply by briding the tap interfaces.  If you
want actual IP routing to happen, you need to configure routing tables.
I have not yet tested with options GATEWAY, but I don't see why that
would be a problem.  So, in theory, it should be possible to build a
quite complex network on one host using a set of processes, virtual
interfaces and bridges.

Do you have an actual use case of what you want to do?  That would
help with trying to figure out what configuration interfaces to export
to users.

Home | Main Index | Thread Index | Old Index