summaryrefslogtreecommitdiff
path: root/server/NetworkController.cpp
diff options
context:
space:
mode:
authorErik Kline <ek@google.com>2016-03-15 16:33:48 +0900
committerErik Kline <ek@google.com>2016-03-22 13:09:10 +0900
commit2d3a163433c435ff053402ae8965f8602c7ac6da (patch)
tree2fac448b0556af14f1f6ba90d1cdc81ccfaf2dc9 /server/NetworkController.cpp
parent680d765b5f04c41ca81882af230d136ca945759c (diff)
Add initial dump() method to NetdNativeService
This is called by "dumpsys netd". Bug: 27239233 Change-Id: I27fb308f8067243ff241a6f8fd6a83f406087d2a
Diffstat (limited to 'server/NetworkController.cpp')
-rw-r--r--server/NetworkController.cpp34
1 files changed, 29 insertions, 5 deletions
diff --git a/server/NetworkController.cpp b/server/NetworkController.cpp
index 7890fd2e..8ae03242 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::denyProtect(const std::vector<uid_t>& uids) {
}
}
+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);