Snap for 7798373 from 3ae27de4113e079d6a63e5fc42e3c142cb1d7346 to mainline-wifi-release

Change-Id: Ib2abdba11cef444af44993c5f24cff177f1d75f2
diff --git a/server/Android.bp b/server/Android.bp
index 784120b..18042ae 100644
--- a/server/Android.bp
+++ b/server/Android.bp
@@ -7,148 +7,6 @@
     default_applicable_licenses: ["system_netd_license"],
 }
 
-java_library {
-    name: "netd_aidl_interface-lateststable-java",
-    sdk_version: "system_current",
-    min_sdk_version: "29",
-    static_libs: [
-        "netd_aidl_interface-V7-java",
-    ],
-    apex_available: [
-        "//apex_available:platform", // used from services.net
-        "com.android.bluetooth.updatable",
-        "com.android.tethering",
-        "com.android.wifi",
-    ],
-}
-
-cc_library_static {
-    name: "netd_event_listener_interface-lateststable-ndk",
-    whole_static_libs: [
-        "netd_event_listener_interface-V1-ndk",
-    ],
-    apex_available: [
-        "com.android.resolv",
-    ],
-    min_sdk_version: "29",
-}
-
-cc_library_static {
-    name: "netd_aidl_interface-lateststable-ndk",
-    whole_static_libs: [
-        "netd_aidl_interface-V7-ndk",
-    ],
-    apex_available: [
-        "com.android.resolv",
-    ],
-    min_sdk_version: "29",
-}
-
-cc_library_static {
-    name: "netd_aidl_interface-lateststable-cpp",
-    whole_static_libs: [
-        "netd_aidl_interface-V7-cpp",
-    ],
-}
-
-aidl_interface {
-    name: "netd_aidl_interface",
-    local_include_dir: "binder",
-    srcs: [
-        "binder/android/net/INetd.aidl",
-        // AIDL interface that callers can implement to receive networking events from netd.
-        "binder/android/net/INetdUnsolicitedEventListener.aidl",
-        "binder/android/net/InterfaceConfigurationParcel.aidl",
-        "binder/android/net/MarkMaskParcel.aidl",
-        "binder/android/net/NativeNetworkConfig.aidl",
-        "binder/android/net/NativeNetworkType.aidl",
-        "binder/android/net/NativeVpnType.aidl",
-        "binder/android/net/RouteInfoParcel.aidl",
-        "binder/android/net/TetherConfigParcel.aidl",
-        "binder/android/net/TetherOffloadRuleParcel.aidl",
-        "binder/android/net/TetherStatsParcel.aidl",
-        "binder/android/net/UidRangeParcel.aidl",
-        // Add new AIDL classes in android.net.netd.aidl to consist with other network modules.
-        "binder/android/net/netd/aidl/**/*.aidl",
-    ],
-    backend: {
-        cpp: {
-            gen_log: true,
-        },
-        java: {
-            // TODO: Remove apex_available and restrict visibility to only mainline modules that are
-            // either outside the system server or use jarjar to rename the generated AIDL classes.
-            apex_available: [
-                "//apex_available:platform", // used from services.net
-                "com.android.bluetooth.updatable",
-                "com.android.tethering",
-                "com.android.wifi",
-            ],
-            // this is part of updatable modules(NetworkStack) which targets 29(Q)
-            min_sdk_version: "29",
-        },
-        ndk: {
-            apex_available: [
-                "//apex_available:platform",
-            ],
-            // This is necessary for the DnsResovler tests to run in Android Q.
-            // Soong would recognize this value and produce the Q compatible aidl library.
-            min_sdk_version: "29",
-        },
-    },
-    versions: [
-        "1",
-        "2",
-        "3",
-        "4",
-        "5",
-        "6",
-        "7",
-    ],
-}
-
-java_library {
-    name: "netd_event_listener_interface-lateststable-java",
-    sdk_version: "system_current",
-    min_sdk_version: "29",
-    static_libs: [
-        "netd_event_listener_interface-V1-java",
-    ],
-    apex_available: [
-        "//apex_available:platform",
-        "com.android.bluetooth.updatable",
-        "com.android.wifi",
-        "com.android.tethering",
-    ],
-}
-
-aidl_interface {
-    name: "netd_event_listener_interface",
-    local_include_dir: "binder",
-    srcs: [
-        "binder/android/net/metrics/INetdEventListener.aidl",
-    ],
-    versions: ["1"],
-    backend: {
-        ndk: {
-            apex_available: [
-                "//apex_available:platform",
-                "com.android.resolv",
-            ],
-            min_sdk_version: "29",
-        },
-        java: {
-            apex_available: [
-                "//apex_available:platform",
-                "com.android.bluetooth.updatable",
-                "com.android.wifi",
-                "com.android.tethering",
-            ],
-            min_sdk_version: "29",
-        },
-    },
-}
-
 aidl_interface {
     // This interface is for OEM calls to netd and vice versa that do not exist in AOSP.
     // Those calls cannot be part of INetd.aidl and INetdUnsolicitedEventListener.aidl
diff --git a/server/aidl_api/netd_aidl_interface/1/.hash b/server/aidl_api/netd_aidl_interface/1/.hash
deleted file mode 100644
index d33e903..0000000
--- a/server/aidl_api/netd_aidl_interface/1/.hash
+++ /dev/null
@@ -1 +0,0 @@
-69c2ac134efbb31e9591d7e5c3640fb839e23bdb
diff --git a/server/aidl_api/netd_aidl_interface/1/android/net/INetd.aidl b/server/aidl_api/netd_aidl_interface/1/android/net/INetd.aidl
deleted file mode 100644
index 664c643..0000000
--- a/server/aidl_api/netd_aidl_interface/1/android/net/INetd.aidl
+++ /dev/null
@@ -1,132 +0,0 @@
-package android.net;
-interface INetd {
-  boolean isAlive();
-  boolean firewallReplaceUidChain(in @utf8InCpp String chainName, boolean isWhitelist, in int[] uids);
-  boolean bandwidthEnableDataSaver(boolean enable);
-  void networkCreatePhysical(int netId, int permission);
-  void networkCreateVpn(int netId, boolean secure);
-  void networkDestroy(int netId);
-  void networkAddInterface(int netId, in @utf8InCpp String iface);
-  void networkRemoveInterface(int netId, in @utf8InCpp String iface);
-  void networkAddUidRanges(int netId, in android.net.UidRangeParcel[] uidRanges);
-  void networkRemoveUidRanges(int netId, in android.net.UidRangeParcel[] uidRanges);
-  void networkRejectNonSecureVpn(boolean add, in android.net.UidRangeParcel[] uidRanges);
-  void socketDestroy(in android.net.UidRangeParcel[] uidRanges, in int[] exemptUids);
-  boolean tetherApplyDnsInterfaces();
-  android.net.TetherStatsParcel[] tetherGetStats();
-  void interfaceAddAddress(in @utf8InCpp String ifName, in @utf8InCpp String addrString, int prefixLength);
-  void interfaceDelAddress(in @utf8InCpp String ifName, in @utf8InCpp String addrString, int prefixLength);
-  @utf8InCpp String getProcSysNet(int ipversion, int which, in @utf8InCpp String ifname, in @utf8InCpp String parameter);
-  void setProcSysNet(int ipversion, int which, in @utf8InCpp String ifname, in @utf8InCpp String parameter, in @utf8InCpp String value);
-  void ipSecSetEncapSocketOwner(in ParcelFileDescriptor socket, int newUid);
-  int ipSecAllocateSpi(int transformId, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi);
-  void ipSecAddSecurityAssociation(int transformId, int mode, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int underlyingNetId, int spi, int markValue, int markMask, in @utf8InCpp String authAlgo, in byte[] authKey, in int authTruncBits, in @utf8InCpp String cryptAlgo, in byte[] cryptKey, in int cryptTruncBits, in @utf8InCpp String aeadAlgo, in byte[] aeadKey, in int aeadIcvBits, int encapType, int encapLocalPort, int encapRemotePort, int interfaceId);
-  void ipSecDeleteSecurityAssociation(int transformId, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi, int markValue, int markMask, int interfaceId);
-  void ipSecApplyTransportModeTransform(in ParcelFileDescriptor socket, int transformId, int direction, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi);
-  void ipSecRemoveTransportModeTransform(in ParcelFileDescriptor socket);
-  void ipSecAddSecurityPolicy(int transformId, int selAddrFamily, int direction, in @utf8InCpp String tmplSrcAddress, in @utf8InCpp String tmplDstAddress, int spi, int markValue, int markMask, int interfaceId);
-  void ipSecUpdateSecurityPolicy(int transformId, int selAddrFamily, int direction, in @utf8InCpp String tmplSrcAddress, in @utf8InCpp String tmplDstAddress, int spi, int markValue, int markMask, int interfaceId);
-  void ipSecDeleteSecurityPolicy(int transformId, int selAddrFamily, int direction, int markValue, int markMask, int interfaceId);
-  void ipSecAddTunnelInterface(in @utf8InCpp String deviceName, in @utf8InCpp String localAddress, in @utf8InCpp String remoteAddress, int iKey, int oKey, int interfaceId);
-  void ipSecUpdateTunnelInterface(in @utf8InCpp String deviceName, in @utf8InCpp String localAddress, in @utf8InCpp String remoteAddress, int iKey, int oKey, int interfaceId);
-  void ipSecRemoveTunnelInterface(in @utf8InCpp String deviceName);
-  void wakeupAddInterface(in @utf8InCpp String ifName, in @utf8InCpp String prefix, int mark, int mask);
-  void wakeupDelInterface(in @utf8InCpp String ifName, in @utf8InCpp String prefix, int mark, int mask);
-  void setIPv6AddrGenMode(in @utf8InCpp String ifName, int mode);
-  void idletimerAddInterface(in @utf8InCpp String ifName, int timeout, in @utf8InCpp String classLabel);
-  void idletimerRemoveInterface(in @utf8InCpp String ifName, int timeout, in @utf8InCpp String classLabel);
-  void strictUidCleartextPenalty(int uid, int policyPenalty);
-  @utf8InCpp String clatdStart(in @utf8InCpp String ifName, in @utf8InCpp String nat64Prefix);
-  void clatdStop(in @utf8InCpp String ifName);
-  boolean ipfwdEnabled();
-  @utf8InCpp String[] ipfwdGetRequesterList();
-  void ipfwdEnableForwarding(in @utf8InCpp String requester);
-  void ipfwdDisableForwarding(in @utf8InCpp String requester);
-  void ipfwdAddInterfaceForward(in @utf8InCpp String fromIface, in @utf8InCpp String toIface);
-  void ipfwdRemoveInterfaceForward(in @utf8InCpp String fromIface, in @utf8InCpp String toIface);
-  void bandwidthSetInterfaceQuota(in @utf8InCpp String ifName, long bytes);
-  void bandwidthRemoveInterfaceQuota(in @utf8InCpp String ifName);
-  void bandwidthSetInterfaceAlert(in @utf8InCpp String ifName, long bytes);
-  void bandwidthRemoveInterfaceAlert(in @utf8InCpp String ifName);
-  void bandwidthSetGlobalAlert(long bytes);
-  void bandwidthAddNaughtyApp(int uid);
-  void bandwidthRemoveNaughtyApp(int uid);
-  void bandwidthAddNiceApp(int uid);
-  void bandwidthRemoveNiceApp(int uid);
-  void tetherStart(in @utf8InCpp String[] dhcpRanges);
-  void tetherStop();
-  boolean tetherIsEnabled();
-  void tetherInterfaceAdd(in @utf8InCpp String ifName);
-  void tetherInterfaceRemove(in @utf8InCpp String ifName);
-  @utf8InCpp String[] tetherInterfaceList();
-  void tetherDnsSet(int netId, in @utf8InCpp String[] dnsAddrs);
-  @utf8InCpp String[] tetherDnsList();
-  void networkAddRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop);
-  void networkRemoveRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop);
-  void networkAddLegacyRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop, int uid);
-  void networkRemoveLegacyRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop, int uid);
-  int networkGetDefault();
-  void networkSetDefault(int netId);
-  void networkClearDefault();
-  void networkSetPermissionForNetwork(int netId, int permission);
-  void networkSetPermissionForUser(int permission, in int[] uids);
-  void networkClearPermissionForUser(in int[] uids);
-  void trafficSetNetPermForUids(int permission, in int[] uids);
-  void networkSetProtectAllow(int uid);
-  void networkSetProtectDeny(int uid);
-  boolean networkCanProtect(int uid);
-  void firewallSetFirewallType(int firewalltype);
-  void firewallSetInterfaceRule(in @utf8InCpp String ifName, int firewallRule);
-  void firewallSetUidRule(int childChain, int uid, int firewallRule);
-  void firewallEnableChildChain(int childChain, boolean enable);
-  @utf8InCpp String[] interfaceGetList();
-  android.net.InterfaceConfigurationParcel interfaceGetCfg(in @utf8InCpp String ifName);
-  void interfaceSetCfg(in android.net.InterfaceConfigurationParcel cfg);
-  void interfaceSetIPv6PrivacyExtensions(in @utf8InCpp String ifName, boolean enable);
-  void interfaceClearAddrs(in @utf8InCpp String ifName);
-  void interfaceSetEnableIPv6(in @utf8InCpp String ifName, boolean enable);
-  void interfaceSetMtu(in @utf8InCpp String ifName, int mtu);
-  void tetherAddForward(in @utf8InCpp String intIface, in @utf8InCpp String extIface);
-  void tetherRemoveForward(in @utf8InCpp String intIface, in @utf8InCpp String extIface);
-  void setTcpRWmemorySize(in @utf8InCpp String rmemValues, in @utf8InCpp String wmemValues);
-  void registerUnsolicitedEventListener(android.net.INetdUnsolicitedEventListener listener);
-  const int IPV4 = 4;
-  const int IPV6 = 6;
-  const int CONF = 1;
-  const int NEIGH = 2;
-  const String IPSEC_INTERFACE_PREFIX = "ipsec";
-  const int IPV6_ADDR_GEN_MODE_EUI64 = 0;
-  const int IPV6_ADDR_GEN_MODE_NONE = 1;
-  const int IPV6_ADDR_GEN_MODE_STABLE_PRIVACY = 2;
-  const int IPV6_ADDR_GEN_MODE_RANDOM = 3;
-  const int IPV6_ADDR_GEN_MODE_DEFAULT = 0;
-  const int PENALTY_POLICY_ACCEPT = 1;
-  const int PENALTY_POLICY_LOG = 2;
-  const int PENALTY_POLICY_REJECT = 3;
-  const int LOCAL_NET_ID = 99;
-  const String NEXTHOP_NONE = "";
-  const String NEXTHOP_UNREACHABLE = "unreachable";
-  const String NEXTHOP_THROW = "throw";
-  const int PERMISSION_NONE = 0;
-  const int PERMISSION_NETWORK = 1;
-  const int PERMISSION_SYSTEM = 2;
-  const int NO_PERMISSIONS = 0;
-  const int PERMISSION_INTERNET = 4;
-  const int PERMISSION_UPDATE_DEVICE_STATS = 8;
-  const int PERMISSION_UNINSTALLED = -1;
-  const int FIREWALL_WHITELIST = 0;
-  const int FIREWALL_BLACKLIST = 1;
-  const int FIREWALL_RULE_ALLOW = 1;
-  const int FIREWALL_RULE_DENY = 2;
-  const int FIREWALL_CHAIN_NONE = 0;
-  const int FIREWALL_CHAIN_DOZABLE = 1;
-  const int FIREWALL_CHAIN_STANDBY = 2;
-  const int FIREWALL_CHAIN_POWERSAVE = 3;
-  const String IF_STATE_UP = "up";
-  const String IF_STATE_DOWN = "down";
-  const String IF_FLAG_BROADCAST = "broadcast";
-  const String IF_FLAG_LOOPBACK = "loopback";
-  const String IF_FLAG_POINTOPOINT = "point-to-point";
-  const String IF_FLAG_RUNNING = "running";
-  const String IF_FLAG_MULTICAST = "multicast";
-}
diff --git a/server/aidl_api/netd_aidl_interface/1/android/net/INetdUnsolicitedEventListener.aidl b/server/aidl_api/netd_aidl_interface/1/android/net/INetdUnsolicitedEventListener.aidl
deleted file mode 100644
index 18631ff..0000000
--- a/server/aidl_api/netd_aidl_interface/1/android/net/INetdUnsolicitedEventListener.aidl
+++ /dev/null
@@ -1,14 +0,0 @@
-package android.net;
-interface INetdUnsolicitedEventListener {
-  oneway void onInterfaceClassActivityChanged(boolean isActive, int timerLabel, long timestampNs, int uid);
-  oneway void onQuotaLimitReached(@utf8InCpp String alertName, @utf8InCpp String ifName);
-  oneway void onInterfaceDnsServerInfo(@utf8InCpp String ifName, long lifetimeS, in @utf8InCpp String[] servers);
-  oneway void onInterfaceAddressUpdated(@utf8InCpp String addr, @utf8InCpp String ifName, int flags, int scope);
-  oneway void onInterfaceAddressRemoved(@utf8InCpp String addr, @utf8InCpp String ifName, int flags, int scope);
-  oneway void onInterfaceAdded(@utf8InCpp String ifName);
-  oneway void onInterfaceRemoved(@utf8InCpp String ifName);
-  oneway void onInterfaceChanged(@utf8InCpp String ifName, boolean up);
-  oneway void onInterfaceLinkStateChanged(@utf8InCpp String ifName, boolean up);
-  oneway void onRouteChanged(boolean updated, @utf8InCpp String route, @utf8InCpp String gateway, @utf8InCpp String ifName);
-  oneway void onStrictCleartextDetected(int uid, @utf8InCpp String hex);
-}
diff --git a/server/aidl_api/netd_aidl_interface/1/android/net/InterfaceConfigurationParcel.aidl b/server/aidl_api/netd_aidl_interface/1/android/net/InterfaceConfigurationParcel.aidl
deleted file mode 100644
index 93407dc..0000000
--- a/server/aidl_api/netd_aidl_interface/1/android/net/InterfaceConfigurationParcel.aidl
+++ /dev/null
@@ -1,8 +0,0 @@
-package android.net;
-parcelable InterfaceConfigurationParcel {
-  @utf8InCpp String ifName;
-  @utf8InCpp String hwAddr;
-  @utf8InCpp String ipv4Addr;
-  int prefixLength;
-  @utf8InCpp String[] flags;
-}
diff --git a/server/aidl_api/netd_aidl_interface/1/android/net/TetherStatsParcel.aidl b/server/aidl_api/netd_aidl_interface/1/android/net/TetherStatsParcel.aidl
deleted file mode 100644
index d1782bb..0000000
--- a/server/aidl_api/netd_aidl_interface/1/android/net/TetherStatsParcel.aidl
+++ /dev/null
@@ -1,8 +0,0 @@
-package android.net;
-parcelable TetherStatsParcel {
-  @utf8InCpp String iface;
-  long rxBytes;
-  long rxPackets;
-  long txBytes;
-  long txPackets;
-}
diff --git a/server/aidl_api/netd_aidl_interface/1/android/net/UidRangeParcel.aidl b/server/aidl_api/netd_aidl_interface/1/android/net/UidRangeParcel.aidl
deleted file mode 100644
index d3bc7ed..0000000
--- a/server/aidl_api/netd_aidl_interface/1/android/net/UidRangeParcel.aidl
+++ /dev/null
@@ -1,5 +0,0 @@
-package android.net;
-parcelable UidRangeParcel {
-  int start;
-  int stop;
-}
diff --git a/server/aidl_api/netd_aidl_interface/2/.hash b/server/aidl_api/netd_aidl_interface/2/.hash
deleted file mode 100644
index 5fc5b2d..0000000
--- a/server/aidl_api/netd_aidl_interface/2/.hash
+++ /dev/null
@@ -1 +0,0 @@
-e395d63302c47e7d2dac0d503045779029ff598b
diff --git a/server/aidl_api/netd_aidl_interface/2/android/net/INetd.aidl b/server/aidl_api/netd_aidl_interface/2/android/net/INetd.aidl
deleted file mode 100644
index 0e2d5f4..0000000
--- a/server/aidl_api/netd_aidl_interface/2/android/net/INetd.aidl
+++ /dev/null
@@ -1,153 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a frozen snapshot of an AIDL interface (or parcelable). Do not
-// try to edit this file. It looks like you are doing that because you have
-// modified an AIDL interface in a backward-incompatible way, e.g., deleting a
-// function from an interface or a field from a parcelable and it broke the
-// build. That breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-interface INetd {
-  boolean isAlive();
-  boolean firewallReplaceUidChain(in @utf8InCpp String chainName, boolean isWhitelist, in int[] uids);
-  boolean bandwidthEnableDataSaver(boolean enable);
-  void networkCreatePhysical(int netId, int permission);
-  void networkCreateVpn(int netId, boolean secure);
-  void networkDestroy(int netId);
-  void networkAddInterface(int netId, in @utf8InCpp String iface);
-  void networkRemoveInterface(int netId, in @utf8InCpp String iface);
-  void networkAddUidRanges(int netId, in android.net.UidRangeParcel[] uidRanges);
-  void networkRemoveUidRanges(int netId, in android.net.UidRangeParcel[] uidRanges);
-  void networkRejectNonSecureVpn(boolean add, in android.net.UidRangeParcel[] uidRanges);
-  void socketDestroy(in android.net.UidRangeParcel[] uidRanges, in int[] exemptUids);
-  boolean tetherApplyDnsInterfaces();
-  android.net.TetherStatsParcel[] tetherGetStats();
-  void interfaceAddAddress(in @utf8InCpp String ifName, in @utf8InCpp String addrString, int prefixLength);
-  void interfaceDelAddress(in @utf8InCpp String ifName, in @utf8InCpp String addrString, int prefixLength);
-  @utf8InCpp String getProcSysNet(int ipversion, int which, in @utf8InCpp String ifname, in @utf8InCpp String parameter);
-  void setProcSysNet(int ipversion, int which, in @utf8InCpp String ifname, in @utf8InCpp String parameter, in @utf8InCpp String value);
-  void ipSecSetEncapSocketOwner(in ParcelFileDescriptor socket, int newUid);
-  int ipSecAllocateSpi(int transformId, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi);
-  void ipSecAddSecurityAssociation(int transformId, int mode, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int underlyingNetId, int spi, int markValue, int markMask, in @utf8InCpp String authAlgo, in byte[] authKey, in int authTruncBits, in @utf8InCpp String cryptAlgo, in byte[] cryptKey, in int cryptTruncBits, in @utf8InCpp String aeadAlgo, in byte[] aeadKey, in int aeadIcvBits, int encapType, int encapLocalPort, int encapRemotePort, int interfaceId);
-  void ipSecDeleteSecurityAssociation(int transformId, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi, int markValue, int markMask, int interfaceId);
-  void ipSecApplyTransportModeTransform(in ParcelFileDescriptor socket, int transformId, int direction, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi);
-  void ipSecRemoveTransportModeTransform(in ParcelFileDescriptor socket);
-  void ipSecAddSecurityPolicy(int transformId, int selAddrFamily, int direction, in @utf8InCpp String tmplSrcAddress, in @utf8InCpp String tmplDstAddress, int spi, int markValue, int markMask, int interfaceId);
-  void ipSecUpdateSecurityPolicy(int transformId, int selAddrFamily, int direction, in @utf8InCpp String tmplSrcAddress, in @utf8InCpp String tmplDstAddress, int spi, int markValue, int markMask, int interfaceId);
-  void ipSecDeleteSecurityPolicy(int transformId, int selAddrFamily, int direction, int markValue, int markMask, int interfaceId);
-  void ipSecAddTunnelInterface(in @utf8InCpp String deviceName, in @utf8InCpp String localAddress, in @utf8InCpp String remoteAddress, int iKey, int oKey, int interfaceId);
-  void ipSecUpdateTunnelInterface(in @utf8InCpp String deviceName, in @utf8InCpp String localAddress, in @utf8InCpp String remoteAddress, int iKey, int oKey, int interfaceId);
-  void ipSecRemoveTunnelInterface(in @utf8InCpp String deviceName);
-  void wakeupAddInterface(in @utf8InCpp String ifName, in @utf8InCpp String prefix, int mark, int mask);
-  void wakeupDelInterface(in @utf8InCpp String ifName, in @utf8InCpp String prefix, int mark, int mask);
-  void setIPv6AddrGenMode(in @utf8InCpp String ifName, int mode);
-  void idletimerAddInterface(in @utf8InCpp String ifName, int timeout, in @utf8InCpp String classLabel);
-  void idletimerRemoveInterface(in @utf8InCpp String ifName, int timeout, in @utf8InCpp String classLabel);
-  void strictUidCleartextPenalty(int uid, int policyPenalty);
-  @utf8InCpp String clatdStart(in @utf8InCpp String ifName, in @utf8InCpp String nat64Prefix);
-  void clatdStop(in @utf8InCpp String ifName);
-  boolean ipfwdEnabled();
-  @utf8InCpp String[] ipfwdGetRequesterList();
-  void ipfwdEnableForwarding(in @utf8InCpp String requester);
-  void ipfwdDisableForwarding(in @utf8InCpp String requester);
-  void ipfwdAddInterfaceForward(in @utf8InCpp String fromIface, in @utf8InCpp String toIface);
-  void ipfwdRemoveInterfaceForward(in @utf8InCpp String fromIface, in @utf8InCpp String toIface);
-  void bandwidthSetInterfaceQuota(in @utf8InCpp String ifName, long bytes);
-  void bandwidthRemoveInterfaceQuota(in @utf8InCpp String ifName);
-  void bandwidthSetInterfaceAlert(in @utf8InCpp String ifName, long bytes);
-  void bandwidthRemoveInterfaceAlert(in @utf8InCpp String ifName);
-  void bandwidthSetGlobalAlert(long bytes);
-  void bandwidthAddNaughtyApp(int uid);
-  void bandwidthRemoveNaughtyApp(int uid);
-  void bandwidthAddNiceApp(int uid);
-  void bandwidthRemoveNiceApp(int uid);
-  void tetherStart(in @utf8InCpp String[] dhcpRanges);
-  void tetherStop();
-  boolean tetherIsEnabled();
-  void tetherInterfaceAdd(in @utf8InCpp String ifName);
-  void tetherInterfaceRemove(in @utf8InCpp String ifName);
-  @utf8InCpp String[] tetherInterfaceList();
-  void tetherDnsSet(int netId, in @utf8InCpp String[] dnsAddrs);
-  @utf8InCpp String[] tetherDnsList();
-  void networkAddRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop);
-  void networkRemoveRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop);
-  void networkAddLegacyRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop, int uid);
-  void networkRemoveLegacyRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop, int uid);
-  int networkGetDefault();
-  void networkSetDefault(int netId);
-  void networkClearDefault();
-  void networkSetPermissionForNetwork(int netId, int permission);
-  void networkSetPermissionForUser(int permission, in int[] uids);
-  void networkClearPermissionForUser(in int[] uids);
-  void trafficSetNetPermForUids(int permission, in int[] uids);
-  void networkSetProtectAllow(int uid);
-  void networkSetProtectDeny(int uid);
-  boolean networkCanProtect(int uid);
-  void firewallSetFirewallType(int firewalltype);
-  void firewallSetInterfaceRule(in @utf8InCpp String ifName, int firewallRule);
-  void firewallSetUidRule(int childChain, int uid, int firewallRule);
-  void firewallEnableChildChain(int childChain, boolean enable);
-  @utf8InCpp String[] interfaceGetList();
-  android.net.InterfaceConfigurationParcel interfaceGetCfg(in @utf8InCpp String ifName);
-  void interfaceSetCfg(in android.net.InterfaceConfigurationParcel cfg);
-  void interfaceSetIPv6PrivacyExtensions(in @utf8InCpp String ifName, boolean enable);
-  void interfaceClearAddrs(in @utf8InCpp String ifName);
-  void interfaceSetEnableIPv6(in @utf8InCpp String ifName, boolean enable);
-  void interfaceSetMtu(in @utf8InCpp String ifName, int mtu);
-  void tetherAddForward(in @utf8InCpp String intIface, in @utf8InCpp String extIface);
-  void tetherRemoveForward(in @utf8InCpp String intIface, in @utf8InCpp String extIface);
-  void setTcpRWmemorySize(in @utf8InCpp String rmemValues, in @utf8InCpp String wmemValues);
-  void registerUnsolicitedEventListener(android.net.INetdUnsolicitedEventListener listener);
-  void firewallAddUidInterfaceRules(in @utf8InCpp String ifName, in int[] uids);
-  void firewallRemoveUidInterfaceRules(in int[] uids);
-  void trafficSwapActiveStatsMap();
-  IBinder getOemNetd();
-  const int IPV4 = 4;
-  const int IPV6 = 6;
-  const int CONF = 1;
-  const int NEIGH = 2;
-  const String IPSEC_INTERFACE_PREFIX = "ipsec";
-  const int IPV6_ADDR_GEN_MODE_EUI64 = 0;
-  const int IPV6_ADDR_GEN_MODE_NONE = 1;
-  const int IPV6_ADDR_GEN_MODE_STABLE_PRIVACY = 2;
-  const int IPV6_ADDR_GEN_MODE_RANDOM = 3;
-  const int IPV6_ADDR_GEN_MODE_DEFAULT = 0;
-  const int PENALTY_POLICY_ACCEPT = 1;
-  const int PENALTY_POLICY_LOG = 2;
-  const int PENALTY_POLICY_REJECT = 3;
-  const int LOCAL_NET_ID = 99;
-  const String NEXTHOP_NONE = "";
-  const String NEXTHOP_UNREACHABLE = "unreachable";
-  const String NEXTHOP_THROW = "throw";
-  const int PERMISSION_NONE = 0;
-  const int PERMISSION_NETWORK = 1;
-  const int PERMISSION_SYSTEM = 2;
-  const int NO_PERMISSIONS = 0;
-  const int PERMISSION_INTERNET = 4;
-  const int PERMISSION_UPDATE_DEVICE_STATS = 8;
-  const int PERMISSION_UNINSTALLED = -1;
-  const int FIREWALL_WHITELIST = 0;
-  const int FIREWALL_BLACKLIST = 1;
-  const int FIREWALL_RULE_ALLOW = 1;
-  const int FIREWALL_RULE_DENY = 2;
-  const int FIREWALL_CHAIN_NONE = 0;
-  const int FIREWALL_CHAIN_DOZABLE = 1;
-  const int FIREWALL_CHAIN_STANDBY = 2;
-  const int FIREWALL_CHAIN_POWERSAVE = 3;
-  const String IF_STATE_UP = "up";
-  const String IF_STATE_DOWN = "down";
-  const String IF_FLAG_BROADCAST = "broadcast";
-  const String IF_FLAG_LOOPBACK = "loopback";
-  const String IF_FLAG_POINTOPOINT = "point-to-point";
-  const String IF_FLAG_RUNNING = "running";
-  const String IF_FLAG_MULTICAST = "multicast";
-}
diff --git a/server/aidl_api/netd_aidl_interface/2/android/net/INetdUnsolicitedEventListener.aidl b/server/aidl_api/netd_aidl_interface/2/android/net/INetdUnsolicitedEventListener.aidl
deleted file mode 100644
index 621f1cf..0000000
--- a/server/aidl_api/netd_aidl_interface/2/android/net/INetdUnsolicitedEventListener.aidl
+++ /dev/null
@@ -1,31 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a frozen snapshot of an AIDL interface (or parcelable). Do not
-// try to edit this file. It looks like you are doing that because you have
-// modified an AIDL interface in a backward-incompatible way, e.g., deleting a
-// function from an interface or a field from a parcelable and it broke the
-// build. That breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-interface INetdUnsolicitedEventListener {
-  oneway void onInterfaceClassActivityChanged(boolean isActive, int timerLabel, long timestampNs, int uid);
-  oneway void onQuotaLimitReached(@utf8InCpp String alertName, @utf8InCpp String ifName);
-  oneway void onInterfaceDnsServerInfo(@utf8InCpp String ifName, long lifetimeS, in @utf8InCpp String[] servers);
-  oneway void onInterfaceAddressUpdated(@utf8InCpp String addr, @utf8InCpp String ifName, int flags, int scope);
-  oneway void onInterfaceAddressRemoved(@utf8InCpp String addr, @utf8InCpp String ifName, int flags, int scope);
-  oneway void onInterfaceAdded(@utf8InCpp String ifName);
-  oneway void onInterfaceRemoved(@utf8InCpp String ifName);
-  oneway void onInterfaceChanged(@utf8InCpp String ifName, boolean up);
-  oneway void onInterfaceLinkStateChanged(@utf8InCpp String ifName, boolean up);
-  oneway void onRouteChanged(boolean updated, @utf8InCpp String route, @utf8InCpp String gateway, @utf8InCpp String ifName);
-  oneway void onStrictCleartextDetected(int uid, @utf8InCpp String hex);
-}
diff --git a/server/aidl_api/netd_aidl_interface/2/android/net/InterfaceConfigurationParcel.aidl b/server/aidl_api/netd_aidl_interface/2/android/net/InterfaceConfigurationParcel.aidl
deleted file mode 100644
index 18de61f..0000000
--- a/server/aidl_api/netd_aidl_interface/2/android/net/InterfaceConfigurationParcel.aidl
+++ /dev/null
@@ -1,25 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a frozen snapshot of an AIDL interface (or parcelable). Do not
-// try to edit this file. It looks like you are doing that because you have
-// modified an AIDL interface in a backward-incompatible way, e.g., deleting a
-// function from an interface or a field from a parcelable and it broke the
-// build. That breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-parcelable InterfaceConfigurationParcel {
-  @utf8InCpp String ifName;
-  @utf8InCpp String hwAddr;
-  @utf8InCpp String ipv4Addr;
-  int prefixLength;
-  @utf8InCpp String[] flags;
-}
diff --git a/server/aidl_api/netd_aidl_interface/2/android/net/TetherStatsParcel.aidl b/server/aidl_api/netd_aidl_interface/2/android/net/TetherStatsParcel.aidl
deleted file mode 100644
index c0ba676..0000000
--- a/server/aidl_api/netd_aidl_interface/2/android/net/TetherStatsParcel.aidl
+++ /dev/null
@@ -1,25 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a frozen snapshot of an AIDL interface (or parcelable). Do not
-// try to edit this file. It looks like you are doing that because you have
-// modified an AIDL interface in a backward-incompatible way, e.g., deleting a
-// function from an interface or a field from a parcelable and it broke the
-// build. That breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-parcelable TetherStatsParcel {
-  @utf8InCpp String iface;
-  long rxBytes;
-  long rxPackets;
-  long txBytes;
-  long txPackets;
-}
diff --git a/server/aidl_api/netd_aidl_interface/2/android/net/UidRangeParcel.aidl b/server/aidl_api/netd_aidl_interface/2/android/net/UidRangeParcel.aidl
deleted file mode 100644
index c2c35db..0000000
--- a/server/aidl_api/netd_aidl_interface/2/android/net/UidRangeParcel.aidl
+++ /dev/null
@@ -1,22 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a frozen snapshot of an AIDL interface (or parcelable). Do not
-// try to edit this file. It looks like you are doing that because you have
-// modified an AIDL interface in a backward-incompatible way, e.g., deleting a
-// function from an interface or a field from a parcelable and it broke the
-// build. That breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-parcelable UidRangeParcel {
-  int start;
-  int stop;
-}
diff --git a/server/aidl_api/netd_aidl_interface/3/.hash b/server/aidl_api/netd_aidl_interface/3/.hash
deleted file mode 100644
index 59cf708..0000000
--- a/server/aidl_api/netd_aidl_interface/3/.hash
+++ /dev/null
@@ -1 +0,0 @@
-e17c1f9b2068b539b22e3a4a447edea3c80aee4b
diff --git a/server/aidl_api/netd_aidl_interface/3/android/net/INetd.aidl b/server/aidl_api/netd_aidl_interface/3/android/net/INetd.aidl
deleted file mode 100644
index 135b738..0000000
--- a/server/aidl_api/netd_aidl_interface/3/android/net/INetd.aidl
+++ /dev/null
@@ -1,161 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-interface INetd {
-  boolean isAlive();
-  boolean firewallReplaceUidChain(in @utf8InCpp String chainName, boolean isWhitelist, in int[] uids);
-  boolean bandwidthEnableDataSaver(boolean enable);
-  void networkCreatePhysical(int netId, int permission);
-  void networkCreateVpn(int netId, boolean secure);
-  void networkDestroy(int netId);
-  void networkAddInterface(int netId, in @utf8InCpp String iface);
-  void networkRemoveInterface(int netId, in @utf8InCpp String iface);
-  void networkAddUidRanges(int netId, in android.net.UidRangeParcel[] uidRanges);
-  void networkRemoveUidRanges(int netId, in android.net.UidRangeParcel[] uidRanges);
-  void networkRejectNonSecureVpn(boolean add, in android.net.UidRangeParcel[] uidRanges);
-  void socketDestroy(in android.net.UidRangeParcel[] uidRanges, in int[] exemptUids);
-  boolean tetherApplyDnsInterfaces();
-  android.net.TetherStatsParcel[] tetherGetStats();
-  void interfaceAddAddress(in @utf8InCpp String ifName, in @utf8InCpp String addrString, int prefixLength);
-  void interfaceDelAddress(in @utf8InCpp String ifName, in @utf8InCpp String addrString, int prefixLength);
-  @utf8InCpp String getProcSysNet(int ipversion, int which, in @utf8InCpp String ifname, in @utf8InCpp String parameter);
-  void setProcSysNet(int ipversion, int which, in @utf8InCpp String ifname, in @utf8InCpp String parameter, in @utf8InCpp String value);
-  void ipSecSetEncapSocketOwner(in ParcelFileDescriptor socket, int newUid);
-  int ipSecAllocateSpi(int transformId, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi);
-  void ipSecAddSecurityAssociation(int transformId, int mode, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int underlyingNetId, int spi, int markValue, int markMask, in @utf8InCpp String authAlgo, in byte[] authKey, in int authTruncBits, in @utf8InCpp String cryptAlgo, in byte[] cryptKey, in int cryptTruncBits, in @utf8InCpp String aeadAlgo, in byte[] aeadKey, in int aeadIcvBits, int encapType, int encapLocalPort, int encapRemotePort, int interfaceId);
-  void ipSecDeleteSecurityAssociation(int transformId, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi, int markValue, int markMask, int interfaceId);
-  void ipSecApplyTransportModeTransform(in ParcelFileDescriptor socket, int transformId, int direction, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi);
-  void ipSecRemoveTransportModeTransform(in ParcelFileDescriptor socket);
-  void ipSecAddSecurityPolicy(int transformId, int selAddrFamily, int direction, in @utf8InCpp String tmplSrcAddress, in @utf8InCpp String tmplDstAddress, int spi, int markValue, int markMask, int interfaceId);
-  void ipSecUpdateSecurityPolicy(int transformId, int selAddrFamily, int direction, in @utf8InCpp String tmplSrcAddress, in @utf8InCpp String tmplDstAddress, int spi, int markValue, int markMask, int interfaceId);
-  void ipSecDeleteSecurityPolicy(int transformId, int selAddrFamily, int direction, int markValue, int markMask, int interfaceId);
-  void ipSecAddTunnelInterface(in @utf8InCpp String deviceName, in @utf8InCpp String localAddress, in @utf8InCpp String remoteAddress, int iKey, int oKey, int interfaceId);
-  void ipSecUpdateTunnelInterface(in @utf8InCpp String deviceName, in @utf8InCpp String localAddress, in @utf8InCpp String remoteAddress, int iKey, int oKey, int interfaceId);
-  void ipSecRemoveTunnelInterface(in @utf8InCpp String deviceName);
-  void wakeupAddInterface(in @utf8InCpp String ifName, in @utf8InCpp String prefix, int mark, int mask);
-  void wakeupDelInterface(in @utf8InCpp String ifName, in @utf8InCpp String prefix, int mark, int mask);
-  void setIPv6AddrGenMode(in @utf8InCpp String ifName, int mode);
-  void idletimerAddInterface(in @utf8InCpp String ifName, int timeout, in @utf8InCpp String classLabel);
-  void idletimerRemoveInterface(in @utf8InCpp String ifName, int timeout, in @utf8InCpp String classLabel);
-  void strictUidCleartextPenalty(int uid, int policyPenalty);
-  @utf8InCpp String clatdStart(in @utf8InCpp String ifName, in @utf8InCpp String nat64Prefix);
-  void clatdStop(in @utf8InCpp String ifName);
-  boolean ipfwdEnabled();
-  @utf8InCpp String[] ipfwdGetRequesterList();
-  void ipfwdEnableForwarding(in @utf8InCpp String requester);
-  void ipfwdDisableForwarding(in @utf8InCpp String requester);
-  void ipfwdAddInterfaceForward(in @utf8InCpp String fromIface, in @utf8InCpp String toIface);
-  void ipfwdRemoveInterfaceForward(in @utf8InCpp String fromIface, in @utf8InCpp String toIface);
-  void bandwidthSetInterfaceQuota(in @utf8InCpp String ifName, long bytes);
-  void bandwidthRemoveInterfaceQuota(in @utf8InCpp String ifName);
-  void bandwidthSetInterfaceAlert(in @utf8InCpp String ifName, long bytes);
-  void bandwidthRemoveInterfaceAlert(in @utf8InCpp String ifName);
-  void bandwidthSetGlobalAlert(long bytes);
-  void bandwidthAddNaughtyApp(int uid);
-  void bandwidthRemoveNaughtyApp(int uid);
-  void bandwidthAddNiceApp(int uid);
-  void bandwidthRemoveNiceApp(int uid);
-  void tetherStart(in @utf8InCpp String[] dhcpRanges);
-  void tetherStop();
-  boolean tetherIsEnabled();
-  void tetherInterfaceAdd(in @utf8InCpp String ifName);
-  void tetherInterfaceRemove(in @utf8InCpp String ifName);
-  @utf8InCpp String[] tetherInterfaceList();
-  void tetherDnsSet(int netId, in @utf8InCpp String[] dnsAddrs);
-  @utf8InCpp String[] tetherDnsList();
-  void networkAddRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop);
-  void networkRemoveRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop);
-  void networkAddLegacyRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop, int uid);
-  void networkRemoveLegacyRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop, int uid);
-  int networkGetDefault();
-  void networkSetDefault(int netId);
-  void networkClearDefault();
-  void networkSetPermissionForNetwork(int netId, int permission);
-  void networkSetPermissionForUser(int permission, in int[] uids);
-  void networkClearPermissionForUser(in int[] uids);
-  void trafficSetNetPermForUids(int permission, in int[] uids);
-  void networkSetProtectAllow(int uid);
-  void networkSetProtectDeny(int uid);
-  boolean networkCanProtect(int uid);
-  void firewallSetFirewallType(int firewalltype);
-  void firewallSetInterfaceRule(in @utf8InCpp String ifName, int firewallRule);
-  void firewallSetUidRule(int childChain, int uid, int firewallRule);
-  void firewallEnableChildChain(int childChain, boolean enable);
-  @utf8InCpp String[] interfaceGetList();
-  android.net.InterfaceConfigurationParcel interfaceGetCfg(in @utf8InCpp String ifName);
-  void interfaceSetCfg(in android.net.InterfaceConfigurationParcel cfg);
-  void interfaceSetIPv6PrivacyExtensions(in @utf8InCpp String ifName, boolean enable);
-  void interfaceClearAddrs(in @utf8InCpp String ifName);
-  void interfaceSetEnableIPv6(in @utf8InCpp String ifName, boolean enable);
-  void interfaceSetMtu(in @utf8InCpp String ifName, int mtu);
-  void tetherAddForward(in @utf8InCpp String intIface, in @utf8InCpp String extIface);
-  void tetherRemoveForward(in @utf8InCpp String intIface, in @utf8InCpp String extIface);
-  void setTcpRWmemorySize(in @utf8InCpp String rmemValues, in @utf8InCpp String wmemValues);
-  void registerUnsolicitedEventListener(android.net.INetdUnsolicitedEventListener listener);
-  void firewallAddUidInterfaceRules(in @utf8InCpp String ifName, in int[] uids);
-  void firewallRemoveUidInterfaceRules(in int[] uids);
-  void trafficSwapActiveStatsMap();
-  IBinder getOemNetd();
-  void tetherStartWithConfiguration(in android.net.TetherConfigParcel config);
-  android.net.MarkMaskParcel getFwmarkForNetwork(int netId);
-  void networkAddRouteParcel(int netId, in android.net.RouteInfoParcel routeInfo);
-  void networkUpdateRouteParcel(int netId, in android.net.RouteInfoParcel routeInfo);
-  void networkRemoveRouteParcel(int netId, in android.net.RouteInfoParcel routeInfo);
-  void tetherOffloadRuleAdd(in android.net.TetherOffloadRuleParcel rule);
-  void tetherOffloadRuleRemove(in android.net.TetherOffloadRuleParcel rule);
-  const int IPV4 = 4;
-  const int IPV6 = 6;
-  const int CONF = 1;
-  const int NEIGH = 2;
-  const String IPSEC_INTERFACE_PREFIX = "ipsec";
-  const int IPV6_ADDR_GEN_MODE_EUI64 = 0;
-  const int IPV6_ADDR_GEN_MODE_NONE = 1;
-  const int IPV6_ADDR_GEN_MODE_STABLE_PRIVACY = 2;
-  const int IPV6_ADDR_GEN_MODE_RANDOM = 3;
-  const int IPV6_ADDR_GEN_MODE_DEFAULT = 0;
-  const int PENALTY_POLICY_ACCEPT = 1;
-  const int PENALTY_POLICY_LOG = 2;
-  const int PENALTY_POLICY_REJECT = 3;
-  const int LOCAL_NET_ID = 99;
-  const String NEXTHOP_NONE = "";
-  const String NEXTHOP_UNREACHABLE = "unreachable";
-  const String NEXTHOP_THROW = "throw";
-  const int PERMISSION_NONE = 0;
-  const int PERMISSION_NETWORK = 1;
-  const int PERMISSION_SYSTEM = 2;
-  const int NO_PERMISSIONS = 0;
-  const int PERMISSION_INTERNET = 4;
-  const int PERMISSION_UPDATE_DEVICE_STATS = 8;
-  const int PERMISSION_UNINSTALLED = -1;
-  const int FIREWALL_WHITELIST = 0;
-  const int FIREWALL_BLACKLIST = 1;
-  const int FIREWALL_RULE_ALLOW = 1;
-  const int FIREWALL_RULE_DENY = 2;
-  const int FIREWALL_CHAIN_NONE = 0;
-  const int FIREWALL_CHAIN_DOZABLE = 1;
-  const int FIREWALL_CHAIN_STANDBY = 2;
-  const int FIREWALL_CHAIN_POWERSAVE = 3;
-  const String IF_STATE_UP = "up";
-  const String IF_STATE_DOWN = "down";
-  const String IF_FLAG_BROADCAST = "broadcast";
-  const String IF_FLAG_LOOPBACK = "loopback";
-  const String IF_FLAG_POINTOPOINT = "point-to-point";
-  const String IF_FLAG_RUNNING = "running";
-  const String IF_FLAG_MULTICAST = "multicast";
-}
diff --git a/server/aidl_api/netd_aidl_interface/3/android/net/INetdUnsolicitedEventListener.aidl b/server/aidl_api/netd_aidl_interface/3/android/net/INetdUnsolicitedEventListener.aidl
deleted file mode 100644
index 4459363..0000000
--- a/server/aidl_api/netd_aidl_interface/3/android/net/INetdUnsolicitedEventListener.aidl
+++ /dev/null
@@ -1,32 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-interface INetdUnsolicitedEventListener {
-  oneway void onInterfaceClassActivityChanged(boolean isActive, int timerLabel, long timestampNs, int uid);
-  oneway void onQuotaLimitReached(@utf8InCpp String alertName, @utf8InCpp String ifName);
-  oneway void onInterfaceDnsServerInfo(@utf8InCpp String ifName, long lifetimeS, in @utf8InCpp String[] servers);
-  oneway void onInterfaceAddressUpdated(@utf8InCpp String addr, @utf8InCpp String ifName, int flags, int scope);
-  oneway void onInterfaceAddressRemoved(@utf8InCpp String addr, @utf8InCpp String ifName, int flags, int scope);
-  oneway void onInterfaceAdded(@utf8InCpp String ifName);
-  oneway void onInterfaceRemoved(@utf8InCpp String ifName);
-  oneway void onInterfaceChanged(@utf8InCpp String ifName, boolean up);
-  oneway void onInterfaceLinkStateChanged(@utf8InCpp String ifName, boolean up);
-  oneway void onRouteChanged(boolean updated, @utf8InCpp String route, @utf8InCpp String gateway, @utf8InCpp String ifName);
-  oneway void onStrictCleartextDetected(int uid, @utf8InCpp String hex);
-}
diff --git a/server/aidl_api/netd_aidl_interface/3/android/net/InterfaceConfigurationParcel.aidl b/server/aidl_api/netd_aidl_interface/3/android/net/InterfaceConfigurationParcel.aidl
deleted file mode 100644
index 01e0f95..0000000
--- a/server/aidl_api/netd_aidl_interface/3/android/net/InterfaceConfigurationParcel.aidl
+++ /dev/null
@@ -1,26 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable InterfaceConfigurationParcel {
-  @utf8InCpp String ifName;
-  @utf8InCpp String hwAddr;
-  @utf8InCpp String ipv4Addr;
-  int prefixLength;
-  @utf8InCpp String[] flags;
-}
diff --git a/server/aidl_api/netd_aidl_interface/3/android/net/MarkMaskParcel.aidl b/server/aidl_api/netd_aidl_interface/3/android/net/MarkMaskParcel.aidl
deleted file mode 100644
index 62be838..0000000
--- a/server/aidl_api/netd_aidl_interface/3/android/net/MarkMaskParcel.aidl
+++ /dev/null
@@ -1,23 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable MarkMaskParcel {
-  int mark;
-  int mask;
-}
diff --git a/server/aidl_api/netd_aidl_interface/3/android/net/RouteInfoParcel.aidl b/server/aidl_api/netd_aidl_interface/3/android/net/RouteInfoParcel.aidl
deleted file mode 100644
index 5e0ee62..0000000
--- a/server/aidl_api/netd_aidl_interface/3/android/net/RouteInfoParcel.aidl
+++ /dev/null
@@ -1,24 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-parcelable RouteInfoParcel {
-  @utf8InCpp String destination;
-  @utf8InCpp String ifName;
-  @utf8InCpp String nextHop;
-  int mtu;
-}
diff --git a/server/aidl_api/netd_aidl_interface/3/android/net/TetherConfigParcel.aidl b/server/aidl_api/netd_aidl_interface/3/android/net/TetherConfigParcel.aidl
deleted file mode 100644
index b136454..0000000
--- a/server/aidl_api/netd_aidl_interface/3/android/net/TetherConfigParcel.aidl
+++ /dev/null
@@ -1,23 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable TetherConfigParcel {
-  boolean usingLegacyDnsProxy;
-  @utf8InCpp String[] dhcpRanges;
-}
diff --git a/server/aidl_api/netd_aidl_interface/3/android/net/TetherOffloadRuleParcel.aidl b/server/aidl_api/netd_aidl_interface/3/android/net/TetherOffloadRuleParcel.aidl
deleted file mode 100644
index 3abf0f8..0000000
--- a/server/aidl_api/netd_aidl_interface/3/android/net/TetherOffloadRuleParcel.aidl
+++ /dev/null
@@ -1,27 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable TetherOffloadRuleParcel {
-  int inputInterfaceIndex;
-  int outputInterfaceIndex;
-  byte[] destination;
-  int prefixLength;
-  byte[] srcL2Address;
-  byte[] dstL2Address;
-}
diff --git a/server/aidl_api/netd_aidl_interface/3/android/net/TetherStatsParcel.aidl b/server/aidl_api/netd_aidl_interface/3/android/net/TetherStatsParcel.aidl
deleted file mode 100644
index 71ffb9b..0000000
--- a/server/aidl_api/netd_aidl_interface/3/android/net/TetherStatsParcel.aidl
+++ /dev/null
@@ -1,26 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable TetherStatsParcel {
-  @utf8InCpp String iface;
-  long rxBytes;
-  long rxPackets;
-  long txBytes;
-  long txPackets;
-}
diff --git a/server/aidl_api/netd_aidl_interface/3/android/net/UidRangeParcel.aidl b/server/aidl_api/netd_aidl_interface/3/android/net/UidRangeParcel.aidl
deleted file mode 100644
index 84ff457..0000000
--- a/server/aidl_api/netd_aidl_interface/3/android/net/UidRangeParcel.aidl
+++ /dev/null
@@ -1,23 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable UidRangeParcel {
-  int start;
-  int stop;
-}
diff --git a/server/aidl_api/netd_aidl_interface/4/.hash b/server/aidl_api/netd_aidl_interface/4/.hash
deleted file mode 100644
index 0c3f810..0000000
--- a/server/aidl_api/netd_aidl_interface/4/.hash
+++ /dev/null
@@ -1 +0,0 @@
-63adaa5098e4d8621e90c5a84f7cb93505c79311
diff --git a/server/aidl_api/netd_aidl_interface/4/android/net/INetd.aidl b/server/aidl_api/netd_aidl_interface/4/android/net/INetd.aidl
deleted file mode 100644
index 47e2931..0000000
--- a/server/aidl_api/netd_aidl_interface/4/android/net/INetd.aidl
+++ /dev/null
@@ -1,164 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-interface INetd {
-  boolean isAlive();
-  boolean firewallReplaceUidChain(in @utf8InCpp String chainName, boolean isWhitelist, in int[] uids);
-  boolean bandwidthEnableDataSaver(boolean enable);
-  void networkCreatePhysical(int netId, int permission);
-  void networkCreateVpn(int netId, boolean secure);
-  void networkDestroy(int netId);
-  void networkAddInterface(int netId, in @utf8InCpp String iface);
-  void networkRemoveInterface(int netId, in @utf8InCpp String iface);
-  void networkAddUidRanges(int netId, in android.net.UidRangeParcel[] uidRanges);
-  void networkRemoveUidRanges(int netId, in android.net.UidRangeParcel[] uidRanges);
-  void networkRejectNonSecureVpn(boolean add, in android.net.UidRangeParcel[] uidRanges);
-  void socketDestroy(in android.net.UidRangeParcel[] uidRanges, in int[] exemptUids);
-  boolean tetherApplyDnsInterfaces();
-  android.net.TetherStatsParcel[] tetherGetStats();
-  void interfaceAddAddress(in @utf8InCpp String ifName, in @utf8InCpp String addrString, int prefixLength);
-  void interfaceDelAddress(in @utf8InCpp String ifName, in @utf8InCpp String addrString, int prefixLength);
-  @utf8InCpp String getProcSysNet(int ipversion, int which, in @utf8InCpp String ifname, in @utf8InCpp String parameter);
-  void setProcSysNet(int ipversion, int which, in @utf8InCpp String ifname, in @utf8InCpp String parameter, in @utf8InCpp String value);
-  void ipSecSetEncapSocketOwner(in ParcelFileDescriptor socket, int newUid);
-  int ipSecAllocateSpi(int transformId, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi);
-  void ipSecAddSecurityAssociation(int transformId, int mode, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int underlyingNetId, int spi, int markValue, int markMask, in @utf8InCpp String authAlgo, in byte[] authKey, in int authTruncBits, in @utf8InCpp String cryptAlgo, in byte[] cryptKey, in int cryptTruncBits, in @utf8InCpp String aeadAlgo, in byte[] aeadKey, in int aeadIcvBits, int encapType, int encapLocalPort, int encapRemotePort, int interfaceId);
-  void ipSecDeleteSecurityAssociation(int transformId, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi, int markValue, int markMask, int interfaceId);
-  void ipSecApplyTransportModeTransform(in ParcelFileDescriptor socket, int transformId, int direction, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi);
-  void ipSecRemoveTransportModeTransform(in ParcelFileDescriptor socket);
-  void ipSecAddSecurityPolicy(int transformId, int selAddrFamily, int direction, in @utf8InCpp String tmplSrcAddress, in @utf8InCpp String tmplDstAddress, int spi, int markValue, int markMask, int interfaceId);
-  void ipSecUpdateSecurityPolicy(int transformId, int selAddrFamily, int direction, in @utf8InCpp String tmplSrcAddress, in @utf8InCpp String tmplDstAddress, int spi, int markValue, int markMask, int interfaceId);
-  void ipSecDeleteSecurityPolicy(int transformId, int selAddrFamily, int direction, int markValue, int markMask, int interfaceId);
-  void ipSecAddTunnelInterface(in @utf8InCpp String deviceName, in @utf8InCpp String localAddress, in @utf8InCpp String remoteAddress, int iKey, int oKey, int interfaceId);
-  void ipSecUpdateTunnelInterface(in @utf8InCpp String deviceName, in @utf8InCpp String localAddress, in @utf8InCpp String remoteAddress, int iKey, int oKey, int interfaceId);
-  void ipSecRemoveTunnelInterface(in @utf8InCpp String deviceName);
-  void wakeupAddInterface(in @utf8InCpp String ifName, in @utf8InCpp String prefix, int mark, int mask);
-  void wakeupDelInterface(in @utf8InCpp String ifName, in @utf8InCpp String prefix, int mark, int mask);
-  void setIPv6AddrGenMode(in @utf8InCpp String ifName, int mode);
-  void idletimerAddInterface(in @utf8InCpp String ifName, int timeout, in @utf8InCpp String classLabel);
-  void idletimerRemoveInterface(in @utf8InCpp String ifName, int timeout, in @utf8InCpp String classLabel);
-  void strictUidCleartextPenalty(int uid, int policyPenalty);
-  @utf8InCpp String clatdStart(in @utf8InCpp String ifName, in @utf8InCpp String nat64Prefix);
-  void clatdStop(in @utf8InCpp String ifName);
-  boolean ipfwdEnabled();
-  @utf8InCpp String[] ipfwdGetRequesterList();
-  void ipfwdEnableForwarding(in @utf8InCpp String requester);
-  void ipfwdDisableForwarding(in @utf8InCpp String requester);
-  void ipfwdAddInterfaceForward(in @utf8InCpp String fromIface, in @utf8InCpp String toIface);
-  void ipfwdRemoveInterfaceForward(in @utf8InCpp String fromIface, in @utf8InCpp String toIface);
-  void bandwidthSetInterfaceQuota(in @utf8InCpp String ifName, long bytes);
-  void bandwidthRemoveInterfaceQuota(in @utf8InCpp String ifName);
-  void bandwidthSetInterfaceAlert(in @utf8InCpp String ifName, long bytes);
-  void bandwidthRemoveInterfaceAlert(in @utf8InCpp String ifName);
-  void bandwidthSetGlobalAlert(long bytes);
-  void bandwidthAddNaughtyApp(int uid);
-  void bandwidthRemoveNaughtyApp(int uid);
-  void bandwidthAddNiceApp(int uid);
-  void bandwidthRemoveNiceApp(int uid);
-  void tetherStart(in @utf8InCpp String[] dhcpRanges);
-  void tetherStop();
-  boolean tetherIsEnabled();
-  void tetherInterfaceAdd(in @utf8InCpp String ifName);
-  void tetherInterfaceRemove(in @utf8InCpp String ifName);
-  @utf8InCpp String[] tetherInterfaceList();
-  void tetherDnsSet(int netId, in @utf8InCpp String[] dnsAddrs);
-  @utf8InCpp String[] tetherDnsList();
-  void networkAddRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop);
-  void networkRemoveRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop);
-  void networkAddLegacyRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop, int uid);
-  void networkRemoveLegacyRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop, int uid);
-  int networkGetDefault();
-  void networkSetDefault(int netId);
-  void networkClearDefault();
-  void networkSetPermissionForNetwork(int netId, int permission);
-  void networkSetPermissionForUser(int permission, in int[] uids);
-  void networkClearPermissionForUser(in int[] uids);
-  void trafficSetNetPermForUids(int permission, in int[] uids);
-  void networkSetProtectAllow(int uid);
-  void networkSetProtectDeny(int uid);
-  boolean networkCanProtect(int uid);
-  void firewallSetFirewallType(int firewalltype);
-  void firewallSetInterfaceRule(in @utf8InCpp String ifName, int firewallRule);
-  void firewallSetUidRule(int childChain, int uid, int firewallRule);
-  void firewallEnableChildChain(int childChain, boolean enable);
-  @utf8InCpp String[] interfaceGetList();
-  android.net.InterfaceConfigurationParcel interfaceGetCfg(in @utf8InCpp String ifName);
-  void interfaceSetCfg(in android.net.InterfaceConfigurationParcel cfg);
-  void interfaceSetIPv6PrivacyExtensions(in @utf8InCpp String ifName, boolean enable);
-  void interfaceClearAddrs(in @utf8InCpp String ifName);
-  void interfaceSetEnableIPv6(in @utf8InCpp String ifName, boolean enable);
-  void interfaceSetMtu(in @utf8InCpp String ifName, int mtu);
-  void tetherAddForward(in @utf8InCpp String intIface, in @utf8InCpp String extIface);
-  void tetherRemoveForward(in @utf8InCpp String intIface, in @utf8InCpp String extIface);
-  void setTcpRWmemorySize(in @utf8InCpp String rmemValues, in @utf8InCpp String wmemValues);
-  void registerUnsolicitedEventListener(android.net.INetdUnsolicitedEventListener listener);
-  void firewallAddUidInterfaceRules(in @utf8InCpp String ifName, in int[] uids);
-  void firewallRemoveUidInterfaceRules(in int[] uids);
-  void trafficSwapActiveStatsMap();
-  IBinder getOemNetd();
-  void tetherStartWithConfiguration(in android.net.TetherConfigParcel config);
-  android.net.MarkMaskParcel getFwmarkForNetwork(int netId);
-  void networkAddRouteParcel(int netId, in android.net.RouteInfoParcel routeInfo);
-  void networkUpdateRouteParcel(int netId, in android.net.RouteInfoParcel routeInfo);
-  void networkRemoveRouteParcel(int netId, in android.net.RouteInfoParcel routeInfo);
-  void tetherOffloadRuleAdd(in android.net.TetherOffloadRuleParcel rule);
-  void tetherOffloadRuleRemove(in android.net.TetherOffloadRuleParcel rule);
-  android.net.TetherStatsParcel[] tetherOffloadGetStats();
-  void tetherOffloadSetInterfaceQuota(int ifIndex, long quotaBytes);
-  android.net.TetherStatsParcel tetherOffloadGetAndClearStats(int ifIndex);
-  const int IPV4 = 4;
-  const int IPV6 = 6;
-  const int CONF = 1;
-  const int NEIGH = 2;
-  const String IPSEC_INTERFACE_PREFIX = "ipsec";
-  const int IPV6_ADDR_GEN_MODE_EUI64 = 0;
-  const int IPV6_ADDR_GEN_MODE_NONE = 1;
-  const int IPV6_ADDR_GEN_MODE_STABLE_PRIVACY = 2;
-  const int IPV6_ADDR_GEN_MODE_RANDOM = 3;
-  const int IPV6_ADDR_GEN_MODE_DEFAULT = 0;
-  const int PENALTY_POLICY_ACCEPT = 1;
-  const int PENALTY_POLICY_LOG = 2;
-  const int PENALTY_POLICY_REJECT = 3;
-  const int LOCAL_NET_ID = 99;
-  const String NEXTHOP_NONE = "";
-  const String NEXTHOP_UNREACHABLE = "unreachable";
-  const String NEXTHOP_THROW = "throw";
-  const int PERMISSION_NONE = 0;
-  const int PERMISSION_NETWORK = 1;
-  const int PERMISSION_SYSTEM = 2;
-  const int NO_PERMISSIONS = 0;
-  const int PERMISSION_INTERNET = 4;
-  const int PERMISSION_UPDATE_DEVICE_STATS = 8;
-  const int PERMISSION_UNINSTALLED = -1;
-  const int FIREWALL_WHITELIST = 0;
-  const int FIREWALL_BLACKLIST = 1;
-  const int FIREWALL_RULE_ALLOW = 1;
-  const int FIREWALL_RULE_DENY = 2;
-  const int FIREWALL_CHAIN_NONE = 0;
-  const int FIREWALL_CHAIN_DOZABLE = 1;
-  const int FIREWALL_CHAIN_STANDBY = 2;
-  const int FIREWALL_CHAIN_POWERSAVE = 3;
-  const String IF_STATE_UP = "up";
-  const String IF_STATE_DOWN = "down";
-  const String IF_FLAG_BROADCAST = "broadcast";
-  const String IF_FLAG_LOOPBACK = "loopback";
-  const String IF_FLAG_POINTOPOINT = "point-to-point";
-  const String IF_FLAG_RUNNING = "running";
-  const String IF_FLAG_MULTICAST = "multicast";
-}
diff --git a/server/aidl_api/netd_aidl_interface/4/android/net/INetdUnsolicitedEventListener.aidl b/server/aidl_api/netd_aidl_interface/4/android/net/INetdUnsolicitedEventListener.aidl
deleted file mode 100644
index 4459363..0000000
--- a/server/aidl_api/netd_aidl_interface/4/android/net/INetdUnsolicitedEventListener.aidl
+++ /dev/null
@@ -1,32 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-interface INetdUnsolicitedEventListener {
-  oneway void onInterfaceClassActivityChanged(boolean isActive, int timerLabel, long timestampNs, int uid);
-  oneway void onQuotaLimitReached(@utf8InCpp String alertName, @utf8InCpp String ifName);
-  oneway void onInterfaceDnsServerInfo(@utf8InCpp String ifName, long lifetimeS, in @utf8InCpp String[] servers);
-  oneway void onInterfaceAddressUpdated(@utf8InCpp String addr, @utf8InCpp String ifName, int flags, int scope);
-  oneway void onInterfaceAddressRemoved(@utf8InCpp String addr, @utf8InCpp String ifName, int flags, int scope);
-  oneway void onInterfaceAdded(@utf8InCpp String ifName);
-  oneway void onInterfaceRemoved(@utf8InCpp String ifName);
-  oneway void onInterfaceChanged(@utf8InCpp String ifName, boolean up);
-  oneway void onInterfaceLinkStateChanged(@utf8InCpp String ifName, boolean up);
-  oneway void onRouteChanged(boolean updated, @utf8InCpp String route, @utf8InCpp String gateway, @utf8InCpp String ifName);
-  oneway void onStrictCleartextDetected(int uid, @utf8InCpp String hex);
-}
diff --git a/server/aidl_api/netd_aidl_interface/4/android/net/InterfaceConfigurationParcel.aidl b/server/aidl_api/netd_aidl_interface/4/android/net/InterfaceConfigurationParcel.aidl
deleted file mode 100644
index 01e0f95..0000000
--- a/server/aidl_api/netd_aidl_interface/4/android/net/InterfaceConfigurationParcel.aidl
+++ /dev/null
@@ -1,26 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable InterfaceConfigurationParcel {
-  @utf8InCpp String ifName;
-  @utf8InCpp String hwAddr;
-  @utf8InCpp String ipv4Addr;
-  int prefixLength;
-  @utf8InCpp String[] flags;
-}
diff --git a/server/aidl_api/netd_aidl_interface/4/android/net/MarkMaskParcel.aidl b/server/aidl_api/netd_aidl_interface/4/android/net/MarkMaskParcel.aidl
deleted file mode 100644
index 62be838..0000000
--- a/server/aidl_api/netd_aidl_interface/4/android/net/MarkMaskParcel.aidl
+++ /dev/null
@@ -1,23 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable MarkMaskParcel {
-  int mark;
-  int mask;
-}
diff --git a/server/aidl_api/netd_aidl_interface/4/android/net/RouteInfoParcel.aidl b/server/aidl_api/netd_aidl_interface/4/android/net/RouteInfoParcel.aidl
deleted file mode 100644
index 5e0ee62..0000000
--- a/server/aidl_api/netd_aidl_interface/4/android/net/RouteInfoParcel.aidl
+++ /dev/null
@@ -1,24 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-parcelable RouteInfoParcel {
-  @utf8InCpp String destination;
-  @utf8InCpp String ifName;
-  @utf8InCpp String nextHop;
-  int mtu;
-}
diff --git a/server/aidl_api/netd_aidl_interface/4/android/net/TetherConfigParcel.aidl b/server/aidl_api/netd_aidl_interface/4/android/net/TetherConfigParcel.aidl
deleted file mode 100644
index b136454..0000000
--- a/server/aidl_api/netd_aidl_interface/4/android/net/TetherConfigParcel.aidl
+++ /dev/null
@@ -1,23 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable TetherConfigParcel {
-  boolean usingLegacyDnsProxy;
-  @utf8InCpp String[] dhcpRanges;
-}
diff --git a/server/aidl_api/netd_aidl_interface/4/android/net/TetherOffloadRuleParcel.aidl b/server/aidl_api/netd_aidl_interface/4/android/net/TetherOffloadRuleParcel.aidl
deleted file mode 100644
index c9d8458..0000000
--- a/server/aidl_api/netd_aidl_interface/4/android/net/TetherOffloadRuleParcel.aidl
+++ /dev/null
@@ -1,28 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable TetherOffloadRuleParcel {
-  int inputInterfaceIndex;
-  int outputInterfaceIndex;
-  byte[] destination;
-  int prefixLength;
-  byte[] srcL2Address;
-  byte[] dstL2Address;
-  int pmtu = 1500;
-}
diff --git a/server/aidl_api/netd_aidl_interface/4/android/net/TetherStatsParcel.aidl b/server/aidl_api/netd_aidl_interface/4/android/net/TetherStatsParcel.aidl
deleted file mode 100644
index 0b0960e..0000000
--- a/server/aidl_api/netd_aidl_interface/4/android/net/TetherStatsParcel.aidl
+++ /dev/null
@@ -1,27 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable TetherStatsParcel {
-  @utf8InCpp String iface;
-  long rxBytes;
-  long rxPackets;
-  long txBytes;
-  long txPackets;
-  int ifIndex = 0;
-}
diff --git a/server/aidl_api/netd_aidl_interface/4/android/net/UidRangeParcel.aidl b/server/aidl_api/netd_aidl_interface/4/android/net/UidRangeParcel.aidl
deleted file mode 100644
index 84ff457..0000000
--- a/server/aidl_api/netd_aidl_interface/4/android/net/UidRangeParcel.aidl
+++ /dev/null
@@ -1,23 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable UidRangeParcel {
-  int start;
-  int stop;
-}
diff --git a/server/aidl_api/netd_aidl_interface/5/.hash b/server/aidl_api/netd_aidl_interface/5/.hash
deleted file mode 100644
index a6ced45..0000000
--- a/server/aidl_api/netd_aidl_interface/5/.hash
+++ /dev/null
@@ -1 +0,0 @@
-d97c56dd789cee9eeb5cdcec43a99df0a01873a5
diff --git a/server/aidl_api/netd_aidl_interface/5/android/net/INetd.aidl b/server/aidl_api/netd_aidl_interface/5/android/net/INetd.aidl
deleted file mode 100644
index b30748a..0000000
--- a/server/aidl_api/netd_aidl_interface/5/android/net/INetd.aidl
+++ /dev/null
@@ -1,167 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-interface INetd {
-  boolean isAlive();
-  boolean firewallReplaceUidChain(in @utf8InCpp String chainName, boolean isAllowlist, in int[] uids);
-  boolean bandwidthEnableDataSaver(boolean enable);
-  void networkCreatePhysical(int netId, int permission);
-  void networkCreateVpn(int netId, boolean secure);
-  void networkDestroy(int netId);
-  void networkAddInterface(int netId, in @utf8InCpp String iface);
-  void networkRemoveInterface(int netId, in @utf8InCpp String iface);
-  void networkAddUidRanges(int netId, in android.net.UidRangeParcel[] uidRanges);
-  void networkRemoveUidRanges(int netId, in android.net.UidRangeParcel[] uidRanges);
-  void networkRejectNonSecureVpn(boolean add, in android.net.UidRangeParcel[] uidRanges);
-  void socketDestroy(in android.net.UidRangeParcel[] uidRanges, in int[] exemptUids);
-  boolean tetherApplyDnsInterfaces();
-  android.net.TetherStatsParcel[] tetherGetStats();
-  void interfaceAddAddress(in @utf8InCpp String ifName, in @utf8InCpp String addrString, int prefixLength);
-  void interfaceDelAddress(in @utf8InCpp String ifName, in @utf8InCpp String addrString, int prefixLength);
-  @utf8InCpp String getProcSysNet(int ipversion, int which, in @utf8InCpp String ifname, in @utf8InCpp String parameter);
-  void setProcSysNet(int ipversion, int which, in @utf8InCpp String ifname, in @utf8InCpp String parameter, in @utf8InCpp String value);
-  void ipSecSetEncapSocketOwner(in ParcelFileDescriptor socket, int newUid);
-  int ipSecAllocateSpi(int transformId, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi);
-  void ipSecAddSecurityAssociation(int transformId, int mode, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int underlyingNetId, int spi, int markValue, int markMask, in @utf8InCpp String authAlgo, in byte[] authKey, in int authTruncBits, in @utf8InCpp String cryptAlgo, in byte[] cryptKey, in int cryptTruncBits, in @utf8InCpp String aeadAlgo, in byte[] aeadKey, in int aeadIcvBits, int encapType, int encapLocalPort, int encapRemotePort, int interfaceId);
-  void ipSecDeleteSecurityAssociation(int transformId, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi, int markValue, int markMask, int interfaceId);
-  void ipSecApplyTransportModeTransform(in ParcelFileDescriptor socket, int transformId, int direction, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi);
-  void ipSecRemoveTransportModeTransform(in ParcelFileDescriptor socket);
-  void ipSecAddSecurityPolicy(int transformId, int selAddrFamily, int direction, in @utf8InCpp String tmplSrcAddress, in @utf8InCpp String tmplDstAddress, int spi, int markValue, int markMask, int interfaceId);
-  void ipSecUpdateSecurityPolicy(int transformId, int selAddrFamily, int direction, in @utf8InCpp String tmplSrcAddress, in @utf8InCpp String tmplDstAddress, int spi, int markValue, int markMask, int interfaceId);
-  void ipSecDeleteSecurityPolicy(int transformId, int selAddrFamily, int direction, int markValue, int markMask, int interfaceId);
-  void ipSecAddTunnelInterface(in @utf8InCpp String deviceName, in @utf8InCpp String localAddress, in @utf8InCpp String remoteAddress, int iKey, int oKey, int interfaceId);
-  void ipSecUpdateTunnelInterface(in @utf8InCpp String deviceName, in @utf8InCpp String localAddress, in @utf8InCpp String remoteAddress, int iKey, int oKey, int interfaceId);
-  void ipSecRemoveTunnelInterface(in @utf8InCpp String deviceName);
-  void wakeupAddInterface(in @utf8InCpp String ifName, in @utf8InCpp String prefix, int mark, int mask);
-  void wakeupDelInterface(in @utf8InCpp String ifName, in @utf8InCpp String prefix, int mark, int mask);
-  void setIPv6AddrGenMode(in @utf8InCpp String ifName, int mode);
-  void idletimerAddInterface(in @utf8InCpp String ifName, int timeout, in @utf8InCpp String classLabel);
-  void idletimerRemoveInterface(in @utf8InCpp String ifName, int timeout, in @utf8InCpp String classLabel);
-  void strictUidCleartextPenalty(int uid, int policyPenalty);
-  @utf8InCpp String clatdStart(in @utf8InCpp String ifName, in @utf8InCpp String nat64Prefix);
-  void clatdStop(in @utf8InCpp String ifName);
-  boolean ipfwdEnabled();
-  @utf8InCpp String[] ipfwdGetRequesterList();
-  void ipfwdEnableForwarding(in @utf8InCpp String requester);
-  void ipfwdDisableForwarding(in @utf8InCpp String requester);
-  void ipfwdAddInterfaceForward(in @utf8InCpp String fromIface, in @utf8InCpp String toIface);
-  void ipfwdRemoveInterfaceForward(in @utf8InCpp String fromIface, in @utf8InCpp String toIface);
-  void bandwidthSetInterfaceQuota(in @utf8InCpp String ifName, long bytes);
-  void bandwidthRemoveInterfaceQuota(in @utf8InCpp String ifName);
-  void bandwidthSetInterfaceAlert(in @utf8InCpp String ifName, long bytes);
-  void bandwidthRemoveInterfaceAlert(in @utf8InCpp String ifName);
-  void bandwidthSetGlobalAlert(long bytes);
-  void bandwidthAddNaughtyApp(int uid);
-  void bandwidthRemoveNaughtyApp(int uid);
-  void bandwidthAddNiceApp(int uid);
-  void bandwidthRemoveNiceApp(int uid);
-  void tetherStart(in @utf8InCpp String[] dhcpRanges);
-  void tetherStop();
-  boolean tetherIsEnabled();
-  void tetherInterfaceAdd(in @utf8InCpp String ifName);
-  void tetherInterfaceRemove(in @utf8InCpp String ifName);
-  @utf8InCpp String[] tetherInterfaceList();
-  void tetherDnsSet(int netId, in @utf8InCpp String[] dnsAddrs);
-  @utf8InCpp String[] tetherDnsList();
-  void networkAddRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop);
-  void networkRemoveRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop);
-  void networkAddLegacyRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop, int uid);
-  void networkRemoveLegacyRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop, int uid);
-  int networkGetDefault();
-  void networkSetDefault(int netId);
-  void networkClearDefault();
-  void networkSetPermissionForNetwork(int netId, int permission);
-  void networkSetPermissionForUser(int permission, in int[] uids);
-  void networkClearPermissionForUser(in int[] uids);
-  void trafficSetNetPermForUids(int permission, in int[] uids);
-  void networkSetProtectAllow(int uid);
-  void networkSetProtectDeny(int uid);
-  boolean networkCanProtect(int uid);
-  void firewallSetFirewallType(int firewalltype);
-  void firewallSetInterfaceRule(in @utf8InCpp String ifName, int firewallRule);
-  void firewallSetUidRule(int childChain, int uid, int firewallRule);
-  void firewallEnableChildChain(int childChain, boolean enable);
-  @utf8InCpp String[] interfaceGetList();
-  android.net.InterfaceConfigurationParcel interfaceGetCfg(in @utf8InCpp String ifName);
-  void interfaceSetCfg(in android.net.InterfaceConfigurationParcel cfg);
-  void interfaceSetIPv6PrivacyExtensions(in @utf8InCpp String ifName, boolean enable);
-  void interfaceClearAddrs(in @utf8InCpp String ifName);
-  void interfaceSetEnableIPv6(in @utf8InCpp String ifName, boolean enable);
-  void interfaceSetMtu(in @utf8InCpp String ifName, int mtu);
-  void tetherAddForward(in @utf8InCpp String intIface, in @utf8InCpp String extIface);
-  void tetherRemoveForward(in @utf8InCpp String intIface, in @utf8InCpp String extIface);
-  void setTcpRWmemorySize(in @utf8InCpp String rmemValues, in @utf8InCpp String wmemValues);
-  void registerUnsolicitedEventListener(android.net.INetdUnsolicitedEventListener listener);
-  void firewallAddUidInterfaceRules(in @utf8InCpp String ifName, in int[] uids);
-  void firewallRemoveUidInterfaceRules(in int[] uids);
-  void trafficSwapActiveStatsMap();
-  IBinder getOemNetd();
-  void tetherStartWithConfiguration(in android.net.TetherConfigParcel config);
-  android.net.MarkMaskParcel getFwmarkForNetwork(int netId);
-  void networkAddRouteParcel(int netId, in android.net.RouteInfoParcel routeInfo);
-  void networkUpdateRouteParcel(int netId, in android.net.RouteInfoParcel routeInfo);
-  void networkRemoveRouteParcel(int netId, in android.net.RouteInfoParcel routeInfo);
-  void tetherOffloadRuleAdd(in android.net.TetherOffloadRuleParcel rule);
-  void tetherOffloadRuleRemove(in android.net.TetherOffloadRuleParcel rule);
-  android.net.TetherStatsParcel[] tetherOffloadGetStats();
-  void tetherOffloadSetInterfaceQuota(int ifIndex, long quotaBytes);
-  android.net.TetherStatsParcel tetherOffloadGetAndClearStats(int ifIndex);
-  const int IPV4 = 4;
-  const int IPV6 = 6;
-  const int CONF = 1;
-  const int NEIGH = 2;
-  const String IPSEC_INTERFACE_PREFIX = "ipsec";
-  const int IPV6_ADDR_GEN_MODE_EUI64 = 0;
-  const int IPV6_ADDR_GEN_MODE_NONE = 1;
-  const int IPV6_ADDR_GEN_MODE_STABLE_PRIVACY = 2;
-  const int IPV6_ADDR_GEN_MODE_RANDOM = 3;
-  const int IPV6_ADDR_GEN_MODE_DEFAULT = 0;
-  const int PENALTY_POLICY_ACCEPT = 1;
-  const int PENALTY_POLICY_LOG = 2;
-  const int PENALTY_POLICY_REJECT = 3;
-  const int LOCAL_NET_ID = 99;
-  const String NEXTHOP_NONE = "";
-  const String NEXTHOP_UNREACHABLE = "unreachable";
-  const String NEXTHOP_THROW = "throw";
-  const int PERMISSION_NONE = 0;
-  const int PERMISSION_NETWORK = 1;
-  const int PERMISSION_SYSTEM = 2;
-  const int NO_PERMISSIONS = 0;
-  const int PERMISSION_INTERNET = 4;
-  const int PERMISSION_UPDATE_DEVICE_STATS = 8;
-  const int PERMISSION_UNINSTALLED = -1;
-  const @JavaPassthrough(annotation="@Deprecated") int FIREWALL_WHITELIST = 0;
-  const int FIREWALL_ALLOWLIST = 0;
-  const @JavaPassthrough(annotation="@Deprecated") int FIREWALL_BLACKLIST = 1;
-  const int FIREWALL_DENYLIST = 1;
-  const int FIREWALL_RULE_ALLOW = 1;
-  const int FIREWALL_RULE_DENY = 2;
-  const int FIREWALL_CHAIN_NONE = 0;
-  const int FIREWALL_CHAIN_DOZABLE = 1;
-  const int FIREWALL_CHAIN_STANDBY = 2;
-  const int FIREWALL_CHAIN_POWERSAVE = 3;
-  const int FIREWALL_CHAIN_RESTRICTED = 4;
-  const String IF_STATE_UP = "up";
-  const String IF_STATE_DOWN = "down";
-  const String IF_FLAG_BROADCAST = "broadcast";
-  const String IF_FLAG_LOOPBACK = "loopback";
-  const String IF_FLAG_POINTOPOINT = "point-to-point";
-  const String IF_FLAG_RUNNING = "running";
-  const String IF_FLAG_MULTICAST = "multicast";
-}
diff --git a/server/aidl_api/netd_aidl_interface/5/android/net/INetdUnsolicitedEventListener.aidl b/server/aidl_api/netd_aidl_interface/5/android/net/INetdUnsolicitedEventListener.aidl
deleted file mode 100644
index 4459363..0000000
--- a/server/aidl_api/netd_aidl_interface/5/android/net/INetdUnsolicitedEventListener.aidl
+++ /dev/null
@@ -1,32 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-interface INetdUnsolicitedEventListener {
-  oneway void onInterfaceClassActivityChanged(boolean isActive, int timerLabel, long timestampNs, int uid);
-  oneway void onQuotaLimitReached(@utf8InCpp String alertName, @utf8InCpp String ifName);
-  oneway void onInterfaceDnsServerInfo(@utf8InCpp String ifName, long lifetimeS, in @utf8InCpp String[] servers);
-  oneway void onInterfaceAddressUpdated(@utf8InCpp String addr, @utf8InCpp String ifName, int flags, int scope);
-  oneway void onInterfaceAddressRemoved(@utf8InCpp String addr, @utf8InCpp String ifName, int flags, int scope);
-  oneway void onInterfaceAdded(@utf8InCpp String ifName);
-  oneway void onInterfaceRemoved(@utf8InCpp String ifName);
-  oneway void onInterfaceChanged(@utf8InCpp String ifName, boolean up);
-  oneway void onInterfaceLinkStateChanged(@utf8InCpp String ifName, boolean up);
-  oneway void onRouteChanged(boolean updated, @utf8InCpp String route, @utf8InCpp String gateway, @utf8InCpp String ifName);
-  oneway void onStrictCleartextDetected(int uid, @utf8InCpp String hex);
-}
diff --git a/server/aidl_api/netd_aidl_interface/5/android/net/InterfaceConfigurationParcel.aidl b/server/aidl_api/netd_aidl_interface/5/android/net/InterfaceConfigurationParcel.aidl
deleted file mode 100644
index 01e0f95..0000000
--- a/server/aidl_api/netd_aidl_interface/5/android/net/InterfaceConfigurationParcel.aidl
+++ /dev/null
@@ -1,26 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable InterfaceConfigurationParcel {
-  @utf8InCpp String ifName;
-  @utf8InCpp String hwAddr;
-  @utf8InCpp String ipv4Addr;
-  int prefixLength;
-  @utf8InCpp String[] flags;
-}
diff --git a/server/aidl_api/netd_aidl_interface/5/android/net/MarkMaskParcel.aidl b/server/aidl_api/netd_aidl_interface/5/android/net/MarkMaskParcel.aidl
deleted file mode 100644
index 62be838..0000000
--- a/server/aidl_api/netd_aidl_interface/5/android/net/MarkMaskParcel.aidl
+++ /dev/null
@@ -1,23 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable MarkMaskParcel {
-  int mark;
-  int mask;
-}
diff --git a/server/aidl_api/netd_aidl_interface/5/android/net/RouteInfoParcel.aidl b/server/aidl_api/netd_aidl_interface/5/android/net/RouteInfoParcel.aidl
deleted file mode 100644
index 5e0ee62..0000000
--- a/server/aidl_api/netd_aidl_interface/5/android/net/RouteInfoParcel.aidl
+++ /dev/null
@@ -1,24 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-parcelable RouteInfoParcel {
-  @utf8InCpp String destination;
-  @utf8InCpp String ifName;
-  @utf8InCpp String nextHop;
-  int mtu;
-}
diff --git a/server/aidl_api/netd_aidl_interface/5/android/net/TetherConfigParcel.aidl b/server/aidl_api/netd_aidl_interface/5/android/net/TetherConfigParcel.aidl
deleted file mode 100644
index b136454..0000000
--- a/server/aidl_api/netd_aidl_interface/5/android/net/TetherConfigParcel.aidl
+++ /dev/null
@@ -1,23 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable TetherConfigParcel {
-  boolean usingLegacyDnsProxy;
-  @utf8InCpp String[] dhcpRanges;
-}
diff --git a/server/aidl_api/netd_aidl_interface/5/android/net/TetherOffloadRuleParcel.aidl b/server/aidl_api/netd_aidl_interface/5/android/net/TetherOffloadRuleParcel.aidl
deleted file mode 100644
index c9d8458..0000000
--- a/server/aidl_api/netd_aidl_interface/5/android/net/TetherOffloadRuleParcel.aidl
+++ /dev/null
@@ -1,28 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable TetherOffloadRuleParcel {
-  int inputInterfaceIndex;
-  int outputInterfaceIndex;
-  byte[] destination;
-  int prefixLength;
-  byte[] srcL2Address;
-  byte[] dstL2Address;
-  int pmtu = 1500;
-}
diff --git a/server/aidl_api/netd_aidl_interface/5/android/net/TetherStatsParcel.aidl b/server/aidl_api/netd_aidl_interface/5/android/net/TetherStatsParcel.aidl
deleted file mode 100644
index 0b0960e..0000000
--- a/server/aidl_api/netd_aidl_interface/5/android/net/TetherStatsParcel.aidl
+++ /dev/null
@@ -1,27 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable TetherStatsParcel {
-  @utf8InCpp String iface;
-  long rxBytes;
-  long rxPackets;
-  long txBytes;
-  long txPackets;
-  int ifIndex = 0;
-}
diff --git a/server/aidl_api/netd_aidl_interface/5/android/net/UidRangeParcel.aidl b/server/aidl_api/netd_aidl_interface/5/android/net/UidRangeParcel.aidl
deleted file mode 100644
index debc6be..0000000
--- a/server/aidl_api/netd_aidl_interface/5/android/net/UidRangeParcel.aidl
+++ /dev/null
@@ -1,24 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-@JavaDerive(equals=true, toString=true) @JavaOnlyImmutable
-parcelable UidRangeParcel {
-  int start;
-  int stop;
-}
diff --git a/server/aidl_api/netd_aidl_interface/6/.hash b/server/aidl_api/netd_aidl_interface/6/.hash
deleted file mode 100644
index f5acf5d..0000000
--- a/server/aidl_api/netd_aidl_interface/6/.hash
+++ /dev/null
@@ -1 +0,0 @@
-b08451d9673b09cba84f1fd8740e1fdac64ff7be
diff --git a/server/aidl_api/netd_aidl_interface/6/android/net/INetd.aidl b/server/aidl_api/netd_aidl_interface/6/android/net/INetd.aidl
deleted file mode 100644
index a7952f2..0000000
--- a/server/aidl_api/netd_aidl_interface/6/android/net/INetd.aidl
+++ /dev/null
@@ -1,198 +0,0 @@
-/**
- * Copyright (c) 2016, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-interface INetd {
-  boolean isAlive();
-  boolean firewallReplaceUidChain(in @utf8InCpp String chainName, boolean isAllowlist, in int[] uids);
-  boolean bandwidthEnableDataSaver(boolean enable);
-  /**
-   * @deprecated use networkCreate() instead.
-   */
-  void networkCreatePhysical(int netId, int permission);
-  /**
-   * @deprecated use networkCreate() instead.
-   */
-  void networkCreateVpn(int netId, boolean secure);
-  void networkDestroy(int netId);
-  void networkAddInterface(int netId, in @utf8InCpp String iface);
-  void networkRemoveInterface(int netId, in @utf8InCpp String iface);
-  void networkAddUidRanges(int netId, in android.net.UidRangeParcel[] uidRanges);
-  void networkRemoveUidRanges(int netId, in android.net.UidRangeParcel[] uidRanges);
-  void networkRejectNonSecureVpn(boolean add, in android.net.UidRangeParcel[] uidRanges);
-  void socketDestroy(in android.net.UidRangeParcel[] uidRanges, in int[] exemptUids);
-  boolean tetherApplyDnsInterfaces();
-  android.net.TetherStatsParcel[] tetherGetStats();
-  void interfaceAddAddress(in @utf8InCpp String ifName, in @utf8InCpp String addrString, int prefixLength);
-  void interfaceDelAddress(in @utf8InCpp String ifName, in @utf8InCpp String addrString, int prefixLength);
-  @utf8InCpp String getProcSysNet(int ipversion, int which, in @utf8InCpp String ifname, in @utf8InCpp String parameter);
-  void setProcSysNet(int ipversion, int which, in @utf8InCpp String ifname, in @utf8InCpp String parameter, in @utf8InCpp String value);
-  void ipSecSetEncapSocketOwner(in ParcelFileDescriptor socket, int newUid);
-  int ipSecAllocateSpi(int transformId, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi);
-  void ipSecAddSecurityAssociation(int transformId, int mode, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int underlyingNetId, int spi, int markValue, int markMask, in @utf8InCpp String authAlgo, in byte[] authKey, in int authTruncBits, in @utf8InCpp String cryptAlgo, in byte[] cryptKey, in int cryptTruncBits, in @utf8InCpp String aeadAlgo, in byte[] aeadKey, in int aeadIcvBits, int encapType, int encapLocalPort, int encapRemotePort, int interfaceId);
-  void ipSecDeleteSecurityAssociation(int transformId, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi, int markValue, int markMask, int interfaceId);
-  void ipSecApplyTransportModeTransform(in ParcelFileDescriptor socket, int transformId, int direction, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi);
-  void ipSecRemoveTransportModeTransform(in ParcelFileDescriptor socket);
-  void ipSecAddSecurityPolicy(int transformId, int selAddrFamily, int direction, in @utf8InCpp String tmplSrcAddress, in @utf8InCpp String tmplDstAddress, int spi, int markValue, int markMask, int interfaceId);
-  void ipSecUpdateSecurityPolicy(int transformId, int selAddrFamily, int direction, in @utf8InCpp String tmplSrcAddress, in @utf8InCpp String tmplDstAddress, int spi, int markValue, int markMask, int interfaceId);
-  void ipSecDeleteSecurityPolicy(int transformId, int selAddrFamily, int direction, int markValue, int markMask, int interfaceId);
-  void ipSecAddTunnelInterface(in @utf8InCpp String deviceName, in @utf8InCpp String localAddress, in @utf8InCpp String remoteAddress, int iKey, int oKey, int interfaceId);
-  void ipSecUpdateTunnelInterface(in @utf8InCpp String deviceName, in @utf8InCpp String localAddress, in @utf8InCpp String remoteAddress, int iKey, int oKey, int interfaceId);
-  void ipSecRemoveTunnelInterface(in @utf8InCpp String deviceName);
-  void wakeupAddInterface(in @utf8InCpp String ifName, in @utf8InCpp String prefix, int mark, int mask);
-  void wakeupDelInterface(in @utf8InCpp String ifName, in @utf8InCpp String prefix, int mark, int mask);
-  void setIPv6AddrGenMode(in @utf8InCpp String ifName, int mode);
-  void idletimerAddInterface(in @utf8InCpp String ifName, int timeout, in @utf8InCpp String classLabel);
-  void idletimerRemoveInterface(in @utf8InCpp String ifName, int timeout, in @utf8InCpp String classLabel);
-  void strictUidCleartextPenalty(int uid, int policyPenalty);
-  @utf8InCpp String clatdStart(in @utf8InCpp String ifName, in @utf8InCpp String nat64Prefix);
-  void clatdStop(in @utf8InCpp String ifName);
-  boolean ipfwdEnabled();
-  @utf8InCpp String[] ipfwdGetRequesterList();
-  void ipfwdEnableForwarding(in @utf8InCpp String requester);
-  void ipfwdDisableForwarding(in @utf8InCpp String requester);
-  void ipfwdAddInterfaceForward(in @utf8InCpp String fromIface, in @utf8InCpp String toIface);
-  void ipfwdRemoveInterfaceForward(in @utf8InCpp String fromIface, in @utf8InCpp String toIface);
-  void bandwidthSetInterfaceQuota(in @utf8InCpp String ifName, long bytes);
-  void bandwidthRemoveInterfaceQuota(in @utf8InCpp String ifName);
-  void bandwidthSetInterfaceAlert(in @utf8InCpp String ifName, long bytes);
-  void bandwidthRemoveInterfaceAlert(in @utf8InCpp String ifName);
-  void bandwidthSetGlobalAlert(long bytes);
-  void bandwidthAddNaughtyApp(int uid);
-  void bandwidthRemoveNaughtyApp(int uid);
-  void bandwidthAddNiceApp(int uid);
-  void bandwidthRemoveNiceApp(int uid);
-  void tetherStart(in @utf8InCpp String[] dhcpRanges);
-  void tetherStop();
-  boolean tetherIsEnabled();
-  void tetherInterfaceAdd(in @utf8InCpp String ifName);
-  void tetherInterfaceRemove(in @utf8InCpp String ifName);
-  @utf8InCpp String[] tetherInterfaceList();
-  void tetherDnsSet(int netId, in @utf8InCpp String[] dnsAddrs);
-  @utf8InCpp String[] tetherDnsList();
-  void networkAddRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop);
-  void networkRemoveRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop);
-  void networkAddLegacyRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop, int uid);
-  void networkRemoveLegacyRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop, int uid);
-  int networkGetDefault();
-  void networkSetDefault(int netId);
-  void networkClearDefault();
-  void networkSetPermissionForNetwork(int netId, int permission);
-  void networkSetPermissionForUser(int permission, in int[] uids);
-  void networkClearPermissionForUser(in int[] uids);
-  void trafficSetNetPermForUids(int permission, in int[] uids);
-  void networkSetProtectAllow(int uid);
-  void networkSetProtectDeny(int uid);
-  boolean networkCanProtect(int uid);
-  void firewallSetFirewallType(int firewalltype);
-  void firewallSetInterfaceRule(in @utf8InCpp String ifName, int firewallRule);
-  void firewallSetUidRule(int childChain, int uid, int firewallRule);
-  void firewallEnableChildChain(int childChain, boolean enable);
-  @utf8InCpp String[] interfaceGetList();
-  android.net.InterfaceConfigurationParcel interfaceGetCfg(in @utf8InCpp String ifName);
-  void interfaceSetCfg(in android.net.InterfaceConfigurationParcel cfg);
-  void interfaceSetIPv6PrivacyExtensions(in @utf8InCpp String ifName, boolean enable);
-  void interfaceClearAddrs(in @utf8InCpp String ifName);
-  void interfaceSetEnableIPv6(in @utf8InCpp String ifName, boolean enable);
-  void interfaceSetMtu(in @utf8InCpp String ifName, int mtu);
-  void tetherAddForward(in @utf8InCpp String intIface, in @utf8InCpp String extIface);
-  void tetherRemoveForward(in @utf8InCpp String intIface, in @utf8InCpp String extIface);
-  void setTcpRWmemorySize(in @utf8InCpp String rmemValues, in @utf8InCpp String wmemValues);
-  void registerUnsolicitedEventListener(android.net.INetdUnsolicitedEventListener listener);
-  void firewallAddUidInterfaceRules(in @utf8InCpp String ifName, in int[] uids);
-  void firewallRemoveUidInterfaceRules(in int[] uids);
-  void trafficSwapActiveStatsMap();
-  IBinder getOemNetd();
-  void tetherStartWithConfiguration(in android.net.TetherConfigParcel config);
-  android.net.MarkMaskParcel getFwmarkForNetwork(int netId);
-  void networkAddRouteParcel(int netId, in android.net.RouteInfoParcel routeInfo);
-  void networkUpdateRouteParcel(int netId, in android.net.RouteInfoParcel routeInfo);
-  void networkRemoveRouteParcel(int netId, in android.net.RouteInfoParcel routeInfo);
-  void tetherOffloadRuleAdd(in android.net.TetherOffloadRuleParcel rule);
-  void tetherOffloadRuleRemove(in android.net.TetherOffloadRuleParcel rule);
-  android.net.TetherStatsParcel[] tetherOffloadGetStats();
-  void tetherOffloadSetInterfaceQuota(int ifIndex, long quotaBytes);
-  android.net.TetherStatsParcel tetherOffloadGetAndClearStats(int ifIndex);
-  void networkCreate(in android.net.NativeNetworkConfig config);
-  const int IPV4 = 4;
-  const int IPV6 = 6;
-  const int CONF = 1;
-  const int NEIGH = 2;
-  const String IPSEC_INTERFACE_PREFIX = "ipsec";
-  const int IPV6_ADDR_GEN_MODE_EUI64 = 0;
-  const int IPV6_ADDR_GEN_MODE_NONE = 1;
-  const int IPV6_ADDR_GEN_MODE_STABLE_PRIVACY = 2;
-  const int IPV6_ADDR_GEN_MODE_RANDOM = 3;
-  const int IPV6_ADDR_GEN_MODE_DEFAULT = 0;
-  const int PENALTY_POLICY_ACCEPT = 1;
-  const int PENALTY_POLICY_LOG = 2;
-  const int PENALTY_POLICY_REJECT = 3;
-  const int LOCAL_NET_ID = 99;
-  const int DUMMY_NET_ID = 51;
-  const int UNREACHABLE_NET_ID = 52;
-  const String NEXTHOP_NONE = "";
-  const String NEXTHOP_UNREACHABLE = "unreachable";
-  const String NEXTHOP_THROW = "throw";
-  const int PERMISSION_NONE = 0;
-  const int PERMISSION_NETWORK = 1;
-  const int PERMISSION_SYSTEM = 2;
-  const int NO_PERMISSIONS = 0;
-  const int PERMISSION_INTERNET = 4;
-  const int PERMISSION_UPDATE_DEVICE_STATS = 8;
-  const int PERMISSION_UNINSTALLED = -1;
-  /**
-   * @deprecated use FIREWALL_ALLOWLIST.
-   */
-  const int FIREWALL_WHITELIST = 0;
-  const int FIREWALL_ALLOWLIST = 0;
-  /**
-   * @deprecated use FIREWALL_DENYLIST.
-   */
-  const int FIREWALL_BLACKLIST = 1;
-  const int FIREWALL_DENYLIST = 1;
-  const int FIREWALL_RULE_ALLOW = 1;
-  const int FIREWALL_RULE_DENY = 2;
-  const int FIREWALL_CHAIN_NONE = 0;
-  const int FIREWALL_CHAIN_DOZABLE = 1;
-  const int FIREWALL_CHAIN_STANDBY = 2;
-  const int FIREWALL_CHAIN_POWERSAVE = 3;
-  const int FIREWALL_CHAIN_RESTRICTED = 4;
-  const String IF_STATE_UP = "up";
-  const String IF_STATE_DOWN = "down";
-  const String IF_FLAG_BROADCAST = "broadcast";
-  const String IF_FLAG_LOOPBACK = "loopback";
-  const String IF_FLAG_POINTOPOINT = "point-to-point";
-  const String IF_FLAG_RUNNING = "running";
-  const String IF_FLAG_MULTICAST = "multicast";
-}
diff --git a/server/aidl_api/netd_aidl_interface/6/android/net/INetdUnsolicitedEventListener.aidl b/server/aidl_api/netd_aidl_interface/6/android/net/INetdUnsolicitedEventListener.aidl
deleted file mode 100644
index 31775df..0000000
--- a/server/aidl_api/netd_aidl_interface/6/android/net/INetdUnsolicitedEventListener.aidl
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Copyright (c) 2018, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-interface INetdUnsolicitedEventListener {
-  oneway void onInterfaceClassActivityChanged(boolean isActive, int timerLabel, long timestampNs, int uid);
-  oneway void onQuotaLimitReached(@utf8InCpp String alertName, @utf8InCpp String ifName);
-  oneway void onInterfaceDnsServerInfo(@utf8InCpp String ifName, long lifetimeS, in @utf8InCpp String[] servers);
-  oneway void onInterfaceAddressUpdated(@utf8InCpp String addr, @utf8InCpp String ifName, int flags, int scope);
-  oneway void onInterfaceAddressRemoved(@utf8InCpp String addr, @utf8InCpp String ifName, int flags, int scope);
-  oneway void onInterfaceAdded(@utf8InCpp String ifName);
-  oneway void onInterfaceRemoved(@utf8InCpp String ifName);
-  oneway void onInterfaceChanged(@utf8InCpp String ifName, boolean up);
-  oneway void onInterfaceLinkStateChanged(@utf8InCpp String ifName, boolean up);
-  oneway void onRouteChanged(boolean updated, @utf8InCpp String route, @utf8InCpp String gateway, @utf8InCpp String ifName);
-  oneway void onStrictCleartextDetected(int uid, @utf8InCpp String hex);
-}
diff --git a/server/aidl_api/netd_aidl_interface/6/android/net/InterfaceConfigurationParcel.aidl b/server/aidl_api/netd_aidl_interface/6/android/net/InterfaceConfigurationParcel.aidl
deleted file mode 100644
index 1869d8d..0000000
--- a/server/aidl_api/netd_aidl_interface/6/android/net/InterfaceConfigurationParcel.aidl
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable InterfaceConfigurationParcel {
-  @utf8InCpp String ifName;
-  @utf8InCpp String hwAddr;
-  @utf8InCpp String ipv4Addr;
-  int prefixLength;
-  @utf8InCpp String[] flags;
-}
diff --git a/server/aidl_api/netd_aidl_interface/6/android/net/MarkMaskParcel.aidl b/server/aidl_api/netd_aidl_interface/6/android/net/MarkMaskParcel.aidl
deleted file mode 100644
index 8ea20d1..0000000
--- a/server/aidl_api/netd_aidl_interface/6/android/net/MarkMaskParcel.aidl
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable MarkMaskParcel {
-  int mark;
-  int mask;
-}
diff --git a/server/aidl_api/netd_aidl_interface/6/android/net/NativeNetworkConfig.aidl b/server/aidl_api/netd_aidl_interface/6/android/net/NativeNetworkConfig.aidl
deleted file mode 100644
index 76562b2..0000000
--- a/server/aidl_api/netd_aidl_interface/6/android/net/NativeNetworkConfig.aidl
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-@JavaDerive(equals=true, toString=true) @JavaOnlyImmutable
-parcelable NativeNetworkConfig {
-  int netId;
-  android.net.NativeNetworkType networkType = android.net.NativeNetworkType.PHYSICAL;
-  int permission;
-  boolean secure;
-  android.net.NativeVpnType vpnType = android.net.NativeVpnType.PLATFORM;
-}
diff --git a/server/aidl_api/netd_aidl_interface/6/android/net/NativeNetworkType.aidl b/server/aidl_api/netd_aidl_interface/6/android/net/NativeNetworkType.aidl
deleted file mode 100644
index 06c8979..0000000
--- a/server/aidl_api/netd_aidl_interface/6/android/net/NativeNetworkType.aidl
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-@Backing(type="int")
-enum NativeNetworkType {
-  PHYSICAL = 0,
-  VIRTUAL = 1,
-}
diff --git a/server/aidl_api/netd_aidl_interface/6/android/net/NativeVpnType.aidl b/server/aidl_api/netd_aidl_interface/6/android/net/NativeVpnType.aidl
deleted file mode 100644
index 8a8be83..0000000
--- a/server/aidl_api/netd_aidl_interface/6/android/net/NativeVpnType.aidl
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-@Backing(type="int")
-enum NativeVpnType {
-  SERVICE = 1,
-  PLATFORM = 2,
-  LEGACY = 3,
-  OEM = 4,
-}
diff --git a/server/aidl_api/netd_aidl_interface/6/android/net/RouteInfoParcel.aidl b/server/aidl_api/netd_aidl_interface/6/android/net/RouteInfoParcel.aidl
deleted file mode 100644
index 5ef95e6..0000000
--- a/server/aidl_api/netd_aidl_interface/6/android/net/RouteInfoParcel.aidl
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Copyright (c) 2020, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-parcelable RouteInfoParcel {
-  @utf8InCpp String destination;
-  @utf8InCpp String ifName;
-  @utf8InCpp String nextHop;
-  int mtu;
-}
diff --git a/server/aidl_api/netd_aidl_interface/6/android/net/TetherConfigParcel.aidl b/server/aidl_api/netd_aidl_interface/6/android/net/TetherConfigParcel.aidl
deleted file mode 100644
index 7b39c22..0000000
--- a/server/aidl_api/netd_aidl_interface/6/android/net/TetherConfigParcel.aidl
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable TetherConfigParcel {
-  boolean usingLegacyDnsProxy;
-  @utf8InCpp String[] dhcpRanges;
-}
diff --git a/server/aidl_api/netd_aidl_interface/6/android/net/TetherOffloadRuleParcel.aidl b/server/aidl_api/netd_aidl_interface/6/android/net/TetherOffloadRuleParcel.aidl
deleted file mode 100644
index 983e986..0000000
--- a/server/aidl_api/netd_aidl_interface/6/android/net/TetherOffloadRuleParcel.aidl
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable TetherOffloadRuleParcel {
-  int inputInterfaceIndex;
-  int outputInterfaceIndex;
-  byte[] destination;
-  int prefixLength;
-  byte[] srcL2Address;
-  byte[] dstL2Address;
-  int pmtu = 1500;
-}
diff --git a/server/aidl_api/netd_aidl_interface/6/android/net/TetherStatsParcel.aidl b/server/aidl_api/netd_aidl_interface/6/android/net/TetherStatsParcel.aidl
deleted file mode 100644
index 5f1b722..0000000
--- a/server/aidl_api/netd_aidl_interface/6/android/net/TetherStatsParcel.aidl
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable TetherStatsParcel {
-  @utf8InCpp String iface;
-  long rxBytes;
-  long rxPackets;
-  long txBytes;
-  long txPackets;
-  int ifIndex = 0;
-}
diff --git a/server/aidl_api/netd_aidl_interface/6/android/net/UidRangeParcel.aidl b/server/aidl_api/netd_aidl_interface/6/android/net/UidRangeParcel.aidl
deleted file mode 100644
index 72e987a..0000000
--- a/server/aidl_api/netd_aidl_interface/6/android/net/UidRangeParcel.aidl
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-@JavaDerive(equals=true, toString=true) @JavaOnlyImmutable
-parcelable UidRangeParcel {
-  int start;
-  int stop;
-}
diff --git a/server/aidl_api/netd_aidl_interface/7/.hash b/server/aidl_api/netd_aidl_interface/7/.hash
deleted file mode 100644
index cad59df..0000000
--- a/server/aidl_api/netd_aidl_interface/7/.hash
+++ /dev/null
@@ -1 +0,0 @@
-850353de5d19a0dd718f8fd20791f0532e6a34c7
diff --git a/server/aidl_api/netd_aidl_interface/7/android/net/INetd.aidl b/server/aidl_api/netd_aidl_interface/7/android/net/INetd.aidl
deleted file mode 100644
index ec03d86..0000000
--- a/server/aidl_api/netd_aidl_interface/7/android/net/INetd.aidl
+++ /dev/null
@@ -1,200 +0,0 @@
-/**
- * Copyright (c) 2016, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-interface INetd {
-  boolean isAlive();
-  boolean firewallReplaceUidChain(in @utf8InCpp String chainName, boolean isAllowlist, in int[] uids);
-  boolean bandwidthEnableDataSaver(boolean enable);
-  /**
-   * @deprecated use networkCreate() instead.
-   */
-  void networkCreatePhysical(int netId, int permission);
-  /**
-   * @deprecated use networkCreate() instead.
-   */
-  void networkCreateVpn(int netId, boolean secure);
-  void networkDestroy(int netId);
-  void networkAddInterface(int netId, in @utf8InCpp String iface);
-  void networkRemoveInterface(int netId, in @utf8InCpp String iface);
-  void networkAddUidRanges(int netId, in android.net.UidRangeParcel[] uidRanges);
-  void networkRemoveUidRanges(int netId, in android.net.UidRangeParcel[] uidRanges);
-  void networkRejectNonSecureVpn(boolean add, in android.net.UidRangeParcel[] uidRanges);
-  void socketDestroy(in android.net.UidRangeParcel[] uidRanges, in int[] exemptUids);
-  boolean tetherApplyDnsInterfaces();
-  android.net.TetherStatsParcel[] tetherGetStats();
-  void interfaceAddAddress(in @utf8InCpp String ifName, in @utf8InCpp String addrString, int prefixLength);
-  void interfaceDelAddress(in @utf8InCpp String ifName, in @utf8InCpp String addrString, int prefixLength);
-  @utf8InCpp String getProcSysNet(int ipversion, int which, in @utf8InCpp String ifname, in @utf8InCpp String parameter);
-  void setProcSysNet(int ipversion, int which, in @utf8InCpp String ifname, in @utf8InCpp String parameter, in @utf8InCpp String value);
-  void ipSecSetEncapSocketOwner(in ParcelFileDescriptor socket, int newUid);
-  int ipSecAllocateSpi(int transformId, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi);
-  void ipSecAddSecurityAssociation(int transformId, int mode, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int underlyingNetId, int spi, int markValue, int markMask, in @utf8InCpp String authAlgo, in byte[] authKey, in int authTruncBits, in @utf8InCpp String cryptAlgo, in byte[] cryptKey, in int cryptTruncBits, in @utf8InCpp String aeadAlgo, in byte[] aeadKey, in int aeadIcvBits, int encapType, int encapLocalPort, int encapRemotePort, int interfaceId);
-  void ipSecDeleteSecurityAssociation(int transformId, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi, int markValue, int markMask, int interfaceId);
-  void ipSecApplyTransportModeTransform(in ParcelFileDescriptor socket, int transformId, int direction, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi);
-  void ipSecRemoveTransportModeTransform(in ParcelFileDescriptor socket);
-  void ipSecAddSecurityPolicy(int transformId, int selAddrFamily, int direction, in @utf8InCpp String tmplSrcAddress, in @utf8InCpp String tmplDstAddress, int spi, int markValue, int markMask, int interfaceId);
-  void ipSecUpdateSecurityPolicy(int transformId, int selAddrFamily, int direction, in @utf8InCpp String tmplSrcAddress, in @utf8InCpp String tmplDstAddress, int spi, int markValue, int markMask, int interfaceId);
-  void ipSecDeleteSecurityPolicy(int transformId, int selAddrFamily, int direction, int markValue, int markMask, int interfaceId);
-  void ipSecAddTunnelInterface(in @utf8InCpp String deviceName, in @utf8InCpp String localAddress, in @utf8InCpp String remoteAddress, int iKey, int oKey, int interfaceId);
-  void ipSecUpdateTunnelInterface(in @utf8InCpp String deviceName, in @utf8InCpp String localAddress, in @utf8InCpp String remoteAddress, int iKey, int oKey, int interfaceId);
-  void ipSecRemoveTunnelInterface(in @utf8InCpp String deviceName);
-  void wakeupAddInterface(in @utf8InCpp String ifName, in @utf8InCpp String prefix, int mark, int mask);
-  void wakeupDelInterface(in @utf8InCpp String ifName, in @utf8InCpp String prefix, int mark, int mask);
-  void setIPv6AddrGenMode(in @utf8InCpp String ifName, int mode);
-  void idletimerAddInterface(in @utf8InCpp String ifName, int timeout, in @utf8InCpp String classLabel);
-  void idletimerRemoveInterface(in @utf8InCpp String ifName, int timeout, in @utf8InCpp String classLabel);
-  void strictUidCleartextPenalty(int uid, int policyPenalty);
-  @utf8InCpp String clatdStart(in @utf8InCpp String ifName, in @utf8InCpp String nat64Prefix);
-  void clatdStop(in @utf8InCpp String ifName);
-  boolean ipfwdEnabled();
-  @utf8InCpp String[] ipfwdGetRequesterList();
-  void ipfwdEnableForwarding(in @utf8InCpp String requester);
-  void ipfwdDisableForwarding(in @utf8InCpp String requester);
-  void ipfwdAddInterfaceForward(in @utf8InCpp String fromIface, in @utf8InCpp String toIface);
-  void ipfwdRemoveInterfaceForward(in @utf8InCpp String fromIface, in @utf8InCpp String toIface);
-  void bandwidthSetInterfaceQuota(in @utf8InCpp String ifName, long bytes);
-  void bandwidthRemoveInterfaceQuota(in @utf8InCpp String ifName);
-  void bandwidthSetInterfaceAlert(in @utf8InCpp String ifName, long bytes);
-  void bandwidthRemoveInterfaceAlert(in @utf8InCpp String ifName);
-  void bandwidthSetGlobalAlert(long bytes);
-  void bandwidthAddNaughtyApp(int uid);
-  void bandwidthRemoveNaughtyApp(int uid);
-  void bandwidthAddNiceApp(int uid);
-  void bandwidthRemoveNiceApp(int uid);
-  void tetherStart(in @utf8InCpp String[] dhcpRanges);
-  void tetherStop();
-  boolean tetherIsEnabled();
-  void tetherInterfaceAdd(in @utf8InCpp String ifName);
-  void tetherInterfaceRemove(in @utf8InCpp String ifName);
-  @utf8InCpp String[] tetherInterfaceList();
-  void tetherDnsSet(int netId, in @utf8InCpp String[] dnsAddrs);
-  @utf8InCpp String[] tetherDnsList();
-  void networkAddRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop);
-  void networkRemoveRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop);
-  void networkAddLegacyRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop, int uid);
-  void networkRemoveLegacyRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop, int uid);
-  int networkGetDefault();
-  void networkSetDefault(int netId);
-  void networkClearDefault();
-  void networkSetPermissionForNetwork(int netId, int permission);
-  void networkSetPermissionForUser(int permission, in int[] uids);
-  void networkClearPermissionForUser(in int[] uids);
-  void trafficSetNetPermForUids(int permission, in int[] uids);
-  void networkSetProtectAllow(int uid);
-  void networkSetProtectDeny(int uid);
-  boolean networkCanProtect(int uid);
-  void firewallSetFirewallType(int firewalltype);
-  void firewallSetInterfaceRule(in @utf8InCpp String ifName, int firewallRule);
-  void firewallSetUidRule(int childChain, int uid, int firewallRule);
-  void firewallEnableChildChain(int childChain, boolean enable);
-  @utf8InCpp String[] interfaceGetList();
-  android.net.InterfaceConfigurationParcel interfaceGetCfg(in @utf8InCpp String ifName);
-  void interfaceSetCfg(in android.net.InterfaceConfigurationParcel cfg);
-  void interfaceSetIPv6PrivacyExtensions(in @utf8InCpp String ifName, boolean enable);
-  void interfaceClearAddrs(in @utf8InCpp String ifName);
-  void interfaceSetEnableIPv6(in @utf8InCpp String ifName, boolean enable);
-  void interfaceSetMtu(in @utf8InCpp String ifName, int mtu);
-  void tetherAddForward(in @utf8InCpp String intIface, in @utf8InCpp String extIface);
-  void tetherRemoveForward(in @utf8InCpp String intIface, in @utf8InCpp String extIface);
-  void setTcpRWmemorySize(in @utf8InCpp String rmemValues, in @utf8InCpp String wmemValues);
-  void registerUnsolicitedEventListener(android.net.INetdUnsolicitedEventListener listener);
-  void firewallAddUidInterfaceRules(in @utf8InCpp String ifName, in int[] uids);
-  void firewallRemoveUidInterfaceRules(in int[] uids);
-  void trafficSwapActiveStatsMap();
-  IBinder getOemNetd();
-  void tetherStartWithConfiguration(in android.net.TetherConfigParcel config);
-  android.net.MarkMaskParcel getFwmarkForNetwork(int netId);
-  void networkAddRouteParcel(int netId, in android.net.RouteInfoParcel routeInfo);
-  void networkUpdateRouteParcel(int netId, in android.net.RouteInfoParcel routeInfo);
-  void networkRemoveRouteParcel(int netId, in android.net.RouteInfoParcel routeInfo);
-  void tetherOffloadRuleAdd(in android.net.TetherOffloadRuleParcel rule);
-  void tetherOffloadRuleRemove(in android.net.TetherOffloadRuleParcel rule);
-  android.net.TetherStatsParcel[] tetherOffloadGetStats();
-  void tetherOffloadSetInterfaceQuota(int ifIndex, long quotaBytes);
-  android.net.TetherStatsParcel tetherOffloadGetAndClearStats(int ifIndex);
-  void networkCreate(in android.net.NativeNetworkConfig config);
-  void networkAddUidRangesParcel(in android.net.netd.aidl.NativeUidRangeConfig uidRangesConfig);
-  void networkRemoveUidRangesParcel(in android.net.netd.aidl.NativeUidRangeConfig uidRangesConfig);
-  const int IPV4 = 4;
-  const int IPV6 = 6;
-  const int CONF = 1;
-  const int NEIGH = 2;
-  const String IPSEC_INTERFACE_PREFIX = "ipsec";
-  const int IPV6_ADDR_GEN_MODE_EUI64 = 0;
-  const int IPV6_ADDR_GEN_MODE_NONE = 1;
-  const int IPV6_ADDR_GEN_MODE_STABLE_PRIVACY = 2;
-  const int IPV6_ADDR_GEN_MODE_RANDOM = 3;
-  const int IPV6_ADDR_GEN_MODE_DEFAULT = 0;
-  const int PENALTY_POLICY_ACCEPT = 1;
-  const int PENALTY_POLICY_LOG = 2;
-  const int PENALTY_POLICY_REJECT = 3;
-  const int LOCAL_NET_ID = 99;
-  const int DUMMY_NET_ID = 51;
-  const int UNREACHABLE_NET_ID = 52;
-  const String NEXTHOP_NONE = "";
-  const String NEXTHOP_UNREACHABLE = "unreachable";
-  const String NEXTHOP_THROW = "throw";
-  const int PERMISSION_NONE = 0;
-  const int PERMISSION_NETWORK = 1;
-  const int PERMISSION_SYSTEM = 2;
-  const int NO_PERMISSIONS = 0;
-  const int PERMISSION_INTERNET = 4;
-  const int PERMISSION_UPDATE_DEVICE_STATS = 8;
-  const int PERMISSION_UNINSTALLED = -1;
-  /**
-   * @deprecated use FIREWALL_ALLOWLIST.
-   */
-  const int FIREWALL_WHITELIST = 0;
-  const int FIREWALL_ALLOWLIST = 0;
-  /**
-   * @deprecated use FIREWALL_DENYLIST.
-   */
-  const int FIREWALL_BLACKLIST = 1;
-  const int FIREWALL_DENYLIST = 1;
-  const int FIREWALL_RULE_ALLOW = 1;
-  const int FIREWALL_RULE_DENY = 2;
-  const int FIREWALL_CHAIN_NONE = 0;
-  const int FIREWALL_CHAIN_DOZABLE = 1;
-  const int FIREWALL_CHAIN_STANDBY = 2;
-  const int FIREWALL_CHAIN_POWERSAVE = 3;
-  const int FIREWALL_CHAIN_RESTRICTED = 4;
-  const String IF_STATE_UP = "up";
-  const String IF_STATE_DOWN = "down";
-  const String IF_FLAG_BROADCAST = "broadcast";
-  const String IF_FLAG_LOOPBACK = "loopback";
-  const String IF_FLAG_POINTOPOINT = "point-to-point";
-  const String IF_FLAG_RUNNING = "running";
-  const String IF_FLAG_MULTICAST = "multicast";
-}
diff --git a/server/aidl_api/netd_aidl_interface/7/android/net/INetdUnsolicitedEventListener.aidl b/server/aidl_api/netd_aidl_interface/7/android/net/INetdUnsolicitedEventListener.aidl
deleted file mode 100644
index 31775df..0000000
--- a/server/aidl_api/netd_aidl_interface/7/android/net/INetdUnsolicitedEventListener.aidl
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Copyright (c) 2018, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-interface INetdUnsolicitedEventListener {
-  oneway void onInterfaceClassActivityChanged(boolean isActive, int timerLabel, long timestampNs, int uid);
-  oneway void onQuotaLimitReached(@utf8InCpp String alertName, @utf8InCpp String ifName);
-  oneway void onInterfaceDnsServerInfo(@utf8InCpp String ifName, long lifetimeS, in @utf8InCpp String[] servers);
-  oneway void onInterfaceAddressUpdated(@utf8InCpp String addr, @utf8InCpp String ifName, int flags, int scope);
-  oneway void onInterfaceAddressRemoved(@utf8InCpp String addr, @utf8InCpp String ifName, int flags, int scope);
-  oneway void onInterfaceAdded(@utf8InCpp String ifName);
-  oneway void onInterfaceRemoved(@utf8InCpp String ifName);
-  oneway void onInterfaceChanged(@utf8InCpp String ifName, boolean up);
-  oneway void onInterfaceLinkStateChanged(@utf8InCpp String ifName, boolean up);
-  oneway void onRouteChanged(boolean updated, @utf8InCpp String route, @utf8InCpp String gateway, @utf8InCpp String ifName);
-  oneway void onStrictCleartextDetected(int uid, @utf8InCpp String hex);
-}
diff --git a/server/aidl_api/netd_aidl_interface/7/android/net/InterfaceConfigurationParcel.aidl b/server/aidl_api/netd_aidl_interface/7/android/net/InterfaceConfigurationParcel.aidl
deleted file mode 100644
index 1869d8d..0000000
--- a/server/aidl_api/netd_aidl_interface/7/android/net/InterfaceConfigurationParcel.aidl
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable InterfaceConfigurationParcel {
-  @utf8InCpp String ifName;
-  @utf8InCpp String hwAddr;
-  @utf8InCpp String ipv4Addr;
-  int prefixLength;
-  @utf8InCpp String[] flags;
-}
diff --git a/server/aidl_api/netd_aidl_interface/7/android/net/MarkMaskParcel.aidl b/server/aidl_api/netd_aidl_interface/7/android/net/MarkMaskParcel.aidl
deleted file mode 100644
index 8ea20d1..0000000
--- a/server/aidl_api/netd_aidl_interface/7/android/net/MarkMaskParcel.aidl
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable MarkMaskParcel {
-  int mark;
-  int mask;
-}
diff --git a/server/aidl_api/netd_aidl_interface/7/android/net/NativeNetworkConfig.aidl b/server/aidl_api/netd_aidl_interface/7/android/net/NativeNetworkConfig.aidl
deleted file mode 100644
index 76562b2..0000000
--- a/server/aidl_api/netd_aidl_interface/7/android/net/NativeNetworkConfig.aidl
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-@JavaDerive(equals=true, toString=true) @JavaOnlyImmutable
-parcelable NativeNetworkConfig {
-  int netId;
-  android.net.NativeNetworkType networkType = android.net.NativeNetworkType.PHYSICAL;
-  int permission;
-  boolean secure;
-  android.net.NativeVpnType vpnType = android.net.NativeVpnType.PLATFORM;
-}
diff --git a/server/aidl_api/netd_aidl_interface/7/android/net/NativeNetworkType.aidl b/server/aidl_api/netd_aidl_interface/7/android/net/NativeNetworkType.aidl
deleted file mode 100644
index 06c8979..0000000
--- a/server/aidl_api/netd_aidl_interface/7/android/net/NativeNetworkType.aidl
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-@Backing(type="int")
-enum NativeNetworkType {
-  PHYSICAL = 0,
-  VIRTUAL = 1,
-}
diff --git a/server/aidl_api/netd_aidl_interface/7/android/net/NativeVpnType.aidl b/server/aidl_api/netd_aidl_interface/7/android/net/NativeVpnType.aidl
deleted file mode 100644
index 8a8be83..0000000
--- a/server/aidl_api/netd_aidl_interface/7/android/net/NativeVpnType.aidl
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-@Backing(type="int")
-enum NativeVpnType {
-  SERVICE = 1,
-  PLATFORM = 2,
-  LEGACY = 3,
-  OEM = 4,
-}
diff --git a/server/aidl_api/netd_aidl_interface/7/android/net/RouteInfoParcel.aidl b/server/aidl_api/netd_aidl_interface/7/android/net/RouteInfoParcel.aidl
deleted file mode 100644
index 5ef95e6..0000000
--- a/server/aidl_api/netd_aidl_interface/7/android/net/RouteInfoParcel.aidl
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Copyright (c) 2020, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-parcelable RouteInfoParcel {
-  @utf8InCpp String destination;
-  @utf8InCpp String ifName;
-  @utf8InCpp String nextHop;
-  int mtu;
-}
diff --git a/server/aidl_api/netd_aidl_interface/7/android/net/TetherConfigParcel.aidl b/server/aidl_api/netd_aidl_interface/7/android/net/TetherConfigParcel.aidl
deleted file mode 100644
index 7b39c22..0000000
--- a/server/aidl_api/netd_aidl_interface/7/android/net/TetherConfigParcel.aidl
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable TetherConfigParcel {
-  boolean usingLegacyDnsProxy;
-  @utf8InCpp String[] dhcpRanges;
-}
diff --git a/server/aidl_api/netd_aidl_interface/7/android/net/TetherOffloadRuleParcel.aidl b/server/aidl_api/netd_aidl_interface/7/android/net/TetherOffloadRuleParcel.aidl
deleted file mode 100644
index 983e986..0000000
--- a/server/aidl_api/netd_aidl_interface/7/android/net/TetherOffloadRuleParcel.aidl
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable TetherOffloadRuleParcel {
-  int inputInterfaceIndex;
-  int outputInterfaceIndex;
-  byte[] destination;
-  int prefixLength;
-  byte[] srcL2Address;
-  byte[] dstL2Address;
-  int pmtu = 1500;
-}
diff --git a/server/aidl_api/netd_aidl_interface/7/android/net/TetherStatsParcel.aidl b/server/aidl_api/netd_aidl_interface/7/android/net/TetherStatsParcel.aidl
deleted file mode 100644
index 5f1b722..0000000
--- a/server/aidl_api/netd_aidl_interface/7/android/net/TetherStatsParcel.aidl
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable TetherStatsParcel {
-  @utf8InCpp String iface;
-  long rxBytes;
-  long rxPackets;
-  long txBytes;
-  long txPackets;
-  int ifIndex = 0;
-}
diff --git a/server/aidl_api/netd_aidl_interface/7/android/net/UidRangeParcel.aidl b/server/aidl_api/netd_aidl_interface/7/android/net/UidRangeParcel.aidl
deleted file mode 100644
index 72e987a..0000000
--- a/server/aidl_api/netd_aidl_interface/7/android/net/UidRangeParcel.aidl
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-@JavaDerive(equals=true, toString=true) @JavaOnlyImmutable
-parcelable UidRangeParcel {
-  int start;
-  int stop;
-}
diff --git a/server/aidl_api/netd_aidl_interface/7/android/net/netd/aidl/NativeUidRangeConfig.aidl b/server/aidl_api/netd_aidl_interface/7/android/net/netd/aidl/NativeUidRangeConfig.aidl
deleted file mode 100644
index 9bb679f..0000000
--- a/server/aidl_api/netd_aidl_interface/7/android/net/netd/aidl/NativeUidRangeConfig.aidl
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net.netd.aidl;
-/* @hide */
-@JavaDerive(equals=true, toString=true) @JavaOnlyImmutable
-parcelable NativeUidRangeConfig {
-  int netId;
-  android.net.UidRangeParcel[] uidRanges;
-  int subPriority;
-}
diff --git a/server/aidl_api/netd_aidl_interface/current/android/net/INetd.aidl b/server/aidl_api/netd_aidl_interface/current/android/net/INetd.aidl
deleted file mode 100644
index ec03d86..0000000
--- a/server/aidl_api/netd_aidl_interface/current/android/net/INetd.aidl
+++ /dev/null
@@ -1,200 +0,0 @@
-/**
- * Copyright (c) 2016, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-interface INetd {
-  boolean isAlive();
-  boolean firewallReplaceUidChain(in @utf8InCpp String chainName, boolean isAllowlist, in int[] uids);
-  boolean bandwidthEnableDataSaver(boolean enable);
-  /**
-   * @deprecated use networkCreate() instead.
-   */
-  void networkCreatePhysical(int netId, int permission);
-  /**
-   * @deprecated use networkCreate() instead.
-   */
-  void networkCreateVpn(int netId, boolean secure);
-  void networkDestroy(int netId);
-  void networkAddInterface(int netId, in @utf8InCpp String iface);
-  void networkRemoveInterface(int netId, in @utf8InCpp String iface);
-  void networkAddUidRanges(int netId, in android.net.UidRangeParcel[] uidRanges);
-  void networkRemoveUidRanges(int netId, in android.net.UidRangeParcel[] uidRanges);
-  void networkRejectNonSecureVpn(boolean add, in android.net.UidRangeParcel[] uidRanges);
-  void socketDestroy(in android.net.UidRangeParcel[] uidRanges, in int[] exemptUids);
-  boolean tetherApplyDnsInterfaces();
-  android.net.TetherStatsParcel[] tetherGetStats();
-  void interfaceAddAddress(in @utf8InCpp String ifName, in @utf8InCpp String addrString, int prefixLength);
-  void interfaceDelAddress(in @utf8InCpp String ifName, in @utf8InCpp String addrString, int prefixLength);
-  @utf8InCpp String getProcSysNet(int ipversion, int which, in @utf8InCpp String ifname, in @utf8InCpp String parameter);
-  void setProcSysNet(int ipversion, int which, in @utf8InCpp String ifname, in @utf8InCpp String parameter, in @utf8InCpp String value);
-  void ipSecSetEncapSocketOwner(in ParcelFileDescriptor socket, int newUid);
-  int ipSecAllocateSpi(int transformId, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi);
-  void ipSecAddSecurityAssociation(int transformId, int mode, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int underlyingNetId, int spi, int markValue, int markMask, in @utf8InCpp String authAlgo, in byte[] authKey, in int authTruncBits, in @utf8InCpp String cryptAlgo, in byte[] cryptKey, in int cryptTruncBits, in @utf8InCpp String aeadAlgo, in byte[] aeadKey, in int aeadIcvBits, int encapType, int encapLocalPort, int encapRemotePort, int interfaceId);
-  void ipSecDeleteSecurityAssociation(int transformId, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi, int markValue, int markMask, int interfaceId);
-  void ipSecApplyTransportModeTransform(in ParcelFileDescriptor socket, int transformId, int direction, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi);
-  void ipSecRemoveTransportModeTransform(in ParcelFileDescriptor socket);
-  void ipSecAddSecurityPolicy(int transformId, int selAddrFamily, int direction, in @utf8InCpp String tmplSrcAddress, in @utf8InCpp String tmplDstAddress, int spi, int markValue, int markMask, int interfaceId);
-  void ipSecUpdateSecurityPolicy(int transformId, int selAddrFamily, int direction, in @utf8InCpp String tmplSrcAddress, in @utf8InCpp String tmplDstAddress, int spi, int markValue, int markMask, int interfaceId);
-  void ipSecDeleteSecurityPolicy(int transformId, int selAddrFamily, int direction, int markValue, int markMask, int interfaceId);
-  void ipSecAddTunnelInterface(in @utf8InCpp String deviceName, in @utf8InCpp String localAddress, in @utf8InCpp String remoteAddress, int iKey, int oKey, int interfaceId);
-  void ipSecUpdateTunnelInterface(in @utf8InCpp String deviceName, in @utf8InCpp String localAddress, in @utf8InCpp String remoteAddress, int iKey, int oKey, int interfaceId);
-  void ipSecRemoveTunnelInterface(in @utf8InCpp String deviceName);
-  void wakeupAddInterface(in @utf8InCpp String ifName, in @utf8InCpp String prefix, int mark, int mask);
-  void wakeupDelInterface(in @utf8InCpp String ifName, in @utf8InCpp String prefix, int mark, int mask);
-  void setIPv6AddrGenMode(in @utf8InCpp String ifName, int mode);
-  void idletimerAddInterface(in @utf8InCpp String ifName, int timeout, in @utf8InCpp String classLabel);
-  void idletimerRemoveInterface(in @utf8InCpp String ifName, int timeout, in @utf8InCpp String classLabel);
-  void strictUidCleartextPenalty(int uid, int policyPenalty);
-  @utf8InCpp String clatdStart(in @utf8InCpp String ifName, in @utf8InCpp String nat64Prefix);
-  void clatdStop(in @utf8InCpp String ifName);
-  boolean ipfwdEnabled();
-  @utf8InCpp String[] ipfwdGetRequesterList();
-  void ipfwdEnableForwarding(in @utf8InCpp String requester);
-  void ipfwdDisableForwarding(in @utf8InCpp String requester);
-  void ipfwdAddInterfaceForward(in @utf8InCpp String fromIface, in @utf8InCpp String toIface);
-  void ipfwdRemoveInterfaceForward(in @utf8InCpp String fromIface, in @utf8InCpp String toIface);
-  void bandwidthSetInterfaceQuota(in @utf8InCpp String ifName, long bytes);
-  void bandwidthRemoveInterfaceQuota(in @utf8InCpp String ifName);
-  void bandwidthSetInterfaceAlert(in @utf8InCpp String ifName, long bytes);
-  void bandwidthRemoveInterfaceAlert(in @utf8InCpp String ifName);
-  void bandwidthSetGlobalAlert(long bytes);
-  void bandwidthAddNaughtyApp(int uid);
-  void bandwidthRemoveNaughtyApp(int uid);
-  void bandwidthAddNiceApp(int uid);
-  void bandwidthRemoveNiceApp(int uid);
-  void tetherStart(in @utf8InCpp String[] dhcpRanges);
-  void tetherStop();
-  boolean tetherIsEnabled();
-  void tetherInterfaceAdd(in @utf8InCpp String ifName);
-  void tetherInterfaceRemove(in @utf8InCpp String ifName);
-  @utf8InCpp String[] tetherInterfaceList();
-  void tetherDnsSet(int netId, in @utf8InCpp String[] dnsAddrs);
-  @utf8InCpp String[] tetherDnsList();
-  void networkAddRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop);
-  void networkRemoveRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop);
-  void networkAddLegacyRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop, int uid);
-  void networkRemoveLegacyRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop, int uid);
-  int networkGetDefault();
-  void networkSetDefault(int netId);
-  void networkClearDefault();
-  void networkSetPermissionForNetwork(int netId, int permission);
-  void networkSetPermissionForUser(int permission, in int[] uids);
-  void networkClearPermissionForUser(in int[] uids);
-  void trafficSetNetPermForUids(int permission, in int[] uids);
-  void networkSetProtectAllow(int uid);
-  void networkSetProtectDeny(int uid);
-  boolean networkCanProtect(int uid);
-  void firewallSetFirewallType(int firewalltype);
-  void firewallSetInterfaceRule(in @utf8InCpp String ifName, int firewallRule);
-  void firewallSetUidRule(int childChain, int uid, int firewallRule);
-  void firewallEnableChildChain(int childChain, boolean enable);
-  @utf8InCpp String[] interfaceGetList();
-  android.net.InterfaceConfigurationParcel interfaceGetCfg(in @utf8InCpp String ifName);
-  void interfaceSetCfg(in android.net.InterfaceConfigurationParcel cfg);
-  void interfaceSetIPv6PrivacyExtensions(in @utf8InCpp String ifName, boolean enable);
-  void interfaceClearAddrs(in @utf8InCpp String ifName);
-  void interfaceSetEnableIPv6(in @utf8InCpp String ifName, boolean enable);
-  void interfaceSetMtu(in @utf8InCpp String ifName, int mtu);
-  void tetherAddForward(in @utf8InCpp String intIface, in @utf8InCpp String extIface);
-  void tetherRemoveForward(in @utf8InCpp String intIface, in @utf8InCpp String extIface);
-  void setTcpRWmemorySize(in @utf8InCpp String rmemValues, in @utf8InCpp String wmemValues);
-  void registerUnsolicitedEventListener(android.net.INetdUnsolicitedEventListener listener);
-  void firewallAddUidInterfaceRules(in @utf8InCpp String ifName, in int[] uids);
-  void firewallRemoveUidInterfaceRules(in int[] uids);
-  void trafficSwapActiveStatsMap();
-  IBinder getOemNetd();
-  void tetherStartWithConfiguration(in android.net.TetherConfigParcel config);
-  android.net.MarkMaskParcel getFwmarkForNetwork(int netId);
-  void networkAddRouteParcel(int netId, in android.net.RouteInfoParcel routeInfo);
-  void networkUpdateRouteParcel(int netId, in android.net.RouteInfoParcel routeInfo);
-  void networkRemoveRouteParcel(int netId, in android.net.RouteInfoParcel routeInfo);
-  void tetherOffloadRuleAdd(in android.net.TetherOffloadRuleParcel rule);
-  void tetherOffloadRuleRemove(in android.net.TetherOffloadRuleParcel rule);
-  android.net.TetherStatsParcel[] tetherOffloadGetStats();
-  void tetherOffloadSetInterfaceQuota(int ifIndex, long quotaBytes);
-  android.net.TetherStatsParcel tetherOffloadGetAndClearStats(int ifIndex);
-  void networkCreate(in android.net.NativeNetworkConfig config);
-  void networkAddUidRangesParcel(in android.net.netd.aidl.NativeUidRangeConfig uidRangesConfig);
-  void networkRemoveUidRangesParcel(in android.net.netd.aidl.NativeUidRangeConfig uidRangesConfig);
-  const int IPV4 = 4;
-  const int IPV6 = 6;
-  const int CONF = 1;
-  const int NEIGH = 2;
-  const String IPSEC_INTERFACE_PREFIX = "ipsec";
-  const int IPV6_ADDR_GEN_MODE_EUI64 = 0;
-  const int IPV6_ADDR_GEN_MODE_NONE = 1;
-  const int IPV6_ADDR_GEN_MODE_STABLE_PRIVACY = 2;
-  const int IPV6_ADDR_GEN_MODE_RANDOM = 3;
-  const int IPV6_ADDR_GEN_MODE_DEFAULT = 0;
-  const int PENALTY_POLICY_ACCEPT = 1;
-  const int PENALTY_POLICY_LOG = 2;
-  const int PENALTY_POLICY_REJECT = 3;
-  const int LOCAL_NET_ID = 99;
-  const int DUMMY_NET_ID = 51;
-  const int UNREACHABLE_NET_ID = 52;
-  const String NEXTHOP_NONE = "";
-  const String NEXTHOP_UNREACHABLE = "unreachable";
-  const String NEXTHOP_THROW = "throw";
-  const int PERMISSION_NONE = 0;
-  const int PERMISSION_NETWORK = 1;
-  const int PERMISSION_SYSTEM = 2;
-  const int NO_PERMISSIONS = 0;
-  const int PERMISSION_INTERNET = 4;
-  const int PERMISSION_UPDATE_DEVICE_STATS = 8;
-  const int PERMISSION_UNINSTALLED = -1;
-  /**
-   * @deprecated use FIREWALL_ALLOWLIST.
-   */
-  const int FIREWALL_WHITELIST = 0;
-  const int FIREWALL_ALLOWLIST = 0;
-  /**
-   * @deprecated use FIREWALL_DENYLIST.
-   */
-  const int FIREWALL_BLACKLIST = 1;
-  const int FIREWALL_DENYLIST = 1;
-  const int FIREWALL_RULE_ALLOW = 1;
-  const int FIREWALL_RULE_DENY = 2;
-  const int FIREWALL_CHAIN_NONE = 0;
-  const int FIREWALL_CHAIN_DOZABLE = 1;
-  const int FIREWALL_CHAIN_STANDBY = 2;
-  const int FIREWALL_CHAIN_POWERSAVE = 3;
-  const int FIREWALL_CHAIN_RESTRICTED = 4;
-  const String IF_STATE_UP = "up";
-  const String IF_STATE_DOWN = "down";
-  const String IF_FLAG_BROADCAST = "broadcast";
-  const String IF_FLAG_LOOPBACK = "loopback";
-  const String IF_FLAG_POINTOPOINT = "point-to-point";
-  const String IF_FLAG_RUNNING = "running";
-  const String IF_FLAG_MULTICAST = "multicast";
-}
diff --git a/server/aidl_api/netd_aidl_interface/current/android/net/INetdUnsolicitedEventListener.aidl b/server/aidl_api/netd_aidl_interface/current/android/net/INetdUnsolicitedEventListener.aidl
deleted file mode 100644
index 31775df..0000000
--- a/server/aidl_api/netd_aidl_interface/current/android/net/INetdUnsolicitedEventListener.aidl
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Copyright (c) 2018, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-interface INetdUnsolicitedEventListener {
-  oneway void onInterfaceClassActivityChanged(boolean isActive, int timerLabel, long timestampNs, int uid);
-  oneway void onQuotaLimitReached(@utf8InCpp String alertName, @utf8InCpp String ifName);
-  oneway void onInterfaceDnsServerInfo(@utf8InCpp String ifName, long lifetimeS, in @utf8InCpp String[] servers);
-  oneway void onInterfaceAddressUpdated(@utf8InCpp String addr, @utf8InCpp String ifName, int flags, int scope);
-  oneway void onInterfaceAddressRemoved(@utf8InCpp String addr, @utf8InCpp String ifName, int flags, int scope);
-  oneway void onInterfaceAdded(@utf8InCpp String ifName);
-  oneway void onInterfaceRemoved(@utf8InCpp String ifName);
-  oneway void onInterfaceChanged(@utf8InCpp String ifName, boolean up);
-  oneway void onInterfaceLinkStateChanged(@utf8InCpp String ifName, boolean up);
-  oneway void onRouteChanged(boolean updated, @utf8InCpp String route, @utf8InCpp String gateway, @utf8InCpp String ifName);
-  oneway void onStrictCleartextDetected(int uid, @utf8InCpp String hex);
-}
diff --git a/server/aidl_api/netd_aidl_interface/current/android/net/InterfaceConfigurationParcel.aidl b/server/aidl_api/netd_aidl_interface/current/android/net/InterfaceConfigurationParcel.aidl
deleted file mode 100644
index 1869d8d..0000000
--- a/server/aidl_api/netd_aidl_interface/current/android/net/InterfaceConfigurationParcel.aidl
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable InterfaceConfigurationParcel {
-  @utf8InCpp String ifName;
-  @utf8InCpp String hwAddr;
-  @utf8InCpp String ipv4Addr;
-  int prefixLength;
-  @utf8InCpp String[] flags;
-}
diff --git a/server/aidl_api/netd_aidl_interface/current/android/net/MarkMaskParcel.aidl b/server/aidl_api/netd_aidl_interface/current/android/net/MarkMaskParcel.aidl
deleted file mode 100644
index 8ea20d1..0000000
--- a/server/aidl_api/netd_aidl_interface/current/android/net/MarkMaskParcel.aidl
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable MarkMaskParcel {
-  int mark;
-  int mask;
-}
diff --git a/server/aidl_api/netd_aidl_interface/current/android/net/NativeNetworkConfig.aidl b/server/aidl_api/netd_aidl_interface/current/android/net/NativeNetworkConfig.aidl
deleted file mode 100644
index 76562b2..0000000
--- a/server/aidl_api/netd_aidl_interface/current/android/net/NativeNetworkConfig.aidl
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-@JavaDerive(equals=true, toString=true) @JavaOnlyImmutable
-parcelable NativeNetworkConfig {
-  int netId;
-  android.net.NativeNetworkType networkType = android.net.NativeNetworkType.PHYSICAL;
-  int permission;
-  boolean secure;
-  android.net.NativeVpnType vpnType = android.net.NativeVpnType.PLATFORM;
-}
diff --git a/server/aidl_api/netd_aidl_interface/current/android/net/NativeNetworkType.aidl b/server/aidl_api/netd_aidl_interface/current/android/net/NativeNetworkType.aidl
deleted file mode 100644
index 06c8979..0000000
--- a/server/aidl_api/netd_aidl_interface/current/android/net/NativeNetworkType.aidl
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-@Backing(type="int")
-enum NativeNetworkType {
-  PHYSICAL = 0,
-  VIRTUAL = 1,
-}
diff --git a/server/aidl_api/netd_aidl_interface/current/android/net/NativeVpnType.aidl b/server/aidl_api/netd_aidl_interface/current/android/net/NativeVpnType.aidl
deleted file mode 100644
index 8a8be83..0000000
--- a/server/aidl_api/netd_aidl_interface/current/android/net/NativeVpnType.aidl
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-@Backing(type="int")
-enum NativeVpnType {
-  SERVICE = 1,
-  PLATFORM = 2,
-  LEGACY = 3,
-  OEM = 4,
-}
diff --git a/server/aidl_api/netd_aidl_interface/current/android/net/RouteInfoParcel.aidl b/server/aidl_api/netd_aidl_interface/current/android/net/RouteInfoParcel.aidl
deleted file mode 100644
index 5ef95e6..0000000
--- a/server/aidl_api/netd_aidl_interface/current/android/net/RouteInfoParcel.aidl
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Copyright (c) 2020, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-parcelable RouteInfoParcel {
-  @utf8InCpp String destination;
-  @utf8InCpp String ifName;
-  @utf8InCpp String nextHop;
-  int mtu;
-}
diff --git a/server/aidl_api/netd_aidl_interface/current/android/net/TetherConfigParcel.aidl b/server/aidl_api/netd_aidl_interface/current/android/net/TetherConfigParcel.aidl
deleted file mode 100644
index 7b39c22..0000000
--- a/server/aidl_api/netd_aidl_interface/current/android/net/TetherConfigParcel.aidl
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable TetherConfigParcel {
-  boolean usingLegacyDnsProxy;
-  @utf8InCpp String[] dhcpRanges;
-}
diff --git a/server/aidl_api/netd_aidl_interface/current/android/net/TetherOffloadRuleParcel.aidl b/server/aidl_api/netd_aidl_interface/current/android/net/TetherOffloadRuleParcel.aidl
deleted file mode 100644
index 983e986..0000000
--- a/server/aidl_api/netd_aidl_interface/current/android/net/TetherOffloadRuleParcel.aidl
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable TetherOffloadRuleParcel {
-  int inputInterfaceIndex;
-  int outputInterfaceIndex;
-  byte[] destination;
-  int prefixLength;
-  byte[] srcL2Address;
-  byte[] dstL2Address;
-  int pmtu = 1500;
-}
diff --git a/server/aidl_api/netd_aidl_interface/current/android/net/TetherStatsParcel.aidl b/server/aidl_api/netd_aidl_interface/current/android/net/TetherStatsParcel.aidl
deleted file mode 100644
index 5f1b722..0000000
--- a/server/aidl_api/netd_aidl_interface/current/android/net/TetherStatsParcel.aidl
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-parcelable TetherStatsParcel {
-  @utf8InCpp String iface;
-  long rxBytes;
-  long rxPackets;
-  long txBytes;
-  long txPackets;
-  int ifIndex = 0;
-}
diff --git a/server/aidl_api/netd_aidl_interface/current/android/net/UidRangeParcel.aidl b/server/aidl_api/netd_aidl_interface/current/android/net/UidRangeParcel.aidl
deleted file mode 100644
index 72e987a..0000000
--- a/server/aidl_api/netd_aidl_interface/current/android/net/UidRangeParcel.aidl
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net;
-/* @hide */
-@JavaDerive(equals=true, toString=true) @JavaOnlyImmutable
-parcelable UidRangeParcel {
-  int start;
-  int stop;
-}
diff --git a/server/aidl_api/netd_aidl_interface/current/android/net/netd/aidl/NativeUidRangeConfig.aidl b/server/aidl_api/netd_aidl_interface/current/android/net/netd/aidl/NativeUidRangeConfig.aidl
deleted file mode 100644
index 9bb679f..0000000
--- a/server/aidl_api/netd_aidl_interface/current/android/net/netd/aidl/NativeUidRangeConfig.aidl
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL file. Do not edit it manually. There are
-// two cases:
-// 1). this is a frozen version file - do not edit this in any case.
-// 2). this is a 'current' file. If you make a backwards compatible change to
-//     the interface (from the latest frozen version), the build system will
-//     prompt you to update this file with `m <name>-update-api`.
-//
-// You must not make a backward incompatible change to any AIDL file built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net.netd.aidl;
-/* @hide */
-@JavaDerive(equals=true, toString=true) @JavaOnlyImmutable
-parcelable NativeUidRangeConfig {
-  int netId;
-  android.net.UidRangeParcel[] uidRanges;
-  int subPriority;
-}
diff --git a/server/aidl_api/netd_event_listener_interface/1/.hash b/server/aidl_api/netd_event_listener_interface/1/.hash
deleted file mode 100644
index f39f730..0000000
--- a/server/aidl_api/netd_event_listener_interface/1/.hash
+++ /dev/null
@@ -1 +0,0 @@
-8e27594d285ca7c567d87e8cf74766c27647e02b
diff --git a/server/aidl_api/netd_event_listener_interface/1/android/net/metrics/INetdEventListener.aidl b/server/aidl_api/netd_event_listener_interface/1/android/net/metrics/INetdEventListener.aidl
deleted file mode 100644
index 9898a67..0000000
--- a/server/aidl_api/netd_event_listener_interface/1/android/net/metrics/INetdEventListener.aidl
+++ /dev/null
@@ -1,34 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a frozen snapshot of an AIDL interface (or parcelable). Do not
-// try to edit this file. It looks like you are doing that because you have
-// modified an AIDL interface in a backward-incompatible way, e.g., deleting a
-// function from an interface or a field from a parcelable and it broke the
-// build. That breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net.metrics;
-interface INetdEventListener {
-  oneway void onDnsEvent(int netId, int eventType, int returnCode, int latencyMs, @utf8InCpp String hostname, in @utf8InCpp String[] ipAddresses, int ipAddressesCount, int uid);
-  oneway void onPrivateDnsValidationEvent(int netId, String ipAddress, String hostname, boolean validated);
-  oneway void onConnectEvent(int netId, int error, int latencyMs, String ipAddr, int port, int uid);
-  oneway void onWakeupEvent(String prefix, int uid, int ethertype, int ipNextHeader, in byte[] dstHw, String srcIp, String dstIp, int srcPort, int dstPort, long timestampNs);
-  oneway void onTcpSocketStatsEvent(in int[] networkIds, in int[] sentPackets, in int[] lostPackets, in int[] rttUs, in int[] sentAckDiffMs);
-  oneway void onNat64PrefixEvent(int netId, boolean added, @utf8InCpp String prefixString, int prefixLength);
-  const int EVENT_GETADDRINFO = 1;
-  const int EVENT_GETHOSTBYNAME = 2;
-  const int EVENT_GETHOSTBYADDR = 3;
-  const int EVENT_RES_NSEND = 4;
-  const int REPORTING_LEVEL_NONE = 0;
-  const int REPORTING_LEVEL_METRICS = 1;
-  const int REPORTING_LEVEL_FULL = 2;
-  const int DNS_REPORTED_IP_ADDRESSES_LIMIT = 10;
-}
diff --git a/server/aidl_api/netd_event_listener_interface/current/android/net/metrics/INetdEventListener.aidl b/server/aidl_api/netd_event_listener_interface/current/android/net/metrics/INetdEventListener.aidl
deleted file mode 100644
index d71c3f2..0000000
--- a/server/aidl_api/netd_event_listener_interface/current/android/net/metrics/INetdEventListener.aidl
+++ /dev/null
@@ -1,35 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
-///////////////////////////////////////////////////////////////////////////////
-
-// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
-// edit this file. It looks like you are doing that because you have modified
-// an AIDL interface in a backward-incompatible way, e.g., deleting a function
-// from an interface or a field from a parcelable and it broke the build. That
-// breakage is intended.
-//
-// You must not make a backward incompatible changes to the AIDL files built
-// with the aidl_interface module type with versions property set. The module
-// type is used to build AIDL files in a way that they can be used across
-// independently updatable components of the system. If a device is shipped
-// with such a backward incompatible change, it has a high risk of breaking
-// later when a module using the interface is updated, e.g., Mainline modules.
-
-package android.net.metrics;
-/* @hide */
-interface INetdEventListener {
-  oneway void onDnsEvent(int netId, int eventType, int returnCode, int latencyMs, @utf8InCpp String hostname, in @utf8InCpp String[] ipAddresses, int ipAddressesCount, int uid);
-  oneway void onPrivateDnsValidationEvent(int netId, String ipAddress, String hostname, boolean validated);
-  oneway void onConnectEvent(int netId, int error, int latencyMs, String ipAddr, int port, int uid);
-  oneway void onWakeupEvent(String prefix, int uid, int ethertype, int ipNextHeader, in byte[] dstHw, String srcIp, String dstIp, int srcPort, int dstPort, long timestampNs);
-  oneway void onTcpSocketStatsEvent(in int[] networkIds, in int[] sentPackets, in int[] lostPackets, in int[] rttUs, in int[] sentAckDiffMs);
-  oneway void onNat64PrefixEvent(int netId, boolean added, @utf8InCpp String prefixString, int prefixLength);
-  const int EVENT_GETADDRINFO = 1;
-  const int EVENT_GETHOSTBYNAME = 2;
-  const int EVENT_GETHOSTBYADDR = 3;
-  const int EVENT_RES_NSEND = 4;
-  const int REPORTING_LEVEL_NONE = 0;
-  const int REPORTING_LEVEL_METRICS = 1;
-  const int REPORTING_LEVEL_FULL = 2;
-  const int DNS_REPORTED_IP_ADDRESSES_LIMIT = 10;
-}
diff --git a/server/binder/android/net/INetd.aidl b/server/binder/android/net/INetd.aidl
deleted file mode 100644
index d6398c1..0000000
--- a/server/binder/android/net/INetd.aidl
+++ /dev/null
@@ -1,1380 +0,0 @@
-/**
- * Copyright (c) 2016, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.net;
-
-import android.net.INetdUnsolicitedEventListener;
-import android.net.InterfaceConfigurationParcel;
-import android.net.MarkMaskParcel;
-import android.net.NativeNetworkConfig;
-import android.net.RouteInfoParcel;
-import android.net.TetherConfigParcel;
-import android.net.TetherOffloadRuleParcel;
-import android.net.TetherStatsParcel;
-import android.net.UidRangeParcel;
-import android.net.netd.aidl.NativeUidRangeConfig;
-
-/** {@hide} */
-interface INetd {
-    /**
-     * Returns true if the service is responding.
-     */
-    boolean isAlive();
-
-    /**
-     * Replaces the contents of the specified UID-based firewall chain.
-     *
-     * The chain may be an allowlist chain or a denylist chain. A denylist chain contains DROP
-     * rules for the specified UIDs and a RETURN rule at the end. An allowlist chain contains RETURN
-     * rules for the system UID range (0 to {@code UID_APP} - 1), RETURN rules for for the specified
-     * UIDs, and a DROP rule at the end. The chain will be created if it does not exist.
-     *
-     * @param chainName The name of the chain to replace.
-     * @param isAllowlist Whether this is an allowlist or denylist chain.
-     * @param uids The list of UIDs to allow/deny.
-     * @return true if the chain was successfully replaced, false otherwise.
-     */
-    boolean firewallReplaceUidChain(in @utf8InCpp String chainName,
-                                    boolean isAllowlist,
-                                    in int[] uids);
-
-    /**
-     * Enables or disables data saver mode on costly network interfaces.
-     *
-     * - When disabled, all packets to/from apps in the penalty box chain are rejected on costly
-     *   interfaces. Traffic to/from other apps or on other network interfaces is allowed.
-     * - When enabled, only apps that are in the happy box chain and not in the penalty box chain
-     *   are allowed network connectivity on costly interfaces. All other packets on these
-     *   interfaces are rejected. The happy box chain always contains all system UIDs; to disallow
-     *   traffic from system UIDs, place them in the penalty box chain.
-     *
-     * By default, data saver mode is disabled. This command has no effect but might still return an
-     * error) if {@code enable} is the same as the current value.
-     *
-     * @param enable whether to enable or disable data saver mode.
-     * @return true if the if the operation was successful, false otherwise.
-     */
-    boolean bandwidthEnableDataSaver(boolean enable);
-
-    /**
-     * Creates a physical network (i.e., one containing physical interfaces.
-     * @deprecated use networkCreate() instead.
-     *
-     * @param netId the networkId to create.
-     * @param permission the permission necessary to use the network. Must be one of
-     *         PERMISSION_NONE/PERMISSION_NETWORK/PERMISSION_SYSTEM.
-     *
-     * @throws ServiceSpecificException in case of failure, with an error code corresponding to the
-     *         unix errno.
-     */
-    void networkCreatePhysical(int netId, int permission);
-
-    /**
-     * Creates a VPN network.
-     * @deprecated use networkCreate() instead.
-     *
-     * @param netId the network to create.
-     * @param secure whether unprivileged apps are allowed to bypass the VPN.
-     *
-     * @throws ServiceSpecificException in case of failure, with an error code corresponding to the
-     *         unix errno.
-     */
-    void networkCreateVpn(int netId, boolean secure);
-
-    /**
-     * Destroys a network. Any interfaces added to the network are removed, and the network ceases
-     * to be the default network.
-     *
-     * @param netId the network to destroy.
-     *
-     * @throws ServiceSpecificException in case of failure, with an error code corresponding to the
-     *         unix errno.
-     */
-    void networkDestroy(int netId);
-
-    /**
-     * Adds an interface to a network. The interface must not be assigned to any network, including
-     * the specified network.
-     *
-     * @param netId the network to add the interface to.
-     * @param interface the name of the interface to add.
-     *
-     * @throws ServiceSpecificException in case of failure, with an error code corresponding to the
-     *         unix errno.
-     */
-    void networkAddInterface(int netId, in @utf8InCpp String iface);
-
-    /**
-     * Adds an interface to a network. The interface must be assigned to the specified network.
-     *
-     * @param netId the network to remove the interface from.
-     * @param interface the name of the interface to remove.
-     *
-     * @throws ServiceSpecificException in case of failure, with an error code corresponding to the
-     *         unix errno.
-     */
-    void networkRemoveInterface(int netId, in @utf8InCpp String iface);
-
-    /**
-     * Adds the specified UID ranges to the specified network. The network can be physical or
-     * virtual. Traffic from the UID ranges will be routed to the network by default.
-     *
-     * @param netId the network ID of the network to add the ranges to.
-     * @param uidRanges a set of non-overlapping ranges of UIDs to add. These exact ranges
-     *        must not overlap with existing ranges assigned to this network.
-     *
-     * @throws ServiceSpecificException in case of failure, with an error code corresponding to the
-     *         unix errno.
-     */
-    void networkAddUidRanges(int netId, in UidRangeParcel[] uidRanges);
-
-    /**
-     * Remove the specified UID ranges from the specified network. The network can be physical or
-     * virtual. Traffic from the UID ranges will no longer be routed to the network by default.
-     *
-     * @param netId the network ID of the network to remove the ranges from.
-     * @param uidRanges a set of non-overlapping ranges of UIDs to remove. These exact ranges
-     *        must already be assigned to this network.
-     *
-     * @throws ServiceSpecificException in case of failure, with an error code corresponding to the
-     *         unix errno.
-     */
-    void networkRemoveUidRanges(int netId, in UidRangeParcel[] uidRanges);
-
-    /**
-     * Adds or removes one rule for each supplied UID range to prohibit all network activity outside
-     * of secure VPN.
-     *
-     * When a UID is covered by one of these rules, traffic sent through any socket that is not
-     * protected or explicitly overriden by the system will be rejected. The kernel will respond
-     * with an ICMP prohibit message.
-     *
-     * Initially, there are no such rules. Any rules that are added will only last until the next
-     * restart of netd or the device.
-     *
-     * @param add {@code true} if the specified UID ranges should be denied access to any network
-     *        which is not secure VPN by adding rules, {@code false} to remove existing rules.
-     * @param uidRanges a set of non-overlapping, contiguous ranges of UIDs to which to apply or
-     *        remove this restriction.
-     *        <p> Added rules should not overlap with existing rules. Likewise, removed rules should
-     *        each correspond to an existing rule.
-     *
-     * @throws ServiceSpecificException in case of failure, with an error code corresponding to the
-     *         unix errno.
-     */
-    void networkRejectNonSecureVpn(boolean add, in UidRangeParcel[] uidRanges);
-
-    /**
-     * Administratively closes sockets belonging to the specified UIDs.
-     */
-    void socketDestroy(in UidRangeParcel[] uidRanges, in int[] exemptUids);
-
-    /**
-     * Instruct the tethering DNS server to reevaluated serving interfaces.
-     * This is needed to for the DNS server to observe changes in the set
-     * of potential listening IP addresses. (Listening on wildcard addresses
-     * can turn the device into an open resolver; b/7530468)
-     *
-     * TODO: Return something richer than just a boolean.
-     */
-    boolean tetherApplyDnsInterfaces();
-
-    /**
-     * Return tethering statistics.
-     *
-     * @return an array of TetherStatsParcel, where each entry contains the upstream interface
-     *         name and its tethering statistics since netd startup.
-     *         There will only ever be one entry for a given interface.
-     * @throws ServiceSpecificException in case of failure, with an error code indicating the
-     *         cause of the failure.
-     */
-    TetherStatsParcel[] tetherGetStats();
-
-    /**
-     * Add/Remove and IP address from an interface.
-     *
-     * @param ifName the interface name
-     * @param addrString the IP address to add/remove as a string literal
-     * @param prefixLength the prefix length associated with this IP address
-     *
-     * @throws ServiceSpecificException in case of failure, with an error code corresponding to the
-     *         unix errno.
-     */
-    void interfaceAddAddress(in @utf8InCpp String ifName, in @utf8InCpp String addrString,
-            int prefixLength);
-    void interfaceDelAddress(in @utf8InCpp String ifName, in @utf8InCpp String addrString,
-            int prefixLength);
-
-    /**
-     * Set and get /proc/sys/net interface configuration parameters.
-     *
-     * @param ipversion One of IPV4/IPV6 integers, indicating the desired IP version directory.
-     * @param which One of CONF/NEIGH integers, indicating the desired parameter category directory.
-     * @param ifname The interface name portion of the path; may also be "all" or "default".
-     * @param parameter The parameter name portion of the path.
-     * @param value The value string to be written into the assembled path.
-     *
-     * @throws ServiceSpecificException in case of failure, with an error code corresponding to the
-     *         unix errno.
-     */
-
-    const int IPV4  = 4;
-    const int IPV6  = 6;
-    const int CONF  = 1;
-    const int NEIGH = 2;
-    @utf8InCpp String getProcSysNet(int ipversion, int which, in @utf8InCpp String ifname,
-            in @utf8InCpp String parameter);
-    void setProcSysNet(int ipversion, int which, in @utf8InCpp String ifname,
-            in @utf8InCpp String parameter, in @utf8InCpp String value);
-
-   /**
-    * Sets owner of socket ParcelFileDescriptor to the new UID, checking to ensure that the caller's
-    * uid is that of the old owner's, and that this is a UDP-encap socket
-    *
-    * @param ParcelFileDescriptor socket Socket file descriptor
-    * @param int newUid UID of the new socket fd owner
-    */
-    void ipSecSetEncapSocketOwner(in ParcelFileDescriptor socket, int newUid);
-
-   /**
-    * Reserve an SPI from the kernel
-    *
-    * @param transformId a unique identifier for allocated resources
-    * @param sourceAddress InetAddress as string for the sending endpoint
-    * @param destinationAddress InetAddress as string for the receiving endpoint
-    * @param spi a requested 32-bit unique ID or 0 to request random allocation
-    * @return the SPI that was allocated or 0 if failed
-    */
-    int ipSecAllocateSpi(
-            int transformId,
-            in @utf8InCpp String sourceAddress,
-            in @utf8InCpp String destinationAddress,
-            int spi);
-
-   /**
-    * Create an IpSec Security Association describing how ip(v6) traffic will be encrypted
-    * or decrypted.
-    *
-    * @param transformId a unique identifier for allocated resources
-    * @param mode either Transport or Tunnel mode
-    * @param sourceAddress InetAddress as string for the sending endpoint
-    * @param destinationAddress InetAddress as string for the receiving endpoint
-    * @param underlyingNetId the netId of the network to which the SA is applied. Only accepted for
-    *        tunnel mode SAs.
-    * @param spi a 32-bit unique ID allocated to the user
-    * @param markValue a 32-bit unique ID chosen by the user
-    * @param markMask a 32-bit mask chosen by the user
-    * @param authAlgo a string identifying the authentication algorithm to be used
-    * @param authKey a byte array containing the authentication key
-    * @param authTruncBits the truncation length of the MAC produced by the authentication algorithm
-    * @param cryptAlgo a string identifying the encryption algorithm to be used
-    * @param cryptKey a byte arrray containing the encryption key
-    * @param cryptTruncBits unused parameter
-    * @param aeadAlgo a string identifying the authenticated encryption algorithm to be used
-    * @param aeadKey a byte arrray containing the key to be used in authenticated encryption
-    * @param aeadIcvBits the truncation length of the ICV produced by the authentication algorithm
-    *        (similar to authTruncBits in function)
-    * @param encapType encapsulation type used (if any) for the udp encap socket
-    * @param encapLocalPort the port number on the host to be used in encap packets
-    * @param encapRemotePort the port number of the remote to be used for encap packets
-    * @param interfaceId the identifier for the IPsec tunnel interface.
-    *        Only accepted for tunnel mode SAs.
-    */
-    void ipSecAddSecurityAssociation(
-            int transformId,
-            int mode,
-            in @utf8InCpp String sourceAddress,
-            in @utf8InCpp String destinationAddress,
-            int underlyingNetId,
-            int spi,
-            int markValue,
-            int markMask,
-            in @utf8InCpp String authAlgo, in byte[] authKey, in int authTruncBits,
-            in @utf8InCpp String cryptAlgo, in byte[] cryptKey, in int cryptTruncBits,
-            in @utf8InCpp String aeadAlgo, in byte[] aeadKey, in int aeadIcvBits,
-            int encapType,
-            int encapLocalPort,
-            int encapRemotePort,
-            int interfaceId);
-
-   /**
-    * Delete a previously created security association identified by the provided parameters
-    *
-    * @param transformId a unique identifier for allocated resources
-    * @param sourceAddress InetAddress as string for the sending endpoint
-    * @param destinationAddress InetAddress as string for the receiving endpoint
-    * @param spi a requested 32-bit unique ID allocated to the user
-    * @param markValue a 32-bit unique ID chosen by the user
-    * @param markMask a 32-bit mask chosen by the user
-    * @param interfaceId the identifier for the IPsec tunnel interface.
-    */
-    void ipSecDeleteSecurityAssociation(
-            int transformId,
-            in @utf8InCpp String sourceAddress,
-            in @utf8InCpp String destinationAddress,
-            int spi,
-            int markValue,
-            int markMask,
-            int interfaceId);
-
-   /**
-    * Apply a previously created SA to a specified socket, starting IPsec on that socket
-    *
-    * @param socket a user-provided socket that will have IPsec applied
-    * @param transformId a unique identifier for allocated resources
-    * @param direction DIRECTION_IN or DIRECTION_OUT
-    * @param sourceAddress InetAddress as string for the sending endpoint
-    * @param destinationAddress InetAddress as string for the receiving endpoint
-    * @param spi a 32-bit unique ID allocated to the user (socket owner)
-    */
-    void ipSecApplyTransportModeTransform(
-            in ParcelFileDescriptor socket,
-            int transformId,
-            int direction,
-            in @utf8InCpp String sourceAddress,
-            in @utf8InCpp String destinationAddress,
-            int spi);
-
-   /**
-    * Remove an IPsec SA from a given socket. This will allow unencrypted traffic to flow
-    * on that socket if a transform had been previously applied.
-    *
-    * @param socket a user-provided socket from which to remove any IPsec configuration
-    */
-    void ipSecRemoveTransportModeTransform(
-            in ParcelFileDescriptor socket);
-
-   /**
-    * Adds an IPsec global policy.
-    *
-    * @param transformId a unique identifier for allocated resources
-    * @param selAddrFamily the address family identifier for the selector
-    * @param direction DIRECTION_IN or DIRECTION_OUT
-    * @param tmplSrcAddress InetAddress as string for the sending endpoint
-    * @param tmplDstAddress InetAddress as string for the receiving endpoint
-    * @param spi a 32-bit unique ID allocated to the user
-    * @param markValue a 32-bit unique ID chosen by the user
-    * @param markMask a 32-bit mask chosen by the user
-    * @param interfaceId the identifier for the IPsec tunnel interface.
-    */
-    void ipSecAddSecurityPolicy(
-            int transformId,
-            int selAddrFamily,
-            int direction,
-            in @utf8InCpp String tmplSrcAddress,
-            in @utf8InCpp String tmplDstAddress,
-            int spi,
-            int markValue,
-            int markMask,
-            int interfaceId);
-
-   /**
-    * Updates an IPsec global policy.
-    *
-    * @param transformId a unique identifier for allocated resources
-    * @param selAddrFamily the address family identifier for the selector
-    * @param direction DIRECTION_IN or DIRECTION_OUT
-    * @param tmplSrcAddress InetAddress as string for the sending endpoint
-    * @param tmplDstAddress InetAddress as string for the receiving endpoint
-    * @param spi a 32-bit unique ID allocated to the user
-    * @param markValue a 32-bit unique ID chosen by the user
-    * @param markMask a 32-bit mask chosen by the user
-    * @param interfaceId the identifier for the IPsec tunnel interface.
-    */
-    void ipSecUpdateSecurityPolicy(
-            int transformId,
-            int selAddrFamily,
-            int direction,
-            in @utf8InCpp String tmplSrcAddress,
-            in @utf8InCpp String tmplDstAddress,
-            int spi,
-            int markValue,
-            int markMask,
-            int interfaceId);
-
-   /**
-    * Deletes an IPsec global policy.
-    *
-    * Deletion of global policies does not do any matching based on the templates, thus
-    * template source/destination addresses are not needed (as opposed to add/update).
-    *
-    * @param transformId a unique identifier for allocated resources
-    * @param selAddrFamily the address family identifier for the selector
-    * @param direction DIRECTION_IN or DIRECTION_OUT
-    * @param markValue a 32-bit unique ID chosen by the user
-    * @param markMask a 32-bit mask chosen by the user
-    * @param interfaceId the identifier for the IPsec tunnel interface.
-    */
-    void ipSecDeleteSecurityPolicy(
-            int transformId,
-            int selAddrFamily,
-            int direction,
-            int markValue,
-            int markMask,
-            int interfaceId);
-
-    // This could not be declared as @uft8InCpp; thus, when used in native code it must be
-    // converted from a UTF-16 string to an ASCII string.
-    const String IPSEC_INTERFACE_PREFIX = "ipsec";
-
-   /**
-    * Add a IPsec Tunnel Interface.
-    *
-    * @param devName a unique identifier that represents the name of the device
-    * @param localAddress InetAddress as string for the local endpoint
-    * @param remoteAddress InetAddress as string for the remote endpoint
-    * @param iKey, to match Policies and SAs for input packets.
-    * @param oKey, to match Policies and SAs for output packets.
-    * @param interfaceId the identifier for the IPsec tunnel interface.
-    */
-    void ipSecAddTunnelInterface(
-            in @utf8InCpp String deviceName,
-            in @utf8InCpp String localAddress,
-            in @utf8InCpp String remoteAddress,
-            int iKey,
-            int oKey,
-            int interfaceId);
-
-   /**
-    * Update a IPsec Tunnel Interface.
-    *
-    * @param devName a unique identifier that represents the name of the device
-    * @param localAddress InetAddress as string for the local endpoint
-    * @param remoteAddress InetAddress as string for the remote endpoint
-    * @param iKey, to match Policies and SAs for input packets.
-    * @param oKey, to match Policies and SAs for output packets.
-    * @param interfaceId the identifier for the IPsec tunnel interface.
-    */
-    void ipSecUpdateTunnelInterface(
-            in @utf8InCpp String deviceName,
-            in @utf8InCpp String localAddress,
-            in @utf8InCpp String remoteAddress,
-            int iKey,
-            int oKey,
-            int interfaceId);
-
-   /**
-    * Removes a IPsec Tunnel Interface.
-    *
-    * @param devName a unique identifier that represents the name of the device
-    */
-    void ipSecRemoveTunnelInterface(in @utf8InCpp String deviceName);
-
-   /**
-    * Request notification of wakeup packets arriving on an interface. Notifications will be
-    * delivered to INetdEventListener.onWakeupEvent().
-    *
-    * @param ifName the interface
-    * @param prefix arbitrary string used to identify wakeup sources in onWakeupEvent
-    */
-    void wakeupAddInterface(in @utf8InCpp String ifName, in @utf8InCpp String prefix, int mark, int mask);
-
-   /**
-    * Stop notification of wakeup packets arriving on an interface.
-    *
-    * @param ifName the interface
-    * @param prefix arbitrary string used to identify wakeup sources in onWakeupEvent
-    */
-    void wakeupDelInterface(in @utf8InCpp String ifName, in @utf8InCpp String prefix, int mark, int mask);
-
-    const int IPV6_ADDR_GEN_MODE_EUI64 = 0;
-    const int IPV6_ADDR_GEN_MODE_NONE = 1;
-    const int IPV6_ADDR_GEN_MODE_STABLE_PRIVACY = 2;
-    const int IPV6_ADDR_GEN_MODE_RANDOM = 3;
-
-    const int IPV6_ADDR_GEN_MODE_DEFAULT = 0;
-   /**
-    * Set IPv6 address generation mode. IPv6 should be disabled before changing mode.
-    *
-    * @param mode SLAAC address generation mechanism to use
-    */
-    void setIPv6AddrGenMode(in @utf8InCpp String ifName, int mode);
-
-   /**
-    * Add idletimer for specific interface
-    *
-    * @param ifName Name of target interface
-    * @param timeout The time in seconds that will trigger idletimer
-    * @param classLabel The unique identifier for this idletimer
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void idletimerAddInterface(
-            in @utf8InCpp String ifName,
-            int timeout,
-            in @utf8InCpp String classLabel);
-
-   /**
-    * Remove idletimer for specific interface
-    *
-    * @param ifName Name of target interface
-    * @param timeout The time in seconds that will trigger idletimer
-    * @param classLabel The unique identifier for this idletimer
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void idletimerRemoveInterface(
-            in @utf8InCpp String ifName,
-            int timeout,
-            in @utf8InCpp String classLabel);
-
-    const int PENALTY_POLICY_ACCEPT = 1;
-    const int PENALTY_POLICY_LOG = 2;
-    const int PENALTY_POLICY_REJECT = 3;
-
-   /**
-    * Offers to detect sockets sending data not wrapped inside a layer of SSL/TLS encryption.
-    *
-    * @param uid Uid of the app
-    * @param policyPenalty The penalty policy of the app
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void strictUidCleartextPenalty(int uid, int policyPenalty);
-
-   /**
-    * Start clatd
-    *
-    * @param ifName interface name to start clatd
-    * @param nat64Prefix the NAT64 prefix, e.g., "2001:db8:64::/96".
-    * @return a string, the IPv6 address that will be used for 464xlat.
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    @utf8InCpp String clatdStart(in @utf8InCpp String ifName, in @utf8InCpp String nat64Prefix);
-
-   /**
-    * Stop clatd
-    *
-    * @param ifName interface name to stop clatd
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void clatdStop(in @utf8InCpp String ifName);
-
-   /**
-    * Get status of IP forwarding
-    *
-    * @return true if IP forwarding is enabled, false otherwise.
-    */
-    boolean ipfwdEnabled();
-
-   /**
-    * Get requester list of IP forwarding
-    *
-    * @return An array of strings containing requester list of IP forwarding
-    */
-    @utf8InCpp String[] ipfwdGetRequesterList();
-
-   /**
-    * Enable IP forwarding for specific requester
-    *
-    * @param requester requester name to enable IP forwarding. It is a unique name which will be
-    *                  stored in Netd to make sure if any requester needs IP forwarding.
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void ipfwdEnableForwarding(in @utf8InCpp String requester);
-
-   /**
-    * Disable IP forwarding for specific requester
-    *
-    * @param requester requester name to disable IP forwarding. This name should match the
-    *                  names which are set by ipfwdEnableForwarding.
-    *                  IP forwarding would be disabled if it is the last requester.
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void ipfwdDisableForwarding(in @utf8InCpp String requester);
-
-   /**
-    * Add forwarding ip rule
-    *
-    * @param fromIface interface name to add forwarding ip rule
-    * @param toIface interface name to add forwarding ip rule
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void ipfwdAddInterfaceForward(in @utf8InCpp String fromIface, in @utf8InCpp String toIface);
-
-   /**
-    * Remove forwarding ip rule
-    *
-    * @param fromIface interface name to remove forwarding ip rule
-    * @param toIface interface name to remove forwarding ip rule
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void ipfwdRemoveInterfaceForward(in @utf8InCpp String fromIface, in @utf8InCpp String toIface);
-
-   /**
-    * Set quota for interface
-    *
-    * @param ifName Name of target interface
-    * @param bytes Quota value in bytes
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void bandwidthSetInterfaceQuota(in @utf8InCpp String ifName, long bytes);
-
-   /**
-    * Remove quota for interface
-    *
-    * @param ifName Name of target interface
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void bandwidthRemoveInterfaceQuota(in @utf8InCpp String ifName);
-
-   /**
-    * Set alert for interface
-    *
-    * @param ifName Name of target interface
-    * @param bytes Alert value in bytes
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void bandwidthSetInterfaceAlert(in @utf8InCpp String ifName, long bytes);
-
-   /**
-    * Remove alert for interface
-    *
-    * @param ifName Name of target interface
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void bandwidthRemoveInterfaceAlert(in @utf8InCpp String ifName);
-
-   /**
-    * Set global alert
-    *
-    * @param bytes Alert value in bytes
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void bandwidthSetGlobalAlert(long bytes);
-
-   /**
-    * Add naughty app bandwidth rule for specific app
-    *
-    * @param uid uid of target app
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void bandwidthAddNaughtyApp(int uid);
-
-   /**
-    * Remove naughty app bandwidth rule for specific app
-    *
-    * @param uid uid of target app
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void bandwidthRemoveNaughtyApp(int uid);
-
-   /**
-    * Add nice app bandwidth rule for specific app
-    *
-    * @param uid uid of target app
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void bandwidthAddNiceApp(int uid);
-
-   /**
-    * Remove nice app bandwidth rule for specific app
-    *
-    * @param uid uid of target app
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void bandwidthRemoveNiceApp(int uid);
-
-   /**
-    * Start tethering
-    *
-    * @param dhcpRanges dhcp ranges to set.
-    *                   dhcpRanges might contain many addresss {addr1, addr2, aadr3, addr4...}
-    *                   Netd splits them into ranges: addr1-addr2, addr3-addr4, etc.
-    *                   An odd number of addrs will fail.
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void tetherStart(in @utf8InCpp String[] dhcpRanges);
-
-   /**
-    * Stop tethering
-    *
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void tetherStop();
-
-   /**
-    * Get status of tethering
-    *
-    * @return true if tethering is enabled, false otherwise.
-    */
-    boolean tetherIsEnabled();
-
-   /**
-    * Setup interface for tethering
-    *
-    * @param ifName interface name to add
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void tetherInterfaceAdd(in @utf8InCpp String ifName);
-
-   /**
-    * Reset interface for tethering
-    *
-    * @param ifName interface name to remove
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void tetherInterfaceRemove(in @utf8InCpp String ifName);
-
-   /**
-    * Get the interface list which is stored in netd
-    * The list contains the interfaces managed by tetherInterfaceAdd/tetherInterfaceRemove
-    *
-    * @return An array of strings containing interface list result
-    */
-    @utf8InCpp String[] tetherInterfaceList();
-
-   /**
-    * Set DNS forwarder server
-    *
-    * @param netId the upstream network to forward DNS queries to
-    * @param dnsAddrs DNS server address to set
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void tetherDnsSet(int netId, in @utf8InCpp String[] dnsAddrs);
-
-   /**
-    * Return the DNS list set by tetherDnsSet
-    *
-    * @return An array of strings containing the list of DNS servers
-    */
-    @utf8InCpp String[] tetherDnsList();
-
-    const int LOCAL_NET_ID = 99;
-
-    /**
-     * Constant net ID for the "dummy" network.
-     *
-     * The dummy network is used to blackhole or reject traffic. Any attempt to use it will
-     * either drop the packets or fail with ENETUNREACH.
-     */
-    const int DUMMY_NET_ID = 51;
-
-    /**
-     * Constant net ID for the "unreachable" network.
-     *
-     * The unreachable network is used to reject traffic. Any attempt to use it will fail
-     * with ENETUNREACH.
-     */
-    const int UNREACHABLE_NET_ID = 52;
-
-    // Route does not specify a next hop
-    const String NEXTHOP_NONE = "";
-    // Route next hop is unreachable
-    const String NEXTHOP_UNREACHABLE = "unreachable";
-    // Route next hop is throw
-    const String NEXTHOP_THROW = "throw";
-
-   /**
-    * Add a route for specific network
-    *
-    * @param netId the network to add the route to
-    * @param ifName the name of interface of the route.
-    *               This interface should be assigned to the netID.
-    * @param destination the destination of the route
-    * @param nextHop The route's next hop address,
-    *                or it could be either NEXTHOP_NONE, NEXTHOP_UNREACHABLE, NEXTHOP_THROW.
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void networkAddRoute(
-            int netId,
-            in @utf8InCpp String ifName,
-            in @utf8InCpp String destination,
-            in @utf8InCpp String nextHop);
-
-   /**
-    * Remove a route for specific network
-    *
-    * @param netId the network to remove the route from
-    * @param ifName the name of interface of the route.
-    *               This interface should be assigned to the netID.
-    * @param destination the destination of the route
-    * @param nextHop The route's next hop address,
-    *                or it could be either NEXTHOP_NONE, NEXTHOP_UNREACHABLE, NEXTHOP_THROW.
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void networkRemoveRoute(
-            int netId,
-            in @utf8InCpp String ifName,
-            in @utf8InCpp String destination,
-            in @utf8InCpp String nextHop);
-
-   /**
-    * Add a route to legacy routing table for specific network
-    *
-    * @param netId the network to add the route to
-    * @param ifName the name of interface of the route.
-    *               This interface should be assigned to the netID.
-    * @param destination the destination of the route
-    * @param nextHop The route's next hop address,
-    *                or it could be either NEXTHOP_NONE, NEXTHOP_UNREACHABLE, NEXTHOP_THROW.
-    * @param uid uid of the user
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void networkAddLegacyRoute(
-            int netId,
-            in @utf8InCpp String ifName,
-            in @utf8InCpp String destination,
-            in @utf8InCpp String nextHop,
-            int uid);
-
-   /**
-    * Remove a route from legacy routing table for specific network
-    *
-    * @param netId the network to remove the route from
-    * @param ifName the name of interface of the route.
-    *               This interface should be assigned to the netID.
-    * @param destination the destination of the route
-    * @param nextHop The route's next hop address,
-    *                or it could be either NEXTHOP_NONE, NEXTHOP_UNREACHABLE, NEXTHOP_THROW.
-    * @param uid uid of the user
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void networkRemoveLegacyRoute(
-            int netId,
-            in @utf8InCpp String ifName,
-            in @utf8InCpp String destination,
-            in @utf8InCpp String nextHop,
-            int uid);
-
-   /**
-    * Get default network
-    *
-    * @return netId of default network
-    */
-    int networkGetDefault();
-
-   /**
-    * Set network as default network
-    *
-    * @param netId the network to set as the default
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void networkSetDefault(int netId);
-
-   /**
-    * Clear default network
-    *
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void networkClearDefault();
-
-   /**
-    * PERMISSION_NONE is used for regular networks and apps. TODO: use PERMISSION_INTERNET
-    * for this instead, and use PERMISSION_NONE to indicate no network permissions at all.
-    */
-    const int PERMISSION_NONE = 0;
-
-   /**
-    * PERMISSION_NETWORK represents the CHANGE_NETWORK_STATE permission.
-    */
-    const int PERMISSION_NETWORK = 1;
-
-   /**
-    * PERMISSION_SYSTEM represents the ability to use restricted networks. This is mostly
-    * equivalent to the CONNECTIVITY_USE_RESTRICTED_NETWORKS permission.
-    */
-    const int PERMISSION_SYSTEM = 2;
-
-   /**
-    * NO_PERMISSIONS indicates that this app is installed and doesn't have either
-    * PERMISSION_INTERNET or PERMISSION_UPDATE_DEVICE_STATS.
-    * TODO: use PERMISSION_NONE to represent this case
-    */
-    const int NO_PERMISSIONS = 0;
-
-   /**
-    * PERMISSION_INTERNET indicates that the app can create AF_INET and AF_INET6 sockets
-    */
-    const int PERMISSION_INTERNET = 4;
-
-   /**
-    * PERMISSION_UPDATE_DEVICE_STATS is used for system UIDs and privileged apps
-    * that have the UPDATE_DEVICE_STATS permission
-    */
-    const int PERMISSION_UPDATE_DEVICE_STATS = 8;
-
-   /**
-    * PERMISSION_UNINSTALLED is used when an app is uninstalled from the device. All internet
-    * related permissions need to be cleaned
-    */
-    const int PERMISSION_UNINSTALLED = -1;
-
-
-   /**
-    * Sets the permission required to access a specific network.
-    *
-    * @param netId the network to set
-    * @param permission network permission to use
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void networkSetPermissionForNetwork(int netId, int permission);
-
-   /**
-    * Assigns network access permissions to the specified users.
-    *
-    * @param permission network permission to use
-    * @param uids uid of users to set permission
-    */
-    void networkSetPermissionForUser(int permission, in int[] uids);
-
-   /**
-    * Clears network access permissions for the specified users.
-    *
-    * @param uids uid of users to clear permission
-    */
-    void networkClearPermissionForUser(in int[] uids);
-
-   /**
-    * Assigns android.permission.INTERNET and/or android.permission.UPDATE_DEVICE_STATS to the uids
-    * specified. Or remove all permissions from the uids.
-    *
-    * @param permission The permission to grant, it could be either PERMISSION_INTERNET and/or
-    *                   PERMISSION_UPDATE_DEVICE_STATS. If the permission is NO_PERMISSIONS, then
-    *                   revoke all permissions for the uids.
-    * @param uids uid of users to grant permission
-    */
-    void trafficSetNetPermForUids(int permission, in int[] uids);
-
-   /**
-    * Gives the specified user permission to protect sockets from VPNs.
-    * Typically used by VPN apps themselves, to ensure that the sockets
-    * they use to communicate with the VPN server aren't routed through
-    * the VPN network.
-    *
-    * @param uid uid of user to set
-    */
-    void networkSetProtectAllow(int uid);
-
-   /**
-    * Removes the permission to protect sockets from VPN.
-    *
-    * @param uid uid of user to set
-    */
-    void networkSetProtectDeny(int uid);
-
-   /**
-    * Get the status of network protect for user
-    *
-    * @param uids uid of user
-    * @return true if the user can protect sockets from VPN, false otherwise.
-    */
-    boolean networkCanProtect(int uid);
-
-    /** Only allows packets from specific UID/Interface.
-        @deprecated use FIREWALL_ALLOWLIST. */
-    const int FIREWALL_WHITELIST = 0;
-
-    /** Only allows packets from specific UID/Interface. */
-    const int FIREWALL_ALLOWLIST = 0;
-
-    /** Blocks packets from specific UID/Interface.
-        @deprecated use FIREWALL_DENYLIST. */
-    const int FIREWALL_BLACKLIST = 1;
-
-    /** Blocks packets from specific UID/Interface. */
-    const int FIREWALL_DENYLIST = 1;
-
-   /**
-    * Set type of firewall
-    * Type allowlist only allows packets from specific UID/Interface
-    * Type denylist blocks packets from specific UID/Interface
-    *
-    * @param firewalltype type of firewall, either FIREWALL_ALLOWLIST or FIREWALL_DENYLIST
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void firewallSetFirewallType(int firewalltype);
-
-    // Specify allow Rule which allows packets
-    const int FIREWALL_RULE_ALLOW = 1;
-    // Specify deny Rule which drops packets
-    const int FIREWALL_RULE_DENY = 2;
-
-    // No specific chain is chosen, use general firewall chain(fw_input, fw_output)
-    const int FIREWALL_CHAIN_NONE = 0;
-    // Specify DOZABLE chain(fw_dozable) which is used in dozable mode
-    const int FIREWALL_CHAIN_DOZABLE = 1;
-    // Specify STANDBY chain(fw_standby) which is used in standby mode
-    const int FIREWALL_CHAIN_STANDBY = 2;
-    // Specify POWERSAVE chain(fw_powersave) which is used in power save mode
-    const int FIREWALL_CHAIN_POWERSAVE = 3;
-    // Specify RESTRICTED chain(fw_restricted) which is used in restricted
-    // networking mode
-    const int FIREWALL_CHAIN_RESTRICTED = 4;
-
-   /**
-    * Set firewall rule for interface
-    *
-    * @param ifName the interface to allow/deny
-    * @param firewallRule either FIREWALL_RULE_ALLOW or FIREWALL_RULE_DENY
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void firewallSetInterfaceRule(in @utf8InCpp String ifName, int firewallRule);
-
-   /**
-    * Set firewall rule for uid
-    *
-    * @param childChain target chain
-    * @param uid uid to allow/deny
-    * @param firewallRule either FIREWALL_RULE_ALLOW or FIREWALL_RULE_DENY
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void firewallSetUidRule(int childChain, int uid, int firewallRule);
-
-   /**
-    * Enable/Disable target firewall child chain
-    *
-    * @param childChain target chain to enable
-    * @param enable whether to enable or disable child chain.
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void firewallEnableChildChain(int childChain, boolean enable);
-
-   /**
-    * Get interface list
-    *
-    * @return An array of strings containing all the interfaces on the system.
-    * @throws ServiceSpecificException in case of failure, with an error code corresponding to the
-    *         unix errno.
-    */
-    @utf8InCpp String[] interfaceGetList();
-
-    // Must be kept in sync with constant in InterfaceConfiguration.java
-    const String IF_STATE_UP = "up";
-    const String IF_STATE_DOWN = "down";
-
-    const String IF_FLAG_BROADCAST = "broadcast";
-    const String IF_FLAG_LOOPBACK = "loopback";
-    const String IF_FLAG_POINTOPOINT = "point-to-point";
-    const String IF_FLAG_RUNNING = "running";
-    const String IF_FLAG_MULTICAST = "multicast";
-
-   /**
-    * Get interface configuration
-    *
-    * @param ifName interface name
-    * @return An InterfaceConfigurationParcel for the specified interface.
-    * @throws ServiceSpecificException in case of failure, with an error code corresponding to the
-    *         unix errno.
-    */
-    InterfaceConfigurationParcel interfaceGetCfg(in @utf8InCpp String ifName);
-
-   /**
-    * Set interface configuration
-    *
-    * @param cfg Interface configuration to set
-    * @throws ServiceSpecificException in case of failure, with an error code corresponding to the
-    *         unix errno.
-    */
-    void interfaceSetCfg(in InterfaceConfigurationParcel cfg);
-
-   /**
-    * Set interface IPv6 privacy extensions
-    *
-    * @param ifName interface name
-    * @param enable whether to enable or disable this setting.
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void interfaceSetIPv6PrivacyExtensions(in @utf8InCpp String ifName, boolean enable);
-
-   /**
-    * Clear all IP addresses on the given interface
-    *
-    * @param ifName interface name
-    * @throws ServiceSpecificException in case of failure, with an error code corresponding to the
-    *         POSIX errno.
-    */
-    void interfaceClearAddrs(in @utf8InCpp String ifName);
-
-   /**
-    * Enable or disable IPv6 on the given interface
-    *
-    * @param ifName interface name
-    * @param enable whether to enable or disable this setting.
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void interfaceSetEnableIPv6(in @utf8InCpp String ifName, boolean enable);
-
-   /**
-    * Set interface MTU
-    *
-    * @param ifName interface name
-    * @param mtu MTU value
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void interfaceSetMtu(in @utf8InCpp String ifName, int mtu);
-
-   /**
-    * Add forwarding rule/stats on given interface.
-    *
-    * @param intIface downstream interface
-    * @param extIface upstream interface
-    */
-    void tetherAddForward(in @utf8InCpp String intIface, in @utf8InCpp String extIface);
-
-   /**
-    * Remove forwarding rule/stats on given interface.
-    *
-    * @param intIface downstream interface
-    * @param extIface upstream interface
-    */
-    void tetherRemoveForward(in @utf8InCpp String intIface, in @utf8InCpp String extIface);
-
-   /**
-    * Set the values of tcp_{rmem,wmem}.
-    *
-    * @param rmemValues the target values of tcp_rmem, each value is separated by spaces
-    * @param wmemValues the target values of tcp_wmem, each value is separated by spaces
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void setTcpRWmemorySize(in @utf8InCpp String rmemValues, in @utf8InCpp String wmemValues);
-
-   /**
-    * Register unsolicited event listener
-    * Netd supports multiple unsolicited event listeners.
-    *
-    * @param listener unsolicited event listener to register
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void registerUnsolicitedEventListener(INetdUnsolicitedEventListener listener);
-
-    /**
-     * Add ingress interface filtering rules to a list of UIDs
-     *
-     * For a given uid, once a filtering rule is added, the kernel will only allow packets from the
-     * allowed interface and loopback to be sent to the list of UIDs.
-     *
-     * Calling this method on one or more UIDs with an existing filtering rule but a different
-     * interface name will result in the filtering rule being updated to allow the new interface
-     * instead. Otherwise calling this method will not affect existing rules set on other UIDs.
-     *
-     * @param ifName the name of the interface on which the filtering rules will allow packets to
-              be received.
-     * @param uids an array of UIDs which the filtering rules will be set
-     * @throws ServiceSpecificException in case of failure, with an error code indicating the
-     *         cause of the failure.
-     */
-    void firewallAddUidInterfaceRules(in @utf8InCpp String ifName, in int[] uids);
-
-    /**
-     * Remove ingress interface filtering rules from a list of UIDs
-     *
-     * Clear the ingress interface filtering rules from the list of UIDs which were previously set
-     * by firewallAddUidInterfaceRules(). Ignore any uid which does not have filtering rule.
-     *
-     * @param uids an array of UIDs from which the filtering rules will be removed
-     * @throws ServiceSpecificException in case of failure, with an error code indicating the
-     *         cause of the failure.
-     */
-    void firewallRemoveUidInterfaceRules(in int[] uids);
-
-   /**
-    * Request netd to change the current active network stats map.
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void trafficSwapActiveStatsMap();
-
-   /**
-    * Retrieves OEM netd listener interface
-    *
-    * @return a IBinder object, it could be casted to oem specific interface.
-    */
-    IBinder getOemNetd();
-
-   /**
-    * Start tethering with given configuration
-    *
-    * @param config config to start tethering.
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void tetherStartWithConfiguration(in TetherConfigParcel config);
-
-
-    /**
-     * Get the fwmark and its net id mask for the given network id.
-     *
-     * @param netId the network to get the fwmark and mask for.
-     * @return A MarkMaskParcel of the given network id.
-     */
-    MarkMaskParcel getFwmarkForNetwork(int netId);
-
-    /**
-    * Add a route for specific network
-    *
-    * @param netId the network to add the route to
-    * @param routeInfo parcelable with route information
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void networkAddRouteParcel(int netId, in android.net.RouteInfoParcel routeInfo);
-
-    /**
-    * Update a route for specific network
-    *
-    * @param routeInfo parcelable with route information
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void networkUpdateRouteParcel(int netId, in android.net.RouteInfoParcel routeInfo);
-
-    /**
-    * Remove a route for specific network
-    *
-    * @param routeInfo parcelable with route information
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void networkRemoveRouteParcel(int netId, in android.net.RouteInfoParcel routeInfo);
-
-    /**
-     * Adds a tethering offload rule, or updates it if it already exists.
-     *
-     * Currently, only downstream /128 IPv6 entries are supported. An existing rule will be updated
-     * if the input interface and destination prefix match. Otherwise, a new rule will be created.
-     *
-     * @param rule The rule to add or update.
-     * @throws ServiceSpecificException in case of failure, with an error code indicating the
-     *                                  cause of the failure.
-     */
-    void tetherOffloadRuleAdd(in TetherOffloadRuleParcel rule);
-
-    /**
-     * Deletes a tethering offload rule.
-     *
-     * Currently, only downstream /128 IPv6 entries are supported. An existing rule will be deleted
-     * if the destination IP address and the source interface match. It is not an error if there is
-     * no matching rule to delete.
-     *
-     * @param rule The rule to delete.
-     * @throws ServiceSpecificException in case of failure, with an error code indicating the
-     *                                  cause of the failure.
-     */
-    void tetherOffloadRuleRemove(in TetherOffloadRuleParcel rule);
-
-    /**
-     * Return BPF tethering offload statistics.
-     *
-     * @return an array of TetherStatsParcel's, where each entry contains the upstream interface
-     *         index and its tethering statistics since tethering was first started.
-     *         There will only ever be one entry for a given interface index.
-     * @throws ServiceSpecificException in case of failure, with an error code indicating the
-     *         cause of the failure.
-     */
-    TetherStatsParcel[] tetherOffloadGetStats();
-
-   /**
-    * Set a per-interface quota for tethering offload.
-    *
-    * @param ifIndex Index of upstream interface
-    * @param quotaBytes The quota defined as the number of bytes, starting from zero and counting
-     *       from *now*. A value of QUOTA_UNLIMITED (-1) indicates there is no limit.
-    * @throws ServiceSpecificException in case of failure, with an error code indicating the
-    *         cause of the failure.
-    */
-    void tetherOffloadSetInterfaceQuota(int ifIndex, long quotaBytes);
-
-    /**
-     * Return BPF tethering offload statistics and clear the stats for a given upstream.
-     *
-     * Must only be called once all offload rules have already been deleted for the given upstream
-     * interface. The existing stats will be fetched and returned. The stats and the limit for the
-     * given upstream interface will be deleted as well.
-     *
-     * The stats and limit for a given upstream interface must be initialized (using
-     * tetherOffloadSetInterfaceQuota) before any offload will occur on that interface.
-     *
-     * @param ifIndex Index of upstream interface.
-     * @return TetherStatsParcel, which contains the given upstream interface index and its
-     *         tethering statistics since tethering was first started on that upstream interface.
-     * @throws ServiceSpecificException in case of failure, with an error code indicating the
-     *                                  cause of the failure.
-     */
-     TetherStatsParcel tetherOffloadGetAndClearStats(int ifIndex);
-
-    /**
-     * Creates a network.
-     *
-     * @param config the configuration of network.
-     * @throws ServiceSpecificException in case of failure, with an error code corresponding to the
-     *         unix errno.
-     */
-    void networkCreate(in NativeNetworkConfig config);
-
-    /**
-     * Adds the specified UID ranges to the specified network. The network can be physical or
-     * virtual. Traffic from the UID ranges will be routed to the network by default. The possible
-     * value of subsidiary priority for physical and unreachable networks is 0-999. 0 is the highest
-     * priority. 0 is also the default value. Virtual network supports only the default value.
-     *
-     * @param NativeUidRangeConfig a parcel contains netId, UID ranges, subsidiary priority, etc.
-     *
-     * @throws ServiceSpecificException in case of failure, with an error code corresponding to the
-     *         unix errno.
-     */
-    void networkAddUidRangesParcel(in NativeUidRangeConfig uidRangesConfig);
-
-    /**
-     * Removes the specified UID ranges from the specified network. The network can be physical or
-     * virtual. Traffic from the UID ranges will no longer be routed to the network by default. The
-     * possible value of subsidiary priority for physical and unreachable networks is 0-999. 0 is
-     * the highest priority. 0 is also the default value. Virtual network supports only the default
-     * value.
-     *
-     * @param NativeUidRangeConfig a parcel contains netId, UID ranges, subsidiary priority, etc.
-     *
-     * @throws ServiceSpecificException in case of failure, with an error code corresponding to the
-     *         unix errno.
-     */
-    void networkRemoveUidRangesParcel(in NativeUidRangeConfig uidRangesConfig);
-}
diff --git a/server/binder/android/net/INetdUnsolicitedEventListener.aidl b/server/binder/android/net/INetdUnsolicitedEventListener.aidl
deleted file mode 100644
index 652a79c..0000000
--- a/server/binder/android/net/INetdUnsolicitedEventListener.aidl
+++ /dev/null
@@ -1,145 +0,0 @@
-/**
- * Copyright (c) 2018, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.net;
-
-/**
- * Unsolicited netd events which are reported by the kernel via netlink.
- * This one-way interface groups asynchronous notifications sent
- * by netd to any process that registered itself via INetd.registerUnsolEventListener.
- *
- * {@hide}
- */
-oneway interface INetdUnsolicitedEventListener {
-
-    /**
-     * Notifies that an interface has been idle/active for a certain period of time.
-     * It is the event for idletimer.
-     *
-     * @param isActive true for active status, false for idle
-     * @param timerLabel unique identifier of the idletimer.
-     *              Since NMS only set the identifier as int, only report event with int label.
-     * @param timestampNs kernel timestamp of this event, 0 for no timestamp
-     * @param uid uid of this event, -1 for no uid.
-     *            It represents the uid that was responsible for waking the radio.
-     */
-    void onInterfaceClassActivityChanged(
-            boolean isActive,
-            int timerLabel,
-            long timestampNs,
-            int uid);
-
-    /**
-     * Notifies that a specific interface reached its quota limit.
-     *
-     * @param alertName alert name of the quota limit
-     * @param ifName interface which reached the limit
-     */
-    void onQuotaLimitReached(@utf8InCpp String alertName, @utf8InCpp String ifName);
-
-    /**
-     * Provides information on IPv6 DNS servers on a specific interface.
-     *
-     * @param ifName interface name
-     * @param lifetimeS lifetime for the DNS servers in seconds
-     * @param servers the address of servers.
-     *                  e.g. IpV6: "2001:4860:4860::6464"
-     *
-     */
-    void onInterfaceDnsServerInfo(
-            @utf8InCpp String ifName, long lifetimeS, in @utf8InCpp String[] servers);
-
-    /**
-     * Notifies that an address has updated on a specific interface.
-     *
-     * @param addr address that is being updated
-     * @param ifName the name of the interface on which the address is configured
-     * @param flags address flags, see ifa_flags in if_addr.h
-     * @param scope current scope of the address
-     */
-    void onInterfaceAddressUpdated(
-            @utf8InCpp String addr,
-            @utf8InCpp String ifName,
-            int flags,
-            int scope);
-
-    /**
-     * Notifies that an address has been removed on a specific interface.
-     *
-     * @param addr address of this change
-     * @param ifName the name of the interface that changed addresses
-     * @param flags address flags, see ifa_flags in if_addr.h
-     * @param scope address address scope
-     */
-    void onInterfaceAddressRemoved(
-            @utf8InCpp String addr,
-            @utf8InCpp String ifName,
-            int flags,
-            int scope);
-
-    /**
-     * Notifies that an interface has been added.
-     *
-     * @param ifName the name of the added interface
-     */
-    void onInterfaceAdded(@utf8InCpp String ifName);
-
-    /**
-     * Notifies that an interface has been removed.
-     *
-     * @param ifName the name of the removed interface
-     */
-    void onInterfaceRemoved(@utf8InCpp String ifName);
-
-    /**
-     * Notifies that the status of the specific interface has changed.
-     *
-     * @param ifName the name of the interface that changed status
-     * @param up true for interface up, false for down
-     */
-    void onInterfaceChanged(@utf8InCpp String ifName, boolean up);
-
-    /**
-     * Notifies that the link state of the specific interface has changed.
-     *
-     * @param ifName the name of the interface whose link state has changed
-     * @param up true for interface link state up, false for link state down
-     */
-    void onInterfaceLinkStateChanged(@utf8InCpp String ifName, boolean up);
-
-    /**
-     * Notifies that an IP route has changed.
-     *
-     * @param updated true for update, false for remove
-     * @param route destination prefix of this route, e.g., "2001:db8::/64"
-     * @param gateway address of gateway, empty string for no gateway
-     * @param ifName interface name of this route, empty string for no interface
-     */
-    void onRouteChanged(
-            boolean updated,
-            @utf8InCpp String route,
-            @utf8InCpp String gateway,
-            @utf8InCpp String ifName);
-
-    /**
-     * Notifies that kernel has detected a socket sending data not wrapped
-     * inside a layer of SSL/TLS encryption.
-     *
-     * @param uid uid of this event
-     * @param hex packet content in hex format
-     */
-    void onStrictCleartextDetected(int uid, @utf8InCpp String hex);
-}
diff --git a/server/binder/android/net/InterfaceConfigurationParcel.aidl b/server/binder/android/net/InterfaceConfigurationParcel.aidl
deleted file mode 100644
index c20792c..0000000
--- a/server/binder/android/net/InterfaceConfigurationParcel.aidl
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.net;
-
-/**
- * Configuration details for a network interface.
- *
- * {@hide}
- */
-parcelable InterfaceConfigurationParcel {
-    @utf8InCpp String ifName;
-    @utf8InCpp String hwAddr;
-    @utf8InCpp String ipv4Addr;
-    int prefixLength;
-    /**
-    * Interface flags, String versions of IFF_* defined in netd/if.h
-    */
-    @utf8InCpp String[] flags;
-}
diff --git a/server/binder/android/net/MarkMaskParcel.aidl b/server/binder/android/net/MarkMaskParcel.aidl
deleted file mode 100644
index 932b7bf..0000000
--- a/server/binder/android/net/MarkMaskParcel.aidl
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.net;
-
-/**
- * Structure that stores a firewall mark and its mask.
- *
- * {@hide}
- */
-parcelable MarkMaskParcel {
-    // The fwmark.
-    int mark;
-    // Net id mask of fwmark.
-    int mask;
-}
diff --git a/server/binder/android/net/NativeNetworkConfig.aidl b/server/binder/android/net/NativeNetworkConfig.aidl
deleted file mode 100644
index 2c4f83a..0000000
--- a/server/binder/android/net/NativeNetworkConfig.aidl
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.net;
-
-import android.net.NativeNetworkType;
-import android.net.NativeVpnType;
-
-/**
- * The configuration to create a network.
- *
- * {@hide}
- */
-@JavaDerive(toString=true, equals=true)
-@JavaOnlyImmutable
-parcelable NativeNetworkConfig {
-    /** The networkId to create. */
-    int netId;
-
-    /**
-     *  The type of network, e.g. physical network or virtual network.
-     */
-    NativeNetworkType networkType = NativeNetworkType.PHYSICAL;
-
-    /**
-     * For physical networks. The permission necessary to use the network. Must be one of
-     * PERMISSION_NONE/PERMISSION_NETWORK/PERMISSION_SYSTEM. Ignored for all other network types.
-     */
-    int permission;
-
-    /**
-     *  For virtual networks. Whether unprivileged apps are allowed to bypass the VPN. Ignored for
-     *  all other network types.
-     */
-    boolean secure;
-
-    /** For virtual networks. The type of VPN to create.  Ignored for all other network types. */
-    NativeVpnType vpnType = NativeVpnType.PLATFORM;
-}
diff --git a/server/binder/android/net/NativeNetworkType.aidl b/server/binder/android/net/NativeNetworkType.aidl
deleted file mode 100644
index d667029..0000000
--- a/server/binder/android/net/NativeNetworkType.aidl
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.net;
-
-@Backing(type="int")
-enum NativeNetworkType {
-  /**
-   * Physical network type.
-   */
-  PHYSICAL = 0,
-
-  /**
-   * Virtual private network type.
-   */
-  VIRTUAL = 1,
-}
\ No newline at end of file
diff --git a/server/binder/android/net/NativeVpnType.aidl b/server/binder/android/net/NativeVpnType.aidl
deleted file mode 100644
index cd1b447..0000000
--- a/server/binder/android/net/NativeVpnType.aidl
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.net;
-
-@Backing(type="int")
-enum NativeVpnType {
-  /**
-   * A VPN created by an app using the VpnService API.
-   */
-  SERVICE = 1,
-
-  /**
-   * A VPN created using a VpnManager API such as startProvisionedVpnProfile.
-   */
-  PLATFORM = 2,
-
-  /**
-   * An IPsec VPN created by the built-in LegacyVpnRunner.
-   */
-  LEGACY = 3,
-
-  /**
-   * An VPN created by OEM code through other means than VpnService or VpnManager.
-   */
-  OEM = 4,
-}
\ No newline at end of file
diff --git a/server/binder/android/net/RouteInfoParcel.aidl b/server/binder/android/net/RouteInfoParcel.aidl
deleted file mode 100644
index fcc86e3..0000000
--- a/server/binder/android/net/RouteInfoParcel.aidl
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2020, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.net;
-
-parcelable RouteInfoParcel {
-  // The destination of the route.
-  @utf8InCpp String destination;
-  // The name of interface of the route. This interface should be assigned to the netID.
-  @utf8InCpp String ifName;
-  // The route's next hop address, or one of the NEXTHOP_* constants defined in INetd.aidl.
-  @utf8InCpp String nextHop;
-  // The MTU of the route.
-  int mtu;
-}
diff --git a/server/binder/android/net/TetherConfigParcel.aidl b/server/binder/android/net/TetherConfigParcel.aidl
deleted file mode 100644
index 9f371ce..0000000
--- a/server/binder/android/net/TetherConfigParcel.aidl
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.net;
-
-/**
- * The configuration to start tethering.
- *
- * {@hide}
- */
-parcelable TetherConfigParcel {
-    // Whether to enable or disable legacy DNS proxy server.
-    boolean usingLegacyDnsProxy;
-    // DHCP ranges to set.
-    // dhcpRanges might contain many addresss {addr1, addr2, addr3, addr4...}
-    // Netd splits them into ranges: addr1-addr2, addr3-addr4, etc.
-    // An odd number of addrs will fail.
-    @utf8InCpp String[] dhcpRanges;
-}
diff --git a/server/binder/android/net/TetherOffloadRuleParcel.aidl b/server/binder/android/net/TetherOffloadRuleParcel.aidl
deleted file mode 100644
index c549e61..0000000
--- a/server/binder/android/net/TetherOffloadRuleParcel.aidl
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.net;
-
-/**
- * Represents a forwarding rule for tethering offload.
- *
- * {@hide}
- */
-parcelable TetherOffloadRuleParcel {
-    /** The interface index of the input interface. */
-    int inputInterfaceIndex;
-
-    /** The interface index of the output interface. */
-    int outputInterfaceIndex;
-
-    /** The base IP address of the destination prefix as a byte array. */
-    byte[] destination;
-
-    /** The destination prefix length. */
-    int prefixLength;
-
-    /** The source link-layer address. Currently, must be a 6-byte MAC address.*/
-    byte[] srcL2Address;
-
-    /** The destination link-layer address. Currently, must be a 6-byte MAC address. */
-    byte[] dstL2Address;
-
-    /** The outbound path mtu. */
-    int pmtu = 1500;
-}
diff --git a/server/binder/android/net/TetherStatsParcel.aidl b/server/binder/android/net/TetherStatsParcel.aidl
deleted file mode 100644
index 6bf60a8..0000000
--- a/server/binder/android/net/TetherStatsParcel.aidl
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.net;
-
-/**
- * The statistics of tethering interface
- *
- * {@hide}
- */
-parcelable TetherStatsParcel {
-    /**
-     * Parcel representing tethering interface statistics.
-     *
-     * This parcel is used by tetherGetStats, tetherOffloadGetStats and
-     * tetherOffloadGetAndClearStats in INetd.aidl. tetherGetStats uses this parcel to return the
-     * tethering statistics since netd startup and presents the interface via its interface name.
-     * Both tetherOffloadGetStats and tetherOffloadGetAndClearStats use this parcel to return
-     * the tethering statistics since tethering was first started. They present the interface via
-     * its interface index. Note that the interface must be presented by either interface name
-     * |iface| or interface index |ifIndex| in this parcel. The unused interface name is set to
-     * an empty string "" by default and the unused interface index is set to 0 by default.
-     */
-
-    /** The interface name. */
-    @utf8InCpp String iface;
-
-    /** Total number of received bytes. */
-    long rxBytes;
-
-    /** Total number of received packets. */
-    long rxPackets;
-
-    /** Total number of transmitted bytes. */
-    long txBytes;
-
-    /** Total number of transmitted packets. */
-    long txPackets;
-
-    /** The interface index. */
-    int ifIndex = 0;
-}
diff --git a/server/binder/android/net/UidRangeParcel.aidl b/server/binder/android/net/UidRangeParcel.aidl
deleted file mode 100644
index 8f1fef6..0000000
--- a/server/binder/android/net/UidRangeParcel.aidl
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.net;
-
-/**
- * An inclusive range of UIDs.
- *
- * {@hide}
- */
-@JavaOnlyImmutable @JavaDerive(toString=true, equals=true)
-parcelable UidRangeParcel {
-    int start;
-    int stop;
-}
diff --git a/server/binder/android/net/metrics/INetdEventListener.aidl b/server/binder/android/net/metrics/INetdEventListener.aidl
deleted file mode 100644
index ef1b2cb..0000000
--- a/server/binder/android/net/metrics/INetdEventListener.aidl
+++ /dev/null
@@ -1,128 +0,0 @@
-/**
- * Copyright (c) 2016, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.net.metrics;
-
-/**
- * Logs netd events.
- *
- * {@hide}
- */
-oneway interface INetdEventListener {
-    const int EVENT_GETADDRINFO = 1;
-    const int EVENT_GETHOSTBYNAME = 2;
-    const int EVENT_GETHOSTBYADDR = 3;
-    const int EVENT_RES_NSEND = 4;
-
-    const int REPORTING_LEVEL_NONE = 0;
-    const int REPORTING_LEVEL_METRICS = 1;
-    const int REPORTING_LEVEL_FULL = 2;
-
-    // Maximum number of IP addresses logged for DNS lookups before we truncate the full list.
-    const int DNS_REPORTED_IP_ADDRESSES_LIMIT = 10;
-
-    /**
-     * Logs a DNS lookup function call (getaddrinfo and gethostbyname).
-     *
-     * @param netId the ID of the network the lookup was performed on.
-     * @param eventType one of the EVENT_* constants in this interface.
-     * @param returnCode the return value of the function call.
-     * @param latencyMs the latency of the function call.
-     * @param hostname the name that was looked up.
-     * @param ipAddresses (possibly a subset of) the IP addresses returned.
-     *        At most {@link #DNS_REPORTED_IP_ADDRESSES_LIMIT} addresses are logged.
-     * @param ipAddressesCount the number of IP addresses returned. May be different from the length
-     *        of ipAddresses if there were too many addresses to log.
-     * @param uid the UID of the application that performed the query.
-     */
-    void onDnsEvent(int netId, int eventType, int returnCode, int latencyMs,
-            @utf8InCpp String hostname, in @utf8InCpp String[] ipAddresses,
-            int ipAddressesCount, int uid);
-
-    /**
-     * Represents a private DNS validation success or failure.
-     *
-     * @param netId the ID of the network the validation was performed on.
-     * @param ipAddress the IP address for which validation was performed.
-     * @param hostname the hostname for which validation was performed.
-     * @param validated whether or not validation was successful.
-     */
-    void onPrivateDnsValidationEvent(int netId, String ipAddress, String hostname,
-            boolean validated);
-
-    /**
-     * Logs a single connect library call.
-     *
-     * @param netId the ID of the network the connect was performed on.
-     * @param error 0 if the connect call succeeded, otherwise errno if it failed.
-     * @param latencyMs the latency of the connect call.
-     * @param ipAddr destination IP address.
-     * @param port destination port number.
-     * @param uid the UID of the application that performed the connection.
-     */
-    void onConnectEvent(int netId, int error, int latencyMs, String ipAddr, int port, int uid);
-
-    /**
-     * Logs a single RX packet which caused the main CPU to exit sleep state.
-     * @param prefix arbitrary string provided via wakeupAddInterface()
-     * @param uid UID of the destination process or -1 if no UID is available.
-     * @param ethertype of the RX packet encoded in an int in native order, or -1 if not available.
-     * @param ipNextHeader ip protocol of the RX packet as IPPROTO_* number,
-              or -1 if the packet was not IPv4 or IPv6.
-     * @param dstHw destination hardware address, or 0 if not available.
-     * @param srcIp source IP address, or null if not available.
-     * @param dstIp destination IP address, or null if not available.
-     * @param srcPort src port of RX packet in native order, or -1 if the packet was not UDP or TCP.
-     * @param dstPort dst port of RX packet in native order, or -1 if the packet was not UDP or TCP.
-     * @param timestampNs receive timestamp for the offending packet. In units of nanoseconds and
-     *        synchronized to CLOCK_MONOTONIC.
-     */
-    void onWakeupEvent(String prefix, int uid, int ethertype, int ipNextHeader, in byte[] dstHw,
-            String srcIp, String dstIp, int srcPort, int dstPort, long timestampNs);
-
-    /**
-     * An event sent after every Netlink sock_diag poll performed by Netd. This reported batch
-     * groups TCP socket stats aggregated by network id. Per-network data are stored in a
-     * structure-of-arrays style where networkIds, sentPackets, lostPackets, rttUs, and
-     * sentAckDiffMs have the same length. Stats for the i-th network is spread across all these
-     * arrays at index i.
-     * @param networkIds an array of network ids for which there was tcp socket stats to collect in
-     *        the last sock_diag poll.
-     * @param sentPackets an array of packet sent across all TCP sockets still alive and new
-              TCP sockets since the last sock_diag poll, summed per network id.
-     * @param lostPackets, an array of packet lost across all TCP sockets still alive and new
-              TCP sockets since the last sock_diag poll, summed per network id.
-     * @param rttUs an array of smoothed round trip times in microseconds, averaged across all TCP
-              sockets since the last sock_diag poll for a given network id.
-     * @param sentAckDiffMs an array of milliseconds duration between the last packet sent and the
-              last ack received for a socket, averaged across all TCP sockets for a network id.
-     */
-    void onTcpSocketStatsEvent(in int[] networkIds, in int[] sentPackets,
-            in int[] lostPackets, in int[] rttUs, in int[] sentAckDiffMs);
-
-    /**
-     * Represents adding or removing a NAT64 prefix.
-     *
-     * @param netId the ID of the network the prefix was discovered on.
-     * @param added true if the NAT64 prefix was added, or false if the NAT64 prefix was removed.
-     *        There is only one prefix at a time for each netId. If a prefix is added, it replaces
-     *        the previous-added prefix.
-     * @param prefixString the detected NAT64 prefix as a string literal.
-     * @param prefixLength the prefix length associated with this NAT64 prefix.
-     */
-    void onNat64PrefixEvent(int netId, boolean added, @utf8InCpp String prefixString,
-            int prefixLength);
-}
diff --git a/server/binder/android/net/netd/aidl/NativeUidRangeConfig.aidl b/server/binder/android/net/netd/aidl/NativeUidRangeConfig.aidl
deleted file mode 100644
index 99497a8..0000000
--- a/server/binder/android/net/netd/aidl/NativeUidRangeConfig.aidl
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.net.netd.aidl;
-
-import android.net.UidRangeParcel;
-
-/**
- * The configuration to add or remove UID ranges.
- *
- * {@hide}
- */
-@JavaDerive(toString=true, equals=true)
-@JavaOnlyImmutable
-parcelable NativeUidRangeConfig {
-    /** The network ID of the network to add/remove the ranges to/from. */
-    int netId;
-
-    /** A set of non-overlapping ranges of UIDs. */
-    UidRangeParcel[] uidRanges;
-
-    /**
-     * The priority of this UID range config. 0 is the highest priority; 999 is the lowest priority.
-     * The function of this parameter is to adjust the priority when the same UID is set to
-     * different networks for different features.
-     */
-    int subPriority;
-}
\ No newline at end of file