Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Jul 2009 10:00:18 -0800
From:      Mel Flynn <mel.flynn+fbsd.questions@mailing.thruhere.net>
To:        freebsd-questions@freebsd.org
Cc:        Brent Bloxam <brentb@beanfield.com>, Nikos Vassiliadis <nvass9573@gmx.com>
Subject:   Re: FreeBSD & FIBs (setfib) - How to modify?
Message-ID:  <200907161000.18544.mel.flynn%2Bfbsd.questions@mailing.thruhere.net>
In-Reply-To: <4A5F679F.3000705@gmx.com>
References:  <4A5F3D48.608@beanfield.com> <4A5F651D.9050205@beanfield.com> <4A5F679F.3000705@gmx.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 16 July 2009 09:47:11 Nikos Vassiliadis wrote:
> Brent Bloxam wrote:
> > Nikos Vassiliadis wrote:
> >> Brent Bloxam wrote:
> >>> The documentation on FIBs is pretty slim unless I've been looking in
> >>> the wrong places, all I've seen are a few mentions in errata and
> >>> release notes. setfib(1) doesn't offer much in the way of associated
> >>> commands, and definitely doesn't explain how to actually work with a
> >>> FIB. I'm curious if there's a command to specifically modify a FIB
> >>> beyond 0, besides something like
> >>>
> >>> setfib 1 route add ...
> >>
> >> setfib selects the routing table for locally originated
> >> outgoing packets. Besides locally originated packets, there
> >> are packets arriving from the network and need to be forwarded.
> >> These packets can be classified in a specific routing table
> >> with the aid of ipfw. That's all there is. I can't think
> >> of something else that needs to be thought with regard to
> >> multiple routing tables.
> >>
> >> HTH, Nikos
> >
> > Sorry, perhaps I wasn't clear. What I'm interested in is if there's a
> > way to deal with *modifying* those other routing tables, besides using
> > setfib as I described (e.g., you want to have a different default
> > gateway). There would be no reason to have multiple routing tables if
> > they're carbon copies of one another.
>
> setfib has no internal commands. setfib runs the command you tell it
> to in a specific routing table. You modify/inspect the routing tables
> with the standard tools, that is route, netstat, some dynamic routing
> daemon(quagga, etc) and in general everything that's related to the
> routing table.
>
> Just start a shell in FIB 10 and every command forked from
> that shell will be bound to FIB 10.
> setfib 10 csh
> ... do some work
> exit
> you're back in FIB 0.

I guess the main question here is "what is 10?" or what is an FIB?. How does 
one create such an FIB id (which I can't find in docs either). For example, on 
my system if I do:
% setfib 2 fetch http://www.freebsd.org/docs.html
setfib: 2: invalid FIB (max 0)

I would expect to see some info in
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-routing.html

Naturally there's some info here:
http://en.wikipedia.org/wiki/Forwarding_information_base

but that doesn't have any practical information on how to create one.
-- 
Mel



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907161000.18544.mel.flynn%2Bfbsd.questions>