From 3cf7d6c69d1cf93d5f820b6c21771ba7ef6e230e Mon Sep 17 00:00:00 2001 From: JP Abgrall Date: Fri, 21 Feb 2014 12:05:20 -0800 Subject: [PATCH] ConnectivityService: add support to set TCP initial rwnd The value for the TCP initial receive window comes from, in order, kernel /proc/sys/net/ipv4/tcp_default_init_rwnd init.rc (via properties) net.tcp.default_init_rwnd properties net.tcp.default_init_rwnd gservices Settings.Global.TCP_DEFAULT_INIT_RWND Bug: 12020135 Change-Id: I0e271be19472900fa9f3bab037d53383ec014a9e --- .../java/com/android/server/ConnectivityService.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index b56923fd1e..342336e1d8 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -2669,6 +2669,15 @@ public class ConnectivityService extends IConnectivityManager.Stub { } setBufferSize(bufferSizes); } + + final String defaultRwndKey = "net.tcp.default_init_rwnd"; + int defaultRwndValue = SystemProperties.getInt(defaultRwndKey, 0); + Integer rwndValue = Settings.Global.getInt(mContext.getContentResolver(), + Settings.Global.TCP_DEFAULT_INIT_RWND, defaultRwndValue); + final String sysctlKey = "sys.sysctl.tcp_def_init_rwnd"; + if (rwndValue != 0) { + SystemProperties.set(sysctlKey, rwndValue.toString()); + } } /**