summaryrefslogtreecommitdiffstats
path: root/clatd_test.cpp
diff options
context:
space:
mode:
authorLorenzo Colitti <lorenzo@google.com>2014-06-02 15:49:36 +0900
committerLorenzo Colitti <lorenzo@google.com>2014-06-10 21:32:52 +0900
commit91d0f1bc6dd24e54ed3caef9b08525b332ab0adf (patch)
treef03037b2887e6e5787d4d47fe1967c57dbcfd3f2 /clatd_test.cpp
parentfc0f94a75c7a6d16ea9e327092f132a0d2c9175e (diff)
downloadandroid_external_android-clat-91d0f1bc6dd24e54ed3caef9b08525b332ab0adf.tar.gz
android_external_android-clat-91d0f1bc6dd24e54ed3caef9b08525b332ab0adf.tar.bz2
android_external_android-clat-91d0f1bc6dd24e54ed3caef9b08525b332ab0adf.zip
Make translate_packet take a fd instead of a tun header.
This will make it easier to use separate fds for reading and writing in a future change. Bug: 15340961 Change-Id: I5b081b05765cae0488ac599be5738ce9737cae41
Diffstat (limited to 'clatd_test.cpp')
-rw-r--r--clatd_test.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/clatd_test.cpp b/clatd_test.cpp
index 5172d3f..bc32a84 100644
--- a/clatd_test.cpp
+++ b/clatd_test.cpp
@@ -424,17 +424,13 @@ void do_translate_packet(const uint8_t *original, size_t original_len, uint8_t *
if (socketpair(AF_UNIX, SOCK_DGRAM | SOCK_NONBLOCK, 0, fds)) {
abort();
}
- struct tun_data tunnel = {
- "clat", "clat4",
- fds[0], fds[1]
- };
struct tun_pi tun_header = { 0, 0 };
char foo[512];
snprintf(foo, sizeof(foo), "%s: Invalid original packet", msg);
check_packet(original, original_len, foo);
- int read_fd;
+ int read_fd, write_fd;
uint16_t expected_proto;
int version = ip_version(original);
switch (version) {
@@ -442,18 +438,20 @@ void do_translate_packet(const uint8_t *original, size_t original_len, uint8_t *
tun_header.proto = htons(ETH_P_IP);
expected_proto = htons(ETH_P_IPV6);
read_fd = fds[1];
+ write_fd = fds[0];
break;
case 6:
tun_header.proto = htons(ETH_P_IPV6);
expected_proto = htons(ETH_P_IP);
read_fd = fds[0];
+ write_fd = fds[1];
break;
default:
FAIL() << msg << ": Unsupported IP version " << version << "\n";
break;
}
- translate_packet(&tunnel, &tun_header, original, original_len);
+ translate_packet(write_fd, (version == 4), original, original_len);
struct tun_pi new_tun_header;
struct iovec iov[] = {