[mesh-forwarder] add method ResetCounters to clear IP counter (#4286)

This commit also adds a public API `otThreadResetIp6Counters()`.
This commit is contained in:
Abtin Keshavarzian
2019-10-31 15:23:22 -07:00
committed by Jonathan Hui
parent 795cd14f8c
commit bf03f40bd7
4 changed files with 22 additions and 4 deletions
+8
View File
@@ -730,6 +730,14 @@ otError otThreadSendDiagnosticReset(otInstance * aInstance,
*/
const otIpCounters *otThreadGetIp6Counters(otInstance *aInstance);
/**
* Reset the IPv6 counters.
*
* @param[in] aInstance A pointer to an OpenThread instance.
*
*/
void otThreadResetIp6Counters(otInstance *aInstance);
/**
* Get the Thread MLE counters.
*
+7
View File
@@ -454,6 +454,13 @@ const otIpCounters *otThreadGetIp6Counters(otInstance *aInstance)
return &instance.Get<MeshForwarder>().GetCounters();
}
void otThreadResetIp6Counters(otInstance *aInstance)
{
Instance &instance = *static_cast<Instance *>(aInstance);
instance.Get<MeshForwarder>().ResetCounters();
}
const otMleCounters *otThreadGetMleCounters(otInstance *aInstance)
{
Instance &instance = *static_cast<Instance *>(aInstance);
+1 -4
View File
@@ -78,10 +78,7 @@ MeshForwarder::MeshForwarder(Instance &aInstance)
{
mFragTag = Random::NonCrypto::GetUint16();
mIpCounters.mTxSuccess = 0;
mIpCounters.mRxSuccess = 0;
mIpCounters.mTxFailure = 0;
mIpCounters.mRxFailure = 0;
ResetCounters();
#if OPENTHREAD_FTD
memset(mFragmentEntries, 0, sizeof(mFragmentEntries));
+6
View File
@@ -297,6 +297,12 @@ public:
*/
const otIpCounters &GetCounters(void) const { return mIpCounters; }
/**
* This method resets the IP level counters.
*
*/
void ResetCounters(void) { memset(&mIpCounters, 0, sizeof(mIpCounters)); }
#if OPENTHREAD_FTD
/**
* This method returns a reference to the resolving queue.