Add initial dump() method to NetdNativeService
This is called by "dumpsys netd".
Bug: 27239233
Change-Id: I27fb308f8067243ff241a6f8fd6a83f406087d2a
diff --git a/server/NetworkController.cpp b/server/NetworkController.cpp
index 7890fd2..8ae0324 100644
--- a/server/NetworkController.cpp
+++ b/server/NetworkController.cpp
@@ -32,18 +32,20 @@
#include "NetworkController.h"
+#define LOG_TAG "Netd"
+#include "log/log.h"
+
+#include "cutils/misc.h"
+#include "resolv_netid.h"
+
#include "DummyNetwork.h"
+#include "DumpWriter.h"
#include "Fwmark.h"
#include "LocalNetwork.h"
#include "PhysicalNetwork.h"
#include "RouteController.h"
#include "VirtualNetwork.h"
-#include "cutils/misc.h"
-#define LOG_TAG "Netd"
-#include "log/log.h"
-#include "resolv_netid.h"
-
namespace {
// Keep these in sync with ConnectivityService.java.
@@ -508,6 +510,28 @@
}
}
+void NetworkController::dump(DumpWriter& dw) {
+ android::RWLock::AutoRLock lock(mRWLock);
+
+ dw.incIndent();
+ dw.println("NetworkController");
+
+ dw.incIndent();
+ dw.println("Default network: %u", mDefaultNetId);
+
+ dw.blankline();
+ dw.println("Networks:");
+ dw.incIndent();
+ for (const auto& i : mNetworks) {
+ dw.println(i.second->toString().c_str());
+ }
+ dw.decIndent();
+
+ dw.decIndent();
+
+ dw.decIndent();
+}
+
bool NetworkController::isValidNetwork(unsigned netId) const {
android::RWLock::AutoRLock lock(mRWLock);
return getNetworkLocked(netId);