mirror of
https://github.com/espressif/openthread.git
synced 2026-10-02 22:07:36 +00:00
[mle] avoid sending challenge when child is valid (#2129)
This commit optimizes the parent-initiated MLE Child Update Request when the child is already valid by omitting the Challenge and TLV Request TLVs.
This commit is contained in:
@@ -2839,11 +2839,13 @@ otError MleRouter::SendChildUpdateRequest(Child *aChild)
|
||||
SuccessOrExit(error = AppendNetworkData(*message, !aChild->IsFullNetworkData()));
|
||||
SuccessOrExit(error = AppendActiveTimestamp(*message));
|
||||
SuccessOrExit(error = AppendPendingTimestamp(*message));
|
||||
SuccessOrExit(error = AppendTlvRequest(*message, tlvs, sizeof(tlvs)));
|
||||
|
||||
aChild->GenerateChallenge();
|
||||
|
||||
SuccessOrExit(error = AppendChallenge(*message, aChild->GetChallenge(), aChild->GetChallengeSize()));
|
||||
if (aChild->GetState() != Neighbor::kStateValid)
|
||||
{
|
||||
SuccessOrExit(error = AppendTlvRequest(*message, tlvs, sizeof(tlvs)));
|
||||
aChild->GenerateChallenge();
|
||||
SuccessOrExit(error = AppendChallenge(*message, aChild->GetChallenge(), aChild->GetChallengeSize()));
|
||||
}
|
||||
|
||||
memset(&destination, 0, sizeof(destination));
|
||||
destination.mFields.m16[0] = HostSwap16(0xfe80);
|
||||
|
||||
Reference in New Issue
Block a user