commit | 7ca99651d2b9e3a2532b4279747281c8a1d761a7 | [log] [tgz] |
---|---|---|
author | Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> | Mon May 20 12:26:23 2024 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Mon May 20 12:26:23 2024 +0000 |
tree | a6def0ed380b5ba69e8c384ec2f1943405db1c8b | |
parent | f9ec116902b475e76c144479a41ed38018502a3e [diff] | |
parent | e71571d178f53803cb3754b18ff879c7f5f663af [diff] |
Merge "Reset mNetDataPrefixes when Thread goes down." into main am: e71571d178 Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/3094998 Change-Id: Iae41b5c9440a2b413af48a6f6922c3c4a25153f9 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/thread/service/java/com/android/server/thread/TunInterfaceController.java b/thread/service/java/com/android/server/thread/TunInterfaceController.java index c3f6ace..b76c1e9 100644 --- a/thread/service/java/com/android/server/thread/TunInterfaceController.java +++ b/thread/service/java/com/android/server/thread/TunInterfaceController.java
@@ -128,6 +128,10 @@ for (LinkAddress address : mLinkProperties.getAllLinkAddresses()) { removeAddress(address); } + for (RouteInfo route : mLinkProperties.getAllRoutes()) { + mLinkProperties.removeRoute(route); + } + mNetDataPrefixes.clear(); } nativeSetInterfaceUp(mIfName, isUp); }
diff --git a/thread/tests/integration/src/android/net/thread/ThreadIntegrationTest.java b/thread/tests/integration/src/android/net/thread/ThreadIntegrationTest.java index 4028014..91ca23e 100644 --- a/thread/tests/integration/src/android/net/thread/ThreadIntegrationTest.java +++ b/thread/tests/integration/src/android/net/thread/ThreadIntegrationTest.java
@@ -307,6 +307,23 @@ .isFalse(); } + @Test + public void toggleThreadNetwork_routeFromPreviousNetDataIsRemoved() throws Exception { + ConnectivityManager cm = mContext.getSystemService(ConnectivityManager.class); + mController.joinAndWait(DEFAULT_DATASET); + mOtCtl.executeCommand("prefix add " + TEST_NO_SLAAC_PREFIX + " pros med"); + mOtCtl.executeCommand("netdata register"); + + mController.leaveAndWait(); + mOtCtl.factoryReset(); + mController.joinAndWait(DEFAULT_DATASET); + + LinkProperties lp = cm.getLinkProperties(getThreadNetwork(CALLBACK_TIMEOUT)); + assertThat(lp).isNotNull(); + assertThat(lp.getRoutes().stream().anyMatch(r -> r.matches(TEST_NO_SLAAC_PREFIX_ADDRESS))) + .isFalse(); + } + // TODO (b/323300829): add more tests for integration with linux platform and // ConnectivityService