Check for first api level before turn on eBPF
The api check will ensure the device is running 4.9 or above kernel and
is shipped originally with P release. Also add some test to make sure
eligible devices always have eBPF turned on.
Test: ./netd_integration_test
Bug: 79408692
Change-Id: Ief56a95aab892c92276a5b4ac74b03f9f32f5b54
diff --git a/libbpf/BpfNetworkStatsTest.cpp b/libbpf/BpfNetworkStatsTest.cpp
index 33df0f2..d1f8157 100644
--- a/libbpf/BpfNetworkStatsTest.cpp
+++ b/libbpf/BpfNetworkStatsTest.cpp
@@ -153,6 +153,8 @@
// TEST to verify the behavior of bpf map when cocurrent deletion happens when
// iterating the same map.
TEST_F(BpfNetworkStatsHelperTest, TestIterateMapWithDeletion) {
+ SKIP_IF_BPF_NOT_SUPPORTED;
+
for (int i = 0; i < 5; i++) {
uint64_t cookie = i + 1;
struct UidTag tag = {.uid = TEST_UID1, .tag = TEST_TAG};
@@ -180,6 +182,8 @@
}
TEST_F(BpfNetworkStatsHelperTest, TestGetUidStatsTotal) {
+ SKIP_IF_BPF_NOT_SUPPORTED;
+
updateIfaceMap(IFACE_NAME1, IFACE_INDEX1);
StatsValue value1 = {.rxBytes = TEST_BYTES0,
.rxPackets = TEST_PACKET0,
@@ -214,6 +218,8 @@
}
TEST_F(BpfNetworkStatsHelperTest, TestGetIfaceStatsInternal) {
+ SKIP_IF_BPF_NOT_SUPPORTED;
+
updateIfaceMap(IFACE_NAME1, IFACE_INDEX1);
updateIfaceMap(IFACE_NAME2, IFACE_INDEX2);
updateIfaceMap(IFACE_NAME3, IFACE_INDEX3);
@@ -257,6 +263,8 @@
}
TEST_F(BpfNetworkStatsHelperTest, TestGetStatsDetail) {
+ SKIP_IF_BPF_NOT_SUPPORTED;
+
updateIfaceMap(IFACE_NAME1, IFACE_INDEX1);
updateIfaceMap(IFACE_NAME2, IFACE_INDEX2);
StatsValue value1 = {.rxBytes = TEST_BYTES0,
@@ -293,6 +301,8 @@
}
TEST_F(BpfNetworkStatsHelperTest, TestGetStatsWithSkippedIface) {
+ SKIP_IF_BPF_NOT_SUPPORTED;
+
updateIfaceMap(IFACE_NAME1, IFACE_INDEX1);
updateIfaceMap(IFACE_NAME2, IFACE_INDEX2);
StatsValue value1 = {.rxBytes = TEST_BYTES0,
@@ -326,6 +336,8 @@
}
TEST_F(BpfNetworkStatsHelperTest, TestGetStatsWithNoExistKey) {
+ SKIP_IF_BPF_NOT_SUPPORTED;
+
updateIfaceMap(IFACE_NAME1, IFACE_INDEX1);
StatsValue value1 = {
.rxBytes = TEST_BYTES0,
@@ -343,6 +355,8 @@
}
TEST_F(BpfNetworkStatsHelperTest, TestUnkownIfaceError) {
+ SKIP_IF_BPF_NOT_SUPPORTED;
+
updateIfaceMap(IFACE_NAME1, IFACE_INDEX1);
StatsValue value1 = {.rxBytes = TEST_BYTES0 * 20,
.rxPackets = TEST_PACKET0,
@@ -379,6 +393,8 @@
}
TEST_F(BpfNetworkStatsHelperTest, TestGetIfaceStatsDetail) {
+ SKIP_IF_BPF_NOT_SUPPORTED;
+
updateIfaceMap(IFACE_NAME1, IFACE_INDEX1);
updateIfaceMap(IFACE_NAME2, IFACE_INDEX2);
updateIfaceMap(IFACE_NAME3, IFACE_INDEX3);