Update route data in a child after parent migration. (#1044)

This commit is contained in:
Robert Lubos
2016-12-06 09:02:26 -08:00
committed by Jonathan Hui
parent cb44b1102f
commit dba0525e5f
+10
View File
@@ -2037,6 +2037,7 @@ ThreadError Mle::HandleAdvertisement(const Message &aMessage, const Ip6::Message
Neighbor *neighbor;
SourceAddressTlv sourceAddress;
LeaderDataTlv leaderData;
RouteTlv route;
uint8_t tlvs[] = {Tlv::kNetworkData};
// Source Address
@@ -2075,6 +2076,15 @@ ThreadError Mle::HandleAdvertisement(const Message &aMessage, const Ip6::Message
leaderData.GetLeaderRouterId() != GetLeaderId()))
{
SetLeaderData(leaderData.GetPartitionId(), leaderData.GetWeighting(), leaderData.GetLeaderRouterId());
if ((mDeviceMode & ModeTlv::kModeFFD) &&
(Tlv::GetTlv(aMessage, Tlv::kRoute, sizeof(route), route) == kThreadError_None) &&
route.IsValid())
{
// Overwrite Route Data
mMleRouter.ProcessRouteTlv(route);
}
mRetrieveNewNetworkData = true;
}