diff options
| author | 2020-10-12 01:20:47 +0000 | |
|---|---|---|
| committer | 2020-10-12 01:20:47 +0000 | |
| commit | 649c2bbbd824a06ebbafd2ee6f43562d3081d7f8 (patch) | |
| tree | 7e9a2fdccbbc8a94c0b26a96c1300190aed9f6b5 | |
| parent | 3ad3793f8df804afcf66584990276d1d3dacc9f9 (diff) | |
| parent | 926d1ee880acdbbd5e50294378642d6eb75f6a9d (diff) | |
Merge "Speculatively fix L2TP keepalive issues by reducing mtu" am: 392b52f49f am: 926d1ee880
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1399646
Change-Id: Ie6a7fdb8e1ce035ce145b90645290e7e4777f7e6
| -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 3e0952aa817c..d3abe871b80e 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); |