diff --git a/Tethering/Android.bp b/Tethering/Android.bp index b5054cf0cc..495c9d77d5 100644 --- a/Tethering/Android.bp +++ b/Tethering/Android.bp @@ -33,13 +33,13 @@ java_defaults { "NetworkStackApiStableShims", "androidx.annotation_annotation", "modules-utils-build", - "netlink-client", "networkstack-client", "android.hardware.tetheroffload.config-V1.0-java", "android.hardware.tetheroffload.control-V1.0-java", "android.hardware.tetheroffload.control-V1.1-java", "net-utils-framework-common", "net-utils-device-common", + "net-utils-device-common-netlink", "netd-client", "NetworkStackApiCurrentShims", ], diff --git a/Tethering/src/com/android/networkstack/tethering/BpfCoordinator.java b/Tethering/src/com/android/networkstack/tethering/BpfCoordinator.java index 01be97a406..5b39a23217 100644 --- a/Tethering/src/com/android/networkstack/tethering/BpfCoordinator.java +++ b/Tethering/src/com/android/networkstack/tethering/BpfCoordinator.java @@ -42,9 +42,6 @@ import android.net.TetherOffloadRuleParcel; import android.net.ip.ConntrackMonitor; import android.net.ip.ConntrackMonitor.ConntrackEventConsumer; import android.net.ip.IpServer; -import android.net.netlink.ConntrackMessage; -import android.net.netlink.NetlinkConstants; -import android.net.netlink.NetlinkSocket; import android.net.netstats.provider.NetworkStatsProvider; import android.net.util.InterfaceParams; import android.net.util.SharedLog; @@ -66,6 +63,9 @@ import com.android.internal.util.IndentingPrintWriter; import com.android.modules.utils.build.SdkLevel; import com.android.net.module.util.NetworkStackConstants; import com.android.net.module.util.Struct; +import com.android.net.module.util.netlink.ConntrackMessage; +import com.android.net.module.util.netlink.NetlinkConstants; +import com.android.net.module.util.netlink.NetlinkSocket; import com.android.networkstack.tethering.apishim.common.BpfCoordinatorShim; import java.net.Inet4Address; diff --git a/Tethering/src/com/android/networkstack/tethering/OffloadController.java b/Tethering/src/com/android/networkstack/tethering/OffloadController.java index beb18219b7..d60c21d823 100644 --- a/Tethering/src/com/android/networkstack/tethering/OffloadController.java +++ b/Tethering/src/com/android/networkstack/tethering/OffloadController.java @@ -42,9 +42,6 @@ import android.net.LinkProperties; import android.net.NetworkStats; import android.net.NetworkStats.Entry; import android.net.RouteInfo; -import android.net.netlink.ConntrackMessage; -import android.net.netlink.NetlinkConstants; -import android.net.netlink.NetlinkSocket; import android.net.netstats.provider.NetworkStatsProvider; import android.net.util.SharedLog; import android.os.Handler; @@ -56,6 +53,9 @@ import android.util.Log; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.IndentingPrintWriter; +import com.android.net.module.util.netlink.ConntrackMessage; +import com.android.net.module.util.netlink.NetlinkConstants; +import com.android.net.module.util.netlink.NetlinkSocket; import com.android.networkstack.tethering.OffloadHardwareInterface.ForwardedStats; import java.net.Inet4Address; diff --git a/Tethering/src/com/android/networkstack/tethering/OffloadHardwareInterface.java b/Tethering/src/com/android/networkstack/tethering/OffloadHardwareInterface.java index e3ac660910..f336d9bae7 100644 --- a/Tethering/src/com/android/networkstack/tethering/OffloadHardwareInterface.java +++ b/Tethering/src/com/android/networkstack/tethering/OffloadHardwareInterface.java @@ -16,10 +16,11 @@ package com.android.networkstack.tethering; -import static android.net.netlink.StructNlMsgHdr.NLM_F_DUMP; -import static android.net.netlink.StructNlMsgHdr.NLM_F_REQUEST; import static android.net.util.TetheringUtils.uint16; +import static com.android.net.module.util.netlink.StructNlMsgHdr.NLM_F_DUMP; +import static com.android.net.module.util.netlink.StructNlMsgHdr.NLM_F_REQUEST; + import android.annotation.IntDef; import android.annotation.NonNull; import android.hardware.tetheroffload.config.V1_0.IOffloadConfig; @@ -28,9 +29,6 @@ import android.hardware.tetheroffload.control.V1_0.NatTimeoutUpdate; import android.hardware.tetheroffload.control.V1_0.NetworkProtocol; import android.hardware.tetheroffload.control.V1_0.OffloadCallbackEvent; import android.hardware.tetheroffload.control.V1_1.ITetheringOffloadCallback; -import android.net.netlink.NetlinkSocket; -import android.net.netlink.StructNfGenMsg; -import android.net.netlink.StructNlMsgHdr; import android.net.util.SharedLog; import android.net.util.SocketUtils; import android.os.Handler; @@ -43,6 +41,9 @@ import android.util.Log; import android.util.Pair; import com.android.internal.annotations.VisibleForTesting; +import com.android.net.module.util.netlink.NetlinkSocket; +import com.android.net.module.util.netlink.StructNfGenMsg; +import com.android.net.module.util.netlink.StructNlMsgHdr; import java.io.FileDescriptor; import java.io.IOException; diff --git a/Tethering/tests/privileged/src/com/android/networkstack/tethering/ConntrackSocketTest.java b/Tethering/tests/privileged/src/com/android/networkstack/tethering/ConntrackSocketTest.java index 57c28fc67c..7ee69b27e1 100644 --- a/Tethering/tests/privileged/src/com/android/networkstack/tethering/ConntrackSocketTest.java +++ b/Tethering/tests/privileged/src/com/android/networkstack/tethering/ConntrackSocketTest.java @@ -16,10 +16,9 @@ package com.android.networkstack.tethering; -import static android.net.netlink.NetlinkSocket.DEFAULT_RECV_BUFSIZE; -import static android.net.netlink.StructNlMsgHdr.NLM_F_DUMP; -import static android.net.netlink.StructNlMsgHdr.NLM_F_REQUEST; - +import static com.android.net.module.util.netlink.NetlinkSocket.DEFAULT_RECV_BUFSIZE; +import static com.android.net.module.util.netlink.StructNlMsgHdr.NLM_F_DUMP; +import static com.android.net.module.util.netlink.StructNlMsgHdr.NLM_F_REQUEST; import static com.android.networkstack.tethering.OffloadHardwareInterface.IPCTNL_MSG_CT_GET; import static com.android.networkstack.tethering.OffloadHardwareInterface.IPCTNL_MSG_CT_NEW; import static com.android.networkstack.tethering.OffloadHardwareInterface.NFNL_SUBSYS_CTNETLINK; @@ -29,7 +28,6 @@ import static com.android.networkstack.tethering.OffloadHardwareInterface.NF_NET import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; -import android.net.netlink.StructNlMsgHdr; import android.net.util.SharedLog; import android.os.Handler; import android.os.HandlerThread; @@ -40,6 +38,8 @@ import android.system.Os; import androidx.test.filters.SmallTest; import androidx.test.runner.AndroidJUnit4; +import com.android.net.module.util.netlink.StructNlMsgHdr; + import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/Tethering/tests/unit/src/android/net/ip/IpServerTest.java b/Tethering/tests/unit/src/android/net/ip/IpServerTest.java index 6bf6a9f4ba..ef4330a754 100644 --- a/Tethering/tests/unit/src/android/net/ip/IpServerTest.java +++ b/Tethering/tests/unit/src/android/net/ip/IpServerTest.java @@ -31,14 +31,14 @@ import static android.net.ip.IpServer.STATE_AVAILABLE; import static android.net.ip.IpServer.STATE_LOCAL_ONLY; import static android.net.ip.IpServer.STATE_TETHERED; import static android.net.ip.IpServer.STATE_UNAVAILABLE; -import static android.net.netlink.NetlinkConstants.RTM_DELNEIGH; -import static android.net.netlink.NetlinkConstants.RTM_NEWNEIGH; -import static android.net.netlink.StructNdMsg.NUD_FAILED; -import static android.net.netlink.StructNdMsg.NUD_REACHABLE; -import static android.net.netlink.StructNdMsg.NUD_STALE; import static android.system.OsConstants.ETH_P_IPV6; import static com.android.net.module.util.Inet4AddressUtils.intToInet4AddressHTH; +import static com.android.net.module.util.netlink.NetlinkConstants.RTM_DELNEIGH; +import static com.android.net.module.util.netlink.NetlinkConstants.RTM_NEWNEIGH; +import static com.android.net.module.util.netlink.StructNdMsg.NUD_FAILED; +import static com.android.net.module.util.netlink.StructNdMsg.NUD_REACHABLE; +import static com.android.net.module.util.netlink.StructNdMsg.NUD_STALE; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; 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 7e9e34fc6c..6e9608581d 100644 --- a/Tethering/tests/unit/src/com/android/networkstack/tethering/BpfCoordinatorTest.java +++ b/Tethering/tests/unit/src/com/android/networkstack/tethering/BpfCoordinatorTest.java @@ -24,13 +24,6 @@ import static android.net.NetworkStats.TAG_NONE; import static android.net.NetworkStats.UID_ALL; import static android.net.NetworkStats.UID_TETHERING; import static android.net.ip.ConntrackMonitor.ConntrackEvent; -import static android.net.netlink.ConntrackMessage.DYING_MASK; -import static android.net.netlink.ConntrackMessage.ESTABLISHED_MASK; -import static android.net.netlink.ConntrackMessage.Tuple; -import static android.net.netlink.ConntrackMessage.TupleIpv4; -import static android.net.netlink.ConntrackMessage.TupleProto; -import static android.net.netlink.NetlinkConstants.IPCTNL_MSG_CT_DELETE; -import static android.net.netlink.NetlinkConstants.IPCTNL_MSG_CT_NEW; import static android.net.netstats.provider.NetworkStatsProvider.QUOTA_UNLIMITED; import static android.system.OsConstants.ETH_P_IP; import static android.system.OsConstants.ETH_P_IPV6; @@ -40,6 +33,13 @@ import static android.system.OsConstants.NETLINK_NETFILTER; import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn; import static com.android.dx.mockito.inline.extended.ExtendedMockito.staticMockMarker; +import static com.android.net.module.util.netlink.ConntrackMessage.DYING_MASK; +import static com.android.net.module.util.netlink.ConntrackMessage.ESTABLISHED_MASK; +import static com.android.net.module.util.netlink.ConntrackMessage.Tuple; +import static com.android.net.module.util.netlink.ConntrackMessage.TupleIpv4; +import static com.android.net.module.util.netlink.ConntrackMessage.TupleProto; +import static com.android.net.module.util.netlink.NetlinkConstants.IPCTNL_MSG_CT_DELETE; +import static com.android.net.module.util.netlink.NetlinkConstants.IPCTNL_MSG_CT_NEW; import static com.android.networkstack.tethering.BpfCoordinator.CONNTRACK_TIMEOUT_UPDATE_INTERVAL_MS; import static com.android.networkstack.tethering.BpfCoordinator.NF_CONNTRACK_TCP_TIMEOUT_ESTABLISHED; import static com.android.networkstack.tethering.BpfCoordinator.NF_CONNTRACK_UDP_TIMEOUT_STREAM; @@ -82,9 +82,6 @@ import android.net.TetherStatsParcel; import android.net.ip.ConntrackMonitor; import android.net.ip.ConntrackMonitor.ConntrackEventConsumer; import android.net.ip.IpServer; -import android.net.netlink.ConntrackMessage; -import android.net.netlink.NetlinkConstants; -import android.net.netlink.NetlinkSocket; import android.net.util.InterfaceParams; import android.net.util.SharedLog; import android.os.Build; @@ -100,6 +97,9 @@ import androidx.test.runner.AndroidJUnit4; import com.android.dx.mockito.inline.extended.ExtendedMockito; import com.android.net.module.util.NetworkStackConstants; import com.android.net.module.util.Struct; +import com.android.net.module.util.netlink.ConntrackMessage; +import com.android.net.module.util.netlink.NetlinkConstants; +import com.android.net.module.util.netlink.NetlinkSocket; import com.android.networkstack.tethering.BpfCoordinator.BpfConntrackEventConsumer; import com.android.networkstack.tethering.BpfCoordinator.ClientInfo; import com.android.networkstack.tethering.BpfCoordinator.Ipv6ForwardingRule; diff --git a/Tethering/tests/unit/src/com/android/networkstack/tethering/OffloadHardwareInterfaceTest.java b/Tethering/tests/unit/src/com/android/networkstack/tethering/OffloadHardwareInterfaceTest.java index a8b3b92de9..24716b25c9 100644 --- a/Tethering/tests/unit/src/com/android/networkstack/tethering/OffloadHardwareInterfaceTest.java +++ b/Tethering/tests/unit/src/com/android/networkstack/tethering/OffloadHardwareInterfaceTest.java @@ -43,8 +43,6 @@ import android.hardware.tetheroffload.control.V1_0.NatTimeoutUpdate; import android.hardware.tetheroffload.control.V1_0.NetworkProtocol; import android.hardware.tetheroffload.control.V1_1.ITetheringOffloadCallback; import android.hardware.tetheroffload.control.V1_1.OffloadCallbackEvent; -import android.net.netlink.StructNfGenMsg; -import android.net.netlink.StructNlMsgHdr; import android.net.util.SharedLog; import android.os.Handler; import android.os.NativeHandle; @@ -57,6 +55,9 @@ import android.util.Pair; import androidx.test.filters.SmallTest; import androidx.test.runner.AndroidJUnit4; +import com.android.net.module.util.netlink.StructNfGenMsg; +import com.android.net.module.util.netlink.StructNlMsgHdr; + import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/service/Android.bp b/service/Android.bp index abaeeb3e49..e58a998b19 100644 --- a/service/Android.bp +++ b/service/Android.bp @@ -69,9 +69,9 @@ java_library { "modules-utils-build", "modules-utils-os", "net-utils-device-common", + "net-utils-device-common-netlink", "net-utils-framework-common", "netd-client", - "netlink-client", "networkstack-client", "PlatformProperties", "service-connectivity-protos", diff --git a/service/src/com/android/server/ConnectivityService.java b/service/src/com/android/server/ConnectivityService.java index b12679151f..cd6a71a47f 100644 --- a/service/src/com/android/server/ConnectivityService.java +++ b/service/src/com/android/server/ConnectivityService.java @@ -180,7 +180,6 @@ import android.net.VpnTransportInfo; import android.net.metrics.IpConnectivityLog; import android.net.metrics.NetworkEvent; import android.net.netd.aidl.NativeUidRangeConfig; -import android.net.netlink.InetDiagMessage; import android.net.networkstack.ModuleNetworkStackClient; import android.net.networkstack.NetworkStackClientBase; import android.net.resolv.aidl.DnsHealthEventParcel; @@ -236,6 +235,7 @@ import com.android.net.module.util.LinkPropertiesUtils.CompareResult; import com.android.net.module.util.LocationPermissionChecker; import com.android.net.module.util.NetworkCapabilitiesUtils; import com.android.net.module.util.PermissionUtils; +import com.android.net.module.util.netlink.InetDiagMessage; import com.android.server.connectivity.AutodestructReference; import com.android.server.connectivity.DnsManager; import com.android.server.connectivity.DnsManager.PrivateDnsValidationUpdate;