mirror of
https://github.com/espressif/openthread.git
synced 2026-07-26 22:09:05 +00:00
Update route data in a child after parent migration. (#1044)
This commit is contained in:
committed by
Jonathan Hui
parent
cb44b1102f
commit
dba0525e5f
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user