diff --git a/bpf_progs/Android.bp b/bpf_progs/Android.bp index 6c7824492c..23af3e3590 100644 --- a/bpf_progs/Android.bp +++ b/bpf_progs/Android.bp @@ -123,5 +123,5 @@ bpf { include_dirs: [ "frameworks/libs/net/common/netd/libnetdutils/include", ], - sub_dir: "net_shared", + sub_dir: "netd_shared", } diff --git a/bpf_progs/bpf_shared.h b/bpf_progs/bpf_shared.h index a6e78b67d9..5378358793 100644 --- a/bpf_progs/bpf_shared.h +++ b/bpf_progs/bpf_shared.h @@ -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 diff --git a/service-t/src/com/android/server/net/BpfInterfaceMapUpdater.java b/service-t/src/com/android/server/net/BpfInterfaceMapUpdater.java index 5011dec06e..3b44d8143b 100644 --- a/service-t/src/com/android/server/net/BpfInterfaceMapUpdater.java +++ b/service-t/src/com/android/server/net/BpfInterfaceMapUpdater.java @@ -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 mBpfMap; private final INetd mNetd; private final Handler mHandler; diff --git a/service-t/src/com/android/server/net/NetworkStatsService.java b/service-t/src/com/android/server/net/NetworkStatsService.java index b2d8b5e410..a015177bc9 100644 --- a/service-t/src/com/android/server/net/NetworkStatsService.java +++ b/service-t/src/com/android/server/net/NetworkStatsService.java @@ -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; diff --git a/service/src/com/android/server/ConnectivityService.java b/service/src/com/android/server/ConnectivityService.java index 66ef9e9ab1..88bc058154 100644 --- a/service/src/com/android/server/ConnectivityService.java +++ b/service/src/com/android/server/ConnectivityService.java @@ -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)); diff --git a/tests/mts/bpf_existence_test.cpp b/tests/mts/bpf_existence_test.cpp index 25694d7450..7efc2b1a0d 100644 --- a/tests/mts/bpf_existence_test.cpp +++ b/tests/mts/bpf_existence_test.cpp @@ -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 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 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 REMOVED_T = {