diff options
author | Lorenzo Colitti <lorenzo@google.com> | 2020-10-12 00:40:44 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2020-10-12 00:40:44 +0000 |
commit | 392b52f49f876c46ab8c13e82fdbddb6c9a71b3c (patch) | |
tree | 6976402e9c4f6e2531e8fc68ccc5fb8f56062fc9 | |
parent | ccd316924d2d33cfc458d6fdb6ab2c6aee82e16a (diff) | |
parent | 5113da7e85c2914b0384c6f357ded31dab93d943 (diff) |
Merge "Speculatively fix L2TP keepalive issues by reducing mtu"
-rw-r--r-- | services/core/java/com/android/server/connectivity/Vpn.java | 10 | ||||
-rw-r--r-- | tests/net/java/com/android/server/connectivity/VpnTest.java | 2 |
2 files changed, 8 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/connectivity/Vpn.java b/services/core/java/com/android/server/connectivity/Vpn.java index 2f15918d3064..6c7f235dec6f 100644 --- a/services/core/java/com/android/server/connectivity/Vpn.java +++ b/services/core/java/com/android/server/connectivity/Vpn.java @@ -2152,7 +2152,11 @@ public class Vpn { break; } - // Prepare arguments for mtpd. + // Prepare arguments for mtpd. MTU/MRU calculated conservatively. Only IPv4 supported + // because LegacyVpn. + // 1500 - 60 (Carrier-internal IPv6 + UDP + GTP) - 10 (PPP) - 16 (L2TP) - 8 (UDP) + // - 77 (IPsec w/ SHA-2 512, 256b trunc-len, AES-CBC) - 8 (UDP encap) - 20 (IPv4) + // - 28 (464xlat) String[] mtpd = null; switch (profile.type) { case VpnProfile.TYPE_PPTP: @@ -2160,7 +2164,7 @@ public class Vpn { iface, "pptp", profile.server, "1723", "name", profile.username, "password", profile.password, "linkname", "vpn", "refuse-eap", "nodefaultroute", - "usepeerdns", "idle", "1800", "mtu", "1400", "mru", "1400", + "usepeerdns", "idle", "1800", "mtu", "1270", "mru", "1270", (profile.mppe ? "+mppe" : "nomppe"), }; break; @@ -2170,7 +2174,7 @@ public class Vpn { iface, "l2tp", profile.server, "1701", profile.l2tpSecret, "name", profile.username, "password", profile.password, "linkname", "vpn", "refuse-eap", "nodefaultroute", - "usepeerdns", "idle", "1800", "mtu", "1400", "mru", "1400", + "usepeerdns", "idle", "1800", "mtu", "1270", "mru", "1270", }; break; } diff --git a/tests/net/java/com/android/server/connectivity/VpnTest.java b/tests/net/java/com/android/server/connectivity/VpnTest.java index 1df510987d25..daa2627d64cf 100644 --- a/tests/net/java/com/android/server/connectivity/VpnTest.java +++ b/tests/net/java/com/android/server/connectivity/VpnTest.java @@ -1155,7 +1155,7 @@ public class VpnTest { new String[] { EGRESS_IFACE, "l2tp", expectedAddr, "1701", profile.l2tpSecret, "name", profile.username, "password", profile.password, "linkname", "vpn", "refuse-eap", "nodefaultroute", "usepeerdns", - "idle", "1800", "mtu", "1400", "mru", "1400" }, + "idle", "1800", "mtu", "1270", "mru", "1270" }, deps.mtpdArgs.get(10, TimeUnit.SECONDS)); // Now wait for the runner to be ready before testing for the route. legacyRunnerReady.block(10_000); |