blob: bb9f5ead63562138e282612a9bbd8f8b8bdc0291 [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",
Ken Chen335c0d42021-10-23 11:35:26 +080046 "//packages/modules/Connectivity/tests/unit/jni",
47 // TODO: remove system/netd/* when all BPF code is moved out of Netd.
48 "//system/netd/libnetdbpf",
49 "//system/netd/server",
50 "//system/netd/tests",
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090051 ],
52}
53
54//
Hungming Chen56c632c2020-09-10 15:42:58 +080055// bpf kernel programs
56//
57bpf {
58 name: "offload.o",
59 srcs: ["offload.c"],
60 cflags: [
61 "-Wall",
62 "-Werror",
63 ],
Hungming Chen56c632c2020-09-10 15:42:58 +080064}
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -080065
66bpf {
67 name: "test.o",
68 srcs: ["test.c"],
69 cflags: [
70 "-Wall",
71 "-Werror",
72 ],
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -080073}
Ken Chen587d4232022-01-17 17:18:43 +080074
75bpf {
Maciej Żenczykowski849b3aa2022-01-20 20:58:34 -080076 name: "clatd.o_mainline",
77 srcs: ["clatd.c"],
78 cflags: [
79 "-Wall",
80 "-Werror",
81 ],
82 include_dirs: [
83 "frameworks/libs/net/common/netd/libnetdutils/include",
84 ],
85 sub_dir: "net_shared",
86}
87
88bpf {
Ken Chen587d4232022-01-17 17:18:43 +080089 name: "netd.o_mainline",
90 srcs: ["netd.c"],
91 cflags: [
92 "-Wall",
93 "-Werror",
94 ],
95 include_dirs: [
96 "frameworks/libs/net/common/netd/libnetdutils/include",
97 ],
98 sub_dir: "net_shared",
99}