diff options
| author | Robert Greenwalt <rgreenwalt@google.com> | 2013-09-06 22:42:10 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-09-06 22:42:10 +0000 |
| commit | ecd0db5a7391e8234b3ea5d9e21c19f5d6589b0a (patch) | |
| tree | 4a6f87a3428fac052446ce5959c221772b1b83a4 /services/java/com/android/server/ConnectivityService.java | |
| parent | 1aa3202b1bf72bb9a9ec20e60bf7b4fce8369acf (diff) | |
| parent | 9d9b74a900696191048aa97cc3c854072640428b (diff) | |
Merge "Setting MTU size for specific network." into klp-dev
Diffstat (limited to 'services/java/com/android/server/ConnectivityService.java')
| -rw-r--r-- | services/java/com/android/server/ConnectivityService.java | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java index d01816512f62..ab0eb23a2f9e 100644 --- a/services/java/com/android/server/ConnectivityService.java +++ b/services/java/com/android/server/ConnectivityService.java @@ -2299,6 +2299,7 @@ public class ConnectivityService extends IConnectivityManager.Stub { } thisNet.setTeardownRequested(false); updateNetworkSettings(thisNet); + updateMtuSizeSettings(thisNet); handleConnectivityChange(newNetType, false); sendConnectedBroadcastDelayed(info, getConnectivityChangeDelay()); @@ -2636,6 +2637,26 @@ public class ConnectivityService extends IConnectivityManager.Stub { return routesChanged; } + /** + * Reads the network specific MTU size from reources. + * and set it on it's iface. + */ + private void updateMtuSizeSettings(NetworkStateTracker nt) { + final String iface = nt.getLinkProperties().getInterfaceName(); + final int mtu = nt.getLinkProperties().getMtu(); + + if (mtu < 68 || mtu > 10000) { + loge("Unexpected mtu value: " + nt); + return; + } + + try { + if (VDBG) log("Setting MTU size: " + iface + ", " + mtu); + mNetd.setMtu(iface, mtu); + } catch (Exception e) { + Slog.e(TAG, "exception in setMtu()" + e); + } + } /** * Reads the network specific TCP buffer sizes from SystemProperties @@ -4771,4 +4792,3 @@ public class ConnectivityService extends IConnectivityManager.Stub { mAlarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, wakeupTime, intent); } } - |
