From f03e0697445f44cdff1a8b12e6034b81a3dd0572 Mon Sep 17 00:00:00 2001 From: Abtin Keshavarzian Date: Wed, 18 Jan 2017 20:55:35 -0800 Subject: [PATCH] Include Link/MLE counter tlvs in "Child Update Response" in response to Challenge tlv (#1169) --- src/core/thread/mle_router.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/core/thread/mle_router.cpp b/src/core/thread/mle_router.cpp index 0ef4d02bc..e28430e09 100644 --- a/src/core/thread/mle_router.cpp +++ b/src/core/thread/mle_router.cpp @@ -2209,7 +2209,7 @@ exit: ThreadError MleRouter::HandleChildUpdateRequest(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo) { - static const uint8_t kMaxResponseTlvs = 8; + static const uint8_t kMaxResponseTlvs = 10; ThreadError error = kThreadError_None; Mac::ExtAddress macAddr; @@ -2250,6 +2250,8 @@ ThreadError MleRouter::HandleChildUpdateRequest(const Message &aMessage, const I { VerifyOrExit(challenge.IsValid(), error = kThreadError_Parse); tlvs[tlvslength++] = Tlv::kResponse; + tlvs[tlvslength++] = Tlv::kMleFrameCounter; + tlvs[tlvslength++] = Tlv::kLinkFrameCounter; } // Ip6 Address TLV @@ -2820,6 +2822,14 @@ ThreadError MleRouter::SendChildUpdateResponse(Child *aChild, const Ip6::Message case Tlv::kTimeout: SuccessOrExit(error = AppendTimeout(*message, aChild->mTimeout)); break; + + case Tlv::kMleFrameCounter: + SuccessOrExit(error = AppendMleFrameCounter(*message)); + break; + + case Tlv::kLinkFrameCounter: + SuccessOrExit(error = AppendLinkFrameCounter(*message)); + break; } }