On Tue, Aug 02, 2011 at 11:42:47AM -0500, Kevin Stange wrote: > On 08/02/2011 10:10 AM, Matt Domsch wrote: > > On Mon, Aug 01, 2011 at 05:45:16PM -0500, Kevin Stange wrote: > >> We'd be catering to v6-capable (dual stack) clients by offering > >> mirror choices with v6 ahead of v4 if the client seems to prefer v6. > > > > Here's where I start to lose you. We don't presently have a way for a > > client to indicate to anyone anywhere that it "prefers" v6 instead of > > v4, or vice versa. From the server side, it sees a connection, either > > on v6 or on v4, and sees an address. We would have to add a flag into > > the yum mirrorlist request URL to give the client an opportunity to > > note its preference. Not hard technically, but the obvious > > implementation would require manual configuration by each end user, > > and that's nearly never done. > > > > How would you envision a client recognizing that it should prefer v6 > > over v4, automatically? Solving that cleanly, the rest is > > straightforward. > > We can tell if a client prefers v6 because it will access > mirrorlist.centos.org using its IPv6 address. The client doesn't need > to tell us explicitly because its decision to access the v6 address > means it's decided to try the AAAA first. With all due respect, I disagree. Apps on a dual-stack system will use IPv6 if they can, then IPv4, at a system level, provided an IPv6 address is provisioned to the system. It has nothing to do with connectivity between the system and any other mirror server on the internet, which is what mirrors are trying to solve. > I suppose we could compile a list of prefers_v6 mirrors, but my thoughts > didn't extend past concluding that if the client prefers v6 by evidence > we just offer it the v6 mirrors sorted first so it can use the preferred > protocol. I understand, but I don't think that's a good indicator for preference, and I think specifying one protocol is preferred over another doesn't buy us much. > Do you think it's likely that mirrors will prefer avoiding v6 if they > have enabled it? No. If they advertise both, they'll accept both. There's no way to specify a mirror's preference for one or the other, just as there is no way to specify a client's preference. If they want to avoid v6, they simply don't advertise an AAAA record. :-) MirrorManager (and the respected MirrorBrain) aim to solve for the "best" mirror on the assumption that closer mirrors network-wise are preferred over mirrors that are further away, irrespective of a client's IPv4 or IPv6 address. Both offer ways to direct clients to preferred servers based on network characteristics (BGP ASNs, network blocks) between client and potential servers, and only then falling back to GeoIP, all of which are protocol agnostic (both v4 and v6 are supported). Thanks, Matt -- Matt Domsch Technology Strategist Dell | Office of the CTO