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
|