<feed xmlns='http://www.w3.org/2005/Atom'>
<title>platform_external_android-clat/config.c, branch marshmallow-release</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_android-clat/'/>
<entry>
<title>Never use a statically-configured IID on wifi.</title>
<updated>2014-11-11T02:06:44+00:00</updated>
<author>
<name>Lorenzo Colitti</name>
<email>lorenzo@google.com</email>
</author>
<published>2014-11-11T01:00:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_android-clat/commit/?id=2596f42a4f4c42bfb96ccbfc2700dbf70502ec75'/>
<id>2596f42a4f4c42bfb96ccbfc2700dbf70502ec75</id>
<content type='text'>
Bug: 12111730
Change-Id: I062d81f2b65e6e89baae0f840cbd673f8051d523
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bug: 12111730
Change-Id: I062d81f2b65e6e89baae0f840cbd673f8051d523
</pre>
</div>
</content>
</entry>
<entry>
<title>Use different IPv4 addresses on different clat interfaces.</title>
<updated>2014-10-31T16:17:22+00:00</updated>
<author>
<name>Lorenzo Colitti</name>
<email>lorenzo@google.com</email>
</author>
<published>2014-10-31T12:54:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_android-clat/commit/?id=798f9934fca523dfb57136bd185cf6e9460323ad'/>
<id>798f9934fca523dfb57136bd185cf6e9460323ad</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>Unduplicate IPv6 address setting code.</title>
<updated>2014-10-29T02:53:05+00:00</updated>
<author>
<name>Lorenzo Colitti</name>
<email>lorenzo@google.com</email>
</author>
<published>2014-10-21T04:41:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_android-clat/commit/?id=1352a3a26c4d7c32b38b7fadb837799a23014aa6'/>
<id>1352a3a26c4d7c32b38b7fadb837799a23014aa6</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>Generate a random IID if one is not specified.</title>
<updated>2014-10-28T06:30:45+00:00</updated>
<author>
<name>Lorenzo Colitti</name>
<email>lorenzo@google.com</email>
</author>
<published>2014-10-09T13:29:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_android-clat/commit/?id=9808952bdf2fa6ce4cbd790d1967691bb95bf327'/>
<id>9808952bdf2fa6ce4cbd790d1967691bb95bf327</id>
<content type='text'>
- 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- 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
</pre>
</div>
</content>
</entry>
<entry>
<title>Cleanup: Remove unused "ipv6_local_address".</title>
<updated>2014-10-27T19:28:11+00:00</updated>
<author>
<name>Sreeram Ramachandran</name>
<email>sreeram@google.com</email>
</author>
<published>2014-10-23T16:38:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_android-clat/commit/?id=74151e9d0cda83f77d9dbce62bf8a1340cb08386'/>
<id>74151e9d0cda83f77d9dbce62bf8a1340cb08386</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>Simplify and always retry DNS64 prefix discovery.</title>
<updated>2014-09-24T07:02:31+00:00</updated>
<author>
<name>Erik Kline</name>
<email>ek@google.com</email>
</author>
<published>2014-09-22T04:32:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_android-clat/commit/?id=0ec5dfa1da6a97532dc8cca825bae4edfb7d3dce'/>
<id>0ec5dfa1da6a97532dc8cca825bae4edfb7d3dce</id>
<content type='text'>
  - 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  - 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
</pre>
</div>
</content>
</entry>
<entry>
<title>Use a packet socket to receive packets.</title>
<updated>2014-06-11T03:42:20+00:00</updated>
<author>
<name>Lorenzo Colitti</name>
<email>lorenzo@google.com</email>
</author>
<published>2014-06-03T03:56:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_android-clat/commit/?id=d44fac888a441cf21111358f43384f3942399d5d'/>
<id>d44fac888a441cf21111358f43384f3942399d5d</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>Make DNS request for plat prefix detection network specific.</title>
<updated>2014-06-02T14:38:30+00:00</updated>
<author>
<name>Paul Jensen</name>
<email>pauljensen@google.com</email>
</author>
<published>2014-05-30T17:19:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_android-clat/commit/?id=a1c871c8efad6c0b69e27d3b85e82a27e282b8be'/>
<id>a1c871c8efad6c0b69e27d3b85e82a27e282b8be</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove unused variables</title>
<updated>2014-01-02T23:58:14+00:00</updated>
<author>
<name>Bernhard Rosenkränzer</name>
<email>Bernhard.Rosenkranzer@linaro.org</email>
</author>
<published>2013-12-12T09:28:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_android-clat/commit/?id=a33592bd08a20c6a521b8508975b7a74ecdf4f03'/>
<id>a33592bd08a20c6a521b8508975b7a74ecdf4f03</id>
<content type='text'>
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 &lt;Bernhard.Rosenkranzer@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;Bernhard.Rosenkranzer@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add ip6 dummy address to keep data usage stats consistent.</title>
<updated>2013-12-26T20:29:11+00:00</updated>
<author>
<name>JP Abgrall</name>
<email>jpa@google.com</email>
</author>
<published>2013-12-20T22:51:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_android-clat/commit/?id=4e0dd83686869c292e162dc76992863d3f3a3c38'/>
<id>4e0dd83686869c292e162dc76992863d3f3a3c38</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
</feed>
