diff options
author | Lorenzo Colitti <lorenzo@google.com> | 2014-06-02 15:49:36 +0900 |
---|---|---|
committer | Lorenzo Colitti <lorenzo@google.com> | 2014-06-10 21:32:52 +0900 |
commit | 91d0f1bc6dd24e54ed3caef9b08525b332ab0adf (patch) | |
tree | f03037b2887e6e5787d4d47fe1967c57dbcfd3f2 /clatd_test.cpp | |
parent | fc0f94a75c7a6d16ea9e327092f132a0d2c9175e (diff) | |
download | android_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.cpp | 10 |
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[] = { |