Merge "Add TunnelInterface API and KernelResourceRecords" am: 7a7d04e103 am: 7cacbb3c86
am: 54cd11245e
Change-Id: I955d5090171f08e4fa20eac5bdfe761132b87d35
This commit is contained in:
@@ -458,8 +458,8 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
private LingerMonitor mLingerMonitor;
|
private LingerMonitor mLingerMonitor;
|
||||||
|
|
||||||
// sequence number for Networks; keep in sync with system/netd/NetworkController.cpp
|
// sequence number for Networks; keep in sync with system/netd/NetworkController.cpp
|
||||||
private final static int MIN_NET_ID = 100; // some reserved marks
|
private static final int MIN_NET_ID = 100; // some reserved marks
|
||||||
private final static int MAX_NET_ID = 65535;
|
private static final int MAX_NET_ID = 65535 - 0x0400; // Top 1024 bits reserved by IpSecService
|
||||||
private int mNextNetId = MIN_NET_ID;
|
private int mNextNetId = MIN_NET_ID;
|
||||||
|
|
||||||
// sequence number of NetworkRequests
|
// sequence number of NetworkRequests
|
||||||
|
|||||||
@@ -635,4 +635,25 @@ public class IpSecServiceTest {
|
|||||||
verify(mMockNetd).ipSecSetEncapSocketOwner(argThat(fdMatcher), eq(Os.getuid()));
|
verify(mMockNetd).ipSecSetEncapSocketOwner(argThat(fdMatcher), eq(Os.getuid()));
|
||||||
mIpSecService.closeUdpEncapsulationSocket(udpEncapResp.resourceId);
|
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());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user