blob: e228df0c13451eaef1c934c1e5b90f5a89a23419 [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 Żenczykowski4d491bb2021-12-28 17:39:20 -080028 header_libs: ["bpf_headers"],
29 export_header_lib_headers: ["bpf_headers"],
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090030 export_include_dirs: ["."],
31 cflags: [
32 "-Wall",
33 "-Werror",
34 ],
35 sdk_version: "30",
36 min_sdk_version: "30",
Ken Chen335c0d42021-10-23 11:35:26 +080037 apex_available: [
38 "//apex_available:platform",
39 "com.android.tethering",
40 ],
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090041 visibility: [
Ken Chen335c0d42021-10-23 11:35:26 +080042 // TODO: remove it when NetworkStatsService is moved into the mainline module and no more
43 // calls to JNI in libservices.core.
44 "//frameworks/base/services/core/jni",
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090045 "//packages/modules/Connectivity/Tethering",
Wayne Maa9716ff2022-01-12 10:37:04 +080046 "//packages/modules/Connectivity/service/native",
Ken Chen335c0d42021-10-23 11:35:26 +080047 "//packages/modules/Connectivity/tests/unit/jni",
48 // TODO: remove system/netd/* when all BPF code is moved out of Netd.
49 "//system/netd/libnetdbpf",
50 "//system/netd/server",
51 "//system/netd/tests",
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090052 ],
53}
54
55//
Hungming Chen56c632c2020-09-10 15:42:58 +080056// bpf kernel programs
57//
58bpf {
59 name: "offload.o",
60 srcs: ["offload.c"],
61 cflags: [
62 "-Wall",
63 "-Werror",
64 ],
Hungming Chen56c632c2020-09-10 15:42:58 +080065}
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -080066
67bpf {
68 name: "test.o",
69 srcs: ["test.c"],
70 cflags: [
71 "-Wall",
72 "-Werror",
73 ],
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -080074}
Ken Chen587d4232022-01-17 17:18:43 +080075
76bpf {
Maciej Żenczykowski849b3aa2022-01-20 20:58:34 -080077 name: "clatd.o_mainline",
78 srcs: ["clatd.c"],
79 cflags: [
80 "-Wall",
81 "-Werror",
82 ],
83 include_dirs: [
84 "frameworks/libs/net/common/netd/libnetdutils/include",
85 ],
86 sub_dir: "net_shared",
87}
88
89bpf {
Ken Chen587d4232022-01-17 17:18:43 +080090 name: "netd.o_mainline",
91 srcs: ["netd.c"],
92 cflags: [
93 "-Wall",
94 "-Werror",
95 ],
96 include_dirs: [
97 "frameworks/libs/net/common/netd/libnetdutils/include",
98 ],
99 sub_dir: "net_shared",
100}