Merge "Add TunnelInterface API and KernelResourceRecords" am: 7a7d04e103

am: 7cacbb3c86

Change-Id: If27d78708ce225a900ad78a82d9f323770223808
This commit is contained in:
Benedict Wong
2018-01-24 09:02:56 +00:00
committed by android-build-merger
2 changed files with 23 additions and 2 deletions

View File

@@ -456,8 +456,8 @@ public class ConnectivityService extends IConnectivityManager.Stub
private LingerMonitor mLingerMonitor;
// sequence number for Networks; keep in sync with system/netd/NetworkController.cpp
private final static int MIN_NET_ID = 100; // some reserved marks
private final static int MAX_NET_ID = 65535;
private static final int MIN_NET_ID = 100; // some reserved marks
private static final int MAX_NET_ID = 65535 - 0x0400; // Top 1024 bits reserved by IpSecService
private int mNextNetId = MIN_NET_ID;
// sequence number of NetworkRequests

View File

@@ -635,4 +635,25 @@ public class IpSecServiceTest {
verify(mMockNetd).ipSecSetEncapSocketOwner(argThat(fdMatcher), eq(Os.getuid()));
mIpSecService.closeUdpEncapsulationSocket(udpEncapResp.resourceId);
}
@Test
public void testReserveNetId() {
int start = mIpSecService.TUN_INTF_NETID_START;
for (int i = 0; i < mIpSecService.TUN_INTF_NETID_RANGE; i++) {
assertEquals(start + i, mIpSecService.reserveNetId());
}
// Check that resource exhaustion triggers an exception
try {
mIpSecService.reserveNetId();
fail("Did not throw error for all netIds reserved");
} catch (IllegalStateException expected) {
}
// Now release one and try again
int releasedNetId =
mIpSecService.TUN_INTF_NETID_START + mIpSecService.TUN_INTF_NETID_RANGE / 2;
mIpSecService.releaseNetId(releasedNetId);
assertEquals(releasedNetId, mIpSecService.reserveNetId());
}
}