| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Ib61e67f15360c27c3ebf61f870a9482217c52357
|
|
|
|
|
| |
Bug: 11542311
Change-Id: I14a20b9ac669cdb5927f6ac26147bb0109099497
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove the initial checksum, which we don't use anywhere.
- Add the upper-layer protocol to the IPv6 function. Currently
this is always the same as the next header field in the IPv6
header, but technically it's the upper-layer header after all
the extension headers. This is required to support fragments.
Bug: 11542311
Change-Id: Ie1a20fa74ee5bc933c1014bab74ae2957979b2b8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
Add a function for dumping iovecs, and make hexdumps clearer by
adding spaces between bytes.
Bug: 8276725
Change-Id: Ifb2f8317613d05fa6bd600700090a6df258cde08
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, the pseudo-header checksum calculation functions get
the transport layer length from the IP header. This requires that
the length be known at IP header construction time, which
does not allow transport layer translation functions to change
the length of the packet later. Have the transport functions
pass in the size directly.
Bug: 8276725
Change-Id: I76a93f5e66181bec21d68f779c68c54090a77c33
|
|
|
|
|
|
| |
Bug: 7664960
Change-Id: Ieb56bcc010d0e12264d43e0a0dfcb1beb479d4e2
|
|
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>
|