Merge "Replace hidden NMS interface to network API"
This commit is contained in:
@@ -6078,7 +6078,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
for (final String iface : interfaceDiff.added) {
|
for (final String iface : interfaceDiff.added) {
|
||||||
try {
|
try {
|
||||||
if (DBG) log("Adding iface " + iface + " to network " + netId);
|
if (DBG) log("Adding iface " + iface + " to network " + netId);
|
||||||
mNMS.addInterfaceToNetwork(iface, netId);
|
mNetd.networkAddInterface(netId, iface);
|
||||||
wakeupModifyInterface(iface, caps, true);
|
wakeupModifyInterface(iface, caps, true);
|
||||||
bs.noteNetworkInterfaceType(iface, legacyType);
|
bs.noteNetworkInterfaceType(iface, legacyType);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@@ -6090,7 +6090,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
try {
|
try {
|
||||||
if (DBG) log("Removing iface " + iface + " from network " + netId);
|
if (DBG) log("Removing iface " + iface + " from network " + netId);
|
||||||
wakeupModifyInterface(iface, caps, false);
|
wakeupModifyInterface(iface, caps, false);
|
||||||
mNMS.removeInterfaceFromNetwork(iface, netId);
|
mNetd.networkRemoveInterface(netId, iface);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
loge("Exception removing interface: " + e);
|
loge("Exception removing interface: " + e);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6143,6 +6143,7 @@ public class ConnectivityServiceTest {
|
|||||||
verify(mMockNetd, times(1)).networkCreatePhysical(eq(cellNetId), anyInt());
|
verify(mMockNetd, times(1)).networkCreatePhysical(eq(cellNetId), anyInt());
|
||||||
assertRoutesAdded(cellNetId, ipv6Subnet, defaultRoute);
|
assertRoutesAdded(cellNetId, ipv6Subnet, defaultRoute);
|
||||||
verify(mMockDnsResolver, times(1)).createNetworkCache(eq(cellNetId));
|
verify(mMockDnsResolver, times(1)).createNetworkCache(eq(cellNetId));
|
||||||
|
verify(mMockNetd, times(1)).networkAddInterface(cellNetId, MOBILE_IFNAME);
|
||||||
verify(mBatteryStatsService).noteNetworkInterfaceType(cellLp.getInterfaceName(),
|
verify(mBatteryStatsService).noteNetworkInterfaceType(cellLp.getInterfaceName(),
|
||||||
TYPE_MOBILE);
|
TYPE_MOBILE);
|
||||||
|
|
||||||
@@ -6199,7 +6200,7 @@ public class ConnectivityServiceTest {
|
|||||||
.getStackedLinks();
|
.getStackedLinks();
|
||||||
assertEquals(makeClatLinkProperties(myIpv4), stackedLps.get(0));
|
assertEquals(makeClatLinkProperties(myIpv4), stackedLps.get(0));
|
||||||
assertRoutesAdded(cellNetId, stackedDefault);
|
assertRoutesAdded(cellNetId, stackedDefault);
|
||||||
|
verify(mMockNetd, times(1)).networkAddInterface(cellNetId, CLAT_PREFIX + MOBILE_IFNAME);
|
||||||
// Change trivial linkproperties and see if stacked link is preserved.
|
// Change trivial linkproperties and see if stacked link is preserved.
|
||||||
cellLp.addDnsServer(InetAddress.getByName("8.8.8.8"));
|
cellLp.addDnsServer(InetAddress.getByName("8.8.8.8"));
|
||||||
mCellNetworkAgent.sendLinkProperties(cellLp);
|
mCellNetworkAgent.sendLinkProperties(cellLp);
|
||||||
@@ -6230,6 +6231,7 @@ public class ConnectivityServiceTest {
|
|||||||
(lp) -> lp.getStackedLinks().size() == 0);
|
(lp) -> lp.getStackedLinks().size() == 0);
|
||||||
verify(mMockNetd, times(1)).clatdStop(MOBILE_IFNAME);
|
verify(mMockNetd, times(1)).clatdStop(MOBILE_IFNAME);
|
||||||
assertRoutesRemoved(cellNetId, stackedDefault);
|
assertRoutesRemoved(cellNetId, stackedDefault);
|
||||||
|
verify(mMockNetd, times(1)).networkRemoveInterface(cellNetId, CLAT_PREFIX + MOBILE_IFNAME);
|
||||||
|
|
||||||
verify(mMockNetd, times(1)).clatdStart(MOBILE_IFNAME, kOtherNat64Prefix.toString());
|
verify(mMockNetd, times(1)).clatdStart(MOBILE_IFNAME, kOtherNat64Prefix.toString());
|
||||||
networkCallback.expectLinkPropertiesThat(mCellNetworkAgent,
|
networkCallback.expectLinkPropertiesThat(mCellNetworkAgent,
|
||||||
@@ -6238,6 +6240,7 @@ public class ConnectivityServiceTest {
|
|||||||
networkCallback.expectLinkPropertiesThat(mCellNetworkAgent,
|
networkCallback.expectLinkPropertiesThat(mCellNetworkAgent,
|
||||||
(lp) -> lp.getStackedLinks().size() == 1);
|
(lp) -> lp.getStackedLinks().size() == 1);
|
||||||
assertRoutesAdded(cellNetId, stackedDefault);
|
assertRoutesAdded(cellNetId, stackedDefault);
|
||||||
|
verify(mMockNetd, times(1)).networkAddInterface(cellNetId, CLAT_PREFIX + MOBILE_IFNAME);
|
||||||
reset(mMockNetd);
|
reset(mMockNetd);
|
||||||
|
|
||||||
// Add ipv4 address, expect that clatd and prefix discovery are stopped and stacked
|
// Add ipv4 address, expect that clatd and prefix discovery are stopped and stacked
|
||||||
@@ -6262,7 +6265,7 @@ public class ConnectivityServiceTest {
|
|||||||
// The interface removed callback happens but has no effect after stop is called.
|
// The interface removed callback happens but has no effect after stop is called.
|
||||||
clat.interfaceRemoved(CLAT_PREFIX + MOBILE_IFNAME);
|
clat.interfaceRemoved(CLAT_PREFIX + MOBILE_IFNAME);
|
||||||
networkCallback.assertNoCallback();
|
networkCallback.assertNoCallback();
|
||||||
|
verify(mMockNetd, times(1)).networkRemoveInterface(cellNetId, CLAT_PREFIX + MOBILE_IFNAME);
|
||||||
verifyNoMoreInteractions(mMockNetd);
|
verifyNoMoreInteractions(mMockNetd);
|
||||||
verifyNoMoreInteractions(mMockDnsResolver);
|
verifyNoMoreInteractions(mMockDnsResolver);
|
||||||
reset(mNetworkManagementService);
|
reset(mNetworkManagementService);
|
||||||
@@ -6295,6 +6298,7 @@ public class ConnectivityServiceTest {
|
|||||||
networkCallback.expectLinkPropertiesThat(mCellNetworkAgent,
|
networkCallback.expectLinkPropertiesThat(mCellNetworkAgent,
|
||||||
(lp) -> lp.getStackedLinks().size() == 1 && lp.getNat64Prefix() != null);
|
(lp) -> lp.getStackedLinks().size() == 1 && lp.getNat64Prefix() != null);
|
||||||
assertRoutesAdded(cellNetId, stackedDefault);
|
assertRoutesAdded(cellNetId, stackedDefault);
|
||||||
|
verify(mMockNetd, times(1)).networkAddInterface(cellNetId, CLAT_PREFIX + MOBILE_IFNAME);
|
||||||
|
|
||||||
// NAT64 prefix is removed. Expect that clat is stopped.
|
// NAT64 prefix is removed. Expect that clat is stopped.
|
||||||
mService.mNetdEventCallback.onNat64PrefixEvent(cellNetId, false /* added */,
|
mService.mNetdEventCallback.onNat64PrefixEvent(cellNetId, false /* added */,
|
||||||
@@ -6307,8 +6311,8 @@ public class ConnectivityServiceTest {
|
|||||||
verify(mMockNetd, times(1)).clatdStop(MOBILE_IFNAME);
|
verify(mMockNetd, times(1)).clatdStop(MOBILE_IFNAME);
|
||||||
networkCallback.expectLinkPropertiesThat(mCellNetworkAgent,
|
networkCallback.expectLinkPropertiesThat(mCellNetworkAgent,
|
||||||
(lp) -> lp.getStackedLinks().size() == 0);
|
(lp) -> lp.getStackedLinks().size() == 0);
|
||||||
|
verify(mMockNetd, times(1)).networkRemoveInterface(cellNetId, CLAT_PREFIX + MOBILE_IFNAME);
|
||||||
verifyNoMoreInteractions(mMockNetd);
|
verifyNoMoreInteractions(mMockNetd);
|
||||||
|
|
||||||
// Clean up.
|
// Clean up.
|
||||||
mCellNetworkAgent.disconnect();
|
mCellNetworkAgent.disconnect();
|
||||||
networkCallback.expectCallback(CallbackEntry.LOST, mCellNetworkAgent);
|
networkCallback.expectCallback(CallbackEntry.LOST, mCellNetworkAgent);
|
||||||
|
|||||||
Reference in New Issue
Block a user