Colin Cross | 1a8e797 | 2017-12-05 22:35:52 -0800 | [diff] [blame] | 1 | // AIDL interface between netd and services.core |
Lorenzo Colitti | 57bca9f | 2018-12-11 13:02:05 +0900 | [diff] [blame] | 2 | aidl_interface { |
| 3 | name: "netd_event_listener_interface", |
| 4 | local_include_dir: "binder", |
| 5 | srcs: [ |
Remi NGUYEN VAN | 6b91b49 | 2019-04-09 13:57:03 +0900 | [diff] [blame] | 6 | "binder/android/net/metrics/INetdEventListener.aidl", |
Lorenzo Colitti | 57bca9f | 2018-12-11 13:02:05 +0900 | [diff] [blame] | 7 | ], |
Lorenzo Colitti | 866a03a | 2019-05-22 15:46:05 +0900 | [diff] [blame] | 8 | versions: ["1"], |
Colin Cross | 1a8e797 | 2017-12-05 22:35:52 -0800 | [diff] [blame] | 9 | } |
Steven Moreland | 0b7e380 | 2018-03-02 12:41:52 -0800 | [diff] [blame] | 10 | |
Bernie Innocenti | 37ceb53 | 2018-06-11 21:10:44 +0900 | [diff] [blame] | 11 | // These are used in netd_integration_test |
| 12 | // TODO: fold these into a cc_library_static after converting netd/server to Android.bp |
| 13 | filegroup { |
| 14 | name: "netd_integration_test_shared", |
| 15 | srcs: [ |
| 16 | "NetdConstants.cpp", |
| 17 | "InterfaceController.cpp", |
| 18 | "NetlinkCommands.cpp", |
Chenbo Feng | 4958664 | 2018-08-30 18:01:53 -0700 | [diff] [blame] | 19 | "NetlinkListener.cpp", |
Bernie Innocenti | 37ceb53 | 2018-06-11 21:10:44 +0900 | [diff] [blame] | 20 | "XfrmController.cpp", |
Chenbo Feng | 4958664 | 2018-08-30 18:01:53 -0700 | [diff] [blame] | 21 | "TrafficController.cpp", |
Bernie Innocenti | 37ceb53 | 2018-06-11 21:10:44 +0900 | [diff] [blame] | 22 | ], |
| 23 | } |
| 24 | |
Luke Huang | caebcbb | 2018-09-27 20:37:14 +0800 | [diff] [blame] | 25 | aidl_interface { |
| 26 | name: "netd_aidl_interface", |
| 27 | local_include_dir: "binder", |
| 28 | srcs: [ |
Luke Huang | 03074eb | 2018-11-23 17:03:03 +0800 | [diff] [blame] | 29 | "binder/android/net/INetd.aidl", |
Luke Huang | 528af60 | 2018-08-29 19:06:05 +0800 | [diff] [blame] | 30 | // AIDL interface that callers can implement to receive networking events from netd. |
| 31 | "binder/android/net/INetdUnsolicitedEventListener.aidl", |
Luke Huang | 03074eb | 2018-11-23 17:03:03 +0800 | [diff] [blame] | 32 | "binder/android/net/InterfaceConfigurationParcel.aidl", |
Chiachang Wang | 00fc62f | 2019-12-04 20:38:26 +0800 | [diff] [blame] | 33 | "binder/android/net/MarkMaskParcel.aidl", |
Tyler Wear | fa94a27 | 2019-12-05 15:01:48 -0800 | [diff] [blame] | 34 | "binder/android/net/RouteInfoParcel.aidl", |
Chiachang Wang | 08cb211 | 2019-12-10 09:53:24 +0800 | [diff] [blame] | 35 | "binder/android/net/TetherConfigParcel.aidl", |
Lorenzo Colitti | f0e051c | 2020-04-06 09:19:57 +0000 | [diff] [blame^] | 36 | "binder/android/net/TetherOffloadRuleParcel.aidl", |
Luke Huang | caebcbb | 2018-09-27 20:37:14 +0800 | [diff] [blame] | 37 | "binder/android/net/TetherStatsParcel.aidl", |
Luke Huang | 94658ac | 2018-10-18 19:35:12 +0900 | [diff] [blame] | 38 | "binder/android/net/UidRangeParcel.aidl", |
Luke Huang | caebcbb | 2018-09-27 20:37:14 +0800 | [diff] [blame] | 39 | ], |
Luke Huang | f778204 | 2018-08-08 13:13:04 +0800 | [diff] [blame] | 40 | backend: { |
Xiao Ma | 33d562a | 2018-12-16 16:27:38 +0900 | [diff] [blame] | 41 | cpp: { |
| 42 | gen_log: true, |
| 43 | }, |
Luke Huang | 6764931 | 2020-04-01 01:17:42 +0800 | [diff] [blame] | 44 | java: { |
| 45 | apex_available: [ |
| 46 | "com.android.bluetooth.updatable", |
| 47 | "com.android.wifi", |
| 48 | ], |
| 49 | }, |
Luke Huang | f778204 | 2018-08-08 13:13:04 +0800 | [diff] [blame] | 50 | }, |
Luke Huang | 0068128 | 2019-04-26 12:09:05 +0800 | [diff] [blame] | 51 | versions: [ |
| 52 | "1", |
| 53 | "2", |
| 54 | ], |
Luke Huang | caebcbb | 2018-09-27 20:37:14 +0800 | [diff] [blame] | 55 | } |
| 56 | |
Luke Huang | 0e5e69d | 2019-03-06 15:42:38 +0800 | [diff] [blame] | 57 | aidl_interface { |
Luke Huang | 2ff8b34 | 2019-04-30 15:33:33 +0800 | [diff] [blame] | 58 | // 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 Huang | 0e5e69d | 2019-03-06 15:42:38 +0800 | [diff] [blame] | 62 | name: "oemnetd_aidl_interface", |
| 63 | local_include_dir: "binder", |
| 64 | srcs: [ |
| 65 | "binder/com/android/internal/net/IOemNetd.aidl", |
Luke Huang | 2ff8b34 | 2019-04-30 15:33:33 +0800 | [diff] [blame] | 66 | "binder/com/android/internal/net/IOemNetdUnsolicitedEventListener.aidl", |
Luke Huang | 0e5e69d | 2019-03-06 15:42:38 +0800 | [diff] [blame] | 67 | ], |
| 68 | } |
| 69 | |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 70 | // Modules common to both netd and netd_unit_test |
| 71 | cc_library_static { |
| 72 | name: "libnetd_server", |
| 73 | defaults: ["netd_defaults"], |
| 74 | include_dirs: [ |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 75 | "system/netd/include", |
| 76 | "system/netd/server/binder", |
| 77 | ], |
| 78 | srcs: [ |
| 79 | "BandwidthController.cpp", |
Lorenzo Colitti | 7ef8c0f | 2019-01-11 22:34:58 +0900 | [diff] [blame] | 80 | "ClatdController.cpp", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 81 | "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 Żenczykowski | eec7208 | 2020-02-04 23:29:41 -0800 | [diff] [blame] | 91 | "OffloadUtils.cpp", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 92 | "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 Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 101 | ], |
| 102 | shared_libs: [ |
Chenbo Feng | a54aaf5 | 2018-11-07 17:51:51 -0800 | [diff] [blame] | 103 | "libbpf_android", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 104 | "libbase", |
| 105 | "libbinder", |
Chenbo Feng | d6104d1 | 2018-10-16 20:29:29 -0700 | [diff] [blame] | 106 | "libnetdbpf", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 107 | "libnetutils", |
| 108 | "libnetdutils", |
| 109 | "libpcap", |
| 110 | "libqtaguid", |
| 111 | "libssl", |
Lorenzo Colitti | f0e051c | 2020-04-06 09:19:57 +0000 | [diff] [blame^] | 112 | "netd_aidl_interface-unstable-cpp", |
Jeongik Cha | b54ecec | 2019-10-15 17:06:59 +0900 | [diff] [blame] | 113 | "netd_event_listener_interface-cpp", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 114 | ], |
| 115 | aidl: { |
| 116 | export_aidl_headers: true, |
| 117 | local_include_dirs: ["binder"], |
| 118 | }, |
| 119 | } |
| 120 | |
| 121 | cc_binary { |
| 122 | name: "netd", |
| 123 | defaults: ["netd_defaults"], |
| 124 | include_dirs: [ |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 125 | "external/mdnsresponder/mDNSShared", |
| 126 | "system/netd/include", |
| 127 | ], |
| 128 | init_rc: ["netd.rc"], |
Maciej Żenczykowski | f428d6e | 2020-02-19 10:26:35 -0800 | [diff] [blame] | 129 | required: [ |
| 130 | "bpfloader", |
| 131 | "clatd.o", |
| 132 | "netd.o", |
| 133 | "offload.o", |
| 134 | ], |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 135 | shared_libs: [ |
| 136 | "android.system.net.netd@1.0", |
| 137 | "android.system.net.netd@1.1", |
Bernie Innocenti | f89b351 | 2018-08-30 07:34:37 +0900 | [diff] [blame] | 138 | "libbase", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 139 | "libbinder", |
Chenbo Feng | a54aaf5 | 2018-11-07 17:51:51 -0800 | [diff] [blame] | 140 | "libbpf_android", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 141 | "libcutils", |
| 142 | "libdl", |
| 143 | "libhidlbase", |
Jeongik Cha | 0f750c2 | 2019-02-22 18:43:44 +0900 | [diff] [blame] | 144 | "libjsoncpp", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 145 | "liblog", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 146 | "libmdnssd", |
Jooyung Han | 3e64aa1 | 2019-11-27 15:36:29 +0900 | [diff] [blame] | 147 | "libnetd_resolv", |
Chenbo Feng | d6104d1 | 2018-10-16 20:29:29 -0700 | [diff] [blame] | 148 | "libnetdbpf", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 149 | "libnetdutils", |
Bernie Innocenti | f89b351 | 2018-08-30 07:34:37 +0900 | [diff] [blame] | 150 | "libnetutils", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 151 | "libpcap", |
Suren Baghdasaryan | e072a3c | 2019-01-16 14:36:07 -0800 | [diff] [blame] | 152 | "libprocessgroup", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 153 | "libqtaguid", |
| 154 | "libselinux", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 155 | "libsysutils", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 156 | "libutils", |
Jeongik Cha | b54ecec | 2019-10-15 17:06:59 +0900 | [diff] [blame] | 157 | "netd_aidl_interface-unstable-cpp", |
| 158 | "netd_event_listener_interface-cpp", |
Luke Huang | 0e5e69d | 2019-03-06 15:42:38 +0800 | [diff] [blame] | 159 | "oemnetd_aidl_interface-cpp", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 160 | ], |
| 161 | static_libs: [ |
| 162 | "libnetd_server", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 163 | ], |
| 164 | srcs: [ |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 165 | "DummyNetwork.cpp", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 166 | "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 Huang | 0e5e69d | 2019-03-06 15:42:38 +0800 | [diff] [blame] | 176 | "OemNetdListener.cpp", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 177 | "PhysicalNetwork.cpp", |
| 178 | "PppController.cpp", |
| 179 | "Process.cpp", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 180 | "VirtualNetwork.cpp", |
| 181 | "main.cpp", |
| 182 | "oem_iptables_hook.cpp", |
| 183 | ], |
Ken Chen | 2e413c3 | 2020-01-13 11:59:53 +0800 | [diff] [blame] | 184 | sanitize: { |
| 185 | cfi: true, |
Ken Chen | 2e413c3 | 2020-01-13 11:59:53 +0800 | [diff] [blame] | 186 | }, |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 187 | } |
| 188 | |
| 189 | cc_binary { |
| 190 | name: "ndc", |
| 191 | defaults: ["netd_defaults"], |
Luke Huang | cfd04b2 | 2019-03-18 15:53:21 +0800 | [diff] [blame] | 192 | 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 Cha | b54ecec | 2019-10-15 17:06:59 +0900 | [diff] [blame] | 206 | "dnsresolver_aidl_interface-cpp", |
| 207 | "netd_aidl_interface-cpp", |
Luke Huang | cfd04b2 | 2019-03-18 15:53:21 +0800 | [diff] [blame] | 208 | ], |
| 209 | srcs: [ |
| 210 | "ndc.cpp", |
| 211 | "UidRanges.cpp", |
| 212 | "NdcDispatcher.cpp", |
| 213 | ], |
Ken Chen | 2e413c3 | 2020-01-13 11:59:53 +0800 | [diff] [blame] | 214 | sanitize: { |
| 215 | cfi: true, |
Ken Chen | 2e413c3 | 2020-01-13 11:59:53 +0800 | [diff] [blame] | 216 | }, |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 217 | } |
| 218 | |
| 219 | cc_test { |
| 220 | name: "netd_unit_test", |
| 221 | defaults: ["netd_defaults"], |
| 222 | test_suites: ["device-tests"], |
Bernie Innocenti | 83a67ca | 2019-06-19 16:28:05 +0900 | [diff] [blame] | 223 | require_root: true, |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 224 | include_dirs: [ |
| 225 | "system/netd/include", |
| 226 | "system/netd/server/binder", |
| 227 | "system/netd/tests", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 228 | ], |
| 229 | srcs: [ |
| 230 | "BandwidthControllerTest.cpp", |
Lorenzo Colitti | 7ef8c0f | 2019-01-11 22:34:58 +0900 | [diff] [blame] | 231 | "ClatdControllerTest.cpp", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 232 | "ControllersTest.cpp", |
| 233 | "FirewallControllerTest.cpp", |
| 234 | "IdletimerControllerTest.cpp", |
| 235 | "InterfaceControllerTest.cpp", |
| 236 | "IptablesBaseTest.cpp", |
| 237 | "IptablesRestoreControllerTest.cpp", |
| 238 | "NFLogListenerTest.cpp", |
Maciej Żenczykowski | eec7208 | 2020-02-04 23:29:41 -0800 | [diff] [blame] | 239 | "OffloadUtilsTest.cpp", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 240 | "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 Colitti | 3f52fae | 2019-06-27 18:46:22 +0900 | [diff] [blame] | 252 | "libqtaguid", |
Lorenzo Colitti | f0e051c | 2020-04-06 09:19:57 +0000 | [diff] [blame^] | 253 | "netd_aidl_interface-unstable-cpp", |
Jeongik Cha | b54ecec | 2019-10-15 17:06:59 +0900 | [diff] [blame] | 254 | "netd_event_listener_interface-cpp", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 255 | ], |
| 256 | shared_libs: [ |
| 257 | "libbase", |
| 258 | "libbinder", |
Chenbo Feng | a54aaf5 | 2018-11-07 17:51:51 -0800 | [diff] [blame] | 259 | "libbpf_android", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 260 | "libcrypto", |
| 261 | "libcutils", |
| 262 | "liblog", |
Chenbo Feng | d6104d1 | 2018-10-16 20:29:29 -0700 | [diff] [blame] | 263 | "libnetdbpf", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 264 | "libnetdutils", |
| 265 | "libnetutils", |
Bernie Innocenti | 9895179 | 2018-06-26 17:13:44 +0900 | [diff] [blame] | 266 | "libsysutils", |
| 267 | "libutils", |
| 268 | ], |
| 269 | } |