From 427fb2c6c83d91e2e6f7481862cba748909ebfa7 Mon Sep 17 00:00:00 2001 From: Jonathan Hui Date: Thu, 25 May 2017 06:44:59 -0700 Subject: [PATCH] Only send one Child Update Request when restoring rx-on-when-idle child. (#1821) --- src/core/thread/mle_router.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/core/thread/mle_router.cpp b/src/core/thread/mle_router.cpp index 3a9438c69..e5f748ca5 100644 --- a/src/core/thread/mle_router.cpp +++ b/src/core/thread/mle_router.cpp @@ -2856,6 +2856,12 @@ otError MleRouter::SendChildUpdateRequest(Child *aChild) destination.SetIid(aChild->GetExtAddress()); SuccessOrExit(error = SendMessage(*message, destination)); + if (aChild->IsRxOnWhenIdle()) + { + // only try to send a single Child Update Request message to an rx-on-when-idle child + aChild->SetState(Child::kStateChildUpdateRequest); + } + otLogInfoMle(GetInstance(), "Sent Child Update Request to child"); exit: