From 23ee901e7632bc9cdb25f840df8a6c01e32bb7fe Mon Sep 17 00:00:00 2001 From: Hungming Chen Date: Tue, 16 Mar 2021 13:03:47 +0800 Subject: [PATCH] Do not start conntrack event monitor when running on R Starting conntrack event monitor on R devices is unnecessary because no code uses them. Bug: 177884581 Test: atest TetheringCoverageTests Change-Id: I036cb8e29b32a4e220da9a52849b978a6ab821e4 --- .../com/android/networkstack/tethering/BpfCoordinator.java | 6 +++++- .../android/networkstack/tethering/BpfCoordinatorTest.java | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Tethering/src/com/android/networkstack/tethering/BpfCoordinator.java b/Tethering/src/com/android/networkstack/tethering/BpfCoordinator.java index 8df3045cdd..482fbecc70 100644 --- a/Tethering/src/com/android/networkstack/tethering/BpfCoordinator.java +++ b/Tethering/src/com/android/networkstack/tethering/BpfCoordinator.java @@ -420,7 +420,8 @@ public class BpfCoordinator { * See NetlinkMonitor#handlePacket, NetlinkMessage#parseNfMessage. */ public void startMonitoring(@NonNull final IpServer ipServer) { - if (!isUsingBpf()) return; + // TODO: Wrap conntrackMonitor starting function into mBpfCoordinatorShim. + if (!isUsingBpf() || !mDeps.isAtLeastS()) return; if (mMonitoringIpServers.contains(ipServer)) { Log.wtf(TAG, "The same downstream " + ipServer.interfaceName() @@ -441,6 +442,9 @@ public class BpfCoordinator { * Note that this can be only called on handler thread. */ public void stopMonitoring(@NonNull final IpServer ipServer) { + // TODO: Wrap conntrackMonitor stopping function into mBpfCoordinatorShim. + if (!isUsingBpf() || !mDeps.isAtLeastS()) return; + mMonitoringIpServers.remove(ipServer); if (!mMonitoringIpServers.isEmpty()) return; diff --git a/Tethering/tests/unit/src/com/android/networkstack/tethering/BpfCoordinatorTest.java b/Tethering/tests/unit/src/com/android/networkstack/tethering/BpfCoordinatorTest.java index ba4ed4701b..f508f692c9 100644 --- a/Tethering/tests/unit/src/com/android/networkstack/tethering/BpfCoordinatorTest.java +++ b/Tethering/tests/unit/src/com/android/networkstack/tethering/BpfCoordinatorTest.java @@ -1150,6 +1150,7 @@ public class BpfCoordinatorTest { } @Test + @IgnoreUpTo(Build.VERSION_CODES.R) public void testStartStopConntrackMonitoring() throws Exception { setupFunctioningNetdInterface(); @@ -1170,6 +1171,7 @@ public class BpfCoordinatorTest { } @Test + @IgnoreUpTo(Build.VERSION_CODES.R) public void testStartStopConntrackMonitoringWithTwoDownstreamIfaces() throws Exception { setupFunctioningNetdInterface();