blob: 52eb1b3ef532854de63622cfc57ab3f9aa4f5e6a [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 {
Aditya Choudhary01b5ede2024-01-31 11:08:57 +000021 default_team: "trendy_team_fwk_core_networking",
Bob Badour97e6be22021-02-12 14:45:04 -080022 default_applicable_licenses: ["Android-Apache-2.0"],
23}
24
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090025cc_library_headers {
Ken Chenbb57fa92021-10-22 00:49:13 +080026 name: "bpf_connectivity_headers",
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090027 vendor_available: false,
28 host_supported: false,
Maciej Żenczykowski12057372022-06-14 14:36:34 -070029 header_libs: [
30 "bpf_headers",
Maciej Żenczykowski200d3722022-06-15 01:06:27 -070031 "netd_mainline_headers",
Maciej Żenczykowski12057372022-06-14 14:36:34 -070032 ],
33 export_header_lib_headers: [
34 "bpf_headers",
Maciej Żenczykowski200d3722022-06-15 01:06:27 -070035 "netd_mainline_headers",
Maciej Żenczykowski12057372022-06-14 14:36:34 -070036 ],
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090037 export_include_dirs: ["."],
38 cflags: [
39 "-Wall",
40 "-Werror",
Maciej Żenczykowskid849a0c2024-07-25 18:24:22 +000041 "-Wextra",
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090042 ],
43 sdk_version: "30",
44 min_sdk_version: "30",
Ken Chen335c0d42021-10-23 11:35:26 +080045 apex_available: [
46 "//apex_available:platform",
47 "com.android.tethering",
Maciej Żenczykowski12057372022-06-14 14:36:34 -070048 ],
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090049 visibility: [
Maciej Żenczykowski04ed60f2024-08-29 15:13:35 -070050 "//packages/modules/Connectivity/bpf/netd",
Ken Chenec0f7ac2023-09-08 14:14:55 +080051 "//packages/modules/Connectivity/DnsResolver",
Tyler Wear72388212021-09-09 14:49:02 -070052 "//packages/modules/Connectivity/service",
Hungming Chen99b9ae32022-01-16 14:38:07 +080053 "//packages/modules/Connectivity/service/native/libs/libclat",
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090054 "//packages/modules/Connectivity/Tethering",
Wayne Maa9716ff2022-01-12 10:37:04 +080055 "//packages/modules/Connectivity/service/native",
Ken Chenef50ab12022-07-28 13:41:07 +080056 "//packages/modules/Connectivity/tests/native/connectivity_native_test",
Ken Chenc52cbe02022-07-29 03:30:25 +080057 "//packages/modules/Connectivity/tests/native/utilities",
Ken Chenf426b2b2022-01-23 15:39:13 +080058 "//packages/modules/Connectivity/service-t/native/libs/libnetworkstats",
Ken Chen335c0d42021-10-23 11:35:26 +080059 "//packages/modules/Connectivity/tests/unit/jni",
Lorenzo Colitti734b14e2021-02-05 23:56:09 +090060 ],
61}
62
63//
Hungming Chen56c632c2020-09-10 15:42:58 +080064// bpf kernel programs
65//
66bpf {
Ken Chen74ff3ee2022-07-14 16:46:39 +080067 name: "dscpPolicy.o",
68 srcs: ["dscpPolicy.c"],
Tyler Wear72388212021-09-09 14:49:02 -070069 sub_dir: "net_shared",
70}
71
Maciej Żenczykowski77388772024-08-01 17:08:44 +000072// Ships to Android S, the bpfloader of which fails to parse BTF enabled .o's.
Tyler Wear72388212021-09-09 14:49:02 -070073bpf {
Hungming Chen56c632c2020-09-10 15:42:58 +080074 name: "offload.o",
75 srcs: ["offload.c"],
Maciej Żenczykowskiadf18d22024-07-24 23:09:31 +000076 btf: false,
Hungming Chen56c632c2020-09-10 15:42:58 +080077}
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -080078
Maciej Żenczykowski77388772024-08-01 17:08:44 +000079// This version ships to Android T+ which uses mainline netbpfload.
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -080080bpf {
Maciej Żenczykowski561fb4a2023-10-24 18:48:54 -070081 name: "offload@mainline.o",
82 srcs: ["offload@mainline.c"],
Maciej Żenczykowskid849a0c2024-07-25 18:24:22 +000083 cflags: ["-DMAINLINE"],
Maciej Żenczykowski07d30132022-04-23 12:33:32 -070084}
85
Maciej Żenczykowski77388772024-08-01 17:08:44 +000086// Ships to Android S, the bpfloader of which fails to parse BTF enabled .o's.
Maciej Żenczykowski07d30132022-04-23 12:33:32 -070087bpf {
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -080088 name: "test.o",
89 srcs: ["test.c"],
Maciej Żenczykowskiadf18d22024-07-24 23:09:31 +000090 btf: false,
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -080091}
Ken Chen587d4232022-01-17 17:18:43 +080092
Maciej Żenczykowski77388772024-08-01 17:08:44 +000093// This version ships to Android T+ which uses mainline netbpfload.
Ken Chen587d4232022-01-17 17:18:43 +080094bpf {
Maciej Żenczykowski561fb4a2023-10-24 18:48:54 -070095 name: "test@mainline.o",
96 srcs: ["test@mainline.c"],
Maciej Żenczykowskid849a0c2024-07-25 18:24:22 +000097 cflags: ["-DMAINLINE"],
Maciej Żenczykowski07d30132022-04-23 12:33:32 -070098}
99
100bpf {
Maciej Żenczykowskid72a5a72022-05-02 00:43:51 -0700101 name: "clatd.o",
Maciej Żenczykowski849b3aa2022-01-20 20:58:34 -0800102 srcs: ["clatd.c"],
Maciej Żenczykowski849b3aa2022-01-20 20:58:34 -0800103 sub_dir: "net_shared",
104}
105
106bpf {
Maciej Żenczykowski12057372022-06-14 14:36:34 -0700107 // WARNING: Android T's non-updatable netd depends on 'netd' string for xt_bpf programs it loads
Maciej Żenczykowskid72a5a72022-05-02 00:43:51 -0700108 name: "netd.o",
Ken Chen587d4232022-01-17 17:18:43 +0800109 srcs: ["netd.c"],
Maciej Żenczykowski12057372022-06-14 14:36:34 -0700110 // WARNING: Android T's non-updatable netd depends on 'netd_shared' string for xt_bpf programs
Maciej Żenczykowski6d116d02022-05-16 13:59:12 -0700111 sub_dir: "netd_shared",
Ken Chen587d4232022-01-17 17:18:43 +0800112}