From owner-freebsd-rc@FreeBSD.ORG Wed Feb 22 21:09:00 2012 Return-Path: Delivered-To: freebsd-rc@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E7FCF1065674 for ; Wed, 22 Feb 2012 21:08:59 +0000 (UTC) (envelope-from wblock@wonkity.com) Received: from wonkity.com (wonkity.com [67.158.26.137]) by mx1.freebsd.org (Postfix) with ESMTP id A35168FC0C for ; Wed, 22 Feb 2012 21:08:59 +0000 (UTC) Received: from wonkity.com (localhost [127.0.0.1]) by wonkity.com (8.14.5/8.14.5) with ESMTP id q1ML8u2R079957; Wed, 22 Feb 2012 14:08:56 -0700 (MST) (envelope-from wblock@wonkity.com) Received: from localhost (wblock@localhost) by wonkity.com (8.14.5/8.14.5/Submit) with ESMTP id q1ML8unu079954; Wed, 22 Feb 2012 14:08:56 -0700 (MST) (envelope-from wblock@wonkity.com) Date: Wed, 22 Feb 2012 14:08:56 -0700 (MST) From: Warren Block To: Ian Lepore In-Reply-To: <1329938748.21804.8.camel@revolution.hippie.lan> Message-ID: References: <1329938748.21804.8.camel@revolution.hippie.lan> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (wonkity.com [127.0.0.1]); Wed, 22 Feb 2012 14:08:56 -0700 (MST) Cc: freebsd-rc@freebsd.org Subject: Re: dhclient SYNCDHCP messiness X-BeenThere: freebsd-rc@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussion related to /etc/rc.d design and implementation." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Feb 2012 21:09:00 -0000 On Wed, 22 Feb 2012, Ian Lepore wrote: > On Wed, 2012-02-22 at 11:40 -0700, Warren Block wrote: >> In /etc/rc.conf: >> >> ifconfig_em0="SYNCDHCP" >> >> dhclient runs on startup, then later tries to run again: >> >> Starting dhclient. >> em0: no link ... >> . >> . >> got link >> (...) >> Starting Network: lo0 em0. >> (...) >> Starting devd. >> Starting ums0 moused >> . >> dhclient already running? (pid=344). >> Creating and/or trimming log files >> >> So is this from /etc/network.subr starting dhclient because the >> interface is set to DHCP, then /etc/rc.d/dhclient running directly >> later? >> >> This is with >> >> FreeBSD lightning 8.3-PRERELEASE FreeBSD 8.3-PRERELEASE #0: Tue Feb 21 22:25:30 MST 2012 >> root@lightning:/usr/obj/usr/src/sys/LIGHTNING i386 > > From the sequence of things there it looks like the second invocation > may be from a devd rule, but I thought all the standard rules used > "dhclient quietstart" and that one of the effects of that was to supress > the "already running" warning. The devd rule triggers on a link up event. This is an em(4) card that does not do the multiple up/down events on start like an re(4) card. But easy to test. ...And interestingly enough, commenting out lines 51-56 of devd.conf stops the double call: DHCPREQUEST on em0 to 255.255.255.255 port 67 DHCPACK from 10.0.0.1 bound to 10.0.0.8 -- renewal in 300 seconds. Starting Network: lo0 em0. lo0: flags=8049 metric 0 mtu 16384 options=3 inet 127.0.0.1 netmask 0xff000000 em0: flags=8843 metric 0 mtu 9216 options=9b ether 00:02:b3:a9:93:d7 inet 10.0.0.8 netmask 0xffffff00 broadcast 10.0.0.255 media: Ethernet autoselect (1000baseT ) status: active Starting devd. Starting ums0 moused . Creating and/or trimming log files For completeness, there's an unconnected re(4) card built into the motherboard that shows "re0: link state changed to DOWN" immediately after the "Starting devd." message. AFAIK, it should happen like this: ifconfig em0 em0 changes to up dhclient em0 (sync) wait until em0 gets a DHCP lease or fails devd (em0 is already up, devd should do nothing) So I guess the question is: why is devd seeing a link up event there? > I updated a couple systems to 8.3-{PRERELEASE,BETA1} over the past few > days and I haven't seen such a glitch. I don't think it should make a > difference, but I use synchronous_dhclient=YES and ifconfig_foo=DHCP That's a good point: testing... nope, it does the same thing as "SYNCDHCP".