Files
android_packages_modules_Co…/bpf_progs/Android.bp
Maciej Żenczykowski 6d116d0f38 move netd maps and progs into /sys/fs/bpf/netd_shared/...
(out of current /sys/fs/bpf/net_shared/...)

This will allow genfscon regexp changes in a followup selinux commit.

Note that this has a hard dependency on system/bpf change
  'bpfloader: add support for netd_shared and net_private subdirs'
which also bumps bpfloader to v0.13.

This was merged May 12, 2022 (into both aosp/master and tm-dev)
and it is in Android T starting with Beta 3 release.

This isn't really an issue since amusingly T Beta 2 is already
incompatible with current mainline releases due to the snap
reverting a previous required bpfloader system/bpf change:
  move net_shared bpf programs into net_shared subdirectory
See: http://b/232050459#comment14

So this doesn't break T Beta1/2, since they already don't work,
and Beta3 will work.

Bug: 218408035
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Id5f14d6e3f11cfe35d9d8a9496548a2bc4d022ec
2022-05-16 23:24:37 +00:00

128 lines
2.9 KiB
Plaintext

//
// 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_applicable_licenses: ["Android-Apache-2.0"],
}
cc_library_headers {
name: "bpf_connectivity_headers",
vendor_available: false,
host_supported: false,
header_libs: ["bpf_headers"],
export_header_lib_headers: ["bpf_headers"],
export_include_dirs: ["."],
cflags: [
"-Wall",
"-Werror",
],
sdk_version: "30",
min_sdk_version: "30",
apex_available: [
"//apex_available:platform",
"com.android.tethering",
],
visibility: [
// TODO: remove it when NetworkStatsService is moved into the mainline module and no more
// calls to JNI in libservices.core.
"//frameworks/base/services/core/jni",
"//packages/modules/Connectivity/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",
"//packages/modules/Connectivity/service-t/native/libs/libnetworkstats",
"//packages/modules/Connectivity/tests/unit/jni",
"//system/netd/server",
"//system/netd/tests",
],
}
//
// bpf kernel programs
//
bpf {
name: "block.o",
srcs: ["block.c"],
btf: true,
cflags: [
"-Wall",
"-Werror",
],
sub_dir: "net_shared",
}
bpf {
name: "dscp_policy.o",
srcs: ["dscp_policy.c"],
btf: true,
cflags: [
"-Wall",
"-Werror",
],
sub_dir: "net_shared",
}
bpf {
name: "offload.o",
srcs: ["offload.c"],
cflags: [
"-Wall",
"-Werror",
],
}
bpf {
name: "test.o",
srcs: ["test.c"],
cflags: [
"-Wall",
"-Werror",
],
}
bpf {
name: "clatd.o",
srcs: ["clatd.c"],
btf: true,
cflags: [
"-Wall",
"-Werror",
],
include_dirs: [
"frameworks/libs/net/common/netd/libnetdutils/include",
],
sub_dir: "net_shared",
}
bpf {
name: "netd.o",
srcs: ["netd.c"],
btf: true,
cflags: [
"-Wall",
"-Werror",
],
include_dirs: [
"frameworks/libs/net/common/netd/libnetdutils/include",
],
sub_dir: "netd_shared",
}