Make DNS cache lifecycle management explicit
1. ConnectivityService calls netd binder to create/destroy network directly. 2. Call dnsresolver binder to create/destroy cache after create/destroy network. 3. Remove unused network create/destroy methods in NetworkManagementService. Bug: 129453995 Test: atest FrameworksNetTests Change-Id: I15660d27f735e33d621d4af8972cdf115bf76dfa
This commit is contained in:
@@ -4868,7 +4868,10 @@ public class ConnectivityServiceTest {
|
||||
mCellNetworkAgent.sendLinkProperties(cellLp);
|
||||
mCellNetworkAgent.connect(false);
|
||||
waitForIdle();
|
||||
// CS tells netd about the empty DNS config for this network.
|
||||
|
||||
verify(mMockDnsResolver, times(1)).createNetworkCache(
|
||||
eq(mCellNetworkAgent.getNetwork().netId));
|
||||
// CS tells dnsresolver about the empty DNS config for this network.
|
||||
verify(mMockDnsResolver, atLeastOnce()).setResolverConfiguration(any());
|
||||
reset(mMockDnsResolver);
|
||||
|
||||
@@ -4952,6 +4955,8 @@ public class ConnectivityServiceTest {
|
||||
mCellNetworkAgent.sendLinkProperties(cellLp);
|
||||
mCellNetworkAgent.connect(false);
|
||||
waitForIdle();
|
||||
verify(mMockDnsResolver, times(1)).createNetworkCache(
|
||||
eq(mCellNetworkAgent.getNetwork().netId));
|
||||
verify(mMockDnsResolver, atLeastOnce()).setResolverConfiguration(
|
||||
mResolverParamsParcelCaptor.capture());
|
||||
ResolverParamsParcel resolvrParams = mResolverParamsParcelCaptor.getValue();
|
||||
@@ -5825,12 +5830,17 @@ public class ConnectivityServiceTest {
|
||||
cellLp.addRoute(new RouteInfo(myIpv6, null, MOBILE_IFNAME));
|
||||
reset(mNetworkManagementService);
|
||||
reset(mMockDnsResolver);
|
||||
reset(mMockNetd);
|
||||
when(mNetworkManagementService.getInterfaceConfig(CLAT_PREFIX + MOBILE_IFNAME))
|
||||
.thenReturn(getClatInterfaceConfig(myIpv4));
|
||||
|
||||
// Connect with ipv6 link properties. Expect prefix discovery to be started.
|
||||
mCellNetworkAgent.sendLinkProperties(cellLp);
|
||||
mCellNetworkAgent.connect(true);
|
||||
|
||||
verify(mMockNetd, times(1)).networkCreatePhysical(eq(cellNetId), anyInt());
|
||||
verify(mMockDnsResolver, times(1)).createNetworkCache(eq(cellNetId));
|
||||
|
||||
networkCallback.expectAvailableThenValidatedCallbacks(mCellNetworkAgent);
|
||||
verify(mMockDnsResolver, times(1)).startPrefix64Discovery(cellNetId);
|
||||
|
||||
@@ -6022,7 +6032,7 @@ public class ConnectivityServiceTest {
|
||||
verify(mNetworkManagementService, times(0)).removeIdleTimer(eq(MOBILE_IFNAME));
|
||||
verify(mMockNetd, times(1)).networkDestroy(eq(mCellNetworkAgent.getNetwork().netId));
|
||||
verify(mMockDnsResolver, times(1))
|
||||
.clearResolverConfiguration(eq(mCellNetworkAgent.getNetwork().netId));
|
||||
.destroyNetworkCache(eq(mCellNetworkAgent.getNetwork().netId));
|
||||
|
||||
// Disconnect wifi
|
||||
ConditionVariable cv = waitForConnectivityBroadcasts(1);
|
||||
|
||||
Reference in New Issue
Block a user