History log of /external/android-clat/clatd.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7612916deb5f40a8dcf3a31db8849450e146fc8d 20-Oct-2014 Lorenzo Colitti <lorenzo@google.com> Support more than one clatd at a time.

The only change necessary is to stop calling the clat interface
"clat4" and instead name it based on the upstream interface
(specifically, "v4-<interface>".

Bug: 12111730
Change-Id: I489ebb0e3b1408ace8b64ca09ec20366fefe8d83
/external/android-clat/clatd.h
dce3ddf54083ccd0e3752c4c08013688f79baa7a 26-Aug-2014 Lorenzo Colitti <lorenzo@google.com> Call read on any event, not just on POLLIN.

The main clatd event loop calls poll() in a loop, but reads only
from FDs that have POLLIN set. This causes it to get into an
infinite loop if one of the fds has POLLERR set.

Instead, read from all fds that have reported events. The read
causes the kernel to return the error to userspace and clear the
socket error flag, and poll starts working correctly after that.

Bug: 17183471
Bug: 17186694
Change-Id: Ie25853e0d60c077d2478b3e5154946e201f96dca
/external/android-clat/clatd.h
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/clatd.h
10e8827d636a72a7bcdfd52d15bad9342ae2a0a6 02-Jun-2014 Lorenzo Colitti <lorenzo@google.com> Use a raw socket to send IPv6 packets instead of a tun.

This will allow us to bind the socket to a particular network.

Bug: 15340961
Change-Id: I50857d372955f2b6f7035157c2968cda72c32585
/external/android-clat/clatd.h
cd254c95a7cb5961bd53d16737f06bf261426e38 17-Mar-2014 Lorenzo Colitti <lorenzo@google.com> Update BUGS and bump version to 1.2

Change-Id: Ib8dea3efa57ac2f2e509527fe3da7eea31432d43
/external/android-clat/clatd.h
f9390605bacda7bbe8ea33aa0a39c1581ff6aea2 12-Feb-2014 Lorenzo Colitti <lorenzo@google.com> Move translation entry point into translate.c.

The entry point to the translation code is currently called
packet_handler and lives in clatd.c. Move it into translate.c
and rename it to translate_packet, since that's what it does.

Also get rid of some redundant includes.

Bug: 11542311
Change-Id: I8529fb87f3a86ee6724fad54787c33a5e86c56ab
/external/android-clat/clatd.h
d90841824dc00f65a48a789396c7f428807432ca 21-Mar-2013 Lorenzo Colitti <lorenzo@google.com> Pass around packet data instead of fds

The current code calls all the translation functions one after
another, accumulating the translated packet into local variables
on the stack and calling writev() at the end. This does not allow
calling the translation functions re-entrantly, which is needed,
for example, to translate ICMP errors (which contain the
packet that caused them). Define a clat_packet type to wrap the
array of iovecs and an enum of packet positions.

Also clean up the code a bit: get rid of a fair bit of duplicated
code (though there is still some left), get rid of some redundant
memcpy statements, fix style issues, etc.

Bug: 8276725
Change-Id: Ib58d2348894e82275234fc67dbdb1f82753f204f
/external/android-clat/clatd.h
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/clatd.h