Merge changes I5ffa2faf,Id5f14d6e am: b6ac308b50
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2099718 Change-Id: I93c6253739948e20da6581c694a68339ead618f8 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
commit
ba33b34c61
10 changed files with 68 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",
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,6 +19,9 @@
|
|||
#include <netinet/in.h>
|
||||
#include <stdint.h>
|
||||
|
||||
// The resulting .o needs to load on the Android T bpfloader v0.12+
|
||||
#define BPFLOADER_MIN_VER 12u
|
||||
|
||||
#include "bpf_helpers.h"
|
||||
|
||||
#define ALLOW 1
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
@ -163,13 +163,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
|
||||
|
|
@ -187,10 +189,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
|
||||
|
|
|
|||
|
|
@ -30,6 +30,9 @@
|
|||
#define __kernel_udphdr udphdr
|
||||
#include <linux/udp.h>
|
||||
|
||||
// The resulting .o needs to load on the Android T bpfloader v0.12+
|
||||
#define BPFLOADER_MIN_VER 12u
|
||||
|
||||
#include "bpf_helpers.h"
|
||||
#include "bpf_net_helpers.h"
|
||||
#include "bpf_shared.h"
|
||||
|
|
|
|||
|
|
@ -27,6 +27,9 @@
|
|||
#include <netinet/udp.h>
|
||||
#include <string.h>
|
||||
|
||||
// The resulting .o needs to load on the Android T bpfloader v0.12+
|
||||
#define BPFLOADER_MIN_VER 12u
|
||||
|
||||
#include "bpf_helpers.h"
|
||||
#include "dscp_policy.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -14,6 +14,9 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// The resulting .o needs to load on the Android T Beta 3 bpfloader v0.13+
|
||||
#define BPFLOADER_MIN_VER 13u
|
||||
|
||||
#include <bpf_helpers.h>
|
||||
#include <linux/bpf.h>
|
||||
#include <linux/if.h>
|
||||
|
|
|
|||
|
|
@ -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