bpf_progs: introduce mainline loaded non-critical gentle.o

with map & program that can be checked from system_server

Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ife736d54cfc3768aca378d46a092c4518a7302dd
This commit is contained in:
Maciej Żenczykowski 2024-06-15 02:46:17 -07:00
commit 083cce9bf9
4 changed files with 43 additions and 0 deletions

View file

@ -101,6 +101,7 @@ apex {
"block.o",
"clatd.o",
"dscpPolicy.o",
"gentle.o",
"netd.o",
"offload.o",
"offload@mainline.o",

View file

@ -84,6 +84,16 @@ bpf {
sub_dir: "net_shared",
}
bpf {
name: "gentle.o",
srcs: ["gentle.c"],
cflags: [
"-Wall",
"-Werror",
],
sub_dir: "net_shared",
}
bpf {
name: "offload.o",
srcs: ["offload.c"],

30
bpf_progs/gentle.c Normal file
View file

@ -0,0 +1,30 @@
/*
* Copyright (C) 2024 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.
*/
#define BPFLOADER_MIN_VER BPFLOADER_MAINLINE_T_VERSION
#include "bpf_helpers.h"
#include "bpf_net_helpers.h"
DEFINE_BPF_MAP_GRW(test, ARRAY, int, uint64_t, 1, AID_SYSTEM)
DEFINE_BPF_PROG("skfilter/accept", AID_ROOT, AID_SYSTEM, accept)
(struct __sk_buff *skb) {
return 1;
}
LICENSE("Apache 2.0");
DISABLE_BTF_ON_USER_BUILDS();

View file

@ -91,6 +91,8 @@ static const set<string> MAINLINE_FOR_T_PLUS = {
SHARED "map_dscpPolicy_ipv4_dscp_policies_map",
SHARED "map_dscpPolicy_ipv6_dscp_policies_map",
SHARED "map_dscpPolicy_socket_policy_cache_map",
SHARED "map_gentle_test",
SHARED "prog_gentle_skfilter_accept",
NETD "map_netd_app_uid_stats_map",
NETD "map_netd_configuration_map",
NETD "map_netd_cookie_tag_map",