Skip to content

Commit 545a83e

Browse files
authored
[mlr] remove CheckInvariants() method (openthread#13082)
This commit removes the `CheckInvariants()` method and all its calls from `Mlr::Manager`. The `CheckInvariants()` method verified internal state consistency by checking the `kStateRegistering` status of multicast addresses against variables like `mPending` and `mSendDelay`. As the MLR module is being prepared for upcoming structural updates, including changes to how address states and delays are tracked, these specific invariant checks are no longer applicable. Removing them clears the way for the planned redesign of the MLR state machine.
1 parent 294eb9a commit 545a83e

2 files changed

Lines changed: 0 additions & 44 deletions

File tree

src/core/thread/mlr_manager.cpp

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,6 @@ void Manager::UpdateLocalSubscriptions(void)
102102
}
103103
#endif
104104

105-
CheckInvariants();
106105
ScheduleSend(0);
107106
}
108107

@@ -174,7 +173,6 @@ void Manager::UpdateProxiedSubscriptions(Child &aChild, const ChildAddressArray
174173

175174
exit:
176175
LogMulticastAddresses();
177-
CheckInvariants();
178176

179177
if (aChild.HasAnyMlrToRegisterAddress())
180178
{
@@ -317,7 +315,6 @@ void Manager::Send(void)
317315
}
318316

319317
LogMulticastAddresses();
320-
CheckInvariants();
321318
}
322319

323320
#if OPENTHREAD_FTD && OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE && OPENTHREAD_CONFIG_COMMISSIONER_ENABLE
@@ -603,7 +600,6 @@ void Manager::Finish(bool aSuccess, const AddressArray &aFailedAddresses)
603600
#endif
604601

605602
LogMulticastAddresses();
606-
CheckInvariants();
607603
}
608604

609605
void Manager::HandleTimeTick(void)
@@ -626,7 +622,6 @@ void Manager::Reregister(void)
626622
LogInfo("MLR Reregister!");
627623

628624
SetMulticastAddressState(kStateRegistered, kStateToRegister);
629-
CheckInvariants();
630625

631626
ScheduleSend(0);
632627

@@ -743,43 +738,6 @@ Error Manager::AddressArray::AddUnique(const Ip6::Address &aAddress)
743738
return error;
744739
}
745740

746-
void Manager::CheckInvariants(void) const
747-
{
748-
#if OPENTHREAD_EXAMPLES_SIMULATION && OPENTHREAD_CONFIG_ASSERT_ENABLE
749-
uint16_t registeringNum = 0;
750-
751-
OT_UNUSED_VARIABLE(registeringNum);
752-
753-
OT_ASSERT(!mPending || mSendDelay == 0);
754-
755-
#if OPENTHREAD_CONFIG_MLR_ENABLE
756-
for (Ip6::Netif::MulticastAddress &addr : Get<ThreadNetif>().GetMulticastAddresses())
757-
{
758-
if (addr.Matches(kStateRegistering))
759-
{
760-
registeringNum++;
761-
}
762-
}
763-
#endif
764-
#if OPENTHREAD_FTD && OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE
765-
for (const Child &child : Get<ChildTable>().Iterate(Child::kInStateValid))
766-
{
767-
for (const Child::Ip6AddrEntry &addrEntry : child.GetIp6Addresses())
768-
{
769-
if (!addrEntry.IsMulticastLargerThanRealmLocal())
770-
{
771-
continue;
772-
}
773-
774-
registeringNum += (addrEntry.GetMlrState(child) == kStateRegistering);
775-
}
776-
}
777-
#endif
778-
779-
OT_ASSERT(registeringNum == 0 || mPending);
780-
#endif // OPENTHREAD_EXAMPLES_SIMULATION
781-
}
782-
783741
} // namespace Mlr
784742
} // namespace ot
785743

src/core/thread/mlr_manager.hpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,9 +201,7 @@ class Manager : public InstanceLocator, private NonCopyable
201201
void ScheduleNextRegistration(RegistrationRequest aRequest);
202202
void Reregister(void);
203203
void HandleTimeTick(void);
204-
205204
void LogMulticastAddresses(void);
206-
void CheckInvariants(void) const;
207205

208206
#if (OPENTHREAD_FTD && OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE) && OPENTHREAD_CONFIG_COMMISSIONER_ENABLE
209207
Callback<RegisterCallback> mRegisterCallback;

0 commit comments

Comments
 (0)