diff --git a/service/src/com/android/server/connectivity/ClatCoordinator.java b/service/src/com/android/server/connectivity/ClatCoordinator.java index eb3e7cea7a783a4044d0eac4d79ff379a885fa92..17de1461fb77968970d27e23add7f6ea6c708f41 100644 --- a/service/src/com/android/server/connectivity/ClatCoordinator.java +++ b/service/src/com/android/server/connectivity/ClatCoordinator.java @@ -78,7 +78,7 @@ public class ClatCoordinator { @VisibleForTesting static final int MTU_DELTA = 28; @VisibleForTesting - static final int CLAT_MAX_MTU = 65536; + static final int CLAT_MAX_MTU = 1500 + MTU_DELTA; // This must match the interface prefix in clatd.c. private static final String CLAT_PREFIX = "v4-"; @@ -673,7 +673,7 @@ public class ClatCoordinator { throw new IOException("Detect MTU on " + tunIface + " failed: " + e); } final int mtu = adjustMtu(detectedMtu); - Log.i(TAG, "ipv4 mtu is " + mtu); + Log.i(TAG, "detected ipv4 mtu of " + detectedMtu + " adjusted to " + mtu); // Config tun interface mtu, address and bring up. try { diff --git a/tests/unit/java/com/android/server/connectivity/ClatCoordinatorTest.java b/tests/unit/java/com/android/server/connectivity/ClatCoordinatorTest.java index 4158663999c44724fc0f1eee1d2406cd71508e69..88044be116f6282591c8e778f16cab661cb0cbc0 100644 --- a/tests/unit/java/com/android/server/connectivity/ClatCoordinatorTest.java +++ b/tests/unit/java/com/android/server/connectivity/ClatCoordinatorTest.java @@ -508,10 +508,10 @@ public class ClatCoordinatorTest { // Expected mtu is that the detected mtu minus MTU_DELTA(28). assertEquals(1372, ClatCoordinator.adjustMtu(1400)); assertEquals(1472, ClatCoordinator.adjustMtu(ETHER_MTU)); - assertEquals(65508, ClatCoordinator.adjustMtu(CLAT_MAX_MTU)); + assertEquals(1500, ClatCoordinator.adjustMtu(CLAT_MAX_MTU)); - // Expected mtu is that CLAT_MAX_MTU(65536) minus MTU_DELTA(28). - assertEquals(65508, ClatCoordinator.adjustMtu(CLAT_MAX_MTU + 1 /* over maximum mtu */)); + // Expected mtu is that CLAT_MAX_MTU(1528) minus MTU_DELTA(28). + assertEquals(1500, ClatCoordinator.adjustMtu(CLAT_MAX_MTU + 1 /* over maximum mtu */)); } private void verifyDump(final ClatCoordinator coordinator, boolean clatStarted) {