Hungming Chen | 56c632c | 2020-09-10 15:42:58 +0800 | [diff] [blame] | 1 | // |
| 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 Colitti | 734b14e | 2021-02-05 23:56:09 +0900 | [diff] [blame] | 18 | // struct definitions shared with JNI |
| 19 | // |
Bob Badour | 97e6be2 | 2021-02-12 14:45:04 -0800 | [diff] [blame] | 20 | package { |
Aditya Choudhary | 01b5ede | 2024-01-31 11:08:57 +0000 | [diff] [blame] | 21 | default_team: "trendy_team_fwk_core_networking", |
Bob Badour | 97e6be2 | 2021-02-12 14:45:04 -0800 | [diff] [blame] | 22 | default_applicable_licenses: ["Android-Apache-2.0"], |
| 23 | } |
| 24 | |
Lorenzo Colitti | 734b14e | 2021-02-05 23:56:09 +0900 | [diff] [blame] | 25 | cc_library_headers { |
Ken Chen | bb57fa9 | 2021-10-22 00:49:13 +0800 | [diff] [blame] | 26 | name: "bpf_connectivity_headers", |
Lorenzo Colitti | 734b14e | 2021-02-05 23:56:09 +0900 | [diff] [blame] | 27 | vendor_available: false, |
| 28 | host_supported: false, |
Maciej Żenczykowski | 1205737 | 2022-06-14 14:36:34 -0700 | [diff] [blame] | 29 | header_libs: [ |
| 30 | "bpf_headers", |
Maciej Żenczykowski | 200d372 | 2022-06-15 01:06:27 -0700 | [diff] [blame] | 31 | "netd_mainline_headers", |
Maciej Żenczykowski | 1205737 | 2022-06-14 14:36:34 -0700 | [diff] [blame] | 32 | ], |
| 33 | export_header_lib_headers: [ |
| 34 | "bpf_headers", |
Maciej Żenczykowski | 200d372 | 2022-06-15 01:06:27 -0700 | [diff] [blame] | 35 | "netd_mainline_headers", |
Maciej Żenczykowski | 1205737 | 2022-06-14 14:36:34 -0700 | [diff] [blame] | 36 | ], |
Lorenzo Colitti | 734b14e | 2021-02-05 23:56:09 +0900 | [diff] [blame] | 37 | export_include_dirs: ["."], |
| 38 | cflags: [ |
| 39 | "-Wall", |
| 40 | "-Werror", |
Maciej Żenczykowski | d849a0c | 2024-07-25 18:24:22 +0000 | [diff] [blame] | 41 | "-Wextra", |
Lorenzo Colitti | 734b14e | 2021-02-05 23:56:09 +0900 | [diff] [blame] | 42 | ], |
| 43 | sdk_version: "30", |
| 44 | min_sdk_version: "30", |
Ken Chen | 335c0d4 | 2021-10-23 11:35:26 +0800 | [diff] [blame] | 45 | apex_available: [ |
| 46 | "//apex_available:platform", |
| 47 | "com.android.tethering", |
Maciej Żenczykowski | 1205737 | 2022-06-14 14:36:34 -0700 | [diff] [blame] | 48 | ], |
Lorenzo Colitti | 734b14e | 2021-02-05 23:56:09 +0900 | [diff] [blame] | 49 | visibility: [ |
Maciej Żenczykowski | 2bb5b7e | 2024-09-26 18:57:04 -0700 | [diff] [blame] | 50 | "//packages/modules/Connectivity/bpf/dns_helper", |
Maciej Żenczykowski | 04ed60f | 2024-08-29 15:13:35 -0700 | [diff] [blame] | 51 | "//packages/modules/Connectivity/bpf/netd", |
Tyler Wear | 7238821 | 2021-09-09 14:49:02 -0700 | [diff] [blame] | 52 | "//packages/modules/Connectivity/service", |
Hungming Chen | 99b9ae3 | 2022-01-16 14:38:07 +0800 | [diff] [blame] | 53 | "//packages/modules/Connectivity/service/native/libs/libclat", |
Lorenzo Colitti | 734b14e | 2021-02-05 23:56:09 +0900 | [diff] [blame] | 54 | "//packages/modules/Connectivity/Tethering", |
Wayne Ma | a9716ff | 2022-01-12 10:37:04 +0800 | [diff] [blame] | 55 | "//packages/modules/Connectivity/service/native", |
Ken Chen | ef50ab1 | 2022-07-28 13:41:07 +0800 | [diff] [blame] | 56 | "//packages/modules/Connectivity/tests/native/connectivity_native_test", |
Ken Chen | c52cbe0 | 2022-07-29 03:30:25 +0800 | [diff] [blame] | 57 | "//packages/modules/Connectivity/tests/native/utilities", |
Ken Chen | f426b2b | 2022-01-23 15:39:13 +0800 | [diff] [blame] | 58 | "//packages/modules/Connectivity/service-t/native/libs/libnetworkstats", |
Ken Chen | 335c0d4 | 2021-10-23 11:35:26 +0800 | [diff] [blame] | 59 | "//packages/modules/Connectivity/tests/unit/jni", |
Lorenzo Colitti | 734b14e | 2021-02-05 23:56:09 +0900 | [diff] [blame] | 60 | ], |
| 61 | } |
| 62 | |
| 63 | // |
Hungming Chen | 56c632c | 2020-09-10 15:42:58 +0800 | [diff] [blame] | 64 | // bpf kernel programs |
| 65 | // |
| 66 | bpf { |
Ken Chen | 74ff3ee | 2022-07-14 16:46:39 +0800 | [diff] [blame] | 67 | name: "dscpPolicy.o", |
| 68 | srcs: ["dscpPolicy.c"], |
Tyler Wear | 7238821 | 2021-09-09 14:49:02 -0700 | [diff] [blame] | 69 | sub_dir: "net_shared", |
| 70 | } |
| 71 | |
Maciej Żenczykowski | 7738877 | 2024-08-01 17:08:44 +0000 | [diff] [blame] | 72 | // Ships to Android S, the bpfloader of which fails to parse BTF enabled .o's. |
Tyler Wear | 7238821 | 2021-09-09 14:49:02 -0700 | [diff] [blame] | 73 | bpf { |
Hungming Chen | 56c632c | 2020-09-10 15:42:58 +0800 | [diff] [blame] | 74 | name: "offload.o", |
| 75 | srcs: ["offload.c"], |
Maciej Żenczykowski | adf18d2 | 2024-07-24 23:09:31 +0000 | [diff] [blame] | 76 | btf: false, |
Hungming Chen | 56c632c | 2020-09-10 15:42:58 +0800 | [diff] [blame] | 77 | } |
Maciej Żenczykowski | e9810ff | 2021-01-14 20:02:08 -0800 | [diff] [blame] | 78 | |
Maciej Żenczykowski | 7738877 | 2024-08-01 17:08:44 +0000 | [diff] [blame] | 79 | // This version ships to Android T+ which uses mainline netbpfload. |
Maciej Żenczykowski | e9810ff | 2021-01-14 20:02:08 -0800 | [diff] [blame] | 80 | bpf { |
Maciej Żenczykowski | 561fb4a | 2023-10-24 18:48:54 -0700 | [diff] [blame] | 81 | name: "offload@mainline.o", |
| 82 | srcs: ["offload@mainline.c"], |
Maciej Żenczykowski | d849a0c | 2024-07-25 18:24:22 +0000 | [diff] [blame] | 83 | cflags: ["-DMAINLINE"], |
Maciej Żenczykowski | 07d3013 | 2022-04-23 12:33:32 -0700 | [diff] [blame] | 84 | } |
| 85 | |
Maciej Żenczykowski | 7738877 | 2024-08-01 17:08:44 +0000 | [diff] [blame] | 86 | // Ships to Android S, the bpfloader of which fails to parse BTF enabled .o's. |
Maciej Żenczykowski | 07d3013 | 2022-04-23 12:33:32 -0700 | [diff] [blame] | 87 | bpf { |
Maciej Żenczykowski | e9810ff | 2021-01-14 20:02:08 -0800 | [diff] [blame] | 88 | name: "test.o", |
| 89 | srcs: ["test.c"], |
Maciej Żenczykowski | adf18d2 | 2024-07-24 23:09:31 +0000 | [diff] [blame] | 90 | btf: false, |
Maciej Żenczykowski | e9810ff | 2021-01-14 20:02:08 -0800 | [diff] [blame] | 91 | } |
Ken Chen | 587d423 | 2022-01-17 17:18:43 +0800 | [diff] [blame] | 92 | |
Maciej Żenczykowski | 7738877 | 2024-08-01 17:08:44 +0000 | [diff] [blame] | 93 | // This version ships to Android T+ which uses mainline netbpfload. |
Ken Chen | 587d423 | 2022-01-17 17:18:43 +0800 | [diff] [blame] | 94 | bpf { |
Maciej Żenczykowski | 561fb4a | 2023-10-24 18:48:54 -0700 | [diff] [blame] | 95 | name: "test@mainline.o", |
| 96 | srcs: ["test@mainline.c"], |
Maciej Żenczykowski | d849a0c | 2024-07-25 18:24:22 +0000 | [diff] [blame] | 97 | cflags: ["-DMAINLINE"], |
Maciej Żenczykowski | 07d3013 | 2022-04-23 12:33:32 -0700 | [diff] [blame] | 98 | } |
| 99 | |
| 100 | bpf { |
Maciej Żenczykowski | d72a5a7 | 2022-05-02 00:43:51 -0700 | [diff] [blame] | 101 | name: "clatd.o", |
Maciej Żenczykowski | 849b3aa | 2022-01-20 20:58:34 -0800 | [diff] [blame] | 102 | srcs: ["clatd.c"], |
Maciej Żenczykowski | 849b3aa | 2022-01-20 20:58:34 -0800 | [diff] [blame] | 103 | sub_dir: "net_shared", |
| 104 | } |
| 105 | |
| 106 | bpf { |
Maciej Żenczykowski | 1205737 | 2022-06-14 14:36:34 -0700 | [diff] [blame] | 107 | // WARNING: Android T's non-updatable netd depends on 'netd' string for xt_bpf programs it loads |
Maciej Żenczykowski | d72a5a7 | 2022-05-02 00:43:51 -0700 | [diff] [blame] | 108 | name: "netd.o", |
Ken Chen | 587d423 | 2022-01-17 17:18:43 +0800 | [diff] [blame] | 109 | srcs: ["netd.c"], |
Maciej Żenczykowski | 1205737 | 2022-06-14 14:36:34 -0700 | [diff] [blame] | 110 | // WARNING: Android T's non-updatable netd depends on 'netd_shared' string for xt_bpf programs |
Maciej Żenczykowski | 6d116d0 | 2022-05-16 13:59:12 -0700 | [diff] [blame] | 111 | sub_dir: "netd_shared", |
Ken Chen | 587d423 | 2022-01-17 17:18:43 +0800 | [diff] [blame] | 112 | } |