Date: Sat, 03 Apr 2010 00:42:10 -0700 From: Doug Barton <dougb@FreeBSD.org> To: David Horn <dhorn2000@gmail.com> Cc: freebsd-net@freebsd.org, Hiroki Sato <hrs@freebsd.org>, freebsd-rc@freebsd.org Subject: Re: Un-obsolete'ing ipv6_enable Message-ID: <4BB6F152.9020509@FreeBSD.org> In-Reply-To: <25ff90d61003112059r2648543bn812468893fc3b19@mail.gmail.com> References: <4B945AA7.6070000@FreeBSD.org> <20100309.072719.200228546.hrs@allbsd.org> <25ff90d61003082037v3519995bx7e119e9d14143db4@mail.gmail.com> <20100309.135917.161082188.hrs@allbsd.org> <25ff90d61003110809s4cc775e9r2ff6ebee151be6f6@mail.gmail.com> <25ff90d61003112059r2648543bn812468893fc3b19@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Sorry it's taken me so long to get back to this, had a lot of other pressing issues. Short version, I think you're taking the wrong approach here. Longer version, I'm going to be posting to -current shortly to ask for opinions on what the defaults should be. My understanding from the last go-round about this topic was clear, but I'd like to confirm it. I have a new, more complete patch at http://people.freebsd.org/~dougb/v6-enable.diff that I'll be writing up for that post. I'd like to request that we all follow up on that post when it happens so that the conversation can all happen in the same location, and with a wider audience. More details below. On 03/11/10 20:59, David Horn wrote: > <snip> for brevity sake >>> dh> Question 2) Assuming that people do desire consistency with allowing >>> dh> for both a global, and a per-interface setting, do you agree with >>> dh> having a global default for DHCPv4 (dhcpv4_default_enable), and for >>> dh> IPv6 slaac/accept_rtadv (ipv6-slaac_default_enable), and the >>> dh> per-interface DHCPv4 (ifconfig_IF0="dhcp") aka a meta configuration >>> dh> variable, and a per-interface IPv6 slaac (ifconfig_IF0="slaac") aka a >>> dh> meta configuration variable. I'm not interested in dealing with v4 dhcp as part of this, I want to focus on getting v6 back to reasonable defaults. You should of course feel free to pursue your ideas about v4 dhcp separately. >>> I think the global configuration can be realized by setting something >>> like ifconfig_DEFAULT_<proto>="AUTO" instead of adding a new global >>> knobs. Like I said, I'm hesitant to deal with v4 issues in this context. I'm even more hesitant to deal with a global autoconf knob. The default v6 configuration is SLAAC, whereas in v4 there is not nearly as much unanimity. I actually look forward to a day when DHCPv6 is more common, and then I'd like to revisit this topic. > Historically (8.0-RELEASE and prior), there was a global rc.conf knob > for ipv6 (ipv6_enable, default="NO") that performed several functions: > > a) Enabled (or disabled) ipv6 link-local address for every interface > (auto_linklocal AND -ifdisabled) > b) Enabled (or disabled) ipv6 SLAAC by default for every interface by > setting the global net.inet6.ip6.accept_rtadv=1 sysctl > c) inherently specified utilization of a ipv6 address (AAAA) over an > ipv4 address (A) when both were available from a dns query when using > getaddrinfo() > d) Others I can not think of at the moment ? > > As well, there has always been a per-interface variable for IPv4 dhcp > (The pseudo-variable of "dhcp" on an ifconfig_IF rc.conf line), but no > global knob. > > Now, I propose two new global variables: ipv6_slaac_default_enable, > ipv4_dhcp_default_enable > and several new/updated per-interface pseudo variables: auto, noauto, > accept_rtadv, -accept_rtadv, slaac, noslaac, dhcp, nodhcp I think (others may disagree) that this is too much complexity. I do however agree with the idea of decoupling some of the functions that ipv6_enable did previously. My patch doesn't change the current semantic of ipv6_prefer, and adds the ability to do specify SLAAC, direct configuration, and a NORTADV knob on a per-ipv6-interface basis. > Changelist: > 4) Misc changes/fixes: > Changed ifconfig_up() to use ipv6_autoconfif() rather than > re-checking some values for itself, I did my own pass on ifconfig_up(), but it ended up looking similar to yours in some ways. In particular, I agree with this change and have adopted it. > and now allow > ifconfig_em0_ipv6="inet6 2001:db8::1" to work with AND without > user-specified "inet6", as it used to be implied, and most recently > was required, and is now optional. ifconfig_IF for v4 has always required "inet <address>" I don't see any reason to NOT require inet6 for ifconfig_IF_ipv6. Making things easier for users is a good thing, but sometimes too many options make things worse, not better. :) > Change ipv6_network_interfaces to default to "AUTO" just like > network_interfaces (consistency is the theme) This I agree with (on both counts), as I've stated previously. More to come on -current. Doug -- ... and that's just a little bit of history repeating. -- Propellerheads Improve the effectiveness of your Internet presence with a domain name makeover! http://SupersetSolutions.com/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4BB6F152.9020509>