CLAT handles the translation of ipv4 to ipv6 for applications that do not support dns64. CLAT is needed when transitioning to ipv6 on gsm networks using nat64 as the ipv4 access method. Android CLAT is the implementation of CLAT for the Android platform
Below, you can see how CLAT fits in to the other pieces of 464xlat (RFC6877)
If you have Android 4.3 jellybean or later on your phone: it's already installed. Official Google Nexus images of 4.3 will need a /system/etc/clatd.conf file. CyanogenMod 10.2 and Google's 4.4 works from a fresh install.
For earlier versions of Android, you can install it on a phone with root
While on the IPv6 APN, visit this helpful ipv6 test page
There are two pieces: 1) the launching application and 2) the clatd process
Android does not (yet) support IPv6-only wifi connections, and this software was not designed to offer CLAT services via a wifi connection. It can be made to work by giving CLAT an IP to use in the config file, along with answering ND for that IP on the handset (set the proxy_ndp sysctl and use ip -6 neighbor add proxy ...). Please note that running this CLAT implementation requires IPv6 forwarding turned on, so if you're relying on RA autoconfiguration (SLAAC) you'll need to configure a static IPv6 global address on the wifi interface. Also note that multiple handsets running 464xlat on the same wifi network will result in IPv6 address conflicts if you don't make sure each one has a unique hostid for its clat function.
Not for this implementation. It relies on the routing table of the handset to separate traffic to the handset and traffic to the CLAT process. You will need one global IPv6 address for the handset and one for the CLAT process.
This page has an RSS feed, you can subscribe to it with your favorite RSS reader.
This is documented in the Sharing /64 3GPP Mobile Interface Subnet to a LAN draft.
Email me at dan-android AT drown.org or DM @dpdrown on twitter.
2013-08-20 - note that 464xlat is built into Android 4.3 and by extension, CyanogenMod 10.2
2013-06-14 - worked around bug in skype's assumptions about default routes
2013-05-07 - rooted app updated to include logging to /data/misc/clatd.log, fixed a bug related to the dns server being unreachable during startup, fixed a bug related to the config file location
2012-12-21 - built App that brings 464xlat and IPv6 tethering to rooted phones
2012-12-02 - built Jellybean v4.2.1 ROM for the Galaxy Nexus
2012-08-25 - fixed IPv6 tethering
2012-08-19 - fixed procrank/procmem, fixed clatd hanging on network transition
2012-08-07 - rebuilt against cm10 (jellybean)
2012-05-23 - update the website, added some FAQ's, added an RSS feed
2012-05-18 - [1.6.1] fixed memory leak on locking
2012-04-27 - [1.6.0] built as rom instead of a mod, includes ipv6+ipv4 tethering, switched to github
2012-03-19 - rebuilt the mod against Codename Android 1.5.5 ROM, include a patch for IPv4 tethering
2012-02-22 - rebuilt the mod against Codename Android 1.4.0 ROM
2012-02-06 - rebuilt the mod against Codename Android 1.3.2 ROM
2012-02-03 - rebuilt the mod against Codename Android 1.2.0 ROM
2012-02-02 - don't stop clat if a secondary PDP is brought up
2012-01-23 - rebuilt the mod for the v3.0.3 ROM
2012-01-16 - fix a byte-order bug and guard against a race when shutdown is still running while setup is starting
2012-01-15 - add a config option to re-add the default route, in case it comes from an RA (which will be cleared when ipv6 forwarding is turned on)
2012-01-06 - create a new init script that gets called on clat shutdown, to disable ipv6 forwarding (so IPv6 RA/autoconfiguration works on wifi)