diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2020-04-17 04:41:39 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-04-17 04:41:39 +0000 |
commit | 548bf84252ec9de3ba77ce2de598379e44cfa3ab (patch) | |
tree | 24991a64393ccf5e16976e92075e6f490a179ecc /src/android/net | |
parent | bb771b1f69e6136d56e0befea4e961b9ba1fad85 (diff) | |
parent | cc394973d41f881b9bf6254d75a8eb0614c7b747 (diff) |
Merge "Add a new field changePrefixOnDecline in DhcpServingParamsParcel." into rvc-dev
Diffstat (limited to 'src/android/net')
-rw-r--r-- | src/android/net/dhcp/DhcpServingParams.java | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/src/android/net/dhcp/DhcpServingParams.java b/src/android/net/dhcp/DhcpServingParams.java index 63f847d..c52cae9 100644 --- a/src/android/net/dhcp/DhcpServingParams.java +++ b/src/android/net/dhcp/DhcpServingParams.java @@ -91,6 +91,13 @@ public class DhcpServingParams { public final Inet4Address clientAddr; /** + * Indicates whether the DHCP server should request a new prefix from IpServer when receiving + * DHCPDECLINE message in certain particular link (e.g. there is only one downstream USB + * tethering client). If it's false, process DHCPDECLINE message as RFC2131#4.3.3 suggests. + */ + public final boolean changePrefixOnDecline; + + /** * Checked exception thrown when some parameters used to build {@link DhcpServingParams} are * missing or invalid. */ @@ -103,7 +110,8 @@ public class DhcpServingParams { private DhcpServingParams(@NonNull LinkAddress serverAddr, @NonNull Set<Inet4Address> defaultRouters, @NonNull Set<Inet4Address> dnsServers, @NonNull Set<Inet4Address> excludedAddrs, - long dhcpLeaseTimeSecs, int linkMtu, boolean metered, Inet4Address clientAddr) { + long dhcpLeaseTimeSecs, int linkMtu, boolean metered, Inet4Address clientAddr, + boolean changePrefixOnDecline) { this.serverAddr = serverAddr; this.defaultRouters = defaultRouters; this.dnsServers = dnsServers; @@ -112,6 +120,7 @@ public class DhcpServingParams { this.linkMtu = linkMtu; this.metered = metered; this.clientAddr = clientAddr; + this.changePrefixOnDecline = changePrefixOnDecline; } /** @@ -140,6 +149,7 @@ public class DhcpServingParams { .setLinkMtu(parcel.linkMtu) .setMetered(parcel.metered) .setClientAddr(clientAddr) + .setChangePrefixOnDecline(parcel.changePrefixOnDecline) .build(); } @@ -195,6 +205,7 @@ public class DhcpServingParams { private int mLinkMtu = MTU_UNSET; private boolean mMetered; private Inet4Address mClientAddr; + private boolean mChangePrefixOnDecline; /** * Set the server address and served prefix for the DHCP server. @@ -329,6 +340,17 @@ public class DhcpServingParams { } /** + * Set whether the DHCP server should request a new prefix from IpServer when receiving + * DHCPDECLINE message in certain particular link. + * + * <p>If not set, the default value is false. + */ + public Builder setChangePrefixOnDecline(boolean changePrefixOnDecline) { + this.mChangePrefixOnDecline = changePrefixOnDecline; + return this; + } + + /** * Create a new {@link DhcpServingParams} instance based on parameters set in the builder. * * <p>This method has no side-effects. If it does not throw, a valid @@ -382,7 +404,7 @@ public class DhcpServingParams { Collections.unmodifiableSet(new HashSet<>(mDefaultRouters)), Collections.unmodifiableSet(new HashSet<>(mDnsServers)), Collections.unmodifiableSet(excl), - mDhcpLeaseTimeSecs, mLinkMtu, mMetered, mClientAddr); + mDhcpLeaseTimeSecs, mLinkMtu, mMetered, mClientAddr, mChangePrefixOnDecline); } } |