summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorRobert Greenwalt <rgreenwalt@google.com>2011-04-28 14:28:50 -0700
committerRobert Greenwalt <rgreenwalt@google.com>2011-05-02 11:17:30 -0700
commitaa70f101e08098ed9cb190abe2d7f952561026b8 (patch)
tree8dd78eb19fa32c9c98f31b258aff02accb3ee4fa /services
parent969749319ca17f6e0c6836303a78cc484df2539b (diff)
downloadframeworks_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.java20
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());
+ }
}
}
}