blob: 6ab5281723e38d7e4f57e012196a5ed9fc18c765 [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",
Tyler Wearb37f5512021-10-01 13:22:00 -070053 "//packages/modules/Connectivity/tests/native",
Ken Chenf426b2b2022-01-23 15:39:13 +080054 "//packages/modules/Connectivity/service-t/native/libs/libnetworkstats",
Ken Chen335c0d42021-10-23 11:35:26 +080055 "//packages/modules/Connectivity/tests/unit/jni",
Ken Chen335c0d42021-10-23 11:35:26 +080056 "//system/netd/tests",
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090057 ],
58}
59
60//
Hungming Chen56c632c2020-09-10 15:42:58 +080061// bpf kernel programs
62//
63bpf {
Tyler Wearb37f5512021-10-01 13:22:00 -070064 name: "block.o",
65 srcs: ["block.c"],
Maciej Żenczykowski9b2faeb2022-01-28 11:18:08 -080066 btf: true,
Tyler Wearb37f5512021-10-01 13:22:00 -070067 cflags: [
68 "-Wall",
69 "-Werror",
70 ],
71 sub_dir: "net_shared",
72}
73
74bpf {
Tyler Wear72388212021-09-09 14:49:02 -070075 name: "dscp_policy.o",
76 srcs: ["dscp_policy.c"],
Maciej Żenczykowski9b2faeb2022-01-28 11:18:08 -080077 btf: true,
Tyler Wear72388212021-09-09 14:49:02 -070078 cflags: [
79 "-Wall",
80 "-Werror",
81 ],
82 sub_dir: "net_shared",
83}
84
85bpf {
Hungming Chen56c632c2020-09-10 15:42:58 +080086 name: "offload.o",
87 srcs: ["offload.c"],
88 cflags: [
89 "-Wall",
90 "-Werror",
91 ],
Hungming Chen56c632c2020-09-10 15:42:58 +080092}
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -080093
94bpf {
Maciej Żenczykowski07d30132022-04-23 12:33:32 -070095 name: "offload@btf.o",
96 srcs: ["offload@btf.c"],
97 btf: true,
98 cflags: [
99 "-Wall",
100 "-Werror",
101 "-DBTF",
102 ],
103}
104
105bpf {
Maciej Żenczykowskiccce4a32022-07-17 01:28:38 -0700106 name: "offload@inprocess.o",
107 srcs: ["offload@inprocess.c"],
108 btf: true,
109 cflags: [
110 "-Wall",
111 "-Werror",
112 "-DBTF",
113 "-DINPROCESS",
114 ],
115}
116
117bpf {
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -0800118 name: "test.o",
119 srcs: ["test.c"],
120 cflags: [
121 "-Wall",
122 "-Werror",
123 ],
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -0800124}
Ken Chen587d4232022-01-17 17:18:43 +0800125
126bpf {
Maciej Żenczykowski07d30132022-04-23 12:33:32 -0700127 name: "test@btf.o",
128 srcs: ["test@btf.c"],
129 btf: true,
130 cflags: [
131 "-Wall",
132 "-Werror",
133 "-DBTF",
134 ],
135}
136
137bpf {
Maciej Żenczykowskiccce4a32022-07-17 01:28:38 -0700138 name: "test@inprocess.o",
139 srcs: ["test@inprocess.c"],
140 btf: true,
141 cflags: [
142 "-Wall",
143 "-Werror",
144 "-DBTF",
145 "-DINPROCESS",
146 ],
147}
148
149bpf {
Maciej Żenczykowskid72a5a72022-05-02 00:43:51 -0700150 name: "clatd.o",
Maciej Żenczykowski849b3aa2022-01-20 20:58:34 -0800151 srcs: ["clatd.c"],
Maciej Żenczykowski9b2faeb2022-01-28 11:18:08 -0800152 btf: true,
Maciej Żenczykowski849b3aa2022-01-20 20:58:34 -0800153 cflags: [
154 "-Wall",
155 "-Werror",
156 ],
Maciej Żenczykowski849b3aa2022-01-20 20:58:34 -0800157 sub_dir: "net_shared",
158}
159
160bpf {
Maciej Żenczykowski12057372022-06-14 14:36:34 -0700161 // WARNING: Android T's non-updatable netd depends on 'netd' string for xt_bpf programs it loads
Maciej Żenczykowskid72a5a72022-05-02 00:43:51 -0700162 name: "netd.o",
Ken Chen587d4232022-01-17 17:18:43 +0800163 srcs: ["netd.c"],
Maciej Żenczykowski9b2faeb2022-01-28 11:18:08 -0800164 btf: true,
Ken Chen587d4232022-01-17 17:18:43 +0800165 cflags: [
166 "-Wall",
167 "-Werror",
168 ],
Maciej Żenczykowski12057372022-06-14 14:36:34 -0700169 // WARNING: Android T's non-updatable netd depends on 'netd_shared' string for xt_bpf programs
Maciej Żenczykowski6d116d02022-05-16 13:59:12 -0700170 sub_dir: "netd_shared",
Ken Chen587d4232022-01-17 17:18:43 +0800171}