diff options
| author | markchien <markchien@google.com> | 2022-02-25 23:14:58 +0800 |
|---|---|---|
| committer | markchien <markchien@google.com> | 2022-03-31 16:32:55 +0800 |
| commit | fb65dfeb8da0c0ce4ec8ac63099ede54195e4da2 (patch) | |
| tree | 38b9b09286e53b73f7d7fdb1dd2befb583024331 /Tethering/src/android/net/ip/IpServer.java | |
| parent | 3d4de57752ef58e0fb58d6cd14e71bff8646c37e (diff) | |
Add config_p2p_leases_subnet_prefix_length configuration
Add new rro configuration which can be used to make the p2p dhcp
prefix length larger to reserve the address range outside of leases
subnet prefix length for EAPOL-Key feature. This configuration only
valid if its value larger than dhcp server address prefix length and
config_tether_enable_legacy_wifi_p2p_dedicated_ip is true.
E.g.:leaseSubnetPrefixLength = 25, p2p static address = 192.168.49.1/24
dhcp range: 192.168.49.0 ~ 192.168.49.127 (192.168.49.1/25), reserved
192.168.49.128 ~ 192.168.49.255 for EAPOL-Key feature.
Bug: 170056953
Test: atest TetheringTests
Change-Id: I1319efd871796da7234383a29ab64a1623101ae7
Diffstat (limited to 'Tethering/src/android/net/ip/IpServer.java')
| -rw-r--r-- | Tethering/src/android/net/ip/IpServer.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/Tethering/src/android/net/ip/IpServer.java b/Tethering/src/android/net/ip/IpServer.java index acd2625b19..c718f4c9a0 100644 --- a/Tethering/src/android/net/ip/IpServer.java +++ b/Tethering/src/android/net/ip/IpServer.java @@ -241,6 +241,7 @@ public class IpServer extends StateMachine { private final LinkProperties mLinkProperties; private final boolean mUsingLegacyDhcp; private final boolean mUsingBpfOffload; + private final int mP2pLeasesSubnetPrefixLength; private final Dependencies mDeps; @@ -299,6 +300,7 @@ public class IpServer extends StateMachine { mLinkProperties = new LinkProperties(); mUsingLegacyDhcp = config.useLegacyDhcpServer(); mUsingBpfOffload = config.isBpfOffloadEnabled(); + mP2pLeasesSubnetPrefixLength = config.getP2pLeasesSubnetPrefixLength(); mPrivateAddressCoordinator = addressCoordinator; mDeps = deps; resetLinkProperties(); @@ -527,6 +529,9 @@ public class IpServer extends StateMachine { @Nullable Inet4Address clientAddr) { final boolean changePrefixOnDecline = (mInterfaceType == TetheringManager.TETHERING_NCM && clientAddr == null); + final int subnetPrefixLength = mInterfaceType == TetheringManager.TETHERING_WIFI_P2P + ? mP2pLeasesSubnetPrefixLength : 0 /* default value */; + return new DhcpServingParamsParcelExt() .setDefaultRouters(defaultRouter) .setDhcpLeaseTimeSecs(DHCP_LEASE_TIME_SECS) @@ -534,7 +539,8 @@ public class IpServer extends StateMachine { .setServerAddr(serverAddr) .setMetered(true) .setSingleClientAddr(clientAddr) - .setChangePrefixOnDecline(changePrefixOnDecline); + .setChangePrefixOnDecline(changePrefixOnDecline) + .setLeasesSubnetPrefixLength(subnetPrefixLength); // TODO: also advertise link MTU } |
