blob: 727cd47b515bb6c50649ac988f1de71324e53092 [file] [log] [blame]
Colin Cross1a8e7972017-12-05 22:35:52 -08001// AIDL interface between netd and services.core
Lorenzo Colitti57bca9f2018-12-11 13:02:05 +09002aidl_interface {
3 name: "netd_event_listener_interface",
4 local_include_dir: "binder",
5 srcs: [
Remi NGUYEN VAN6b91b492019-04-09 13:57:03 +09006 "binder/android/net/metrics/INetdEventListener.aidl",
Lorenzo Colitti57bca9f2018-12-11 13:02:05 +09007 ],
Lorenzo Colitti866a03a2019-05-22 15:46:05 +09008 versions: ["1"],
Colin Cross1a8e7972017-12-05 22:35:52 -08009}
Steven Moreland0b7e3802018-03-02 12:41:52 -080010
Bernie Innocenti37ceb532018-06-11 21:10:44 +090011// These are used in netd_integration_test
12// TODO: fold these into a cc_library_static after converting netd/server to Android.bp
13filegroup {
14 name: "netd_integration_test_shared",
15 srcs: [
16 "NetdConstants.cpp",
17 "InterfaceController.cpp",
18 "NetlinkCommands.cpp",
Chenbo Feng49586642018-08-30 18:01:53 -070019 "NetlinkListener.cpp",
Bernie Innocenti37ceb532018-06-11 21:10:44 +090020 "XfrmController.cpp",
Chenbo Feng49586642018-08-30 18:01:53 -070021 "TrafficController.cpp",
Bernie Innocenti37ceb532018-06-11 21:10:44 +090022 ],
23}
24
Luke Huangcaebcbb2018-09-27 20:37:14 +080025aidl_interface {
26 name: "netd_aidl_interface",
27 local_include_dir: "binder",
28 srcs: [
Luke Huang03074eb2018-11-23 17:03:03 +080029 "binder/android/net/INetd.aidl",
Luke Huang528af602018-08-29 19:06:05 +080030 // AIDL interface that callers can implement to receive networking events from netd.
31 "binder/android/net/INetdUnsolicitedEventListener.aidl",
Luke Huang03074eb2018-11-23 17:03:03 +080032 "binder/android/net/InterfaceConfigurationParcel.aidl",
Chiachang Wang00fc62f2019-12-04 20:38:26 +080033 "binder/android/net/MarkMaskParcel.aidl",
Tyler Wearfa94a272019-12-05 15:01:48 -080034 "binder/android/net/RouteInfoParcel.aidl",
Chiachang Wang08cb2112019-12-10 09:53:24 +080035 "binder/android/net/TetherConfigParcel.aidl",
Lorenzo Colittif0e051c2020-04-06 09:19:57 +000036 "binder/android/net/TetherOffloadRuleParcel.aidl",
Luke Huangcaebcbb2018-09-27 20:37:14 +080037 "binder/android/net/TetherStatsParcel.aidl",
Luke Huang94658ac2018-10-18 19:35:12 +090038 "binder/android/net/UidRangeParcel.aidl",
Luke Huangcaebcbb2018-09-27 20:37:14 +080039 ],
Luke Huangf7782042018-08-08 13:13:04 +080040 backend: {
Xiao Ma33d562a2018-12-16 16:27:38 +090041 cpp: {
42 gen_log: true,
43 },
Luke Huang67649312020-04-01 01:17:42 +080044 java: {
45 apex_available: [
46 "com.android.bluetooth.updatable",
47 "com.android.wifi",
48 ],
49 },
Luke Huangf7782042018-08-08 13:13:04 +080050 },
Luke Huang00681282019-04-26 12:09:05 +080051 versions: [
52 "1",
53 "2",
54 ],
Luke Huangcaebcbb2018-09-27 20:37:14 +080055}
56
Luke Huang0e5e69d2019-03-06 15:42:38 +080057aidl_interface {
Luke Huang2ff8b342019-04-30 15:33:33 +080058 // This interface is for OEM calls to netd and vice versa that do not exist in AOSP.
59 // Those calls cannot be part of INetd.aidl and INetdUnsolicitedEventListener.aidl
60 // because those interfaces are versioned.
61 // These interfaces must never be versioned or OEMs will not be able to change them.
Luke Huang0e5e69d2019-03-06 15:42:38 +080062 name: "oemnetd_aidl_interface",
63 local_include_dir: "binder",
64 srcs: [
65 "binder/com/android/internal/net/IOemNetd.aidl",
Luke Huang2ff8b342019-04-30 15:33:33 +080066 "binder/com/android/internal/net/IOemNetdUnsolicitedEventListener.aidl",
Luke Huang0e5e69d2019-03-06 15:42:38 +080067 ],
68}
69
Bernie Innocenti98951792018-06-26 17:13:44 +090070// Modules common to both netd and netd_unit_test
71cc_library_static {
72 name: "libnetd_server",
73 defaults: ["netd_defaults"],
74 include_dirs: [
Bernie Innocenti98951792018-06-26 17:13:44 +090075 "system/netd/include",
76 "system/netd/server/binder",
77 ],
78 srcs: [
79 "BandwidthController.cpp",
Lorenzo Colitti7ef8c0f2019-01-11 22:34:58 +090080 "ClatdController.cpp",
Bernie Innocenti98951792018-06-26 17:13:44 +090081 "Controllers.cpp",
82 "NetdConstants.cpp",
83 "FirewallController.cpp",
84 "IdletimerController.cpp",
85 "InterfaceController.cpp",
86 "IptablesRestoreController.cpp",
87 "NFLogListener.cpp",
88 "NetlinkCommands.cpp",
89 "NetlinkListener.cpp",
90 "NetlinkManager.cpp",
Maciej Żenczykowskieec72082020-02-04 23:29:41 -080091 "OffloadUtils.cpp",
Bernie Innocenti98951792018-06-26 17:13:44 +090092 "RouteController.cpp",
93 "SockDiag.cpp",
94 "StrictController.cpp",
95 "TcpSocketMonitor.cpp",
96 "TetherController.cpp",
97 "TrafficController.cpp",
98 "UidRanges.cpp",
99 "WakeupController.cpp",
100 "XfrmController.cpp",
Bernie Innocenti98951792018-06-26 17:13:44 +0900101 ],
102 shared_libs: [
Chenbo Fenga54aaf52018-11-07 17:51:51 -0800103 "libbpf_android",
Bernie Innocenti98951792018-06-26 17:13:44 +0900104 "libbase",
105 "libbinder",
Chenbo Fengd6104d12018-10-16 20:29:29 -0700106 "libnetdbpf",
Bernie Innocenti98951792018-06-26 17:13:44 +0900107 "libnetutils",
108 "libnetdutils",
109 "libpcap",
110 "libqtaguid",
111 "libssl",
Lorenzo Colittif0e051c2020-04-06 09:19:57 +0000112 "netd_aidl_interface-unstable-cpp",
Jeongik Chab54ecec2019-10-15 17:06:59 +0900113 "netd_event_listener_interface-cpp",
Bernie Innocenti98951792018-06-26 17:13:44 +0900114 ],
115 aidl: {
116 export_aidl_headers: true,
117 local_include_dirs: ["binder"],
118 },
119}
120
121cc_binary {
122 name: "netd",
123 defaults: ["netd_defaults"],
124 include_dirs: [
Bernie Innocenti98951792018-06-26 17:13:44 +0900125 "external/mdnsresponder/mDNSShared",
126 "system/netd/include",
127 ],
128 init_rc: ["netd.rc"],
Maciej Żenczykowskif428d6e2020-02-19 10:26:35 -0800129 required: [
130 "bpfloader",
131 "clatd.o",
132 "netd.o",
133 "offload.o",
134 ],
Bernie Innocenti98951792018-06-26 17:13:44 +0900135 shared_libs: [
136 "android.system.net.netd@1.0",
137 "android.system.net.netd@1.1",
Bernie Innocentif89b3512018-08-30 07:34:37 +0900138 "libbase",
Bernie Innocenti98951792018-06-26 17:13:44 +0900139 "libbinder",
Chenbo Fenga54aaf52018-11-07 17:51:51 -0800140 "libbpf_android",
Bernie Innocenti98951792018-06-26 17:13:44 +0900141 "libcutils",
142 "libdl",
143 "libhidlbase",
Jeongik Cha0f750c22019-02-22 18:43:44 +0900144 "libjsoncpp",
Bernie Innocenti98951792018-06-26 17:13:44 +0900145 "liblog",
Bernie Innocenti98951792018-06-26 17:13:44 +0900146 "libmdnssd",
Jooyung Han3e64aa12019-11-27 15:36:29 +0900147 "libnetd_resolv",
Chenbo Fengd6104d12018-10-16 20:29:29 -0700148 "libnetdbpf",
Bernie Innocenti98951792018-06-26 17:13:44 +0900149 "libnetdutils",
Bernie Innocentif89b3512018-08-30 07:34:37 +0900150 "libnetutils",
Bernie Innocenti98951792018-06-26 17:13:44 +0900151 "libpcap",
Suren Baghdasaryane072a3c2019-01-16 14:36:07 -0800152 "libprocessgroup",
Bernie Innocenti98951792018-06-26 17:13:44 +0900153 "libqtaguid",
154 "libselinux",
Bernie Innocenti98951792018-06-26 17:13:44 +0900155 "libsysutils",
Bernie Innocenti98951792018-06-26 17:13:44 +0900156 "libutils",
Jeongik Chab54ecec2019-10-15 17:06:59 +0900157 "netd_aidl_interface-unstable-cpp",
158 "netd_event_listener_interface-cpp",
Luke Huang0e5e69d2019-03-06 15:42:38 +0800159 "oemnetd_aidl_interface-cpp",
Bernie Innocenti98951792018-06-26 17:13:44 +0900160 ],
161 static_libs: [
162 "libnetd_server",
Bernie Innocenti98951792018-06-26 17:13:44 +0900163 ],
164 srcs: [
Bernie Innocenti98951792018-06-26 17:13:44 +0900165 "DummyNetwork.cpp",
Bernie Innocenti98951792018-06-26 17:13:44 +0900166 "EventReporter.cpp",
167 "FwmarkServer.cpp",
168 "LocalNetwork.cpp",
169 "MDnsSdListener.cpp",
170 "NetdCommand.cpp",
171 "NetdHwService.cpp",
172 "NetdNativeService.cpp",
173 "NetlinkHandler.cpp",
174 "Network.cpp",
175 "NetworkController.cpp",
Luke Huang0e5e69d2019-03-06 15:42:38 +0800176 "OemNetdListener.cpp",
Bernie Innocenti98951792018-06-26 17:13:44 +0900177 "PhysicalNetwork.cpp",
178 "PppController.cpp",
179 "Process.cpp",
Bernie Innocenti98951792018-06-26 17:13:44 +0900180 "VirtualNetwork.cpp",
181 "main.cpp",
182 "oem_iptables_hook.cpp",
183 ],
Ken Chen2e413c32020-01-13 11:59:53 +0800184 sanitize: {
185 cfi: true,
Ken Chen2e413c32020-01-13 11:59:53 +0800186 },
Bernie Innocenti98951792018-06-26 17:13:44 +0900187}
188
189cc_binary {
190 name: "ndc",
191 defaults: ["netd_defaults"],
Luke Huangcfd04b22019-03-18 15:53:21 +0800192 include_dirs: [
193 "system/netd/include",
194 ],
195 header_libs: [
196 "libnetd_client_headers",
197 ],
198 shared_libs: [
199 "libbase",
200 "libnetdutils",
201 "libnetutils",
202 "libcutils",
203 "liblog",
204 "libutils",
205 "libbinder",
Jeongik Chab54ecec2019-10-15 17:06:59 +0900206 "dnsresolver_aidl_interface-cpp",
207 "netd_aidl_interface-cpp",
Luke Huangcfd04b22019-03-18 15:53:21 +0800208 ],
209 srcs: [
210 "ndc.cpp",
211 "UidRanges.cpp",
212 "NdcDispatcher.cpp",
213 ],
Ken Chen2e413c32020-01-13 11:59:53 +0800214 sanitize: {
215 cfi: true,
Ken Chen2e413c32020-01-13 11:59:53 +0800216 },
Bernie Innocenti98951792018-06-26 17:13:44 +0900217}
218
219cc_test {
220 name: "netd_unit_test",
221 defaults: ["netd_defaults"],
222 test_suites: ["device-tests"],
Bernie Innocenti83a67ca2019-06-19 16:28:05 +0900223 require_root: true,
Bernie Innocenti98951792018-06-26 17:13:44 +0900224 include_dirs: [
225 "system/netd/include",
226 "system/netd/server/binder",
227 "system/netd/tests",
Bernie Innocenti98951792018-06-26 17:13:44 +0900228 ],
229 srcs: [
230 "BandwidthControllerTest.cpp",
Lorenzo Colitti7ef8c0f2019-01-11 22:34:58 +0900231 "ClatdControllerTest.cpp",
Bernie Innocenti98951792018-06-26 17:13:44 +0900232 "ControllersTest.cpp",
233 "FirewallControllerTest.cpp",
234 "IdletimerControllerTest.cpp",
235 "InterfaceControllerTest.cpp",
236 "IptablesBaseTest.cpp",
237 "IptablesRestoreControllerTest.cpp",
238 "NFLogListenerTest.cpp",
Maciej Żenczykowskieec72082020-02-04 23:29:41 -0800239 "OffloadUtilsTest.cpp",
Bernie Innocenti98951792018-06-26 17:13:44 +0900240 "RouteControllerTest.cpp",
241 "SockDiagTest.cpp",
242 "StrictControllerTest.cpp",
243 "TetherControllerTest.cpp",
244 "TrafficControllerTest.cpp",
245 "XfrmControllerTest.cpp",
246 "WakeupControllerTest.cpp",
247 ],
248 static_libs: [
249 "libgmock",
250 "libnetd_server",
251 "libnetd_test_tun_interface",
Lorenzo Colitti3f52fae2019-06-27 18:46:22 +0900252 "libqtaguid",
Lorenzo Colittif0e051c2020-04-06 09:19:57 +0000253 "netd_aidl_interface-unstable-cpp",
Jeongik Chab54ecec2019-10-15 17:06:59 +0900254 "netd_event_listener_interface-cpp",
Bernie Innocenti98951792018-06-26 17:13:44 +0900255 ],
256 shared_libs: [
257 "libbase",
258 "libbinder",
Chenbo Fenga54aaf52018-11-07 17:51:51 -0800259 "libbpf_android",
Bernie Innocenti98951792018-06-26 17:13:44 +0900260 "libcrypto",
261 "libcutils",
262 "liblog",
Chenbo Fengd6104d12018-10-16 20:29:29 -0700263 "libnetdbpf",
Bernie Innocenti98951792018-06-26 17:13:44 +0900264 "libnetdutils",
265 "libnetutils",
Bernie Innocenti98951792018-06-26 17:13:44 +0900266 "libsysutils",
267 "libutils",
268 ],
269}