From owner-freebsd-current@FreeBSD.ORG Fri Oct 28 18:34:28 2005 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3AAF116A41F for ; Fri, 28 Oct 2005 18:34:28 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from mv.twc.weather.com (mv.twc.weather.com [65.212.71.225]) by mx1.FreeBSD.org (Postfix) with ESMTP id C206F43D45 for ; Fri, 28 Oct 2005 18:34:27 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from [10.50.41.234] (Not Verified[10.50.41.234]) by mv.twc.weather.com with NetIQ MailMarshal (v6, 0, 3, 8) id ; Fri, 28 Oct 2005 14:51:05 -0400 From: John Baldwin To: Brooks Davis Date: Fri, 28 Oct 2005 14:28:18 -0400 User-Agent: KMail/1.8.2 References: <41473.192.216.27.32.1129818223.squirrel@192.216.27.32> <200510281357.05802.jhb@freebsd.org> <20051028180420.GA17096@odin.ac.hmc.edu> In-Reply-To: <20051028180420.GA17096@odin.ac.hmc.edu> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-6" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200510281428.19462.jhb@freebsd.org> Cc: Tom McLaughlin , freebsd-current@freebsd.org Subject: Re: kern/87506 : [PATCH] Fix alias support on vr interfaces X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Oct 2005 18:34:28 -0000 On Friday 28 October 2005 02:04 pm, Brooks Davis wrote: > On Fri, Oct 28, 2005 at 01:57:04PM -0400, John Baldwin wrote: > > On Thursday 27 October 2005 04:14 pm, Brooks Davis wrote: > > > On Thu, Oct 27, 2005 at 04:02:26PM -0400, Anish Mistry wrote: > > > > On Thursday 20 October 2005 05:29 pm, Brooks Davis wrote: > > > > > On Thu, Oct 20, 2005 at 04:51:21PM -0400, John Baldwin wrote: > > > > > > On Thursday 20 October 2005 02:27 pm, Anish Mistry wrote: > > > > > > > On Thursday 20 October 2005 11:15 am, John Baldwin wrote: > > > > > > > > On Thursday 20 October 2005 10:23 am, Tom McLaughlin wrote: > > > > > > > > > Hi, would someone be available to look at kern PR 87506? I > > > > > > > > > found the problem while building a jail on my 6.0-RC1 box. > > > > > > > > > When setting an alias on a vr device with ifconfig the > > > > > > > > > alias address replaces the initial address of the device. > > > > > > > > > marcus@ took a look at the problem for me and provided the > > > > > > > > > patch for the vr interface which I tested and it resolved > > > > > > > > > the problem. Without the patch I can't create a jail that > > > > > > > > > is network accessible. > > > > > > > > > > > > > > > > > > Marcus also notes in the PR that the rl, sis, ti, and tl > > > > > > > > > may also be affected by this bug. If anyone has any other > > > > > > > > > questions or needs someone to test any changes to the patch > > > > > > > > > just let me know. I only have vr interfaces on my FreeBSD > > > > > > > > > machines though. Thanks. > > > > > > > > > > > > > > > > > > Tom > > > > > > > > > > > > > > > > I'm not sure that fix is really the right fix. The patch > > > > > > > > just makes vr(4) ignore changes to if_flags while the driver > > > > > > > > is up. Probably there is a bug in vr(4)'s handling of alias > > > > > > > > addresses. I did just reproduce this on my laptop's rl(4) > > > > > > > > interface though. I'll see if I can't figure out what is > > > > > > > > happening. > > > > > > > > > > > > > > I'm also seeing this too along with the following. > > > > > > > > > > > > > > I'm not sure if this is related, but I'm seeing the following > > > > > > > on RELENG_6 and CURRENT, but and older RELENG_5 as of ~2 months > > > > > > > ago doesn't show this problem. > > > > > > > I'm trying to setup my workstation with a normal DHCP'd address > > > > > > > and an alias IP for a jail running on the system, but the alias > > > > > > > setting wipes out all the other addresses on the interface. > > > > > > > in /etc/rc.conf: > > > > > > > ifconfig_rl0="DHCP" > > > > > > > ifconfig_rl0_alias0="inet 192.168.1.10 netmask 255.255.255.255" > > > > > > > > > > > > > > I've checked the rc boot order (on RELENG_6 and CURRENT) and it > > > > > > > seems correct: > > > > > > > netif > > > > > > > dhclient > > > > > > > netif > > > > > > > > > > > > > > I narrowed it down to: > > > > > > > dhclient rl0 > > > > > > > ifconfig rl0 inet 192.168.1.11 netmask 0xffffffff alias > > > > > > > [dhclient prints a message here saying connection closed and > > > > > > > exiting] > > > > > > > > > > > > > > All of the other addresses on the card are removed. > > > > > > > I'm also seeing this on dc. So thinking it to be a problem in > > > > > > > ifconfig I copied over the version from my RELENG_5 box, and > > > > > > > that did the same thing...so this seems to be present several > > > > > > > of the network drivers in RELENG_6/CURRENT. > > > > > > > > > > > > Yes, it seems to be an issue with dhclient. If I turn dhclient > > > > > > off and manually configure my NIC then the alias works fine: > > > > > > rl0: flags=8843 mtu 1500 > > > > > > options=8 > > > > > > inet6 fe80::290:f5ff:fe0e:c8e5%rl0 prefixlen 64 scopeid > > > > > > 0x2 inet 10.50.41.234 netmask 0xfffffe00 broadcast 10.50.41.255 > > > > > > inet 10.50.41.101 netmask 0xffffffff broadcast 10.50.41.101 ether > > > > > > 00:90:f5:0e:c8:e5 > > > > > > media: Ethernet autoselect (100baseTX ) > > > > > > status: active > > > > > > > > > > I believe the problem is that adding an address to a NIC causes a > > > > > call to ifp->if_init() which resets the media and triggers a > > > > > LINK_DOWN event in all too many cases. Using if_init here is > > > > > rather like driving finishing nails with a sledge hammer. > > > > > > > > Has there been any resolution of this issue? Since 6.0 is just around > > > > the corner. > > > > > > No. It's going to require non-trivial changes to the design of drivers > > > and eventually some changes to the driver API to really fix this so > > > it's really too late in the game. > > > > > > I think we need to document the lack of support for this configuration > > > and move on. Frankly, it's a configuration I see no compelling reason > > > to support. If you are setting alises, you should know what your > > > address is so you don't need dhcp. I'm aware there are other reasons > > > to want dhcp, but I personally put this sort of thing in the "that > > > would be nice" category. We should try to fix it, but it's no where > > > near the top of my list. > > > > Actually, I think the best fix would be to add some de-bounce logic to > > dhclient so that when it gets a link down state, it waits a second before > > acting on it, and if it gets a link up event before the second expires it > > just cancels the pending link down action. That change would probably go > > a long way to fixing several people's problems with spurious link state > > changes. > > True. Dhclient should however complain loudly if it happens with any > kind of frequency. Note that one second probably won't cut it with many > gigabit nics. :( Just make the timeout configurable and people can tweak it for a given setup. :) -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org