Use libbpf_android to wait for bpf.

Since it would be annoying to copy these four lines of waiting logic
everywhere.

Bug: 140330870
Test: boot & use network
Change-Id: I68f68d889dfc4e165b7214e7c17dcc86a6b02ea3
diff --git a/server/main.cpp b/server/main.cpp
index b3408be..0a86b0a 100644
--- a/server/main.cpp
+++ b/server/main.cpp
@@ -32,9 +32,9 @@
 
 #include "log/log.h"
 
-#include <android-base/properties.h>
 #include <binder/IPCThreadState.h>
 #include <binder/IServiceManager.h>
+#include <libbpf_android.h>
 #include <netdutils/Stopwatch.h>
 
 #include "Controllers.h"
@@ -119,10 +119,7 @@
     }
 
     // Make sure BPF programs are loaded before doing anything
-    while (!android::base::WaitForProperty("bpf.progs_loaded", "1",
-           std::chrono::seconds(5))) {
-        ALOGD("netd waited 5s for bpf.progs_loaded, still waiting...");
-    }
+    android::bpf::waitForProgsLoaded();
 
     NetlinkManager *nm = NetlinkManager::Instance();
     if (nm == nullptr) {