Using FreeBSD as a router

Sten Daniel Soersdal netslists at gmail.com
Fri Aug 24 14:42:37 PDT 2007


Steffen Schumacher wrote:
> On 22.08.2007 08:32:41 -0500, Josh Paetzel wrote:
>> Steffen Schumacher wrote:
>>> On 22.08.2007 12:30:54 +0100, Tom Judge wrote:
>>>> Steffen Schumacher wrote:
>>>>
> [cut..]
>>> /Steffen 
>> "You keep using that word. I do not think it means what you think it
>> means."
>>
>> In FreeBSD the default route is a directly connected host that it can
>> send packets to that it doesn't have a specific route to.  It's not
>> going to 'figure out' a default route from a network address.
>>
> Ok, I'll try to elaborate what it is I'd like:
> For each route a 'router' must have some next-hop information, so that
> it knows how to forward traffic for that prefix. Typically the interface,
> and possibly a layer2 address (mac for ethernet) if such exist.
> Normally (virtually all the time) static routes are directed at connected
> hosts, just as you explain. This way it is simple to get the next-hop
> info, because it is the same as for that connected host.
> 
> What I would like is for the router to realize the configured next-hop
> isn't a directly connected host, and as a result attempt to lookup that
> host to see if we have a route for the next-hop address. If we do, then
> we use the next-hop information from this second lookup and use the
> next-hop information for the original route. 
> This is what I mean with recursive route lookups.
> 
> 1. normal lookup
> 0/0 -> x.
> x/30 -> fxp0.
> => 0/0 -> mac of x via fxp0.
> 
> 2. recursive lookup
> 0/0 -> y.
> y/16 -> x/30.
> x/30 -> fxp0.
> => 0/0 -> mac of x via fxp0.
> 
> Hope this clarifies, but it does seem there is very little support for this.
> Does anyone know the whereabouts of this in the FreeBSD code? 
> 

I don't think freebsd supports recursive routes but it's been too long 
since i tried and that may no longer apply.
I think i read a discussion on one of the lists (possibly -net) that 
such functionality should be performed by a routing daemon and not by 
the kernel. Maybe you could find the clues in the archives?

-- 
Sten Daniel Soersdal


More information about the freebsd-isp mailing list