Merge "Add a DumpTestUtils class to do service dumps in tests."
diff --git a/common/Android.bp b/common/Android.bp
index 16fede8..ba545ea 100644
--- a/common/Android.bp
+++ b/common/Android.bp
@@ -111,8 +111,10 @@
name: "net-utils-device-common-bpf",
srcs: [
"device/com/android/net/module/util/BpfMap.java",
+ "device/com/android/net/module/util/HexDump.java",
"device/com/android/net/module/util/IBpfMap.java",
"device/com/android/net/module/util/JniUtil.java",
+ "device/com/android/net/module/util/Struct.java",
"device/com/android/net/module/util/TcUtils.java",
],
sdk_version: "system_current",
@@ -122,9 +124,7 @@
"//frameworks/libs/net/common/testutils:__subpackages__",
"//packages/modules/Connectivity:__subpackages__",
"//packages/modules/NetworkStack:__subpackages__",
- ],
- static_libs: [
- "net-utils-device-common-struct",
+ "//frameworks/base/services/core",
],
libs: [
"androidx.annotation_annotation",
@@ -279,6 +279,7 @@
"framework-connectivity",
],
visibility: [
+ // TODO: remove after NetworkStatsService moves to the module.
"//frameworks/base/services/net",
"//packages/modules/Connectivity/tests:__subpackages__",
],
diff --git a/common/native/bpf_headers/Android.bp b/common/native/bpf_headers/Android.bp
index a9f6984..6df5dcb 100644
--- a/common/native/bpf_headers/Android.bp
+++ b/common/native/bpf_headers/Android.bp
@@ -47,6 +47,7 @@
"//packages/modules/Connectivity/bpf_progs",
"//packages/modules/Connectivity/netd",
"//packages/modules/Connectivity/service/native",
+ "//packages/modules/Connectivity/service/native/libs/libclat",
"//packages/modules/Connectivity/tests/unit/jni",
"//packages/modules/DnsResolver/tests",
"//system/bpf/bpfloader",
diff --git a/common/native/bpf_headers/include/bpf/bpf_helpers.h b/common/native/bpf_headers/include/bpf/bpf_helpers.h
index 878bb10..ac9f9bc 100644
--- a/common/native/bpf_headers/include/bpf/bpf_helpers.h
+++ b/common/native/bpf_headers/include/bpf/bpf_helpers.h
@@ -116,6 +116,15 @@
static int (*bpf_map_delete_elem_unsafe)(const struct bpf_map_def* map,
const void* key) = (void*)BPF_FUNC_map_delete_elem;
+#define BPF_ANNOTATE_KV_PAIR(name, type_key, type_val) \
+ struct ____btf_map_##name { \
+ type_key key; \
+ type_val value; \
+ }; \
+ struct ____btf_map_##name \
+ __attribute__ ((section(".maps." #name), used)) \
+ ____btf_map_##name = { }
+
/* type safe macro to declare a map and related accessor functions */
#define DEFINE_BPF_MAP_UGM(the_map, TYPE, TypeOfKey, TypeOfValue, num_entries, usr, grp, md) \
const struct bpf_map_def SECTION("maps") the_map = { \
@@ -132,6 +141,7 @@
.min_kver = KVER_NONE, \
.max_kver = KVER_INF, \
}; \
+ BPF_ANNOTATE_KV_PAIR(the_map, TypeOfKey, TypeOfValue); \
\
static inline __always_inline __unused TypeOfValue* bpf_##the_map##_lookup_elem( \
const TypeOfKey* k) { \
diff --git a/common/native/bpf_syscall_wrappers/Android.bp b/common/native/bpf_syscall_wrappers/Android.bp
index c1bfd80..ad42622 100644
--- a/common/native/bpf_syscall_wrappers/Android.bp
+++ b/common/native/bpf_syscall_wrappers/Android.bp
@@ -40,6 +40,7 @@
"//packages/modules/Connectivity/netd",
"//packages/modules/Connectivity/service",
"//packages/modules/Connectivity/service/native",
+ "//packages/modules/Connectivity/service/native/libs/libclat",
"//packages/modules/Connectivity/Tethering",
"//packages/providers/MediaProvider/jni",
"//system/bpf/libbpf_android",
diff --git a/common/native/bpfmapjni/Android.bp b/common/native/bpfmapjni/Android.bp
index 8d3c90b..e4d337a 100644
--- a/common/native/bpfmapjni/Android.bp
+++ b/common/native/bpfmapjni/Android.bp
@@ -46,5 +46,7 @@
],
visibility: [
"//packages/modules/Connectivity:__subpackages__",
+ // TODO: remove after NetworkStatsService moves to the module.
+ "//frameworks/base/packages/ConnectivityT/service",
],
}