Do not setup neighbor state when responding to MLE Link Request from child. (#1355)

This commit is contained in:
Jonathan Hui
2017-02-22 09:06:56 -08:00
committed by GitHub
parent 07adab6cb9
commit 985e5360b8
+9 -1
View File
@@ -712,11 +712,19 @@ ThreadError MleRouter::HandleLinkRequest(const Message &aMessage, const Ip6::Mes
VerifyOrExit(memcmp(&neighbor->mMacAddr, &macAddr, sizeof(neighbor->mMacAddr)) == 0, ;);
}
}
else
{
// source is not a router
neighbor = NULL;
}
}
else
{
// lack of source address indicates router coming out of reset
VerifyOrExit((neighbor = GetNeighbor(macAddr)) != NULL, error = kThreadError_Drop);
VerifyOrExit((neighbor = GetNeighbor(macAddr)) != NULL &&
neighbor->mState == Neighbor::kStateValid &&
IsActiveRouter(neighbor->mValid.mRloc16),
error = kThreadError_Drop);
}
// TLV Request