From owner-freebsd-current@FreeBSD.ORG Thu Sep 29 03:53:54 2005 Return-Path: X-Original-To: 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 6709816A41F for ; Thu, 29 Sep 2005 03:53:54 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (vc4-2-0-87.dsl.netrack.net [199.45.160.85]) by mx1.FreeBSD.org (Postfix) with ESMTP id DBBA743D53 for ; Thu, 29 Sep 2005 03:53:53 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (localhost.village.org [127.0.0.1] (may be forged)) by harmony.bsdimp.com (8.13.3/8.13.3) with ESMTP id j8T3qGXQ023450; Wed, 28 Sep 2005 21:52:23 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Wed, 28 Sep 2005 21:52:55 -0600 (MDT) Message-Id: <20050928.215255.89131771.imp@bsdimp.com> To: brooks@one-eyed-alien.net From: "M. Warner Losh" In-Reply-To: <20050928235033.GA13616@odin.ac.hmc.edu> References: <20050928200243.GA16219@odin.ac.hmc.edu> <20050928.171417.74728660.imp@bsdimp.com> <20050928235033.GA13616@odin.ac.hmc.edu> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0 (harmony.bsdimp.com [127.0.0.1]); Wed, 28 Sep 2005 21:52:23 -0600 (MDT) Cc: current@freebsd.org Subject: Re: [brooks@FreeBSD.ORG: [src] cvs commit: src/etc pccard_ether] 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: Thu, 29 Sep 2005 03:53:54 -0000 In message: <20050928235033.GA13616@odin.ac.hmc.edu> Brooks Davis writes: : On Wed, Sep 28, 2005 at 05:14:17PM -0600, Warner Losh wrote: : > > I've just committed the following change to /etc/pccard_ether. I think : > > it's the right solution, but I'm concerned it may cause problems with : > > drivers that incorrectly frob the IFF_UP flag themselves. If so it may : > > be nessicary to revert this change temporarily or at least not MFC it. : > : > This change converts the "I already have an address" check to be a : > "I'm up" which are two different things. dhclient leaves the : > interface up when it exits, even if it can't get an address. I think : > that might cause a lot of problems for people. I originally had this : > test in pccard_ether, but changed it to checking for netmask because : > roving from network to network didn't work without it on my laptop : > with multiple network interfaces. : : I don't think dhclient's behavior will have any effect in the normal : case. "pccard_ether start" is only called on attach. It is not : involved in any with the link state transitions caused by roving since : those should not happen until after attach. The one POLA violation I : can see is that you probably can't manually run pccard_ether's start : mode twice without performing a stop first. notify 0 { match "system" "IFNET"; match "type" "LINK_UP"; media-type "802.11"; action "/etc/rc.d/dhclient start $subsystem"; }; was the case I was worried about, but I think that since it calls dhclient directly, we should be OK. The original check was supposed to be there as a short-circuit. We called pccard_ether for *ALL* devices in the system when devd started. We didn't want it to do anything if the link had already been configured earlier in the boot process. Hence the check for a netmask. There were many scripts around that put wireless devices (esp ndis) into the 'up' state before calling pccard_ether so that it would associate with the AP. It would then be in the 'UP' state, but have no address. Eg, you've broken: ifconfig ndis0 ssid fred up /etc/pccard_ether ndis0 start Warner