From owner-freebsd-current@FreeBSD.ORG Thu Sep 29 04:44: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 AE06716A41F for ; Thu, 29 Sep 2005 04:44: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 4D3FD43D49 for ; Thu, 29 Sep 2005 04:44:54 +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 j8T4iPwe023921; Wed, 28 Sep 2005 22:44:25 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Wed, 28 Sep 2005 22:45:04 -0600 (MDT) Message-Id: <20050928.224504.76073922.imp@bsdimp.com> To: brooks@one-eyed-alien.net From: "M. Warner Losh" In-Reply-To: <20050929043828.GA27416@odin.ac.hmc.edu> References: <20050928235033.GA13616@odin.ac.hmc.edu> <20050928.215255.89131771.imp@bsdimp.com> <20050929043828.GA27416@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 22:44:25 -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 04:44:54 -0000 In message: <20050929043828.GA27416@odin.ac.hmc.edu> Brooks Davis writes: : On Wed, Sep 28, 2005 at 09:52:55PM -0600, M. Warner Losh wrote: : > 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 : : This change does break that case. Wacking the interface into the up : state before running pccard_either should now be unnecessicary because : I always to it as part of he invocation of /etc/rc.d/netif (there might : be an issue with IPv6 only systems, but its easily fixed). Whacking it into the up state is necessary to set the ssid parameter for ndis (or at least used to be). So the fact that it is placed in the up state in netif isn't relevant. : Scripts : that try various ssids should be obsoleted by wpa_supplicant.conf so : I think that while this does change behavior it only removes certain : uses that can be handled other ways. If people find this change truly : objectionable I will back it out, but I'd really rather not without : evidence of problems that can't be easily worked around. Agreed. I was just trying to give perspective on when this change would break things. Warner