From 3886436e4602f91b8bdc1c29a7c623b4c72b5958 Mon Sep 17 00:00:00 2001 From: Abtin Keshavarzian Date: Tue, 3 Jan 2023 20:56:22 -0800 Subject: [PATCH] [mle] define constants (C++ style) for OT configs used in MLE (#8602) --- src/core/thread/mle.cpp | 12 +++++------- src/core/thread/mle.hpp | 4 ++++ src/core/thread/mle_router.cpp | 16 ++++++++-------- src/core/thread/mle_router.hpp | 5 +++++ 4 files changed, 22 insertions(+), 15 deletions(-) diff --git a/src/core/thread/mle.cpp b/src/core/thread/mle.cpp index ac7c300a1..5674bffb6 100644 --- a/src/core/thread/mle.cpp +++ b/src/core/thread/mle.cpp @@ -95,7 +95,7 @@ Mle::Mle(Instance &aInstance) , mSocket(aInstance) , mTimeout(kMleEndDeviceTimeout) #if OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE - , mCslTimeout(OPENTHREAD_CONFIG_CSL_TIMEOUT) + , mCslTimeout(kDefaultCslTimeout) #endif , mRloc16(Mac::kShortAddrInvalid) , mPreviousParentRloc(Mac::kShortAddrInvalid) @@ -489,10 +489,8 @@ Error Mle::Store(void) } networkInfo.SetKeySequence(Get().GetCurrentKeySequence()); - networkInfo.SetMleFrameCounter(Get().GetMleFrameCounter() + - OPENTHREAD_CONFIG_STORE_FRAME_COUNTER_AHEAD); - networkInfo.SetMacFrameCounter(Get().GetMaximumMacFrameCounter() + - OPENTHREAD_CONFIG_STORE_FRAME_COUNTER_AHEAD); + networkInfo.SetMleFrameCounter(Get().GetMleFrameCounter() + kStoreFrameCounterAhead); + networkInfo.SetMacFrameCounter(Get().GetMaximumMacFrameCounter() + kStoreFrameCounterAhead); networkInfo.SetDeviceMode(mDeviceMode.Get()); SuccessOrExit(error = Get().Save(networkInfo)); @@ -4646,7 +4644,7 @@ Error Mle::TxMessage::AppendAddressRegistrationTlv(AddressRegistrationMode aMode length += entry.GetLength(); counter++; // only continue to append if there is available entry. - VerifyOrExit(counter < OPENTHREAD_CONFIG_MLE_IP_ADDRS_TO_REGISTER); + VerifyOrExit(counter < kMaxIpAddressesToRegister); } // Append external multicast addresses. For sleepy end device, @@ -4678,7 +4676,7 @@ Error Mle::TxMessage::AppendAddressRegistrationTlv(AddressRegistrationMode aMode counter++; // only continue to append if there is available entry. - VerifyOrExit(counter < OPENTHREAD_CONFIG_MLE_IP_ADDRS_TO_REGISTER); + VerifyOrExit(counter < kMaxIpAddressesToRegister); } } diff --git a/src/core/thread/mle.hpp b/src/core/thread/mle.hpp index e8611dd58..f5a246274 100644 --- a/src/core/thread/mle.hpp +++ b/src/core/thread/mle.hpp @@ -1761,6 +1761,10 @@ private: static constexpr uint32_t kDetachGracefullyTimeout = 1000; + static constexpr uint32_t kStoreFrameCounterAhead = OPENTHREAD_CONFIG_STORE_FRAME_COUNTER_AHEAD; + static constexpr uint8_t kMaxIpAddressesToRegister = OPENTHREAD_CONFIG_MLE_IP_ADDRS_TO_REGISTER; + static constexpr uint32_t kDefaultCslTimeout = OPENTHREAD_CONFIG_CSL_TIMEOUT; + enum StartMode : uint8_t // Used in `Start()`. { kNormalAttach, diff --git a/src/core/thread/mle_router.cpp b/src/core/thread/mle_router.cpp index 324501109..7af04cb16 100644 --- a/src/core/thread/mle_router.cpp +++ b/src/core/thread/mle_router.cpp @@ -1184,7 +1184,7 @@ Error MleRouter::HandleAdvertisement(RxInfo &aRxInfo) LogNote("Different partition (peer:%lu, local:%lu)", ToUlong(partitionId), ToUlong(mLeaderData.GetPartitionId())); - VerifyOrExit(linkMargin >= OPENTHREAD_CONFIG_MLE_PARTITION_MERGE_MARGIN_MIN, error = kErrorLinkMarginLow); + VerifyOrExit(linkMargin >= kPartitionMergeMinMargin, error = kErrorLinkMarginLow); if (routeTlv.IsValid() && IsFullThreadDevice() && (mPreviousPartitionIdTimeout > 0) && (partitionId == mPreviousPartitionId)) @@ -1341,7 +1341,7 @@ Error MleRouter::HandleAdvertisement(RxInfo &aRxInfo) VerifyOrExit(router != nullptr); if (IsFullThreadDevice() && !router->IsStateValid() && !router->IsStateLinkRequest() && - (mRouterTable.GetNeighborCount() < OPENTHREAD_CONFIG_MLE_CHILD_ROUTER_LINKS)) + (mRouterTable.GetNeighborCount() < kChildRouterLinks)) { router->SetExtAddress(extAddr); router->GetLinkInfo().Clear(); @@ -1378,7 +1378,7 @@ Error MleRouter::HandleAdvertisement(RxInfo &aRxInfo) // Send unicast link request if no link to router and no unicast/multicast link request in progress if (!router->IsStateValid() && !router->IsStateLinkRequest() && (mChallengeTimeout == 0) && - (linkMargin >= OPENTHREAD_CONFIG_MLE_LINK_REQUEST_MARGIN_MIN)) + (linkMargin >= kLinkRequestMinMargin)) { router->SetExtAddress(extAddr); router->GetLinkInfo().Clear(); @@ -1670,7 +1670,7 @@ bool MleRouter::HasNeighborWithGoodLinkQuality(void) const linkMargin = Get().ComputeLinkMargin(mParent.GetLinkInfo().GetLastRss()); - if (linkMargin >= OPENTHREAD_CONFIG_MLE_LINK_REQUEST_MARGIN_MIN) + if (linkMargin >= kLinkRequestMinMargin) { ExitNow(); } @@ -1684,7 +1684,7 @@ bool MleRouter::HasNeighborWithGoodLinkQuality(void) const linkMargin = Get().ComputeLinkMargin(router.GetLinkInfo().GetLastRss()); - if (linkMargin >= OPENTHREAD_CONFIG_MLE_LINK_REQUEST_MARGIN_MIN) + if (linkMargin >= kLinkRequestMinMargin) { ExitNow(); } @@ -1991,7 +1991,7 @@ exit: uint8_t MleRouter::GetMaxChildIpAddresses(void) const { - uint8_t num = OPENTHREAD_CONFIG_MLE_IP_ADDRS_PER_CHILD; + uint8_t num = kMaxChildIpAddresses; #if OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE if (mMaxChildIpAddresses != 0) @@ -2008,7 +2008,7 @@ Error MleRouter::SetMaxChildIpAddresses(uint8_t aMaxIpAddresses) { Error error = kErrorNone; - VerifyOrExit(aMaxIpAddresses <= OPENTHREAD_CONFIG_MLE_IP_ADDRS_PER_CHILD, error = kErrorInvalidArgs); + VerifyOrExit(aMaxIpAddresses <= kMaxChildIpAddresses, error = kErrorInvalidArgs); mMaxChildIpAddresses = aMaxIpAddresses; @@ -2033,7 +2033,7 @@ Error MleRouter::UpdateChildAddresses(const Message &aMessage, uint16_t aOffset, #endif #if OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE - Ip6::Address oldMlrRegisteredAddresses[OPENTHREAD_CONFIG_MLE_IP_ADDRS_PER_CHILD - 1]; + Ip6::Address oldMlrRegisteredAddresses[kMaxChildIpAddresses - 1]; uint16_t oldMlrRegisteredAddressNum = 0; #endif diff --git a/src/core/thread/mle_router.hpp b/src/core/thread/mle_router.hpp index 8d9853f10..b80721977 100644 --- a/src/core/thread/mle_router.hpp +++ b/src/core/thread/mle_router.hpp @@ -563,6 +563,11 @@ private: // Network Data). static constexpr uint8_t kRouterUpgradeBorderRouterRequestThreshold = 2; + static constexpr uint8_t kLinkRequestMinMargin = OPENTHREAD_CONFIG_MLE_LINK_REQUEST_MARGIN_MIN; + static constexpr uint8_t kPartitionMergeMinMargin = OPENTHREAD_CONFIG_MLE_PARTITION_MERGE_MARGIN_MIN; + static constexpr uint8_t kChildRouterLinks = OPENTHREAD_CONFIG_MLE_CHILD_ROUTER_LINKS; + static constexpr uint8_t kMaxChildIpAddresses = OPENTHREAD_CONFIG_MLE_IP_ADDRS_PER_CHILD; + void HandleDetachStart(void); void HandleChildStart(AttachMode aMode); void HandleLinkRequest(RxInfo &aRxInfo);