diff options
author | Lorenzo Colitti <lorenzo@google.com> | 2014-12-08 12:53:05 +0900 |
---|---|---|
committer | Lorenzo Colitti <lorenzo@google.com> | 2014-12-08 13:50:12 +0900 |
commit | 6b2007aacd13344c9bc73d5d858bd903b432c228 (patch) | |
tree | 3b5c3fa430d1993b149481be415e75297abb017b /clatd.h | |
parent | 290b84274989c82393a72f97f7c009094e74c651 (diff) | |
download | android_external_android-clat-6b2007aacd13344c9bc73d5d858bd903b432c228.tar.gz android_external_android-clat-6b2007aacd13344c9bc73d5d858bd903b432c228.tar.bz2 android_external_android-clat-6b2007aacd13344c9bc73d5d858bd903b432c228.zip |
Move send_tun into tun.c as well.
Also remove a redundant include in checksum.c.
Change-Id: I0b8858343b1496f22904d3b316b6c435be0f648a
Diffstat (limited to 'clatd.h')
-rw-r--r-- | clatd.h | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -18,6 +18,8 @@ #ifndef __CLATD_H__ #define __CLATD_H__ +#include <sys/uio.h> + #define MAXMTU 1500 #define PACKETLEN (MAXMTU+sizeof(struct tun_pi)) #define CLATD_VERSION "1.3" @@ -30,4 +32,15 @@ // how frequently (in seconds) to poll for an address change while there is no traffic #define NO_TRAFFIC_INTERFACE_POLL_FREQUENCY 90 +// A clat_packet is an array of iovec structures representing a packet that we are translating. +// The CLAT_POS_XXX constants represent the array indices within the clat_packet that contain +// specific parts of the packet. The packet_* functions operate on all the packet segments past a +// given position. +typedef enum { + CLAT_POS_TUNHDR, CLAT_POS_IPHDR, CLAT_POS_FRAGHDR, CLAT_POS_TRANSPORTHDR, + CLAT_POS_ICMPERR_IPHDR, CLAT_POS_ICMPERR_FRAGHDR, CLAT_POS_ICMPERR_TRANSPORTHDR, + CLAT_POS_PAYLOAD, CLAT_POS_MAX +} clat_packet_index; +typedef struct iovec clat_packet[CLAT_POS_MAX]; + #endif /* __CLATD_H__ */ |