Merge "Framework changes for 464xlat." into jb-mr2-dev
diff --git a/core/java/android/net/LinkProperties.java b/core/java/android/net/LinkProperties.java
index 833549f..4457a22 100644
--- a/core/java/android/net/LinkProperties.java
+++ b/core/java/android/net/LinkProperties.java
@@ -20,7 +20,6 @@
 import android.os.Parcelable;
 import android.os.Parcel;
 import android.text.TextUtils;
-import android.util.Log;
 
 import java.net.InetAddress;
 import java.net.Inet4Address;
@@ -66,7 +65,6 @@
     private String mDomains;
     private Collection<RouteInfo> mRoutes = new ArrayList<RouteInfo>();
     private ProxyProperties mHttpProxy;
-    public boolean mLogMe;
 
     // Stores the properties of links that are "stacked" above this link.
     // Indexed by interface name to allow modification and to prevent duplicates being added.
@@ -90,7 +88,6 @@
 
     public LinkProperties() {
         clear();
-        mLogMe = false;
     }
 
     // copy constructor instead of clone
@@ -110,14 +107,6 @@
     }
 
     public void setInterfaceName(String iface) {
-        if (mLogMe) {
-            Log.d("LinkProperties", "setInterfaceName from " + mIfaceName +
-                    " to " + iface);
-            for (StackTraceElement e : Thread.currentThread().getStackTrace()) {
-                Log.d("LinkProperties", "  " + e.toString());
-            }
-        }
-
         mIfaceName = iface;
         ArrayList<RouteInfo> newRoutes = new ArrayList<RouteInfo>(mRoutes.size());
         for (RouteInfo route : mRoutes) {
@@ -197,7 +186,7 @@
         for (LinkProperties stacked: mStackedLinks.values()) {
             routes.addAll(stacked.getAllRoutes());
         }
-        return Collections.unmodifiableCollection(routes);
+        return routes;
     }
 
     public void setHttpProxy(ProxyProperties proxy) {
@@ -248,13 +237,6 @@
     }
 
     public void clear() {
-        if (mLogMe) {
-            Log.d("LinkProperties", "clear from " + mIfaceName);
-            for (StackTraceElement e : Thread.currentThread().getStackTrace()) {
-                Log.d("LinkProperties", "  " + e.toString());
-            }
-        }
-
         mIfaceName = null;
         mLinkAddresses.clear();
         mDnses.clear();
diff --git a/core/jni/android_net_NetUtils.cpp b/core/jni/android_net_NetUtils.cpp
index f5f22b2..faae11e 100644
--- a/core/jni/android_net_NetUtils.cpp
+++ b/core/jni/android_net_NetUtils.cpp
@@ -136,6 +136,10 @@
         result = ::dhcp_do_request(nameStr, ipaddr, gateway, &prefixLength,
                 dns, server, &lease, vendorInfo, domains);
     }
+    if (result != 0) {
+        ALOGD("dhcp_do_request failed");
+    }
+
     env->ReleaseStringUTFChars(ifname, nameStr);
     if (result == 0) {
         env->CallVoidMethod(dhcpResults, dhcpResultsFieldIds.clear);
diff --git a/core/tests/coretests/src/android/net/LinkPropertiesTest.java b/core/tests/coretests/src/android/net/LinkPropertiesTest.java
index c746e52..274ac6b 100644
--- a/core/tests/coretests/src/android/net/LinkPropertiesTest.java
+++ b/core/tests/coretests/src/android/net/LinkPropertiesTest.java
@@ -256,6 +256,7 @@
         assertAllRoutesHaveInterface("p2p0", lp2);
         assertEquals(3, lp.compareRoutes(lp2).added.size());
         assertEquals(3, lp.compareRoutes(lp2).removed.size());
+    }
 
     @SmallTest
     public void testStackedInterfaces() {
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java
index f735c4c..72d249a 100644
--- a/services/java/com/android/server/ConnectivityService.java
+++ b/services/java/com/android/server/ConnectivityService.java
@@ -2328,20 +2328,6 @@
 
         boolean routesChanged = (routeDiff.removed.size() != 0 || routeDiff.added.size() != 0);
 
-        // look for a radio-added default route (v4-only for now TODO)
-        RouteInfo[] routes = new RouteInfo[0];
-        try {
-            routes = mNetd.getRoutes(newLp.getInterfaceName());
-        } catch (Exception e) {}
-
-        for (RouteInfo route : routes) {
-            if (route.isDefaultRoute() && route.getGateway() instanceof Inet4Address &&
-                    mAddedRoutes.contains(route) == false) {
-                throw new IllegalStateException("Unexpected default route found for interface "
-                        + newLp.getInterfaceName());
-            }
-        }
-
         for (RouteInfo r : routeDiff.removed) {
             if (isLinkDefault || ! r.isDefaultRoute()) {
                 removeRoute(curLp, r, TO_DEFAULT_TABLE);