Update MLE Data Request and Response messages. (#313)

* Remove Leader Data TLV from TLV Request TLV.
* Always add Source Address TLV to Data Response.
* Always add Leader Data TLV to Data Response.
This commit is contained in:
Jonathan Hui
2016-08-01 09:36:08 -07:00
committed by GitHub
parent 93b1d1a4fd
commit 285bce2128
+4 -6
View File
@@ -1041,6 +1041,8 @@ ThreadError Mle::SendDataResponse(const Ip6::Address &aDestination, const uint8_
VerifyOrExit((message = Ip6::Udp::NewMessage(0)) != NULL, ;);
message->SetLinkSecurityEnabled(false);
SuccessOrExit(error = AppendHeader(*message, Header::kCommandDataResponse));
SuccessOrExit(error = AppendSourceAddress(*message));
SuccessOrExit(error = AppendLeaderData(*message));
neighbor = mMleRouter.GetNeighbor(aDestination);
@@ -1048,10 +1050,6 @@ ThreadError Mle::SendDataResponse(const Ip6::Address &aDestination, const uint8_
{
switch (aTlvs[i])
{
case Tlv::kLeaderData:
SuccessOrExit(error = AppendLeaderData(*message));
break;
case Tlv::kNetworkData:
stableOnly = neighbor != NULL ? (neighbor->mMode & ModeTlv::kModeFullNetworkData) == 0 : false;
SuccessOrExit(error = AppendNetworkData(*message, stableOnly));
@@ -1423,7 +1421,7 @@ ThreadError Mle::HandleAdvertisement(const Message &aMessage, const Ip6::Message
Neighbor *neighbor;
SourceAddressTlv sourceAddress;
LeaderDataTlv leaderData;
uint8_t tlvs[] = {Tlv::kLeaderData, Tlv::kNetworkData};
uint8_t tlvs[] = {Tlv::kNetworkData};
// Source Address
SuccessOrExit(error = Tlv::GetTlv(aMessage, Tlv::kSourceAddress, sizeof(sourceAddress), sourceAddress));
@@ -1803,7 +1801,7 @@ ThreadError Mle::HandleChildUpdateResponse(const Message &aMessage, const Ip6::M
LeaderDataTlv leaderData;
SourceAddressTlv sourceAddress;
TimeoutTlv timeout;
uint8_t tlvs[] = {Tlv::kLeaderData, Tlv::kNetworkData};
uint8_t tlvs[] = {Tlv::kNetworkData};
otLogInfoMle("Received Child Update Response\n");