You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
384 lines
10 KiB
384 lines
10 KiB
package {
|
|
// See: http://go/android-license-faq
|
|
// A large-scale-change added 'default_applicable_licenses' to import
|
|
// all of the 'license_kinds' from "system_netd_license"
|
|
// to get the below license kinds:
|
|
// SPDX-license-identifier-Apache-2.0
|
|
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_platform",
|
|
whole_static_libs: [
|
|
"netd_event_listener_interface-V1-ndk_platform",
|
|
],
|
|
apex_available: [
|
|
"com.android.resolv",
|
|
],
|
|
min_sdk_version: "29",
|
|
}
|
|
|
|
cc_library_static {
|
|
name: "netd_aidl_interface-lateststable-ndk_platform",
|
|
whole_static_libs: [
|
|
"netd_aidl_interface-V7-ndk_platform",
|
|
],
|
|
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
|
|
// because those interfaces are versioned.
|
|
// These interfaces must never be versioned or OEMs will not be able to change them.
|
|
name: "oemnetd_aidl_interface",
|
|
unstable: true,
|
|
local_include_dir: "binder",
|
|
srcs: [
|
|
"binder/com/android/internal/net/IOemNetd.aidl",
|
|
"binder/com/android/internal/net/IOemNetdUnsolicitedEventListener.aidl",
|
|
],
|
|
}
|
|
|
|
// These are used in netd_integration_test
|
|
// TODO: fold these into a cc_library_static after converting netd/server to Android.bp
|
|
filegroup {
|
|
name: "netd_integration_test_shared",
|
|
srcs: [
|
|
"NetdConstants.cpp",
|
|
"InterfaceController.cpp",
|
|
"NetlinkCommands.cpp",
|
|
"NetlinkListener.cpp",
|
|
"OffloadUtils.cpp",
|
|
"SockDiag.cpp",
|
|
"XfrmController.cpp",
|
|
"TrafficController.cpp",
|
|
],
|
|
}
|
|
|
|
// Modules common to both netd and netd_unit_test
|
|
cc_library_static {
|
|
name: "libnetd_server",
|
|
defaults: ["netd_defaults"],
|
|
include_dirs: [
|
|
"system/netd/include",
|
|
"system/netd/server/binder",
|
|
],
|
|
srcs: [
|
|
"BandwidthController.cpp",
|
|
"ClatdController.cpp",
|
|
"Controllers.cpp",
|
|
"NetdConstants.cpp",
|
|
"FirewallController.cpp",
|
|
"IdletimerController.cpp",
|
|
"InterfaceController.cpp",
|
|
"IptablesRestoreController.cpp",
|
|
"NFLogListener.cpp",
|
|
"NetlinkCommands.cpp",
|
|
"NetlinkListener.cpp",
|
|
"NetlinkManager.cpp",
|
|
"OffloadUtils.cpp",
|
|
"RouteController.cpp",
|
|
"SockDiag.cpp",
|
|
"StrictController.cpp",
|
|
"TcpSocketMonitor.cpp",
|
|
"TetherController.cpp",
|
|
"TrafficController.cpp",
|
|
"UidRanges.cpp",
|
|
"WakeupController.cpp",
|
|
"XfrmController.cpp",
|
|
],
|
|
shared_libs: [
|
|
"libbpf_android",
|
|
"libbase",
|
|
"libbinder",
|
|
"libnetdbpf",
|
|
"libnetutils",
|
|
"libnetdutils",
|
|
"libpcap",
|
|
"libqtaguid",
|
|
"libssl",
|
|
"libsysutils",
|
|
"netd_aidl_interface-V7-cpp",
|
|
"netd_event_listener_interface-V1-cpp",
|
|
],
|
|
aidl: {
|
|
export_aidl_headers: true,
|
|
local_include_dirs: ["binder"],
|
|
},
|
|
}
|
|
|
|
cc_binary {
|
|
name: "netd",
|
|
defaults: ["netd_defaults"],
|
|
include_dirs: [
|
|
"external/mdnsresponder/mDNSShared",
|
|
"system/netd/include",
|
|
],
|
|
init_rc: ["netd.rc"],
|
|
required: [
|
|
"bpfloader",
|
|
"clatd.o",
|
|
"netd.o",
|
|
],
|
|
shared_libs: [
|
|
"android.system.net.netd@1.0",
|
|
"android.system.net.netd@1.1",
|
|
"libbase",
|
|
"libbinder",
|
|
"libbpf_android",
|
|
"libcutils",
|
|
"libdl",
|
|
"libhidlbase",
|
|
"liblog",
|
|
"libmdnssd",
|
|
"libnetd_resolv",
|
|
"libnetdbpf",
|
|
"libnetdutils",
|
|
"libnetutils",
|
|
"libpcap",
|
|
"libprocessgroup",
|
|
"libqtaguid",
|
|
"libselinux",
|
|
"libsysutils",
|
|
"libutils",
|
|
"netd_aidl_interface-V7-cpp",
|
|
"netd_event_listener_interface-V1-cpp",
|
|
"oemnetd_aidl_interface-cpp",
|
|
],
|
|
static_libs: [
|
|
"libnetd_server",
|
|
],
|
|
srcs: [
|
|
"DummyNetwork.cpp",
|
|
"EventReporter.cpp",
|
|
"FwmarkServer.cpp",
|
|
"LocalNetwork.cpp",
|
|
"MDnsSdListener.cpp",
|
|
"NetdCommand.cpp",
|
|
"NetdHwService.cpp",
|
|
"NetdNativeService.cpp",
|
|
"NetlinkHandler.cpp",
|
|
"Network.cpp",
|
|
"NetworkController.cpp",
|
|
"OemNetdListener.cpp",
|
|
"PhysicalNetwork.cpp",
|
|
"PppController.cpp",
|
|
"Process.cpp",
|
|
"UnreachableNetwork.cpp",
|
|
"VirtualNetwork.cpp",
|
|
"main.cpp",
|
|
"oem_iptables_hook.cpp",
|
|
],
|
|
sanitize: {
|
|
cfi: true,
|
|
},
|
|
}
|
|
|
|
cc_binary {
|
|
name: "ndc",
|
|
defaults: ["netd_defaults"],
|
|
include_dirs: [
|
|
"system/netd/include",
|
|
],
|
|
header_libs: [
|
|
"libnetd_client_headers",
|
|
],
|
|
shared_libs: [
|
|
"libbase",
|
|
"libnetdutils",
|
|
"libnetutils",
|
|
"libcutils",
|
|
"liblog",
|
|
"libutils",
|
|
"libbinder",
|
|
"dnsresolver_aidl_interface-V7-cpp",
|
|
"netd_aidl_interface-V6-cpp",
|
|
],
|
|
srcs: [
|
|
"ndc.cpp",
|
|
"UidRanges.cpp",
|
|
"NdcDispatcher.cpp",
|
|
],
|
|
sanitize: {
|
|
cfi: true,
|
|
memtag_heap: true,
|
|
},
|
|
}
|
|
|
|
cc_test {
|
|
name: "netd_unit_test",
|
|
defaults: ["netd_defaults"],
|
|
test_suites: ["device-tests"],
|
|
require_root: true,
|
|
include_dirs: [
|
|
"system/netd/include",
|
|
"system/netd/server/binder",
|
|
"system/netd/tests",
|
|
],
|
|
srcs: [
|
|
"BandwidthControllerTest.cpp",
|
|
"ClatdControllerTest.cpp",
|
|
"ControllersTest.cpp",
|
|
"FirewallControllerTest.cpp",
|
|
"IdletimerControllerTest.cpp",
|
|
"InterfaceControllerTest.cpp",
|
|
"IptablesBaseTest.cpp",
|
|
"IptablesRestoreControllerTest.cpp",
|
|
"NFLogListenerTest.cpp",
|
|
"OffloadUtilsTest.cpp",
|
|
"RouteControllerTest.cpp",
|
|
"SockDiagTest.cpp",
|
|
"StrictControllerTest.cpp",
|
|
"TetherControllerTest.cpp",
|
|
"TrafficControllerTest.cpp",
|
|
"XfrmControllerTest.cpp",
|
|
"WakeupControllerTest.cpp",
|
|
],
|
|
static_libs: [
|
|
"libgmock",
|
|
"libnetd_server",
|
|
"libnetd_test_tun_interface",
|
|
"libqtaguid",
|
|
"netd_aidl_interface-V7-cpp",
|
|
"netd_event_listener_interface-V1-cpp",
|
|
],
|
|
shared_libs: [
|
|
"libbase",
|
|
"libbinder",
|
|
"libbpf_android",
|
|
"libcrypto",
|
|
"libcutils",
|
|
"liblog",
|
|
"libnetdbpf",
|
|
"libnetdutils",
|
|
"libnetutils",
|
|
"libsysutils",
|
|
"libutils",
|
|
],
|
|
// tidy: false, // cuts test build time by almost 1 minute
|
|
}
|