From owner-freebsd-bugs@FreeBSD.ORG Wed Sep 8 13:06:49 2004 Return-Path: Delivered-To: freebsd-bugs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DAE9D16A4D0; Wed, 8 Sep 2004 13:06:49 +0000 (GMT) Received: from melusine.cuivre.fr.eu.org (melusine.cuivre.fr.eu.org [82.225.155.84]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8469743D49; Wed, 8 Sep 2004 13:06:49 +0000 (GMT) (envelope-from thomas@FreeBSD.ORG) Received: by melusine.cuivre.fr.eu.org (Postfix, from userid 1000) id 4CBF92A42B; Wed, 8 Sep 2004 15:06:48 +0200 (CEST) Date: Wed, 8 Sep 2004 15:06:48 +0200 From: Thomas Quinot To: Ruslan Ermilov Message-ID: <20040908130648.GA22578@melusine.cuivre.fr.eu.org> References: <200409081250.i88CoPBQ086191@freefall.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200409081250.i88CoPBQ086191@freefall.freebsd.org> X-message-flag: WARNING! Using Outlook can damage your computer. User-Agent: Mutt/1.5.6i cc: freebsd-bugs@FreeBSD.org Subject: Re: kern/71474: route lookup does not skip interfaces marked down X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Sep 2004 13:06:50 -0000 * Ruslan Ermilov, 2004-09-08 : > > ifconfig I1 192.168.0.1 netmask 255.255.255.0 > > ifconfig I1 down > > ifconfig I2 192.168.0.2 netmask 255.255.255.0 > > route add default 192.168.0.254 > > > > The default route will be set to 192.168.0.254 on I1, not on I2 as > > expected. > > > It's still a misconfiguration -- if you do not bring the I1 interface > down, the "interface" route for I2 will not be installed, and the > ifconfig(8) command will be aborted. Anyway... I am not sure I get what you mean. The point of this PR is that I *do* bring I1 down, that the kernel has an unambiguous indication of how to reach the specified gateway ('ping 192.168.0.254' works in the example described above), and in spite of that the wrong interface is selected when creating a route. > I reproduced this with two ng_eiface(4) nodes. There's still a useful > option in the route(8) utility -- you can supply an explicit reference > to the interface, like this: > : route add default 192.168.0.254 -ifp I1 Right, I was not aware of that option. > This is also vaguely documented in the route(8) manpage, FWIW: *Vaguely* is the right term I think. :-) Having browsed through the code, I think the interface lookup for route additions should use a modified version of ifa_ifwithaddr ignoring non-up interfaces. Thomas. -- Thomas.Quinot@Cuivre.FR.EU.ORG