Date: Thu, 25 Jun 2009 16:48:33 -0700 From: Doug Barton <dougb@FreeBSD.org> To: Brooks Davis <brooks@freebsd.org> Cc: freebsd-rc@freebsd.org Subject: Re: Removal of deprecation for network_interfaces != AUTO Message-ID: <4A440CD1.4080904@FreeBSD.org> In-Reply-To: <20090625225027.GB45036@lor.one-eyed-alien.net> References: <4A21A4F6.5060709@dougbarton.us> <20090601212506.GA2351@lor.one-eyed-alien.net> <20090625225027.GB45036@lor.one-eyed-alien.net>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------010005000803060702020404 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Brooks Davis wrote: > So based on the feedback I saw, there were two use cases where there > wasn't another easy way to do what setting network_interface's. Yours > (though I think my suggestion may well work) My current script is actually a little more complicated than what I described, since I have 2 different wifi cards, one of which is a pcmcia card that I use in situations where the built-in card can't pick up the signal. So my current script tests to see if the wire is up, and if so it exits. Then it tests to see if the pcmcia card is inserted, and if so it configures that, and if not it configures the built-in card. What you proposed would work in the situation where I only had one wifi card, but I haven't yet thought through how to refactor the script in order to allow rc configuration of a non-existent piece of hardware to fail gracefully. That said, your idea is a good one, and actually gives me some things to think about in terms of how to incorporate my concept into the existing rc system in a "better" way than how I'm doing it now (which admittedly is kind of a kludge, albeit a functional one). > and Matthew Seaman's which > won't actually work in 8.0 without other config changes. In both cases, > those uses reflect a failure to support valid use cases which is a good > reason to leave the ability to set network_interfaces in place. I'm glad that we agree on that bit at least, and if I haven't already made it clear if we ever get to a point where network_interfaces is not needed, I'm happy to see it go. I would however add to your list the following problems that were noted in the discussion: 1. The ipv6_network_interfaces/IPv6 autoconfig consolidation problem 2. Auto-loading of kernel modules related to the list of interfaces to configure 3. The renaming cloned interfaces problem > That being said I'd still like to see the warning restored because: > - It doesn't prevent using these workarounds. > - It reduces support issues due to misuse. > - Most reported uses were in fact wrong. > - Removing network_interfaces will help us move toward a state of more > dynamic configuration to better match system realities. My feeling remains that if it's a valid option it should not produce a warning (which becomes very very annoying over time). I would also argue that having the warning didn't buy us anything because all of the people who were defining network_interfaces kept doing it in spite of the warning (whether they actually needed to or not). I do agree with you however that there is an issue of anti-foot-shooting, and having given some thought to what you said in regards to the support issues I do have a vague recollection of the issue you described where people would leave out lo0 and then have big problems. To that end I offer the attached (admittedly untested atm because I'm in the middle of something else) patch which I believe would solve that problem. I would like to suggest a compromise to leave the warning out of 8.x until such time as that feature truly is not needed, then do a proper deprecation of it when that time comes. And remove the functionality in 9.x. The compromise being that I will agree not to MFC the removal of the warning to RELENG_[67] so that whatever benefit the warning has in terms of discouraging users will remain in place. Sound good? Doug -- This .signature sanitized for your protection --------------010005000803060702020404 Content-Type: text/plain; name="lo0-helper.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="lo0-helper.diff" Index: network.subr =================================================================== --- network.subr (revision 195005) +++ network.subr (working copy) @@ -727,6 +727,13 @@ ;; *) _tmplist="${network_interfaces} ${cloned_interfaces}" + + # Help prevent foot-shooting + # + case "$_tmplist" in + lo0*|*lo0|*' lo0 '*) ;; # This is fine, do nothing + *) _tmplist="lo0 ${_tmplist}" ;; + esac ;; esac --------------010005000803060702020404--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A440CD1.4080904>