summaryrefslogtreecommitdiffstats
path: root/clatd.c
diff options
context:
space:
mode:
authorLorenzo Colitti <lorenzo@google.com>2014-02-09 10:35:38 +0900
committerLorenzo Colitti <lorenzo@google.com>2014-03-10 17:44:22 +0900
commit2b4cc7393268622ac3de071435a6e4ab857342df (patch)
treeef8678294829041cf1ed9c0ac3c52c36e2fa31d7 /clatd.c
parent13a58c4859164d9f16e124b0f85c35a061dec76d (diff)
downloadplatform_external_android-clat-kitkat-wear.tar.gz
platform_external_android-clat-kitkat-wear.tar.bz2
platform_external_android-clat-kitkat-wear.zip
Bug: 11542311 Change-Id: I5dd29805e12b919ae3105b6128aaedefd7e78b48
Diffstat (limited to 'clatd.c')
-rw-r--r--clatd.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/clatd.c b/clatd.c
index 3ab2371..a89c588 100644
--- a/clatd.c
+++ b/clatd.c
@@ -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);
}