mirror of
https://github.com/espressif/openthread.git
synced 2026-08-21 09:59:52 +00:00
[link-quality] remove ENABLE_TX_ERROR_RATE_TRACKING feature flag (#4417)
OPENTHREAD_CONFIG_ENABLE_TX_ERROR_RATE_TRACKING defaults to 1 and there have not been any known users setting the feature flag to 0.
This commit is contained in:
@@ -85,9 +85,6 @@ typedef struct otLinkModeConfig
|
||||
/**
|
||||
* This structure holds diagnostic information for a neighboring Thread node
|
||||
*
|
||||
* `mFrameErrorRate` and `mMessageErrorRate` require `OPENTHREAD_CONFIG_ENABLE_TX_ERROR_RATE_TRACKING` feature to be
|
||||
* enabled.
|
||||
*
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
|
||||
@@ -53,9 +53,6 @@ extern "C" {
|
||||
/**
|
||||
* This structure holds diagnostic information for a Thread Child
|
||||
*
|
||||
* `mFrameErrorRate` and `mMessageErrorRate` require `OPENTHREAD_CONFIG_ENABLE_TX_ERROR_RATE_TRACKING` feature to be
|
||||
* enabled.
|
||||
*
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
|
||||
@@ -48,24 +48,9 @@
|
||||
#define OPENTHREAD_CONFIG_CCA_FAILURE_RATE_AVERAGING_WINDOW 512
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @def OPENTHREAD_CONFIG_ENABLE_TX_ERROR_RATE_TRACKING
|
||||
*
|
||||
* Define as 1 to enable transmission error rate tracking (for both MAC frames and IPv6 messages).
|
||||
*
|
||||
* When enabled, OpenThread will track average error rate of MAC frame transmissions and IPv6 message error rate for
|
||||
* every neighbor.
|
||||
*
|
||||
*/
|
||||
#ifndef OPENTHREAD_CONFIG_ENABLE_TX_ERROR_RATE_TRACKING
|
||||
#define OPENTHREAD_CONFIG_ENABLE_TX_ERROR_RATE_TRACKING 1
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @def OPENTHREAD_CONFIG_FRAME_TX_ERR_RATE_AVERAGING_WINDOW
|
||||
*
|
||||
* Applicable only if error rate tracking is enabled (i.e., `OPENTHREAD_CONFIG_ENABLE_TX_ERROR_RATE_TRACKING` is set).
|
||||
*
|
||||
* OpenThread's MAC implementation maintains the average error rate of MAC frame transmissions per neighbor. This
|
||||
* parameter specifies the window (in terms of number of frames/sample) over which the average error rate is maintained.
|
||||
* Practically, the average value can be considered as the percentage of failed (no ack) MAC frame transmissions over
|
||||
@@ -79,8 +64,6 @@
|
||||
/**
|
||||
* @def OPENTHREAD_CONFIG_IPV6_TX_ERR_RATE_AVERAGING_WINDOW
|
||||
*
|
||||
* Applicable only if error rate tracking is enabled (i.e., `OPENTHREAD_CONFIG_ENABLE_TX_ERROR_RATE_TRACKING` is set).
|
||||
*
|
||||
* OpenThread maintains the average error rate of IPv6 messages per neighbor. This parameter specifies the
|
||||
* window (in terms of number of messages) over which the average error rate is maintained. Practically, the average
|
||||
* value can be considered as the percentage of failed (no ack) messages over (approximately) last AVERAGING_WINDOW
|
||||
|
||||
@@ -451,4 +451,8 @@
|
||||
"OPENTHREAD_CONFIG_MAC_MAX_FRAME_RETRIES_INDIRECT was replaced by OPENTHREAD_CONFIG_MAC_DEFAULT_MAX_FRAME_RETRIES_INDIRECT."
|
||||
#endif
|
||||
|
||||
#ifdef OPENTHREAD_CONFIG_ENABLE_TX_ERROR_RATE_TRACKING
|
||||
#error "OPENTHREAD_CONFIG_ENABLE_TX_ERROR_RATE_TRACKING was removed."
|
||||
#endif
|
||||
|
||||
#endif // OPENTHREAD_CORE_CONFIG_CHECK_H_
|
||||
|
||||
@@ -1101,8 +1101,6 @@ void Mac::RecordFrameTransmitStatus(const TxFrame &aFrame,
|
||||
aFrame.GetDstAddr(dstAddr);
|
||||
neighbor = Get<Mle::MleRouter>().GetNeighbor(dstAddr);
|
||||
|
||||
#if OPENTHREAD_CONFIG_ENABLE_TX_ERROR_RATE_TRACKING
|
||||
|
||||
// Record frame transmission success/failure state (for a neighbor).
|
||||
|
||||
if ((neighbor != NULL) && ackRequested)
|
||||
@@ -1129,8 +1127,6 @@ void Mac::RecordFrameTransmitStatus(const TxFrame &aFrame,
|
||||
}
|
||||
}
|
||||
|
||||
#endif // OPENTHREAD_CONFIG_ENABLE_TX_ERROR_RATE_TRACKING
|
||||
|
||||
// Log frame transmission failure.
|
||||
|
||||
if (aError != OT_ERROR_NONE)
|
||||
|
||||
@@ -146,10 +146,8 @@ void LinkQualityInfo::Clear(void)
|
||||
SetLinkQuality(0);
|
||||
mLastRss = OT_RADIO_RSSI_INVALID;
|
||||
|
||||
#if OPENTHREAD_CONFIG_ENABLE_TX_ERROR_RATE_TRACKING
|
||||
mFrameErrorRate.Reset();
|
||||
mMessageErrorRate.Reset();
|
||||
#endif
|
||||
}
|
||||
|
||||
void LinkQualityInfo::AddRss(int8_t aNoiseFloor, int8_t aRss)
|
||||
|
||||
@@ -306,8 +306,6 @@ public:
|
||||
*/
|
||||
int8_t GetLastRss(void) const { return mLastRss; }
|
||||
|
||||
#if OPENTHREAD_CONFIG_ENABLE_TX_ERROR_RATE_TRACKING
|
||||
|
||||
/**
|
||||
* This method adds a MAC frame transmission status (success/failure) and updates the frame tx error rate.
|
||||
*
|
||||
@@ -358,8 +356,6 @@ public:
|
||||
*/
|
||||
uint16_t GetMessageErrorRate(void) const { return mMessageErrorRate.GetFailureRate(); }
|
||||
|
||||
#endif // OPENTHREAD_CONFIG_ENABLE_TX_ERROR_RATE_TRACKING
|
||||
|
||||
/**
|
||||
* This method converts a received signal strength value to a link margin value.
|
||||
*
|
||||
@@ -436,10 +432,9 @@ private:
|
||||
RssAverager mRssAverager;
|
||||
uint8_t mLinkQuality;
|
||||
int8_t mLastRss;
|
||||
#if OPENTHREAD_CONFIG_ENABLE_TX_ERROR_RATE_TRACKING
|
||||
|
||||
SuccessRateTracker mFrameErrorRate;
|
||||
SuccessRateTracker mMessageErrorRate;
|
||||
#endif
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -3660,17 +3660,13 @@ otError MleRouter::GetChildInfo(Child &aChild, otChildInfo &aChildInfo)
|
||||
aChildInfo.mLinkQualityIn = aChild.GetLinkInfo().GetLinkQuality();
|
||||
aChildInfo.mAverageRssi = aChild.GetLinkInfo().GetAverageRss();
|
||||
aChildInfo.mLastRssi = aChild.GetLinkInfo().GetLastRss();
|
||||
|
||||
#if OPENTHREAD_CONFIG_ENABLE_TX_ERROR_RATE_TRACKING
|
||||
aChildInfo.mFrameErrorRate = aChild.GetLinkInfo().GetFrameErrorRate();
|
||||
aChildInfo.mMessageErrorRate = aChild.GetLinkInfo().GetMessageErrorRate();
|
||||
#endif
|
||||
|
||||
aChildInfo.mRxOnWhenIdle = aChild.IsRxOnWhenIdle();
|
||||
aChildInfo.mSecureDataRequest = aChild.IsSecureDataRequest();
|
||||
aChildInfo.mFullThreadDevice = aChild.IsFullThreadDevice();
|
||||
aChildInfo.mFullNetworkData = aChild.IsFullNetworkData();
|
||||
aChildInfo.mIsStateRestoring = aChild.IsStateRestoring();
|
||||
aChildInfo.mFrameErrorRate = aChild.GetLinkInfo().GetFrameErrorRate();
|
||||
aChildInfo.mMessageErrorRate = aChild.GetLinkInfo().GetMessageErrorRate();
|
||||
aChildInfo.mRxOnWhenIdle = aChild.IsRxOnWhenIdle();
|
||||
aChildInfo.mSecureDataRequest = aChild.IsSecureDataRequest();
|
||||
aChildInfo.mFullThreadDevice = aChild.IsFullThreadDevice();
|
||||
aChildInfo.mFullNetworkData = aChild.IsFullNetworkData();
|
||||
aChildInfo.mIsStateRestoring = aChild.IsStateRestoring();
|
||||
|
||||
exit:
|
||||
return error;
|
||||
@@ -3678,18 +3674,16 @@ exit:
|
||||
|
||||
void MleRouter::GetNeighborInfo(Neighbor &aNeighbor, otNeighborInfo &aNeighInfo)
|
||||
{
|
||||
aNeighInfo.mExtAddress = aNeighbor.GetExtAddress();
|
||||
aNeighInfo.mAge = Time::MsecToSec(TimerMilli::GetNow() - aNeighbor.GetLastHeard());
|
||||
aNeighInfo.mRloc16 = aNeighbor.GetRloc16();
|
||||
aNeighInfo.mLinkFrameCounter = aNeighbor.GetLinkFrameCounter();
|
||||
aNeighInfo.mMleFrameCounter = aNeighbor.GetMleFrameCounter();
|
||||
aNeighInfo.mLinkQualityIn = aNeighbor.GetLinkInfo().GetLinkQuality();
|
||||
aNeighInfo.mAverageRssi = aNeighbor.GetLinkInfo().GetAverageRss();
|
||||
aNeighInfo.mLastRssi = aNeighbor.GetLinkInfo().GetLastRss();
|
||||
#if OPENTHREAD_CONFIG_ENABLE_TX_ERROR_RATE_TRACKING
|
||||
aNeighInfo.mFrameErrorRate = aNeighbor.GetLinkInfo().GetFrameErrorRate();
|
||||
aNeighInfo.mMessageErrorRate = aNeighbor.GetLinkInfo().GetMessageErrorRate();
|
||||
#endif
|
||||
aNeighInfo.mExtAddress = aNeighbor.GetExtAddress();
|
||||
aNeighInfo.mAge = Time::MsecToSec(TimerMilli::GetNow() - aNeighbor.GetLastHeard());
|
||||
aNeighInfo.mRloc16 = aNeighbor.GetRloc16();
|
||||
aNeighInfo.mLinkFrameCounter = aNeighbor.GetLinkFrameCounter();
|
||||
aNeighInfo.mMleFrameCounter = aNeighbor.GetMleFrameCounter();
|
||||
aNeighInfo.mLinkQualityIn = aNeighbor.GetLinkInfo().GetLinkQuality();
|
||||
aNeighInfo.mAverageRssi = aNeighbor.GetLinkInfo().GetAverageRss();
|
||||
aNeighInfo.mLastRssi = aNeighbor.GetLinkInfo().GetLastRss();
|
||||
aNeighInfo.mFrameErrorRate = aNeighbor.GetLinkInfo().GetFrameErrorRate();
|
||||
aNeighInfo.mMessageErrorRate = aNeighbor.GetLinkInfo().GetMessageErrorRate();
|
||||
aNeighInfo.mRxOnWhenIdle = aNeighbor.IsRxOnWhenIdle();
|
||||
aNeighInfo.mSecureDataRequest = aNeighbor.IsSecureDataRequest();
|
||||
aNeighInfo.mFullThreadDevice = aNeighbor.IsFullThreadDevice();
|
||||
|
||||
@@ -1809,9 +1809,7 @@ template <> otError NcpBase::HandlePropertyGet<SPINEL_PROP_CAPS>(void)
|
||||
SuccessOrExit(error = mEncoder.WriteUintPacked(SPINEL_CAP_TIME_SYNC));
|
||||
#endif
|
||||
|
||||
#if OPENTHREAD_CONFIG_ENABLE_TX_ERROR_RATE_TRACKING
|
||||
SuccessOrExit(error = mEncoder.WriteUintPacked(SPINEL_CAP_ERROR_RATE_TRACKING));
|
||||
#endif
|
||||
|
||||
#if OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE
|
||||
SuccessOrExit(error = mEncoder.WriteUintPacked(SPINEL_CAP_OOB_STEERING_DATA));
|
||||
|
||||
@@ -298,10 +298,8 @@ NcpBase::PropertyHandler NcpBase::FindGetPropertyHandler(spinel_prop_key_t aKey)
|
||||
#if OPENTHREAD_FTD
|
||||
{SPINEL_PROP_THREAD_CHILD_TABLE_ADDRESSES, &NcpBase::HandlePropertyGet<SPINEL_PROP_THREAD_CHILD_TABLE_ADDRESSES>},
|
||||
#endif
|
||||
#if OPENTHREAD_CONFIG_ENABLE_TX_ERROR_RATE_TRACKING
|
||||
{SPINEL_PROP_THREAD_NEIGHBOR_TABLE_ERROR_RATES,
|
||||
&NcpBase::HandlePropertyGet<SPINEL_PROP_THREAD_NEIGHBOR_TABLE_ERROR_RATES>},
|
||||
#endif
|
||||
#if OPENTHREAD_FTD
|
||||
{SPINEL_PROP_THREAD_ADDRESS_CACHE_TABLE, &NcpBase::HandlePropertyGet<SPINEL_PROP_THREAD_ADDRESS_CACHE_TABLE>},
|
||||
{SPINEL_PROP_THREAD_NEW_DATASET, &NcpBase::HandlePropertyGet<SPINEL_PROP_THREAD_NEW_DATASET>},
|
||||
|
||||
@@ -610,8 +610,6 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
#if OPENTHREAD_CONFIG_ENABLE_TX_ERROR_RATE_TRACKING
|
||||
|
||||
template <> otError NcpBase::HandlePropertyGet<SPINEL_PROP_THREAD_NEIGHBOR_TABLE_ERROR_RATES>(void)
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
@@ -636,8 +634,6 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
#endif // OPENTHREAD_CONFIG_ENABLE_TX_ERROR_RATE_TRACKING
|
||||
|
||||
template <> otError NcpBase::HandlePropertyGet<SPINEL_PROP_THREAD_ASSISTING_PORTS>(void)
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
|
||||
Reference in New Issue
Block a user