Add binder call tetherOffloadGetAndClearStats
Provide binder calls for getting tethering statistics and clear the
stats for the given upstream.
Bug: 150736748
Test: None
Change-Id: I7bb635ee39d658961cd9515cc37e23bc3f0cd38f
Merged-In: I7bb635ee39d658961cd9515cc37e23bc3f0cd38f
diff --git a/server/NetdNativeService.cpp b/server/NetdNativeService.cpp
index c580670..3bf879b 100644
--- a/server/NetdNativeService.cpp
+++ b/server/NetdNativeService.cpp
@@ -1301,5 +1301,16 @@
return statusFromErrcode(res);
}
+binder::Status NetdNativeService::tetherOffloadGetAndClearStats(
+ int ifIndex, android::net::TetherStatsParcel* tetherStats) {
+ NETD_LOCKING_RPC(gCtls->tetherCtrl.lock, PERM_NETWORK_STACK, PERM_MAINLINE_NETWORK_STACK);
+ const auto& stats = gCtls->tetherCtrl.getAndClearTetherOffloadStats(ifIndex);
+ if (!stats.ok()) {
+ return asBinderStatus(stats);
+ }
+ *tetherStats = toTetherStatsParcel(stats.value());
+ return binder::Status::ok();
+}
+
} // namespace net
} // namespace android