Add the DHCP server address to LinkProperties.
Bug: 134098566 Test: see subsequent CL in topic Change-Id: If0f80067934189137c87cd379e7ae47b187562fd
This commit is contained in:
committed by
Lorenzo Colitti
parent
6c3b3a494f
commit
ca75bc897d
@@ -63,6 +63,7 @@ public final class LinkProperties implements Parcelable {
|
||||
private String mPrivateDnsServerName;
|
||||
private String mDomains;
|
||||
private ArrayList<RouteInfo> mRoutes = new ArrayList<>();
|
||||
private Inet4Address mDhcpServerAddress;
|
||||
private ProxyInfo mHttpProxy;
|
||||
private int mMtu;
|
||||
// in the format "rmem_min,rmem_def,rmem_max,wmem_min,wmem_def,wmem_max"
|
||||
@@ -196,6 +197,7 @@ public final class LinkProperties implements Parcelable {
|
||||
addStackedLink(l);
|
||||
}
|
||||
setMtu(source.mMtu);
|
||||
setDhcpServerAddress(source.getDhcpServerAddress());
|
||||
mTcpBufferSizes = source.mTcpBufferSizes;
|
||||
mNat64Prefix = source.mNat64Prefix;
|
||||
mWakeOnLanSupported = source.mWakeOnLanSupported;
|
||||
@@ -459,6 +461,24 @@ public final class LinkProperties implements Parcelable {
|
||||
mPrivateDnsServerName = privateDnsServerName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set DHCP server address.
|
||||
*
|
||||
* @param serverAddress the server address to set.
|
||||
*/
|
||||
public void setDhcpServerAddress(@Nullable Inet4Address serverAddress) {
|
||||
mDhcpServerAddress = serverAddress;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get DHCP server address
|
||||
*
|
||||
* @return The current DHCP server address.
|
||||
*/
|
||||
public @Nullable Inet4Address getDhcpServerAddress() {
|
||||
return mDhcpServerAddress;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the private DNS server name that is in use. If not {@code null},
|
||||
* private DNS is in strict mode. In this mode, applications should ensure
|
||||
@@ -851,6 +871,7 @@ public final class LinkProperties implements Parcelable {
|
||||
mHttpProxy = null;
|
||||
mStackedLinks.clear();
|
||||
mMtu = 0;
|
||||
mDhcpServerAddress = null;
|
||||
mTcpBufferSizes = null;
|
||||
mNat64Prefix = null;
|
||||
mWakeOnLanSupported = false;
|
||||
@@ -919,6 +940,11 @@ public final class LinkProperties implements Parcelable {
|
||||
resultJoiner.add("WakeOnLanSupported: true");
|
||||
}
|
||||
|
||||
if (mDhcpServerAddress != null) {
|
||||
resultJoiner.add("ServerAddress:");
|
||||
resultJoiner.add(mDhcpServerAddress.toString());
|
||||
}
|
||||
|
||||
if (mTcpBufferSizes != null) {
|
||||
resultJoiner.add("TcpBufferSizes:");
|
||||
resultJoiner.add(mTcpBufferSizes);
|
||||
@@ -1272,6 +1298,17 @@ public final class LinkProperties implements Parcelable {
|
||||
return TextUtils.equals(getInterfaceName(), target.getInterfaceName());
|
||||
}
|
||||
|
||||
/**
|
||||
* Compares this {@code LinkProperties} DHCP server address against the target
|
||||
*
|
||||
* @param target LinkProperties to compare.
|
||||
* @return {@code true} if both are identical, {@code false} otherwise.
|
||||
* @hide
|
||||
*/
|
||||
public boolean isIdenticalDhcpServerAddress(@NonNull LinkProperties target) {
|
||||
return Objects.equals(mDhcpServerAddress, target.mDhcpServerAddress);
|
||||
}
|
||||
|
||||
/**
|
||||
* Compares this {@code LinkProperties} interface addresses against the target
|
||||
*
|
||||
@@ -1489,6 +1526,7 @@ public final class LinkProperties implements Parcelable {
|
||||
*/
|
||||
return isIdenticalInterfaceName(target)
|
||||
&& isIdenticalAddresses(target)
|
||||
&& isIdenticalDhcpServerAddress(target)
|
||||
&& isIdenticalDnses(target)
|
||||
&& isIdenticalPrivateDns(target)
|
||||
&& isIdenticalValidatedPrivateDnses(target)
|
||||
@@ -1613,6 +1651,7 @@ public final class LinkProperties implements Parcelable {
|
||||
+ mMtu * 51
|
||||
+ ((null == mTcpBufferSizes) ? 0 : mTcpBufferSizes.hashCode())
|
||||
+ (mUsePrivateDns ? 57 : 0)
|
||||
+ ((null == mDhcpServerAddress) ? 0 : mDhcpServerAddress.hashCode())
|
||||
+ mPcscfs.size() * 67
|
||||
+ ((null == mPrivateDnsServerName) ? 0 : mPrivateDnsServerName.hashCode())
|
||||
+ Objects.hash(mNat64Prefix)
|
||||
@@ -1635,6 +1674,7 @@ public final class LinkProperties implements Parcelable {
|
||||
dest.writeString(mPrivateDnsServerName);
|
||||
writeAddresses(dest, mPcscfs);
|
||||
dest.writeString(mDomains);
|
||||
dest.writeByteArray(mDhcpServerAddress.getAddress());
|
||||
dest.writeInt(mMtu);
|
||||
dest.writeString(mTcpBufferSizes);
|
||||
dest.writeInt(mRoutes.size());
|
||||
@@ -1722,6 +1762,10 @@ public final class LinkProperties implements Parcelable {
|
||||
} catch (UnknownHostException e) { }
|
||||
}
|
||||
netProp.setDomains(in.readString());
|
||||
try {
|
||||
netProp.setDhcpServerAddress((Inet4Address) InetAddress
|
||||
.getByAddress(in.createByteArray()));
|
||||
} catch (UnknownHostException e) { }
|
||||
netProp.setMtu(in.readInt());
|
||||
netProp.setTcpBufferSizes(in.readString());
|
||||
addressCount = in.readInt();
|
||||
|
||||
Reference in New Issue
Block a user