blob: 674cd9853592cdeafc61efda4e39fa443754cefa [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 {
Aditya Choudhary01b5ede2024-01-31 11:08:57 +000021 default_team: "trendy_team_fwk_core_networking",
Bob Badour97e6be22021-02-12 14:45:04 -080022 default_applicable_licenses: ["Android-Apache-2.0"],
23}
24
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090025cc_library_headers {
Ken Chenbb57fa92021-10-22 00:49:13 +080026 name: "bpf_connectivity_headers",
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090027 vendor_available: false,
28 host_supported: false,
Maciej Żenczykowski12057372022-06-14 14:36:34 -070029 header_libs: [
30 "bpf_headers",
Maciej Żenczykowski200d3722022-06-15 01:06:27 -070031 "netd_mainline_headers",
Maciej Żenczykowski12057372022-06-14 14:36:34 -070032 ],
33 export_header_lib_headers: [
34 "bpf_headers",
Maciej Żenczykowski200d3722022-06-15 01:06:27 -070035 "netd_mainline_headers",
Maciej Żenczykowski12057372022-06-14 14:36:34 -070036 ],
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090037 export_include_dirs: ["."],
38 cflags: [
39 "-Wall",
40 "-Werror",
41 ],
42 sdk_version: "30",
43 min_sdk_version: "30",
Ken Chen335c0d42021-10-23 11:35:26 +080044 apex_available: [
45 "//apex_available:platform",
46 "com.android.tethering",
Maciej Żenczykowski12057372022-06-14 14:36:34 -070047 ],
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090048 visibility: [
Ken Chenec0f7ac2023-09-08 14:14:55 +080049 "//packages/modules/Connectivity/DnsResolver",
Ken Chen1647f602021-10-05 21:55:22 +080050 "//packages/modules/Connectivity/netd",
Tyler Wear72388212021-09-09 14:49:02 -070051 "//packages/modules/Connectivity/service",
Hungming Chen99b9ae32022-01-16 14:38:07 +080052 "//packages/modules/Connectivity/service/native/libs/libclat",
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090053 "//packages/modules/Connectivity/Tethering",
Wayne Maa9716ff2022-01-12 10:37:04 +080054 "//packages/modules/Connectivity/service/native",
Ken Chenef50ab12022-07-28 13:41:07 +080055 "//packages/modules/Connectivity/tests/native/connectivity_native_test",
Ken Chenc52cbe02022-07-29 03:30:25 +080056 "//packages/modules/Connectivity/tests/native/utilities",
Ken Chenf426b2b2022-01-23 15:39:13 +080057 "//packages/modules/Connectivity/service-t/native/libs/libnetworkstats",
Ken Chen335c0d42021-10-23 11:35:26 +080058 "//packages/modules/Connectivity/tests/unit/jni",
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090059 ],
60}
61
62//
Hungming Chen56c632c2020-09-10 15:42:58 +080063// bpf kernel programs
64//
65bpf {
Tyler Wearb37f5512021-10-01 13:22:00 -070066 name: "block.o",
67 srcs: ["block.c"],
Maciej Żenczykowski9b2faeb2022-01-28 11:18:08 -080068 btf: true,
Tyler Wearb37f5512021-10-01 13:22:00 -070069 cflags: [
70 "-Wall",
71 "-Werror",
72 ],
73 sub_dir: "net_shared",
74}
75
76bpf {
Ken Chen74ff3ee2022-07-14 16:46:39 +080077 name: "dscpPolicy.o",
78 srcs: ["dscpPolicy.c"],
Maciej Żenczykowski9b2faeb2022-01-28 11:18:08 -080079 btf: true,
Tyler Wear72388212021-09-09 14:49:02 -070080 cflags: [
81 "-Wall",
82 "-Werror",
83 ],
84 sub_dir: "net_shared",
85}
86
87bpf {
Hungming Chen56c632c2020-09-10 15:42:58 +080088 name: "offload.o",
89 srcs: ["offload.c"],
90 cflags: [
91 "-Wall",
92 "-Werror",
93 ],
Hungming Chen56c632c2020-09-10 15:42:58 +080094}
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -080095
96bpf {
Maciej Żenczykowski07d30132022-04-23 12:33:32 -070097 name: "offload@btf.o",
98 srcs: ["offload@btf.c"],
99 btf: true,
100 cflags: [
101 "-Wall",
102 "-Werror",
103 "-DBTF",
104 ],
105}
106
107bpf {
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -0800108 name: "test.o",
109 srcs: ["test.c"],
110 cflags: [
111 "-Wall",
112 "-Werror",
113 ],
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -0800114}
Ken Chen587d4232022-01-17 17:18:43 +0800115
116bpf {
Maciej Żenczykowski07d30132022-04-23 12:33:32 -0700117 name: "test@btf.o",
118 srcs: ["test@btf.c"],
119 btf: true,
120 cflags: [
121 "-Wall",
122 "-Werror",
123 "-DBTF",
124 ],
125}
126
127bpf {
Maciej Żenczykowskid72a5a72022-05-02 00:43:51 -0700128 name: "clatd.o",
Maciej Żenczykowski849b3aa2022-01-20 20:58:34 -0800129 srcs: ["clatd.c"],
Maciej Żenczykowski9b2faeb2022-01-28 11:18:08 -0800130 btf: true,
Maciej Żenczykowski849b3aa2022-01-20 20:58:34 -0800131 cflags: [
132 "-Wall",
133 "-Werror",
134 ],
Maciej Żenczykowski849b3aa2022-01-20 20:58:34 -0800135 sub_dir: "net_shared",
136}
137
138bpf {
Maciej Żenczykowski12057372022-06-14 14:36:34 -0700139 // WARNING: Android T's non-updatable netd depends on 'netd' string for xt_bpf programs it loads
Maciej Żenczykowskid72a5a72022-05-02 00:43:51 -0700140 name: "netd.o",
Ken Chen587d4232022-01-17 17:18:43 +0800141 srcs: ["netd.c"],
Maciej Żenczykowski9b2faeb2022-01-28 11:18:08 -0800142 btf: true,
Ken Chen587d4232022-01-17 17:18:43 +0800143 cflags: [
144 "-Wall",
145 "-Werror",
146 ],
Maciej Żenczykowski12057372022-06-14 14:36:34 -0700147 // WARNING: Android T's non-updatable netd depends on 'netd_shared' string for xt_bpf programs
Maciej Żenczykowski6d116d02022-05-16 13:59:12 -0700148 sub_dir: "netd_shared",
Ken Chen587d4232022-01-17 17:18:43 +0800149}