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 Merged-In: I388e208143c38b89bcbb0589de393250024d59aa (cherry picked from commit 204ca13e63f063f044ac4ad3b96f08b473fe59df) Change-Id: I4d3dfd9305b60a724aa2dc38448948d8e710c932
This commit is contained in:
committed by
Luke Huang
parent
72d5c3fc4e
commit
d44040df36
@@ -4894,7 +4894,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);
|
||||
|
||||
@@ -4978,6 +4981,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();
|
||||
@@ -5851,12 +5856,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);
|
||||
|
||||
@@ -6048,7 +6058,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