IPv6 support roadmap

MediaWiki has basic IPv6 support. There are some remaining software issues which need to be addressed before a full IPv6 deployment on Wikimedia sites (many other MediaWiki sites can already use IPv6).


 * Tracking bug for IPv6 deployment blocker issues
 * Schema changes that need to happen on Wikimedia production DBs, including that associated with global blocking (done).

Remaining issues
For the more serious we have:
 * 1) software - fix SecurePoll & GlobalBlocking to use properly sized *_start and *_end columns for hexidecimal IP representations. Currently, global ipv6 blocks are useless due to this bug. These should be expanded by 3 chars (to handle the 'v6-' prefix). This is fairly easy.
 * 2) shell/wmf - run the above schema changes (easy).
 * 3) shell/wmf- 33853: some usernames slipped through in the past which are now restricted from creation for being potentially legal IPv6 addresses. A list can be compiled and these users should be renamed.

The less serious things are UI type things like:
 * 1) shell/wmf - expand the rc_ip field of recentchanges  for enwiki. As defined in the code, it is 40 chars (plenty), but it is still "varbinary(15)" on enwiki. This is arguably not important since CheckUser has it's own table and also takes over handling autoblocks (via the "doRetroactiveAutoblock" hook). I don't know if rc_ip is used by researchers though.
 * 2) software - 24294: the default blocking CIDR at Special:BlockIp should be at least /64 (possible more, though in some possible cases it could be too large).
 * 3) software - 36780: IPv6 can look long in history pages and the like...it might be nice to abbreviate and pretty-format the IPs in some places.

Deployments
As of 2011, MediaWiki has been deployed using IPv6 on a number of existing third-party sites such as http://ipv6wiki.net (http://[2600:3c01::f03c:91ff:fe93:a08d]/), http://en.linuxreviews.org (http://[2001:470:1f0b:1c12::4]/) and http://cgwiki.comicgenesis.com (http://[2001:470:1:3a::14]/). ARIN operates its own IPv6 Wiki as http://www.getipv6.info [2001:500:4:13::89].

Note that use of Squid or Varnish caching will require those applications be implemented using current, IPv6-aware versions and configured to indicate both IPv4 and IPv6 addresses to be used. IPv6 support is enabled by default in Squid-3.1 per http://wiki.squid-cache.org/Features/IPv6 and is also available in Varnish. Apache's built-in IPv6 support is needed only in installations where Apache receives inbound connections directly from users (no Squid or Varnish proxy).