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
This commit is contained in:
JP Abgrall
2014-02-21 12:05:20 -08:00
parent 342cd4d214
commit af3781c983

View File

@@ -2757,6 +2757,15 @@ public class ConnectivityService extends IConnectivityManager.Stub {
} }
setBufferSize(bufferSizes); 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());
}
} }
/** /**