Date: Fri, 4 Dec 2009 16:15:31 -0600 From: Brooks Davis <brooks@freebsd.org> To: Angelo Hongens <angelo@hongens.nl> Cc: freebsd-current@freebsd.org Subject: Re: FreeBSD 8.0 problems with interface renaming and dhcp? Message-ID: <20091204221530.GA42198@lor.one-eyed-alien.net> In-Reply-To: <4B195845.4000201@hongens.nl> References: <4B195845.4000201@hongens.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
--J/dobhs11T7y2rNN Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Dec 04, 2009 at 07:43:17PM +0100, Angelo Hongens wrote: > On most of my BSD machines I rename the interfaces to nic0. This way, I > can swap cards and drivers, and keep the rest of my config the same. >=20 > I upgraded one of these machines from 7.2 to 8.0 (both standard kernel), > and suddenly the machine would not get a dhcp lease. >=20 > In my /etc/rc.conf: >=20 > ifconfig_em0_name=3D"nic0" > ifconfig_nic0=3D"DHCP" >=20 > The machine woud boot, but not get an ip. (and no dhclient output while > booting). And ifconfig would show the nic nic0 up, but without an ip. If > I do 'dhclient nic0' it immediately gets an ip, and all is well. >=20 > If I do NOT rename the interface but just config: ifconfig_em0=3D"DHCP" > everything works as well.. >=20 > So is this a new bug or feature introduced in FreeBSD8? Is it something > that can be fixed? (So dhclient is executed for renamed interfaces.) I think the problem here is that with the new DHCP configuration where we only start DHCP based on link events we're loosing a race between the link coming up and the rename occurring. The absolutely correct answer is that the nic should no be trying to do anything until it is configured up and I don't think that happens before the rename (it shouldn't). It's likely the case though that a number of nics incorrectly start doing things before they are configured and thus racing the rename. The easiest workaround in the rc.d code would probably be to add some code to the rename section to take the interface down and then bring it back up after the rename. That should cause it to renegotiate and generate an event. The no code change workaround is to change DHCP to SYNCDHCP which will restore the old behavior on this interface. -- Brooks --J/dobhs11T7y2rNN Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iD8DBQFLGYoCXY6L6fI4GtQRAs7BAKCmomskrf7KKrvj/7fWeMWPyv8SbwCg4fpI kvrGiYP2JgSv0026/oGkdek= =cpKm -----END PGP SIGNATURE----- --J/dobhs11T7y2rNN--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20091204221530.GA42198>