blob: a678cb359769b045ffc4fb3065d5667cadc2e336 [file] [log] [blame]
Hungming Chen56c632c2020-09-10 15:42:58 +08001//
2// Copyright (C) 2020 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
17//
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090018// struct definitions shared with JNI
19//
Bob Badour97e6be22021-02-12 14:45:04 -080020package {
21 default_applicable_licenses: ["Android-Apache-2.0"],
22}
23
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090024cc_library_headers {
Ken Chenbb57fa92021-10-22 00:49:13 +080025 name: "bpf_connectivity_headers",
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090026 vendor_available: false,
27 host_supported: false,
Maciej Żenczykowski12057372022-06-14 14:36:34 -070028 header_libs: [
29 "bpf_headers",
Maciej Żenczykowski200d3722022-06-15 01:06:27 -070030 "netd_mainline_headers",
Maciej Żenczykowski12057372022-06-14 14:36:34 -070031 ],
32 export_header_lib_headers: [
33 "bpf_headers",
Maciej Żenczykowski200d3722022-06-15 01:06:27 -070034 "netd_mainline_headers",
Maciej Żenczykowski12057372022-06-14 14:36:34 -070035 ],
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090036 export_include_dirs: ["."],
37 cflags: [
38 "-Wall",
39 "-Werror",
40 ],
41 sdk_version: "30",
42 min_sdk_version: "30",
Ken Chen335c0d42021-10-23 11:35:26 +080043 apex_available: [
44 "//apex_available:platform",
45 "com.android.tethering",
Maciej Żenczykowski12057372022-06-14 14:36:34 -070046 ],
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090047 visibility: [
Ken Chen1647f602021-10-05 21:55:22 +080048 "//packages/modules/Connectivity/netd",
Tyler Wear72388212021-09-09 14:49:02 -070049 "//packages/modules/Connectivity/service",
Hungming Chen99b9ae32022-01-16 14:38:07 +080050 "//packages/modules/Connectivity/service/native/libs/libclat",
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090051 "//packages/modules/Connectivity/Tethering",
Wayne Maa9716ff2022-01-12 10:37:04 +080052 "//packages/modules/Connectivity/service/native",
Ken Chenef50ab12022-07-28 13:41:07 +080053 "//packages/modules/Connectivity/tests/native/connectivity_native_test",
Ken Chenc52cbe02022-07-29 03:30:25 +080054 "//packages/modules/Connectivity/tests/native/utilities",
Ken Chenf426b2b2022-01-23 15:39:13 +080055 "//packages/modules/Connectivity/service-t/native/libs/libnetworkstats",
Ken Chen335c0d42021-10-23 11:35:26 +080056 "//packages/modules/Connectivity/tests/unit/jni",
Ken Chen335c0d42021-10-23 11:35:26 +080057 "//system/netd/tests",
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090058 ],
59}
60
61//
Hungming Chen56c632c2020-09-10 15:42:58 +080062// bpf kernel programs
63//
64bpf {
Tyler Wearb37f5512021-10-01 13:22:00 -070065 name: "block.o",
66 srcs: ["block.c"],
Maciej Żenczykowski9b2faeb2022-01-28 11:18:08 -080067 btf: true,
Tyler Wearb37f5512021-10-01 13:22:00 -070068 cflags: [
69 "-Wall",
70 "-Werror",
71 ],
72 sub_dir: "net_shared",
73}
74
75bpf {
Tyler Wear72388212021-09-09 14:49:02 -070076 name: "dscp_policy.o",
77 srcs: ["dscp_policy.c"],
Maciej Żenczykowski9b2faeb2022-01-28 11:18:08 -080078 btf: true,
Tyler Wear72388212021-09-09 14:49:02 -070079 cflags: [
80 "-Wall",
81 "-Werror",
82 ],
83 sub_dir: "net_shared",
84}
85
86bpf {
Hungming Chen56c632c2020-09-10 15:42:58 +080087 name: "offload.o",
88 srcs: ["offload.c"],
89 cflags: [
90 "-Wall",
91 "-Werror",
92 ],
Hungming Chen56c632c2020-09-10 15:42:58 +080093}
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -080094
95bpf {
Maciej Żenczykowski07d30132022-04-23 12:33:32 -070096 name: "offload@btf.o",
97 srcs: ["offload@btf.c"],
98 btf: true,
99 cflags: [
100 "-Wall",
101 "-Werror",
102 "-DBTF",
103 ],
104}
105
106bpf {
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -0800107 name: "test.o",
108 srcs: ["test.c"],
109 cflags: [
110 "-Wall",
111 "-Werror",
112 ],
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -0800113}
Ken Chen587d4232022-01-17 17:18:43 +0800114
115bpf {
Maciej Żenczykowski07d30132022-04-23 12:33:32 -0700116 name: "test@btf.o",
117 srcs: ["test@btf.c"],
118 btf: true,
119 cflags: [
120 "-Wall",
121 "-Werror",
122 "-DBTF",
123 ],
124}
125
126bpf {
Maciej Żenczykowskid72a5a72022-05-02 00:43:51 -0700127 name: "clatd.o",
Maciej Żenczykowski849b3aa2022-01-20 20:58:34 -0800128 srcs: ["clatd.c"],
Maciej Żenczykowski9b2faeb2022-01-28 11:18:08 -0800129 btf: true,
Maciej Żenczykowski849b3aa2022-01-20 20:58:34 -0800130 cflags: [
131 "-Wall",
132 "-Werror",
133 ],
Maciej Żenczykowski849b3aa2022-01-20 20:58:34 -0800134 sub_dir: "net_shared",
135}
136
137bpf {
Maciej Żenczykowski12057372022-06-14 14:36:34 -0700138 // WARNING: Android T's non-updatable netd depends on 'netd' string for xt_bpf programs it loads
Maciej Żenczykowskid72a5a72022-05-02 00:43:51 -0700139 name: "netd.o",
Ken Chen587d4232022-01-17 17:18:43 +0800140 srcs: ["netd.c"],
Maciej Żenczykowski9b2faeb2022-01-28 11:18:08 -0800141 btf: true,
Ken Chen587d4232022-01-17 17:18:43 +0800142 cflags: [
143 "-Wall",
144 "-Werror",
145 ],
Maciej Żenczykowski12057372022-06-14 14:36:34 -0700146 // WARNING: Android T's non-updatable netd depends on 'netd_shared' string for xt_bpf programs
Maciej Żenczykowski6d116d02022-05-16 13:59:12 -0700147 sub_dir: "netd_shared",
Ken Chen587d4232022-01-17 17:18:43 +0800148}