Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Dec 2007 15:46:35 -0800
From:      Julian Elischer <julian@elischer.org>
To:        Max Laier <max@love2party.net>
Cc:        freebsd-net@freebsd.org
Subject:   Re: bikeshed for all!
Message-ID:  <476072DB.3090600@elischer.org>
In-Reply-To: <200712130021.56473.max@love2party.net>
References:  <476061FD.8050500@elischer.org> <200712130007.20720.max@love2party.net> <47606BD0.7050005@elischer.org> <200712130021.56473.max@love2party.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Max Laier wrote:
> On Thursday 13 December 2007, Julian Elischer wrote:
>> Max Laier wrote:
>>> On Wednesday 12 December 2007, Julian Elischer wrote:
>>>> So, I'm playing with some multiple routing table support..
>>>> the first version is a minimal impact version with very limited
>>>> functionality. It's done that way so I can put it in RELENG_6/7
>>>> without breaking ABIs (I hope). Later there will be a more flexible
>>>> version for-current.
>>>>
>>>> Here's the question..
>>>>
>>>> I need a word to use to describe the network view one is currently
>>>> on.. e.g. if you are usinghe second routing table, you could say
>>>> I've set xxx to 1 (0 based)..
>>>>
>>>>
>>>> current;y in my code I'm using 'universe' but I don't like that..
>>>>
>>>> one could think of it as a routing plane..
>>>> each routing plane has he same interfaces on it but they are
>>>> logically treated differently becasue each plane has a different
>>>> routing table.
>>>>
>>>>
>>>> so here's an axample of  it in use now...
>>>> the names should change...
>>>>
>>>> setuniverse 1 netstat -rn
>>>> [shows table 1]
>>>> setuniverse 2 route add 10.0.0.0/24 192.168.2.1
>>>> setuinverse 1 route add 10.0.0.0/24 192.168.3.1
>>>> setuniverse 2 route -n get 10.0.0.3
>>>> [shows 192.168.2.1]
>>>> setuniverse 1 route -n get 10.0.0.3
>>>> [shows 192.168.3.1]
>>>> setuniverse 2 start_apache
>>>> [appache starts, always using 192.168.2.1 to reach the 10.0.0 net.
>>>>
>>>>
>>>> also the syscall is setuniverse()
>>>>
>>>> so, you see I really need a better name....
>>>> setrtab?
>>>>
>>>> rtab? rtbl?
>>>>
>>>> and the command should be called "????"
>>> FWIW, OpenBSD just added a "-T num" switch to concerned programs like
>>> route and netstat.  As far as I can tell they rely entirely on pf to
>>> select a table - so there is no way to start a program "inside" a
>>> certain network view.  OTOH, how - in your system - would you decide
>>> which table to use for forwarded packets?
>> ipfw/pf/ipf rule (not yet added) :-)
> 
> pf has ifdef'ed out code to deal with the OpenBSD version of routing 
> tables.  What it does is adding an mbuf_tag which carries the tableid and 
> ip_{{in,out}put,forward} take action accordingly.

EXACTLY what I plan on doing.

> 
>>> More to the bikeshed pov, "universe" seems rather broad.  "netview"
>>> comes to mind.  "rtabselect", though that has a lot of characters,
>>> but then again "setuniverse" is even one char longer ;)
> 




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?476072DB.3090600>