diff --git a/service/src/com/android/server/connectivity/ClatCoordinator.java b/service/src/com/android/server/connectivity/ClatCoordinator.java index 33494d44a3..3b0b3fd605 100644 --- a/service/src/com/android/server/connectivity/ClatCoordinator.java +++ b/service/src/com/android/server/connectivity/ClatCoordinator.java @@ -39,6 +39,7 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.IndentingPrintWriter; import com.android.modules.utils.build.SdkLevel; import com.android.net.module.util.BpfMap; +import com.android.net.module.util.IBpfMap; import com.android.net.module.util.InterfaceParams; import com.android.net.module.util.TcUtils; import com.android.net.module.util.bpf.ClatEgress4Key; @@ -115,12 +116,12 @@ public class ClatCoordinator { private final INetd mNetd; @NonNull private final Dependencies mDeps; - // BpfMap objects {mIngressMap, mEgressMap} are initialized in #maybeStartBpf and closed in + // IBpfMap objects {mIngressMap, mEgressMap} are initialized in #maybeStartBpf and closed in // #maybeStopBpf. @Nullable - private BpfMap mIngressMap = null; + private IBpfMap mIngressMap = null; @Nullable - private BpfMap mEgressMap = null; + private IBpfMap mEgressMap = null; @Nullable private ClatdTracker mClatdTracker = null; @@ -248,7 +249,7 @@ public class ClatCoordinator { /** Get ingress6 BPF map. */ @Nullable - public BpfMap getBpfIngress6Map() { + public IBpfMap getBpfIngress6Map() { // Pre-T devices don't use ClatCoordinator to access clat map. Since Nat464Xlat // initializes a ClatCoordinator object to avoid redundant null pointer check // while using, ignore the BPF map initialization on pre-T devices. @@ -265,7 +266,7 @@ public class ClatCoordinator { /** Get egress4 BPF map. */ @Nullable - public BpfMap getBpfEgress4Map() { + public IBpfMap getBpfEgress4Map() { // Pre-T devices don't use ClatCoordinator to access clat map. Since Nat464Xlat // initializes a ClatCoordinator object to avoid redundant null pointer check // while using, ignore the BPF map initialization on pre-T devices. @@ -379,7 +380,7 @@ public class ClatCoordinator { private void closeEgressMap() { try { mEgressMap.close(); - } catch (ErrnoException e) { + } catch (Exception e) { Log.e(TAG, "Cannot close egress4 map: " + e); } mEgressMap = null; @@ -388,7 +389,7 @@ public class ClatCoordinator { private void closeIngressMap() { try { mIngressMap.close(); - } catch (ErrnoException e) { + } catch (Exception e) { Log.e(TAG, "Cannot close ingress6 map: " + e); } mIngressMap = null; diff --git a/tests/unit/java/com/android/server/connectivity/ClatCoordinatorTest.java b/tests/unit/java/com/android/server/connectivity/ClatCoordinatorTest.java index de5698fc4b..a1eeaf4ed5 100644 --- a/tests/unit/java/com/android/server/connectivity/ClatCoordinatorTest.java +++ b/tests/unit/java/com/android/server/connectivity/ClatCoordinatorTest.java @@ -46,7 +46,7 @@ import android.os.ParcelFileDescriptor; import androidx.test.filters.SmallTest; -import com.android.net.module.util.BpfMap; +import com.android.net.module.util.IBpfMap; import com.android.net.module.util.bpf.ClatEgress4Key; import com.android.net.module.util.bpf.ClatEgress4Value; import com.android.net.module.util.bpf.ClatIngress6Key; @@ -123,8 +123,8 @@ public class ClatCoordinatorTest { @Mock private INetd mNetd; @Spy private TestDependencies mDeps = new TestDependencies(); - @Mock private BpfMap mIngressMap; - @Mock private BpfMap mEgressMap; + @Mock private IBpfMap mIngressMap; + @Mock private IBpfMap mEgressMap; /** * The dependency injection class is used to mock the JNI functions and system functions @@ -326,13 +326,13 @@ public class ClatCoordinatorTest { /** Get ingress6 BPF map. */ @Override - public BpfMap getBpfIngress6Map() { + public IBpfMap getBpfIngress6Map() { return mIngressMap; } /** Get egress4 BPF map. */ @Override - public BpfMap getBpfEgress4Map() { + public IBpfMap getBpfEgress4Map() { return mEgressMap; }