From c8007768c71cae8373f9f2b07f01c9672ba652ad Mon Sep 17 00:00:00 2001 From: konradderda <55538957+konradderda@users.noreply.github.com> Date: Fri, 12 Feb 2021 18:49:42 +0100 Subject: [PATCH] [mle] set router's Thread version in Link Accept handler (#6166) Issue: Information regarding a neighbor's Thread version is lost. Context: This problem can be observed during playing with Link Metrics - few methods check whenever chosen neighbor supports Thread 1.2. This information is preserved when a child is promoted to the router role, but after the reset and Link Request - Link Accept sequence it is not stored in the neighbor table. --- src/core/thread/mle_router.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/core/thread/mle_router.cpp b/src/core/thread/mle_router.cpp index bc425f15f..20801901e 100644 --- a/src/core/thread/mle_router.cpp +++ b/src/core/thread/mle_router.cpp @@ -948,6 +948,7 @@ otError MleRouter::HandleLinkAccept(const Message & aMessage, router->SetLinkAckFrameCounter(linkFrameCounter); router->SetMleFrameCounter(mleFrameCounter); router->SetLastHeard(TimerMilli::GetNow()); + router->SetVersion(static_cast(version)); router->SetDeviceMode(DeviceMode(DeviceMode::kModeFullThreadDevice | DeviceMode::kModeRxOnWhenIdle | DeviceMode::kModeFullNetworkData)); router->GetLinkInfo().Clear();