blob: 45cb7eb1fb782c871cb6144980407ef1696bc0f7 [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 Żenczykowski801154a2022-06-14 14:36:34 -070028 header_libs: [
29 "bpf_headers",
Maciej Żenczykowski70201a12022-06-15 01:06:27 -070030 "netd_mainline_headers",
Maciej Żenczykowski801154a2022-06-14 14:36:34 -070031 ],
32 export_header_lib_headers: [
33 "bpf_headers",
Maciej Żenczykowski70201a12022-06-15 01:06:27 -070034 "netd_mainline_headers",
Maciej Żenczykowski801154a2022-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 Żenczykowski801154a2022-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"],
66 cflags: [
67 "-Wall",
68 "-Werror",
69 ],
70 sub_dir: "net_shared",
71}
72
73bpf {
Tyler Wear72388212021-09-09 14:49:02 -070074 name: "dscp_policy.o",
75 srcs: ["dscp_policy.c"],
76 cflags: [
77 "-Wall",
78 "-Werror",
79 ],
80 sub_dir: "net_shared",
81}
82
83bpf {
Hungming Chen56c632c2020-09-10 15:42:58 +080084 name: "offload.o",
85 srcs: ["offload.c"],
86 cflags: [
87 "-Wall",
88 "-Werror",
89 ],
Hungming Chen56c632c2020-09-10 15:42:58 +080090}
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -080091
92bpf {
93 name: "test.o",
94 srcs: ["test.c"],
95 cflags: [
96 "-Wall",
97 "-Werror",
98 ],
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -080099}
Ken Chen587d4232022-01-17 17:18:43 +0800100
101bpf {
Maciej Żenczykowskif63140e2022-05-02 00:43:51 -0700102 name: "clatd.o",
Maciej Żenczykowski849b3aa2022-01-20 20:58:34 -0800103 srcs: ["clatd.c"],
104 cflags: [
105 "-Wall",
106 "-Werror",
107 ],
Maciej Żenczykowski849b3aa2022-01-20 20:58:34 -0800108 sub_dir: "net_shared",
109}
110
111bpf {
Maciej Żenczykowski801154a2022-06-14 14:36:34 -0700112 // WARNING: Android T's non-updatable netd depends on 'netd' string for xt_bpf programs it loads
Maciej Żenczykowskif63140e2022-05-02 00:43:51 -0700113 name: "netd.o",
Ken Chen587d4232022-01-17 17:18:43 +0800114 srcs: ["netd.c"],
115 cflags: [
116 "-Wall",
117 "-Werror",
118 ],
Maciej Żenczykowski801154a2022-06-14 14:36:34 -0700119 // need //frameworks/libs/net/common/netd/libnetdutils/include/netdutils/UidConstants.h
120 // MIN_SYSTEM_UID, MAX_SYSTEM_UID, PER_USER_RANGE
Ken Chen587d4232022-01-17 17:18:43 +0800121 include_dirs: [
122 "frameworks/libs/net/common/netd/libnetdutils/include",
123 ],
Maciej Żenczykowski801154a2022-06-14 14:36:34 -0700124 // WARNING: Android T's non-updatable netd depends on 'netd_shared' string for xt_bpf programs
Maciej Żenczykowskia52aca72022-05-16 13:59:12 -0700125 sub_dir: "netd_shared",
Ken Chen587d4232022-01-17 17:18:43 +0800126}