blob: a3ca90cdbb7e2eeac9c421b3202aed2cf5a14693 [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",
Hungming Chen99b9ae32022-01-16 14:38:07 +080045 "//packages/modules/Connectivity/service/native/libs/libclat",
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090046 "//packages/modules/Connectivity/Tethering",
Wayne Maa9716ff2022-01-12 10:37:04 +080047 "//packages/modules/Connectivity/service/native",
Ken Chen335c0d42021-10-23 11:35:26 +080048 "//packages/modules/Connectivity/tests/unit/jni",
49 // TODO: remove system/netd/* when all BPF code is moved out of Netd.
50 "//system/netd/libnetdbpf",
51 "//system/netd/server",
52 "//system/netd/tests",
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090053 ],
54}
55
56//
Hungming Chen56c632c2020-09-10 15:42:58 +080057// bpf kernel programs
58//
59bpf {
60 name: "offload.o",
61 srcs: ["offload.c"],
62 cflags: [
63 "-Wall",
64 "-Werror",
65 ],
Hungming Chen56c632c2020-09-10 15:42:58 +080066}
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -080067
68bpf {
69 name: "test.o",
70 srcs: ["test.c"],
71 cflags: [
72 "-Wall",
73 "-Werror",
74 ],
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -080075}
Ken Chen587d4232022-01-17 17:18:43 +080076
77bpf {
Maciej Żenczykowski849b3aa2022-01-20 20:58:34 -080078 name: "clatd.o_mainline",
79 srcs: ["clatd.c"],
80 cflags: [
81 "-Wall",
82 "-Werror",
83 ],
84 include_dirs: [
85 "frameworks/libs/net/common/netd/libnetdutils/include",
86 ],
87 sub_dir: "net_shared",
88}
89
90bpf {
Ken Chen587d4232022-01-17 17:18:43 +080091 name: "netd.o_mainline",
92 srcs: ["netd.c"],
93 cflags: [
94 "-Wall",
95 "-Werror",
96 ],
97 include_dirs: [
98 "frameworks/libs/net/common/netd/libnetdutils/include",
99 ],
100 sub_dir: "net_shared",
101}