diff options
author | Lorenzo Colitti <lorenzo@google.com> | 2014-02-09 10:35:38 +0900 |
---|---|---|
committer | Lorenzo Colitti <lorenzo@google.com> | 2014-02-22 12:46:06 +0900 |
commit | 57d480d2b425ef20d8b6f84abd4e9e3209fa9422 (patch) | |
tree | 1d4d53278970b0681042e4f10ef44c1c5334bc5f /clatd.c | |
parent | 07f0265830fcae2632159e9993b93a161d7ea23b (diff) | |
download | android_external_android-clat-57d480d2b425ef20d8b6f84abd4e9e3209fa9422.tar.gz android_external_android-clat-57d480d2b425ef20d8b6f84abd4e9e3209fa9422.tar.bz2 android_external_android-clat-57d480d2b425ef20d8b6f84abd4e9e3209fa9422.zip |
Support translating fragmented packets.
Bug: 11542311
Change-Id: I14a20b9ac669cdb5927f6ac26147bb0109099497
Diffstat (limited to 'clatd.c')
-rw-r--r-- | clatd.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -51,6 +51,9 @@ #define DEVICENAME6 "clat" #define DEVICENAME4 "clat4" +/* 40 bytes IPv6 header - 20 bytes IPv4 header + 8 bytes fragment header */ +#define MTU_DELTA 28 + int forwarding_fd = -1; volatile sig_atomic_t running = 1; @@ -271,8 +274,9 @@ void configure_interface(const char *uplink_interface, const char *plat_prefix, Global_Clatd_Config.mtu = 1280; } - if(Global_Clatd_Config.ipv4mtu <= 0 || (Global_Clatd_Config.ipv4mtu > Global_Clatd_Config.mtu - 20)) { - Global_Clatd_Config.ipv4mtu = Global_Clatd_Config.mtu-20; + if(Global_Clatd_Config.ipv4mtu <= 0 || + Global_Clatd_Config.ipv4mtu > Global_Clatd_Config.mtu - MTU_DELTA) { + Global_Clatd_Config.ipv4mtu = Global_Clatd_Config.mtu - MTU_DELTA; logmsg(ANDROID_LOG_WARN,"ipv4mtu now set to = %d",Global_Clatd_Config.ipv4mtu); } |