Merge "To support skip464xlat per Network"

This commit is contained in:
Chalard Jean
2018-10-24 07:15:20 +00:00
committed by Gerrit Code Review
2 changed files with 12 additions and 1 deletions

View File

@@ -65,6 +65,12 @@ public class NetworkMisc implements Parcelable {
*/ */
public String subscriberId; public String subscriberId;
/**
* Set to skip 464xlat. This means the device will treat the network as IPv6-only and
* will not attempt to detect a NAT64 via RFC 7050 DNS lookups.
*/
public boolean skip464xlat;
public NetworkMisc() { public NetworkMisc() {
} }
@@ -75,6 +81,7 @@ public class NetworkMisc implements Parcelable {
acceptUnvalidated = nm.acceptUnvalidated; acceptUnvalidated = nm.acceptUnvalidated;
subscriberId = nm.subscriberId; subscriberId = nm.subscriberId;
provisioningNotificationDisabled = nm.provisioningNotificationDisabled; provisioningNotificationDisabled = nm.provisioningNotificationDisabled;
skip464xlat = nm.skip464xlat;
} }
} }
@@ -90,6 +97,7 @@ public class NetworkMisc implements Parcelable {
out.writeInt(acceptUnvalidated ? 1 : 0); out.writeInt(acceptUnvalidated ? 1 : 0);
out.writeString(subscriberId); out.writeString(subscriberId);
out.writeInt(provisioningNotificationDisabled ? 1 : 0); out.writeInt(provisioningNotificationDisabled ? 1 : 0);
out.writeInt(skip464xlat ? 1 : 0);
} }
public static final Creator<NetworkMisc> CREATOR = new Creator<NetworkMisc>() { public static final Creator<NetworkMisc> CREATOR = new Creator<NetworkMisc>() {
@@ -101,6 +109,7 @@ public class NetworkMisc implements Parcelable {
networkMisc.acceptUnvalidated = in.readInt() != 0; networkMisc.acceptUnvalidated = in.readInt() != 0;
networkMisc.subscriberId = in.readString(); networkMisc.subscriberId = in.readString();
networkMisc.provisioningNotificationDisabled = in.readInt() != 0; networkMisc.provisioningNotificationDisabled = in.readInt() != 0;
networkMisc.skip464xlat = in.readInt() != 0;
return networkMisc; return networkMisc;
} }

View File

@@ -93,7 +93,9 @@ public class Nat464Xlat extends BaseNetworkObserver {
// We only run clat on networks that don't have a native IPv4 address. // We only run clat on networks that don't have a native IPv4 address.
final boolean hasIPv4Address = final boolean hasIPv4Address =
(nai.linkProperties != null) && nai.linkProperties.hasIPv4Address(); (nai.linkProperties != null) && nai.linkProperties.hasIPv4Address();
return supported && connected && !hasIPv4Address; final boolean skip464xlat =
(nai.networkMisc != null) && nai.networkMisc.skip464xlat;
return supported && connected && !hasIPv4Address && !skip464xlat;
} }
/** /**