From 5e0d1b1a32d8df616d58db73cfc551334a6bf711 Mon Sep 17 00:00:00 2001 From: Jonathan Hui Date: Fri, 12 Nov 2021 12:22:38 -0800 Subject: [PATCH] [mle] record child netdata versions in `HandleChildUpdateRequest()` (#7157) Thread Specification allows a parent to update child network data by sending a unicast MLE Data Response. Receiving the child's Leader Data in a MLE Child Update Request message should serve as an acknowledgment when the network data is received. --- src/core/thread/mle_router.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/core/thread/mle_router.cpp b/src/core/thread/mle_router.cpp index cfe200415..9fa9709bd 100644 --- a/src/core/thread/mle_router.cpp +++ b/src/core/thread/mle_router.cpp @@ -2481,6 +2481,15 @@ void MleRouter::HandleChildUpdateRequest(const Message &aMessage, const Ip6::Mes switch (ReadLeaderData(aMessage, leaderData)) { case kErrorNone: + if (child->IsFullNetworkData()) + { + child->SetNetworkDataVersion(leaderData.GetDataVersion()); + } + else + { + child->SetNetworkDataVersion(leaderData.GetStableDataVersion()); + } + break; case kErrorNotFound: break; default: