[mle] process "Parent Response" from current parent candidate (#4114)

This commit updates MLE to continue to process a repeated
"Parent Response" from current parent candidate to ensure that the
challenge and frame counter are correctly updated.
This commit is contained in:
Abtin Keshavarzian
2019-08-22 12:04:12 -07:00
committed by Jonathan Hui
parent 79c61a5700
commit 9869ab5df9
+7 -2
View File
@@ -3282,9 +3282,14 @@ otError Mle::HandleParentResponse(const Message &aMessage, const Ip6::MessageInf
}
#endif
// if already have a candidate parent, only seek a better parent
if (mParentCandidate.GetState() == Neighbor::kStateParentResponse)
// Continue to process the "ParentResponse" if it is from current
// parent candidate to update the challenge and frame counters.
if ((mParentCandidate.GetState() == Neighbor::kStateParentResponse) &&
(mParentCandidate.GetExtAddress() != extAddress))
{
// if already have a candidate parent, only seek a better parent
int compare = 0;
if (IsFullThreadDevice())