mirror of
https://github.com/espressif/openthread.git
synced 2026-07-29 07:07:47 +00:00
[mle] define constants (C++ style) for OT configs used in MLE (#8602)
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user