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
This commit is contained in:
parent
080974233c
commit
6d116d0f38
6 changed files with 56 additions and 52 deletions
|
|
@ -123,5 +123,5 @@ bpf {
|
|||
include_dirs: [
|
||||
"frameworks/libs/net/common/netd/libnetdutils/include",
|
||||
],
|
||||
sub_dir: "net_shared",
|
||||
sub_dir: "netd_shared",
|
||||
}
|
||||
|
|
|
|||
|
|
@ -98,29 +98,29 @@ static const int IFACE_STATS_MAP_SIZE = 1000;
|
|||
static const int CONFIGURATION_MAP_SIZE = 2;
|
||||
static const int UID_OWNER_MAP_SIZE = 2000;
|
||||
|
||||
#define BPF_PATH "/sys/fs/bpf/net_shared/"
|
||||
#define BPF_NETD_PATH "/sys/fs/bpf/netd_shared/"
|
||||
|
||||
#define BPF_EGRESS_PROG_PATH BPF_PATH "prog_netd_cgroupskb_egress_stats"
|
||||
#define BPF_INGRESS_PROG_PATH BPF_PATH "prog_netd_cgroupskb_ingress_stats"
|
||||
#define XT_BPF_INGRESS_PROG_PATH BPF_PATH "prog_netd_skfilter_ingress_xtbpf"
|
||||
#define XT_BPF_EGRESS_PROG_PATH BPF_PATH "prog_netd_skfilter_egress_xtbpf"
|
||||
#define XT_BPF_ALLOWLIST_PROG_PATH BPF_PATH "prog_netd_skfilter_allowlist_xtbpf"
|
||||
#define XT_BPF_DENYLIST_PROG_PATH BPF_PATH "prog_netd_skfilter_denylist_xtbpf"
|
||||
#define CGROUP_SOCKET_PROG_PATH BPF_PATH "prog_netd_cgroupsock_inet_create"
|
||||
#define BPF_EGRESS_PROG_PATH BPF_NETD_PATH "prog_netd_cgroupskb_egress_stats"
|
||||
#define BPF_INGRESS_PROG_PATH BPF_NETD_PATH "prog_netd_cgroupskb_ingress_stats"
|
||||
#define XT_BPF_INGRESS_PROG_PATH BPF_NETD_PATH "prog_netd_skfilter_ingress_xtbpf"
|
||||
#define XT_BPF_EGRESS_PROG_PATH BPF_NETD_PATH "prog_netd_skfilter_egress_xtbpf"
|
||||
#define XT_BPF_ALLOWLIST_PROG_PATH BPF_NETD_PATH "prog_netd_skfilter_allowlist_xtbpf"
|
||||
#define XT_BPF_DENYLIST_PROG_PATH BPF_NETD_PATH "prog_netd_skfilter_denylist_xtbpf"
|
||||
#define CGROUP_SOCKET_PROG_PATH BPF_NETD_PATH "prog_netd_cgroupsock_inet_create"
|
||||
|
||||
#define TC_BPF_INGRESS_ACCOUNT_PROG_NAME "prog_netd_schedact_ingress_account"
|
||||
#define TC_BPF_INGRESS_ACCOUNT_PROG_PATH BPF_PATH TC_BPF_INGRESS_ACCOUNT_PROG_NAME
|
||||
#define TC_BPF_INGRESS_ACCOUNT_PROG_PATH BPF_NETD_PATH TC_BPF_INGRESS_ACCOUNT_PROG_NAME
|
||||
|
||||
#define COOKIE_TAG_MAP_PATH BPF_PATH "map_netd_cookie_tag_map"
|
||||
#define UID_COUNTERSET_MAP_PATH BPF_PATH "map_netd_uid_counterset_map"
|
||||
#define APP_UID_STATS_MAP_PATH BPF_PATH "map_netd_app_uid_stats_map"
|
||||
#define STATS_MAP_A_PATH BPF_PATH "map_netd_stats_map_A"
|
||||
#define STATS_MAP_B_PATH BPF_PATH "map_netd_stats_map_B"
|
||||
#define IFACE_INDEX_NAME_MAP_PATH BPF_PATH "map_netd_iface_index_name_map"
|
||||
#define IFACE_STATS_MAP_PATH BPF_PATH "map_netd_iface_stats_map"
|
||||
#define CONFIGURATION_MAP_PATH BPF_PATH "map_netd_configuration_map"
|
||||
#define UID_OWNER_MAP_PATH BPF_PATH "map_netd_uid_owner_map"
|
||||
#define UID_PERMISSION_MAP_PATH BPF_PATH "map_netd_uid_permission_map"
|
||||
#define COOKIE_TAG_MAP_PATH BPF_NETD_PATH "map_netd_cookie_tag_map"
|
||||
#define UID_COUNTERSET_MAP_PATH BPF_NETD_PATH "map_netd_uid_counterset_map"
|
||||
#define APP_UID_STATS_MAP_PATH BPF_NETD_PATH "map_netd_app_uid_stats_map"
|
||||
#define STATS_MAP_A_PATH BPF_NETD_PATH "map_netd_stats_map_A"
|
||||
#define STATS_MAP_B_PATH BPF_NETD_PATH "map_netd_stats_map_B"
|
||||
#define IFACE_INDEX_NAME_MAP_PATH BPF_NETD_PATH "map_netd_iface_index_name_map"
|
||||
#define IFACE_STATS_MAP_PATH BPF_NETD_PATH "map_netd_iface_stats_map"
|
||||
#define CONFIGURATION_MAP_PATH BPF_NETD_PATH "map_netd_configuration_map"
|
||||
#define UID_OWNER_MAP_PATH BPF_NETD_PATH "map_netd_uid_owner_map"
|
||||
#define UID_PERMISSION_MAP_PATH BPF_NETD_PATH "map_netd_uid_permission_map"
|
||||
|
||||
enum UidOwnerMatchType {
|
||||
NO_MATCH = 0,
|
||||
|
|
@ -162,13 +162,15 @@ STRUCT_SIZE(UidOwnerValue, 2 * 4); // 8
|
|||
#define UID_RULES_CONFIGURATION_KEY 1
|
||||
#define CURRENT_STATS_MAP_CONFIGURATION_KEY 2
|
||||
|
||||
#define BPF_CLATD_PATH "/sys/fs/bpf/net_shared/"
|
||||
|
||||
#define CLAT_INGRESS6_PROG_RAWIP_NAME "prog_clatd_schedcls_ingress6_clat_rawip"
|
||||
#define CLAT_INGRESS6_PROG_ETHER_NAME "prog_clatd_schedcls_ingress6_clat_ether"
|
||||
|
||||
#define CLAT_INGRESS6_PROG_RAWIP_PATH BPF_PATH CLAT_INGRESS6_PROG_RAWIP_NAME
|
||||
#define CLAT_INGRESS6_PROG_ETHER_PATH BPF_PATH CLAT_INGRESS6_PROG_ETHER_NAME
|
||||
#define CLAT_INGRESS6_PROG_RAWIP_PATH BPF_CLATD_PATH CLAT_INGRESS6_PROG_RAWIP_NAME
|
||||
#define CLAT_INGRESS6_PROG_ETHER_PATH BPF_CLATD_PATH CLAT_INGRESS6_PROG_ETHER_NAME
|
||||
|
||||
#define CLAT_INGRESS6_MAP_PATH BPF_PATH "map_clatd_clat_ingress6_map"
|
||||
#define CLAT_INGRESS6_MAP_PATH BPF_CLATD_PATH "map_clatd_clat_ingress6_map"
|
||||
|
||||
typedef struct {
|
||||
uint32_t iif; // The input interface index
|
||||
|
|
@ -186,10 +188,10 @@ STRUCT_SIZE(ClatIngress6Value, 4 + 4); // 8
|
|||
#define CLAT_EGRESS4_PROG_RAWIP_NAME "prog_clatd_schedcls_egress4_clat_rawip"
|
||||
#define CLAT_EGRESS4_PROG_ETHER_NAME "prog_clatd_schedcls_egress4_clat_ether"
|
||||
|
||||
#define CLAT_EGRESS4_PROG_RAWIP_PATH BPF_PATH CLAT_EGRESS4_PROG_RAWIP_NAME
|
||||
#define CLAT_EGRESS4_PROG_ETHER_PATH BPF_PATH CLAT_EGRESS4_PROG_ETHER_NAME
|
||||
#define CLAT_EGRESS4_PROG_RAWIP_PATH BPF_CLATD_PATH CLAT_EGRESS4_PROG_RAWIP_NAME
|
||||
#define CLAT_EGRESS4_PROG_ETHER_PATH BPF_CLATD_PATH CLAT_EGRESS4_PROG_ETHER_NAME
|
||||
|
||||
#define CLAT_EGRESS4_MAP_PATH BPF_PATH "map_clatd_clat_egress4_map"
|
||||
#define CLAT_EGRESS4_MAP_PATH BPF_CLATD_PATH "map_clatd_clat_egress4_map"
|
||||
|
||||
typedef struct {
|
||||
uint32_t iif; // The input interface index
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public class BpfInterfaceMapUpdater {
|
|||
private static final String TAG = BpfInterfaceMapUpdater.class.getSimpleName();
|
||||
// This is current path but may be changed soon.
|
||||
private static final String IFACE_INDEX_NAME_MAP_PATH =
|
||||
"/sys/fs/bpf/net_shared/map_netd_iface_index_name_map";
|
||||
"/sys/fs/bpf/netd_shared/map_netd_iface_index_name_map";
|
||||
private final IBpfMap<U32, InterfaceMapValue> mBpfMap;
|
||||
private final INetd mNetd;
|
||||
private final Handler mHandler;
|
||||
|
|
|
|||
|
|
@ -222,15 +222,15 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
|
|||
"netstats_combine_subtype_enabled";
|
||||
|
||||
private static final String UID_COUNTERSET_MAP_PATH =
|
||||
"/sys/fs/bpf/net_shared/map_netd_uid_counterset_map";
|
||||
"/sys/fs/bpf/netd_shared/map_netd_uid_counterset_map";
|
||||
private static final String COOKIE_TAG_MAP_PATH =
|
||||
"/sys/fs/bpf/net_shared/map_netd_cookie_tag_map";
|
||||
"/sys/fs/bpf/netd_shared/map_netd_cookie_tag_map";
|
||||
private static final String APP_UID_STATS_MAP_PATH =
|
||||
"/sys/fs/bpf/net_shared/map_netd_app_uid_stats_map";
|
||||
"/sys/fs/bpf/netd_shared/map_netd_app_uid_stats_map";
|
||||
private static final String STATS_MAP_A_PATH =
|
||||
"/sys/fs/bpf/net_shared/map_netd_stats_map_A";
|
||||
"/sys/fs/bpf/netd_shared/map_netd_stats_map_A";
|
||||
private static final String STATS_MAP_B_PATH =
|
||||
"/sys/fs/bpf/net_shared/map_netd_stats_map_B";
|
||||
"/sys/fs/bpf/netd_shared/map_netd_stats_map_B";
|
||||
|
||||
private final Context mContext;
|
||||
private final NetworkStatsFactory mStatsFactory;
|
||||
|
|
|
|||
|
|
@ -748,7 +748,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||
* The BPF program attached to the tc-police hook to account for to-be-dropped traffic.
|
||||
*/
|
||||
private static final String TC_POLICE_BPF_PROG_PATH =
|
||||
"/sys/fs/bpf/net_shared/prog_netd_schedact_ingress_account";
|
||||
"/sys/fs/bpf/netd_shared/prog_netd_schedact_ingress_account";
|
||||
|
||||
private static String eventName(int what) {
|
||||
return sMagicDecoderRing.get(what, Integer.toString(what));
|
||||
|
|
|
|||
|
|
@ -42,7 +42,9 @@ using android::modules::sdklevel::IsAtLeastT;
|
|||
|
||||
#define PLATFORM "/sys/fs/bpf/"
|
||||
#define TETHERING "/sys/fs/bpf/tethering/"
|
||||
#define PRIVATE "/sys/fs/bpf/net_private/"
|
||||
#define SHARED "/sys/fs/bpf/net_shared/"
|
||||
#define NETD "/sys/fs/bpf/netd_shared/"
|
||||
|
||||
class BpfExistenceTest : public ::testing::Test {
|
||||
};
|
||||
|
|
@ -95,16 +97,16 @@ static const set<string> INTRODUCED_T = {
|
|||
SHARED "map_dscp_policy_ipv6_socket_to_policies_map_A",
|
||||
SHARED "map_dscp_policy_ipv6_socket_to_policies_map_B",
|
||||
SHARED "map_dscp_policy_switch_comp_map",
|
||||
SHARED "map_netd_app_uid_stats_map",
|
||||
SHARED "map_netd_configuration_map",
|
||||
SHARED "map_netd_cookie_tag_map",
|
||||
SHARED "map_netd_iface_index_name_map",
|
||||
SHARED "map_netd_iface_stats_map",
|
||||
SHARED "map_netd_stats_map_A",
|
||||
SHARED "map_netd_stats_map_B",
|
||||
SHARED "map_netd_uid_counterset_map",
|
||||
SHARED "map_netd_uid_owner_map",
|
||||
SHARED "map_netd_uid_permission_map",
|
||||
NETD "map_netd_app_uid_stats_map",
|
||||
NETD "map_netd_configuration_map",
|
||||
NETD "map_netd_cookie_tag_map",
|
||||
NETD "map_netd_iface_index_name_map",
|
||||
NETD "map_netd_iface_stats_map",
|
||||
NETD "map_netd_stats_map_A",
|
||||
NETD "map_netd_stats_map_B",
|
||||
NETD "map_netd_uid_counterset_map",
|
||||
NETD "map_netd_uid_owner_map",
|
||||
NETD "map_netd_uid_permission_map",
|
||||
SHARED "prog_block_bind4_block_port",
|
||||
SHARED "prog_block_bind6_block_port",
|
||||
SHARED "prog_clatd_schedcls_egress4_clat_ether",
|
||||
|
|
@ -113,14 +115,14 @@ static const set<string> INTRODUCED_T = {
|
|||
SHARED "prog_clatd_schedcls_ingress6_clat_rawip",
|
||||
SHARED "prog_dscp_policy_schedcls_set_dscp_ether",
|
||||
SHARED "prog_dscp_policy_schedcls_set_dscp_raw_ip",
|
||||
SHARED "prog_netd_cgroupskb_egress_stats",
|
||||
SHARED "prog_netd_cgroupskb_ingress_stats",
|
||||
SHARED "prog_netd_cgroupsock_inet_create",
|
||||
SHARED "prog_netd_schedact_ingress_account",
|
||||
SHARED "prog_netd_skfilter_allowlist_xtbpf",
|
||||
SHARED "prog_netd_skfilter_denylist_xtbpf",
|
||||
SHARED "prog_netd_skfilter_egress_xtbpf",
|
||||
SHARED "prog_netd_skfilter_ingress_xtbpf",
|
||||
NETD "prog_netd_cgroupskb_egress_stats",
|
||||
NETD "prog_netd_cgroupskb_ingress_stats",
|
||||
NETD "prog_netd_cgroupsock_inet_create",
|
||||
NETD "prog_netd_schedact_ingress_account",
|
||||
NETD "prog_netd_skfilter_allowlist_xtbpf",
|
||||
NETD "prog_netd_skfilter_denylist_xtbpf",
|
||||
NETD "prog_netd_skfilter_egress_xtbpf",
|
||||
NETD "prog_netd_skfilter_ingress_xtbpf",
|
||||
};
|
||||
|
||||
static const set<string> REMOVED_T = {
|
||||
|
|
|
|||
Loading…
Reference in a new issue