blob: 230ef70db6fcc3d58660a6375f6e011f52f02658 [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",
30 "libnetdbinder_utils_headers", // for XtBpfProgLocations.h
31 ],
32 export_header_lib_headers: [
33 "bpf_headers",
34 "libnetdbinder_utils_headers", // for XtBpfProgLocations.h
35 ],
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 {
95 name: "test.o",
96 srcs: ["test.c"],
97 cflags: [
98 "-Wall",
99 "-Werror",
100 ],
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -0800101}
Ken Chen587d4232022-01-17 17:18:43 +0800102
103bpf {
Maciej Żenczykowskid72a5a72022-05-02 00:43:51 -0700104 name: "clatd.o",
Maciej Żenczykowski849b3aa2022-01-20 20:58:34 -0800105 srcs: ["clatd.c"],
Maciej Żenczykowski9b2faeb2022-01-28 11:18:08 -0800106 btf: true,
Maciej Żenczykowski849b3aa2022-01-20 20:58:34 -0800107 cflags: [
108 "-Wall",
109 "-Werror",
110 ],
Maciej Żenczykowski849b3aa2022-01-20 20:58:34 -0800111 sub_dir: "net_shared",
112}
113
114bpf {
Maciej Żenczykowski12057372022-06-14 14:36:34 -0700115 // WARNING: Android T's non-updatable netd depends on 'netd' string for xt_bpf programs it loads
Maciej Żenczykowskid72a5a72022-05-02 00:43:51 -0700116 name: "netd.o",
Ken Chen587d4232022-01-17 17:18:43 +0800117 srcs: ["netd.c"],
Maciej Żenczykowski9b2faeb2022-01-28 11:18:08 -0800118 btf: true,
Ken Chen587d4232022-01-17 17:18:43 +0800119 cflags: [
120 "-Wall",
121 "-Werror",
122 ],
Maciej Żenczykowski12057372022-06-14 14:36:34 -0700123 // need //frameworks/libs/net/common/netd/libnetdutils/include/netdutils/UidConstants.h
124 // MIN_SYSTEM_UID, MAX_SYSTEM_UID, PER_USER_RANGE
Ken Chen587d4232022-01-17 17:18:43 +0800125 include_dirs: [
126 "frameworks/libs/net/common/netd/libnetdutils/include",
127 ],
Maciej Żenczykowski12057372022-06-14 14:36:34 -0700128 // WARNING: Android T's non-updatable netd depends on 'netd_shared' string for xt_bpf programs
Maciej Żenczykowski6d116d02022-05-16 13:59:12 -0700129 sub_dir: "netd_shared",
Ken Chen587d4232022-01-17 17:18:43 +0800130}