History log of /external/android-clat/config.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2596f42a4f4c42bfb96ccbfc2700dbf70502ec75 11-Nov-2014 Lorenzo Colitti <lorenzo@google.com> Never use a statically-configured IID on wifi.

Bug: 12111730
Change-Id: I062d81f2b65e6e89baae0f840cbd673f8051d523
/external/android-clat/config.c
798f9934fca523dfb57136bd185cf6e9460323ad 31-Oct-2014 Lorenzo Colitti <lorenzo@google.com> Use different IPv4 addresses on different clat interfaces.

Previously the code would use 192.0.0.4 on all clat interfaces.
This works, but it has the problem when a clat interface goes
down, we do not reset TCP connections on its IP address if there
is another clat interface up.

Fix this by assigning every clat interface its own IP address in
192.0.0.0/29.

Bug: 12111730
Change-Id: I28c831acd93b0980efea8e90c1cdf8b607beac68
/external/android-clat/config.c
1352a3a26c4d7c32b38b7fadb837799a23014aa6 21-Oct-2014 Lorenzo Colitti <lorenzo@google.com> Unduplicate IPv6 address setting code.

Currently, the IPv6 address gets set in two different codepaths
depending on whether it's being configured on startup or happens
because the interface changed its prefix. Refactor the two into
a common function.

Change-Id: I37035401bef7a57ff40540bd0f2aed0f6863269d
/external/android-clat/config.c
9808952bdf2fa6ce4cbd790d1967691bb95bf327 09-Oct-2014 Lorenzo Colitti <lorenzo@google.com> Generate a random IID if one is not specified.

- Add code to generate a random IPv6 address that's
checksum-neutral with the NAT64 prefix and clat IPv4 address.
- Only calculate the IP address after the NAT64 prefix is known.
- Because the clat IPv6 address is no longer determinisitic,
modify interface_poll so it checks whether the prefix has
changed instead of checking whether the IPv6 address has
changed.
- Add/update unit tests.

Change-Id: Ia53716ca5315ebdd0eaa3ad3a07552bf18e9dd5c
/external/android-clat/config.c
74151e9d0cda83f77d9dbce62bf8a1340cb08386 23-Oct-2014 Sreeram Ramachandran <sreeram@google.com> Cleanup: Remove unused "ipv6_local_address".

This was originally used on the "clat" interface. That interface is not created
anymore (since the switch to using a raw socket). Note that the v6 address used
on the raw socket is a combination of the plat subnet plus a host ID, and not
this link-local address.

Also fixup default values to match clatd.conf values.

Change-Id: I3470a02e6798b65cae0f8d7f074ce51fb0647e6a
/external/android-clat/config.c
0ec5dfa1da6a97532dc8cca825bae4edfb7d3dce 22-Sep-2014 Erik Kline <ek@google.com> Simplify and always retry DNS64 prefix discovery.

- Only request AAAAs for the IPv4-only hostname, since that's
all the information being used. Perhaps at some point in the
future when _validation_ of the IPv4 address(es)'s presence
within the IPv6 address(es) is being done this should be
revisited.

- Only use the first AAAA returned to find the DNS64 prefix.
It's not clear how to properly resolve any potential DNS64
prefix conflicts anyway.

- Re-try DNS64 prefix discovery on any type of error.
If clatd was started (presumably an IPv6-only network), retry
DNS64 prefix discovery with exponential backoff. Some
"permanent" errors can be indistinguishable from transient
errors (e.g. receiving an erroneous SERVFAIL from a DNS
resolver, ...).

- Fix-up back-off logic to not sleep 128 then 120, 120, ...
:-)

Bug: 17569702
Change-Id: I226ea7772cd7c88d2b60153ef76e5435400e11aa
/external/android-clat/config.c
d44fac888a441cf21111358f43384f3942399d5d 02-Jun-2014 Lorenzo Colitti <lorenzo@google.com> Use a packet socket to receive packets.

Combined with the previous change to send on a raw socket
instead of a tunnel interface, this allows us to get rid of the
clat interface and remove all the routing configuration code.

Bug: 15340961
Change-Id: I9d9b90f9b4f58dcc3c102abcdc32a2c7ee86b01d
/external/android-clat/config.c
a1c871c8efad6c0b69e27d3b85e82a27e282b8be 30-May-2014 Paul Jensen <pauljensen@google.com> Make DNS request for plat prefix detection network specific.

When plat prefix detection is done on a non-default network it
must use the network specific version of getaddrinfo() so the
plat prefix corresponds to the particular network. The network
is specified to clatd via a NetID command line argument.

Change-Id: I77a47b24e68c7786f790974f05787a40a4934af5
/external/android-clat/config.c
a33592bd08a20c6a521b8508975b7a74ecdf4f03 12-Dec-2013 Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org> Remove unused variables

Remove unused variables -- they cause warnings (and errors with
-Werror) when building with clang 3.4.

Change-Id: I03fff9b1b9d620763f41c8b31a19c4724726739c
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
/external/android-clat/config.c
4e0dd83686869c292e162dc76992863d3f3a3c38 20-Dec-2013 JP Abgrall <jpa@google.com> Add ip6 dummy address to keep data usage stats consistent.

Because of the way the tunnel pumps packets into the networking
stack, the netfilter xt_qtaguid module can't track stats
accurately: the totals don't add up.
With "clat" having an ip address, qtaguid will track stats
against it, which then can be deducted from the external iface.

Bug: 11687690
Change-Id: I22ebf26dd9249e821da87665d2bfb0e54d3cdf64
/external/android-clat/config.c
a45056e35c1af2a0f0a6eed258fd5fdf4846a79f 23-Mar-2012 Daniel Drown <dan-android@drown.org> android clat service

This software provides the nat 4->6 translation needed for the "clat" part of
the 464xlat standard. It is needed for better IPv4 application support while
on an IPv6-only mobile network connection using 464xlat's nat64 (such as
T-Mobile's IPv6 trial).

A general diagram of how 464xlat works:
http://dan.drown.org/android/clat/Clat-Plat.png

Depends-on: I2392f8127dcd90d16b0f20ff31bcc5aa096db464
Change-Id: If2bc6916fc66fd4bca7cc241c83cfae839b82e15
Signed-off-by: Daniel Drown <dan-android@drown.org>
/external/android-clat/config.c