summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorRubin Xu <rubinxu@google.com>2017-09-07 13:04:28 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-09-07 13:04:28 +0000
commit1683efe4eca1bc6e9ebb9fe9b9997dc608354e9b (patch)
tree8704eeac0f7b4cd08bdbaa1b66a524ac0dc09b91 /core/java/android
parent5b730ba2a01ca0068952ebf7003367857d8bf2b6 (diff)
parent90f104931a0782d8c92307cbee0db4741a574148 (diff)
Merge "Always add local subnet routes to the interface's routing table" am: 981228be38 am: 5fb26a1270 am: e3469a426e
am: 90f104931a Change-Id: I704f9895ddd4c4fc2ab50a927939aee67a916fae
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/net/LinkProperties.java18
1 files changed, 14 insertions, 4 deletions
diff --git a/core/java/android/net/LinkProperties.java b/core/java/android/net/LinkProperties.java
index 1bb0fbb74a53..f527f77ddd7c 100644
--- a/core/java/android/net/LinkProperties.java
+++ b/core/java/android/net/LinkProperties.java
@@ -18,14 +18,13 @@ package android.net;
import android.annotation.NonNull;
import android.annotation.Nullable;
-import android.net.ProxyInfo;
-import android.os.Parcelable;
import android.os.Parcel;
+import android.os.Parcelable;
import android.text.TextUtils;
-import java.net.InetAddress;
import java.net.Inet4Address;
import java.net.Inet6Address;
+import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Collection;
@@ -504,11 +503,22 @@ public final class LinkProperties implements Parcelable {
}
/**
+ * Make sure this LinkProperties instance contains routes that cover the local subnet
+ * of its link addresses. Add any route that is missing.
+ * @hide
+ */
+ public void ensureDirectlyConnectedRoutes() {
+ for (LinkAddress addr: mLinkAddresses) {
+ addRoute(new RouteInfo(addr, null, mIfaceName));
+ }
+ }
+
+ /**
* Returns all the routes on this link and all the links stacked above it.
* @hide
*/
public List<RouteInfo> getAllRoutes() {
- List<RouteInfo> routes = new ArrayList();
+ List<RouteInfo> routes = new ArrayList<>();
routes.addAll(mRoutes);
for (LinkProperties stacked: mStackedLinks.values()) {
routes.addAll(stacked.getAllRoutes());