Revert "Revert "Add a temporary hack to CS to report netbpfload ..."
Revert submission 3134199
Reason for revert: Temporary revert for merge conflict
Reverted changes: /q/submissionid:3134199
Change-Id: I8f26a30c83df8a1c470850ef73e62b742fa4ef89
diff --git a/service/src/com/android/server/ConnectivityService.java b/service/src/com/android/server/ConnectivityService.java
index 3dee305..54fc322 100755
--- a/service/src/com/android/server/ConnectivityService.java
+++ b/service/src/com/android/server/ConnectivityService.java
@@ -109,6 +109,7 @@
import static android.os.Process.INVALID_UID;
import static android.os.Process.VPN_UID;
import static android.system.OsConstants.ETH_P_ALL;
+import static android.system.OsConstants.F_OK;
import static android.system.OsConstants.IPPROTO_TCP;
import static android.system.OsConstants.IPPROTO_UDP;
@@ -278,6 +279,7 @@
import android.stats.connectivity.ValidatedState;
import android.sysprop.NetworkProperties;
import android.system.ErrnoException;
+import android.system.Os;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
@@ -1842,6 +1844,28 @@
new PermissionMonitor(mContext, mNetd, mBpfNetMaps, mHandlerThread);
mHandlerThread.start();
mHandler = new InternalHandler(mHandlerThread.getLooper());
+ // Temporary hack to report netbpfload result.
+ // TODO: remove in 2024-09 when netbpfload starts loading mainline bpf programs.
+ mHandler.postDelayed(() -> {
+ // Did netbpfload create the map?
+ try {
+ Os.access("/sys/fs/bpf/net_shared/map_gentle_test", F_OK);
+ } catch (ErrnoException e) {
+ Log.wtf(TAG, "netbpfload did not create map", e);
+ }
+ // Did netbpfload create the program?
+ try {
+ Os.access("/sys/fs/bpf/net_shared/prog_gentle_skfilter_accept", F_OK);
+ } catch (ErrnoException e) {
+ Log.wtf(TAG, "netbpfload did not create program", e);
+ }
+ // Did netbpfload run to completion?
+ try {
+ Os.access("/sys/fs/bpf/netd_shared/mainline_done", F_OK);
+ } catch (ErrnoException e) {
+ Log.wtf(TAG, "netbpfload did not run to completion", e);
+ }
+ }, 30_000 /* delayMillis */);
mTrackerHandler = new NetworkStateTrackerHandler(mHandlerThread.getLooper());
mConnectivityDiagnosticsHandler =
new ConnectivityDiagnosticsHandler(mHandlerThread.getLooper());