// // Copyright (C) 2020 The Android Open Source Project // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // // // struct definitions shared with JNI // package { default_team: "trendy_team_fwk_core_networking", default_applicable_licenses: ["Android-Apache-2.0"], } cc_library_headers { name: "bpf_connectivity_headers", vendor_available: false, host_supported: false, header_libs: [ "bpf_headers", "netd_mainline_headers", ], export_header_lib_headers: [ "bpf_headers", "netd_mainline_headers", ], export_include_dirs: ["."], cflags: [ "-Wall", "-Werror", "-Wextra", ], sdk_version: "30", min_sdk_version: "30", apex_available: [ "//apex_available:platform", "com.android.tethering", ], visibility: [ "//packages/modules/Connectivity/bpf/dns_helper", "//packages/modules/Connectivity/bpf/netd", "//packages/modules/Connectivity/service", "//packages/modules/Connectivity/service/native/libs/libclat", "//packages/modules/Connectivity/Tethering", "//packages/modules/Connectivity/service/native", "//packages/modules/Connectivity/tests/native/connectivity_native_test", "//packages/modules/Connectivity/tests/native/utilities", "//packages/modules/Connectivity/service-t/native/libs/libnetworkstats", "//packages/modules/Connectivity/tests/unit/jni", ], } cc_library_headers { name: "bpf_prog_mainline_headers", native_bridge_supported: true, export_include_dirs: ["include"], cflags: [ "-Wall", "-Werror", ], sdk_version: "30", min_sdk_version: "30", // This header is for internal use within the tethering module. // Platform code should use bpf_prog_platform_headers instead. visibility: [ "//packages/modules/Connectivity/bpf:__subpackages__", ], apex_available: [ "com.android.tethering", ], } // // bpf kernel programs // bpf { name: "clatd.o", srcs: ["clatd.c"], include_dirs: ["packages/modules/Connectivity/bpf/progs/include"], sub_dir: "mainline", } bpf { name: "dscpPolicy.o", srcs: ["dscpPolicy.c"], include_dirs: ["packages/modules/Connectivity/bpf/progs/include"], sub_dir: "mainline", } bpf { name: "netd.o", srcs: ["netd.c"], include_dirs: ["packages/modules/Connectivity/bpf/progs/include"], sub_dir: "mainline", } bpf { name: "offload.o", srcs: ["offload.c"], include_dirs: ["packages/modules/Connectivity/bpf/progs/include"], sub_dir: "mainline", } bpf { name: "test.o", srcs: ["test.c"], include_dirs: ["packages/modules/Connectivity/bpf/progs/include"], sub_dir: "mainline", }