From cbb51b01ceca1cd99f72d8ed6dbfc81566d4185a Mon Sep 17 00:00:00 2001 From: Jonathan Hui Date: Thu, 26 May 2022 09:07:41 -0700 Subject: [PATCH] [neighbor] change `IsThreadVersion1p2()` to include higher versions (#7755) --- src/core/thread/link_metrics.cpp | 8 ++++---- src/core/thread/topology.hpp | 12 ++++++------ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/core/thread/link_metrics.cpp b/src/core/thread/link_metrics.cpp index c4265f605..c9c917bdd 100644 --- a/src/core/thread/link_metrics.cpp +++ b/src/core/thread/link_metrics.cpp @@ -117,7 +117,7 @@ Error LinkMetrics::Query(const Ip6::Address &aDestination, uint8_t aSeriesId, co Neighbor * neighbor = GetNeighborFromLinkLocalAddr(aDestination); VerifyOrExit(neighbor != nullptr, error = kErrorUnknownNeighbor); - VerifyOrExit(neighbor->IsThreadVersion1p2(), error = kErrorNotCapable); + VerifyOrExit(neighbor->IsThreadVersion1p2OrHigher(), error = kErrorNotCapable); if (aMetrics != nullptr) { @@ -150,7 +150,7 @@ Error LinkMetrics::SendMgmtRequestForwardTrackingSeries(const Ip6::Address & Neighbor * neighbor = GetNeighborFromLinkLocalAddr(aDestination); VerifyOrExit(neighbor != nullptr, error = kErrorUnknownNeighbor); - VerifyOrExit(neighbor->IsThreadVersion1p2(), error = kErrorNotCapable); + VerifyOrExit(neighbor->IsThreadVersion1p2OrHigher(), error = kErrorNotCapable); // Directly transform `aMetrics` into TypeIdFlags and put them into `subTlvs` if (aMetrics != nullptr) @@ -187,7 +187,7 @@ Error LinkMetrics::SendMgmtRequestEnhAckProbing(const Ip6::Address &aDestination Neighbor * neighbor = GetNeighborFromLinkLocalAddr(aDestination); VerifyOrExit(neighbor != nullptr, error = kErrorUnknownNeighbor); - VerifyOrExit(neighbor->IsThreadVersion1p2(), error = kErrorNotCapable); + VerifyOrExit(neighbor->IsThreadVersion1p2OrHigher(), error = kErrorNotCapable); if (aEnhAckFlags == kEnhAckClear) { @@ -227,7 +227,7 @@ Error LinkMetrics::SendLinkProbe(const Ip6::Address &aDestination, uint8_t aSeri Neighbor *neighbor = GetNeighborFromLinkLocalAddr(aDestination); VerifyOrExit(neighbor != nullptr, error = kErrorUnknownNeighbor); - VerifyOrExit(neighbor->IsThreadVersion1p2(), error = kErrorNotCapable); + VerifyOrExit(neighbor->IsThreadVersion1p2OrHigher(), error = kErrorNotCapable); VerifyOrExit(aLength <= LinkMetrics::kLinkProbeMaxLen && aSeriesId != kQueryIdSingleProbe && aSeriesId != kSeriesIdAllSeries, diff --git a/src/core/thread/topology.hpp b/src/core/thread/topology.hpp index 5d476825b..778356564 100644 --- a/src/core/thread/topology.hpp +++ b/src/core/thread/topology.hpp @@ -552,20 +552,20 @@ public: #endif // OPENTHREAD_CONFIG_MULTI_RADIO /** - * This method indicates whether or not it is a valid Thread 1.1 neighbor. + * This method indicates whether or not it is Thread 1.1. * - * @returns TRUE if it is a valid Thread 1.1 neighbor, FALSE otherwise. + * @returns TRUE if neighbors is Thread 1.1, FALSE otherwise. * */ bool IsThreadVersion1p1(void) const { return mState != kStateInvalid && mVersion == OT_THREAD_VERSION_1_1; } /** - * This method indicates whether or not it is a valid Thread 1.2 neighbor. + * This method indicates whether or not neighbor is Thread 1.2 or higher.. * - * @returns TRUE if it is a valid Thread 1.2 neighbor, FALSE otherwise. + * @returns TRUE if neighbor is Thread 1.2 or higher, FALSE otherwise. * */ - bool IsThreadVersion1p2(void) const { return mState != kStateInvalid && mVersion == OT_THREAD_VERSION_1_2; } + bool IsThreadVersion1p2OrHigher(void) const { return mState != kStateInvalid && mVersion >= OT_THREAD_VERSION_1_2; } /** * This method indicates whether Thread version supports CSL. @@ -573,7 +573,7 @@ public: * @returns TRUE if CSL is supported, FALSE otherwise. * */ - bool IsThreadVersionCslCapable(void) const { return IsThreadVersion1p2() && !IsRxOnWhenIdle(); } + bool IsThreadVersionCslCapable(void) const { return IsThreadVersion1p2OrHigher() && !IsRxOnWhenIdle(); } /** * This method indicates whether Enhanced Keep-Alive is supported or not.