From owner-freebsd-isp@FreeBSD.ORG Fri Aug 24 21:42:37 2007 Return-Path: Delivered-To: freebsd-isp@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F280F16A417 for ; Fri, 24 Aug 2007 21:42:36 +0000 (UTC) (envelope-from netslists@gmail.com) Received: from fk-out-0910.google.com (fk-out-0910.google.com [209.85.128.184]) by mx1.freebsd.org (Postfix) with ESMTP id 85D4C13C457 for ; Fri, 24 Aug 2007 21:42:36 +0000 (UTC) (envelope-from netslists@gmail.com) Received: by fk-out-0910.google.com with SMTP id b27so923652fka for ; Fri, 24 Aug 2007 14:42:35 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:user-agent:mime-version:to:subject:references:in-reply-to:content-type:content-transfer-encoding; b=BY9xRZdjXYOmWyF98fqAkqfEwa9sjqGcwCol6Lw6w817YQYc+LTO8Fe0aFR31YIDsxMKyWBTzwEqeKlL++Dp+52A6E0zVTkySsI6pmyGbWTmr8MhciZq88h0hzTEI66Xg1jtt0nIdnuhFSzqziJtA1ZvLdhLUXB4tyFjpu/E768= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:user-agent:mime-version:to:subject:references:in-reply-to:content-type:content-transfer-encoding; b=oyKRFxztdT2dzQv+L1Cl7QD8lHjgDyXQjw9XcbH+5SKsSoXo5LBTvV1XPHSeLDhAUt2xSZbiJ78W333CXT1g0zNmwPRBUsUyTEwsizvtggjektM+yF1wTmyKwWHZbgBA8j8zPO1DAWYdmdbl35ggSnTrSV8nu3DRMQksX7j+Wi8= Received: by 10.82.178.11 with SMTP id a11mr6552420buf.1187990192987; Fri, 24 Aug 2007 14:16:32 -0700 (PDT) Received: from ?192.168.17.8? ( [91.135.49.237]) by mx.google.com with ESMTPS id d26sm2034863nfh.2007.08.24.14.16.31 (version=SSLv3 cipher=RC4-MD5); Fri, 24 Aug 2007 14:16:31 -0700 (PDT) Message-ID: <46CF4AA9.6020803@gmail.com> Date: Fri, 24 Aug 2007 23:16:25 +0200 From: Sten Daniel Soersdal User-Agent: Thunderbird 2.0.0.6 (Windows/20070728) MIME-Version: 1.0 To: freebsd-isp@freebsd.org References: <20070822080112.GA58627@schumacher.dk> <46CC1E6E.9080701@tomjudge.com> <20070822125432.GB58627@schumacher.dk> <20070822133241.GB83613@tcbug.org> <20070822143513.GB66643@schumacher.dk> In-Reply-To: <20070822143513.GB66643@schumacher.dk> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: Using FreeBSD as a router X-BeenThere: freebsd-isp@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Internet Services Providers List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Aug 2007 21:42:37 -0000 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