diff options
author | Robert Greenwalt <rgreenwalt@google.com> | 2011-04-28 14:28:50 -0700 |
---|---|---|
committer | Robert Greenwalt <rgreenwalt@google.com> | 2011-05-02 11:17:30 -0700 |
commit | aa70f101e08098ed9cb190abe2d7f952561026b8 (patch) | |
tree | 8dd78eb19fa32c9c98f31b258aff02accb3ee4fa /services | |
parent | 969749319ca17f6e0c6836303a78cc484df2539b (diff) | |
download | frameworks_base-aa70f101e08098ed9cb190abe2d7f952561026b8.zip frameworks_base-aa70f101e08098ed9cb190abe2d7f952561026b8.tar.gz frameworks_base-aa70f101e08098ed9cb190abe2d7f952561026b8.tar.bz2 |
Add RouteInfo objects for tracking routes.
Used to have list of gateways for default routes, but general static routes
should be supported.
Change-Id: I01730142c6139f2b833b9d48f5381d2d320b69f6
Diffstat (limited to 'services')
-rw-r--r-- | services/java/com/android/server/ConnectivityService.java | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java index 998382c..d77ab60 100644 --- a/services/java/com/android/server/ConnectivityService.java +++ b/services/java/com/android/server/ConnectivityService.java @@ -34,6 +34,7 @@ import android.net.NetworkStateTracker; import android.net.NetworkUtils; import android.net.Proxy; import android.net.ProxyProperties; +import android.net.RouteInfo; import android.net.vpn.VpnManager; import android.net.wifi.WifiStateTracker; import android.os.Binder; @@ -1413,14 +1414,19 @@ public class ConnectivityService extends IConnectivityManager.Stub { if (p == null) return; String interfaceName = p.getInterfaceName(); if (TextUtils.isEmpty(interfaceName)) return; - for (InetAddress gateway : p.getGateways()) { + for (RouteInfo route : p.getRoutes()) { - if (NetworkUtils.addHostRoute(interfaceName, gateway, null) && - NetworkUtils.addDefaultRoute(interfaceName, gateway)) { - if (DBG) { - NetworkInfo networkInfo = nt.getNetworkInfo(); - log("addDefaultRoute for " + networkInfo.getTypeName() + - " (" + interfaceName + "), GatewayAddr=" + gateway.getHostAddress()); + //TODO - handle non-default routes + if (route.isDefaultRoute()) { + InetAddress gateway = route.getGateway(); + if (NetworkUtils.addHostRoute(interfaceName, gateway, null) && + NetworkUtils.addDefaultRoute(interfaceName, gateway)) { + if (DBG) { + NetworkInfo networkInfo = nt.getNetworkInfo(); + log("addDefaultRoute for " + networkInfo.getTypeName() + + " (" + interfaceName + "), GatewayAddr=" + + gateway.getHostAddress()); + } } } } |