[mle] define constants (C++ style) for OT configs used in MLE (#8602)

This commit is contained in:
Abtin Keshavarzian
2023-01-03 20:56:22 -08:00
committed by GitHub
parent e7493499ee
commit 3886436e46
4 changed files with 22 additions and 15 deletions
+5 -7
View File
@@ -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<KeyManager>().GetCurrentKeySequence());
networkInfo.SetMleFrameCounter(Get<KeyManager>().GetMleFrameCounter() +
OPENTHREAD_CONFIG_STORE_FRAME_COUNTER_AHEAD);
networkInfo.SetMacFrameCounter(Get<KeyManager>().GetMaximumMacFrameCounter() +
OPENTHREAD_CONFIG_STORE_FRAME_COUNTER_AHEAD);
networkInfo.SetMleFrameCounter(Get<KeyManager>().GetMleFrameCounter() + kStoreFrameCounterAhead);
networkInfo.SetMacFrameCounter(Get<KeyManager>().GetMaximumMacFrameCounter() + kStoreFrameCounterAhead);
networkInfo.SetDeviceMode(mDeviceMode.Get());
SuccessOrExit(error = Get<Settings>().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);
}
}
+4
View File
@@ -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,
+8 -8
View File
@@ -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<Mac::Mac>().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<Mac::Mac>().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
+5
View File
@@ -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);